{
  "file_map": {
    "0": {
      "path": "std/aes128.nr",
      "source": "// docs:start:aes128\n// Given a plaintext as an array of bytes, returns the corresponding aes128 ciphertext (CBC mode). Input padding is performed using PKCS#7, so that the output length is `input.len() + (16 - input.len() % 16)`.\npub fn aes128_encrypt<let N: u32>(\n    input: [u8; N],\n    iv: [u8; 16],\n    key: [u8; 16],\n) -> [u8; N + 16 - N % 16] {\n    let padding_length = (16 - N % 16) as u8;\n    let mut padded_input: [u8; N + 16 - N % 16] = [0; N + 16 - N % 16];\n    for i in 0..N {\n        padded_input[i] = input[i];\n    }\n    for i in N..N + 16 - N % 16 {\n        padded_input[i] = padding_length;\n    }\n    let output = aes128_encrypt_padded_input(padded_input, iv, key);\n    output\n}\n\n#[foreign(aes128_encrypt)]\nfn aes128_encrypt_padded_input<let N: u32>(input: [u8; N], iv: [u8; 16], key: [u8; 16]) -> [u8; N] {}\n\n// docs:end:aes128\n"
    },
    "3": {
      "path": "std/array/mod.nr",
      "source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n    /// Returns the length of this array.\n    ///\n    /// ```noir\n    /// fn len(self) -> Field\n    /// ```\n    ///\n    /// example\n    ///\n    /// ```noir\n    /// fn main() {\n    ///     let array = [42, 42];\n    ///     assert(array.len() == 2);\n    /// }\n    /// ```\n    #[builtin(array_len)]\n    pub fn len(self) -> u32 {}\n\n    /// Returns this array as a vector.\n    ///\n    /// ```noir\n    /// let array = [1, 2];\n    /// let vector = array.as_vector();\n    /// assert_eq(vector, [1, 2].as_vector());\n    /// ```\n    #[builtin(as_vector)]\n    pub fn as_vector(self) -> [T] {}\n\n    /// Returns this array as a vector.\n    /// This method is deprecated in favor of `as_vector`.\n    ///\n    /// ```noir\n    /// let array = [1, 2];\n    /// let vector = array.as_slice();\n    /// assert_eq(vector, [1, 2].as_vector());\n    /// ```\n    #[builtin(as_vector)]\n    #[deprecated(\"This method has been renamed to `as_vector`\")]\n    pub fn as_slice(self) -> [T] {}\n\n    /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// let a = [1, 2, 3];\n    /// let b = a.map(|a| a * 2);\n    /// assert_eq(b, [2, 4, 6]);\n    /// ```\n    pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n        let uninitialized = crate::mem::zeroed();\n        let mut ret = [uninitialized; N];\n\n        for i in 0..self.len() {\n            ret[i] = f(self[i]);\n        }\n\n        ret\n    }\n\n    /// Applies a function to each element of this array along with its index,\n    /// returning a new array containing the mapped elements.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// let a = [1, 2, 3];\n    /// let b = a.mapi(|i, a| i + a * 2);\n    /// assert_eq(b, [2, 5, 8]);\n    /// ```\n    pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n        let uninitialized = crate::mem::zeroed();\n        let mut ret = [uninitialized; N];\n\n        for i in 0..self.len() {\n            ret[i] = f(i, self[i]);\n        }\n\n        ret\n    }\n\n    /// Applies a function to each element of this array.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// let a = [1, 2, 3];\n    /// let mut b = [0; 3];\n    /// let mut i = 0;\n    /// a.for_each(|x| {\n    ///     b[i] = x;\n    ///     i += 1;\n    /// });\n    /// assert_eq(a, b);\n    /// ```\n    pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n        for i in 0..self.len() {\n            f(self[i]);\n        }\n    }\n\n    /// Applies a function to each element of this array along with its index.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// let a = [1, 2, 3];\n    /// let mut b = [0; 3];\n    /// a.for_eachi(|i, x| {\n    ///     b[i] = x;\n    /// });\n    /// assert_eq(a, b);\n    /// ```\n    pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n        for i in 0..self.len() {\n            f(i, self[i]);\n        }\n    }\n\n    /// Applies a function to each element of the array, returning the final accumulated value. The first\n    /// parameter is the initial value.\n    ///\n    /// This is a left fold, so the given function will be applied to the accumulator and first element of\n    /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n    ///\n    /// ```rust\n    /// let a1 = [1];\n    /// let a2 = [1, 2];\n    /// let a3 = [1, 2, 3];\n    ///\n    /// let f = |a, b| a - b;\n    /// a1.fold(10, f); //=> f(10, 1)\n    /// a2.fold(10, f); //=> f(f(10, 1), 2)\n    /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n    ///\n    /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n    /// ```\n    pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n        for elem in self {\n            accumulator = f(accumulator, elem);\n        }\n        accumulator\n    }\n\n    /// Same as fold, but uses the first element as the starting element.\n    ///\n    /// Requires the input array to be non-empty.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn main() {\n    ///     let arr = [1, 2, 3, 4];\n    ///     let reduced = arr.reduce(|a, b| a + b);\n    ///     assert(reduced == 10);\n    /// }\n    /// ```\n    pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n        let mut accumulator = self[0];\n        for i in 1..self.len() {\n            accumulator = f(accumulator, self[i]);\n        }\n        accumulator\n    }\n\n    /// Returns true if all the elements in this array satisfy the given predicate.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn main() {\n    ///     let arr = [2, 2, 2, 2, 2];\n    ///     let all = arr.all(|a| a == 2);\n    ///     assert(all);\n    /// }\n    /// ```\n    pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n        let mut ret = true;\n        for elem in self {\n            ret &= predicate(elem);\n        }\n        ret\n    }\n\n    /// Returns true if any of the elements in this array satisfy the given predicate.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn main() {\n    ///     let arr = [2, 2, 2, 2, 5];\n    ///     let any = arr.any(|a| a == 5);\n    ///     assert(any);\n    /// }\n    /// ```\n    pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n        let mut ret = false;\n        for elem in self {\n            ret |= predicate(elem);\n        }\n        ret\n    }\n\n    /// Concatenates this array with another array.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn main() {\n    ///     let arr1 = [1, 2, 3, 4];\n    ///     let arr2 = [6, 7, 8, 9, 10, 11];\n    ///     let concatenated_arr = arr1.concat(arr2);\n    ///     assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n    /// }\n    /// ```\n    pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n        let mut result = [crate::mem::zeroed(); N + M];\n        for i in 0..N {\n            result[i] = self[i];\n        }\n        for i in 0..M {\n            result[i + N] = array2[i];\n        }\n        result\n    }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n    T: Ord + Eq,\n{\n    /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n    /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n    /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n    /// sort any type, you should use the [`Self::sort_via`] function.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// fn main() {\n    ///     let arr = [42, 32];\n    ///     let sorted = arr.sort();\n    ///     assert(sorted == [32, 42]);\n    /// }\n    /// ```\n    pub fn sort(self) -> Self {\n        self.sort_via(|a, b| a <= b)\n    }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n    T: Eq,\n{\n    /// Returns a new sorted array by sorting it with a custom comparison function.\n    /// The original array remains untouched.\n    /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n    ///\n    /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// fn main() {\n    ///     let arr = [42, 32]\n    ///     let sorted_ascending = arr.sort_via(|a, b| a <= b);\n    ///     assert(sorted_ascending == [32, 42]); // verifies\n    ///\n    ///     let sorted_descending = arr.sort_via(|a, b| a >= b);\n    ///     assert(sorted_descending == [32, 42]); // does not verify\n    /// }\n    /// ```\n    pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n        // Safety: `sorted` array is checked to be:\n        // a. a permutation of `input`'s elements\n        // b. satisfying the predicate `ordering`\n        let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n        if !is_unconstrained() {\n            for i in 0..N - 1 {\n                assert(\n                    ordering(sorted[i], sorted[i + 1]),\n                    \"Array has not been sorted correctly according to `ordering`.\",\n                );\n            }\n            check_shuffle::check_shuffle(self, sorted);\n        }\n        sorted\n    }\n}\n\nimpl<let N: u32> [u8; N] {\n    /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n    /// the given array is interpreted as-is as a string.\n    ///\n    /// Example:\n    ///\n    /// ```rust\n    /// fn main() {\n    ///     let hi = [104, 105].as_str_unchecked();\n    ///     assert_eq(hi, \"hi\");\n    /// }\n    /// ```\n    #[builtin(array_as_str_unchecked)]\n    pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n    /// Returns an array of the string bytes.\n    fn from(s: str<N>) -> Self {\n        s.as_bytes()\n    }\n}\n\nmod test {\n    #[test]\n    fn map_empty() {\n        assert_eq([].map(|x| x + 1), []);\n    }\n\n    global arr_with_100_values: [u32; 100] = [\n        42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n        89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n        53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n        21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n        125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n    ];\n    global expected_with_100_values: [u32; 100] = [\n        0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n        32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n        62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n        86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n        119, 120, 121, 123, 123, 123, 125, 126, 127,\n    ];\n    fn sort_u32(a: u32, b: u32) -> bool {\n        a <= b\n    }\n\n    #[test]\n    fn test_sort() {\n        let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n        let sorted = arr.sort();\n\n        let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n        assert(sorted == expected);\n    }\n\n    #[test]\n    fn test_sort_100_values() {\n        let mut arr: [u32; 100] = [\n            42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n            54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n            19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n            43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n            127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n        ];\n\n        let sorted = arr.sort();\n\n        let expected: [u32; 100] = [\n            0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n            32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n            61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n            84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n            114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n        ];\n        assert(sorted == expected);\n    }\n\n    #[test]\n    fn test_sort_100_values_comptime() {\n        let sorted = arr_with_100_values.sort();\n        assert(sorted == expected_with_100_values);\n    }\n\n    #[test]\n    fn test_sort_via() {\n        let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n        let sorted = arr.sort_via(sort_u32);\n\n        let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n        assert(sorted == expected);\n    }\n\n    #[test]\n    fn test_sort_via_100_values() {\n        let mut arr: [u32; 100] = [\n            42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n            54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n            19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n            43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n            127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n        ];\n\n        let sorted = arr.sort_via(sort_u32);\n\n        let expected: [u32; 100] = [\n            0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n            32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n            61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n            84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n            114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n        ];\n        assert(sorted == expected);\n    }\n\n    #[test]\n    fn mapi_empty() {\n        assert_eq([].mapi(|i, x| i * x + 1), []);\n    }\n\n    #[test]\n    fn for_each_empty() {\n        let empty_array: [Field; 0] = [];\n        empty_array.for_each(|_x| assert(false));\n    }\n\n    #[test]\n    fn for_eachi_empty() {\n        let empty_array: [Field; 0] = [];\n        empty_array.for_eachi(|_i, _x| assert(false));\n    }\n\n    #[test]\n    fn map_example() {\n        let a = [1, 2, 3];\n        let b = a.map(|a| a * 2);\n        assert_eq(b, [2, 4, 6]);\n    }\n\n    #[test]\n    fn mapi_example() {\n        let a = [1, 2, 3];\n        let b = a.mapi(|i, a| i + a * 2);\n        assert_eq(b, [2, 5, 8]);\n    }\n\n    #[test]\n    fn for_each_example() {\n        let a = [1, 2, 3];\n        let mut b = [0, 0, 0];\n        let b_ref = &mut b;\n        let mut i = 0;\n        let i_ref = &mut i;\n        a.for_each(|x| {\n            b_ref[*i_ref] = x * 2;\n            *i_ref += 1;\n        });\n        assert_eq(b, [2, 4, 6]);\n        assert_eq(i, 3);\n    }\n\n    #[test]\n    fn for_eachi_example() {\n        let a = [1, 2, 3];\n        let mut b = [0, 0, 0];\n        let b_ref = &mut b;\n        a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n        assert_eq(b, [2, 5, 8]);\n    }\n\n    #[test]\n    fn concat() {\n        let arr1 = [1, 2, 3, 4];\n        let arr2 = [6, 7, 8, 9, 10, 11];\n        let concatenated_arr = arr1.concat(arr2);\n        assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n    }\n\n    #[test]\n    fn concat_zero_length_with_something() {\n        let arr1 = [];\n        let arr2 = [1];\n        let concatenated_arr = arr1.concat(arr2);\n        assert_eq(concatenated_arr, [1]);\n    }\n\n    #[test]\n    fn concat_something_with_zero_length() {\n        let arr1 = [1];\n        let arr2 = [];\n        let concatenated_arr = arr1.concat(arr2);\n        assert_eq(concatenated_arr, [1]);\n    }\n\n    #[test]\n    fn concat_zero_lengths() {\n        let arr1: [Field; 0] = [];\n        let arr2: [Field; 0] = [];\n        let concatenated_arr = arr1.concat(arr2);\n        assert_eq(concatenated_arr, []);\n    }\n}\n"
    },
    "5": {
      "path": "std/cmp.nr",
      "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n    fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n    let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n    let for_each_field = |name| quote { (_self.$name == _other.$name) };\n    let body = |fields| {\n        if s.fields_as_written().len() == 0 {\n            quote { true }\n        } else {\n            fields\n        }\n    };\n    crate::meta::make_trait_impl(\n        s,\n        quote { $crate::cmp::Eq },\n        signature,\n        for_each_field,\n        quote { & },\n        body,\n    )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n    fn eq(self, other: Field) -> bool {\n        self == other\n    }\n}\n\nimpl Eq for u128 {\n    fn eq(self, other: u128) -> bool {\n        self == other\n    }\n}\nimpl Eq for u64 {\n    fn eq(self, other: u64) -> bool {\n        self == other\n    }\n}\nimpl Eq for u32 {\n    fn eq(self, other: u32) -> bool {\n        self == other\n    }\n}\nimpl Eq for u16 {\n    fn eq(self, other: u16) -> bool {\n        self == other\n    }\n}\nimpl Eq for u8 {\n    fn eq(self, other: u8) -> bool {\n        self == other\n    }\n}\nimpl Eq for u1 {\n    fn eq(self, other: u1) -> bool {\n        self == other\n    }\n}\n\nimpl Eq for i8 {\n    fn eq(self, other: i8) -> bool {\n        self == other\n    }\n}\nimpl Eq for i16 {\n    fn eq(self, other: i16) -> bool {\n        self == other\n    }\n}\nimpl Eq for i32 {\n    fn eq(self, other: i32) -> bool {\n        self == other\n    }\n}\nimpl Eq for i64 {\n    fn eq(self, other: i64) -> bool {\n        self == other\n    }\n}\n\nimpl Eq for () {\n    fn eq(_self: Self, _other: ()) -> bool {\n        true\n    }\n}\nimpl Eq for bool {\n    fn eq(self, other: bool) -> bool {\n        self == other\n    }\n}\n\nimpl<T, let N: u32> Eq for [T; N]\nwhere\n    T: Eq,\n{\n    fn eq(self, other: [T; N]) -> bool {\n        let mut result = true;\n        for i in 0..self.len() {\n            result &= self[i].eq(other[i]);\n        }\n        result\n    }\n}\n\nimpl<T> Eq for [T]\nwhere\n    T: Eq,\n{\n    fn eq(self, other: [T]) -> bool {\n        let mut result = self.len() == other.len();\n        if result {\n            for i in 0..self.len() {\n                result &= self[i].eq(other[i]);\n            }\n        }\n        result\n    }\n}\n\nimpl<let N: u32> Eq for str<N> {\n    fn eq(self, other: str<N>) -> bool {\n        let self_bytes = self.as_bytes();\n        let other_bytes = other.as_bytes();\n        self_bytes == other_bytes\n    }\n}\n\nimpl<A, B> Eq for (A, B)\nwhere\n    A: Eq,\n    B: Eq,\n{\n    fn eq(self, other: (A, B)) -> bool {\n        self.0.eq(other.0) & self.1.eq(other.1)\n    }\n}\n\nimpl<A, B, C> Eq for (A, B, C)\nwhere\n    A: Eq,\n    B: Eq,\n    C: Eq,\n{\n    fn eq(self, other: (A, B, C)) -> bool {\n        self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n    }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D)\nwhere\n    A: Eq,\n    B: Eq,\n    C: Eq,\n    D: Eq,\n{\n    fn eq(self, other: (A, B, C, D)) -> bool {\n        self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n    }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E)\nwhere\n    A: Eq,\n    B: Eq,\n    C: Eq,\n    D: Eq,\n    E: Eq,\n{\n    fn eq(self, other: (A, B, C, D, E)) -> bool {\n        self.0.eq(other.0)\n            & self.1.eq(other.1)\n            & self.2.eq(other.2)\n            & self.3.eq(other.3)\n            & self.4.eq(other.4)\n    }\n}\n\nimpl Eq for Ordering {\n    fn eq(self, other: Ordering) -> bool {\n        self.result == other.result\n    }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n    result: Field,\n}\n\nimpl Ordering {\n    // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n    // into the compiler, do not change these without also updating\n    // the compiler itself!\n    pub fn less() -> Ordering {\n        Ordering { result: 0 }\n    }\n\n    pub fn equal() -> Ordering {\n        Ordering { result: 1 }\n    }\n\n    pub fn greater() -> Ordering {\n        Ordering { result: 2 }\n    }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n    fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n    let name = quote { $crate::cmp::Ord };\n    let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n    let for_each_field = |name| quote {\n        if result == $crate::cmp::Ordering::equal() {\n            result = _self.$name.cmp(_other.$name);\n        }\n    };\n    let body = |fields| quote {\n        let mut result = $crate::cmp::Ordering::equal();\n        $fields\n        result\n    };\n    crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n    fn cmp(self, other: u128) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\nimpl Ord for u64 {\n    fn cmp(self, other: u64) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for u32 {\n    fn cmp(self, other: u32) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for u16 {\n    fn cmp(self, other: u16) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for u8 {\n    fn cmp(self, other: u8) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for i8 {\n    fn cmp(self, other: i8) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for i16 {\n    fn cmp(self, other: i16) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for i32 {\n    fn cmp(self, other: i32) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for i64 {\n    fn cmp(self, other: i64) -> Ordering {\n        if self < other {\n            Ordering::less()\n        } else if self > other {\n            Ordering::greater()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl Ord for () {\n    fn cmp(_self: Self, _other: ()) -> Ordering {\n        Ordering::equal()\n    }\n}\n\nimpl Ord for bool {\n    fn cmp(self, other: bool) -> Ordering {\n        if self {\n            if other {\n                Ordering::equal()\n            } else {\n                Ordering::greater()\n            }\n        } else if other {\n            Ordering::less()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n\nimpl<T, let N: u32> Ord for [T; N]\nwhere\n    T: Ord,\n{\n    // The first non-equal element of both arrays determines\n    // the ordering for the whole array.\n    fn cmp(self, other: [T; N]) -> Ordering {\n        let mut result = Ordering::equal();\n        for i in 0..self.len() {\n            if result == Ordering::equal() {\n                result = self[i].cmp(other[i]);\n            }\n        }\n        result\n    }\n}\n\nimpl<T> Ord for [T]\nwhere\n    T: Ord,\n{\n    // The first non-equal element of both arrays determines\n    // the ordering for the whole array.\n    fn cmp(self, other: [T]) -> Ordering {\n        let self_len = self.len();\n        let other_len = other.len();\n        let min_len = if self_len < other_len {\n            self_len\n        } else {\n            other_len\n        };\n\n        let mut result = Ordering::equal();\n        for i in 0..min_len {\n            if result == Ordering::equal() {\n                result = self[i].cmp(other[i]);\n            }\n        }\n\n        if result != Ordering::equal() {\n            result\n        } else {\n            self_len.cmp(other_len)\n        }\n    }\n}\n\nimpl<A, B> Ord for (A, B)\nwhere\n    A: Ord,\n    B: Ord,\n{\n    fn cmp(self, other: (A, B)) -> Ordering {\n        let result = self.0.cmp(other.0);\n\n        if result != Ordering::equal() {\n            result\n        } else {\n            self.1.cmp(other.1)\n        }\n    }\n}\n\nimpl<A, B, C> Ord for (A, B, C)\nwhere\n    A: Ord,\n    B: Ord,\n    C: Ord,\n{\n    fn cmp(self, other: (A, B, C)) -> Ordering {\n        let mut result = self.0.cmp(other.0);\n\n        if result == Ordering::equal() {\n            result = self.1.cmp(other.1);\n        }\n\n        if result == Ordering::equal() {\n            result = self.2.cmp(other.2);\n        }\n\n        result\n    }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D)\nwhere\n    A: Ord,\n    B: Ord,\n    C: Ord,\n    D: Ord,\n{\n    fn cmp(self, other: (A, B, C, D)) -> Ordering {\n        let mut result = self.0.cmp(other.0);\n\n        if result == Ordering::equal() {\n            result = self.1.cmp(other.1);\n        }\n\n        if result == Ordering::equal() {\n            result = self.2.cmp(other.2);\n        }\n\n        if result == Ordering::equal() {\n            result = self.3.cmp(other.3);\n        }\n\n        result\n    }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E)\nwhere\n    A: Ord,\n    B: Ord,\n    C: Ord,\n    D: Ord,\n    E: Ord,\n{\n    fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n        let mut result = self.0.cmp(other.0);\n\n        if result == Ordering::equal() {\n            result = self.1.cmp(other.1);\n        }\n\n        if result == Ordering::equal() {\n            result = self.2.cmp(other.2);\n        }\n\n        if result == Ordering::equal() {\n            result = self.3.cmp(other.3);\n        }\n\n        if result == Ordering::equal() {\n            result = self.4.cmp(other.4);\n        }\n\n        result\n    }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max<T>(v1: T, v2: T) -> T\nwhere\n    T: Ord,\n{\n    if v1 > v2 {\n        v1\n    } else {\n        v2\n    }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min<T>(v1: T, v2: T) -> T\nwhere\n    T: Ord,\n{\n    if v1 > v2 {\n        v2\n    } else {\n        v1\n    }\n}\n\nmod cmp_tests {\n    use super::{Eq, max, min, Ord};\n\n    #[test]\n    fn sanity_check_min() {\n        assert_eq(min(0_u64, 1), 0);\n        assert_eq(min(0_u64, 0), 0);\n        assert_eq(min(1_u64, 1), 1);\n        assert_eq(min(255_u8, 0), 0);\n    }\n\n    #[test]\n    fn sanity_check_max() {\n        assert_eq(max(0_u64, 1), 1);\n        assert_eq(max(0_u64, 0), 0);\n        assert_eq(max(1_u64, 1), 1);\n        assert_eq(max(255_u8, 0), 255);\n    }\n\n    #[test]\n    fn correctly_handles_unequal_length_vectors() {\n        let vector_1 = [0, 1, 2, 3].as_vector();\n        let vector_2 = [0, 1, 2].as_vector();\n        assert(!vector_1.eq(vector_2));\n    }\n\n    #[test]\n    fn lexicographic_ordering_for_vectors() {\n        assert(\n            [2_u32].as_vector().cmp([1_u32, 1_u32, 1_u32].as_vector())\n                == super::Ordering::greater(),\n        );\n        assert(\n            [1_u32, 2_u32].as_vector().cmp([1_u32, 2_u32, 3_u32].as_vector())\n                == super::Ordering::less(),\n        );\n    }\n}\n"
    },
    "6": {
      "path": "std/collections/bounded_vec.nr",
      "source": "use crate::{cmp::Eq, convert::From, runtime::is_unconstrained, static_assert};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a built-in vector except that it\n/// is bounded with a maximum possible length. `BoundedVec` is also not\n/// subject to the same restrictions vectors are (notably, nested vectors are disallowed).\n///\n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n///\n/// For these reasons `BoundedVec<T, N>` should generally be preferred over vectors when there\n/// is a reasonable maximum bound that can be placed on the vector.\n///\n/// Example:\n///\n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n///     vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\npub struct BoundedVec<T, let MaxLen: u32> {\n    storage: [T; MaxLen],\n    len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n    /// Creates a new, empty vector of length zero.\n    ///\n    /// Since this container is backed by an array internally, it still needs an initial value\n    /// to give each element. To resolve this, each element is zeroed internally. This value\n    /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n    /// assert(empty_vector.len() == 0);\n    /// ```\n    ///\n    /// Note that whenever calling `new` the maximum length of the vector should always be specified\n    /// via a type signature:\n    ///\n    /// ```noir\n    /// fn good() -> BoundedVec<Field, 10> {\n    ///     // Ok! MaxLen is specified with a type annotation\n    ///     let v1: BoundedVec<Field, 3> = BoundedVec::new();\n    ///     let v2 = BoundedVec::new();\n    ///\n    ///     // Ok! MaxLen is known from the type of `good`'s return value\n    ///     v2\n    /// }\n    ///\n    /// fn bad() {\n    ///     // Error: Type annotation needed\n    ///     // The compiler can't infer `MaxLen` from the following code:\n    ///     let mut v3 = BoundedVec::new();\n    ///     v3.push(5);\n    /// }\n    /// ```\n    ///\n    /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n    /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a\n    /// constraint failure at runtime when the vec is pushed to.\n    pub fn new() -> Self {\n        let zeroed = crate::mem::zeroed();\n        BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n    }\n\n    /// Retrieves an element from the vector at the given index, starting from zero.\n    ///\n    /// If the given index is equal to or greater than the length of the vector, this\n    /// will issue a constraint failure.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n    ///     let first = v.get(0);\n    ///     let last = v.get(v.len() - 1);\n    ///     assert(first != last);\n    /// }\n    /// ```\n    pub fn get(self, index: u32) -> T {\n        assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n        self.get_unchecked(index)\n    }\n\n    /// Retrieves an element from the vector at the given index, starting from zero, without\n    /// performing a bounds check.\n    ///\n    /// Since this function does not perform a bounds check on length before accessing the element,\n    /// it is unsafe! Use at your own risk!\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n    ///     // Always ensure the length is larger than the largest\n    ///     // index passed to get_unchecked\n    ///     assert(v.len() > 2);\n    ///     let first = v.get_unchecked(0);\n    ///     let second = v.get_unchecked(1);\n    ///     let third = v.get_unchecked(2);\n    ///     first + second + third\n    /// }\n    /// ```\n    pub fn get_unchecked(self, index: u32) -> T {\n        self.storage[index]\n    }\n\n    /// Writes an element to the vector at the given index, starting from zero.\n    ///\n    /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n    ///     let first = v.get(0);\n    ///     assert(first != 42);\n    ///     v.set(0, 42);\n    ///     let new_first = v.get(0);\n    ///     assert(new_first == 42);\n    /// }\n    /// ```\n    pub fn set(&mut self, index: u32, value: T) {\n        assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n        self.set_unchecked(index, value)\n    }\n\n    /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n    ///\n    /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// fn set_unchecked_example() {\n    ///     let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n    ///     vec.extend_from_array([1, 2]);\n    ///\n    ///     // Here we're safely writing within the valid range of `vec`\n    ///     // `vec` now has the value [42, 2]\n    ///     vec.set_unchecked(0, 42);\n    ///\n    ///     // We can then safely read this value back out of `vec`.\n    ///     // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n    ///     assert_eq(vec.get(0), 42);\n    ///\n    ///     // We've now written past the end of `vec`.\n    ///     // As this index is still within the maximum potential length of `v`,\n    ///     // it won't cause a constraint failure.\n    ///     vec.set_unchecked(2, 42);\n    ///     println(vec);\n    ///\n    ///     // This will write past the end of the maximum potential length of `vec`,\n    ///     // it will then trigger a constraint failure.\n    ///     vec.set_unchecked(5, 42);\n    ///     println(vec);\n    /// }\n    /// ```\n    pub fn set_unchecked(&mut self, index: u32, value: T) {\n        self.storage[index] = value;\n    }\n\n    /// Pushes an element to the end of the vector. This increases the length\n    /// of the vector by one.\n    ///\n    /// Panics if the new length of the vector will be greater than the max length.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n    ///\n    /// v.push(1);\n    /// v.push(2);\n    ///\n    /// // Panics with failed assertion \"push out of bounds\"\n    /// v.push(3);\n    /// ```\n    pub fn push(&mut self, elem: T) {\n        assert(self.len < MaxLen, \"push out of bounds\");\n\n        self.storage[self.len] = elem;\n        self.len += 1;\n    }\n\n    /// Returns the current length of this vector\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n    /// assert(v.len() == 0);\n    ///\n    /// v.push(100);\n    /// assert(v.len() == 1);\n    ///\n    /// v.push(200);\n    /// v.push(300);\n    /// v.push(400);\n    /// assert(v.len() == 4);\n    ///\n    /// let _ = v.pop();\n    /// let _ = v.pop();\n    /// assert(v.len() == 2);\n    /// ```\n    pub fn len(self) -> u32 {\n        self.len\n    }\n\n    /// Returns the maximum length of this vector. This is always\n    /// equal to the `MaxLen` parameter this vector was initialized with.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n    ///\n    /// assert(v.max_len() == 5);\n    /// v.push(10);\n    /// assert(v.max_len() == 5);\n    /// ```\n    pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n        MaxLen\n    }\n\n    /// Returns the internal array within this vector.\n    ///\n    /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n    /// the storage held internally by this vector.\n    ///\n    /// Note that uninitialized elements may be zeroed out!\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n    ///\n    /// assert(v.storage() == [0, 0, 0, 0, 0]);\n    ///\n    /// v.push(57);\n    /// assert(v.storage() == [57, 0, 0, 0, 0]);\n    /// ```\n    pub fn storage(self) -> [T; MaxLen] {\n        self.storage\n    }\n\n    /// Pushes each element from the given array to this vector.\n    ///\n    /// Panics if pushing each element would cause the length of this vector\n    /// to exceed the maximum length.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n    /// vec.extend_from_array([2, 4]);\n    ///\n    /// assert(vec.len == 2);\n    /// assert(vec.get(0) == 2);\n    /// assert(vec.get(1) == 4);\n    /// ```\n    pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n        let new_len = self.len + array.len();\n        assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n        for i in 0..array.len() {\n            self.storage[self.len + i] = array[i];\n        }\n        self.len = new_len;\n    }\n\n    /// Pushes each element from the given vector to this vector.\n    ///\n    /// Panics if pushing each element would cause the length of this vector\n    /// to exceed the maximum length.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n    /// vec.extend_from_vector([2, 4].as_vector());\n    ///\n    /// assert(vec.len == 2);\n    /// assert(vec.get(0) == 2);\n    /// assert(vec.get(1) == 4);\n    /// ```\n    pub fn extend_from_vector(&mut self, vector: [T]) {\n        let new_len = self.len + vector.len();\n        assert(new_len <= MaxLen, \"extend_from_vector out of bounds\");\n        for i in 0..vector.len() {\n            self.storage[self.len + i] = vector[i];\n        }\n        self.len = new_len;\n    }\n\n    /// Pushes each element from the other vector to this vector. The length of\n    /// the other vector is left unchanged.\n    ///\n    /// Panics if pushing each element would cause the length of this vector\n    /// to exceed the maximum length.\n    ///\n    /// ```noir\n    /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n    /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n    ///\n    /// v2.extend_from_array([1, 2, 3]);\n    /// v1.extend_from_bounded_vec(v2);\n    ///\n    /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n    /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n    /// ```\n    pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n        let append_len = vec.len();\n        let new_len = self.len + append_len;\n        assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n        if is_unconstrained() {\n            for i in 0..append_len {\n                self.storage[self.len + i] = vec.get_unchecked(i);\n            }\n        } else {\n            for i in 0..Len {\n                if i < append_len {\n                    self.storage[self.len + i] = vec.get_unchecked(i);\n                }\n            }\n        }\n        self.len = new_len;\n    }\n\n    /// Creates a new vector, populating it with values derived from an array input.\n    /// The maximum length of the vector is determined based on the type signature.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n    /// ```\n    pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n        static_assert(Len <= MaxLen, \"from array out of bounds\");\n        let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n        vec.extend_from_array(array);\n        vec\n    }\n\n    /// Pops the element at the end of the vector. This will decrease the length\n    /// of the vector by one.\n    ///\n    /// Panics if the vector is empty.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n    /// v.push(1);\n    /// v.push(2);\n    ///\n    /// let two = v.pop();\n    /// let one = v.pop();\n    ///\n    /// assert(two == 2);\n    /// assert(one == 1);\n    ///\n    /// // error: cannot pop from an empty vector\n    /// let _ = v.pop();\n    /// ```\n    pub fn pop(&mut self) -> T {\n        assert(self.len > 0, \"cannot pop from an empty vector\");\n        self.len -= 1;\n\n        let elem = self.storage[self.len];\n        self.storage[self.len] = crate::mem::zeroed();\n        elem\n    }\n\n    /// Returns true if the given predicate returns true for any element\n    /// in this vector.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n    /// v.extend_from_array([2, 4, 6]);\n    ///\n    /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n    /// assert(all_even);\n    /// ```\n    pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n        let mut ret = false;\n        if is_unconstrained() {\n            for i in 0..self.len {\n                ret |= predicate(self.storage[i]);\n            }\n        } else {\n            let mut exceeded_len = false;\n            for i in 0..MaxLen {\n                exceeded_len |= i == self.len;\n                if !exceeded_len {\n                    ret |= predicate(self.storage[i]);\n                }\n            }\n        }\n        ret\n    }\n\n    /// Creates a new vector of equal size by calling a closure on each element in this vector.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n    /// let result = vec.map(|value| value * 2);\n    ///\n    /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n    /// assert_eq(result, expected);\n    /// ```\n    pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n        let mut ret = BoundedVec::new();\n        ret.len = self.len();\n\n        if is_unconstrained() {\n            for i in 0..self.len() {\n                ret.storage[i] = f(self.get_unchecked(i));\n            }\n        } else {\n            for i in 0..MaxLen {\n                if i < self.len() {\n                    ret.storage[i] = f(self.get_unchecked(i));\n                }\n            }\n        }\n\n        ret\n    }\n\n    /// Creates a new vector of equal size by calling a closure on each element\n    /// in this vector, along with its index.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n    /// let result = vec.mapi(|i, value| i + value * 2);\n    ///\n    /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n    /// assert_eq(result, expected);\n    /// ```\n    pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> BoundedVec<U, MaxLen> {\n        let mut ret = BoundedVec::new();\n        ret.len = self.len();\n\n        if is_unconstrained() {\n            for i in 0..self.len() {\n                ret.storage[i] = f(i, self.get_unchecked(i));\n            }\n        } else {\n            for i in 0..MaxLen {\n                if i < self.len() {\n                    ret.storage[i] = f(i, self.get_unchecked(i));\n                }\n            }\n        }\n\n        ret\n    }\n\n    /// Calls a closure on each element in this vector.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n    /// let mut result = BoundedVec::<u32, 4>::new();\n    /// vec.for_each(|value| result.push(value * 2));\n    ///\n    /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n    /// assert_eq(result, expected);\n    /// ```\n    pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n        if is_unconstrained() {\n            for i in 0..self.len() {\n                f(self.get_unchecked(i));\n            }\n        } else {\n            for i in 0..MaxLen {\n                if i < self.len() {\n                    f(self.get_unchecked(i));\n                }\n            }\n        }\n    }\n\n    /// Calls a closure on each element in this vector, along with its index.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n    /// let mut result = BoundedVec::<u32, 4>::new();\n    /// vec.for_eachi(|i, value| result.push(i + value * 2));\n    ///\n    /// let expected = BoundedVec::from_array([2, 5, 8, 11]);\n    /// assert_eq(result, expected);\n    /// ```\n    pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n        if is_unconstrained() {\n            for i in 0..self.len() {\n                f(i, self.get_unchecked(i));\n            }\n        } else {\n            for i in 0..MaxLen {\n                if i < self.len() {\n                    f(i, self.get_unchecked(i));\n                }\n            }\n        }\n    }\n\n    /// Creates a new BoundedVec from the given array and length.\n    /// The given length must be less than or equal to the length of the array.\n    ///\n    /// This function will zero out any elements at or past index `len` of `array`.\n    /// This incurs an extra runtime cost of O(MaxLen). If you are sure your array is\n    /// zeroed after that index, you can use [`from_parts_unchecked`][Self::from_parts_unchecked] to remove the extra loop.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n    /// assert_eq(vec.len(), 3);\n    /// ```\n    pub fn from_parts(mut array: [T; MaxLen], len: u32) -> Self {\n        assert(len <= MaxLen);\n        let zeroed = crate::mem::zeroed();\n\n        if is_unconstrained() {\n            for i in len..MaxLen {\n                array[i] = zeroed;\n            }\n        } else {\n            for i in 0..MaxLen {\n                if i >= len {\n                    array[i] = zeroed;\n                }\n            }\n        }\n\n        BoundedVec { storage: array, len }\n    }\n\n    /// Creates a new BoundedVec from the given array and length.\n    /// The given length must be less than or equal to the length of the array.\n    ///\n    /// This function is unsafe because it expects all elements past the `len` index\n    /// of `array` to be zeroed, but does not check for this internally. Use `from_parts`\n    /// for a safe version of this function which does zero out any indices past the\n    /// given length. Invalidating this assumption can notably cause `BoundedVec::eq`\n    /// to give incorrect results since it will check even elements past `len`.\n    ///\n    /// Example:\n    ///\n    /// ```noir\n    /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n    /// assert_eq(vec.len(), 3);\n    ///\n    /// // invalid use!\n    /// let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n    /// let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n    ///\n    /// // both vecs have length 3 so we'd expect them to be equal, but this\n    /// // fails because elements past the length are still checked in eq\n    /// assert_eq(vec1, vec2); // fails\n    /// ```\n    pub fn from_parts_unchecked(array: [T; MaxLen], len: u32) -> Self {\n        assert(len <= MaxLen);\n        BoundedVec { storage: array, len }\n    }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen>\nwhere\n    T: Eq,\n{\n    fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n        // TODO: https://github.com/noir-lang/noir/issues/4837\n        //\n        // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n        // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n        if self.len == other.len {\n            self.storage == other.storage\n        } else {\n            false\n        }\n    }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n    fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n        BoundedVec::from_array(array)\n    }\n}\n\nmod bounded_vec_tests {\n\n    mod get {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n        fn panics_when_reading_elements_past_end_of_vec() {\n            let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n            let _ = vec.get(0);\n        }\n\n        #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n        fn panics_when_reading_beyond_length() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n            let _ = vec.get(3);\n        }\n\n        #[test]\n        fn get_works_within_bounds() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n            assert_eq(vec.get(0), 1);\n            assert_eq(vec.get(2), 3);\n            assert_eq(vec.get(4), 5);\n        }\n\n        #[test]\n        fn get_unchecked_works() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n            assert_eq(vec.get_unchecked(0), 1);\n            assert_eq(vec.get_unchecked(2), 3);\n        }\n\n        #[test]\n        fn get_unchecked_works_past_len() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n            assert_eq(vec.get_unchecked(4), 0);\n        }\n    }\n\n    mod set {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn set_updates_values_properly() {\n            let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n            vec.set(0, 42);\n            assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n            vec.set(1, 43);\n            assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n            vec.set(2, 44);\n            assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n            vec.set(1, 10);\n            assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n            vec.set(0, 0);\n            assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n        }\n\n        #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n        fn panics_when_writing_elements_past_end_of_vec() {\n            let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n            vec.set(0, 42);\n        }\n\n        #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n        fn panics_when_setting_beyond_length() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3]);\n            vec.set(3, 4);\n        }\n\n        #[test]\n        fn set_unchecked_operations() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            vec.push(1);\n            vec.push(2);\n\n            vec.set_unchecked(0, 10);\n            assert_eq(vec.get(0), 10);\n        }\n\n        #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n        fn set_unchecked_operations_past_len() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            vec.push(1);\n            vec.push(2);\n\n            vec.set_unchecked(3, 40);\n            assert_eq(vec.get(3), 40);\n        }\n\n        #[test]\n        fn set_preserves_other_elements() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n            vec.set(2, 30);\n            assert_eq(vec.get(0), 1);\n            assert_eq(vec.get(1), 2);\n            assert_eq(vec.get(2), 30);\n            assert_eq(vec.get(3), 4);\n            assert_eq(vec.get(4), 5);\n        }\n    }\n\n    mod any {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn returns_false_if_predicate_not_satisfied() {\n            let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, false, false]);\n            let result = vec.any(|value| value);\n\n            assert(!result);\n        }\n\n        #[test]\n        fn returns_true_if_predicate_satisfied() {\n            let vec: BoundedVec<bool, 4> = BoundedVec::from_array([false, false, true, true]);\n            let result = vec.any(|value| value);\n\n            assert(result);\n        }\n\n        #[test]\n        fn returns_false_on_empty_boundedvec() {\n            let vec: BoundedVec<bool, 0> = BoundedVec::new();\n            let result = vec.any(|value| value);\n\n            assert(!result);\n        }\n\n        #[test]\n        fn any_with_complex_predicates() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n\n            assert(vec.any(|x| x > 3));\n            assert(!vec.any(|x| x > 10));\n            assert(vec.any(|x| x % 2 == 0)); // has a even number\n            assert(vec.any(|x| x == 3)); // has a specific value\n        }\n\n        #[test]\n        fn any_with_partial_vector() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            vec.push(1);\n            vec.push(2);\n\n            assert(vec.any(|x| x == 1));\n            assert(vec.any(|x| x == 2));\n            assert(!vec.any(|x| x == 3));\n        }\n    }\n\n    mod map {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn applies_function_correctly() {\n            // docs:start:bounded-vec-map-example\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = vec.map(|value| value * 2);\n            // docs:end:bounded-vec-map-example\n            let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn applies_function_that_changes_return_type() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = vec.map(|value| (value * 2) as Field);\n            let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn does_not_apply_function_past_len() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n            let result = vec.map(|value| if value == 0 { 5 } else { value });\n            let expected = BoundedVec::from_array([5, 1]);\n\n            assert_eq(result, expected);\n            assert_eq(result.get_unchecked(2), 0);\n        }\n\n        #[test]\n        fn map_with_conditional_logic() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n            let result = vec.map(|x| if x % 2 == 0 { x * 2 } else { x });\n            let expected = BoundedVec::from_array([1, 4, 3, 8]);\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn map_preserves_length() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = vec.map(|x| x * 2);\n\n            assert_eq(result.len(), vec.len());\n            assert_eq(result.max_len(), vec.max_len());\n        }\n\n        #[test]\n        fn map_on_empty_vector() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::new();\n            let result = vec.map(|x| x * 2);\n            assert_eq(result, vec);\n            assert_eq(result.len(), 0);\n            assert_eq(result.max_len(), 5);\n        }\n    }\n\n    mod mapi {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn applies_function_correctly() {\n            // docs:start:bounded-vec-mapi-example\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = vec.mapi(|i, value| i + value * 2);\n            // docs:end:bounded-vec-mapi-example\n            let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn applies_function_that_changes_return_type() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = vec.mapi(|i, value| (i + value * 2) as Field);\n            let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn does_not_apply_function_past_len() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n            let result = vec.mapi(|_, value| if value == 0 { 5 } else { value });\n            let expected = BoundedVec::from_array([5, 1]);\n\n            assert_eq(result, expected);\n            assert_eq(result.get_unchecked(2), 0);\n        }\n\n        #[test]\n        fn mapi_with_index_branching_logic() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n\n            let result = vec.mapi(|i, x| if i % 2 == 0 { x * 2 } else { x });\n            let expected = BoundedVec::from_array([2, 2, 6, 4]);\n            assert_eq(result, expected);\n        }\n    }\n\n    mod for_each {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        // map in terms of for_each\n        fn for_each_map<T, U, Env, let MaxLen: u32>(\n            input: BoundedVec<T, MaxLen>,\n            f: fn[Env](T) -> U,\n        ) -> BoundedVec<U, MaxLen> {\n            let mut output = BoundedVec::<U, MaxLen>::new();\n            let output_ref = &mut output;\n            input.for_each(|x| output_ref.push(f(x)));\n            output\n        }\n\n        #[test]\n        fn smoke_test() {\n            let mut acc = 0;\n            let acc_ref = &mut acc;\n            // docs:start:bounded-vec-for-each-example\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n            vec.for_each(|value| { *acc_ref += value; });\n            // docs:end:bounded-vec-for-each-example\n            assert_eq(acc, 6);\n        }\n\n        #[test]\n        fn applies_function_correctly() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = for_each_map(vec, |value| value * 2);\n            let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn applies_function_that_changes_return_type() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = for_each_map(vec, |value| (value * 2) as Field);\n            let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn does_not_apply_function_past_len() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n            let result = for_each_map(vec, |value| if value == 0 { 5 } else { value });\n            let expected = BoundedVec::from_array([5, 1]);\n\n            assert_eq(result, expected);\n            assert_eq(result.get_unchecked(2), 0);\n        }\n\n        #[test]\n        fn for_each_on_empty_vector() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::new();\n            let mut count = 0;\n            let count_ref = &mut count;\n            vec.for_each(|_| { *count_ref += 1; });\n            assert_eq(count, 0);\n        }\n\n        #[test]\n        fn for_each_with_side_effects() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n            let mut seen = BoundedVec::<u32, 3>::new();\n            let seen_ref = &mut seen;\n            vec.for_each(|x| seen_ref.push(x));\n            assert_eq(seen, vec);\n        }\n    }\n\n    mod for_eachi {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        // mapi in terms of for_eachi\n        fn for_eachi_mapi<T, U, Env, let MaxLen: u32>(\n            input: BoundedVec<T, MaxLen>,\n            f: fn[Env](u32, T) -> U,\n        ) -> BoundedVec<U, MaxLen> {\n            let mut output = BoundedVec::<U, MaxLen>::new();\n            let output_ref = &mut output;\n            input.for_eachi(|i, x| output_ref.push(f(i, x)));\n            output\n        }\n\n        #[test]\n        fn smoke_test() {\n            let mut acc = 0;\n            let acc_ref = &mut acc;\n            // docs:start:bounded-vec-for-eachi-example\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n            vec.for_eachi(|i, value| { *acc_ref += i * value; });\n            // docs:end:bounded-vec-for-eachi-example\n\n            // 0 * 1 + 1 * 2 + 2 * 3\n            assert_eq(acc, 8);\n        }\n\n        #[test]\n        fn applies_function_correctly() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = for_eachi_mapi(vec, |i, value| i + value * 2);\n            let expected = BoundedVec::from_array([2, 5, 8, 11]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn applies_function_that_changes_return_type() {\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n            let result = for_eachi_mapi(vec, |i, value| (i + value * 2) as Field);\n            let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 5, 8, 11]);\n\n            assert_eq(result, expected);\n        }\n\n        #[test]\n        fn does_not_apply_function_past_len() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n            let result = for_eachi_mapi(vec, |_, value| if value == 0 { 5 } else { value });\n            let expected = BoundedVec::from_array([5, 1]);\n\n            assert_eq(result, expected);\n            assert_eq(result.get_unchecked(2), 0);\n        }\n\n        #[test]\n        fn for_eachi_on_empty_vector() {\n            let vec: BoundedVec<u32, 5> = BoundedVec::new();\n            let mut count = 0;\n            let count_ref = &mut count;\n            vec.for_eachi(|_, _| { *count_ref += 1; });\n            assert_eq(count, 0);\n        }\n\n        #[test]\n        fn for_eachi_with_index_tracking() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([10, 20, 30]);\n            let mut indices = BoundedVec::<u32, 3>::new();\n            let indices_ref = &mut indices;\n            vec.for_eachi(|i, _| indices_ref.push(i));\n\n            let expected = BoundedVec::from_array([0, 1, 2]);\n            assert_eq(indices, expected);\n        }\n\n    }\n\n    mod from_array {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn empty() {\n            let empty_array: [Field; 0] = [];\n            let bounded_vec = BoundedVec::from_array([]);\n\n            assert_eq(bounded_vec.max_len(), 0);\n            assert_eq(bounded_vec.len(), 0);\n            assert_eq(bounded_vec.storage(), empty_array);\n        }\n\n        #[test]\n        fn equal_len() {\n            let array = [1, 2, 3];\n            let bounded_vec = BoundedVec::from_array(array);\n\n            assert_eq(bounded_vec.max_len(), 3);\n            assert_eq(bounded_vec.len(), 3);\n            assert_eq(bounded_vec.storage(), array);\n        }\n\n        #[test]\n        fn max_len_greater_then_array_len() {\n            let array = [1, 2, 3];\n            let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n            assert_eq(bounded_vec.max_len(), 10);\n            assert_eq(bounded_vec.len(), 3);\n            assert_eq(bounded_vec.get(0), 1);\n            assert_eq(bounded_vec.get(1), 2);\n            assert_eq(bounded_vec.get(2), 3);\n        }\n\n        #[test(should_fail_with = \"from array out of bounds\")]\n        fn max_len_lower_then_array_len() {\n            let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n        }\n\n        #[test]\n        fn from_array_preserves_order() {\n            let array = [5, 3, 1, 4, 2];\n            let vec: BoundedVec<u32, 5> = BoundedVec::from_array(array);\n            for i in 0..array.len() {\n                assert_eq(vec.get(i), array[i]);\n            }\n        }\n\n        #[test]\n        fn from_array_with_different_types() {\n            let bool_array = [true, false, true];\n            let bool_vec: BoundedVec<bool, 3> = BoundedVec::from_array(bool_array);\n            assert_eq(bool_vec.len(), 3);\n            assert_eq(bool_vec.get(0), true);\n            assert_eq(bool_vec.get(1), false);\n        }\n    }\n\n    mod trait_from {\n        use crate::collections::bounded_vec::BoundedVec;\n        use crate::convert::From;\n\n        #[test]\n        fn simple() {\n            let array = [1, 2];\n            let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n            assert_eq(bounded_vec.max_len(), 10);\n            assert_eq(bounded_vec.len(), 2);\n            assert_eq(bounded_vec.get(0), 1);\n            assert_eq(bounded_vec.get(1), 2);\n        }\n    }\n\n    mod trait_eq {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn empty_equality() {\n            let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n            let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n            assert_eq(bounded_vec1, bounded_vec2);\n        }\n\n        #[test]\n        fn inequality() {\n            let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n            let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n            bounded_vec1.push(1);\n            bounded_vec2.push(2);\n\n            assert(bounded_vec1 != bounded_vec2);\n        }\n    }\n\n    mod from_parts {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn from_parts() {\n            // docs:start:from-parts\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n            assert_eq(vec.len(), 3);\n\n            // Any elements past the given length are zeroed out, so these\n            // two BoundedVecs will be completely equal\n            let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 1], 3);\n            let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 2], 3);\n            assert_eq(vec1, vec2);\n            // docs:end:from-parts\n        }\n\n        #[test]\n        fn from_parts_unchecked() {\n            // docs:start:from-parts-unchecked\n            let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n            assert_eq(vec.len(), 3);\n\n            // invalid use!\n            let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n            let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n\n            // both vecs have length 3 so we'd expect them to be equal, but this\n            // fails because elements past the length are still checked in eq\n            assert(vec1 != vec2);\n            // docs:end:from-parts-unchecked\n        }\n    }\n\n    mod push_pop {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn push_and_pop_operations() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n            assert_eq(vec.len(), 0);\n\n            vec.push(1);\n            assert_eq(vec.len(), 1);\n            assert_eq(vec.get(0), 1);\n\n            vec.push(2);\n            assert_eq(vec.len(), 2);\n            assert_eq(vec.get(1), 2);\n\n            let popped = vec.pop();\n            assert_eq(popped, 2);\n            assert_eq(vec.len(), 1);\n\n            let popped2 = vec.pop();\n            assert_eq(popped2, 1);\n            assert_eq(vec.len(), 0);\n        }\n\n        #[test(should_fail_with = \"push out of bounds\")]\n        fn push_to_full_vector() {\n            let mut vec: BoundedVec<u32, 2> = BoundedVec::new();\n            vec.push(1);\n            vec.push(2);\n            vec.push(3); // should panic\n        }\n\n        #[test(should_fail_with = \"cannot pop from an empty vector\")]\n        fn pop_from_empty_vector() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            let _ = vec.pop(); // should panic\n        }\n\n        #[test]\n        fn push_pop_cycle() {\n            let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n\n            // push to full\n            vec.push(1);\n            vec.push(2);\n            vec.push(3);\n            assert_eq(vec.len(), 3);\n\n            // pop all\n            assert_eq(vec.pop(), 3);\n            assert_eq(vec.pop(), 2);\n            assert_eq(vec.pop(), 1);\n            assert_eq(vec.len(), 0);\n\n            // push again\n            vec.push(4);\n            assert_eq(vec.len(), 1);\n            assert_eq(vec.get(0), 4);\n        }\n    }\n\n    mod extend {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn extend_from_array() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            vec.push(1);\n            vec.extend_from_array([2, 3]);\n\n            assert_eq(vec.len(), 3);\n            assert_eq(vec.get(0), 1);\n            assert_eq(vec.get(1), 2);\n            assert_eq(vec.get(2), 3);\n        }\n\n        #[test]\n        fn extend_from_vector() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            vec.push(1);\n            vec.extend_from_vector([2, 3].as_vector());\n\n            assert_eq(vec.len(), 3);\n            assert_eq(vec.get(0), 1);\n            assert_eq(vec.get(1), 2);\n            assert_eq(vec.get(2), 3);\n        }\n\n        #[test]\n        fn extend_from_bounded_vec() {\n            let mut vec1: BoundedVec<u32, 5> = BoundedVec::new();\n            let mut vec2: BoundedVec<u32, 3> = BoundedVec::new();\n\n            vec1.push(1);\n            vec2.push(2);\n            vec2.push(3);\n\n            vec1.extend_from_bounded_vec(vec2);\n\n            assert_eq(vec1.len(), 3);\n            assert_eq(vec1.get(0), 1);\n            assert_eq(vec1.get(1), 2);\n            assert_eq(vec1.get(2), 3);\n        }\n\n        #[test(should_fail_with = \"extend_from_array out of bounds\")]\n        fn extend_array_beyond_max_len() {\n            let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n            vec.push(1);\n            vec.extend_from_array([2, 3, 4]); // should panic\n        }\n\n        #[test(should_fail_with = \"extend_from_vector out of bounds\")]\n        fn extend_vector_beyond_max_len() {\n            let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n            vec.push(1);\n            vec.extend_from_vector([2, 3, 4].as_vector()); // S]should panic\n        }\n\n        #[test(should_fail_with = \"extend_from_bounded_vec out of bounds\")]\n        fn extend_bounded_vec_beyond_max_len() {\n            let mut vec: BoundedVec<u32, 3> = BoundedVec::new();\n            let other: BoundedVec<u32, 5> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n            vec.extend_from_bounded_vec(other); // should panic\n        }\n\n        #[test]\n        fn extend_with_empty_collections() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n            let original_len = vec.len();\n\n            vec.extend_from_array([]);\n            assert_eq(vec.len(), original_len);\n\n            vec.extend_from_vector([].as_vector());\n            assert_eq(vec.len(), original_len);\n\n            let empty: BoundedVec<u32, 3> = BoundedVec::new();\n            vec.extend_from_bounded_vec(empty);\n            assert_eq(vec.len(), original_len);\n        }\n    }\n\n    mod storage {\n        use crate::collections::bounded_vec::BoundedVec;\n\n        #[test]\n        fn storage_consistency() {\n            let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n\n            // test initial storage state\n            assert_eq(vec.storage(), [0, 0, 0, 0, 0]);\n\n            vec.push(1);\n            vec.push(2);\n\n            // test storage after modifications\n            assert_eq(vec.storage(), [1, 2, 0, 0, 0]);\n\n            // storage doesn't change length\n            assert_eq(vec.len(), 2);\n            assert_eq(vec.max_len(), 5);\n        }\n\n        #[test]\n        fn storage_after_pop() {\n            let mut vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n\n            let _ = vec.pop();\n            // after pop, the last element should be zeroed\n            assert_eq(vec.storage(), [1, 2, 0]);\n            assert_eq(vec.len(), 2);\n        }\n\n        #[test]\n        fn vector_immutable() {\n            let vec: BoundedVec<u32, 3> = BoundedVec::from_array([1, 2, 3]);\n            let storage = vec.storage();\n\n            assert_eq(storage, [1, 2, 3]);\n\n            // Verify that the original vector is unchanged\n            assert_eq(vec.len(), 3);\n            assert_eq(vec.get(0), 1);\n            assert_eq(vec.get(1), 2);\n            assert_eq(vec.get(2), 3);\n        }\n    }\n}\n"
    },
    "16": {
      "path": "std/embedded_curve_ops.nr",
      "source": "use crate::cmp::Eq;\nuse crate::hash::Hash;\nuse crate::ops::arith::{Add, Neg, Sub};\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\npub struct EmbeddedCurvePoint {\n    pub x: Field,\n    pub y: Field,\n    pub is_infinite: bool,\n}\n\nimpl EmbeddedCurvePoint {\n    /// Elliptic curve point doubling operation\n    /// returns the doubled point of a point P, i.e P+P\n    pub fn double(self) -> EmbeddedCurvePoint {\n        embedded_curve_add(self, self)\n    }\n\n    /// Returns the null element of the curve; 'the point at infinity'\n    pub fn point_at_infinity() -> EmbeddedCurvePoint {\n        EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n    }\n\n    /// Returns the curve's generator point.\n    pub fn generator() -> EmbeddedCurvePoint {\n        // Generator point for the grumpkin curve (y^2 = x^3 - 17)\n        EmbeddedCurvePoint {\n            x: 1,\n            y: 17631683881184975370165255887551781615748388533673675138860, // sqrt(-16)\n            is_infinite: false,\n        }\n    }\n}\n\nimpl Add for EmbeddedCurvePoint {\n    /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n    fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n        embedded_curve_add(self, other)\n    }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n    /// Points subtraction operation, using addition and negation\n    fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n        self + other.neg()\n    }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n    /// Negates a point P, i.e returns -P, by negating the y coordinate.\n    /// If the point is at infinity, then the result is also at infinity.\n    fn neg(self) -> EmbeddedCurvePoint {\n        EmbeddedCurvePoint { x: self.x, y: -self.y, is_infinite: self.is_infinite }\n    }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n    /// Checks whether two points are equal\n    fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n        (self.is_infinite & b.is_infinite)\n            | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n    }\n}\n\nimpl Hash for EmbeddedCurvePoint {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: crate::hash::Hasher,\n    {\n        if self.is_infinite {\n            self.is_infinite.hash(state);\n        } else {\n            self.x.hash(state);\n            self.y.hash(state);\n        }\n    }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\npub struct EmbeddedCurveScalar {\n    pub lo: Field,\n    pub hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n    pub fn new(lo: Field, hi: Field) -> Self {\n        EmbeddedCurveScalar { lo, hi }\n    }\n\n    #[field(bn254)]\n    pub fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n        let (a, b) = crate::field::bn254::decompose(scalar);\n        EmbeddedCurveScalar { lo: a, hi: b }\n    }\n\n    //Bytes to scalar: take the first (after the specified offset) 16 bytes of the input as the lo value, and the next 16 bytes as the hi value\n    #[field(bn254)]\n    pub(crate) fn from_bytes(bytes: [u8; 64], offset: u32) -> EmbeddedCurveScalar {\n        let mut v = 1;\n        let mut lo = 0 as Field;\n        let mut hi = 0 as Field;\n        for i in 0..16 {\n            lo = lo + (bytes[offset + 31 - i] as Field) * v;\n            hi = hi + (bytes[offset + 15 - i] as Field) * v;\n            v = v * 256;\n        }\n        let sig_s = crate::embedded_curve_ops::EmbeddedCurveScalar { lo, hi };\n        sig_s\n    }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n    fn eq(self, other: Self) -> bool {\n        (other.hi == self.hi) & (other.lo == self.lo)\n    }\n}\n\nimpl Hash for EmbeddedCurveScalar {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: crate::hash::Hasher,\n    {\n        self.hi.hash(state);\n        self.lo.hash(state);\n    }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the\n// underlying proof system.\n//\n// IMPORTANT: Prefer `multi_scalar_mul()` over repeated `embedded_curve_add()`\n// for adding multiple points. This is significantly more efficient.\n// For adding exactly 2 points, use `embedded_curve_add()` directly.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n    points: [EmbeddedCurvePoint; N],\n    scalars: [EmbeddedCurveScalar; N],\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n    multi_scalar_mul_array_return(points, scalars, true)[0]\n}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_array_return<let N: u32>(\n    points: [EmbeddedCurvePoint; N],\n    scalars: [EmbeddedCurveScalar; N],\n    predicate: bool,\n) -> [EmbeddedCurvePoint; 1] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n    multi_scalar_mul([EmbeddedCurvePoint::generator()], [scalar])\n}\n\n/// Elliptic curve addition\n/// IMPORTANT: this function is expected to perform a full addition in order to handle all corner cases:\n/// - points on the curve\n/// - point doubling\n/// - point at infinity\n/// As a result, you may not get optimal performance, depending on the assumptions of your inputs.\n// docs:start:embedded_curve_add\npub fn embedded_curve_add(\n    point1: EmbeddedCurvePoint,\n    point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n    // docs:end:embedded_curve_add\n    if crate::runtime::is_unconstrained() {\n        // avoid calling the black box function for trivial cases\n        if point1.is_infinite {\n            point2\n        } else if point2.is_infinite {\n            point1\n        } else {\n            embedded_curve_add_inner(point1, point2)\n        }\n    } else {\n        embedded_curve_add_inner(point1, point2)\n    }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(\n    _point1: EmbeddedCurvePoint,\n    _point2: EmbeddedCurvePoint,\n    _predicate: bool,\n) -> [EmbeddedCurvePoint; 1] {}\n\n/// EC addition wrapper for the foreign function\nfn embedded_curve_add_inner(\n    point1: EmbeddedCurvePoint,\n    point2: EmbeddedCurvePoint,\n) -> EmbeddedCurvePoint {\n    embedded_curve_add_array_return(point1, point2, true)[0]\n}\n"
    },
    "17": {
      "path": "std/field/bn254.nr",
      "source": "use crate::field::field_less_than;\nuse crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\npub(crate) global PLO: Field = 53438638232309528389504892708671455233;\npub(crate) global PHI: Field = 64323764613183177041862057485226039389;\n\npub(crate) global TWO_POW_128: Field = 0x100000000000000000000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(x: Field) -> (Field, Field) {\n    // Here's we're taking advantage of truncating 128 bit limbs from the input field\n    // and then subtracting them from the input such the field division is equivalent to integer division.\n    let low = (x as u128) as Field;\n    let high = (x - low) / TWO_POW_128;\n\n    (low, high)\n}\n\npub(crate) unconstrained fn decompose_hint(x: Field) -> (Field, Field) {\n    compute_decomposition(x)\n}\n\nunconstrained fn lte_hint(x: Field, y: Field) -> bool {\n    if x == y {\n        true\n    } else {\n        field_less_than(x, y)\n    }\n}\n\n// Assert that (alo > blo && ahi >= bhi) || (alo <= blo && ahi > bhi)\nfn assert_gt_limbs(a: (Field, Field), b: (Field, Field)) {\n    let (alo, ahi) = a;\n    let (blo, bhi) = b;\n    // Safety: borrow is enforced to be boolean due to its type.\n    // if borrow is 0, it asserts that (alo > blo && ahi >= bhi)\n    // if borrow is 1, it asserts that (alo <= blo && ahi > bhi)\n    unsafe {\n        let borrow = lte_hint(alo, blo);\n\n        let rlo = alo - blo - 1 + (borrow as Field) * TWO_POW_128;\n        let rhi = ahi - bhi - (borrow as Field);\n\n        rlo.assert_max_bit_size::<128>();\n        rhi.assert_max_bit_size::<128>();\n    }\n}\n\n/// Decompose a single field into two 16 byte fields.\npub fn decompose(x: Field) -> (Field, Field) {\n    if is_unconstrained() {\n        compute_decomposition(x)\n    } else {\n        // Safety: decomposition is properly checked below\n        unsafe {\n            // Take hints of the decomposition\n            let (xlo, xhi) = decompose_hint(x);\n\n            // Range check the limbs\n            xlo.assert_max_bit_size::<128>();\n            xhi.assert_max_bit_size::<128>();\n\n            // Check that the decomposition is correct\n            assert_eq(x, xlo + TWO_POW_128 * xhi);\n\n            // Assert that the decomposition of P is greater than the decomposition of x\n            assert_gt_limbs((PLO, PHI), (xlo, xhi));\n            (xlo, xhi)\n        }\n    }\n}\n\npub fn assert_gt(a: Field, b: Field) {\n    if is_unconstrained() {\n        assert(\n            // Safety: already unconstrained\n            unsafe { field_less_than(b, a) },\n        );\n    } else {\n        // Decompose a and b\n        let a_limbs = decompose(a);\n        let b_limbs = decompose(b);\n\n        // Assert that a_limbs is greater than b_limbs\n        assert_gt_limbs(a_limbs, b_limbs)\n    }\n}\n\npub fn assert_lt(a: Field, b: Field) {\n    assert_gt(b, a);\n}\n\npub fn gt(a: Field, b: Field) -> bool {\n    if is_unconstrained() {\n        // Safety: unsafe in unconstrained\n        unsafe {\n            field_less_than(b, a)\n        }\n    } else if a == b {\n        false\n    } else {\n        // Safety: Take a hint of the comparison and verify it\n        unsafe {\n            if field_less_than(a, b) {\n                assert_gt(b, a);\n                false\n            } else {\n                assert_gt(a, b);\n                true\n            }\n        }\n    }\n}\n\npub fn lt(a: Field, b: Field) -> bool {\n    gt(b, a)\n}\n\nmod tests {\n    // TODO: Allow imports from \"super\"\n    use crate::field::bn254::{assert_gt, decompose, gt, lt, lte_hint, PHI, PLO, TWO_POW_128};\n\n    #[test]\n    fn check_decompose() {\n        assert_eq(decompose(TWO_POW_128), (0, 1));\n        assert_eq(decompose(TWO_POW_128 + 0x1234567890), (0x1234567890, 1));\n        assert_eq(decompose(0x1234567890), (0x1234567890, 0));\n    }\n\n    #[test]\n    unconstrained fn check_lte_hint() {\n        assert(lte_hint(0, 1));\n        assert(lte_hint(0, 0x100));\n        assert(lte_hint(0x100, TWO_POW_128 - 1));\n        assert(!lte_hint(0 - 1, 0));\n\n        assert(lte_hint(0, 0));\n        assert(lte_hint(0x100, 0x100));\n        assert(lte_hint(0 - 1, 0 - 1));\n    }\n\n    #[test]\n    fn check_gt() {\n        assert(gt(1, 0));\n        assert(gt(0x100, 0));\n        assert(gt((0 - 1), (0 - 2)));\n        assert(gt(TWO_POW_128, 0));\n        assert(!gt(0, 0));\n        assert(!gt(0, 0x100));\n        assert(gt(0 - 1, 0 - 2));\n        assert(!gt(0 - 2, 0 - 1));\n        assert_gt(0 - 1, 0);\n    }\n\n    #[test]\n    fn check_plo_phi() {\n        assert_eq(PLO + PHI * TWO_POW_128, 0);\n        let p_bytes = crate::field::modulus_le_bytes();\n        let mut p_low: Field = 0;\n        let mut p_high: Field = 0;\n\n        let mut offset = 1;\n        for i in 0..16 {\n            p_low += (p_bytes[i] as Field) * offset;\n            p_high += (p_bytes[i + 16] as Field) * offset;\n            offset *= 256;\n        }\n        assert_eq(p_low, PLO);\n        assert_eq(p_high, PHI);\n    }\n\n    #[test]\n    fn check_decompose_edge_cases() {\n        assert_eq(decompose(0), (0, 0));\n        assert_eq(decompose(TWO_POW_128 - 1), (TWO_POW_128 - 1, 0));\n        assert_eq(decompose(TWO_POW_128 + 1), (1, 1));\n        assert_eq(decompose(TWO_POW_128 * 2), (0, 2));\n        assert_eq(decompose(TWO_POW_128 * 2 + 0x1234567890), (0x1234567890, 2));\n    }\n\n    #[test]\n    fn check_decompose_large_values() {\n        let large_field = 0xffffffffffffffff;\n        let (lo, hi) = decompose(large_field);\n        assert_eq(large_field, lo + TWO_POW_128 * hi);\n\n        let large_value = large_field - TWO_POW_128;\n        let (lo2, hi2) = decompose(large_value);\n        assert_eq(large_value, lo2 + TWO_POW_128 * hi2);\n    }\n\n    #[test]\n    fn check_lt_comprehensive() {\n        assert(lt(0, 1));\n        assert(!lt(1, 0));\n        assert(!lt(0, 0));\n        assert(!lt(42, 42));\n\n        assert(lt(TWO_POW_128 - 1, TWO_POW_128));\n        assert(!lt(TWO_POW_128, TWO_POW_128 - 1));\n    }\n}\n"
    },
    "18": {
      "path": "std/field/mod.nr",
      "source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n    /// Asserts that `self` can be represented in `bit_size` bits.\n    ///\n    /// # Failures\n    /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n    // docs:start:assert_max_bit_size\n    pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n        // docs:end:assert_max_bit_size\n        static_assert(\n            BIT_SIZE < modulus_num_bits() as u32,\n            \"BIT_SIZE must be less than modulus_num_bits\",\n        );\n        __assert_max_bit_size(self, BIT_SIZE);\n    }\n\n    /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n    /// This array will be zero padded should not all bits be necessary to represent `self`.\n    ///\n    /// # Failures\n    /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n    /// be able to represent the original `Field`.\n    ///\n    /// # Safety\n    /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n    // docs:start:to_le_bits\n    pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n        // docs:end:to_le_bits\n        let bits = __to_le_bits(self);\n\n        if !is_unconstrained() {\n            // Ensure that the byte decomposition does not overflow the modulus\n            let p = modulus_le_bits();\n            assert(bits.len() <= p.len());\n            let mut ok = bits.len() != p.len();\n            for i in 0..N {\n                if !ok {\n                    if (bits[N - 1 - i] != p[N - 1 - i]) {\n                        assert(p[N - 1 - i] == 1);\n                        ok = true;\n                    }\n                }\n            }\n            assert(ok);\n        }\n        bits\n    }\n\n    /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n    /// This array will be zero padded should not all bits be necessary to represent `self`.\n    ///\n    /// # Failures\n    /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n    /// be able to represent the original `Field`.\n    ///\n    /// # Safety\n    /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n    // docs:start:to_be_bits\n    pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n        // docs:end:to_be_bits\n        let bits = __to_be_bits(self);\n\n        if !is_unconstrained() {\n            // Ensure that the decomposition does not overflow the modulus\n            let p = modulus_be_bits();\n            assert(bits.len() <= p.len());\n            let mut ok = bits.len() != p.len();\n            for i in 0..N {\n                if !ok {\n                    if (bits[i] != p[i]) {\n                        assert(p[i] == 1);\n                        ok = true;\n                    }\n                }\n            }\n            assert(ok);\n        }\n        bits\n    }\n\n    /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n    /// This array will be zero padded should not all bytes be necessary to represent `self`.\n    ///\n    /// # Failures\n    ///  The length N of the array must be big enough to contain all the bytes of the 'self',\n    ///  and no more than the number of bytes required to represent the field modulus\n    ///\n    /// # Safety\n    /// The result is ensured to be the canonical decomposition of the field element\n    // docs:start:to_le_bytes\n    pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n        // docs:end:to_le_bytes\n        static_assert(\n            N <= modulus_le_bytes().len(),\n            \"N must be less than or equal to modulus_le_bytes().len()\",\n        );\n        // Compute the byte decomposition\n        let bytes = self.to_le_radix(256);\n\n        if !is_unconstrained() {\n            // Ensure that the byte decomposition does not overflow the modulus\n            let p = modulus_le_bytes();\n            assert(bytes.len() <= p.len());\n            let mut ok = bytes.len() != p.len();\n            for i in 0..N {\n                if !ok {\n                    if (bytes[N - 1 - i] != p[N - 1 - i]) {\n                        assert(bytes[N - 1 - i] < p[N - 1 - i]);\n                        ok = true;\n                    }\n                }\n            }\n            assert(ok);\n        }\n        bytes\n    }\n\n    /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n    /// This array will be zero padded should not all bytes be necessary to represent `self`.\n    ///\n    /// # Failures\n    ///  The length N of the array must be big enough to contain all the bytes of the 'self',\n    ///  and no more than the number of bytes required to represent the field modulus\n    ///\n    /// # Safety\n    /// The result is ensured to be the canonical decomposition of the field element\n    // docs:start:to_be_bytes\n    pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n        // docs:end:to_be_bytes\n        static_assert(\n            N <= modulus_le_bytes().len(),\n            \"N must be less than or equal to modulus_le_bytes().len()\",\n        );\n        // Compute the byte decomposition\n        let bytes = self.to_be_radix(256);\n\n        if !is_unconstrained() {\n            // Ensure that the byte decomposition does not overflow the modulus\n            let p = modulus_be_bytes();\n            assert(bytes.len() <= p.len());\n            let mut ok = bytes.len() != p.len();\n            for i in 0..N {\n                if !ok {\n                    if (bytes[i] != p[i]) {\n                        assert(bytes[i] < p[i]);\n                        ok = true;\n                    }\n                }\n            }\n            assert(ok);\n        }\n        bytes\n    }\n\n    fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n        // Brillig does not need an immediate radix\n        if !crate::runtime::is_unconstrained() {\n            static_assert(1 < radix, \"radix must be greater than 1\");\n            static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n            static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n        }\n        __to_le_radix(self, radix)\n    }\n\n    fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n        // Brillig does not need an immediate radix\n        if !crate::runtime::is_unconstrained() {\n            static_assert(1 < radix, \"radix must be greater than 1\");\n            static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n            static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n        }\n        __to_be_radix(self, radix)\n    }\n\n    // Returns self to the power of the given exponent value.\n    // Caution: we assume the exponent fits into 32 bits\n    // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n    pub fn pow_32(self, exponent: Field) -> Field {\n        let mut r: Field = 1;\n        let b: [u1; 32] = exponent.to_le_bits();\n\n        for i in 1..33 {\n            r *= r;\n            r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n        }\n        r\n    }\n\n    // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n    pub fn sgn0(self) -> u1 {\n        self as u1\n    }\n\n    pub fn lt(self, another: Field) -> bool {\n        if crate::compat::is_bn254() {\n            bn254_lt(self, another)\n        } else {\n            lt_fallback(self, another)\n        }\n    }\n\n    /// Convert a little endian byte array to a field element.\n    /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n    pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n        static_assert(\n            N <= modulus_le_bytes().len(),\n            \"N must be less than or equal to modulus_le_bytes().len()\",\n        );\n        let mut v = 1;\n        let mut result = 0;\n\n        for i in 0..N {\n            result += (bytes[i] as Field) * v;\n            v = v * 256;\n        }\n        result\n    }\n\n    /// Convert a big endian byte array to a field element.\n    /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n    pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n        let mut v = 1;\n        let mut result = 0;\n\n        for i in 0..N {\n            result += (bytes[N - 1 - i] as Field) * v;\n            v = v * 256;\n        }\n        result\n    }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting array will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n    __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n    // Convert it to a field element\n    let mut v = 1;\n    let mut high = 0 as Field;\n    let mut low = 0 as Field;\n\n    for i in 0..16 {\n        high = high + (bytes32[15 - i] as Field) * v;\n        low = low + (bytes32[16 + 15 - i] as Field) * v;\n        v = v * 256;\n    }\n    // Abuse that a % p + b % p = (a + b) % p and that low < p\n    low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n    if is_unconstrained() {\n        // Safety: unconstrained context\n        unsafe {\n            field_less_than(x, y)\n        }\n    } else {\n        let x_bytes: [u8; 32] = x.to_le_bytes();\n        let y_bytes: [u8; 32] = y.to_le_bytes();\n        let mut x_is_lt = false;\n        let mut done = false;\n        for i in 0..32 {\n            if (!done) {\n                let x_byte = x_bytes[32 - 1 - i] as u8;\n                let y_byte = y_bytes[32 - 1 - i] as u8;\n                let bytes_match = x_byte == y_byte;\n                if !bytes_match {\n                    x_is_lt = x_byte < y_byte;\n                    done = true;\n                }\n            }\n        }\n        x_is_lt\n    }\n}\n\nmod tests {\n    use crate::{panic::panic, runtime, static_assert};\n    use super::{\n        field_less_than, modulus_be_bits, modulus_be_bytes, modulus_le_bits, modulus_le_bytes,\n    };\n\n    #[test]\n    // docs:start:to_be_bits_example\n    fn test_to_be_bits() {\n        let field = 2;\n        let bits: [u1; 8] = field.to_be_bits();\n        assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n    }\n    // docs:end:to_be_bits_example\n\n    #[test]\n    // docs:start:to_le_bits_example\n    fn test_to_le_bits() {\n        let field = 2;\n        let bits: [u1; 8] = field.to_le_bits();\n        assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n    }\n    // docs:end:to_le_bits_example\n\n    #[test]\n    // docs:start:to_be_bytes_example\n    fn test_to_be_bytes() {\n        let field = 2;\n        let bytes: [u8; 8] = field.to_be_bytes();\n        assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n        assert_eq(Field::from_be_bytes::<8>(bytes), field);\n    }\n    // docs:end:to_be_bytes_example\n\n    #[test]\n    // docs:start:to_le_bytes_example\n    fn test_to_le_bytes() {\n        let field = 2;\n        let bytes: [u8; 8] = field.to_le_bytes();\n        assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n        assert_eq(Field::from_le_bytes::<8>(bytes), field);\n    }\n    // docs:end:to_le_bytes_example\n\n    #[test]\n    // docs:start:to_be_radix_example\n    fn test_to_be_radix() {\n        // 259, in base 256, big endian, is [1, 3].\n        // i.e. 3 * 256^0 + 1 * 256^1\n        let field = 259;\n\n        // The radix (in this example, 256) must be a power of 2.\n        // The length of the returned byte array can be specified to be\n        // >= the amount of space needed.\n        let bytes: [u8; 8] = field.to_be_radix(256);\n        assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n        assert_eq(Field::from_be_bytes::<8>(bytes), field);\n    }\n    // docs:end:to_be_radix_example\n\n    #[test]\n    // docs:start:to_le_radix_example\n    fn test_to_le_radix() {\n        // 259, in base 256, little endian, is [3, 1].\n        // i.e. 3 * 256^0 + 1 * 256^1\n        let field = 259;\n\n        // The radix (in this example, 256) must be a power of 2.\n        // The length of the returned byte array can be specified to be\n        // >= the amount of space needed.\n        let bytes: [u8; 8] = field.to_le_radix(256);\n        assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n        assert_eq(Field::from_le_bytes::<8>(bytes), field);\n    }\n    // docs:end:to_le_radix_example\n\n    #[test(should_fail_with = \"radix must be greater than 1\")]\n    fn test_to_le_radix_1() {\n        // this test should only fail in constrained mode\n        if !runtime::is_unconstrained() {\n            let field = 2;\n            let _: [u8; 8] = field.to_le_radix(1);\n        } else {\n            panic(\"radix must be greater than 1\");\n        }\n    }\n\n    // Updated test to account for Brillig restriction that radix must be greater than 2\n    #[test(should_fail_with = \"radix must be greater than 1\")]\n    fn test_to_le_radix_brillig_1() {\n        // this test should only fail in constrained mode\n        if !runtime::is_unconstrained() {\n            let field = 1;\n            let _: [u8; 8] = field.to_le_radix(1);\n        } else {\n            panic(\"radix must be greater than 1\");\n        }\n    }\n\n    #[test(should_fail_with = \"radix must be a power of 2\")]\n    fn test_to_le_radix_3() {\n        // this test should only fail in constrained mode\n        if !runtime::is_unconstrained() {\n            let field = 2;\n            let _: [u8; 8] = field.to_le_radix(3);\n        } else {\n            panic(\"radix must be a power of 2\");\n        }\n    }\n\n    #[test]\n    fn test_to_le_radix_brillig_3() {\n        // this test should only fail in constrained mode\n        if runtime::is_unconstrained() {\n            let field = 1;\n            let out: [u8; 8] = field.to_le_radix(3);\n            let mut expected = [0; 8];\n            expected[0] = 1;\n            assert(out == expected, \"unexpected result\");\n        }\n    }\n\n    #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n    fn test_to_le_radix_512() {\n        // this test should only fail in constrained mode\n        if !runtime::is_unconstrained() {\n            let field = 2;\n            let _: [u8; 8] = field.to_le_radix(512);\n        } else {\n            panic(\"radix must be less than or equal to 256\")\n        }\n    }\n\n    #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n    unconstrained fn not_enough_limbs_brillig() {\n        let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n    }\n\n    #[test(should_fail_with = \"Field failed to decompose into specified 16 limbs\")]\n    fn not_enough_limbs() {\n        let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n    }\n\n    #[test]\n    unconstrained fn test_field_less_than() {\n        assert(field_less_than(0, 1));\n        assert(field_less_than(0, 0x100));\n        assert(field_less_than(0x100, 0 - 1));\n        assert(!field_less_than(0 - 1, 0));\n    }\n\n    #[test]\n    unconstrained fn test_large_field_values_unconstrained() {\n        let large_field = 0xffffffffffffffff;\n\n        let bits: [u1; 64] = large_field.to_le_bits();\n        assert_eq(bits[0], 1);\n\n        let bytes: [u8; 8] = large_field.to_le_bytes();\n        assert_eq(Field::from_le_bytes::<8>(bytes), large_field);\n\n        let radix_bytes: [u8; 8] = large_field.to_le_radix(256);\n        assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_field);\n    }\n\n    #[test]\n    fn test_large_field_values() {\n        let large_val = 0xffffffffffffffff;\n\n        let bits: [u1; 64] = large_val.to_le_bits();\n        assert_eq(bits[0], 1);\n\n        let bytes: [u8; 8] = large_val.to_le_bytes();\n        assert_eq(Field::from_le_bytes::<8>(bytes), large_val);\n\n        let radix_bytes: [u8; 8] = large_val.to_le_radix(256);\n        assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_val);\n    }\n\n    #[test]\n    fn test_decomposition_edge_cases() {\n        let zero_bits: [u1; 8] = 0.to_le_bits();\n        assert_eq(zero_bits, [0; 8]);\n\n        let zero_bytes: [u8; 8] = 0.to_le_bytes();\n        assert_eq(zero_bytes, [0; 8]);\n\n        let one_bits: [u1; 8] = 1.to_le_bits();\n        let expected: [u1; 8] = [1, 0, 0, 0, 0, 0, 0, 0];\n        assert_eq(one_bits, expected);\n\n        let pow2_bits: [u1; 8] = 4.to_le_bits();\n        let expected: [u1; 8] = [0, 0, 1, 0, 0, 0, 0, 0];\n        assert_eq(pow2_bits, expected);\n    }\n\n    #[test]\n    fn test_pow_32() {\n        assert_eq(2.pow_32(3), 8);\n        assert_eq(3.pow_32(2), 9);\n        assert_eq(5.pow_32(0), 1);\n        assert_eq(7.pow_32(1), 7);\n\n        assert_eq(2.pow_32(10), 1024);\n\n        assert_eq(0.pow_32(5), 0);\n        assert_eq(0.pow_32(0), 1);\n\n        assert_eq(1.pow_32(100), 1);\n    }\n\n    #[test]\n    fn test_sgn0() {\n        assert_eq(0.sgn0(), 0);\n        assert_eq(2.sgn0(), 0);\n        assert_eq(4.sgn0(), 0);\n        assert_eq(100.sgn0(), 0);\n\n        assert_eq(1.sgn0(), 1);\n        assert_eq(3.sgn0(), 1);\n        assert_eq(5.sgn0(), 1);\n        assert_eq(101.sgn0(), 1);\n    }\n\n    #[test(should_fail_with = \"Field failed to decompose into specified 8 limbs\")]\n    fn test_bit_decomposition_overflow() {\n        // 8 bits can't represent large field values\n        let large_val = 0x1000000000000000;\n        let _: [u1; 8] = large_val.to_le_bits();\n    }\n\n    #[test(should_fail_with = \"Field failed to decompose into specified 4 limbs\")]\n    fn test_byte_decomposition_overflow() {\n        // 4 bytes can't represent large field values\n        let large_val = 0x1000000000000000;\n        let _: [u8; 4] = large_val.to_le_bytes();\n    }\n\n    #[test]\n    fn test_to_from_be_bytes_bn254_edge_cases() {\n        if crate::compat::is_bn254() {\n            // checking that decrementing this byte produces the expected 32 BE bytes for (modulus - 1)\n            let mut p_minus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n            assert(p_minus_1_bytes[32 - 1] > 0);\n            p_minus_1_bytes[32 - 1] -= 1;\n\n            let p_minus_1 = Field::from_be_bytes::<32>(p_minus_1_bytes);\n            assert_eq(p_minus_1 + 1, 0);\n\n            // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n            let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_be_bytes();\n            assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n            // checking that incrementing this byte produces 32 BE bytes for (modulus + 1)\n            let mut p_plus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n            assert(p_plus_1_bytes[32 - 1] < 255);\n            p_plus_1_bytes[32 - 1] += 1;\n\n            let p_plus_1 = Field::from_be_bytes::<32>(p_plus_1_bytes);\n            assert_eq(p_plus_1, 1);\n\n            // checking that converting p_plus_1 to 32 BE bytes produces the same\n            // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n            let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_be_bytes();\n            assert_eq(p_plus_1_converted_bytes[32 - 1], 1);\n            p_plus_1_converted_bytes[32 - 1] = 0;\n            assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n            // checking that Field::from_be_bytes::<32> on the Field modulus produces 0\n            assert_eq(modulus_be_bytes().len(), 32);\n            let p = Field::from_be_bytes::<32>(modulus_be_bytes().as_array());\n            assert_eq(p, 0);\n\n            // checking that converting 0 to 32 BE bytes produces 32 zeroes\n            let p_bytes: [u8; 32] = 0.to_be_bytes();\n            assert_eq(p_bytes, [0; 32]);\n        }\n    }\n\n    #[test]\n    fn test_to_from_le_bytes_bn254_edge_cases() {\n        if crate::compat::is_bn254() {\n            // checking that decrementing this byte produces the expected 32 LE bytes for (modulus - 1)\n            let mut p_minus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n            assert(p_minus_1_bytes[0] > 0);\n            p_minus_1_bytes[0] -= 1;\n\n            let p_minus_1 = Field::from_le_bytes::<32>(p_minus_1_bytes);\n            assert_eq(p_minus_1 + 1, 0);\n\n            // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n            let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_le_bytes();\n            assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n            // checking that incrementing this byte produces 32 LE bytes for (modulus + 1)\n            let mut p_plus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n            assert(p_plus_1_bytes[0] < 255);\n            p_plus_1_bytes[0] += 1;\n\n            let p_plus_1 = Field::from_le_bytes::<32>(p_plus_1_bytes);\n            assert_eq(p_plus_1, 1);\n\n            // checking that converting p_plus_1 to 32 LE bytes produces the same\n            // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n            let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_le_bytes();\n            assert_eq(p_plus_1_converted_bytes[0], 1);\n            p_plus_1_converted_bytes[0] = 0;\n            assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n            // checking that Field::from_le_bytes::<32> on the Field modulus produces 0\n            assert_eq(modulus_le_bytes().len(), 32);\n            let p = Field::from_le_bytes::<32>(modulus_le_bytes().as_array());\n            assert_eq(p, 0);\n\n            // checking that converting 0 to 32 LE bytes produces 32 zeroes\n            let p_bytes: [u8; 32] = 0.to_le_bytes();\n            assert_eq(p_bytes, [0; 32]);\n        }\n    }\n\n    /// Convert a little endian bit array to a field element.\n    /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n    fn from_le_bits<let N: u32>(bits: [u1; N]) -> Field {\n        static_assert(\n            N <= modulus_le_bits().len(),\n            \"N must be less than or equal to modulus_le_bits().len()\",\n        );\n        let mut v = 1;\n        let mut result = 0;\n\n        for i in 0..N {\n            result += (bits[i] as Field) * v;\n            v = v * 2;\n        }\n        result\n    }\n\n    /// Convert a big endian bit array to a field element.\n    /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n    fn from_be_bits<let N: u32>(bits: [u1; N]) -> Field {\n        let mut v = 1;\n        let mut result = 0;\n\n        for i in 0..N {\n            result += (bits[N - 1 - i] as Field) * v;\n            v = v * 2;\n        }\n        result\n    }\n\n    #[test]\n    fn test_to_from_be_bits_bn254_edge_cases() {\n        if crate::compat::is_bn254() {\n            // checking that decrementing this bit produces the expected 254 BE bits for (modulus - 1)\n            let mut p_minus_1_bits: [u1; 254] = modulus_be_bits().as_array();\n            assert(p_minus_1_bits[254 - 1] > 0);\n            p_minus_1_bits[254 - 1] -= 1;\n\n            let p_minus_1 = from_be_bits::<254>(p_minus_1_bits);\n            assert_eq(p_minus_1 + 1, 0);\n\n            // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n            let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_be_bits();\n            assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n            // checking that incrementing this bit produces 254 BE bits for (modulus + 4)\n            let mut p_plus_4_bits: [u1; 254] = modulus_be_bits().as_array();\n            assert(p_plus_4_bits[254 - 3] < 1);\n            p_plus_4_bits[254 - 3] += 1;\n\n            let p_plus_4 = from_be_bits::<254>(p_plus_4_bits);\n            assert_eq(p_plus_4, 4);\n\n            // checking that converting p_plus_4 to 254 BE bits produces the same\n            // bit set to 1 as p_plus_4_bits and otherwise zeroes\n            let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_be_bits();\n            assert_eq(p_plus_4_converted_bits[254 - 3], 1);\n            p_plus_4_converted_bits[254 - 3] = 0;\n            assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n            // checking that Field::from_be_bits::<254> on the Field modulus produces 0\n            assert_eq(modulus_be_bits().len(), 254);\n            let p = from_be_bits::<254>(modulus_be_bits().as_array());\n            assert_eq(p, 0);\n\n            // checking that converting 0 to 254 BE bytes produces 254 zeroes\n            let p_bits: [u1; 254] = 0.to_be_bits();\n            assert_eq(p_bits, [0; 254]);\n        }\n    }\n\n    #[test]\n    fn test_to_from_le_bits_bn254_edge_cases() {\n        if crate::compat::is_bn254() {\n            // checking that decrementing this bit produces the expected 254 LE bits for (modulus - 1)\n            let mut p_minus_1_bits: [u1; 254] = modulus_le_bits().as_array();\n            assert(p_minus_1_bits[0] > 0);\n            p_minus_1_bits[0] -= 1;\n\n            let p_minus_1 = from_le_bits::<254>(p_minus_1_bits);\n            assert_eq(p_minus_1 + 1, 0);\n\n            // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n            let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_le_bits();\n            assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n            // checking that incrementing this bit produces 254 LE bits for (modulus + 4)\n            let mut p_plus_4_bits: [u1; 254] = modulus_le_bits().as_array();\n            assert(p_plus_4_bits[2] < 1);\n            p_plus_4_bits[2] += 1;\n\n            let p_plus_4 = from_le_bits::<254>(p_plus_4_bits);\n            assert_eq(p_plus_4, 4);\n\n            // checking that converting p_plus_4 to 254 LE bits produces the same\n            // bit set to 1 as p_plus_4_bits and otherwise zeroes\n            let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_le_bits();\n            assert_eq(p_plus_4_converted_bits[2], 1);\n            p_plus_4_converted_bits[2] = 0;\n            assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n            // checking that Field::from_le_bits::<254> on the Field modulus produces 0\n            assert_eq(modulus_le_bits().len(), 254);\n            let p = from_le_bits::<254>(modulus_le_bits().as_array());\n            assert_eq(p, 0);\n\n            // checking that converting 0 to 254 LE bytes produces 254 zeroes\n            let p_bits: [u1; 254] = 0.to_le_bits();\n            assert_eq(p_bits, [0; 254]);\n        }\n    }\n}\n"
    },
    "19": {
      "path": "std/hash/mod.nr",
      "source": "// Exposed only for usage in `std::meta`\npub(crate) mod poseidon2;\n\nuse crate::default::Default;\nuse crate::embedded_curve_ops::{\n    EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,\n};\nuse crate::meta::derive_via;\n\n#[foreign(sha256_compression)]\n// docs:start:sha256_compression\npub fn sha256_compression(input: [u32; 16], state: [u32; 8]) -> [u32; 8] {}\n// docs:end:sha256_compression\n\n#[foreign(keccakf1600)]\n// docs:start:keccakf1600\npub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {}\n// docs:end:keccakf1600\n\npub mod keccak {\n    #[deprecated(\"This function has been moved to std::hash::keccakf1600\")]\n    pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {\n        super::keccakf1600(input)\n    }\n}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{\n    if crate::runtime::is_unconstrained() {\n        // Temporary measure while Barretenberg is main proving system.\n        // Please open an issue if you're working on another proving system and running into problems due to this.\n        crate::static_assert(\n            N <= 1024,\n            \"Barretenberg cannot prove blake3 hashes with inputs larger than 1024 bytes\",\n        );\n    }\n    __blake3(input)\n}\n\n#[foreign(blake3)]\nfn __blake3<let N: u32>(input: [u8; N]) -> [u8; 32] {}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n    // docs:end:pedersen_commitment\n    pedersen_commitment_with_separator(input, 0)\n}\n\n#[inline_always]\npub fn pedersen_commitment_with_separator<let N: u32>(\n    input: [Field; N],\n    separator: u32,\n) -> EmbeddedCurvePoint {\n    let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n    for i in 0..N {\n        // we use the unsafe version because the multi_scalar_mul will constrain the scalars.\n        points[i] = from_field_unsafe(input[i]);\n    }\n    let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n    multi_scalar_mul(generators, points)\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n    pedersen_hash_with_separator(input, 0)\n}\n\n#[no_predicates]\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n    let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];\n    let mut generators: [EmbeddedCurvePoint; N + 1] =\n        [EmbeddedCurvePoint::point_at_infinity(); N + 1];\n    crate::assert_constant(separator);\n    let domain_generators: [EmbeddedCurvePoint; N] =\n        derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n\n    for i in 0..N {\n        scalars[i] = from_field_unsafe(input[i]);\n        generators[i] = domain_generators[i];\n    }\n    scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };\n\n    let length_generator: [EmbeddedCurvePoint; 1] =\n        derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n    generators[N] = length_generator[0];\n    multi_scalar_mul_array_return(generators, scalars, true)[0].x\n}\n\n#[field(bn254)]\n#[inline_always]\npub fn derive_generators<let N: u32, let M: u32>(\n    domain_separator_bytes: [u8; M],\n    starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {\n    crate::assert_constant(domain_separator_bytes);\n    crate::assert_constant(starting_index);\n    __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n    domain_separator_bytes: [u8; M],\n    starting_index: u32,\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n// Decompose the input 'bn254 scalar' into two 128 bits limbs.\n// It is called 'unsafe' because it does not assert the limbs are 128 bits\n// Assuming the limbs are 128 bits:\n// Assert the decomposition does not overflow the field size.\nfn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n    // Safety: xlo and xhi decomposition is checked below\n    let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };\n    // Check that the decomposition is correct\n    assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n    // Check that the decomposition does not overflow the field size\n    let (a, b) = if xhi == crate::field::bn254::PHI {\n        (xlo, crate::field::bn254::PLO)\n    } else {\n        (xhi, crate::field::bn254::PHI)\n    };\n    crate::field::bn254::assert_lt(a, b);\n\n    EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn poseidon2_permutation<let N: u32>(input: [Field; N], state_len: u32) -> [Field; N] {\n    assert_eq(input.len(), state_len);\n    poseidon2_permutation_internal(input)\n}\n\n#[foreign(poseidon2_permutation)]\nfn poseidon2_permutation_internal<let N: u32>(input: [Field; N]) -> [Field; N] {}\n\n// Generic hashing support.\n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\n#[derive_via(derive_hash)]\npub trait Hash {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher;\n}\n\n// docs:start:derive_hash\ncomptime fn derive_hash(s: TypeDefinition) -> Quoted {\n    let name = quote { $crate::hash::Hash };\n    let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: $crate::hash::Hasher };\n    let for_each_field = |name| quote { _self.$name.hash(_state); };\n    crate::meta::make_trait_impl(\n        s,\n        name,\n        signature,\n        for_each_field,\n        quote {},\n        |fields| fields,\n    )\n}\n// docs:end:derive_hash\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\npub trait Hasher {\n    fn finish(self) -> Field;\n\n    fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\npub trait BuildHasher {\n    type H: Hasher;\n\n    fn build_hasher(self) -> H;\n}\n\npub struct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher for BuildHasherDefault<H>\nwhere\n    H: Hasher + Default,\n{\n    type H = H;\n\n    fn build_hasher(_self: Self) -> H {\n        H::default()\n    }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere\n    H: Hasher + Default,\n{\n    fn default() -> Self {\n        BuildHasherDefault {}\n    }\n}\n\nimpl Hash for Field {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self);\n    }\n}\n\nimpl Hash for u1 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for u8 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for u16 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for u32 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for u64 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for u128 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for i8 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as u8 as Field);\n    }\n}\n\nimpl Hash for i16 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as u16 as Field);\n    }\n}\n\nimpl Hash for i32 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as u32 as Field);\n    }\n}\n\nimpl Hash for i64 {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as u64 as Field);\n    }\n}\n\nimpl Hash for bool {\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        H::write(state, self as Field);\n    }\n}\n\nimpl Hash for () {\n    fn hash<H>(_self: Self, _state: &mut H)\n    where\n        H: Hasher,\n    {}\n}\n\nimpl<T, let N: u32> Hash for [T; N]\nwhere\n    T: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        for elem in self {\n            elem.hash(state);\n        }\n    }\n}\n\nimpl<T> Hash for [T]\nwhere\n    T: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self.len().hash(state);\n        for elem in self {\n            elem.hash(state);\n        }\n    }\n}\n\nimpl<A, B> Hash for (A, B)\nwhere\n    A: Hash,\n    B: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self.0.hash(state);\n        self.1.hash(state);\n    }\n}\n\nimpl<A, B, C> Hash for (A, B, C)\nwhere\n    A: Hash,\n    B: Hash,\n    C: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self.0.hash(state);\n        self.1.hash(state);\n        self.2.hash(state);\n    }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D)\nwhere\n    A: Hash,\n    B: Hash,\n    C: Hash,\n    D: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self.0.hash(state);\n        self.1.hash(state);\n        self.2.hash(state);\n        self.3.hash(state);\n    }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E)\nwhere\n    A: Hash,\n    B: Hash,\n    C: Hash,\n    D: Hash,\n    E: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self.0.hash(state);\n        self.1.hash(state);\n        self.2.hash(state);\n        self.3.hash(state);\n        self.4.hash(state);\n    }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n    assert_eq(\n        pedersen_hash_with_separator([1], 1),\n        0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1], 1),\n        EmbeddedCurvePoint {\n            x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n            y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n            is_infinite: false,\n        },\n    );\n\n    assert_eq(\n        pedersen_hash_with_separator([1, 2], 2),\n        0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2], 2),\n        EmbeddedCurvePoint {\n            x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n            y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3], 3),\n        0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3], 3),\n        EmbeddedCurvePoint {\n            x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n            y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4], 4),\n        0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4], 4),\n        EmbeddedCurvePoint {\n            x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n            y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),\n        0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),\n        EmbeddedCurvePoint {\n            x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n            y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),\n        0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),\n        EmbeddedCurvePoint {\n            x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n            y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n        0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),\n        EmbeddedCurvePoint {\n            x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n            y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n        0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),\n        EmbeddedCurvePoint {\n            x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n            y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n        0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),\n        EmbeddedCurvePoint {\n            x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n            y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n            is_infinite: false,\n        },\n    );\n    assert_eq(\n        pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n        0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,\n    );\n    assert_eq(\n        pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),\n        EmbeddedCurvePoint {\n            x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n            y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n            is_infinite: false,\n        },\n    );\n}\n"
    },
    "39": {
      "path": "std/ops/arith.nr",
      "source": "use crate::convert::AsPrimitive;\n\n// docs:start:add-trait\npub trait Add {\n    fn add(self, other: Self) -> Self;\n}\n// docs:end:add-trait\n\nimpl Add for Field {\n    fn add(self, other: Field) -> Field {\n        self + other\n    }\n}\n\nimpl Add for u128 {\n    fn add(self, other: u128) -> u128 {\n        self + other\n    }\n}\nimpl Add for u64 {\n    fn add(self, other: u64) -> u64 {\n        self + other\n    }\n}\nimpl Add for u32 {\n    fn add(self, other: u32) -> u32 {\n        self + other\n    }\n}\nimpl Add for u16 {\n    fn add(self, other: u16) -> u16 {\n        self + other\n    }\n}\nimpl Add for u8 {\n    fn add(self, other: u8) -> u8 {\n        self + other\n    }\n}\nimpl Add for u1 {\n    fn add(self, other: u1) -> u1 {\n        self + other\n    }\n}\n\nimpl Add for i8 {\n    fn add(self, other: i8) -> i8 {\n        self + other\n    }\n}\nimpl Add for i16 {\n    fn add(self, other: i16) -> i16 {\n        self + other\n    }\n}\nimpl Add for i32 {\n    fn add(self, other: i32) -> i32 {\n        self + other\n    }\n}\nimpl Add for i64 {\n    fn add(self, other: i64) -> i64 {\n        self + other\n    }\n}\n\n// docs:start:sub-trait\npub trait Sub {\n    fn sub(self, other: Self) -> Self;\n}\n// docs:end:sub-trait\n\nimpl Sub for Field {\n    fn sub(self, other: Field) -> Field {\n        self - other\n    }\n}\n\nimpl Sub for u128 {\n    fn sub(self, other: u128) -> u128 {\n        self - other\n    }\n}\nimpl Sub for u64 {\n    fn sub(self, other: u64) -> u64 {\n        self - other\n    }\n}\nimpl Sub for u32 {\n    fn sub(self, other: u32) -> u32 {\n        self - other\n    }\n}\nimpl Sub for u16 {\n    fn sub(self, other: u16) -> u16 {\n        self - other\n    }\n}\nimpl Sub for u8 {\n    fn sub(self, other: u8) -> u8 {\n        self - other\n    }\n}\nimpl Sub for u1 {\n    fn sub(self, other: u1) -> u1 {\n        self - other\n    }\n}\n\nimpl Sub for i8 {\n    fn sub(self, other: i8) -> i8 {\n        self - other\n    }\n}\nimpl Sub for i16 {\n    fn sub(self, other: i16) -> i16 {\n        self - other\n    }\n}\nimpl Sub for i32 {\n    fn sub(self, other: i32) -> i32 {\n        self - other\n    }\n}\nimpl Sub for i64 {\n    fn sub(self, other: i64) -> i64 {\n        self - other\n    }\n}\n\n// docs:start:mul-trait\npub trait Mul {\n    fn mul(self, other: Self) -> Self;\n}\n// docs:end:mul-trait\n\nimpl Mul for Field {\n    fn mul(self, other: Field) -> Field {\n        self * other\n    }\n}\n\nimpl Mul for u128 {\n    fn mul(self, other: u128) -> u128 {\n        self * other\n    }\n}\nimpl Mul for u64 {\n    fn mul(self, other: u64) -> u64 {\n        self * other\n    }\n}\nimpl Mul for u32 {\n    fn mul(self, other: u32) -> u32 {\n        self * other\n    }\n}\nimpl Mul for u16 {\n    fn mul(self, other: u16) -> u16 {\n        self * other\n    }\n}\nimpl Mul for u8 {\n    fn mul(self, other: u8) -> u8 {\n        self * other\n    }\n}\nimpl Mul for u1 {\n    fn mul(self, other: u1) -> u1 {\n        self * other\n    }\n}\n\nimpl Mul for i8 {\n    fn mul(self, other: i8) -> i8 {\n        self * other\n    }\n}\nimpl Mul for i16 {\n    fn mul(self, other: i16) -> i16 {\n        self * other\n    }\n}\nimpl Mul for i32 {\n    fn mul(self, other: i32) -> i32 {\n        self * other\n    }\n}\nimpl Mul for i64 {\n    fn mul(self, other: i64) -> i64 {\n        self * other\n    }\n}\n\n// docs:start:div-trait\npub trait Div {\n    fn div(self, other: Self) -> Self;\n}\n// docs:end:div-trait\n\nimpl Div for Field {\n    fn div(self, other: Field) -> Field {\n        self / other\n    }\n}\n\nimpl Div for u128 {\n    fn div(self, other: u128) -> u128 {\n        self / other\n    }\n}\nimpl Div for u64 {\n    fn div(self, other: u64) -> u64 {\n        self / other\n    }\n}\nimpl Div for u32 {\n    fn div(self, other: u32) -> u32 {\n        self / other\n    }\n}\nimpl Div for u16 {\n    fn div(self, other: u16) -> u16 {\n        self / other\n    }\n}\nimpl Div for u8 {\n    fn div(self, other: u8) -> u8 {\n        self / other\n    }\n}\nimpl Div for u1 {\n    fn div(self, other: u1) -> u1 {\n        self / other\n    }\n}\n\nimpl Div for i8 {\n    fn div(self, other: i8) -> i8 {\n        self / other\n    }\n}\nimpl Div for i16 {\n    fn div(self, other: i16) -> i16 {\n        self / other\n    }\n}\nimpl Div for i32 {\n    fn div(self, other: i32) -> i32 {\n        self / other\n    }\n}\nimpl Div for i64 {\n    fn div(self, other: i64) -> i64 {\n        self / other\n    }\n}\n\n// docs:start:rem-trait\npub trait Rem {\n    fn rem(self, other: Self) -> Self;\n}\n// docs:end:rem-trait\n\nimpl Rem for u128 {\n    fn rem(self, other: u128) -> u128 {\n        self % other\n    }\n}\nimpl Rem for u64 {\n    fn rem(self, other: u64) -> u64 {\n        self % other\n    }\n}\nimpl Rem for u32 {\n    fn rem(self, other: u32) -> u32 {\n        self % other\n    }\n}\nimpl Rem for u16 {\n    fn rem(self, other: u16) -> u16 {\n        self % other\n    }\n}\nimpl Rem for u8 {\n    fn rem(self, other: u8) -> u8 {\n        self % other\n    }\n}\nimpl Rem for u1 {\n    fn rem(self, other: u1) -> u1 {\n        self % other\n    }\n}\n\nimpl Rem for i8 {\n    fn rem(self, other: i8) -> i8 {\n        self % other\n    }\n}\nimpl Rem for i16 {\n    fn rem(self, other: i16) -> i16 {\n        self % other\n    }\n}\nimpl Rem for i32 {\n    fn rem(self, other: i32) -> i32 {\n        self % other\n    }\n}\nimpl Rem for i64 {\n    fn rem(self, other: i64) -> i64 {\n        self % other\n    }\n}\n\n// docs:start:neg-trait\npub trait Neg {\n    fn neg(self) -> Self;\n}\n// docs:end:neg-trait\n\n// docs:start:neg-trait-impls\nimpl Neg for Field {\n    fn neg(self) -> Field {\n        -self\n    }\n}\n\nimpl Neg for i8 {\n    fn neg(self) -> i8 {\n        -self\n    }\n}\nimpl Neg for i16 {\n    fn neg(self) -> i16 {\n        -self\n    }\n}\nimpl Neg for i32 {\n    fn neg(self) -> i32 {\n        -self\n    }\n}\nimpl Neg for i64 {\n    fn neg(self) -> i64 {\n        -self\n    }\n}\n// docs:end:neg-trait-impls\n\n// docs:start:wrapping-add-trait\npub trait WrappingAdd {\n    fn wrapping_add(self, y: Self) -> Self;\n}\n// docs:end:wrapping-add-trait\n\nimpl WrappingAdd for u1 {\n    fn wrapping_add(self: u1, y: u1) -> u1 {\n        self ^ y\n    }\n}\n\nimpl WrappingAdd for u8 {\n    fn wrapping_add(self: u8, y: u8) -> u8 {\n        wrapping_add_hlp(self, y)\n    }\n}\n\nimpl WrappingAdd for u16 {\n    fn wrapping_add(self: u16, y: u16) -> u16 {\n        wrapping_add_hlp(self, y)\n    }\n}\n\nimpl WrappingAdd for u32 {\n    fn wrapping_add(self: u32, y: u32) -> u32 {\n        wrapping_add_hlp(self, y)\n    }\n}\n\nimpl WrappingAdd for u64 {\n    fn wrapping_add(self: u64, y: u64) -> u64 {\n        wrapping_add_hlp(self, y)\n    }\n}\n\nimpl WrappingAdd for u128 {\n    fn wrapping_add(self: u128, y: u128) -> u128 {\n        wrapping_add_hlp(self, y)\n    }\n}\n\nimpl WrappingAdd for i8 {\n    fn wrapping_add(self: i8, y: i8) -> i8 {\n        let x = self as u8;\n        x.wrapping_add(y as u8) as i8\n    }\n}\n\nimpl WrappingAdd for i16 {\n    fn wrapping_add(self: i16, y: i16) -> i16 {\n        let x = self as u16;\n        x.wrapping_add(y as u16) as i16\n    }\n}\n\nimpl WrappingAdd for i32 {\n    fn wrapping_add(self: i32, y: i32) -> i32 {\n        let x = self as u32;\n        x.wrapping_add(y as u32) as i32\n    }\n}\n\nimpl WrappingAdd for i64 {\n    fn wrapping_add(self: i64, y: i64) -> i64 {\n        let x = self as u64;\n        x.wrapping_add(y as u64) as i64\n    }\n}\nimpl WrappingAdd for Field {\n    fn wrapping_add(self: Field, y: Field) -> Field {\n        self + y\n    }\n}\n\n// docs:start:wrapping-sub-trait\npub trait WrappingSub {\n    fn wrapping_sub(self, y: Self) -> Self;\n}\n// docs:start:wrapping-sub-trait\n\nimpl WrappingSub for u1 {\n    fn wrapping_sub(self: u1, y: u1) -> u1 {\n        self ^ y\n    }\n}\n\nimpl WrappingSub for u8 {\n    fn wrapping_sub(self: u8, y: u8) -> u8 {\n        wrapping_sub_hlp(self, y) as u8\n    }\n}\n\nimpl WrappingSub for u16 {\n    fn wrapping_sub(self: u16, y: u16) -> u16 {\n        wrapping_sub_hlp(self, y) as u16\n    }\n}\n\nimpl WrappingSub for u32 {\n    fn wrapping_sub(self: u32, y: u32) -> u32 {\n        wrapping_sub_hlp(self, y) as u32\n    }\n}\nimpl WrappingSub for u64 {\n    fn wrapping_sub(self: u64, y: u64) -> u64 {\n        wrapping_sub_hlp(self, y) as u64\n    }\n}\nimpl WrappingSub for u128 {\n    fn wrapping_sub(self: u128, y: u128) -> u128 {\n        wrapping_sub_hlp(self, y) as u128\n    }\n}\n\nimpl WrappingSub for i8 {\n    fn wrapping_sub(self: i8, y: i8) -> i8 {\n        let x = self as u8;\n        x.wrapping_sub(y as u8) as i8\n    }\n}\n\nimpl WrappingSub for i16 {\n    fn wrapping_sub(self: i16, y: i16) -> i16 {\n        let x = self as u16;\n        x.wrapping_sub(y as u16) as i16\n    }\n}\n\nimpl WrappingSub for i32 {\n    fn wrapping_sub(self: i32, y: i32) -> i32 {\n        let x = self as u32;\n        x.wrapping_sub(y as u32) as i32\n    }\n}\nimpl WrappingSub for i64 {\n    fn wrapping_sub(self: i64, y: i64) -> i64 {\n        let x = self as u64;\n        x.wrapping_sub(y as u64) as i64\n    }\n}\nimpl WrappingSub for Field {\n    fn wrapping_sub(self: Field, y: Field) -> Field {\n        self - y\n    }\n}\n\n// docs:start:wrapping-mul-trait\npub trait WrappingMul {\n    fn wrapping_mul(self, y: Self) -> Self;\n}\n// docs:start:wrapping-mul-trait\n\nimpl WrappingMul for u1 {\n    fn wrapping_mul(self: u1, y: u1) -> u1 {\n        self & y\n    }\n}\n\nimpl WrappingMul for u8 {\n    fn wrapping_mul(self: u8, y: u8) -> u8 {\n        wrapping_mul_hlp(self, y)\n    }\n}\n\nimpl WrappingMul for u16 {\n    fn wrapping_mul(self: u16, y: u16) -> u16 {\n        wrapping_mul_hlp(self, y)\n    }\n}\n\nimpl WrappingMul for u32 {\n    fn wrapping_mul(self: u32, y: u32) -> u32 {\n        wrapping_mul_hlp(self, y)\n    }\n}\nimpl WrappingMul for u64 {\n    fn wrapping_mul(self: u64, y: u64) -> u64 {\n        wrapping_mul_hlp(self, y)\n    }\n}\n\nimpl WrappingMul for i8 {\n    fn wrapping_mul(self: i8, y: i8) -> i8 {\n        let x = self as u8;\n        x.wrapping_mul(y as u8) as i8\n    }\n}\n\nimpl WrappingMul for i16 {\n    fn wrapping_mul(self: i16, y: i16) -> i16 {\n        let x = self as u16;\n        x.wrapping_mul(y as u16) as i16\n    }\n}\n\nimpl WrappingMul for i32 {\n    fn wrapping_mul(self: i32, y: i32) -> i32 {\n        let x = self as u32;\n        x.wrapping_mul(y as u32) as i32\n    }\n}\n\nimpl WrappingMul for i64 {\n    fn wrapping_mul(self: i64, y: i64) -> i64 {\n        let x = self as u64;\n        x.wrapping_mul(y as u64) as i64\n    }\n}\n\nimpl WrappingMul for u128 {\n    fn wrapping_mul(self: u128, y: u128) -> u128 {\n        wrapping_mul128_hlp(self, y)\n    }\n}\nimpl WrappingMul for Field {\n    fn wrapping_mul(self: Field, y: Field) -> Field {\n        self * y\n    }\n}\n\nfn wrapping_add_hlp<T>(x: T, y: T) -> T\nwhere\n    T: AsPrimitive<Field>,\n    Field: AsPrimitive<T>,\n{\n    AsPrimitive::as_(x.as_() + y.as_())\n}\n\nfn wrapping_sub_hlp<T>(x: T, y: T) -> Field\nwhere\n    T: AsPrimitive<Field>,\n{\n    //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n    x.as_() + 340282366920938463463374607431768211456 - y.as_()\n}\n\nfn wrapping_mul_hlp<T>(x: T, y: T) -> T\nwhere\n    T: AsPrimitive<Field>,\n    Field: AsPrimitive<T>,\n{\n    AsPrimitive::as_(x.as_() * y.as_())\n}\n\nglobal two_pow_64: u128 = 0x10000000000000000;\n/// Splits a 128 bits number into two 64 bits limbs\nunconstrained fn split64(x: u128) -> (u64, u64) {\n    let lo = x as u64;\n    let hi = (x / two_pow_64) as u64;\n    (lo, hi)\n}\n\n/// Split a 128 bits number into two 64 bits limbs\n/// It will fail if the number is more than 128 bits\nfn split_into_64_bit_limbs(x: u128) -> (u64, u64) {\n    // Safety: the limbs are constrained below\n    let (x_lo, x_hi) = unsafe { split64(x) };\n    assert(x as Field == x_lo as Field + x_hi as Field * two_pow_64 as Field);\n    (x_lo, x_hi)\n}\n\n#[field(bn254)]\nfn wrapping_mul128_hlp(x: u128, y: u128) -> u128 {\n    let (x_lo, x_hi) = split_into_64_bit_limbs(x);\n    let (y_lo, y_hi) = split_into_64_bit_limbs(y);\n    // Multiplication using the limbs:(x_lo + 2**64*x_hi)*(y_lo + 2**64*y_hi)=x_lo*y_lo+...\n    // and skipping the terms over 2**128\n    // Working with u64 limbs ensures that we cannot overflow the field modulus.\n    let low = x_lo as Field * y_lo as Field;\n    let lo = low as u64 as Field;\n    let carry = (low - lo) / two_pow_64 as Field;\n    let high = x_lo as Field * y_hi as Field + x_hi as Field * y_lo as Field + carry;\n    let hi = high as u64 as Field;\n    (lo + two_pow_64 as Field * hi) as u128\n}\n\nmod tests {\n    #[test(should_fail_with = \"custom message\")]\n    fn test_static_assert_custom_message() {\n        crate::static_assert(1 == 2, \"custom message\");\n    }\n\n    mod arithmetic {\n        use crate::ops::arith::{Add, Div, Mul, Neg, Rem, Sub};\n        #[test]\n        fn test_basic_arithmetic_traits() {\n            // add\n            assert_eq(5.add(3), 8);\n            assert_eq(0u8.add(255u8), 255u8);\n            assert_eq(42.add(58), 100);\n\n            // sub\n            assert_eq(10.sub(3), 7);\n            assert_eq(100.sub(42), 58);\n\n            // mul\n            assert_eq(6.mul(7), 42);\n\n            // div\n            assert_eq(15.div(3), 5);\n            assert_eq(10u8.div(3u8), 3u8);\n            assert_eq(15.div(3), 5);\n\n            // rem\n            assert_eq(17.rem(5), 2);\n            assert_eq(10u8.rem(3u8), 1u8);\n\n            // neg\n            assert_eq(42.neg(), -42);\n            assert_eq((-10).neg(), 10);\n            assert_eq(42.neg(), -42);\n        }\n\n        #[test]\n        fn test_division() {\n            // test division by one\n            assert_eq(42.div(1), 42);\n            assert_eq(0.div(1), 0);\n            assert_eq(255u8.div(1u8), 255u8);\n\n            // test division by self\n            assert_eq(42.div(42), 1);\n            assert_eq(1.div(1), 1);\n\n            // test remainder\n            assert_eq(42.rem(42), 0);\n            assert_eq(0.rem(42), 0);\n            assert_eq(1.rem(42), 1);\n        }\n\n        #[test(should_fail)]\n        fn test_u8_sub_overflow_failure() {\n            let _ = 0u8.sub(1u8);\n        }\n\n        #[test(should_fail)]\n        fn test_u8_add_overflow_failure() {\n            let _ = 255u8.add(1u8);\n        }\n\n        #[test(should_fail)]\n        fn test_u8_mul_overflow_failure() {\n            let _ = 255u8.mul(2u8);\n        }\n\n        #[test(should_fail)]\n        fn test_u16_sub_overflow_failure() {\n            let _ = 0u16.sub(1u16);\n        }\n\n        #[test(should_fail)]\n        fn test_u16_add_overflow_failure() {\n            let _ = 65535u16.add(1u16);\n        }\n\n        #[test(should_fail)]\n        fn test_u16_mul_overflow_failure() {\n            let _ = 65535u16.mul(2u16);\n        }\n\n        #[test(should_fail)]\n        fn test_signed_sub_overflow_failure() {\n            let val: i8 = -128;\n            let _ = val.sub(1i8);\n        }\n\n        #[test(should_fail)]\n        fn test_signed_overflow_failure() {\n            let _ = 127i8.add(1i8);\n        }\n\n        #[test]\n        fn test_field() {\n            let zero: Field = 0;\n            let one: Field = 1;\n\n            // test Field basic operations\n            assert_eq(zero.add(one), one);\n            assert_eq(one.add(zero), one);\n            assert_eq(one.sub(one), zero);\n            assert_eq(one.mul(one), one);\n            assert_eq(one.div(one), one);\n            assert_eq(zero.neg(), zero);\n            assert_eq(one.neg(), -one);\n        }\n\n    }\n\n    mod wrapping_arithmetic {\n        use crate::ops::arith::{Add, Div, Mul, Neg, Sub, WrappingAdd, WrappingMul, WrappingSub};\n        #[test]\n        fn test_wrapping_add() {\n            assert_eq(255u8.wrapping_add(1u8), 0u8);\n            assert_eq(255u8.wrapping_add(255u8), 254u8);\n            assert_eq(0u8.wrapping_add(0u8), 0u8);\n            assert_eq(128u8.wrapping_add(128u8), 0u8);\n\n            // test u16 wrapping add\n            assert_eq(65535u16.wrapping_add(1u16), 0u16);\n            assert_eq(65535u16.wrapping_add(65535u16), 65534u16);\n\n            // test u32 wrapping add\n            assert_eq(0xffffffffu32.wrapping_add(1u32), 0u32);\n            assert_eq(0xffffffffu32.wrapping_add(0xffffffffu32), 0xfffffffeu32);\n\n            // test u64 wrapping add\n            assert_eq(0xffffffffffffffffu64.wrapping_add(1u64), 0u64);\n            assert_eq(\n                0xffffffffffffffffu64.wrapping_add(0xffffffffffffffffu64),\n                0xfffffffffffffffeu64,\n            );\n\n            // test u128 wrapping add\n            assert_eq(0xffffffffffffffffffffffffffffffffu128.wrapping_add(1u128), 0u128);\n\n            // test signed types\n            assert_eq(127i8.wrapping_add(1i8), -128i8);\n            let val: i8 = -128;\n            assert_eq(val.wrapping_add(-1i8), 127i8);\n\n            // test Field wrapping add\n            let forty_two: Field = 42;\n            let fifty_eight: Field = 58;\n            let hundred: Field = 100;\n            let neg_two: Field = -2;\n            let two: Field = 2;\n            let zero: Field = 0;\n            let neg_two_hundred: Field = -200;\n            let neg_one_ninety_eight: Field = -198;\n            assert_eq(forty_two.wrapping_add(fifty_eight), hundred);\n            assert_eq(neg_two.wrapping_add(two), zero);\n            assert_eq(neg_two_hundred.wrapping_add(two), neg_one_ninety_eight);\n        }\n\n        #[test]\n        fn test_wrapping_sub() {\n            assert_eq(0u8.wrapping_sub(1u8), 255u8);\n            assert_eq(255u8.wrapping_sub(255u8), 0u8);\n            assert_eq(0u8.wrapping_sub(0u8), 0u8);\n            assert_eq(1u8.wrapping_sub(2u8), 255u8);\n\n            // test u16 wrapping sub\n            assert_eq(0u16.wrapping_sub(1u16), 65535u16);\n            assert_eq(65535u16.wrapping_sub(65535u16), 0u16);\n\n            // test u32 wrapping sub\n            assert_eq(0u32.wrapping_sub(1u32), 0xffffffffu32);\n            assert_eq(0xffffffffu32.wrapping_sub(0xffffffffu32), 0u32);\n\n            // test u64 wrapping sub\n            assert_eq(0u64.wrapping_sub(1u64), 0xffffffffffffffffu64);\n            assert_eq(0xffffffffffffffffu64.wrapping_sub(0xffffffffffffffffu64), 0u64);\n\n            // test u128 wrapping sub\n            assert_eq(0u128.wrapping_sub(1u128), 0xffffffffffffffffffffffffffffffffu128);\n\n            // test signed types\n            let val: i8 = -128;\n            assert_eq(val.wrapping_sub(1i8), 127i8);\n            assert_eq(127i8.wrapping_sub(-1i8), -128i8);\n\n            // test Field wrapping sub\n            let forty_two: Field = 42;\n            let fifty_eight: Field = 58;\n            let neg_sixteen: Field = -16;\n            assert_eq(forty_two.wrapping_sub(fifty_eight), neg_sixteen);\n        }\n\n        #[test]\n        fn test_wrapping_mul() {\n            let zero: u128 = 0;\n            let one: u128 = 1;\n            let two_pow_64: u128 = 0x10000000000000000;\n            let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n            assert_eq(zero, zero.wrapping_mul(one));\n            assert_eq(zero, one.wrapping_mul(zero));\n            assert_eq(one, one.wrapping_mul(one));\n            assert_eq(zero, zero.wrapping_mul(two_pow_64));\n            assert_eq(zero, two_pow_64.wrapping_mul(zero));\n            assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n            assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n            assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n            assert_eq(one, u128_max.wrapping_mul(u128_max));\n\n            // test u8 wrapping mul\n            assert_eq(255u8.wrapping_mul(2u8), 254u8);\n            assert_eq(255u8.wrapping_mul(255u8), 1u8);\n            assert_eq(128u8.wrapping_mul(2u8), 0u8);\n\n            // test u16 wrapping mul\n            assert_eq(65535u16.wrapping_mul(2u16), 65534u16);\n            assert_eq(65535u16.wrapping_mul(65535u16), 1u16);\n\n            // test u32 wrapping mul\n            assert_eq(0xffffffffu32.wrapping_mul(2u32), 0xfffffffeu32);\n            assert_eq(0xffffffffu32.wrapping_mul(0xffffffffu32), 1u32);\n\n            // test u64 wrapping mul\n            // 0xffffffffffffffffu64 is 2^64 - 1\n            assert_eq(0xffffffffffffffffu64.wrapping_mul(2u64), 0xfffffffffffffffeu64);\n            assert_eq(0xffffffffffffffffu64.wrapping_mul(0xffffffffffffffffu64), 1u64);\n\n            // test signed types\n            assert_eq(127i8.wrapping_mul(2i8), -2i8);\n            let val: i8 = -128;\n            assert_eq(val.wrapping_mul(-1i8), -128i8);\n\n            // test Field wrapping mul\n            let six: Field = 6;\n            let seven: Field = 7;\n            let forty_two: Field = 42;\n            let neg_two: Field = -2;\n            let two: Field = 2;\n            let neg_four: Field = -4;\n            assert_eq(six.wrapping_mul(seven), forty_two);\n            assert_eq(neg_two.wrapping_mul(two), neg_four);\n        }\n\n        #[test]\n        fn test_u1_behavior() {\n            // u1 wrapping add is XOR\n            assert_eq(0u1.wrapping_add(0u1), 0u1);\n            assert_eq(0u1.wrapping_add(1u1), 1u1);\n            assert_eq(1u1.wrapping_add(0u1), 1u1);\n            assert_eq(1u1.wrapping_add(1u1), 0u1);\n\n            // u1 wrapping sub is XOR\n            assert_eq(0u1.wrapping_sub(0u1), 0u1);\n            assert_eq(0u1.wrapping_sub(1u1), 1u1);\n            assert_eq(1u1.wrapping_sub(0u1), 1u1);\n            assert_eq(1u1.wrapping_sub(1u1), 0u1);\n\n            // u1 wrapping mul is AND\n            assert_eq(0u1.wrapping_mul(0u1), 0u1);\n            assert_eq(0u1.wrapping_mul(1u1), 0u1);\n            assert_eq(1u1.wrapping_mul(0u1), 0u1);\n            assert_eq(1u1.wrapping_mul(1u1), 1u1);\n        }\n\n        // test wrapping operations is the same as the regular operations\n        #[test]\n        fn test_wrapping_vs_regular() {\n            let u64_large = 0x123456789abcdef0u64;\n            let u128_large = 0x123456789abcdef0123456789abcdef0u128;\n\n            assert_eq(u64_large.wrapping_add(1u64), u64_large + 1u64);\n            assert_eq(u64_large.wrapping_sub(1u64), u64_large - 1u64);\n            assert_eq(u64_large.wrapping_mul(2u64), u64_large * 2u64);\n\n            assert_eq(u128_large.wrapping_add(1u128), u128_large + 1u128);\n            assert_eq(u128_large.wrapping_sub(1u128), u128_large - 1u128);\n            assert_eq(u128_large.wrapping_mul(2u128), u128_large * 2u128);\n        }\n\n        #[test]\n        fn test_field_wrapping_operations() {\n            let zero: Field = 0;\n            let one: Field = 1;\n            let large_val = 0xffffffffffffffff;\n\n            // test Field wrapping operations\n            assert_eq(zero.wrapping_add(one), one);\n            assert_eq(one.wrapping_add(large_val), one + large_val);\n            assert_eq(zero.wrapping_sub(one), -one);\n            assert_eq(one.wrapping_sub(large_val), one - large_val);\n            assert_eq(zero.wrapping_mul(one), zero);\n            assert_eq(one.wrapping_mul(large_val), large_val);\n\n            // test Field basic operations\n            assert_eq(zero.add(one), one);\n            assert_eq(one.add(zero), one);\n            assert_eq(one.sub(one), zero);\n            assert_eq(one.mul(one), one);\n            assert_eq(one.div(one), one);\n            assert_eq(zero.neg(), zero);\n            assert_eq(one.neg(), -one);\n        }\n\n    }\n\n    mod split_functions {\n\n        use crate::ops::arith::{split64, split_into_64_bit_limbs};\n\n        // test split64 and split_into_64_bit_limbs functions\n        #[test]\n        fn test_split_functions() {\n            let small_val = 0x123456789abcdefu128;\n            let large_val = 0x123456789abcdef0123456789abcdef0u128;\n            let max_val = 0xffffffffffffffffffffffffffffffffu128;\n\n            // test split64 (unconstrained)\n            // Safety: testing\n            unsafe {\n                let (lo, hi) = split64(small_val);\n                assert_eq(lo, 0x123456789abcdefu64);\n                assert_eq(hi, 0u64);\n\n                let (lo2, hi2) = split64(large_val);\n                assert_eq(lo2, 0x123456789abcdef0u64);\n                assert_eq(hi2, 0x123456789abcdef0u64);\n            }\n\n            // test split_into_64_bit_limbs (constrained)\n            let (lo3, hi3) = split_into_64_bit_limbs(small_val);\n            assert_eq(lo3, 0x123456789abcdefu64);\n            assert_eq(hi3, 0u64);\n\n            let (lo4, hi4) = split_into_64_bit_limbs(large_val);\n            assert_eq(lo4, 0x123456789abcdef0u64);\n            assert_eq(hi4, 0x123456789abcdef0u64);\n\n            let (lo5, hi5) = split_into_64_bit_limbs(max_val);\n            assert_eq(lo5, 0xffffffffffffffffu64);\n            assert_eq(hi5, 0xffffffffffffffffu64);\n        }\n    }\n}\n"
    },
    "42": {
      "path": "std/option.nr",
      "source": "use crate::cmp::{Eq, Ord, Ordering};\nuse crate::default::Default;\nuse crate::hash::{Hash, Hasher};\n\npub struct Option<T> {\n    _is_some: bool,\n    _value: T,\n}\n\nimpl<T> Option<T> {\n    /// Constructs a None value\n    pub fn none() -> Self {\n        Self { _is_some: false, _value: crate::mem::zeroed() }\n    }\n\n    /// Constructs a Some wrapper around the given value\n    pub fn some(_value: T) -> Self {\n        Self { _is_some: true, _value }\n    }\n\n    /// True if this Option is None\n    pub fn is_none(self) -> bool {\n        !self._is_some\n    }\n\n    /// True if this Option is Some\n    pub fn is_some(self) -> bool {\n        self._is_some\n    }\n\n    /// Asserts `self.is_some()` and returns the wrapped value.\n    pub fn unwrap(self) -> T {\n        assert(self._is_some);\n        self._value\n    }\n\n    /// Returns the inner value without asserting `self.is_some()`\n    /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n    /// only that it will be of type `T`.\n    pub fn unwrap_unchecked(self) -> T {\n        self._value\n    }\n\n    /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n    pub fn unwrap_or(self, default: T) -> T {\n        if self._is_some {\n            self._value\n        } else {\n            default\n        }\n    }\n\n    /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n    /// a default value.\n    pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n        if self._is_some {\n            self._value\n        } else {\n            default()\n        }\n    }\n\n    /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n    pub fn expect<let N: u32, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n        assert(self.is_some(), message);\n        self._value\n    }\n\n    /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n    pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n        if self._is_some {\n            Option::some(f(self._value))\n        } else {\n            Option::none()\n        }\n    }\n\n    /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n    pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n        if self._is_some {\n            f(self._value)\n        } else {\n            default\n        }\n    }\n\n    /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n    pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n        if self._is_some {\n            f(self._value)\n        } else {\n            default()\n        }\n    }\n\n    /// Returns None if self is None. Otherwise, this returns `other`.\n    pub fn and(self, other: Self) -> Self {\n        if self.is_none() {\n            Option::none()\n        } else {\n            other\n        }\n    }\n\n    /// If self is None, this returns None. Otherwise, this calls the given function\n    /// with the Some value contained within self, and returns the result of that call.\n    ///\n    /// In some languages this function is called `flat_map` or `bind`.\n    pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n        if self._is_some {\n            f(self._value)\n        } else {\n            Option::none()\n        }\n    }\n\n    /// If self is Some, return self. Otherwise, return `other`.\n    pub fn or(self, other: Self) -> Self {\n        if self._is_some {\n            self\n        } else {\n            other\n        }\n    }\n\n    /// If self is Some, return self. Otherwise, return `default()`.\n    pub fn or_else<Env>(self, default: fn[Env]() -> Self) -> Self {\n        if self._is_some {\n            self\n        } else {\n            default()\n        }\n    }\n\n    // If only one of the two Options is Some, return that option.\n    // Otherwise, if both options are Some or both are None, None is returned.\n    pub fn xor(self, other: Self) -> Self {\n        if self._is_some {\n            if other._is_some {\n                Option::none()\n            } else {\n                self\n            }\n        } else if other._is_some {\n            other\n        } else {\n            Option::none()\n        }\n    }\n\n    /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n    /// Otherwise, this returns `None`\n    pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n        if self._is_some {\n            if predicate(self._value) {\n                self\n            } else {\n                Option::none()\n            }\n        } else {\n            Option::none()\n        }\n    }\n\n    /// Flattens an Option<Option<T>> into a Option<T>.\n    /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n    pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n        if option._is_some {\n            option._value\n        } else {\n            Option::none()\n        }\n    }\n}\n\nimpl<T> Default for Option<T> {\n    fn default() -> Self {\n        Option::none()\n    }\n}\n\nimpl<T> Eq for Option<T>\nwhere\n    T: Eq,\n{\n    fn eq(self, other: Self) -> bool {\n        if self._is_some == other._is_some {\n            if self._is_some {\n                self._value == other._value\n            } else {\n                true\n            }\n        } else {\n            false\n        }\n    }\n}\n\nimpl<T> Hash for Option<T>\nwhere\n    T: Hash,\n{\n    fn hash<H>(self, state: &mut H)\n    where\n        H: Hasher,\n    {\n        self._is_some.hash(state);\n        if self._is_some {\n            self._value.hash(state);\n        }\n    }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T>\nwhere\n    T: Ord,\n{\n    fn cmp(self, other: Self) -> Ordering {\n        if self._is_some {\n            if other._is_some {\n                self._value.cmp(other._value)\n            } else {\n                Ordering::greater()\n            }\n        } else if other._is_some {\n            Ordering::less()\n        } else {\n            Ordering::equal()\n        }\n    }\n}\n"
    },
    "43": {
      "path": "std/panic.nr",
      "source": "pub fn panic<T, U>(message: T) -> U\nwhere\n    T: StringLike,\n{\n    assert(false, message);\n    crate::mem::zeroed()\n}\n\ntrait StringLike {}\n\nimpl<let N: u32> StringLike for str<N> {}\nimpl<let N: u32, T> StringLike for fmtstr<N, T> {}\n"
    },
    "51": {
      "path": "/home/runner/work/aztec-standards/aztec-standards/src/token_contract/src/main.nr",
      "source": "pub mod test;\n\nuse aztec::macros::aztec;\n\n#[aztec]\npub contract Token {\n    // aztec library\n    use aztec::{\n        authwit::auth::{\n            assert_current_call_valid_authwit, assert_current_call_valid_authwit_public,\n        },\n        context::PrivateContext,\n        macros::{\n            events::event,\n            functions::{external, initializer, internal, only_self, view},\n            storage::storage,\n        },\n        messages::message_delivery::MessageDelivery,\n        protocol::{address::AztecAddress, traits::{FromField, ToField}},\n        state_vars::{Map, Owned, PublicImmutable, PublicMutable, StateVariable},\n    };\n    // note library\n    use uint_note::{PartialUintNote, UintNote};\n    // compression library\n    use compressed_string::FieldCompressedString;\n    // private balance library\n    use balance_set::BalanceSet;\n\n    // gas-optimized max notes for initial transfer call\n    global INITIAL_TRANSFER_CALL_MAX_NOTES: u32 = 2;\n    // max notes transfer for recursive transfer call if initial max notes are exceeded\n    global RECURSIVE_TRANSFER_CALL_MAX_NOTES: u32 = 8;\n\n    // Sentinel address used in Transfer events to represent the private side of a balance change.\n    // sha224sum 'PRIVATE_ADDRESS'\n    global PRIVATE_ADDRESS_MAGIC_VALUE: AztecAddress =\n        AztecAddress::from_field(0x1ea7e01501975545617c2e694d931cb576b691a4a867fed81ebd3264);\n\n    #[event]\n    struct Transfer {\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n    }\n\n    /// @param name The name of the token\n    /// @param symbol The symbol of the token\n    /// @param decimals The number of decimals of the token\n    /// @param private_balances The private balances of the token\n    /// @param total_supply The total supply of the token\n    /// @param public_balances The public balances of the token\n    /// @param minter The account permissioned to mint the token\n    #[storage]\n    struct Storage<Context> {\n        name: PublicImmutable<FieldCompressedString, Context>,\n        symbol: PublicImmutable<FieldCompressedString, Context>,\n        decimals: PublicImmutable<u8, Context>,\n        private_balances: Owned<BalanceSet<Context>, Context>,\n        total_supply: PublicMutable<u128, Context>,\n        public_balances: Map<AztecAddress, PublicMutable<u128, Context>, Context>,\n        minter: PublicImmutable<AztecAddress, Context>,\n    }\n\n    /// @notice Initializes the token with an initial supply\n    /// @dev Since this constructor doesn't set a minter address the mint functions will be disabled\n    /// @param name The name of the token\n    /// @param symbol The symbol of the token\n    /// @param decimals The number of decimals of the token\n    /// @param initial_supply The initial supply of the token\n    /// @param to The address to mint the initial supply to\n    #[external(\"public\")]\n    #[initializer]\n    fn constructor_with_initial_supply(\n        name: str<31>,\n        symbol: str<31>,\n        decimals: u8,\n        initial_supply: u128,\n        to: AztecAddress,\n    ) {\n        self.storage.name.initialize(FieldCompressedString::from_string(name));\n        self.storage.symbol.initialize(FieldCompressedString::from_string(symbol));\n        self.storage.decimals.initialize(decimals);\n\n        self.internal._mint_to_public(to, initial_supply);\n    }\n\n    /// @notice Initializes the token with a minter\n    /// @param name The name of the token\n    /// @param symbol The symbol of the token\n    /// @param decimals The number of decimals of the token\n    /// @param minter The address of the minter\n    #[external(\"public\")]\n    #[initializer]\n    fn constructor_with_minter(name: str<31>, symbol: str<31>, decimals: u8, minter: AztecAddress) {\n        self.storage.name.initialize(FieldCompressedString::from_string(name));\n        self.storage.symbol.initialize(FieldCompressedString::from_string(symbol));\n        self.storage.decimals.initialize(decimals);\n\n        self.storage.minter.initialize(minter);\n    }\n\n    /** ==========================================================\n    * ========================= PRIVATE =========================\n    * ======================================================== */\n\n    /// @notice Transfer tokens from private balance to public balance\n    /// @dev Spends notes, emits a new note (UintNote) with any remaining change, and enqueues a public call\n    /// @param from The address of the sender\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"private\")]\n    fn transfer_private_to_public(\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        _validate_from_private::<4>(self.context, from);\n\n        self.internal._decrease_private_balance(from, amount, INITIAL_TRANSFER_CALL_MAX_NOTES);\n\n        self.enqueue_self.increase_public_balance_internal(to, amount);\n    }\n\n    /// @notice Transfer tokens from private balance to public balance and initializes a commitment\n    /// @dev Spends notes, emits a new note (UintNote) with any remaining change, enqueues a public call, and returns a partial note.\n    ///      The sender will be used as the completer for the initialized partial note.\n    /// @param from The address of the sender\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    /// @return commitment The partial note utilized for the transfer commitment (privacy entrance)\n    #[external(\"private\")]\n    fn transfer_private_to_public_with_commitment(\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n        _nonce: Field,\n    ) -> Field {\n        _validate_from_private::<4>(self.context, from);\n\n        self.internal._decrease_private_balance(from, amount, INITIAL_TRANSFER_CALL_MAX_NOTES);\n\n        self.enqueue_self.increase_public_balance_internal(to, amount);\n\n        // Only the sender will be able to complete the partial note\n        let completer = self.msg_sender();\n        let commitment = self.internal._initialize_transfer_commitment(to, completer);\n        commitment.to_field()\n    }\n\n    /// @notice Transfer tokens from private balance to another private balance\n    /// @dev Spends notes, emits a new note (UintNote) with any remaining change, and sends a note to the recipient\n    /// @param from The address of the sender\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"private\")]\n    fn transfer_private_to_private(\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        _validate_from_private::<4>(self.context, from);\n\n        self.internal._decrease_private_balance(from, amount, INITIAL_TRANSFER_CALL_MAX_NOTES);\n\n        self.internal._increase_private_balance(to, amount);\n    }\n\n    /// @notice Transfer tokens from a private balance to the recipient commitment, which must be already initialized.\n    /// @dev Spends notes, emits a new note (UintNote) with any remaining change, and enqueues a public call.\n    ///      The `msg_sender` must be the completer of the partial note.\n    /// @param from The address of the sender\n    /// @param commitment The partial note representing the commitment (privacy entrance that the recipient shares with the sender)\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"private\")]\n    fn transfer_private_to_commitment(\n        from: AztecAddress,\n        commitment: Field,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        _validate_from_private::<4>(self.context, from);\n\n        self.internal._decrease_private_balance(from, amount, INITIAL_TRANSFER_CALL_MAX_NOTES);\n\n        let completer = self.msg_sender();\n        PartialUintNote::from_field(commitment).complete_from_private(\n            self.context,\n            completer,\n            self.storage.private_balances.get_storage_slot(),\n            amount,\n        );\n    }\n\n    /// @notice Transfer tokens from public balance to private balance\n    /// @dev Enqueues a public call to decrease account balance and emits a new note with balance difference\n    /// @param from The address of the sender\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"private\")]\n    fn transfer_public_to_private(\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        _validate_from_private::<4>(self.context, from);\n\n        self.enqueue_self.decrease_public_balance_internal(from, amount);\n\n        self.internal._increase_private_balance(to, amount);\n    }\n\n    /// @notice Initializes a transfer commitment to be used for transfers/mints\n    /// @dev Returns a partial note that can be used to execute transfers/mints\n    /// @param to The address of the recipient\n    /// @param completer The address allowed to complete the partial note\n    /// @return commitment The partial note initialized for the transfer/mint commitment\n    #[external(\"private\")]\n    fn initialize_transfer_commitment(to: AztecAddress, completer: AztecAddress) -> Field {\n        let commitment = self.internal._initialize_transfer_commitment(to, completer);\n        commitment.to_field()\n    }\n\n    /// @notice Recursively subtracts balance from private balance\n    /// @dev Used to subtract private balances that exceed the max notes limit\n    /// @param account The address of the account to subtract the balance from\n    /// @param amount The amount of tokens to subtract\n    /// @return The change to return to the owner\n    #[external(\"private\")]\n    #[only_self]\n    fn recurse_subtract_balance_internal(account: AztecAddress, amount: u128) -> u128 {\n        self.internal._subtract_balance(account, amount, RECURSIVE_TRANSFER_CALL_MAX_NOTES)\n    }\n\n    /** ==========================================================\n    * ========================= PUBLIC ==========================\n    * ======================================================== */\n\n    /// @notice Transfers tokens from public balance to public balance\n    /// @dev Public call to decrease account balance and a public call to increase recipient balance\n    /// @param from The address of the sender\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"public\")]\n    fn transfer_public_to_public(\n        from: AztecAddress,\n        to: AztecAddress,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        self.internal._validate_from_public(from);\n\n        self.internal._decrease_public_balance(from, amount);\n        self.internal._increase_public_balance(to, amount);\n\n        self.emit(Transfer { from, to, amount });\n    }\n\n    /// @notice Finalizes a transfer of token `amount` from public balance of `from` to a commitment of `to`\n    /// @dev The transfer must be prepared by calling `initialize_transfer_commitment` first and the resulting\n    /// `commitment` must be passed as an argument to this function.\n    /// @dev The sender will be used as the completer for the partial note.\n    /// @param from The address of the sender\n    /// @param commitment The partial note representing the commitment (privacy entrance)\n    /// @param amount The amount of tokens to transfer\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"public\")]\n    fn transfer_public_to_commitment(\n        from: AztecAddress,\n        commitment: Field,\n        amount: u128,\n        _nonce: Field,\n    ) {\n        self.internal._validate_from_public(from);\n\n        self.internal._decrease_public_balance(from, amount);\n\n        let completer = self.msg_sender();\n        self.internal._increase_commitment_balance(\n            PartialUintNote::from_field(commitment),\n            completer,\n            amount,\n        );\n\n        self.emit(Transfer { from, to: PRIVATE_ADDRESS_MAGIC_VALUE, amount });\n    }\n\n    /// @notice Increases the public balance of `to` by `amount`\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to increase the balance by\n    #[external(\"public\")]\n    #[only_self]\n    fn increase_public_balance_internal(to: AztecAddress, amount: u128) {\n        self.internal._increase_public_balance(to, amount);\n\n        self.emit(Transfer { from: PRIVATE_ADDRESS_MAGIC_VALUE, to, amount });\n    }\n\n    /// @notice Decreases the public balance of `from` by `amount`\n    /// @param from The address of the sender\n    /// @param amount The amount of tokens to decrease the balance by\n    #[external(\"public\")]\n    #[only_self]\n    fn decrease_public_balance_internal(from: AztecAddress, amount: u128) {\n        self.internal._decrease_public_balance(from, amount);\n\n        self.emit(Transfer { from, to: PRIVATE_ADDRESS_MAGIC_VALUE, amount });\n    }\n\n    /** ==========================================================\n    * ====================== VIEW FUNCTIONS =====================\n    * ======================================================== */\n\n    /// @notice Returns the public balance of `owner`\n    /// @param owner The address of the owner\n    /// @return The balance of the public balance of `owner`\n    #[external(\"public\")]\n    #[view]\n    fn balance_of_public(owner: AztecAddress) -> u128 {\n        self.storage.public_balances.at(owner).read()\n    }\n\n    /// @notice Returns the total supply of the token\n    /// @return The total supply of the token\n    #[external(\"public\")]\n    #[view]\n    fn total_supply() -> u128 {\n        self.storage.total_supply.read()\n    }\n\n    /// @notice Returns the name of the token\n    /// @return The name of the token\n    #[external(\"public\")]\n    #[view]\n    fn name() -> FieldCompressedString {\n        self.storage.name.read()\n    }\n\n    /// @notice Returns the symbol of the token\n    /// @return The symbol of the token\n    #[external(\"public\")]\n    #[view]\n    fn symbol() -> FieldCompressedString {\n        self.storage.symbol.read()\n    }\n\n    /// @notice Returns the decimals of the token\n    /// @return The decimals of the token\n    #[external(\"public\")]\n    #[view]\n    fn decimals() -> u8 {\n        self.storage.decimals.read()\n    }\n\n    /** ==========================================================\n     * ===================== UNCONSTRAINED =======================\n     * ======================================================== */\n\n    /// @notice Returns the private balance of an account\n    /// @param owner The address to query\n    /// @return The private balance of the address\n    #[external(\"utility\")]\n    unconstrained fn balance_of_private(owner: AztecAddress) -> u128 {\n        self.storage.private_balances.at(owner).balance_of()\n    }\n\n    /** ==========================================================\n    * ======================= MINTABLE ==========================\n    * ======================================================== */\n\n    /// @notice Mints tokens to a private balance\n    /// @dev Mints tokens to a private balance and enqueues a public call to increase the total supply\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to mint\n    #[external(\"private\")]\n    fn mint_to_private(to: AztecAddress, amount: u128) {\n        _validate_minter(self.msg_sender(), self.storage.minter.read());\n\n        self.internal._mint_to_private(to, amount);\n    }\n\n    /// @notice Mints tokens to an address publicly\n    /// @dev Increases the public balance of `to` by `amount` and the total supply\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to mint\n    #[external(\"public\")]\n    fn mint_to_public(to: AztecAddress, amount: u128) {\n        _validate_minter(self.msg_sender(), self.storage.minter.read());\n\n        self.internal._mint_to_public(to, amount);\n    }\n\n    /// @notice Finalizes a mint to a commitment\n    /// @dev Finalizes a mint to a commitment and updates the total supply\n    /// @param commitment The partial note representing the mint commitment (privacy entrance)\n    /// @param amount The amount of tokens to mint\n    #[external(\"public\")]\n    fn mint_to_commitment(commitment: Field, amount: u128) {\n        let completer = self.msg_sender();\n        _validate_minter(completer, self.storage.minter.read());\n        self.internal._increase_total_supply(amount);\n        self.internal._increase_commitment_balance(\n            PartialUintNote::from_field(commitment),\n            completer,\n            amount,\n        );\n\n        self.emit(Transfer { from: AztecAddress::zero(), to: PRIVATE_ADDRESS_MAGIC_VALUE, amount });\n    }\n\n    /// @notice Internal function to increase the total supply by `amount`\n    /// @param amount The amount to increase the total supply by\n    #[external(\"public\")]\n    #[only_self]\n    fn increase_total_supply_internal(amount: u128) {\n        self.internal._increase_total_supply(amount);\n\n        self.emit(Transfer { from: AztecAddress::zero(), to: PRIVATE_ADDRESS_MAGIC_VALUE, amount });\n    }\n\n    /** ==========================================================\n     * ======================= BURNABLE ==========================\n     * ======================================================== */\n\n    /// @notice Burns tokens from a private balance\n    /// @dev Burns tokens from a private balance and enqueues a public call to update the total supply\n    /// @param from The address of the sender\n    /// @param amount The amount of tokens to burn\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"private\")]\n    fn burn_private(from: AztecAddress, amount: u128, _nonce: Field) {\n        _validate_from_private::<3>(self.context, from);\n\n        self.internal._burn_private(from, amount);\n    }\n\n    /// @notice Burns tokens from a public balance\n    /// @dev Burns tokens from a public balance and updates the total supply\n    /// @param from The address of the sender\n    /// @param amount The amount of tokens to burn\n    /// @param _nonce The nonce used for authwitness\n    #[external(\"public\")]\n    fn burn_public(from: AztecAddress, amount: u128, _nonce: Field) {\n        self.internal._validate_from_public(from);\n\n        self.internal._burn_public(from, amount);\n    }\n\n    /// @notice Decreases the total supply by `amount`\n    /// @param amount The amount of tokens to decrease the total supply by\n    #[external(\"public\")]\n    #[only_self]\n    fn decrease_total_supply_internal(amount: u128) {\n        self.internal._decrease_total_supply(amount);\n\n        self.emit(Transfer { from: PRIVATE_ADDRESS_MAGIC_VALUE, to: AztecAddress::zero(), amount });\n    }\n\n    /** ==========================================================\n     * ================= TOKEN LIBRARIES =========================\n     * ======================================================== */\n\n    /// @notice Validates that the caller is the minter\n    /// @param sender The address of the caller\n    /// @param minter The address of the authorized minter\n    #[contract_library_method]\n    fn _validate_minter(sender: AztecAddress, minter: AztecAddress) {\n        assert(minter.eq(sender), \"caller is not minter\");\n    }\n\n    /// @notice Decreases the private balance of `account` by `amount` and emits a private balance note with the change to account\n    /// @param account The address of the account to decrease the balance of\n    /// @param amount The amount of tokens to decrease the balance by\n    /// @param max_notes The maximum number of notes to process in a single call\n    #[internal(\"private\")]\n    fn _decrease_private_balance(account: AztecAddress, amount: u128, max_notes: u32) {\n        // Subtracts `amount` from the private balance of `account`\n        let change = self.internal._subtract_balance(account, amount, max_notes);\n        // Increases `change` to the private balance of `account`, and emits a private balance note to account\n        self.storage.private_balances.at(account).add(change).deliver(\n            MessageDelivery.ONCHAIN_CONSTRAINED,\n        );\n    }\n\n    /// @notice Increases the private balance of `to` by `amount`\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to increase the balance by\n    #[internal(\"private\")]\n    fn _increase_private_balance(to: AztecAddress, amount: u128) {\n        // Increases `amount` to the private balance of `to`, and emits a private balance note to `to` from `from`\n        self.storage.private_balances.at(to).add(amount).deliver(MessageDelivery.ONCHAIN_CONSTRAINED);\n    }\n\n    /// @notice Increases the public balance of `to` by `amount`\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to increase the balance by\n    #[internal(\"public\")]\n    fn _increase_public_balance(to: AztecAddress, amount: u128) {\n        // Read the current public balance of `to`, add `amount` to it,\n        let new_balance = self.storage.public_balances.at(to).read() + amount;\n        // write the result back to the storage\n        self.storage.public_balances.at(to).write(new_balance);\n    }\n\n    /// @notice Decreases the public balance of `from` by `amount`\n    /// @param from The address of the account to decrease the balance of\n    /// @param amount The amount of tokens to decrease the balance by\n    #[internal(\"public\")]\n    fn _decrease_public_balance(from: AztecAddress, amount: u128) {\n        // read the current public balance of `from`, subtract `amount`\n        let new_balance = self.storage.public_balances.at(from).read() - amount;\n        // update the public balance of `from` with the new balance\n        self.storage.public_balances.at(from).write(new_balance);\n    }\n\n    /// @notice Completes a partial note\n    /// @dev Completes a partial note and increases the balance of the commitment by `amount`\n    /// @param commitment The partial note representing the commitment (privacy entrance)\n    /// @param completer The address used to compute the validity commitment\n    /// @param amount The amount of tokens to increase the balance of the commitment by\n    #[internal(\"public\")]\n    fn _increase_commitment_balance(\n        commitment: PartialUintNote,\n        completer: AztecAddress,\n        amount: u128,\n    ) {\n        commitment.complete(\n            self.context,\n            completer,\n            self.storage.private_balances.get_storage_slot(),\n            amount,\n        );\n    }\n\n    /// @notice Subtracts balance from private balance\n    /// @dev Subtracts amount from private balance and returns the change to the owner, recursively if necessary\n    /// @param account The address of the account to subtract the balance from\n    /// @param amount The amount of tokens to subtract\n    /// @param max_notes The maximum number of notes to process in a single call\n    /// @return The change to return to the owner\n    #[internal(\"private\")]\n    fn _subtract_balance(account: AztecAddress, amount: u128, max_notes: u32) -> u128 {\n        let subtracted = self.storage.private_balances.at(account).try_sub(amount, max_notes);\n        if subtracted >= amount {\n            // We have achieved our goal of nullifying notes that add up to more than amount, so we return the change.\n            subtracted - amount\n        } else {\n            // Failing to subtract any amount means that the owner was unable to produce more notes that could be nullified.\n            assert(subtracted > 0, \"Balance too low\");\n\n            // try_sub failed to nullify enough notes to reach the target amount, so we compute the amount remaining\n            // and try again.\n            let remaining = amount - subtracted;\n\n            self.call_self.recurse_subtract_balance_internal(account, remaining)\n        }\n    }\n\n    /// @notice Increases the total supply by `amount`\n    /// @param amount The amount of tokens to increase the total supply by\n    #[internal(\"public\")]\n    fn _increase_total_supply(amount: u128) {\n        let new_supply = self.storage.total_supply.read() + amount;\n        self.storage.total_supply.write(new_supply);\n    }\n\n    /// @notice Decreases the total supply by `amount`\n    /// @param amount The amount to decrease the total supply by\n    #[internal(\"public\")]\n    fn _decrease_total_supply(amount: u128) {\n        let new_supply = self.storage.total_supply.read() - amount;\n        self.storage.total_supply.write(new_supply);\n    }\n\n    /// @notice Initializes a transfer commitment to be used for transfers/mints\n    /// @param to The address of the recipient\n    /// @param completer The address used to compute the validity commitment\n    /// @return The partial note that can be used to execute the transfer/mint\n    #[internal(\"private\")]\n    fn _initialize_transfer_commitment(\n        to: AztecAddress,\n        completer: AztecAddress,\n    ) -> PartialUintNote {\n        let commitment = UintNote::partial(to, self.context, to, completer);\n\n        commitment\n    }\n\n    /// @notice Mints tokens to a public balance and increases the total supply\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to mint\n    #[internal(\"public\")]\n    fn _mint_to_public(to: AztecAddress, amount: u128) {\n        self.internal._increase_public_balance(to, amount);\n        self.internal._increase_total_supply(amount);\n\n        self.emit(Transfer { from: AztecAddress::zero(), to, amount });\n    }\n\n    /// @notice Mints tokens to a private balance and enqueues a public call to increase the total supply\n    /// @param to The address of the recipient\n    /// @param amount The amount of tokens to mint\n    #[internal(\"private\")]\n    fn _mint_to_private(to: AztecAddress, amount: u128) {\n        self.internal._increase_private_balance(to, amount);\n        self.enqueue_self.increase_total_supply_internal(amount);\n    }\n\n    /// @notice Burns tokens from a public balance and decreases the total supply\n    /// @param from The address to burn tokens from\n    /// @param amount The amount of tokens to burn\n    #[internal(\"public\")]\n    fn _burn_public(from: AztecAddress, amount: u128) {\n        self.internal._decrease_public_balance(from, amount);\n        self.internal._decrease_total_supply(amount);\n\n        self.emit(Transfer { from, to: AztecAddress::zero(), amount });\n    }\n\n    /// @notice Burns tokens from a private balance and enqueues a public call to decrease the total supply\n    /// @param from The address to burn tokens from\n    /// @param amount The amount of tokens to burn\n    #[internal(\"private\")]\n    fn _burn_private(from: AztecAddress, amount: u128) {\n        self.internal._decrease_private_balance(from, amount, INITIAL_TRANSFER_CALL_MAX_NOTES);\n        self.enqueue_self.decrease_total_supply_internal(amount);\n    }\n\n    /** ==========================================================\n     * ================== AUTH LIBRARIES =========================\n     * ======================================================== */\n\n    /// @notice Validates that the caller possesses authwit from the `from` address or the caller is the `from` address\n    /// @param context The context of the private call\n    /// @param from The address of the sender\n    #[contract_library_method]\n    fn _validate_from_private<let N: u32>(context: &mut PrivateContext, from: AztecAddress) {\n        if (!from.eq(context.maybe_msg_sender().unwrap())) {\n            assert_current_call_valid_authwit::<N>(context, from);\n        }\n    }\n\n    /// @notice Validates that the caller possesses authwit from the `from` address or the caller is the `from` address\n    /// @param context The context of the public call\n    /// @param from The address of the sender\n    #[internal(\"public\")]\n    fn _validate_from_public(from: AztecAddress) {\n        if (!from.eq(self.msg_sender())) {\n            assert_current_call_valid_authwit_public(self.context, from);\n        }\n    }\n\n}\n"
    },
    "68": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/authwit/auth.nr",
      "source": "use crate::{\n    authwit::{authorization_interface::AuthorizationInterface, AuthorizationSelector},\n    context::{gas::GasOpts, PrivateContext, PublicContext},\n    hash::hash_args,\n    macros::authorization::authorization,\n    oracle::{execution_cache::load, offchain_effect::emit_offchain_effect},\n};\nuse crate::protocol::{\n    abis::function_selector::FunctionSelector,\n    address::AztecAddress,\n    constants::{\n        CANONICAL_AUTH_REGISTRY_ADDRESS, DOM_SEP__AUTHWIT_INNER, DOM_SEP__AUTHWIT_NULLIFIER, DOM_SEP__AUTHWIT_OUTER,\n    },\n    hash::poseidon2_hash_with_separator,\n    traits::{Serialize, ToField},\n};\n\n/// Authentication witness helper library\n///\n/// Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties (e.g.\n/// protocols or other users) to execute an action on their behalf.\n///\n/// This library provides helper functions to manage such witnesses. The authentication witness, is some \"witness\"\n/// (data) that authenticates a `message_hash`. The simplest example of an authentication witness, is a signature. The\n/// signature is the \"evidence\", that the signer has seen the message, agrees with it, and has allowed it. It does not\n/// need to be a signature. It could be any kind of \"proof\" that the message is allowed. Another proof could be knowing\n/// some kind of secret, or having some kind of \"token\" that allows the message.\n///\n/// The `message_hash` is a hash of the following structure: hash(consumer, chain_id, version, inner_hash)\n/// - consumer: the address of the contract that is \"consuming\" the message,\n/// - chain_id: the chain id of the chain that the message is being consumed on,\n/// - version: the version of the chain that the message is being consumed on,\n/// - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n///\n/// While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be a hash of\n/// the \"action\" to approve, along with who made the call. As part of this library, we provide a few helper functions\n/// to deal with such messages.\n///\n/// For example, we provide helper function that is used for checking that the message is an encoding of the current\n/// call. This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can show\n/// that it is acting on behalf of the contract.\n///\n/// If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n/// derived as: inner_hash = hash(caller, \"transfer\", hash(to, amount))\n///\n/// Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and\n/// `amount` the arguments for the transfer.\n///\n/// Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the\n/// message, in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor\n/// that is allowed to transfer the tokens.\n///\n///\n/// The authentication mechanism works differently in public and private contexts. In private, we recall that\n/// everything is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for\n/// information. In public we cannot do this, since it is executed by the sequencer (someone else). Therefore we can\n/// instead use a \"registry\" to store the messages that we have approved.\n///\n/// A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline how\n/// this would look in private, and then in public later.\n///\n/// Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX). `Alice` would make a\n/// `deposit` transaction, that she is executing using her account contract. The account would call the `DeFi` contract\n/// to execute `deposit`, which would try to pull funds from the `Token` contract. Since the `DeFi` contract is trying\n/// to pull funds from an account that is not its own, it needs to convince the `Token` contract that it is allowed to\n/// do so.\n///\n/// This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n/// `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to execute\n/// that call.\n///\n/// `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n/// account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which will\n/// validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull funds from\n/// `Alice`.\n///\n/// To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n/// authentication witness, and emit it from the `Token` contract (consumer).\n///\n/// Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n///\n///\n///  Person          Contract              Contract               Contract\n///  Alice          Alice Account          Token                   DeFi\n///   |                  |                  |                      |\n///   | Defi.deposit(Token, 1000)           |                      |\n///   |----------------->|                  |                      |\n///   |                  | deposit(Token, 1000)                    |\n///   |                  |---------------------------------------->|\n///   |                  |                  |                      |\n///   |                  |                  | transfer(Alice, Defi, 1000)\n///   |                  |                  |<---------------------|\n///   |                  |                  |                      |\n///   |                  | Check if Defi may call transfer(Alice, Defi, 1000)\n///   |                  |<-----------------|                      |\n///   |                  |                  |                      |\n///   | Please give me AuthWit for DeFi     |                      |\n///   | calling transfer(Alice, Defi, 1000) |                      |\n///   |<-----------------|                  |                      |\n///   |                  |                  |                      |\n///   |                  |                  |                      |\n///   | AuthWit for transfer(Alice, Defi, 1000)                    |\n///   |----------------->|                  |                      |\n///   |                  | AuthWit validity |                      |\n///   |                  |----------------->|                      |\n///   |                  |                  |                      |\n///   |                  |       throw if invalid AuthWit          |\n///   |                  |                  |                      |\n///   |                  |       emit AuthWit nullifier            |\n///   |                  |                  |                      |\n///   |                  |       transfer(Alice, Defi, 1000)       |\n///   |                  |                  |                      |\n///   |                  |                  |                      |\n///   |                  |                  | success              |\n///   |                  |                  |--------------------->|\n///   |                  |                  |                      |\n///   |                  |                  |                      |\n///   |                  |                  |           deposit(Token, 1000)\n///   |                  |                  |                      |\n///   |                  |                  |                      |\n///\n///\n/// If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n/// the messages that we have approved.\n///\n/// To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash` as\n/// authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account has its\n/// own map in the registry, so `Alice` cannot approve a message for `Bob`.\n///\n/// The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message was\n/// approved, the value is updated to `false`, and we return the success flag. For more information on the registry,\n/// see `main.nr` in `auth_registry_contract`.\n///\n/// Person          Contract              Contract            Contract               Contract\n/// Alice          Alice Account          Registry             Token                   DeFi\n///   |                  |                    |                   |                      |\n///   | Registry.set_authorized(..., true)    |                   |                      |\n///   |----------------->|                    |                   |                      |\n///   |                  | set_authorized(..., true)              |                      |\n///   |                  |------------------->|                   |                      |\n///   |                  |                    |                   |                      |\n///   |                  |         set authorized to true         |                      |\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   |                      |\n///   | Defi.deposit(Token, 1000)             |                   |                      |\n///   |----------------->|                    |                   |                      |\n///   |                  | deposit(Token, 1000)                   |                      |\n///   |                  |-------------------------------------------------------------->|\n///   |                  |                    |                   |                      |\n///   |                  |                    |              transfer(Alice, Defi, 1000) |\n///   |                  |                    |                   |<---------------------|\n///   |                  |                    |                   |                      |\n///   |                  |                    | Check if Defi may call transfer(Alice, Defi, 1000)\n///   |                  |                    |<------------------|                      |\n///   |                  |                    |                   |                      |\n///   |                  |          throw if invalid AuthWit      |                      |\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   |                      |\n///   |                  |           set authorized to false      |                      |\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   |                      |\n///   |                  |                    | AuthWit validity  |                      |\n///   |                  |                    |------------------>|                      |\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   | transfer(Alice, Defi, 1000)\n///   |                  |                    |                   |<-------------------->|\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   | success              |\n///   |                  |                    |                   |--------------------->|\n///   |                  |                    |                   |                      |\n///   |                  |                    |                   |     deposit(Token, 1000)\n///   |                  |                    |                   |                      |\n///\n///\n/// --- FAQ ---\n/// Q:   Why are we using a success flag of `poseidon2_hash_bytes(\"IS_VALID()\")` instead of just returning a boolean?\n/// A:   We want to make sure that we don't accidentally return `true` if there is a collision in the function\n/// selector. By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we\n/// return a success flag.\n///\n/// Q:   Why are we using static calls?\n/// A:   We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n/// could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n///\n/// Q:   Would it not be cheaper to use a nullifier instead of updating state in public?\n/// A:   At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would\n/// be cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n/// consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff\n/// is posted to DA), and now it is cheaper.\n///\n/// Q:   Why is the chain id and the version part of the message hash?\n/// A:   The chain id and the version is part of the message hash to ensure that the message is only valid on a\n/// specific chain to avoid a case where the same message could be used across multiple chains.\n\npub global IS_VALID_SELECTOR: Field = 0x47dacd73; // 4 last bytes of\n// poseidon2_hash_bytes(\"IS_VALID()\")\n\n/// A struct that represents a contract call the user can authorize. It's associated identifier is generated by\n/// serializing and hashing it. The user is expected to sign this hash to signal the contract call can be performed on\n/// their behalf\n#[authorization]\nstruct CallAuthorization {\n    msg_sender: AztecAddress,\n    selector: FunctionSelector,\n    args_hash: Field,\n}\n\n/// A struct that represents a request to authorize a call, which is used to emit an offchain effect so the user/wallet\n/// can understand what they are being asked to sign. It is generated from a CallAuthorization by adding metadata to\n/// it, such as the selector for the authorization, the inner hash, and the actual arguments that are being passed to\n/// the function call.\n#[derive(Serialize)]\nstruct CallAuthorizationRequest {\n    selector: AuthorizationSelector,\n    inner_hash: Field,\n    on_behalf_of: AztecAddress,\n    msg_sender: AztecAddress,\n    fn_selector: FunctionSelector,\n    args_hash: Field,\n}\n\nunconstrained fn emit_authorization_as_offchain_effect<let N: u32>(\n    authorization: CallAuthorization,\n    inner_hash: Field,\n    on_behalf_of: AztecAddress,\n) {\n    let args: [Field; N] = load(authorization.args_hash);\n    let authorization_request = CallAuthorizationRequest {\n        selector: authorization.get_authorization_selector(),\n        inner_hash: inner_hash,\n        on_behalf_of: on_behalf_of,\n        msg_sender: authorization.msg_sender,\n        fn_selector: authorization.selector,\n        args_hash: authorization.args_hash,\n    };\n    emit_offchain_effect(authorization_request.serialize().concat(args))\n}\n\n/// Assert that `on_behalf_of` has authorized the current call with a valid authentication witness\n///\n/// Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n/// `on_behalf_of` contract to verify that the `inner_hash` is valid.\n///\n/// Additionally, this function emits the identifying information of the call as an offchain effect so PXE can rely the\n/// information to the user/wallet in a readable way. To that effect, it is generic over N, where N is the number of\n/// arguments the authorized functions takes. This is used to load the arguments from the execution cache. This\n/// function is intended to be called via a macro, which will use the turbofish operator to specify the number of\n/// arguments.\n///\n/// @param on_behalf_of The address that has allegedly authorized the current call\npub fn assert_current_call_valid_authwit<let N: u32>(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n    let args_hash: Field = context.get_args_hash();\n\n    let authorization =\n        CallAuthorization { msg_sender: context.maybe_msg_sender().unwrap(), selector: context.selector(), args_hash };\n    let inner_hash = compute_inner_authwit_hash(authorization.serialize());\n    // Safety: Offchain effects are by definition unconstrained. They are emitted via an oracle which we don't use for\n    // anything besides its side effects, therefore this is safe to call.\n    unsafe { emit_authorization_as_offchain_effect::<N>(authorization, inner_hash, on_behalf_of) };\n\n    assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n\n/// Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n///\n/// Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n/// the `inner_hash` is from a different source, e.g., say a block of text etc.\n///\n/// @param on_behalf_of The address that has allegedly authorized the current call @param inner_hash The hash of the\n/// message to authorize\npub fn assert_inner_hash_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n    // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n    let result: Field = context\n        .static_call_private_function(\n            on_behalf_of,\n            comptime { FunctionSelector::from_signature(\"verify_private_authwit(Field)\") },\n            [inner_hash],\n        )\n        .get_preimage();\n    assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n    // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version. Those should\n    // already be handled in the verification, so we just need something to nullify, that allows the same inner_hash\n    // for multiple actors.\n    let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n    context.push_nullifier(nullifier);\n}\n\n/// Assert that `on_behalf_of` has authorized the current call in the authentication registry\n///\n/// Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n/// `on_behalf_of` contract to verify that the `inner_hash` is valid.\n///\n/// Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n/// work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n///\n/// @param on_behalf_of The address that has allegedly authorized the current call\npub unconstrained fn assert_current_call_valid_authwit_public(context: PublicContext, on_behalf_of: AztecAddress) {\n    let inner_hash = compute_inner_authwit_hash([\n        context.maybe_msg_sender().unwrap().to_field(),\n        context.selector().to_field(),\n        context.get_args_hash(),\n    ]);\n    assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n\n/// Assert that `on_behalf_of` has authorized a specific `inner_hash` in the authentication registry\n///\n/// Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n/// `on_behalf_of` contract to verify that the `inner_hash` is valid.\n///\n/// Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n/// work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n///\n/// @param on_behalf_of The address that has allegedly authorized the `inner_hash`\npub unconstrained fn assert_inner_hash_valid_authwit_public(\n    context: PublicContext,\n    on_behalf_of: AztecAddress,\n    inner_hash: Field,\n) {\n    let results: [Field] = context.call_public_function(\n        CANONICAL_AUTH_REGISTRY_ADDRESS,\n        comptime { FunctionSelector::from_signature(\"consume((Field),Field)\") },\n        [on_behalf_of.to_field(), inner_hash],\n        GasOpts::default(),\n    );\n    assert(results.len() == 1, \"Invalid response from registry\");\n    assert(results[0] == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/// Compute the `message_hash` from a function call to be used by an authentication witness\n///\n/// Useful for when you need a non-account contract to approve during execution. For example if you need a contract to\n/// make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow B\n/// to transfer T on its behalf.\n///\n/// @param caller The address of the contract that is calling the function, in the example above, this would be B\n/// @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n/// @param chain_id The chain id of the chain that the message is being consumed on @param version The version of the\n/// chain that the message is being consumed on @param selector The function selector of the function that is being\n/// called @param args The arguments of the function that is being called\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n    caller: AztecAddress,\n    consumer: AztecAddress,\n    chain_id: Field,\n    version: Field,\n    selector: FunctionSelector,\n    args: [Field; N],\n) -> Field {\n    let args_hash = hash_args(args);\n    let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n    compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n\n/// Computes the `inner_hash` of the authentication witness\n///\n/// This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n/// that is not necessarily a call, but just some \"bytes\" or text.\n///\n/// @param args The arguments to hash\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n    poseidon2_hash_with_separator(args, DOM_SEP__AUTHWIT_INNER)\n}\n\n/// Computes the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n///\n/// Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n///\n/// @param on_behalf_of The address that has authorized the `inner_hash` @param inner_hash The hash of the message to\n/// authorize\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n    poseidon2_hash_with_separator(\n        [on_behalf_of.to_field(), inner_hash],\n        DOM_SEP__AUTHWIT_NULLIFIER,\n    )\n}\n\n/// Computes the `message_hash` for the authentication witness\n///\n/// @param consumer The address of the contract that is consuming the message @param chain_id The chain id of the chain\n/// that the message is being consumed on @param version The version of the chain that the message is being consumed on\n/// @param inner_hash The hash of the \"inner\" message that is being consumed\npub fn compute_authwit_message_hash(\n    consumer: AztecAddress,\n    chain_id: Field,\n    version: Field,\n    inner_hash: Field,\n) -> Field {\n    poseidon2_hash_with_separator(\n        [consumer.to_field(), chain_id, version, inner_hash],\n        DOM_SEP__AUTHWIT_OUTER,\n    )\n}\n\n/// Helper function to set the authorization status of a message hash\n///\n/// Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n///\n/// @param message_hash The hash of the message to authorize @param authorize True if the message should be authorized,\n/// false if it should be revoked\npub unconstrained fn set_authorized(context: PublicContext, message_hash: Field, authorize: bool) {\n    let res = context.call_public_function(\n        CANONICAL_AUTH_REGISTRY_ADDRESS,\n        comptime { FunctionSelector::from_signature(\"set_authorized(Field,bool)\") },\n        [message_hash, authorize as Field],\n        GasOpts::default(),\n    );\n    assert(res.len() == 0);\n}\n\n/// Helper function to reject all authwits\n///\n/// Wraps a public call to the authentication registry to set the `reject_all` flag\n///\n/// @param reject True if all authwits should be rejected, false otherwise\npub unconstrained fn set_reject_all(context: PublicContext, reject: bool) {\n    let res = context.call_public_function(\n        CANONICAL_AUTH_REGISTRY_ADDRESS,\n        comptime { FunctionSelector::from_signature(\"set_reject_all(bool)\") },\n        [reject as Field],\n        GasOpts::default(),\n    );\n    assert(res.len() == 0);\n}\n"
    },
    "75": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/capsules/mod.nr",
      "source": "use crate::oracle::capsules;\nuse crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}};\n\n/// A dynamically sized array backed by PXE's non-volatile database (called capsules). Values are persisted until\n/// deleted, so they can be e.g. stored during simulation of a transaction and later retrieved during witness\n/// generation. All values are scoped per contract address, so external contracts cannot access them.\npub struct CapsuleArray<T> {\n    contract_address: AztecAddress,\n    /// The base slot is where the array length is stored in capsules. Array elements are stored in consecutive slots\n    /// after the base slot. For example, with base slot 5: the length is at slot 5, the first element (index 0) is at\n    /// slot 6, the second element (index 1) is at slot 7, and so on.\n    base_slot: Field,\n    /// Scope for capsule isolation. Capsule operations are scoped to the given address, allowing multiple independent\n    /// namespaces within the same contract.\n    scope: AztecAddress,\n}\n\nimpl<T> CapsuleArray<T> {\n    /// Returns a CapsuleArray scoped to a specific address.\n    ///\n    /// Array elements are stored in contiguous slots\n    /// following the base slot, so there should be sufficient space between array base slots to accommodate elements.\n    /// A reasonable strategy is to make the base slot a hash of a unique value.\n    pub unconstrained fn at(contract_address: AztecAddress, base_slot: Field, scope: AztecAddress) -> Self {\n        Self { contract_address, base_slot, scope }\n    }\n\n    /// Returns the number of elements stored in the array.\n    pub unconstrained fn len(self) -> u32 {\n        // An uninitialized array defaults to a length of 0.\n        capsules::load(self.contract_address, self.base_slot, self.scope).unwrap_or(0) as u32\n    }\n\n    /// Stores a value at the end of the array.\n    pub unconstrained fn push(self, value: T)\n    where\n        T: Serialize,\n    {\n        let current_length = self.len();\n\n        // The slot corresponding to the index `current_length` is the first slot immediately after the end of the\n        // array, which is where we want to place the new value.\n        capsules::store(\n            self.contract_address,\n            self.slot_at(current_length),\n            value,\n            self.scope,\n        );\n\n        // Then we simply update the length.\n        let new_length = current_length + 1;\n        capsules::store(\n            self.contract_address,\n            self.base_slot,\n            new_length,\n            self.scope,\n        );\n    }\n\n    /// Retrieves the value stored in the array at `index`. Throws if the index is out of bounds.\n    pub unconstrained fn get(self, index: u32) -> T\n    where\n        T: Deserialize,\n    {\n        assert(index < self.len(), \"Attempted to read past the length of a CapsuleArray\");\n\n        capsules::load(self.contract_address, self.slot_at(index), self.scope).unwrap()\n    }\n\n    /// Deletes the value stored in the array at `index`. Throws if the index is out of bounds.\n    pub unconstrained fn remove(self, index: u32) {\n        let current_length = self.len();\n        assert(index < current_length, \"Attempted to delete past the length of a CapsuleArray\");\n\n        // In order to be able to remove elements at arbitrary indices, we need to shift the entire contents of the\n        // array past the removed element one slot backward so that we don't end up with a gap and preserve the\n        // contiguous slots. We can skip this when deleting the last element however.\n        if index != current_length - 1 {\n            // The source and destination regions overlap, but `copy` supports this.\n            capsules::copy(\n                self.contract_address,\n                self.slot_at(index + 1),\n                self.slot_at(index),\n                current_length - index - 1,\n                self.scope,\n            );\n        }\n\n        // We can now delete the last element (which has either been copied to the slot immediately before it, or was\n        // the element we meant to delete in the first place) and update the length.\n        capsules::delete(\n            self.contract_address,\n            self.slot_at(current_length - 1),\n            self.scope,\n        );\n        capsules::store(\n            self.contract_address,\n            self.base_slot,\n            current_length - 1,\n            self.scope,\n        );\n    }\n\n    /// Calls a function on each element of the array.\n    ///\n    /// The function `f` is called once with each array value and its corresponding index. The order in which values\n    /// are processed is arbitrary.\n    ///\n    /// ## Array Mutation\n    ///\n    /// It is safe to delete the current element (and only the current element) from inside the callback via `remove`:\n    /// ```noir\n    /// array.for_each(|index, value| {\n    ///   if some_condition(value) {\n    ///     array.remove(index); // safe only for this index\n    ///   }\n    /// }\n    /// ```\n    ///\n    /// If all elements in the array need to iterated over and then removed, then using `for_each` results in optimal\n    /// efficiency.\n    ///\n    /// It is **not** safe to push new elements into the array from inside the callback.\n    pub unconstrained fn for_each<Env>(self, f: unconstrained fn[Env](u32, T) -> ())\n    where\n        T: Deserialize,\n    {\n        // Iterating over all elements is simple, but we want to do it in such a way that a) deleting the current\n        // element is safe to do, and b) deleting *all* elements is optimally efficient. This is because CapsuleArrays\n        // are typically used to hold pending tasks, so iterating them while clearing completed tasks (sometimes\n        // unconditionally, resulting in a full clear) is a very common access pattern.\n        //\n        // The way we achieve this is by iterating backwards: each element can always be deleted since it won't change\n        // any preceding (lower) indices, and if every element is deleted then every element will (in turn) be the last\n        // element. This results in an optimal full clear since `remove` will be able to skip the `capsules::copy` call\n        // to shift any elements past the deleted one (because there will be none).\n        let mut i = self.len();\n        while i > 0 {\n            i -= 1;\n            f(i, self.get(i));\n        }\n    }\n\n    unconstrained fn slot_at(self, index: u32) -> Field {\n        // Elements are stored immediately after the base slot, so we add 1 to it to compute the slot for the first\n        // element.\n        self.base_slot + 1 + index as Field\n    }\n}\n\nmod test {\n    use crate::protocol::address::AztecAddress;\n    use crate::test::helpers::test_environment::TestEnvironment;\n    use super::CapsuleArray;\n\n    global SLOT: Field = 1230;\n    global SCOPE: AztecAddress = AztecAddress { inner: 0xface };\n\n    #[test]\n    unconstrained fn empty_array() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array: CapsuleArray<Field> = CapsuleArray::at(contract_address, SLOT, SCOPE);\n            assert_eq(array.len(), 0);\n        });\n    }\n\n    #[test(should_fail_with = \"Attempted to read past the length of a CapsuleArray\")]\n    unconstrained fn empty_array_read() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n            let _: Field = array.get(0);\n        });\n    }\n\n    #[test]\n    unconstrained fn array_push() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n            array.push(5);\n\n            assert_eq(array.len(), 1);\n            assert_eq(array.get(0), 5);\n        });\n    }\n\n    #[test(should_fail_with = \"Attempted to read past the length of a CapsuleArray\")]\n    unconstrained fn read_past_len() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n            array.push(5);\n\n            let _ = array.get(1);\n        });\n    }\n\n    #[test]\n    unconstrained fn array_remove_last() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(5);\n            array.remove(0);\n\n            assert_eq(array.len(), 0);\n        });\n    }\n\n    #[test]\n    unconstrained fn array_remove_some() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(7);\n            array.push(8);\n            array.push(9);\n\n            assert_eq(array.len(), 3);\n            assert_eq(array.get(0), 7);\n            assert_eq(array.get(1), 8);\n            assert_eq(array.get(2), 9);\n\n            array.remove(1);\n\n            assert_eq(array.len(), 2);\n            assert_eq(array.get(0), 7);\n            assert_eq(array.get(1), 9);\n        });\n    }\n\n    #[test]\n    unconstrained fn array_remove_all() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(7);\n            array.push(8);\n            array.push(9);\n\n            array.remove(1);\n            array.remove(1);\n            array.remove(0);\n\n            assert_eq(array.len(), 0);\n        });\n    }\n\n    #[test]\n    unconstrained fn for_each_called_with_all_elements() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(4);\n            array.push(5);\n            array.push(6);\n\n            // We store all values that we were called with and check that all (value, index) tuples are present. Note\n            // that we do not care about the order in which each tuple was passed to the closure.\n            let called_with = &mut BoundedVec::<(u32, Field), 3>::new();\n            array.for_each(|index, value| { called_with.push((index, value)); });\n\n            assert_eq(called_with.len(), 3);\n            assert(called_with.any(|(index, value)| (index == 0) & (value == 4)));\n            assert(called_with.any(|(index, value)| (index == 1) & (value == 5)));\n            assert(called_with.any(|(index, value)| (index == 2) & (value == 6)));\n        });\n    }\n\n    #[test]\n    unconstrained fn for_each_remove_some() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(4);\n            array.push(5);\n            array.push(6);\n\n            array.for_each(|index, _| {\n                if index == 1 {\n                    array.remove(index);\n                }\n            });\n\n            assert_eq(array.len(), 2);\n            assert_eq(array.get(0), 4);\n            assert_eq(array.get(1), 6);\n        });\n    }\n\n    #[test]\n    unconstrained fn for_each_remove_all() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(4);\n            array.push(5);\n            array.push(6);\n\n            array.for_each(|index, _| { array.remove(index); });\n\n            assert_eq(array.len(), 0);\n        });\n    }\n\n    #[test]\n    unconstrained fn for_each_remove_all_no_copy() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let array = CapsuleArray::at(contract_address, SLOT, SCOPE);\n\n            array.push(4);\n            array.push(5);\n            array.push(6);\n\n            // We test that the aztec_utl_copyCapsule was never called, which is the expensive operation we want to\n            // avoid.\n            let mock = std::test::OracleMock::mock(\"aztec_utl_copyCapsule\");\n\n            array.for_each(|index, _| { array.remove(index); });\n\n            assert_eq(mock.times_called(), 0);\n        });\n    }\n\n    #[test]\n    unconstrained fn different_scopes_are_isolated() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let scope_a = AztecAddress { inner: 0xaaa };\n            let scope_b = AztecAddress { inner: 0xbbb };\n\n            let array_a = CapsuleArray::at(contract_address, SLOT, scope_a);\n            let array_b = CapsuleArray::at(contract_address, SLOT, scope_b);\n\n            array_a.push(10);\n            array_a.push(20);\n            array_b.push(99);\n\n            assert_eq(array_a.len(), 2);\n            assert_eq(array_a.get(0), 10);\n            assert_eq(array_a.get(1), 20);\n\n            assert_eq(array_b.len(), 1);\n            assert_eq(array_b.get(0), 99);\n        });\n    }\n}\n"
    },
    "83": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/note_existence_request.nr",
      "source": "use crate::protocol::address::aztec_address::AztecAddress;\n\n/// A request to assert the existence of a note.\n///\n/// Used by [`crate::context::PrivateContext::assert_note_exists`].\npub struct NoteExistenceRequest {\n    note_hash: Field,\n    maybe_contract_address: Option<AztecAddress>,\n}\n\nimpl NoteExistenceRequest {\n    /// Creates an existence request for a pending note.\n    ///\n    /// Pending notes have not been yet assigned a nonce, and they therefore have no unique note hash. Instead, these\n    /// requests are created using the unsiloed note hash (i.e. from\n    /// [`crate::note::note_interface::NoteHash::compute_note_hash`]) and address of the contract that created the\n    /// note.\n    pub fn for_pending(unsiloed_note_hash: Field, contract_address: AztecAddress) -> Self {\n        // The kernel doesn't take options; it takes a note_hash and an address, and infers whether the request is\n        // siloed based on whether the address is zero or non-zero. When passing the value to the kernel, we use\n        // `maybe_addr.unwrap_or(Address::ZERO)`. Therefore, passing a zero address to `for_pending` is not allowed\n        // since it would be interpreted by the kernel as a settled request.\n        assert(!contract_address.is_zero(), \"Can't read a transient note with a zero contract address\");\n        Self { note_hash: unsiloed_note_hash, maybe_contract_address: Option::some(contract_address) }\n    }\n\n    /// Creates an existence request for a settled note.\n    ///\n    /// Unlike pending notes, settled notes have a nonce, and their existence request is created using the unique note\n    /// hash.\n    pub fn for_settled(unique_note_hash: Field) -> Self {\n        Self { note_hash: unique_note_hash, maybe_contract_address: Option::none() }\n    }\n\n    pub(crate) fn note_hash(self) -> Field {\n        self.note_hash\n    }\n\n    pub(crate) fn maybe_contract_address(self) -> Option<AztecAddress> {\n        self.maybe_contract_address\n    }\n}\n"
    },
    "84": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/nullifier_existence_request.nr",
      "source": "use crate::protocol::address::aztec_address::AztecAddress;\n\n/// A request to assert the existence of a nullifier.\n///\n/// Used by [`crate::context::private_context::PrivateContext::assert_nullifier_exists`].\npub struct NullifierExistenceRequest {\n    nullifier: Field,\n    maybe_contract_address: Option<AztecAddress>,\n}\n\nimpl NullifierExistenceRequest {\n    /// Creates an existence request for a pending nullifier.\n    ///\n    /// Pending nullifiers have not been siloed with the contract address. These requests are created using the\n    /// unsiloed value and address of the contract that emitted the nullifier.\n    pub fn for_pending(unsiloed_nullifier: Field, contract_address: AztecAddress) -> Self {\n        // The kernel doesn't take options; it takes a nullifier and an address, and infers whether the request is\n        // siloed based on whether the address is zero or non-zero. When passing the value to the kernel, we use\n        // `maybe_addr.unwrap_or(Address::ZERO)`. Therefore, passing a zero address to `for_pending` is not allowed\n        // since it would be interpreted by the kernel as a settled request.\n        assert(!contract_address.is_zero(), \"Can't read a pending nullifier with a zero contract address\");\n        Self { nullifier: unsiloed_nullifier, maybe_contract_address: Option::some(contract_address) }\n    }\n\n    /// Creates an existence request for a settled nullifier.\n    ///\n    /// Unlike pending nullifiers, settled nullifiers have been siloed with their contract addresses before adding to\n    /// the nullifier tree, and their existence request is created using the siloed value.\n    pub fn for_settled(siloed_nullifier: Field) -> Self {\n        Self { nullifier: siloed_nullifier, maybe_contract_address: Option::none() }\n    }\n\n    pub(crate) fn nullifier(self) -> Field {\n        self.nullifier\n    }\n\n    pub(crate) fn maybe_contract_address(self) -> Option<AztecAddress> {\n        self.maybe_contract_address\n    }\n}\n"
    },
    "85": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/private_context.nr",
      "source": "use crate::{\n    context::{inputs::PrivateContextInputs, NoteExistenceRequest, NullifierExistenceRequest, ReturnsHash},\n    hash::{hash_args, hash_calldata_array},\n    keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, public_key_domain_separators},\n    messaging::process_l1_to_l2_message,\n    oracle::{\n        block_header::get_block_header_at,\n        call_private_function::call_private_function_internal,\n        execution_cache,\n        key_validation_request::get_key_validation_request,\n        logs::notify_created_contract_class_log,\n        notes::notify_nullified_note,\n        nullifiers::notify_created_nullifier,\n        public_call::assert_valid_public_call_data,\n        tx_phase::{is_execution_in_revertible_phase, notify_revertible_phase_start},\n    },\n};\nuse crate::logging::aztecnr_trace_log_format;\nuse crate::protocol::{\n    abis::{\n        block_header::BlockHeader,\n        call_context::CallContext,\n        function_selector::FunctionSelector,\n        gas_settings::GasSettings,\n        log_hash::LogHash,\n        note_hash::NoteHash,\n        nullifier::Nullifier,\n        private_call_request::PrivateCallRequest,\n        private_circuit_public_inputs::PrivateCircuitPublicInputs,\n        private_log::{PrivateLog, PrivateLogData},\n        public_call_request::PublicCallRequest,\n        validation_requests::{KeyValidationRequest, KeyValidationRequestAndSeparator},\n    },\n    address::{AztecAddress, EthAddress},\n    constants::{\n        CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL,\n        MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n        MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n        MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_TX_LIFETIME,\n        NULL_MSG_SENDER_CONTRACT_ADDRESS, PRIVATE_LOG_CIPHERTEXT_LEN,\n    },\n    hash::poseidon2_hash,\n    messaging::l2_to_l1_message::L2ToL1Message,\n    side_effect::{Counted, scoped::Scoped},\n    traits::{Empty, Hash, ToField},\n    utils::arrays::{ClaimedLengthArray, trimmed_array_length_hint},\n};\n\n/// # PrivateContext\n///\n/// The **main interface** between an #[external(\"private\")] function and the Aztec blockchain.\n///\n/// An instance of the PrivateContext is initialized automatically at the outset of every private function, within the\n/// #[external(\"private\")] macro, so you'll never need to consciously instantiate this yourself.\n///\n/// The instance is always named `context`, and it is always be available within the body of every\n/// #[external(\"private\")] function in your smart contract.\n///\n/// > For those used to \"vanilla\" Noir, it might be jarring to have access to > `context` without seeing a declaration\n/// `let context = PrivateContext::new(...)` > within the body of your function. This is just a consequence of using >\n/// macros to tidy-up verbose boilerplate. You can use `nargo expand` to > expand all macros, if you dare.\n///\n/// Typical usage for a smart contract developer will be to call getter methods of the PrivateContext.\n///\n/// _Pushing_ data and requests to the context is mostly handled within aztec-nr's own functions, so typically a smart\n/// contract developer won't need to call any setter methods directly.\n///\n/// > Advanced users might occasionally wish to push data to the context > directly for lower-level control. If you\n/// find yourself doing this, please > open an issue on GitHub to describe your use case: it might be that > new\n/// functionality should be added to aztec-nr.\n///\n/// ## Responsibilities\n/// - Exposes contextual data to a private function:\n/// - Data relating to how this private function was called.\n/// - msg_sender\n/// - this_address - (the contract address of the private function being executed)\n/// - See `CallContext` for more data.\n/// - Data relating to the transaction in which this private function is being executed.\n/// - chain_id\n/// - version\n/// - gas_settings\n/// - Provides state access:\n/// - Access to the \"Anchor block\" header. Recall, a private function cannot read from the \"current\" block header, but\n/// must read from some historical block header, because as soon as private function execution begins (asynchronously,\n/// on a user's device), the public state of the chain (the \"current state\") will have progressed forward. We call this\n/// reference the \"Anchor block\". See `BlockHeader`.\n///   - Enables consumption of L1->L2 messages.\n/// - Enables calls to functions of other smart contracts:\n/// - Private function calls\n/// - Enqueueing of public function call requests (Since public functions are executed at a later time, by a block\n/// proposer, we say they are \"enqueued\").\n/// - Writes data to the blockchain:\n/// - New notes\n/// - New nullifiers\n/// - Private logs (for sending encrypted note contents or encrypted events)\n///   - New L2->L1 messages.\n/// - Provides args to the private function (handled by the #[external(\"private\")] macro).\n/// - Returns the return values of this private function (handled by the\n///   #[external(\"private\")] macro).\n/// - Makes Key Validation Requests.\n/// - Private functions are not allowed to see master secret keys, because we do not trust them. They are instead given\n/// \"app-siloed\" secret keys with a claim that they relate to a master public key. They can then request validation of\n/// this claim, by making a \"key validation request\" to the protocol's kernel circuits (which _are_ allowed to see\n/// certain master secret keys).\n///\n/// ## Advanced Responsibilities\n///\n/// - Ultimately, the PrivateContext is responsible for constructing the PrivateCircuitPublicInputs of the private\n/// function being executed. All private functions on Aztec must have public inputs which adhere to the rigid layout of\n/// the PrivateCircuitPublicInputs, in order to be compatible with the protocol's kernel circuits. A well-known\n/// misnomer:\n/// - \"public inputs\" contain both inputs and outputs of this function.\n/// - By \"outputs\" we mean a lot more side-effects than just the \"return values\" of the function.\n/// - Most of the so-called \"public inputs\" are kept _private_, and never leak to the outside world, because they are\n/// 'swallowed' by the protocol's kernel circuits before the tx is sent to the network. Only the following are exposed\n/// to the outside world:\n/// - New note_hashes\n/// - New nullifiers\n/// - New private logs\n///     - New L2->L1 messages\n/// - New enqueued public function call requests All the above-listed arrays of side-effects can be padded by the\n/// user's wallet (through instructions to the kernel circuits, via the PXE) to obscure their true lengths.\n///\n/// ## Syntax Justification\n///\n/// Both user-defined functions _and_ most functions in aztec-nr need access to the PrivateContext instance to\n/// read/write data. This is why you'll see the arguably-ugly pervasiveness of the \"context\" throughout your smart\n/// contract and the aztec-nr library. For example, `&mut context` is prevalent. In some languages, you can access and\n/// mutate a global variable (such as a PrivateContext instance) from a function without polluting the function's\n/// parameters. With Noir, a function must explicitly pass control of a mutable variable to another function, by\n/// reference. Since many functions in aztec-nr need to be able to push new data to the PrivateContext, they need to be\n/// handed a mutable reference _to_ the context as a parameter. For example, `Context` is prevalent as a generic\n/// parameter, to give better type safety at compile time. Many `aztec-nr` functions don't make sense if they're called\n/// in a particular runtime (private, public or utility), and so are intentionally only implemented over certain\n/// [Private|Public|Utility]Context structs. This gives smart contract developers a much faster feedback loop if\n/// they're making a mistake, as an error will be thrown by the LSP or when they compile their contract.\n///\n#[derive(Eq)]\npub struct PrivateContext {\n    // docs:start:private-context\n    pub inputs: PrivateContextInputs,\n    pub side_effect_counter: u32,\n\n    pub min_revertible_side_effect_counter: u32,\n    pub is_fee_payer: bool,\n\n    pub args_hash: Field,\n    pub return_hash: Field,\n\n    pub expiration_timestamp: u64,\n\n    pub(crate) note_hash_read_requests: BoundedVec<Scoped<Counted<Field>>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n    pub(crate) nullifier_read_requests: BoundedVec<Scoped<Counted<Field>>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n    key_validation_requests_and_separators: BoundedVec<KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n    pub note_hashes: BoundedVec<Counted<NoteHash>, MAX_NOTE_HASHES_PER_CALL>,\n    pub nullifiers: BoundedVec<Counted<Nullifier>, MAX_NULLIFIERS_PER_CALL>,\n\n    pub private_call_requests: BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n    pub public_call_requests: BoundedVec<Counted<PublicCallRequest>, MAX_ENQUEUED_CALLS_PER_CALL>,\n    pub public_teardown_call_request: PublicCallRequest,\n    pub l2_to_l1_msgs: BoundedVec<Counted<L2ToL1Message>, MAX_L2_TO_L1_MSGS_PER_CALL>,\n    // docs:end:private-context\n\n    // Header of a block whose state is used during private execution (not the block the transaction is included in).\n    pub anchor_block_header: BlockHeader,\n\n    pub private_logs: BoundedVec<Counted<PrivateLogData>, MAX_PRIVATE_LOGS_PER_CALL>,\n    pub contract_class_logs_hashes: BoundedVec<Counted<LogHash>, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n    // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n    // fetching the same request multiple times. The index of the array corresponds to the key type (0 nullifier, 1\n    // incoming, 2 outgoing, 3 tagging).\n    pub last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n\n    pub expected_non_revertible_side_effect_counter: u32,\n    pub expected_revertible_side_effect_counter: u32,\n}\n\nimpl PrivateContext {\n    pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n        PrivateContext {\n            inputs,\n            side_effect_counter: inputs.start_side_effect_counter + 1,\n            min_revertible_side_effect_counter: 0,\n            is_fee_payer: false,\n            args_hash,\n            return_hash: 0,\n            expiration_timestamp: inputs.anchor_block_header.timestamp() + MAX_TX_LIFETIME,\n            note_hash_read_requests: BoundedVec::new(),\n            nullifier_read_requests: BoundedVec::new(),\n            key_validation_requests_and_separators: BoundedVec::new(),\n            note_hashes: BoundedVec::new(),\n            nullifiers: BoundedVec::new(),\n            anchor_block_header: inputs.anchor_block_header,\n            private_call_requests: BoundedVec::new(),\n            public_call_requests: BoundedVec::new(),\n            public_teardown_call_request: PublicCallRequest::empty(),\n            l2_to_l1_msgs: BoundedVec::new(),\n            private_logs: BoundedVec::new(),\n            contract_class_logs_hashes: BoundedVec::new(),\n            last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n            expected_non_revertible_side_effect_counter: 0,\n            expected_revertible_side_effect_counter: 0,\n        }\n    }\n\n    /// Returns the contract address that initiated this function call.\n    ///\n    /// This is similar to `msg.sender` in Solidity (hence the name).\n    ///\n    /// Important Note: Since Aztec doesn't have a concept of an EoA (Externally-owned Account), the msg_sender is\n    /// \"none\" for the first function call of every transaction. The first function call of a tx is likely to be a call\n    /// to the user's account contract, so this quirk will most often be handled by account contract developers.\n    ///\n    /// # Returns\n    /// * `Option<AztecAddress>` - The address of the smart contract that called this function (be it an app contract\n    /// or a user's account contract). Returns `Option<AztecAddress>::none` for the first function call of the tx. No\n    /// other _private_ function calls in the tx will have a `none` msg_sender, but _public_ function calls might (see\n    /// the PublicContext).\n    pub fn maybe_msg_sender(self) -> Option<AztecAddress> {\n        let maybe_msg_sender = self.inputs.call_context.msg_sender;\n        if maybe_msg_sender == NULL_MSG_SENDER_CONTRACT_ADDRESS {\n            Option::none()\n        } else {\n            Option::some(maybe_msg_sender)\n        }\n    }\n\n    /// Returns the contract address of the current function being executed.\n    ///\n    /// This is equivalent to `address(this)` in Solidity (hence the name). Use this to identify the current contract's\n    /// address, commonly needed for access control or when interacting with other contracts.\n    ///\n    /// # Returns\n    /// * `AztecAddress` - The contract address of the current function being executed.\n    ///\n    pub fn this_address(self) -> AztecAddress {\n        self.inputs.call_context.contract_address\n    }\n\n    /// Returns the chain ID of the current network.\n    ///\n    /// This is similar to `block.chainid` in Solidity. Returns the unique identifier for the blockchain network this\n    /// transaction is executing on.\n    ///\n    /// Helps prevent cross-chain replay attacks. Useful if implementing multi-chain contract logic.\n    ///\n    /// # Returns\n    /// * `Field` - The chain ID as a field element\n    ///\n    pub fn chain_id(self) -> Field {\n        self.inputs.tx_context.chain_id\n    }\n\n    /// Returns the Aztec protocol version that this transaction is executing under. Different versions may have\n    /// different rules, opcodes, or cryptographic primitives.\n    ///\n    /// This is similar to how Ethereum has different EVM versions.\n    ///\n    /// Useful for forward/backward compatibility checks\n    ///\n    /// Not to be confused with contract versions; this is the protocol version.\n    ///\n    /// # Returns\n    /// * `Field` - The protocol version as a field element\n    ///\n    pub fn version(self) -> Field {\n        self.inputs.tx_context.version\n    }\n\n    /// Returns the gas settings for the current transaction.\n    ///\n    /// This provides information about gas limits and pricing for the transaction, similar to `tx.gasprice` and gas\n    /// limits in Ethereum. However, Aztec has a more sophisticated gas model with separate accounting for L2\n    /// computation and data availability (DA) costs.\n    ///\n    /// # Returns\n    /// * `GasSettings` - Struct containing gas limits and fee information\n    ///\n    pub fn gas_settings(self) -> GasSettings {\n        self.inputs.tx_context.gas_settings\n    }\n\n    /// Returns the function selector of the currently executing function.\n    ///\n    /// Low-level function: Ordinarily, smart contract developers will not need to access this.\n    ///\n    /// This is similar to `msg.sig` in Solidity, which returns the first 4 bytes of the function signature. In Aztec,\n    /// the selector uniquely identifies which function within the contract is being called.\n    ///\n    /// # Returns\n    /// * `FunctionSelector` - The 4-byte function identifier\n    ///\n    /// # Advanced\n    /// Only #[external(\"private\")] functions have a function selector as a protocol- enshrined concept. The function\n    /// selectors of private functions are baked into the preimage of the contract address, and are used by the\n    /// protocol's kernel circuits to identify each private function and ensure the correct one is being executed.\n    ///\n    /// Used internally for function dispatch and call verification.\n    ///\n    pub fn selector(self) -> FunctionSelector {\n        self.inputs.call_context.function_selector\n    }\n\n    /// Returns the hash of the arguments passed to the current function.\n    ///\n    /// Very low-level function: You shouldn't need to call this. The #[external(\"private\")] macro calls this, and it\n    /// makes the arguments neatly available to the body of your private function.\n    ///\n    /// # Returns\n    /// * `Field` - Hash of the function arguments\n    ///\n    /// # Advanced\n    /// * Arguments are hashed to reduce proof size and verification time\n    /// * Enables efficient argument passing in recursive function calls\n    /// * The hash can be used to retrieve the original arguments from the PXE.\n    ///\n    pub fn get_args_hash(self) -> Field {\n        self.args_hash\n    }\n\n    /// Pushes a new note_hash to the Aztec blockchain's global Note Hash Tree (a state tree).\n    ///\n    /// A note_hash is a commitment to a piece of private state.\n    ///\n    /// Low-level function: Ordinarily, smart contract developers will not need to manually call this. Aztec-nr's state\n    /// variables (see `../state_vars/`) are designed to understand when to create and push new note hashes.\n    ///\n    /// # Arguments\n    /// * `note_hash` - The new note_hash.\n    ///\n    /// # Advanced\n    /// From here, the protocol's kernel circuits will take over and insert the note_hash into the protocol's \"note\n    /// hash tree\" (in the Base Rollup circuit). Before insertion, the protocol will:\n    /// - \"Silo\" the `note_hash` with the contract address of this function, to yield a `siloed_note_hash`. This\n    /// prevents state collisions between different smart contracts.\n    /// - Ensure uniqueness of the `siloed_note_hash`, to prevent Faerie-Gold attacks, by hashing the\n    /// `siloed_note_hash` with a unique value, to yield a `unique_siloed_note_hash` (see the protocol spec for more).\n    ///\n    /// In addition to calling this function, aztec-nr provides the contents of the newly-created note to the PXE, via\n    /// the `notify_created_note` oracle.\n    ///\n    /// > Advanced users might occasionally wish to push data to the context > directly for lower-level control. If you\n    /// find yourself doing this, > please open an issue on GitHub to describe your use case: it might be > that new\n    /// functionality should be added to aztec-nr.\n    ///\n    pub fn push_note_hash(&mut self, note_hash: Field) {\n        self.note_hashes.push(Counted::new(note_hash, self.next_counter()));\n    }\n\n    /// Creates a new [nullifier](crate::nullifier).\n    ///\n    /// ## Safety\n    ///\n    /// This is a low-level function that must be used with great care to avoid subtle corruption of contract state.\n    /// Instead of calling this function, consider using the higher-level [`crate::state_vars::SingleUseClaim`].\n    ///\n    /// In particular, callers must ensure all nullifiers created by a contract are properly domain-separated, so that\n    /// unrelated components don't interfere with one another (e.g. a transaction nullifier accidentally marking a\n    /// variable as initialized). Only [`PrivateContext::push_nullifier_for_note_hash`] should be used for note\n    /// nullifiers, never this one.\n    ///\n    /// ## Advanced\n    ///\n    /// The raw `nullifier` is not what is inserted into the Aztec state tree: it will be first siloed by contract\n    /// address via [`crate::protocol::hash::compute_siloed_nullifier`] in order to prevent accidental or malicious\n    /// interference of nullifiers from different contracts.\n    pub fn push_nullifier(&mut self, nullifier: Field) {\n        notify_created_nullifier(nullifier);\n        self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0 }.count(self.next_counter()));\n    }\n\n    /// Creates a new [nullifier](crate::nullifier) associated with a note.\n    ///\n    /// This is a variant of [`PrivateContext::push_nullifier`] that is used for note nullifiers, i.e. nullifiers that\n    /// correspond to a note. If a note and its nullifier are created in the same transaction, then the private kernels\n    /// will 'squash' these values, deleting them both as if they never existed and reducing transaction fees.\n    ///\n    /// The `nullification_note_hash` must be the result of calling\n    /// [`crate::note::utils::compute_confirmed_note_hash_for_nullification`] for pending notes, and `0` for settled\n    /// notes (which cannot be squashed).\n    ///\n    /// ## Safety\n    ///\n    /// This is a low-level function that must be used with great care to avoid subtle corruption of contract state.\n    /// Instead of calling this function, consider using the higher-level [`crate::note::lifecycle::destroy_note`].\n    ///\n    /// The precautions listed for [`PrivateContext::push_nullifier`] apply here as well, and callers should\n    /// additionally ensure `nullification_note_hash` corresponds to a note emitted by this contract, with its hash\n    /// computed in the same transaction execution phase as the call to this function. Finally, only this function\n    /// should be used for note nullifiers, never [`PrivateContext::push_nullifier`].\n    ///\n    /// Failure to do these things can result in unprovable contexts, accidental deletion of notes, or double-spend\n    /// attacks.\n    pub fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullification_note_hash: Field) {\n        let nullifier_counter = self.next_counter();\n        notify_nullified_note(nullifier, nullification_note_hash, nullifier_counter);\n        self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullification_note_hash }.count(\n            nullifier_counter,\n        ));\n    }\n\n    /// Returns the anchor block header - the historical block header that this private function is reading from.\n    ///\n    /// A private function CANNOT read from the \"current\" block header, but must read from some older block header,\n    /// because as soon as private function execution begins (asynchronously, on a user's device), the public state of\n    /// the chain (the \"current state\") will have progressed forward.\n    ///\n    /// # Returns\n    /// * `BlockHeader` - The anchor block header.\n    ///\n    /// # Advanced\n    /// * All private functions of a tx read from the same anchor block header.\n    /// * The protocol asserts that the `expiration_timestamp` of every tx is at most 24 hours beyond the timestamp of\n    /// the tx's chosen anchor block header. This enables the network's nodes to safely prune old txs from the mempool.\n    /// Therefore, the chosen block header _must_ be one from within the last 24 hours.\n    ///\n    pub fn get_anchor_block_header(self) -> BlockHeader {\n        self.anchor_block_header\n    }\n\n    /// Returns the header of any historical block at or before the anchor block.\n    ///\n    /// This enables private contracts to access information from even older blocks than the anchor block header.\n    ///\n    /// Useful for time-based contract logic that needs to compare against multiple historical points.\n    ///\n    /// # Arguments\n    /// * `block_number` - The block number to retrieve (must be <= anchor block number)\n    ///\n    /// # Returns\n    /// * `BlockHeader` - The header of the requested historical block\n    ///\n    /// # Advanced\n    /// This function uses an oracle to fetch block header data from the user's PXE. Depending on how much blockchain\n    /// data the user's PXE has been set up to store, this might require a query from the PXE to another Aztec node to\n    /// get the data. > This is generally true of all oracle getters (see `../oracle`).\n    ///\n    /// Each block header gets hashed and stored as a leaf in the protocol's Archive Tree. In fact, the i-th block\n    /// header gets stored at the i-th leaf index of the Archive Tree. Behind the scenes, this `get_block_header_at`\n    /// function will add Archive Tree merkle-membership constraints (~3k) to your smart contract function's circuit,\n    /// to prove existence of the block header in the Archive Tree.\n    ///\n    /// Note: we don't do any caching, so avoid making duplicate calls for the same block header, because each call\n    /// will add duplicate constraints.\n    ///\n    /// Calling this function is more expensive (constraint-wise) than getting the anchor block header (via\n    /// `get_block_header`). This is because the anchor block's merkle membership proof is handled by Aztec's protocol\n    /// circuits, and is only performed once for the entire tx because all private functions of a tx share a common\n    /// anchor block header. Therefore, the cost (constraint-wise) of calling `get_block_header` is effectively free.\n    ///\n    pub fn get_block_header_at(self, block_number: u32) -> BlockHeader {\n        get_block_header_at(block_number, self)\n    }\n\n    /// Sets the hash of the return values for this private function.\n    ///\n    /// Very low-level function: this is called by the #[external(\"private\")] macro.\n    ///\n    /// # Arguments\n    /// * `serialized_return_values` - The serialized return values as a field array\n    ///\n    pub fn set_return_hash<let N: u32>(&mut self, serialized_return_values: [Field; N]) {\n        let return_hash = hash_args(serialized_return_values);\n        self.return_hash = return_hash;\n        execution_cache::store(serialized_return_values, return_hash);\n    }\n\n    /// Builds the PrivateCircuitPublicInputs for this private function, to ensure compatibility with the protocol's\n    /// kernel circuits.\n    ///\n    /// Very low-level function: This function is automatically called by the #[external(\"private\")] macro.\n    pub fn finish(self) -> PrivateCircuitPublicInputs {\n        PrivateCircuitPublicInputs {\n            call_context: self.inputs.call_context,\n            args_hash: self.args_hash,\n            returns_hash: self.return_hash,\n            min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n            is_fee_payer: self.is_fee_payer,\n            expiration_timestamp: self.expiration_timestamp,\n            note_hash_read_requests: ClaimedLengthArray::from_bounded_vec(self.note_hash_read_requests),\n            nullifier_read_requests: ClaimedLengthArray::from_bounded_vec(self.nullifier_read_requests),\n            key_validation_requests_and_separators: ClaimedLengthArray::from_bounded_vec(\n                self.key_validation_requests_and_separators,\n            ),\n            note_hashes: ClaimedLengthArray::from_bounded_vec(self.note_hashes),\n            nullifiers: ClaimedLengthArray::from_bounded_vec(self.nullifiers),\n            private_call_requests: ClaimedLengthArray::from_bounded_vec(self.private_call_requests),\n            public_call_requests: ClaimedLengthArray::from_bounded_vec(self.public_call_requests),\n            public_teardown_call_request: self.public_teardown_call_request,\n            l2_to_l1_msgs: ClaimedLengthArray::from_bounded_vec(self.l2_to_l1_msgs),\n            start_side_effect_counter: self.inputs.start_side_effect_counter,\n            end_side_effect_counter: self.side_effect_counter,\n            private_logs: ClaimedLengthArray::from_bounded_vec(self.private_logs),\n            contract_class_logs_hashes: ClaimedLengthArray::from_bounded_vec(self.contract_class_logs_hashes),\n            anchor_block_header: self.anchor_block_header,\n            tx_context: self.inputs.tx_context,\n            expected_non_revertible_side_effect_counter: self.expected_non_revertible_side_effect_counter,\n            expected_revertible_side_effect_counter: self.expected_revertible_side_effect_counter,\n        }\n    }\n\n    /// Designates this contract as the fee payer for the transaction.\n    ///\n    /// Unlike Ethereum, where the transaction sender always pays fees, Aztec allows any contract to voluntarily pay\n    /// transaction fees. This enables patterns like sponsored transactions or fee abstraction where users don't need\n    /// to hold fee-juice themselves. (Fee juice is a fee-paying asset for Aztec).\n    ///\n    /// Only one contract per transaction can declare itself as the fee payer, and it must have sufficient fee-juice\n    /// balance (>= the gas limits specified in the TxContext) by the time we reach the public setup phase of the tx.\n    ///\n    pub fn set_as_fee_payer(&mut self) {\n        aztecnr_trace_log_format!(\"Setting {0} as fee payer\")([self.this_address().to_field()]);\n        self.is_fee_payer = true;\n    }\n\n    pub fn in_revertible_phase(&mut self) -> bool {\n        let current_counter = self.side_effect_counter;\n\n        // Safety: Kernel will validate that the claim is correct by validating the expected counters.\n        let is_revertible = unsafe { is_execution_in_revertible_phase(current_counter) };\n\n        if is_revertible {\n            if (self.expected_revertible_side_effect_counter == 0)\n                | (current_counter < self.expected_revertible_side_effect_counter) {\n                self.expected_revertible_side_effect_counter = current_counter;\n            }\n        } else if current_counter > self.expected_non_revertible_side_effect_counter {\n            self.expected_non_revertible_side_effect_counter = current_counter;\n        }\n\n        is_revertible\n    }\n\n    /// Declares the end of the \"setup phase\" of this tx.\n    ///\n    /// Only one function per tx can declare the end of the setup phase.\n    ///\n    /// Niche function: Only wallet developers and paymaster contract developers (aka Fee-payment contracts) will need\n    /// to make use of this function.\n    ///\n    /// Aztec supports a three-phase execution model: setup, app logic, teardown. The phases exist to enable a fee\n    /// payer to take on the risk of paying a transaction fee, safe in the knowledge that their payment (in whatever\n    /// token or method the user chooses) will succeed, regardless of whether the app logic will succeed. The \"setup\"\n    /// phase enables such a payment to be made, because the setup phase _cannot revert_: a reverting function within\n    /// the setup phase would result in an invalid block which cannot be proven. Any side-effects generated during that\n    /// phase are guaranteed to be inserted into Aztec's state trees (except for squashed notes & nullifiers, of\n    /// course).\n    ///\n    /// Even though the end of the setup phase is declared within a private function, you might have noticed that\n    /// _public_ functions can also execute within the setup phase. This is because any public function calls which\n    /// were enqueued _within the setup phase_ by a private function are considered part of the setup phase.\n    ///\n    /// # Advanced\n    /// * Sets the minimum revertible side effect counter of this tx to be the PrivateContext's _current_ side effect\n    /// counter.\n    ///\n    pub fn end_setup(&mut self) {\n        // Incrementing the side effect counter when ending setup ensures non ambiguity for the counter where we change\n        // phases.\n        self.side_effect_counter += 1;\n        aztecnr_trace_log_format!(\"Ending setup at counter {0}\")([self.side_effect_counter as Field]);\n        self.min_revertible_side_effect_counter = self.next_counter();\n        notify_revertible_phase_start(self.min_revertible_side_effect_counter);\n    }\n\n    /// Sets a deadline (an \"include-by timestamp\") for when this transaction must be included in a block.\n    ///\n    /// Other functions in this tx might call this setter with differing values for the include-by timestamp. To ensure\n    /// that all functions' deadlines are met, the _minimum_ of all these include-by timestamps will be exposed when\n    /// this tx is submitted to the network.\n    ///\n    /// If the transaction is not included in a block by its include-by timestamp, it becomes invalid and it will never\n    /// be included.\n    ///\n    /// This expiry timestamp is publicly visible. See the \"Advanced\" section for privacy concerns.\n    ///\n    /// # Arguments\n    /// * `expiration_timestamp` - Unix timestamp (seconds) deadline for inclusion. The include-by timestamp of this tx\n    /// will be _at most_ the timestamp specified.\n    ///\n    /// # Advanced\n    /// * If multiple functions set differing `expiration_timestamp`s, the kernel circuits will set it to be the\n    /// _minimum_ of the two. This ensures the tx expiry requirements of all functions in the tx are met.\n    /// * Rollup circuits will reject expired txs.\n    /// * The protocol enforces that all transactions must be included within 24 hours of their chosen anchor block's\n    /// timestamp, to enable safe mempool pruning.\n    /// * The DelayedPublicMutable design makes heavy use of this functionality, to enable private functions to read\n    /// public state.\n    /// * A sophisticated Wallet should cleverly set an include-by timestamp to improve the privacy of the user and the\n    /// network as a whole. For example, if a contract interaction sets include-by to some publicly-known value (e.g.\n    /// the time when a contract upgrades), then the wallet might wish to set an even lower one to avoid revealing that\n    /// this tx is interacting with said contract. Ideally, all wallets should standardize on an approach in order to\n    ///   provide users with a large privacy set -- although the exact approach\n    /// will need to be discussed. Wallets that deviate from a standard might accidentally reveal which wallet each\n    /// transaction originates from.\n    ///\n    // docs:start:expiration-timestamp\n    pub fn set_expiration_timestamp(&mut self, expiration_timestamp: u64) {\n        // docs:end:expiration-timestamp\n        self.expiration_timestamp = std::cmp::min(self.expiration_timestamp, expiration_timestamp);\n    }\n\n    /// Asserts that a note has been created.\n    ///\n    /// This function will cause the transaction to fail unless the requested note exists. This is the preferred\n    /// mechanism for performing this check, and the only one that works for pending notes.\n    ///\n    /// ## Pending Notes\n    ///\n    /// Both settled notes (created in prior transactions) and pending notes (created in the current transaction) will\n    /// be considered by this function. Pending notes must have been created **before** this call is made for the check\n    /// to pass.\n    ///\n    /// ## Historical Notes\n    ///\n    /// If you need to assert that a note existed _by some specific block in the past_, instead of simply proving that\n    /// it exists by the current anchor block, use [`crate::history::note::assert_note_existed_by`] instead.\n    ///\n    /// ## Cost\n    ///\n    /// This uses up one of the call's kernel note hash read requests, which are limited. Like all kernel requests,\n    /// proving time costs are only incurred when the total number of requests exceeds the kernel's capacity, requiring\n    /// an additional invocation of the kernel reset circuit.\n    pub fn assert_note_exists(&mut self, note_existence_request: NoteExistenceRequest) {\n        // Note that the `note_hash_read_requests` array does not hold `NoteExistenceRequest` objects, but rather a\n        // custom kernel type. We convert from the aztec-nr type into it.\n\n        let note_hash = note_existence_request.note_hash();\n        let contract_address = note_existence_request.maybe_contract_address().unwrap_or(AztecAddress::zero());\n\n        let side_effect = Scoped::new(\n            Counted::new(note_hash, self.next_counter()),\n            contract_address,\n        );\n\n        self.note_hash_read_requests.push(side_effect);\n    }\n\n    /// Asserts that a nullifier has been emitted.\n    ///\n    /// This function will cause the transaction to fail unless the requested nullifier exists. This is the preferred\n    /// mechanism for performing this check, and the only one that works for pending nullifiers.\n    ///\n    /// ## Pending Nullifiers\n    ///\n    /// Both settled nullifiers (emitted in prior transactions) and pending nullifiers (emitted in the current\n    /// transaction) will be considered by this function. Pending nullifiers must have been emitted **before** this\n    /// call is made for the check to pass.\n    ///\n    /// ## Historical Nullifiers\n    ///\n    /// If you need to assert that a nullifier existed _by some specific block in the past_, instead of simply proving\n    /// that it exists by the current anchor block, use [`crate::history::nullifier::assert_nullifier_existed_by`]\n    /// instead.\n    ///\n    /// ## Public vs Private\n    ///\n    /// In general, it is unsafe to check for nullifier non-existence in private, as that will not consider the\n    /// possibility of the nullifier having been emitted in any transaction between the anchor block and the inclusion\n    /// block. Private functions instead prove existence via this function and 'prove' non-existence by _emitting_ the\n    /// nullifer, which would cause the transaction to fail if the nullifier existed.\n    ///\n    /// This is not the case in public functions, which do have access to the tip of the blockchain and so can reliably\n    /// prove whether a nullifier exists or not via\n    /// [`crate::context::public_context::PublicContext::nullifier_exists_unsafe`].\n    ///\n    /// ## Cost\n    ///\n    /// This uses up one of the call's kernel nullifier read requests, which are limited. Like all kernel requests,\n    /// proving time costs are only incurred when the total number of requests exceeds the kernel's capacity, requiring\n    /// an additional invocation of the kernel reset circuit.\n    pub fn assert_nullifier_exists(&mut self, nullifier_existence_request: NullifierExistenceRequest) {\n        let nullifier = nullifier_existence_request.nullifier();\n        let contract_address = nullifier_existence_request.maybe_contract_address().unwrap_or(AztecAddress::zero());\n\n        let request = Scoped::new(\n            Counted::new(nullifier, self.next_counter()),\n            contract_address,\n        );\n\n        self.nullifier_read_requests.push(request);\n    }\n\n    /// Requests the app-siloed nullifier hiding key (nhk_app) for the given (hashed) master nullifier public key\n    /// (npk_m), from the user's PXE.\n    ///\n    /// Advanced function: Only needed if you're designing your own notes and/or nullifiers.\n    ///\n    /// Contracts are not allowed to compute nullifiers for other contracts, as that would let them read parts of their\n    /// private state. Because of this, a contract is only given an \"app-siloed key\", which is constructed by\n    /// hashing the user's master nullifier hiding key with the contract's address. However, because contracts cannot\n    /// be trusted with a user's master nullifier hiding key (because we don't know which contracts are honest or\n    /// malicious), the PXE refuses to provide any master secret keys to any app smart contract function. This means\n    /// app functions are unable to prove that the derivation of an app-siloed nullifier hiding key has been computed\n    /// correctly. Instead, an app function can request to the kernel (via `request_nhk_app`) that it validates the\n    /// siloed derivation, since the kernel has been vetted to not leak any master secret keys.\n    ///\n    /// A common nullification scheme is to inject a nullifier hiding key into the preimage of a nullifier, to make the\n    /// nullifier deterministic but random-looking. This function enables that flow.\n    ///\n    /// # Arguments\n    /// * `npk_m_hash` - A hash of the master nullifier public key of the user whose PXE is executing this function.\n    ///\n    /// # Returns\n    /// * The app-siloed nullifier hiding key that corresponds to the given `npk_m_hash`.\n    ///\n    pub fn request_nhk_app(&mut self, npk_m_hash: Field) -> Field {\n        self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n    }\n\n    /// Requests the app-siloed nullifier secret key (nsk_app) for the given (hashed) master nullifier public key\n    /// (npk_m), from the user's PXE.\n    ///\n    /// See `request_nsk_app` and `request_sk_app` for more info.\n    ///\n    /// The intention of the \"outgoing\" keypair is to provide a second secret key for all of a user's outgoing activity\n    /// (i.e. for notes that a user creates, as opposed to notes that a user receives from others). The separation of\n    /// incoming and outgoing data was a distinction made by zcash, with the intention of enabling a user to optionally\n    /// share with a 3rd party a controlled view of only incoming or outgoing notes. Similar functionality of sharing\n    /// select data can be achieved with offchain zero-knowledge proofs. It is up to an app developer whether they\n    /// choose to make use of a user's outgoing keypair within their application logic, or instead simply use the same\n    /// keypair (the address keypair (which is effectively the same as the \"incoming\" keypair)) for all incoming &\n    /// outgoing messages to a user.\n    ///\n    /// Currently, all of the exposed encryption functions in aztec-nr ignore the outgoing viewing keys, and instead\n    /// encrypt all note logs and event logs to a user's address public key.\n    ///\n    /// # Arguments\n    /// * `ovpk_m_hash` - Hash of the outgoing viewing public key master\n    ///\n    /// # Returns\n    /// * The application-specific outgoing viewing secret key\n    ///\n    pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n        self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n    }\n\n    /// Pushes a Key Validation Request to the kernel.\n    ///\n    /// Private functions are not allowed to see a user's master secret keys, because we do not trust them. They are\n    /// instead given \"app-siloed\" secret keys with a claim that they relate to a master public key. They can then\n    /// request validation of this claim, by making a \"key validation request\" to the protocol's kernel circuits (which\n    /// _are_ allowed to see certain master secret keys).\n    ///\n    /// When a Key Validation Request tuple of (sk_app, Pk_m, app_address) is submitted to the kernel, it will perform\n    /// the following derivations to validate the relationship between the claimed sk_app and the user's Pk_m:\n    ///\n    ///       (sk_m) ----> * G ----> Pk_m\n    ///         |                     |\n    ///         v                       We use the kernel to prove this\n    ///  h(sk_m, app_address)         | sk_app-Pk_m relationship, because app\n    ///         |                       circuits must not be trusted to see sk_m.\n    ///         v                     |\n    /// sk_app - -  - - - - - - -\n    ///\n    /// The function is named \"request_\" instead of \"get_\" to remind the user that a Key Validation Request will be\n    /// emitted to the kernel.\n    ///\n    fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n        let cached_request =\n            self.last_key_validation_requests[key_index as u32].unwrap_or(KeyValidationRequest::empty());\n\n        if cached_request.pk_m.hash() == pk_m_hash {\n            // We get a match so the cached request is the latest one\n            cached_request.sk_app\n        } else {\n            // We didn't get a match meaning the cached result is stale Typically we'd validate keys by showing that\n            // they are the preimage of `pk_m_hash`, but that'd require the oracle returning the master secret keys,\n            // which could cause malicious contracts to leak it or learn about secrets from other contracts. We\n            // therefore silo secret keys, and rely on the private kernel to validate that we siloed secret key\n            // corresponds to correct siloing of the master secret key that hashes to `pk_m_hash`.\n\n            // Safety: Kernels verify that the key validation request is valid and below we verify that a request for\n            // the correct public key has been received.\n            let request = unsafe { get_key_validation_request(pk_m_hash, key_index) };\n            assert(!request.pk_m.is_infinite, \"Infinite public key points are not allowed\");\n            assert_eq(request.pk_m.hash(), pk_m_hash, \"Obtained invalid key validation request\");\n\n            self.key_validation_requests_and_separators.push(\n                KeyValidationRequestAndSeparator {\n                    request,\n                    key_type_domain_separator: public_key_domain_separators[key_index as u32],\n                },\n            );\n            self.last_key_validation_requests[key_index as u32] = Option::some(request);\n            request.sk_app\n        }\n    }\n\n    /// Sends an \"L2 -> L1 message\" from this function (Aztec, L2) to a smart contract on Ethereum (L1). L1 contracts\n    /// which are designed to send/receive messages to/from Aztec are called \"Portal Contracts\".\n    ///\n    /// Common use cases include withdrawals, cross-chain asset transfers, and triggering L1 actions based on L2 state\n    /// changes.\n    ///\n    /// The message will be inserted into an Aztec \"Outbox\" contract on L1, when this transaction's block is proposed\n    /// to L1. Sending the message will not result in any immediate state changes in the target portal contract. The\n    /// message will need to be manually consumed from the Outbox through a separate Ethereum transaction: a user will\n    /// need to call a function of the portal contract -- a function specifically designed to make a call to the Outbox\n    /// to consume the message. The message will only be available for consumption once the _epoch_ proof has been\n    /// submitted. Given that there are multiple Aztec blocks within an epoch, it might take some time for this epoch\n    /// proof to be submitted -- especially if the block was near the start of an epoch.\n    ///\n    /// # Arguments\n    /// * `recipient` - Ethereum address that will receive the message\n    /// * `content` - Message content (32 bytes as a Field element). This content has a very\n    /// specific layout. docs:start:context_message_portal\n    pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n        let message = L2ToL1Message { recipient, content };\n        self.l2_to_l1_msgs.push(message.count(self.next_counter()));\n    }\n\n    /// Consumes a message sent from Ethereum (L1) to Aztec (L2).\n    ///\n    /// Common use cases include token bridging, cross-chain governance, and triggering L2 actions based on L1 events.\n    ///\n    /// Use this function if you only want the message to ever be \"referred to\" once. Once consumed using this method,\n    /// the message cannot be consumed again, because a nullifier is emitted. If your use case wants for the message to\n    /// be read unlimited times, then you can always read any historic message from the L1-to-L2 messages tree;\n    /// messages never technically get deleted from that tree.\n    ///\n    /// The message will first be inserted into an Aztec \"Inbox\" smart contract on L1. Sending the message will not\n    /// result in any immediate state changes in the target L2 contract. The message will need to be manually consumed\n    /// by the target contract through a separate Aztec transaction. The message will not be available for consumption\n    /// immediately. Messages get copied over from the L1 Inbox to L2 by the next Proposer in batches. So you will need\n    /// to wait until the messages are copied before you can consume them.\n    ///\n    /// # Arguments\n    /// * `content` - The message content that was sent from L1\n    /// * `secret` - Secret value used for message privacy (if needed)\n    /// * `sender` - Ethereum address that sent the message\n    /// * `leaf_index` - Index of the message in the L1-to-L2 message tree\n    ///\n    /// # Advanced\n    /// Validates message existence in the L1-to-L2 message tree and nullifies the message to prevent\n    /// double-consumption.\n    pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, leaf_index: Field) {\n        let nullifier = process_l1_to_l2_message(\n            self.anchor_block_header.state.l1_to_l2_message_tree.root,\n            self.this_address(),\n            sender,\n            self.chain_id(),\n            self.version(),\n            content,\n            secret,\n            leaf_index,\n        );\n\n        // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n        self.push_nullifier(nullifier)\n    }\n\n    /// Emits a private log (an array of Fields) that will be published to an Ethereum blob.\n    ///\n    /// Private logs are intended for the broadcasting of ciphertexts: that is, encrypted events or encrypted note\n    /// contents. Since the data in the logs is meant to be _encrypted_, private_logs are broadcast to publicly-visible\n    /// Ethereum blobs. The intended recipients of such encrypted messages can then discover and decrypt these\n    /// encrypted logs using their viewing secret key. (See `../messages/discovery` for more details).\n    ///\n    /// Important note: This function DOES NOT _do_ any encryption of the input `log` fields. This function blindly\n    /// publishes whatever input `log` data is fed into it, so the caller of this function should have already\n    /// performed the encryption, and the `log` should be the result of that encryption.\n    ///\n    /// The protocol does not dictate what encryption scheme should be used: a smart contract developer can choose\n    /// whatever encryption scheme they like. Aztec-nr includes some off-the-shelf encryption libraries that developers\n    /// might wish to use, for convenience. These libraries not only encrypt a plaintext (to produce a ciphertext);\n    /// they also prepend the ciphertext with a `tag` and `ephemeral public key` for easier message discovery. This is\n    /// a very dense topic, and we will be writing more libraries and docs soon.\n    ///\n    /// > Currently, AES128 CBC encryption is the main scheme included in > aztec.nr. > We are currently making\n    /// significant changes to the interfaces of the > encryption library.\n    ///\n    /// In some niche use cases, an app might be tempted to publish _un-encrypted_ data via a private log, because\n    /// _public logs_ are not available to private functions. Be warned that emitting public data via private logs is\n    /// strongly discouraged, and is considered a \"privacy anti-pattern\", because it reveals identifiable information\n    /// about _which_ function has been executed. A tx which leaks such information does not contribute to the privacy\n    /// set of the network.\n    ///\n    /// * Unlike `emit_raw_note_log_unsafe`, this log is not tied to any specific note\n    ///\n    /// # Arguments\n    /// * `tag` - A tag placed at `fields[0]` of the emitted log. Used by recipients and nodes to identify and\n    /// filter for relevant logs without scanning all of them.\n    /// * `log` - The log data that will be publicly broadcast (so make sure it's already been encrypted before you\n    /// call this function). Private logs are bounded in size (`PRIVATE_LOG_CIPHERTEXT_LEN`), to encourage all logs\n    /// from all smart contracts look identical.\n    /// * `length` - The actual length of `log` (measured in number of Fields). Although the input log has a max\n    /// size of `PRIVATE_LOG_CIPHERTEXT_LEN`, the latter values of the array might all be 0's for small logs. This\n    /// `length` should reflect the trimmed length of the array. The protocol's kernel circuits can then append\n    /// random fields as \"padding\" after the `length`, so that the logs of this smart contract look\n    /// indistinguishable from (the same length as) the logs of all other applications. It's up to wallets how much\n    /// padding to apply, so ideally all wallets should agree on standards for this.\n    ///\n    /// ## Safety\n    ///\n    /// The `tag` should be domain-separated (e.g. via [`crate::protocol::hash::compute_log_tag`]) to prevent\n    /// collisions between logs from different sources. Without domain separation, two unrelated log types that\n    /// happen to share a raw tag value become indistinguishable. Prefer the higher-level APIs\n    /// ([`crate::messages::message_delivery::MessageDelivery`] for messages, `self.emit(event)` for events) which\n    /// handle tagging automatically.\n    pub fn emit_private_log_unsafe(&mut self, tag: Field, log: [Field; PRIVATE_LOG_CIPHERTEXT_LEN], length: u32) {\n        let counter = self.next_counter();\n        let full_log = [tag].concat(log);\n        self.private_logs.push(PrivateLogData { log: PrivateLog::new(full_log, length + 1), note_hash_counter: 0 }\n            .count(counter));\n    }\n\n    // TODO: rename.\n    /// Emits a private log that is explicitly tied to a newly-emitted note_hash, to convey to the kernel: \"this log\n    /// relates to this note\".\n    ///\n    /// This linkage is important in case the note gets squashed (due to being read later in this same tx), since we\n    /// can then squash the log as well.\n    ///\n    /// See `emit_private_log_unsafe` for more info about private log emission.\n    ///\n    /// # Arguments\n    /// * `tag` - A tag placed at `fields[0]`. See `emit_private_log_unsafe`.\n    /// * `log` - The log data as an array of Field elements\n    /// * `length` - The actual length of the `log` (measured in number of Fields).\n    /// * `note_hash_counter` - The side-effect counter that was assigned to the new note_hash when it was pushed to\n    /// this `PrivateContext`.\n    ///\n    /// Important: If your application logic requires the log to always be emitted regardless of note squashing,\n    /// consider using `emit_private_log_unsafe` instead, or emitting additional events.\n    ///\n    /// ## Safety\n    ///\n    /// Same as [`PrivateContext::emit_private_log_unsafe`]: the `tag` should be domain-separated.\n    pub fn emit_raw_note_log_unsafe(\n        &mut self,\n        tag: Field,\n        log: [Field; PRIVATE_LOG_CIPHERTEXT_LEN],\n        length: u32,\n        note_hash_counter: u32,\n    ) {\n        let counter = self.next_counter();\n        let full_log = [tag].concat(log);\n        let private_log = PrivateLogData { log: PrivateLog::new(full_log, length + 1), note_hash_counter };\n        self.private_logs.push(private_log.count(counter));\n    }\n\n    pub fn emit_contract_class_log<let N: u32>(&mut self, log: [Field; N]) {\n        let contract_address = self.this_address();\n        let counter = self.next_counter();\n\n        let log_to_emit: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS] =\n            log.concat([0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - N]);\n        // Note: the length is not always N, it is the number of fields we want to broadcast, omitting trailing zeros\n        // to save blob space.\n        // Safety: The below length is constrained in the base rollup, which will make sure that all the fields beyond\n        // length are zero. However, it won't be able to check that we didn't add extra padding (trailing zeroes) or\n        // that we cut trailing zeroes from the end.\n        let length = unsafe { trimmed_array_length_hint(log_to_emit) };\n        // We hash the entire padded log to ensure a user cannot pass a shorter length and so emit incorrect shorter\n        // bytecode.\n        let log_hash = poseidon2_hash(log_to_emit);\n        // Safety: the below only exists to broadcast the raw log, so we can provide it to the base rollup later to be\n        // constrained.\n        unsafe {\n            notify_created_contract_class_log(contract_address, log_to_emit, length, counter);\n        }\n\n        self.contract_class_logs_hashes.push(LogHash { value: log_hash, length: length }.count(counter));\n    }\n\n    /// Calls a private function on another contract (or the same contract).\n    ///\n    /// Very low-level function.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args` - Array of arguments to pass to the called function\n    ///\n    /// # Returns\n    /// * `ReturnsHash` - Hash of the called function's return values. Use `.get_preimage()` to extract the actual\n    /// return values.\n    ///\n    /// This enables contracts to interact with each other while maintaining privacy. This \"composability\" of private\n    /// contract functions is a key feature of the Aztec network.\n    ///\n    /// If a user's transaction includes multiple private function calls, then by the design of Aztec, the following\n    /// information will remain private[1]:\n    /// - The function selectors and contract addresses of all private function calls will remain private, so an\n    /// observer of the public mempool will not be able to look at a tx and deduce which private functions have been\n    /// executed.\n    /// - The arguments and return values of all private function calls will remain private.\n    /// - The person who initiated the tx will remain private.\n    /// - The notes and nullifiers and private logs that are emitted by all private function calls will (if designed\n    /// well) not leak any user secrets, nor leak which functions have been executed.\n    ///\n    /// [1] Caveats: Some of these privacy guarantees depend on how app developers design their smart contracts. Some\n    /// actions _can_ leak information, such as:\n    /// - Calling an internal public function.\n    /// - Calling a public function and not setting msg_sender to Option::none (feature not built yet - see github).\n    /// - Calling any public function will always leak details about the nature of the transaction, so devs should be\n    /// careful in their contract designs. If it can be done in a private function, then that will give the best\n    /// privacy.\n    /// - Not padding the side-effects of a tx to some standardized, uniform size. The kernel circuits can take hints\n    /// to pad side-effects, so a wallet should be able to request for a particular amount of padding. Wallets should\n    /// ideally agree on some standard.\n    /// - Padding should include:\n    /// - Padding the lengths of note & nullifier arrays\n    /// - Padding private logs with random fields, up to some standardized size. See also:\n    /// https://docs.aztec.network/developers/resources/considerations/privacy_considerations\n    ///\n    /// # Advanced\n    /// * The call is added to the private call stack and executed by kernel circuits after this function completes\n    /// * The called function can modify its own contract's private state\n    /// * Side effects from the called function are included in this transaction\n    /// * The call inherits the current transaction's context and gas limits\n    ///\n    pub fn call_private_function<let ArgsCount: u32>(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; ArgsCount],\n    ) -> ReturnsHash {\n        let args_hash = hash_args(args);\n        execution_cache::store(args, args_hash);\n        self.call_private_function_with_args_hash(contract_address, function_selector, args_hash, false)\n    }\n\n    /// Makes a read-only call to a private function on another contract.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state, emit L2->L2 messages, nor\n    /// emit events. Any nested calls are constrained to also be staticcalls.\n    ///\n    /// See `call_private_function` for more general info on private function calls.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract to call\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args` - Array of arguments to pass to the called function\n    ///\n    /// # Returns\n    /// * `ReturnsHash` - Hash of the called function's return values. Use `.get_preimage()` to extract the actual\n    /// return values.\n    ///\n    pub fn static_call_private_function<let ArgsCount: u32>(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; ArgsCount],\n    ) -> ReturnsHash {\n        let args_hash = hash_args(args);\n        execution_cache::store(args, args_hash);\n        self.call_private_function_with_args_hash(contract_address, function_selector, args_hash, true)\n    }\n\n    /// Calls a private function that takes no arguments.\n    ///\n    /// This is a convenience function for calling private functions that don't require any input parameters. It's\n    /// equivalent to `call_private_function` but slightly more efficient to use when no arguments are needed.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    ///\n    /// # Returns\n    /// * `ReturnsHash` - Hash of the called function's return values. Use `.get_preimage()` to extract the actual\n    /// return values.\n    ///\n    pub fn call_private_function_no_args(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n    ) -> ReturnsHash {\n        self.call_private_function_with_args_hash(contract_address, function_selector, 0, false)\n    }\n\n    /// Makes a read-only call to a private function which takes no arguments.\n    ///\n    /// This combines the optimisation of `call_private_function_no_args` with the safety of\n    /// `static_call_private_function`.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    ///\n    /// # Returns\n    /// * `ReturnsHash` - Hash of the called function's return values. Use `.get_preimage()` to extract the actual\n    /// return values.\n    ///\n    pub fn static_call_private_function_no_args(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n    ) -> ReturnsHash {\n        self.call_private_function_with_args_hash(contract_address, function_selector, 0, true)\n    }\n\n    /// Low-level private function call.\n    ///\n    /// This is the underlying implementation used by all other private function call methods. Instead of taking raw\n    /// arguments, it accepts a hash of the arguments.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args_hash` - Pre-computed hash of the function arguments\n    /// * `is_static_call` - Whether this should be a read-only call\n    ///\n    /// # Returns\n    /// * `ReturnsHash` - Hash of the called function's return values\n    ///\n    pub fn call_private_function_with_args_hash(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args_hash: Field,\n        is_static_call: bool,\n    ) -> ReturnsHash {\n        let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n        let start_side_effect_counter = self.side_effect_counter;\n\n        // Safety: The oracle simulates the private call and returns the value of the side effects counter after\n        // execution of the call (which means that end_side_effect_counter - start_side_effect_counter is the number of\n        // side effects that took place), along with the hash of the return values. We validate these by requesting a\n        // private kernel iteration in which the return values are constrained to hash to `returns_hash` and the side\n        // effects counter to increment from start to end.\n        let (end_side_effect_counter, returns_hash) = unsafe {\n            call_private_function_internal(\n                contract_address,\n                function_selector,\n                args_hash,\n                start_side_effect_counter,\n                is_static_call,\n            )\n        };\n\n        self.private_call_requests.push(\n            PrivateCallRequest {\n                call_context: CallContext {\n                    msg_sender: self.this_address(),\n                    contract_address,\n                    function_selector,\n                    is_static_call,\n                },\n                args_hash,\n                returns_hash,\n                start_side_effect_counter,\n                end_side_effect_counter,\n            },\n        );\n\n        // TODO (fees) figure out why this crashes the prover and enable it we need this in order to pay fees inside\n        // child call contexts assert(\n        //     (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n        //     | (item.public_inputs.min_revertible_side_effect_counter\n        //         > self.min_revertible_side_effect_counter)\n        // ); if item.public_inputs.min_revertible_side_effect_counter\n        //     > self.min_revertible_side_effect_counter { self.min_revertible_side_effect_counter =\n        // item.public_inputs.min_revertible_side_effect_counter; }\n        self.side_effect_counter = end_side_effect_counter + 1; // TODO: call `next_counter`\n        // instead, for consistency\n        ReturnsHash::new(returns_hash)\n    }\n\n    /// Enqueues a call to a public function to be executed later.\n    ///\n    /// Unlike private functions which execute immediately on the user's device, public function calls are \"enqueued\"\n    /// and executed some time later by a block proposer.\n    ///\n    /// This means a public function cannot return any values back to a private function, because by the time the\n    /// public function is being executed, the private function which called it has already completed execution. (In\n    /// fact, the private function has been executed and proven, along with all other private function calls of the\n    /// user's tx. A single proof of the tx has been submitted to the Aztec network, and some time later a proposer has\n    /// picked the tx up from the mempool and begun executing all of the enqueued public functions).\n    ///\n    /// # Privacy warning Enqueueing a public function call is an inherently leaky action. Many interesting applications will require some interaction with public state, but smart contract developers should try to use public function calls sparingly, and carefully. _Internal_ public function calls are especially leaky, because they completely leak which private contract made the call. See also: https://docs.aztec.network/developers/resources/considerations/privacy_considerations\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args` - Array of arguments to pass to the public function\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn call_public_function<let ArgsCount: u32>(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; ArgsCount],\n        hide_msg_sender: bool,\n    ) {\n        let calldata = [function_selector.to_field()].concat(args);\n        let calldata_hash = hash_calldata_array(calldata);\n        execution_cache::store(calldata, calldata_hash);\n        self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false, hide_msg_sender)\n    }\n\n    /// Enqueues a read-only call to a public function.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state or emit events. Any nested\n    /// calls are constrained to also be staticcalls.\n    ///\n    /// See also `call_public_function` for more important information about making private -> public function calls.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args` - Array of arguments to pass to the public function\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn static_call_public_function<let ArgsCount: u32>(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; ArgsCount],\n        hide_msg_sender: bool,\n    ) {\n        let calldata = [function_selector.to_field()].concat(args);\n        let calldata_hash = hash_calldata_array(calldata);\n        execution_cache::store(calldata, calldata_hash);\n        self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true, hide_msg_sender)\n    }\n\n    /// Enqueues a call to a public function that takes no arguments.\n    ///\n    /// This is an optimisation for calling public functions that don't take any input parameters. It's otherwise\n    /// equivalent to `call_public_function`.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn call_public_function_no_args(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        hide_msg_sender: bool,\n    ) {\n        let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n        self.call_public_function_with_calldata_hash(contract_address, calldata_hash, false, hide_msg_sender)\n    }\n\n    /// Enqueues a read-only call to a public function with no arguments.\n    ///\n    /// This combines the optimisation of `call_public_function_no_args` with the safety of\n    /// `static_call_public_function`.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn static_call_public_function_no_args(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        hide_msg_sender: bool,\n    ) {\n        let calldata_hash = hash_calldata_array([function_selector.to_field()]);\n        self.call_public_function_with_calldata_hash(contract_address, calldata_hash, true, hide_msg_sender)\n    }\n\n    /// Low-level public function call.\n    ///\n    /// This is the underlying implementation used by all other public function call methods. Instead of taking raw\n    /// arguments, it accepts a hash of the arguments.\n    ///\n    /// Advanced function: Most developers should use `call_public_function` or `static_call_public_function` instead.\n    /// This function is exposed for performance optimization and advanced use cases.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the function\n    /// * `calldata_hash` - Hash of the function calldata\n    /// * `is_static_call` - Whether this should be a read-only call\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn call_public_function_with_calldata_hash(\n        &mut self,\n        contract_address: AztecAddress,\n        calldata_hash: Field,\n        is_static_call: bool,\n        hide_msg_sender: bool,\n    ) {\n        let counter = self.next_counter();\n\n        let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n        assert_valid_public_call_data(calldata_hash);\n\n        let msg_sender = if hide_msg_sender {\n            NULL_MSG_SENDER_CONTRACT_ADDRESS\n        } else {\n            self.this_address()\n        };\n\n        let call_request = PublicCallRequest { msg_sender, contract_address, is_static_call, calldata_hash };\n\n        self.public_call_requests.push(Counted::new(call_request, counter));\n    }\n\n    /// Enqueues a public function call, and designates it to be the teardown function for this tx. Only one teardown\n    /// function call can be made by a tx.\n    ///\n    /// Niche function: Only wallet developers and paymaster contract developers (aka Fee-payment contracts) will need\n    /// to make use of this function.\n    ///\n    /// Aztec supports a three-phase execution model: setup, app logic, teardown. The phases exist to enable a fee\n    /// payer to take on the risk of paying a transaction fee, safe in the knowledge that their payment (in whatever\n    /// token or method the user chooses) will succeed, regardless of whether the app logic will succeed. The \"setup\"\n    /// phase ensures the fee payer has sufficient balance to pay the proposer their fees. The teardown phase is\n    /// primarily intended to: calculate exactly how much the user owes, based on gas consumption, and refund the user\n    /// any change.\n    ///\n    /// Note: in some cases, the cost of refunding the user (i.e. DA costs of tx side-effects) might exceed the refund\n    /// amount. For app logic with fairly stable and predictable gas consumption, a material refund amount is unlikely.\n    /// For app logic with unpredictable gas consumption, a refund might be important to the user (e.g. if a hefty\n    /// function reverts very early). Wallet/FPC/Paymaster developers should be mindful of this.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the teardown function\n    /// * `function_selector` - 4-byte identifier of the function to call\n    /// * `args` - An array of fields to pass to the function.\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    pub fn set_public_teardown_function<let ArgsCount: u32>(\n        &mut self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; ArgsCount],\n        hide_msg_sender: bool,\n    ) {\n        let calldata = [function_selector.to_field()].concat(args);\n        let calldata_hash = hash_calldata_array(calldata);\n        execution_cache::store(calldata, calldata_hash);\n        self.set_public_teardown_function_with_calldata_hash(contract_address, calldata_hash, false, hide_msg_sender)\n    }\n\n    /// Low-level function to set the public teardown function.\n    ///\n    /// This is the underlying implementation for setting the teardown function call that will execute at the end of\n    /// the transaction. Instead of taking raw arguments, it accepts a hash of the arguments.\n    ///\n    /// Advanced function: Most developers should use `set_public_teardown_function` instead.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract containing the teardown function\n    /// * `calldata_hash` - Hash of the function calldata\n    /// * `is_static_call` - Whether this should be a read-only call\n    /// * `hide_msg_sender` - the called function will see a \"null\" value for `msg_sender` if set to `true`\n    ///\n    pub fn set_public_teardown_function_with_calldata_hash(\n        &mut self,\n        contract_address: AztecAddress,\n        calldata_hash: Field,\n        is_static_call: bool,\n        hide_msg_sender: bool,\n    ) {\n        let is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n\n        assert_valid_public_call_data(calldata_hash);\n\n        let msg_sender = if hide_msg_sender {\n            NULL_MSG_SENDER_CONTRACT_ADDRESS\n        } else {\n            self.this_address()\n        };\n\n        self.public_teardown_call_request =\n            PublicCallRequest { msg_sender, contract_address, is_static_call, calldata_hash };\n    }\n\n    /// Increments the side-effect counter.\n    ///\n    /// Very low-level function.\n    ///\n    /// # Advanced\n    ///\n    /// Every side-effect of a private function is given a \"side-effect counter\", based on when it is created. This\n    /// PrivateContext is in charge of assigning the counters.\n    ///\n    /// The reason we have side-effect counters is complicated. Consider this illustrative pseudocode of inter-contract\n    /// function calls:\n    /// ```\n    /// contract A {\n    ///    let x = 5; // pseudocode for storage var x.\n    ///    fn a1 {\n    ///        read x; // value: 5, counter: 1.\n    ///        x = x + 1;\n    ///        write x; // value: 6, counter: 2.\n    ///\n    ///        B.b(); // start_counter: 2, end_counter: 4\n    ///\n    ///        read x; // value: 36, counter: 5.\n    ///        x = x + 1;\n    ///        write x; // value: 37, counter: 6.\n    ///    }\n    ///\n    ///    fn a2 {\n    ///        read x; // value: 6, counter: 3.\n    ///        x = x * x;\n    ///        write x; // value: 36, counter: 4.\n    ///    }\n    /// }\n    ///\n    /// contract B {\n    ///     fn b() {\n    ///         A.a2();\n    ///     }\n    /// }\n    /// ```\n    ///\n    /// Suppose a1 is the first function called. The comments show the execution counter of each side-effect, and what\n    /// the new value of `x` is.\n    ///\n    /// These (private) functions are processed by Aztec's kernel circuits in an order that is different from execution\n    /// order: All of A.a1 is proven before B.b is proven, before A.a2 is proven. So when we're in the 2nd execution\n    /// frame of A.a1 (after the call to B.b), the circuit needs to justify why x went from being `6` to `36`. But the\n    /// circuit doesn't know why, and given the order of proving, the kernel hasn't _seen_ a value of 36 get written\n    /// yet. The kernel needs to track big arrays of all side-effects of all private functions in a tx. Then, as it\n    /// recurses and processes B.b(), it will eventually see a value of 36 get written.\n    ///\n    /// Suppose side-effect counters weren't exposed: The kernel would only see this ordering (in order of proof\n    /// verification): [ A.a1.read, A.a1.write, A.a1.read, A.a1.write, A.a2.read, A.a2.write ]\n    /// [         5,          6,        36,         37,         6,         36 ]\n    /// The kernel wouldn't know _when_ B.b() was called within A.a1(), because it can't see what's going on within an\n    /// app circuit. So the kernel wouldn't know that the ordering of reads and writes should actually be: [ A.a1.read,\n    /// A.a1.write, A.a2.read, A.a2.write, A.a1.read, A.a1.write ]\n    /// [         5,          6,        6,         36,         36,         37 ]\n    ///\n    /// And so, we introduced side-effect counters: every private function must assign side-effect counters alongside\n    /// every side-effect that it emits, and also expose to the kernel the counters that it started and ended with.\n    /// This gives the kernel enough information to arrange all side-effects in the correct order. It can then catch\n    /// (for example) if a function tries to read state before it has been written (e.g. if A.a2() maliciously tried to\n    /// read a value of x=37) (e.g. if A.a1() maliciously tried to read x=6).\n    ///\n    /// If a malicious app contract _lies_ and does not count correctly:\n    /// - It cannot lie about its start and end counters because the kernel will catch this.\n    /// - It _could_ lie about its intermediate counters:\n    /// - 1. It could not increment its side-effects correctly\n    /// - 2. It could label its side-effects with counters outside of its start and end counters' range. The kernel\n    /// will catch 2. The kernel will not catch 1., but this would only cause corruption to the private state of the\n    /// malicious contract, and not any other contracts (because a contract can only modify its own state). If a \"good\"\n    /// contract is given _read access_ to a maliciously-counting contract (via an external getter function, or by\n    /// reading historic state from the archive tree directly), and they then make state changes to their _own_ state\n    /// accordingly, that could be dangerous. Developers should be mindful not to trust the claimed innards of external\n    /// contracts unless they have audited/vetted the contracts including vetting the side-effect counter\n    /// incrementation. This is a similar paradigm to Ethereum smart contract development: you must vet external\n    /// contracts that your contract relies upon, and you must not make any presumptions about their claimed behaviour.\n    /// (Hopefully if a contract imports a version of aztec-nr, we will get contract verification tooling that can\n    /// validate the authenticity of the imported aztec-nr package, and hence infer that the side- effect counting will\n    /// be correct, without having to re-audit such logic for every contract).\n    ///\n    fn next_counter(&mut self) -> u32 {\n        let counter = self.side_effect_counter;\n        self.side_effect_counter += 1;\n        counter\n    }\n}\n\nimpl Empty for PrivateContext {\n    fn empty() -> Self {\n        PrivateContext {\n            inputs: PrivateContextInputs::empty(),\n            side_effect_counter: 0 as u32,\n            min_revertible_side_effect_counter: 0 as u32,\n            is_fee_payer: false,\n            args_hash: 0,\n            return_hash: 0,\n            expiration_timestamp: 0,\n            note_hash_read_requests: BoundedVec::new(),\n            nullifier_read_requests: BoundedVec::new(),\n            key_validation_requests_and_separators: BoundedVec::new(),\n            note_hashes: BoundedVec::new(),\n            nullifiers: BoundedVec::new(),\n            private_call_requests: BoundedVec::new(),\n            public_call_requests: BoundedVec::new(),\n            public_teardown_call_request: PublicCallRequest::empty(),\n            l2_to_l1_msgs: BoundedVec::new(),\n            anchor_block_header: BlockHeader::empty(),\n            private_logs: BoundedVec::new(),\n            contract_class_logs_hashes: BoundedVec::new(),\n            last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n            expected_non_revertible_side_effect_counter: 0,\n            expected_revertible_side_effect_counter: 0,\n        }\n    }\n}\n"
    },
    "86": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/public_context.nr",
      "source": "use crate::{\n    context::gas::GasOpts,\n    hash::{\n        compute_l1_to_l2_message_hash, compute_l1_to_l2_message_nullifier, compute_secret_hash,\n        compute_siloed_nullifier,\n    },\n    oracle::avm,\n};\nuse crate::protocol::{\n    abis::function_selector::FunctionSelector,\n    address::{AztecAddress, EthAddress},\n    constants::{MAX_U32_VALUE, NULL_MSG_SENDER_CONTRACT_ADDRESS},\n    traits::{Empty, FromField, Packable, Serialize, ToField},\n    utils::writer::Writer,\n};\n\n/// # PublicContext\n///\n/// The **main interface** between an #[external(\"public\")] function and the Aztec blockchain.\n///\n/// An instance of the PublicContext is initialized automatically at the outset of every public function, within the\n/// #[external(\"public\")] macro, so you'll never need to consciously instantiate this yourself.\n///\n/// The instance is always named `context`, and it will always be available within the body of every\n/// #[external(\"public\")] function in your smart contract.\n///\n/// Typical usage for a smart contract developer will be to call getter methods of the PublicContext.\n///\n/// _Pushing_ data and requests to the context is mostly handled within aztec-nr's own functions, so typically a smart\n/// contract developer won't need to call any setter methods directly.\n///\n/// ## Responsibilities\n/// - Exposes contextual data to a public function:\n/// - Data relating to how this public function was called:\n/// - msg_sender, this_address\n/// - Data relating to the current blockchain state:\n/// - timestamp, block_number, chain_id, version\n/// - Gas and fee information\n/// - Provides state access:\n/// - Read/write public storage (key-value mapping)\n/// - Check existence of notes and nullifiers (Some patterns use notes & nullifiers to store public (not private)\n/// information)\n///   - Enables consumption of L1->L2 messages.\n/// - Enables calls to other public smart contract functions:\n/// - Writes data to the blockchain:\n/// - Updates to public state variables\n/// - New public logs (for events)\n///   - New L2->L1 messages\n/// - New notes & nullifiers (E.g. pushing public info to notes/nullifiers, or for completing \"partial notes\")\n///\n/// ## Key Differences from Private Execution\n///\n/// Unlike private functions -- which are executed on the user's device and which can only reference historic state --\n/// public functions are executed by a block proposer and are executed \"live\" on the _current_ tip of the chain. This\n/// means public functions can:\n/// - Read and write _current_ public state\n/// - Immediately see the effects of earlier transactions in the same block\n///\n/// Also, public functions are executed within a zkVM (the \"AVM\"), so that they can _revert_ whilst still ensuring\n/// payment to the proposer and prover. (Private functions cannot revert: they either succeed, or they cannot be\n/// included).\n///\n/// ## Optimising Public Functions\n///\n/// Using the AVM to execute public functions means they compile down to \"AVM bytecode\" instead of the ACIR that\n/// private functions (standalone circuits) compile to. Therefore the approach to optimising a public function is\n/// fundamentally different from optimising a public function.\n///\npub struct PublicContext {\n    pub args_hash: Option<Field>,\n    pub compute_args_hash: fn() -> Field,\n}\n\nimpl Eq for PublicContext {\n    fn eq(self, other: Self) -> bool {\n        (self.args_hash == other.args_hash)\n        // Can't compare the function compute_args_hash\n    }\n}\n\nimpl PublicContext {\n    /// Creates a new PublicContext instance.\n    ///\n    /// Low-level function: This is called automatically by the #[external(\"public\")] macro, so you shouldn't need to\n    /// be called directly by smart contract developers.\n    ///\n    /// # Arguments\n    /// * `compute_args_hash` - Function to compute the args_hash\n    ///\n    /// # Returns\n    /// * A new PublicContext instance\n    ///\n    pub fn new(compute_args_hash: fn() -> Field) -> Self {\n        PublicContext { args_hash: Option::none(), compute_args_hash }\n    }\n\n    /// Emits a _public_ log that will be visible onchain to everyone.\n    ///\n    /// # Arguments\n    /// * `tag` - A tag placed at `fields[0]` of the emitted log. Nodes index logs by this value, allowing\n    /// clients to efficiently query for matching logs without scanning all of them.\n    /// * `log` - The data to log, must implement Serialize trait.\n    ///\n    /// ## Safety\n    ///\n    /// The `tag` should be domain-separated (e.g. via [`crate::protocol::hash::compute_log_tag`]) to prevent\n    /// collisions between logs from different sources. Without domain separation, two unrelated log types that\n    /// happen to share a raw tag value become indistinguishable. Prefer `self.emit(event)` for events, which\n    /// handles tagging automatically.\n    pub fn emit_public_log_unsafe<T>(_self: Self, tag: Field, log: T)\n    where\n        T: Serialize,\n    {\n        // We use a Writer to serialize the log directly after the tag, avoiding an extra O(n) copy that would\n        // result from serializing first and then prepending the tag.\n        let mut writer: Writer<1 + <T as Serialize>::N> = Writer::new();\n        writer.write(tag);\n        Serialize::stream_serialize(log, &mut writer);\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::emit_public_log(writer.finish().as_vector()) };\n    }\n\n    /// Checks if a given note hash exists in the note hash tree at a particular leaf_index.\n    ///\n    /// # Arguments\n    /// * `note_hash` - The note hash to check for existence\n    /// * `leaf_index` - The index where the note hash should be located\n    ///\n    /// # Returns\n    /// * `bool` - True if the note hash exists at the specified index\n    ///\n    pub fn note_hash_exists(_self: Self, note_hash: Field, leaf_index: u64) -> bool {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::note_hash_exists(note_hash, leaf_index) } == 1\n    }\n\n    /// Checks if a specific L1-to-L2 message exists in the L1-to-L2 message tree at a particular leaf index.\n    ///\n    /// Common use cases include token bridging, cross-chain governance, and triggering L2 actions based on L1 events.\n    ///\n    /// This function should be called before attempting to consume an L1-to-L2 message.\n    ///\n    /// # Arguments\n    /// * `msg_hash` - Hash of the L1-to-L2 message to check\n    /// * `msg_leaf_index` - The index where the message should be located\n    ///\n    /// # Returns\n    /// * `bool` - True if the message exists at the specified index\n    ///\n    /// # Advanced\n    /// * Uses the AVM l1_to_l2_msg_exists opcode for tree lookup\n    /// * Messages are copied from L1 Inbox to L2 by block proposers\n    ///\n    pub fn l1_to_l2_msg_exists(_self: Self, msg_hash: Field, msg_leaf_index: Field) -> bool {\n        // Safety: AVM opcodes are constrained by the AVM itself TODO(alvaro): Make l1l2msg leaf index a u64 upstream\n        unsafe { avm::l1_to_l2_msg_exists(msg_hash, msg_leaf_index as u64) } == 1\n    }\n\n    /// Returns `true` if an `unsiloed_nullifier` has been emitted by `contract_address`.\n    ///\n    /// Note that unsiloed nullifiers are not the actual values stored in the nullifier tree: they are first siloed via\n    /// [`crate::hash::compute_siloed_nullifier`] with the emitting contract's address.\n    ///\n    /// ## Use Cases\n    ///\n    /// Nullifiers are typically used as a _privacy-preserving_ record of a one-time action, but they can also be used\n    /// to efficiently record _public_ one-time actions as well. This is cheaper than using public storage, and has the\n    /// added benefit of the nullifier being emittable from a private function.\n    ///\n    /// An example is to check whether a contract has been published: we emit a nullifier that is deterministic and\n    /// which has a _public_ preimage.\n    ///\n    /// ## Public vs Private\n    ///\n    /// In general, one should not attempt to prove nullifier non-existence in private, as that will not consider the\n    /// possibility of the nullifier having been emitted in any transaction between the anchor block and the inclusion\n    /// block. Private functions instead prove existence via\n    /// [`crate::context::PrivateContext::assert_nullifier_exists`]\n    /// and 'prove' non-existence by _emitting_ the nullifer, which would cause the transaction to fail if the\n    /// nullifier existed.\n    ///\n    /// This is not the case in public functions, which **do** have access to the tip of the blockchain and so can\n    /// reliably prove whether a nullifier exists or not.\n    ///\n    /// ## Safety\n    ///\n    /// While it is safe to rely on this function's return value to determine if a nullifier exists or not, it is often\n    /// **not** safe to infer additional information from that. In particular, it is **unsafe** to infer that the\n    /// existence of a nullifier emitted from a private function implies that all other side-effects of said private\n    /// execution have been completed, more concretely that any enqueued public calls have been executed.\n    ///\n    /// For example, if a function in contract `A` privately emits nullifier `X` and then enqueues public function `Y`,\n    /// then it is **unsafe** for a contract `B` to infer that `Y` has alredy executed simply because `X` exists.\n    ///\n    /// This is because **all** private transaction effects are committed _before_ enqueued public functions are run\n    /// (in\n    /// order to not reveal detailed timing information about the transaction), so it is possible to observe a\n    /// nullifier that was emitted alongside the enqueuing of a public call **before** said call has been completed.\n    ///\n    /// ## Cost\n    ///\n    /// This emits the `CHECKNULLIFIEREXISTS` opcode, which conceptually performs a merkle inclusion proof on the\n    /// nullifier tree (both when the nullifier exists and when it doesn't).\n    pub fn nullifier_exists_unsafe(_self: Self, unsiloed_nullifier: Field, contract_address: AztecAddress) -> bool {\n        let siloed_nullifier = compute_siloed_nullifier(contract_address, unsiloed_nullifier);\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::nullifier_exists(siloed_nullifier) } == 1\n    }\n\n    /// Consumes a message sent from Ethereum (L1) to Aztec (L2) -- effectively marking it as \"read\".\n    ///\n    /// Use this function if you only want the message to ever be \"referred to\" once. Once consumed using this method,\n    /// the message cannot be consumed again, because a nullifier is emitted. If your use case wants for the message to\n    /// be read unlimited times, then you can always read any historic message from the L1-to-L2 messages tree, using\n    /// the `l1_to_l2_msg_exists` method. Messages never technically get deleted from that tree.\n    ///\n    /// The message will first be inserted into an Aztec \"Inbox\" smart contract on L1. It will not be available for\n    /// consumption immediately. Messages get copied-over from the L1 Inbox to L2 by the next Proposer in batches. So\n    /// you will need to wait until the messages are copied before you can consume them.\n    ///\n    /// # Arguments\n    /// * `content` - The message content that was sent from L1\n    /// * `secret` - Secret value used for message privacy (if needed)\n    /// * `sender` - Ethereum address that sent the message\n    /// * `leaf_index` - Index of the message in the L1-to-L2 message tree\n    ///\n    /// # Advanced\n    /// * Validates message existence in the L1-to-L2 message tree\n    /// * Prevents double-consumption by emitting a nullifier\n    /// * Message hash is computed from all parameters + chain context\n    /// * Will revert if message doesn't exist or was already consumed\n    ///\n    pub fn consume_l1_to_l2_message(self: Self, content: Field, secret: Field, sender: EthAddress, leaf_index: Field) {\n        let secret_hash = compute_secret_hash(secret);\n        let message_hash = compute_l1_to_l2_message_hash(\n            sender,\n            self.chain_id(),\n            /*recipient=*/\n            self.this_address(),\n            self.version(),\n            content,\n            secret_hash,\n            leaf_index,\n        );\n        let nullifier = compute_l1_to_l2_message_nullifier(message_hash, secret);\n\n        assert(!self.nullifier_exists_unsafe(nullifier, self.this_address()), \"L1-to-L2 message is already nullified\");\n        assert(self.l1_to_l2_msg_exists(message_hash, leaf_index), \"Tried to consume nonexistent L1-to-L2 message\");\n\n        self.push_nullifier(nullifier);\n    }\n\n    /// Sends an \"L2 -> L1 message\" from this function (Aztec, L2) to a smart contract on Ethereum (L1). L1 contracts\n    /// which are designed to send/receive messages to/from Aztec are called \"Portal Contracts\".\n    ///\n    /// Common use cases include withdrawals, cross-chain asset transfers, and triggering L1 actions based on L2 state\n    /// changes.\n    ///\n    /// The message will be inserted into an Aztec \"Outbox\" contract on L1, when this transaction's block is proposed\n    /// to L1. Sending the message will not result in any immediate state changes in the target portal contract. The\n    /// message will need to be manually consumed from the Outbox through a separate Ethereum transaction: a user will\n    /// need to call a function of the portal contract -- a function specifically designed to make a call to the Outbox\n    /// to consume the message. The message will only be available for consumption once the _epoch_ proof has been\n    /// submitted. Given that there are multiple Aztec blocks within an epoch, it might take some time for this epoch\n    /// proof to be submitted -- especially if the block was near the start of an epoch.\n    ///\n    /// # Arguments\n    /// * `recipient` - Ethereum address that will receive the message\n    /// * `content` - Message content (32 bytes as a Field element)\n    ///\n    pub fn message_portal(_self: Self, recipient: EthAddress, content: Field) {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::send_l2_to_l1_msg(recipient, content) };\n    }\n\n    /// Calls a public function on another contract.\n    ///\n    /// Will revert if the called function reverts or runs out of gas.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract to call\n    /// * `function_selector` - Function to call on the target contract\n    /// * `args` - Arguments to pass to the function\n    /// * `gas_opts` - An optional allocation of gas to the called function.\n    ///\n    /// # Returns\n    /// * `[Field]` - Return data from the called function\n    ///\n    pub unconstrained fn call_public_function<let N: u32>(\n        _self: Self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; N],\n        gas_opts: GasOpts,\n    ) -> [Field] {\n        let calldata = [function_selector.to_field()].concat(args);\n\n        avm::call(\n            gas_opts.l2_gas.unwrap_or(MAX_U32_VALUE),\n            gas_opts.da_gas.unwrap_or(MAX_U32_VALUE),\n            contract_address,\n            calldata,\n        );\n        // Use success_copy to determine whether the call succeeded\n        let success = avm::success_copy();\n\n        let result_data = avm::returndata_copy(0, avm::returndata_size());\n        if !success {\n            // Rethrow the revert data.\n            avm::revert(result_data);\n        }\n        result_data\n    }\n\n    /// Makes a read-only call to a public function on another contract.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state or emit events. Any nested\n    /// calls are constrained to also be staticcalls.\n    ///\n    /// Useful for querying data from other contracts safely.\n    ///\n    /// Will revert if the called function reverts or runs out of gas.\n    ///\n    /// # Arguments\n    /// * `contract_address` - Address of the contract to call\n    /// * `function_selector` - Function to call on the target contract\n    /// * `args` - Array of arguments to pass to the called function\n    /// * `gas_opts` - An optional allocation of gas to the called function.\n    ///\n    /// # Returns\n    /// * `[Field]` - Return data from the called function\n    ///\n    pub unconstrained fn static_call_public_function<let N: u32>(\n        _self: Self,\n        contract_address: AztecAddress,\n        function_selector: FunctionSelector,\n        args: [Field; N],\n        gas_opts: GasOpts,\n    ) -> [Field] {\n        let calldata = [function_selector.to_field()].concat(args);\n\n        avm::call_static(\n            gas_opts.l2_gas.unwrap_or(MAX_U32_VALUE),\n            gas_opts.da_gas.unwrap_or(MAX_U32_VALUE),\n            contract_address,\n            calldata,\n        );\n        // Use success_copy to determine whether the call succeeded\n        let success = avm::success_copy();\n\n        let result_data = avm::returndata_copy(0, avm::returndata_size());\n        if !success {\n            // Rethrow the revert data.\n            avm::revert(result_data);\n        }\n        result_data\n    }\n\n    /// Adds a new note hash to the Aztec blockchain's global Note Hash Tree.\n    ///\n    /// Notes are ordinarily constructed and emitted by _private_ functions, to ensure that both the content of the\n    /// note, and the contract that emitted the note, stay private.\n    ///\n    /// There are however some useful patterns whereby a note needs to contain _public_ data. The ability to push a new\n    /// note_hash from a _public_ function means that notes can be injected with public data immediately -- as soon as\n    /// the public value is known. The slower alternative would be to submit a follow-up transaction so that a private\n    /// function can inject the data. Both are possible on Aztec.\n    ///\n    /// Search \"Partial Note\" for a very common pattern which enables a note to be \"partially\" populated with some data\n    /// in a _private_ function, and then later \"completed\" with some data in a public function.\n    ///\n    /// # Arguments\n    /// * `note_hash` - The hash of the note to add to the tree\n    ///\n    /// # Advanced\n    /// * The note hash will be siloed with the contract address by the protocol\n    ///\n    pub fn push_note_hash(_self: Self, note_hash: Field) {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::emit_note_hash(note_hash) };\n    }\n\n    /// Creates a new [nullifier](crate::nullifier).\n    ///\n    /// While nullifiers are primarily intended as a _privacy-preserving_ record of a one-time action, they can also\n    /// be used to efficiently record _public_ one-time actions. This function allows creating nullifiers from public\n    /// contract functions, which behave just like those created from private functions.\n    ///\n    /// ## Safety\n    ///\n    /// This is a low-level function that must be used with great care to avoid subtle corruption of contract state.\n    ///\n    /// In particular, callers must ensure all nullifiers created by a contract are properly domain-separated, so that\n    /// unrelated components don't interfere with one another (e.g. a transaction nullifier accidentally marking a\n    /// variable as initialized). Note nullifiers should only be created via\n    /// [`crate::context::PrivateContext::push_nullifier_for_note_hash`].\n    ///\n    /// ## Advanced\n    ///\n    /// The raw `nullifier` is not what is inserted into the Aztec state tree: it will be first siloed by contract\n    /// address via [`crate::protocol::hash::compute_siloed_nullifier`] in order to prevent accidental or malicious\n    /// interference of nullifiers from different contracts.\n    pub fn push_nullifier(_self: Self, nullifier: Field) {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::emit_nullifier(nullifier) };\n    }\n\n    /// Returns the address of the current contract being executed.\n    ///\n    /// This is equivalent to `address(this)` in Solidity (hence the name). Use this to identify the current contract's\n    /// address, commonly needed for access control or when interacting with other contracts.\n    ///\n    /// # Returns\n    /// * `AztecAddress` - The contract address of the current function being executed.\n    ///\n    pub fn this_address(_self: Self) -> AztecAddress {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::address()\n        }\n    }\n\n    /// Returns the contract address that initiated this function call.\n    ///\n    /// This is similar to `msg.sender` in Solidity (hence the name).\n    ///\n    /// Important Note: If the calling function is a _private_ function, then it had the option of hiding its address\n    /// when enqueuing this public function call. In such cases, this method will return `Option<AztecAddress>::none`.\n    /// If the calling function is a _public_ function, it will always return an `Option<AztecAddress>::some` (i.e. a\n    /// non-null value).\n    ///\n    /// # Returns\n    /// * `Option<AztecAddress>` - The address of the smart contract that called this function (be it an app contract\n    /// or a user's account contract).\n    ///\n    /// # Advanced\n    /// * Value is provided by the AVM sender opcode\n    /// * In nested calls, this is the immediate caller, not the original transaction sender\n    ///\n    pub fn maybe_msg_sender(_self: Self) -> Option<AztecAddress> {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        let maybe_msg_sender = unsafe { avm::sender() };\n        if maybe_msg_sender == NULL_MSG_SENDER_CONTRACT_ADDRESS {\n            Option::none()\n        } else {\n            Option::some(maybe_msg_sender)\n        }\n    }\n\n    /// Returns the function selector of the currently-executing function.\n    ///\n    /// This is similar to `msg.sig` in Solidity, returning the first 4 bytes of the function signature.\n    ///\n    /// # Returns\n    /// * `FunctionSelector` - The 4-byte function identifier\n    ///\n    /// # Advanced\n    /// * Extracted from the first element of calldata\n    /// * Used internally for function dispatch in the AVM\n    ///\n    pub fn selector(_self: Self) -> FunctionSelector {\n        // The selector is the first element of the calldata when calling a public function through dispatch.\n        // Safety: AVM opcodes are constrained by the AVM itself.\n        let raw_selector: [Field; 1] = unsafe { avm::calldata_copy(0, 1) };\n        FunctionSelector::from_field(raw_selector[0])\n    }\n\n    /// Returns the hash of the arguments passed to the current function.\n    ///\n    /// Very low-level function: The #[external(\"public\")] macro uses this internally. Smart contract developers\n    /// typically won't need to access this directly as arguments are automatically made available.\n    ///\n    /// # Returns\n    /// * `Field` - Hash of the function arguments\n    ///\n    pub fn get_args_hash(mut self) -> Field {\n        if !self.args_hash.is_some() {\n            self.args_hash = Option::some((self.compute_args_hash)());\n        }\n\n        self.args_hash.unwrap_unchecked()\n    }\n\n    /// Returns the \"transaction fee\" for the current transaction. This is the final tx fee that will be deducted from\n    /// the fee_payer's \"fee-juice\" balance (in the protocol's Base Rollup circuit).\n    ///\n    /// # Returns\n    /// * `Field` - The actual, final cost of the transaction, taking into account: the actual gas used during the\n    /// setup and app-logic phases, and the fixed amount of gas that's been allocated by the user for the teardown\n    /// phase. I.e. effectiveL2FeePerGas * l2GasUsed + effectiveDAFeePerGas * daGasUsed\n    ///\n    /// This will return `0` during the \"setup\" and \"app-logic\" phases of tx execution (because the final tx fee is not\n    /// known at that time). This will only return a nonzero value during the \"teardown\" phase of execution, where the\n    /// final tx fee can actually be computed.\n    ///\n    /// Regardless of _when_ this function is called during the teardown phase, it will always return the same final tx\n    /// fee value. The teardown phase does not consume a variable amount of gas: it always consumes a pre-allocated\n    /// amount of gas, as specified by the user when they generate their tx.\n    ///\n    pub fn transaction_fee(_self: Self) -> Field {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::transaction_fee()\n        }\n    }\n\n    /// Returns the chain ID of the current network.\n    ///\n    /// This is similar to `block.chainid` in Solidity. Returns the unique identifier for the blockchain network this\n    /// transaction is executing on.\n    ///\n    /// Helps prevent cross-chain replay attacks. Useful if implementing multi-chain contract logic.\n    ///\n    /// # Returns\n    /// * `Field` - The chain ID as a field element\n    ///\n    pub fn chain_id(_self: Self) -> Field {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::chain_id()\n        }\n    }\n\n    /// Returns the Aztec protocol version that this transaction is executing under. Different versions may have\n    /// different rules, opcodes, or cryptographic primitives.\n    ///\n    /// This is similar to how Ethereum has different EVM versions.\n    ///\n    /// Useful for forward/backward compatibility checks\n    ///\n    /// Not to be confused with contract versions; this is the protocol version.\n    ///\n    /// # Returns\n    /// * `Field` - The protocol version as a field element\n    ///\n    pub fn version(_self: Self) -> Field {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::version()\n        }\n    }\n    /// Returns the current block number.\n    ///\n    /// This is similar to `block.number` in Solidity.\n    ///\n    /// Note: the current block number is only available within a public function (as opposed to a private function).\n    ///\n    /// Note: the time intervals between blocks should not be relied upon as being consistent:\n    /// - Timestamps of blocks fall within a range, rather than at exact regular intervals.\n    /// - Slots can be missed.\n    /// - Protocol upgrades can completely change the intervals between blocks (and indeed the current roadmap plans to\n    /// reduce the time between blocks, eventually). Use `context.timestamp()` for more-reliable time-based logic.\n    ///\n    /// # Returns\n    /// * `u32` - The current block number\n    ///\n    pub fn block_number(_self: Self) -> u32 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::block_number()\n        }\n    }\n\n    /// Returns the timestamp of the current block.\n    ///\n    /// This is similar to `block.timestamp` in Solidity.\n    ///\n    /// All functions of all transactions in a block share the exact same timestamp (even though technically each\n    /// transaction is executed one-after-the-other).\n    ///\n    /// Important note: Timestamps of Aztec blocks are not at reliably-fixed intervals. The proposer of the block has\n    /// some flexibility to choose a timestamp which is in a valid _range_: Obviously the timestamp of this block must\n    /// be strictly greater than that of the previous block, and must must be less than the timestamp of whichever\n    /// ethereum block the aztec block is proposed to. Furthermore, if the timestamp is not deemed close enough to the\n    /// actual current time, the committee of validators will not attest to the block.\n    ///\n    /// # Returns\n    /// * `u64` - Unix timestamp in seconds\n    ///\n    pub fn timestamp(_self: Self) -> u64 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::timestamp()\n        }\n    }\n\n    /// Returns the fee per unit of L2 gas for this transaction (aka the \"L2 gas price\"), as chosen by the user.\n    ///\n    /// L2 gas covers the cost of executing public functions and handling side-effects within the AVM.\n    ///\n    /// # Returns\n    /// * `u128` - Fee per unit of L2 gas\n    ///\n    /// Wallet developers should be mindful that the choice of gas price (which is publicly visible) can leak\n    /// information about the user, e.g.:\n    /// - which wallet software the user is using;\n    /// - the amount of time which has elapsed from the time the user's wallet chose a gas price (at the going rate),\n    /// to the time of tx submission. This can give clues about the proving time, and hence the nature of the tx.\n    /// - the urgency of the transaction (which is kind of unavoidable, if the tx is indeed urgent).\n    /// - the wealth of the user.\n    /// - the exact user (if the gas price is explicitly chosen by the user to be some unique number like 0.123456789,\n    /// or their favorite number). Wallet devs might wish to consider fuzzing the choice of gas price.\n    ///\n    pub fn min_fee_per_l2_gas(_self: Self) -> u128 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::min_fee_per_l2_gas()\n        }\n    }\n\n    /// Returns the fee per unit of DA (Data Availability) gas (aka the \"DA gas price\").\n    ///\n    /// DA gas covers the cost of making transaction data available on L1.\n    ///\n    /// See the warning in `min_fee_per_l2_gas` for how gas prices can be leaky.\n    ///\n    /// # Returns\n    /// * `u128` - Fee per unit of DA gas\n    ///\n    pub fn min_fee_per_da_gas(_self: Self) -> u128 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::min_fee_per_da_gas()\n        }\n    }\n\n    /// Returns the remaining L2 gas available for this transaction.\n    ///\n    /// Different AVM opcodes consume different amounts of gas.\n    ///\n    /// # Returns\n    /// * `u32` - Remaining L2 gas units\n    ///\n    pub fn l2_gas_left(_self: Self) -> u32 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::l2_gas_left()\n        }\n    }\n\n    /// Returns the remaining DA (Data Availability) gas available for this transaction.\n    ///\n    /// DA gas is consumed when emitting data that needs to be made available on L1, such as public logs or state\n    /// updates. All of the side-effects from the private part of the tx also consume DA gas before execution of any\n    /// public functions even begins.\n    ///\n    /// # Returns\n    /// * `u32` - Remaining DA gas units\n    ///\n    pub fn da_gas_left(_self: Self) -> u32 {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe {\n            avm::da_gas_left()\n        }\n    }\n\n    /// Checks if the current execution is within a staticcall context, where no state changes or logs are allowed to\n    /// be emitted (by this function or any nested function calls).\n    ///\n    /// # Returns\n    /// * `bool` - True if in staticcall context, false otherwise\n    ///\n    pub fn is_static_call(_self: Self) -> bool {\n        // Safety: AVM opcodes are constrained by the AVM itself\n        unsafe { avm::is_static_call() } == 1\n    }\n\n    /// Reads raw field values from public storage. Reads N consecutive storage slots starting from the given slot.\n    ///\n    /// Very low-level function. Users should typically use the public state variable abstractions to perform reads:\n    /// PublicMutable & PublicImmutable.\n    ///\n    /// # Arguments\n    /// * `storage_slot` - The starting storage slot to read from\n    ///\n    /// # Returns\n    /// * `[Field; N]` - Array of N field values from consecutive storage slots\n    ///\n    /// # Generic Parameters\n    /// * `N` - the number of consecutive slots to return, starting from the `storage_slot`.\n    ///\n    pub fn raw_storage_read<let N: u32>(self: Self, storage_slot: Field) -> [Field; N] {\n        let mut out = [0; N];\n        for i in 0..N {\n            // Safety: AVM opcodes are constrained by the AVM itself\n            out[i] = unsafe { avm::storage_read(storage_slot + i as Field, self.this_address().to_field()) };\n        }\n        out\n    }\n\n    /// Reads a typed value from public storage.\n    ///\n    /// Low-level function. Users should typically use the public state variable abstractions to perform reads:\n    /// PublicMutable & PublicImmutable.\n    ///\n    /// # Arguments\n    /// * `storage_slot` - The storage slot to read from\n    ///\n    /// # Returns\n    /// * `T` - The deserialized value from storage\n    ///\n    /// # Generic Parameters\n    /// * `T` - The type that the caller expects to read from the `storage_slot`.\n    ///\n    pub fn storage_read<T>(self, storage_slot: Field) -> T\n    where\n        T: Packable,\n    {\n        T::unpack(self.raw_storage_read(storage_slot))\n    }\n\n    /// Writes raw field values to public storage. Writes to N consecutive storage slots starting from the given slot.\n    ///\n    /// Very low-level function. Users should typically use the public state variable abstractions to perform writes:\n    /// PublicMutable & PublicImmutable.\n    ///\n    /// Public storage writes take effect immediately.\n    ///\n    /// # Arguments\n    /// * `storage_slot` - The starting storage slot to write to\n    /// * `values` - Array of N Fields to write to storage\n    ///\n    pub fn raw_storage_write<let N: u32>(_self: Self, storage_slot: Field, values: [Field; N]) {\n        for i in 0..N {\n            // Safety: AVM opcodes are constrained by the AVM itself\n            unsafe { avm::storage_write(storage_slot + i as Field, values[i]) };\n        }\n    }\n\n    /// Writes a typed value to public storage.\n    ///\n    /// Low-level function. Users should typically use the public state variable abstractions to perform writes:\n    /// PublicMutable & PublicImmutable.\n    ///\n    /// # Arguments\n    /// * `storage_slot` - The storage slot to write to\n    /// * `value` - The typed value to write to storage\n    ///\n    /// # Generic Parameters\n    /// * `T` - The type to write to storage.\n    ///\n    pub fn storage_write<T>(self, storage_slot: Field, value: T)\n    where\n        T: Packable,\n    {\n        self.raw_storage_write(storage_slot, value.pack());\n    }\n}\n\nimpl Empty for PublicContext {\n    fn empty() -> Self {\n        PublicContext::new(|| 0)\n    }\n}\n"
    },
    "87": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/returns_hash.nr",
      "source": "use crate::{hash::hash_args, oracle::execution_cache};\nuse crate::protocol::traits::Deserialize;\n\n/// The hash of a private contract function call's return value.\n///\n/// Use [`ReturnsHash::get_preimage`] to get the underlying value.\n///\n/// The kernels don't process the actual return values but instead their hashes, so it is up to contracts to populate\n/// oracles with the preimages of these hashes on return to make them available to their callers.\n///\n/// Public calls don't utilize this mechanism since the AVM does process the full return values.\npub struct ReturnsHash {\n    hash: Field,\n}\n\nimpl ReturnsHash {\n    pub fn new(hash: Field) -> Self {\n        ReturnsHash { hash }\n    }\n\n    /// Fetches the underlying return value from an oracle, constraining that it corresponds to the return data hash.\n    pub fn get_preimage<T>(self) -> T\n    where\n        T: Deserialize,\n    {\n        // Safety: We verify that the value returned by `load` is the preimage of `hash`, fully constraining it. If `T`\n        // is `()`, then `preimage` must be an array of length 0 (since that is `()`'s deserialization length).\n        // `hash_args` handles empty arrays following the protocol rules (i.e. an empty args array is signaled with a\n        // zero hash), correctly constraining `self.hash`.\n        let preimage = unsafe { execution_cache::load(self.hash) };\n        assert_eq(self.hash, hash_args(preimage), \"Preimage mismatch\");\n\n        Deserialize::deserialize(preimage)\n    }\n}\n\nmod test {\n    use crate::{\n        hash::hash_args,\n        oracle::execution_cache,\n        test::{helpers::test_environment::TestEnvironment, mocks::MockStruct},\n    };\n    use crate::protocol::traits::Serialize;\n    use super::ReturnsHash;\n    use std::test::OracleMock;\n\n    #[test]\n    unconstrained fn retrieves_preimage() {\n        let env = TestEnvironment::new();\n        env.private_context(|_| {\n            let value = MockStruct::new(4, 7);\n            let serialized = value.serialize();\n\n            let hash = hash_args(serialized);\n            execution_cache::store(serialized, hash);\n\n            assert_eq(ReturnsHash::new(hash).get_preimage(), value);\n        });\n    }\n\n    #[test]\n    unconstrained fn retrieves_empty_preimage() {\n        let env = TestEnvironment::new();\n        env.private_context(|_| {\n            let value = ();\n            let serialized = [];\n\n            let hash = hash_args(serialized);\n            execution_cache::store(serialized, hash);\n\n            assert_eq(ReturnsHash::new(hash).get_preimage(), value);\n        });\n    }\n\n    #[test(should_fail_with = \"Preimage mismatch\")]\n    unconstrained fn rejects_bad_preimage() {\n        let value = MockStruct::new(4, 7);\n        let serialized = value.serialize();\n\n        let mut bad_serialized = serialized;\n        bad_serialized[0] += 1;\n\n        let hash = hash_args(serialized);\n\n        let _ = OracleMock::mock(\"aztec_prv_getHashPreimage\").returns(bad_serialized);\n        assert_eq(ReturnsHash::new(hash).get_preimage(), value);\n    }\n}\n"
    },
    "88": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/context/utility_context.nr",
      "source": "use crate::oracle::{execution::get_utility_context, storage::storage_read};\nuse crate::protocol::{abis::block_header::BlockHeader, address::AztecAddress, traits::Packable};\n\n// If you'll modify this struct don't forget to update utility_context.ts as well.\npub struct UtilityContext {\n    block_header: BlockHeader,\n    contract_address: AztecAddress,\n}\n\nimpl UtilityContext {\n    pub unconstrained fn new() -> Self {\n        get_utility_context()\n    }\n\n    pub unconstrained fn at(contract_address: AztecAddress) -> Self {\n        // We get a context with default contract address, and then we construct the final context with the provided\n        // contract address.\n        let default_context = get_utility_context();\n\n        Self { block_header: default_context.block_header, contract_address }\n    }\n\n    pub fn block_header(self) -> BlockHeader {\n        self.block_header\n    }\n\n    pub fn block_number(self) -> u32 {\n        self.block_header.block_number()\n    }\n\n    pub fn timestamp(self) -> u64 {\n        self.block_header.timestamp()\n    }\n\n    pub fn this_address(self) -> AztecAddress {\n        self.contract_address\n    }\n\n    pub fn version(self) -> Field {\n        self.block_header.version()\n    }\n\n    pub fn chain_id(self) -> Field {\n        self.block_header.chain_id()\n    }\n\n    pub unconstrained fn raw_storage_read<let N: u32>(self: Self, storage_slot: Field) -> [Field; N] {\n        storage_read(self.block_header, self.this_address(), storage_slot)\n    }\n\n    pub unconstrained fn storage_read<T>(self, storage_slot: Field) -> T\n    where\n        T: Packable,\n    {\n        T::unpack(self.raw_storage_read(storage_slot))\n    }\n}\n"
    },
    "89": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/contract_self/contract_self_private.nr",
      "source": "//! The `self` contract value for private execution contexts.\n\nuse crate::{\n    context::{calls::{PrivateCall, PrivateStaticCall, PublicCall, PublicStaticCall}, PrivateContext},\n    event::{event_emission::emit_event_in_private, event_interface::EventInterface, EventMessage},\n};\nuse crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}};\n\n/// Core interface for interacting with aztec-nr contract features in private execution contexts.\n///\n/// This struct is automatically injected into every [`external`](crate::macros::functions::external) and\n/// [`internal`](crate::macros::functions::internal) contract function marked with `\"private\"` by the Aztec macro\n/// system and is accessible through the `self` variable.\n///\n/// ## Usage in Contract Functions\n///\n/// Once injected, you can use `self` to:\n/// - Access storage: `self.storage.balances.at(owner).read()`\n/// - Call contracts: `self.call(Token::at(address).transfer(recipient, amount))`\n/// - Emit events: `self.emit(event).deliver_to(recipient, delivery_mode)`\n/// - Get the contract address: `self.address`\n/// - Get the caller: `self.msg_sender()`\n/// - Access low-level Aztec.nr APIs through the context: `self.context`\n///\n/// ## Example\n///\n/// ```noir\n/// #[external(\"private\")]\n/// fn withdraw(amount: u128, recipient: AztecAddress) {\n///     // Get the caller of this function\n///     let sender = self.msg_sender();\n///\n///     // Access storage\n///     let token = self.storage.donation_token.get_note().get_address();\n///\n///     // Call contracts\n///     self.call(Token::at(token).transfer(recipient, amount));\n/// }\n/// ```\n///\n/// ## Type Parameters\n///\n/// - `Storage`: The contract's storage struct (defined with [`storage`](crate::macros::storage::storage), or `()` if\n/// the contract has no storage\n/// - `CallSelf`: Macro-generated type for calling contract's own non-view functions\n/// - `EnqueueSelf`: Macro-generated type for enqueuing calls to the contract's own non-view functions\n/// - `CallSelfStatic`: Macro-generated type for calling contract's own view functions\n/// - `EnqueueSelfStatic`: Macro-generated type for enqueuing calls to the contract's own view functions\n/// - `CallInternal`: Macro-generated type for calling internal functions\npub struct ContractSelfPrivate<Storage, CallSelf, EnqueueSelf, CallSelfStatic, EnqueueSelfStatic, CallInternal> {\n    /// The address of this contract\n    pub address: AztecAddress,\n\n    /// The contract's storage instance, representing the struct to which the\n    /// [`storage`](crate::macros::storage::storage) macro was applied in your contract. If the contract has no\n    /// storage, the type of this will be `()`.\n    ///\n    /// This storage instance is specialized for the current execution context (private) and\n    /// provides access to the contract's state variables.\n    ///\n    /// ## Developer Note\n    ///\n    /// If you've arrived here while trying to access your contract's storage while the `Storage` generic type is set\n    /// to unit type `()`, it means you haven't yet defined a Storage struct using the\n    /// [`storage`](crate::macros::storage::storage) macro in your contract. For guidance on setting this up, please\n    /// refer to our docs: https://docs.aztec.network/developers/docs/guides/smart_contracts/storage\n    pub storage: Storage,\n\n    /// The private execution context.\n    pub context: &mut PrivateContext,\n\n    /// Provides type-safe methods for calling this contract's own non-view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.call_self.some_private_function(args)\n    /// ```\n    pub call_self: CallSelf,\n\n    /// Provides type-safe methods for enqueuing calls to this contract's own non-view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.enqueue_self.some_public_function(args)\n    /// ```\n    pub enqueue_self: EnqueueSelf,\n\n    /// Provides type-safe methods for calling this contract's own view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.call_self_static.some_view_function(args)\n    /// ```\n    pub call_self_static: CallSelfStatic,\n\n    /// Provides type-safe methods for enqueuing calls to the contract's own view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.enqueue_self_static.some_public_view_function(args)\n    /// ```\n    pub enqueue_self_static: EnqueueSelfStatic,\n\n    /// Provides type-safe methods for calling internal functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.internal.some_internal_function(args)\n    /// ```\n    pub internal: CallInternal,\n}\n\nimpl<Storage, CallSelf, EnqueueSelf, CallSelfStatic, EnqueueSelfStatic, CallInternal> ContractSelfPrivate<Storage, CallSelf, EnqueueSelf, CallSelfStatic, EnqueueSelfStatic, CallInternal> {\n    /// Creates a new `ContractSelfPrivate` instance for a private function.\n    ///\n    /// This constructor is called automatically by the macro system and should not be called directly.\n    pub fn new(\n        context: &mut PrivateContext,\n        storage: Storage,\n        call_self: CallSelf,\n        enqueue_self: EnqueueSelf,\n        call_self_static: CallSelfStatic,\n        enqueue_self_static: EnqueueSelfStatic,\n        internal: CallInternal,\n    ) -> Self {\n        Self {\n            context,\n            storage,\n            address: context.this_address(),\n            call_self,\n            enqueue_self,\n            call_self_static,\n            enqueue_self_static,\n            internal,\n        }\n    }\n\n    /// The address of the contract address that made this function call.\n    ///\n    /// This is similar to Solidity's `msg.sender` value.\n    ///\n    /// ## Transaction Entrypoints\n    ///\n    /// As there are no EOAs (externally owned accounts) in Aztec, unlike on Ethereum, the first contract function\n    /// executed in a transaction (i.e. transaction entrypoint) does **not** have a caller. This function panics when\n    /// executed in such a context.\n    ///\n    /// If you need to handle these cases, use [`PrivateContext::maybe_msg_sender`].\n    pub fn msg_sender(self) -> AztecAddress {\n        self.context.maybe_msg_sender().unwrap()\n    }\n\n    /// Emits an event privately.\n    ///\n    /// Unlike public events, private events do not reveal their contents publicly. They instead create an\n    /// [`EventMessage`] containing the private event information, which **MUST** be delivered to a recipient via\n    /// [`EventMessage::deliver_to`] in order for them to learn about the event. Multiple recipients can have the same\n    /// message be delivered to them.\n    ///\n    /// # Example\n    /// ```noir\n    /// #[event]\n    /// struct Transfer { from: AztecAddress, to: AztecAddress, amount: u128 }\n    ///\n    /// #[external(\"private\")]\n    /// fn transfer(to: AztecAddress, amount: u128) {\n    ///     let from = self.msg_sender();\n    ///\n    ///     let message: EventMessage = self.emit(Transfer { from, to, amount });\n    ///     message.deliver_to(from, MessageDelivery.OFFCHAIN);\n    ///     message.deliver_to(to, MessageDelivery.ONCHAIN_CONSTRAINED);\n    /// }\n    /// ```\n    ///\n    /// # Cost\n    ///\n    /// Private event emission always results in the creation of a nullifer, which acts as a commitment to the event\n    /// and is used by third parties to verify its authenticity. See [`EventMessage::deliver_to`] for the costs\n    /// associated to delivery.\n    ///\n    /// # Privacy\n    ///\n    /// The nullifier created when emitting a private event leaks nothing about the content of the event - it's a\n    /// commitment that includes a random value, so even with full knowledge of the event preimage determining if an\n    /// event was emitted or not requires brute-forcing the entire `Field` space.\n    pub fn emit<Event>(&mut self, event: Event) -> EventMessage<Event>\n    where\n        Event: EventInterface + Serialize,\n    {\n        emit_event_in_private(self.context, event)\n    }\n\n    /// Makes a private contract call.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the private function to invoke.\n    ///\n    /// # Returns\n    /// * `T` - Whatever data the called function has returned.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.call(Token::at(address).transfer_in_private(recipient, amount));\n    /// ```\n    ///\n    /// This enables contracts to interact with each other while maintaining privacy. This \"composability\" of private\n    /// contract functions is a key feature of the Aztec network.\n    ///\n    /// If a user's transaction includes multiple private function calls, then by the design of Aztec, the following\n    /// information will remain private[1]:\n    /// - The function selectors and contract addresses of all private function calls will remain private, so an\n    /// observer of the public mempool will not be able to look at a tx and deduce which private functions have been\n    /// executed.\n    /// - The arguments and return values of all private function calls will remain private.\n    /// - The person who initiated the tx will remain private.\n    /// - The notes and nullifiers and private logs that are emitted by all private function calls will (if designed\n    /// well) not leak any user secrets, nor leak which functions have been executed.\n    ///\n    /// [1] Caveats: Some of these privacy guarantees depend on how app developers design their smart contracts. Some\n    /// actions _can_ leak information, such as:\n    /// - Calling an internal public function.\n    /// - Calling a public function and not setting msg_sender to Option::none (see\n    /// https://github.com/AztecProtocol/aztec-packages/pull/16433)\n    /// - Calling any public function will always leak details about the nature of the transaction, so devs should be\n    /// careful in their contract designs. If it can be done in a private function, then that will give the best\n    /// privacy.\n    /// - Not padding the side-effects of a tx to some standardized, uniform size. The kernel circuits can take hints\n    /// to pad side-effects, so a wallet should be able to request for a particular amount of padding. Wallets should\n    /// ideally agree on some standard.\n    /// - Padding should include:\n    /// - Padding the lengths of note & nullifier arrays\n    /// - Padding private logs with random fields, up to some standardized size. See also:\n    /// https://docs.aztec.network/developers/resources/considerations/privacy_considerations\n    ///\n    /// # Advanced\n    /// * The call is added to the private call stack and executed by kernel circuits after this function completes\n    /// * The called function can modify its own contract's private state\n    /// * Side effects from the called function are included in this transaction\n    /// * The call inherits the current transaction's context and gas limits\n    ///\n    pub fn call<let M: u32, let N: u32, T>(&mut self, call: PrivateCall<M, N, T>) -> T\n    where\n        T: Deserialize,\n    {\n        call.call(self.context)\n    }\n\n    /// Makes a read-only private contract call.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state, emit L2->L1 messages, nor\n    /// emit events. Any nested calls are constrained to also be static calls.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the read-only private function to invoke.\n    ///\n    /// # Returns\n    /// * `T` - Whatever data the called function has returned.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.view(Token::at(address).balance_of_private(recipient));\n    /// ```\n    pub fn view<let M: u32, let N: u32, T>(&mut self, call: PrivateStaticCall<M, N, T>) -> T\n    where\n        T: Deserialize,\n    {\n        call.view(self.context)\n    }\n\n    /// Enqueues a public contract call function.\n    ///\n    /// Unlike private functions which execute immediately on the user's device, public function calls are \"enqueued\"\n    /// and executed some time later by a block proposer.\n    ///\n    /// This means a public function cannot return any values back to a private function, because by the time the\n    /// public function is being executed, the private function which called it has already completed execution. (In\n    /// fact, the private function has been executed and proven, along with all other private function calls of the\n    /// user's tx. A single proof of the tx has been submitted to the Aztec network, and some time later a proposer has\n    /// picked the tx up from the mempool and begun executing all of the enqueued public functions).\n    ///\n    /// # Privacy warning Enqueueing a public function call is an inherently leaky action. Many interesting applications will require some interaction with public state, but smart contract developers should try to use public function calls sparingly, and carefully. _Internal_ public function calls are especially leaky, because they completely leak which private contract made the call. See also: https://docs.aztec.network/developers/resources/considerations/privacy_considerations\n    ///\n    /// # Arguments\n    /// * `call` - The interface representing the public function to enqueue.\n    pub fn enqueue<let M: u32, let N: u32, T>(&mut self, call: PublicCall<M, N, T>) {\n        call.enqueue(self.context)\n    }\n\n    /// Enqueues a read-only public contract call function.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state, emit L2->L1 messages, nor\n    /// emit events. Any nested calls are constrained to also be static calls.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the read-only public function to enqueue.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.enqueue_view(MyContract::at(address).assert_timestamp_less_than(timestamp));\n    /// ```\n    pub fn enqueue_view<let M: u32, let N: u32, T>(&mut self, call: PublicStaticCall<M, N, T>) {\n        call.enqueue_view(self.context)\n    }\n\n    /// Enqueues a privacy-preserving public contract call function.\n    ///\n    /// This is the same as [`ContractSelfPrivate::enqueue`], except it hides this calling contract's address from the\n    /// target public function (i.e. [`ContractSelfPrivate::msg_sender`] will panic).\n    ///\n    /// This means the origin of the call (msg_sender) will not be publicly visible to any blockchain observers, nor to\n    /// the target public function. If the target public function reads `self.msg_sender()` the call will revert.\n    ///\n    /// NOTES:\n    /// - Not all public functions will accept a msg_sender of \"none\". Many public functions will require that\n    /// msg_sender is \"some\" and will revert otherwise. Therefore, if using `enqueue_incognito`, you must understand\n    /// whether the function you're calling will accept a msg_sender of \"none\". Lots of public bookkeeping patterns\n    /// rely on knowing which address made the call, so as to ascribe state against the caller's address. (There are\n    /// patterns whereby bookkeeping could instead be done in private-land).\n    /// - If you are enqueueing a call to an _internal_ public function (i.e. a public function that will only accept\n    /// calls from other functions of its own contract), then by definition a call to it cannot possibly be\n    /// \"incognito\": the msg_sender must be its own address, and indeed the called public function will assert this.\n    /// Tl;dr this is not usable for enqueued internal public calls.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the public function to enqueue.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.enqueue_incognito(Token::at(address).increase_total_supply_by(amount));\n    /// ```\n    ///\n    /// Advanced:\n    /// - The kernel circuits will permit _any_ private function to set the msg_sender field of any enqueued public\n    /// function call to NULL_MSG_SENDER_CONTRACT_ADDRESS.\n    /// - When the called public function calls `PublicContext::msg_sender()`, aztec-nr will translate\n    /// NULL_MSG_SENDER_CONTRACT_ADDRESS into `Option<AztecAddress>::none` for familiarity to devs.\n    ///\n    pub fn enqueue_incognito<let M: u32, let N: u32, T>(&mut self, call: PublicCall<M, N, T>) {\n        call.enqueue_incognito(self.context)\n    }\n\n    /// Enqueues a privacy-preserving read-only public contract call function.\n    ///\n    /// As per `enqueue_view`, but hides this calling contract's address from the target public function.\n    ///\n    /// See `enqueue_incognito` for more details relating to hiding msg_sender.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the read-only public function to enqueue.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.enqueue_view_incognito(MyContract::at(address).assert_timestamp_less_than(timestamp));\n    /// ```\n    ///\n    pub fn enqueue_view_incognito<let M: u32, let N: u32, T>(&mut self, call: PublicStaticCall<M, N, T>) {\n        call.enqueue_view_incognito(self.context)\n    }\n\n    /// Enqueues a call to the public function defined by the `call` parameter, and designates it to be the teardown\n    /// function for this tx. Only one teardown function call can be made by a tx.\n    ///\n    /// Niche function: Only wallet developers and paymaster contract developers (aka Fee-payment contracts) will need\n    /// to make use of this function.\n    ///\n    /// Aztec supports a three-phase execution model: setup, app logic, teardown. The phases exist to enable a fee\n    /// payer to take on the risk of paying a transaction fee, safe in the knowledge that their payment (in whatever\n    /// token or method the user chooses) will succeed, regardless of whether the app logic will succeed. The \"setup\"\n    /// phase ensures the fee payer has sufficient balance to pay the proposer their fees. The teardown phase is\n    /// primarily intended to: calculate exactly how much the user owes, based on gas consumption, and refund the user\n    /// any change.\n    ///\n    /// Note: in some cases, the cost of refunding the user (i.e. DA costs of tx side-effects) might exceed the refund\n    /// amount. For app logic with fairly stable and predictable gas consumption, a material refund amount is unlikely.\n    /// For app logic with unpredictable gas consumption, a refund might be important to the user (e.g. if a hefty\n    /// function reverts very early). Wallet/FPC/Paymaster developers should be mindful of this.\n    ///\n    /// See `enqueue` for more information about enqueuing public function calls.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the public function to designate as teardown.\n    ///\n    pub fn set_as_teardown<let M: u32, let N: u32, T>(&mut self, call: PublicCall<M, N, T>) {\n        call.set_as_teardown(self.context)\n    }\n\n    /// Enqueues a call to the public function defined by the `call` parameter, and designates it to be the teardown\n    /// function for this tx. Only one teardown function call can be made by a tx.\n    ///\n    /// As per `set_as_teardown`, but hides this calling contract's address from the target public function.\n    ///\n    /// See `enqueue_incognito` for more details relating to hiding msg_sender.\n    ///\n    pub fn set_as_teardown_incognito<let M: u32, let N: u32, T>(&mut self, call: PublicCall<M, N, T>) {\n        call.set_as_teardown_incognito(self.context)\n    }\n}\n"
    },
    "90": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/contract_self/contract_self_public.nr",
      "source": "//! The `self` contract value for public execution contexts.\n\nuse crate::{\n    context::{calls::{PublicCall, PublicStaticCall}, PublicContext},\n    event::{event_emission::emit_event_in_public, event_interface::EventInterface},\n};\nuse crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}};\n\n/// Core interface for interacting with aztec-nr contract features in public execution contexts.\n///\n/// This struct is automatically injected into every [`external`](crate::macros::functions::external) and\n/// [`internal`](crate::macros::functions::internal) contract function marked with `\"public\"` by the Aztec macro\n/// system and is accessible through the `self` variable.\n///\n/// ## Type Parameters\n///\n/// - `Storage`: The contract's storage struct (defined with [`storage`](crate::macros::storage::storage), or `()` if\n/// the contract has no storage\n/// - `CallSelf`: Macro-generated type for calling contract's own non-view functions\n/// - `CallSelfStatic`: Macro-generated type for calling contract's own view functions\n/// - `CallInternal`: Macro-generated type for calling internal functions\npub struct ContractSelfPublic<Storage, CallSelf, CallSelfStatic, CallInternal> {\n    /// The address of this contract\n    pub address: AztecAddress,\n\n    /// The contract's storage instance, representing the struct to which the\n    /// [`storage`](crate::macros::storage::storage) macro was applied in your contract. If the contract has no\n    /// storage, the type of this will be `()`.\n    ///\n    /// This storage instance is specialized for the current execution context (public) and\n    /// provides access to the contract's state variables.\n    ///\n    /// ## Developer Note\n    ///\n    /// If you've arrived here while trying to access your contract's storage while the `Storage` generic type is set\n    /// to unit type `()`, it means you haven't yet defined a Storage struct using the\n    /// [`storage`](crate::macros::storage::storage) macro in your contract. For guidance on setting this up, please\n    /// refer to our docs: https://docs.aztec.network/developers/docs/guides/smart_contracts/storage\n    pub storage: Storage,\n\n    /// The public execution context.\n    pub context: PublicContext,\n\n    /// Provides type-safe methods for calling this contract's own non-view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.call_self.some_public_function(args)\n    /// ```\n    pub call_self: CallSelf,\n\n    /// Provides type-safe methods for calling this contract's own view functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.call_self_static.some_view_function(args)\n    /// ```\n    pub call_self_static: CallSelfStatic,\n\n    /// Provides type-safe methods for calling internal functions.\n    ///\n    /// Example API:\n    /// ```noir\n    /// self.internal.some_internal_function(args)\n    /// ```\n    pub internal: CallInternal,\n}\n\nimpl<Storage, CallSelf, CallSelfStatic, CallInternal> ContractSelfPublic<Storage, CallSelf, CallSelfStatic, CallInternal> {\n    /// Creates a new `ContractSelfPublic` instance for a public function.\n    ///\n    /// This constructor is called automatically by the macro system and should not be called directly.\n    pub fn new(\n        context: PublicContext,\n        storage: Storage,\n        call_self: CallSelf,\n        call_self_static: CallSelfStatic,\n        internal: CallInternal,\n    ) -> Self {\n        Self { context, storage, address: context.this_address(), call_self, call_self_static, internal }\n    }\n\n    /// The address of the contract address that made this function call.\n    ///\n    /// This is similar to Solidity's `msg.sender` value.\n    ///\n    /// ## Incognito Calls\n    ///\n    /// Contracts can call public functions from private ones hiding their identity (see\n    ///\n    /// [`ContractSelfPrivate::enqueue_incognito`](crate::contract_self::ContractSelfPrivate::enqueue_incognito)).\n    /// This function reverts when executed in such a context.\n    ///\n    /// If you need to handle these cases, use [`PublicContext::maybe_msg_sender`].\n    pub fn msg_sender(self: Self) -> AztecAddress {\n        self.context.maybe_msg_sender().unwrap()\n    }\n\n    /// Emits an event publicly.\n    ///\n    /// Public events are emitted as plaintext and are therefore visible to everyone. This is is the same as Solidity\n    /// events on EVM chains.\n    ///\n    /// Unlike private events, they don't require delivery of an event message.\n    ///\n    /// # Example\n    /// ```noir\n    /// #[event]\n    /// struct Update { value: Field }\n    ///\n    /// #[external(\"public\")]\n    /// fn publish_update(value: Field) {\n    ///     self.emit(Update { value });\n    /// }\n    /// ```\n    ///\n    /// # Cost\n    ///\n    /// Public event emission is achieved by emitting public transaction logs. A total of `N+1` fields are emitted,\n    /// where `N` is the serialization length of the event.\n    pub fn emit<Event>(&mut self, event: Event)\n    where\n        Event: EventInterface + Serialize,\n    {\n        emit_event_in_public(self.context, event);\n    }\n\n    /// Makes a public contract call.\n    ///\n    /// Will revert if the called function reverts or runs out of gas.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the public function to invoke.\n    ///\n    /// # Returns\n    /// * `T` - Whatever data the called function has returned.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.call(Token::at(address).transfer_in_public(recipient, amount));\n    /// ```\n    ///\n    pub unconstrained fn call<let M: u32, let N: u32, T>(self, call: PublicCall<M, N, T>) -> T\n    where\n        T: Deserialize,\n    {\n        call.call(self.context)\n    }\n\n    /// Makes a public read-only contract call.\n    ///\n    /// This is similar to Solidity's `staticcall`. The called function cannot modify state or emit events. Any nested\n    /// calls are constrained to also be static calls.\n    ///\n    /// Will revert if the called function reverts or runs out of gas.\n    ///\n    /// # Arguments\n    /// * `call` - The object representing the read-only public function to invoke.\n    ///\n    /// # Returns\n    /// * `T` - Whatever data the called function has returned.\n    ///\n    /// # Example\n    /// ```noir\n    /// self.view(Token::at(address).balance_of_public(recipient));\n    /// ```\n    ///\n    pub unconstrained fn view<let M: u32, let N: u32, T>(self, call: PublicStaticCall<M, N, T>) -> T\n    where\n        T: Deserialize,\n    {\n        call.view(self.context)\n    }\n}\n"
    },
    "93": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/event/event_emission.nr",
      "source": "use crate::{\n    context::{PrivateContext, PublicContext},\n    event::{event_interface::{compute_private_event_commitment, EventInterface}, EventMessage},\n    oracle::random::random,\n};\nuse crate::protocol::{constants::DOM_SEP__EVENT_LOG_TAG, hash::compute_log_tag, traits::{Serialize, ToField}};\n\n/// An event that was emitted in the current contract call.\npub struct NewEvent<Event> {\n    pub(crate) event: Event,\n    pub(crate) randomness: Field,\n}\n\n/// Equivalent to `self.emit(event)`: see [`crate::contract_self::ContractSelfPrivate::emit`].\npub fn emit_event_in_private<Event>(context: &mut PrivateContext, event: Event) -> EventMessage<Event>\nwhere\n    Event: EventInterface + Serialize,\n{\n    // In private events, we automatically inject randomness to prevent event commitment preimage attacks and event\n    // commitment collisions (the commitments are included in the nullifier tree and duplicate nullifiers are by\n    // definition not allowed).\n\n    // Safety: We use the randomness to preserve the privacy of the event recipient by preventing brute-forcing, so a\n    // malicious sender could use non-random values to make the event less private. But they already know the full\n    // event pre-image anyway, and so the recipient already trusts them to not disclose this information. We can\n    // therefore assume that the sender will cooperate in the random value generation.\n    let randomness = unsafe { random() };\n\n    // The event commitment is emitted as a nullifier instead of as a note because these are simpler: nullifiers cannot\n    // be squashed, making kernel processing simpler, and they have no nonce that recipients need to discover.\n    let commitment = compute_private_event_commitment(event, randomness);\n    context.push_nullifier(commitment);\n\n    EventMessage::new(NewEvent { event, randomness }, context)\n}\n\n/// Equivalent to `self.emit(event)`: see [`crate::contract_self::ContractSelfPublic::emit`].\npub fn emit_event_in_public<Event>(context: PublicContext, event: Event)\nwhere\n    Event: EventInterface + Serialize,\n{\n    // We prepend a domain-separated tag derived from the event type ID so that clients can filter for specific\n    // events without scanning all public logs.\n    let log_tag = compute_log_tag(\n        Event::get_event_type_id().to_field(),\n        DOM_SEP__EVENT_LOG_TAG,\n    );\n    context.emit_public_log_unsafe(log_tag, event);\n}\n"
    },
    "94": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/event/event_interface.nr",
      "source": "use crate::{event::EventSelector, messages::logs::event::MAX_EVENT_SERIALIZED_LEN};\nuse crate::protocol::{\n    constants::DOM_SEP__EVENT_COMMITMENT,\n    hash::{poseidon2_hash_with_separator, poseidon2_hash_with_separator_bounded_vec},\n    traits::{Serialize, ToField},\n};\n\npub trait EventInterface {\n    fn get_event_type_id() -> EventSelector;\n}\n\n/// A private event's commitment is a value stored on-chain which is used to verify that the event was indeed emitted.\n///\n/// It requires a `randomness` value that must be produced alongside the event in order to perform said validation.\n/// This random value prevents attacks in which someone guesses plausible events (e.g. 'Alice transfers to Bob an\n/// amount of 10'), since they will not be able to test for existence of their guessed events without brute-forcing the\n/// entire `Field` space by guessing `randomness` values.\npub fn compute_private_event_commitment<Event>(event: Event, randomness: Field) -> Field\nwhere\n    Event: EventInterface + Serialize,\n{\n    poseidon2_hash_with_separator(\n        [randomness, Event::get_event_type_id().to_field()].concat(event.serialize()),\n        DOM_SEP__EVENT_COMMITMENT,\n    )\n}\n\n/// Unconstrained variant of [`compute_private_event_commitment`] which takes the event in serialized form.\n///\n/// This function is unconstrained as the mechanism it uses to compute the commitment would be very inefficient in a\n/// constrained environment (due to the hashing of a dynamically sized array). This is not an issue as it is typically\n/// invoked when processing event messages, which is an unconstrained operation.\npub unconstrained fn compute_private_serialized_event_commitment(\n    serialized_event: BoundedVec<Field, MAX_EVENT_SERIALIZED_LEN>,\n    randomness: Field,\n    event_type_id: Field,\n) -> Field {\n    let mut commitment_preimage =\n        BoundedVec::<_, 2 + MAX_EVENT_SERIALIZED_LEN>::from_array([randomness, event_type_id]);\n    commitment_preimage.extend_from_bounded_vec(serialized_event);\n\n    poseidon2_hash_with_separator_bounded_vec(commitment_preimage, DOM_SEP__EVENT_COMMITMENT)\n}\n\nmod test {\n    use crate::event::event_interface::{\n        compute_private_event_commitment, compute_private_serialized_event_commitment, EventInterface,\n    };\n    use crate::messages::logs::event::MAX_EVENT_SERIALIZED_LEN;\n    use crate::protocol::traits::{Serialize, ToField};\n    use crate::test::mocks::mock_event::MockEvent;\n\n    global VALUE: Field = 7;\n    global RANDOMNESS: Field = 10;\n\n    #[test]\n    unconstrained fn max_size_serialized_event_commitment() {\n        let serialized_event = BoundedVec::from_array([0; MAX_EVENT_SERIALIZED_LEN]);\n        let _ = compute_private_serialized_event_commitment(serialized_event, 0, 0);\n    }\n\n    #[test]\n    unconstrained fn event_commitment_equivalence() {\n        let event = MockEvent::new(VALUE).build_event();\n\n        assert_eq(\n            compute_private_event_commitment(event, RANDOMNESS),\n            compute_private_serialized_event_commitment(\n                BoundedVec::from_array(event.serialize()),\n                RANDOMNESS,\n                MockEvent::get_event_type_id().to_field(),\n            ),\n        );\n    }\n}\n"
    },
    "96": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/event/event_selector.nr",
      "source": "use crate::protocol::{hash::poseidon2_hash_bytes, traits::{Deserialize, Empty, FromField, Serialize, ToField}};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct EventSelector {\n    // 1st 4-bytes (big-endian leftmost) of abi-encoding of an event.\n    inner: u32,\n}\n\nimpl FromField for EventSelector {\n    fn from_field(field: Field) -> Self {\n        Self { inner: field as u32 }\n    }\n}\n\nimpl ToField for EventSelector {\n    fn to_field(self) -> Field {\n        self.inner as Field\n    }\n}\n\nimpl Empty for EventSelector {\n    fn empty() -> Self {\n        Self { inner: 0 as u32 }\n    }\n}\n\nimpl EventSelector {\n    pub fn from_u32(value: u32) -> Self {\n        Self { inner: value }\n    }\n\n    pub fn from_signature<let N: u32>(signature: str<N>) -> Self {\n        let bytes = signature.as_bytes();\n        let hash = poseidon2_hash_bytes(bytes);\n\n        // `hash` is automatically truncated to fit within 32 bits.\n        EventSelector::from_field(hash)\n    }\n\n    pub fn zero() -> Self {\n        Self { inner: 0 }\n    }\n}\n"
    },
    "98": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/hash.nr",
      "source": "//! Aztec hash functions.\n\nuse crate::protocol::{\n    address::{AztecAddress, EthAddress},\n    constants::{\n        DOM_SEP__FUNCTION_ARGS, DOM_SEP__MESSAGE_NULLIFIER, DOM_SEP__PUBLIC_BYTECODE, DOM_SEP__PUBLIC_CALLDATA,\n        DOM_SEP__SECRET_HASH, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS,\n    },\n    hash::{poseidon2_hash_subarray, poseidon2_hash_with_separator, sha256_to_field},\n    traits::ToField,\n};\n\npub use crate::protocol::hash::compute_siloed_nullifier;\n\npub fn compute_secret_hash(secret: Field) -> Field {\n    poseidon2_hash_with_separator([secret], DOM_SEP__SECRET_HASH)\n}\n\npub fn compute_l1_to_l2_message_hash(\n    sender: EthAddress,\n    chain_id: Field,\n    recipient: AztecAddress,\n    version: Field,\n    content: Field,\n    secret_hash: Field,\n    leaf_index: Field,\n) -> Field {\n    let mut hash_bytes = [0 as u8; 224];\n    let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n    let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n    let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n    let version_bytes: [u8; 32] = version.to_be_bytes();\n    let content_bytes: [u8; 32] = content.to_be_bytes();\n    let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n    let leaf_index_bytes: [u8; 32] = leaf_index.to_be_bytes();\n\n    for i in 0..32 {\n        hash_bytes[i] = sender_bytes[i];\n        hash_bytes[i + 32] = chain_id_bytes[i];\n        hash_bytes[i + 64] = recipient_bytes[i];\n        hash_bytes[i + 96] = version_bytes[i];\n        hash_bytes[i + 128] = content_bytes[i];\n        hash_bytes[i + 160] = secret_hash_bytes[i];\n        hash_bytes[i + 192] = leaf_index_bytes[i];\n    }\n\n    sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret\npub fn compute_l1_to_l2_message_nullifier(message_hash: Field, secret: Field) -> Field {\n    poseidon2_hash_with_separator([message_hash, secret], DOM_SEP__MESSAGE_NULLIFIER)\n}\n\n// Computes the hash of input arguments or return values for private functions, or for authwit creation.\npub fn hash_args<let N: u32>(args: [Field; N]) -> Field {\n    if args.len() == 0 {\n        0\n    } else {\n        poseidon2_hash_with_separator(args, DOM_SEP__FUNCTION_ARGS)\n    }\n}\n\n// Computes the hash of calldata for public functions.\npub fn hash_calldata_array<let N: u32>(calldata: [Field; N]) -> Field {\n    poseidon2_hash_with_separator(calldata, DOM_SEP__PUBLIC_CALLDATA)\n}\n\n/// Computes the public bytecode commitment for a contract class. The commitment is `hash([(length | separator),\n/// ...bytecode])`.\n///\n/// @param packed_bytecode - The packed bytecode of the contract class. 0th word is the length in bytes.\n/// packed_bytecode is mutable so that we can avoid copying the array to construct one starting with first_field\n/// instead of length. @returns The public bytecode commitment.\npub fn compute_public_bytecode_commitment(\n    mut packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS],\n) -> Field {\n    // First field element contains the length of the bytecode\n    let bytecode_length_in_bytes: u32 = packed_public_bytecode[0] as u32;\n    let bytecode_length_in_fields: u32 = (bytecode_length_in_bytes / 31) + (bytecode_length_in_bytes % 31 != 0) as u32;\n    // Don't allow empty public bytecode. AVM doesn't handle execution of contracts that exist with empty bytecode.\n    assert(bytecode_length_in_fields != 0);\n    assert(bytecode_length_in_fields < MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);\n\n    // Packed_bytecode's 0th entry is the length. Append it to the separator before hashing.\n    let first_field = DOM_SEP__PUBLIC_BYTECODE.to_field() + (packed_public_bytecode[0] as u64 << 32) as Field;\n    packed_public_bytecode[0] = first_field;\n\n    // `fields_to_hash` is the number of fields from the start of `packed_public_bytecode` that should be included in\n    // the hash. Fields after this length are ignored. +1 to account for the prepended field.\n    let num_fields_to_hash = bytecode_length_in_fields + 1;\n\n    poseidon2_hash_subarray(packed_public_bytecode, num_fields_to_hash)\n}\n\n#[test]\nunconstrained fn secret_hash_matches_typescript() {\n    let secret = 8;\n    let hash = compute_secret_hash(secret);\n\n    // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n    let secret_hash_from_ts = 0x1848b066724ab0ffb50ecb0ee3398eb839f162823d262bad959721a9c13d1e96;\n\n    assert_eq(hash, secret_hash_from_ts);\n}\n\n#[test]\nunconstrained fn var_args_hash_matches_typescript() {\n    let mut input = [0; 100];\n    for i in 0..100 {\n        input[i] = i as Field;\n    }\n    let hash = hash_args(input);\n\n    // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n    let var_args_hash_from_ts = 0x262e5e121a8efc0382566ab42f0ae2a78bd85db88484f83018fe07fc2552ba0c;\n\n    assert_eq(hash, var_args_hash_from_ts);\n}\n\n#[test]\nunconstrained fn compute_calldata_hash() {\n    let mut input = [0; 100];\n    for i in 0..input.len() {\n        input[i] = i as Field;\n    }\n    let hash = hash_calldata_array(input);\n\n    // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n    let calldata_hash_from_ts = 0x14a1539bdb1d26e03097cf4d40c87e02ca03f0bb50a3e617ace5a7bfd3943944;\n\n    // Used in cpp vm2 tests:\n    assert_eq(hash, calldata_hash_from_ts);\n}\n\n#[test]\nunconstrained fn public_bytecode_commitment() {\n    let mut input = [0; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS];\n    let len = 99;\n    for i in 1..len + 1 {\n        input[i] = i as Field;\n    }\n    input[0] = (len as Field) * 31;\n    let hash = compute_public_bytecode_commitment(input);\n    // Used in cpp vm2 tests:\n    assert_eq(hash, 0x09348974e76c3602893d7a4b4bb52c2ec746f1ade5004ac471d0fbb4587a81a6);\n}\n"
    },
    "104": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/history/nullifier.nr",
      "source": "//! Nullifier existence and non-existence.\n\nuse crate::oracle::get_nullifier_membership_witness::{\n    get_low_nullifier_membership_witness, get_nullifier_membership_witness,\n};\n\nuse crate::protocol::{\n    abis::block_header::BlockHeader,\n    merkle_tree::root::root_from_sibling_path,\n    traits::Hash,\n    utils::field::{full_field_greater_than, full_field_less_than},\n};\n\nmod test;\n\n/// Asserts that a nullifier existed by the time a block was mined.\n///\n/// This function takes a _siloed_ nullifier, i.e. the value that is actually stored in the tree. Use\n/// [`crate::protocol::hash::compute_siloed_nullifier`] to convert an inner nullifier (what\n/// [`PrivateContext::push_nullifier`](crate::context::PrivateContext::push_nullifier) takes) into a siloed one.\n///\n/// Note that this does not mean that the nullifier was created **at** `block_header`, only that it was present in the\n/// tree once all transactions from `block_header` were executed.\n///\n/// In order to prove that a nullifier did **not** exist by `block_header`, use [`assert_nullifier_did_not_exist_by`].\n///\n/// ## Cost\n///\n/// This function performs a single merkle tree inclusion proof, which is ~4k gates.\n///\n/// If you don't need to assert existence at a _specific_ past block, consider using\n/// [`PrivateContext::assert_nullifier_exists`](crate::context::PrivateContext::assert_nullifier_exists) instead, which\n/// is typically cheaper. Note that there are semantic differences though, as that function also considers _pending_\n/// nullifiers.\npub fn assert_nullifier_existed_by(block_header: BlockHeader, siloed_nullifier: Field) {\n    // 1) Get the membership witness of the nullifier.\n    // Safety: The witness is only used as a \"magical value\" that makes the proof below pass. Hence it's safe.\n    let witness = unsafe { get_nullifier_membership_witness(block_header, siloed_nullifier) };\n\n    // 2) First we prove that the tree leaf in the witness is present in the nullifier tree. This is expected to be the\n    // leaf that contains the nullifier we're proving inclusion for.\n    assert_eq(\n        block_header.state.partial.nullifier_tree.root,\n        root_from_sibling_path(witness.leaf_preimage.hash(), witness.index, witness.path),\n        \"Proving nullifier inclusion failed\",\n    );\n\n    // 3) Then we simply check that the value in the leaf is the expected one. Note that we don't need to perform any\n    // checks on the rest of the values in the leaf preimage (the next index or next nullifier), since all we care\n    // about is showing that the tree contains an entry with the expected nullifier.\n    assert_eq(witness.leaf_preimage.nullifier, siloed_nullifier, \"Nullifier does not match value in witness\");\n}\n\n/// Asserts that a nullifier did not exist by the time a block was mined.\n///\n/// This function takes a _siloed_ nullifier, i.e. the value that is actually stored in the tree. Use\n/// [`crate::protocol::hash::compute_siloed_nullifier`] to convert an inner nullifier (what\n/// [`PrivateContext::push_nullifier`](crate::context::PrivateContext::push_nullifier) takes) into a siloed one.\n///\n/// In order to prove that a nullifier **did** exist by `block_header`, use [`assert_nullifier_existed_by`].\n///\n/// ## Nullifier Non-Existence\n///\n/// Proving nullifier non-existence is always nuanced, as it is not possible to privately prove that a nullifier does\n/// not exist by the time a transaction is executed. What this function does instead is assert that once all\n/// transactions from `block_header` were executed, the nullifier was not in the tree.\n///\n/// If you **must** prove that a nullifier does not exist by the time a transaction is executed, there only two ways to\n/// do this: by actually emitting the nullifier via\n/// [`PrivateContext::push_nullifier`](crate::context::PrivateContext::push_nullifier) (which can of course can be done\n/// once), or by calling a public contract function that calls\n/// [`PublicContext::nullifier_exists_unsafe`](crate::context::PublicContext::nullifier_exists_unsafe) (which leaks\n/// that this nullifier is being checked):\n///\n/// ```noir\n/// #[external(\"public\")]\n/// #[only_self]\n/// fn _assert_nullifier_does_not_exist(unsileod_nullifier: Field, contract_address: AztecAddress) {\n///     assert(!self.context.nullifier_exists_unsafe(unsiloed_nullifier, contract_address));\n/// }\n/// ```\n///\n/// ## Cost\n///\n/// This function performs a single merkle tree inclusion proof, which is ~4k gates.\npub fn assert_nullifier_did_not_exist_by(block_header: BlockHeader, siloed_nullifier: Field) {\n    // 1) Get the membership witness of a low nullifier of the nullifier.\n    // Safety: The witness is only used as a \"magical value\" that makes the proof below pass. Hence it's safe.\n    let witness = unsafe { get_low_nullifier_membership_witness(block_header, siloed_nullifier) };\n\n    // 2) Check that the leaf preimage is not empty. An empty leaf preimage would pass validation as a low leaf.\n    // However, it's not a valid low leaf. It's used to pad the nullifiers emitted from a tx so they can be inserted\n    // into the tree in a fixed-size batch.\n    assert(!witness.leaf_preimage.is_empty(), \"The provided nullifier tree leaf preimage cannot be empty\");\n\n    // 3) Prove that the tree leaf in the witness is present in the nullifier tree. This is expected to be the 'low\n    // leaf', i.e. the leaf that would come immediately before the nullifier's leaf, if the nullifier were to be in the\n    // tree.\n    let low_nullifier_leaf = witness.leaf_preimage;\n    assert_eq(\n        block_header.state.partial.nullifier_tree.root,\n        root_from_sibling_path(low_nullifier_leaf.hash(), witness.index, witness.path),\n        \"Proving nullifier non-inclusion failed: Could not prove low nullifier inclusion\",\n    );\n\n    // 4) Prove that the low leaf is indeed smaller than the nullifier\n    assert(\n        full_field_less_than(low_nullifier_leaf.nullifier, siloed_nullifier),\n        \"Proving nullifier non-inclusion failed: low_nullifier.value < nullifier.value check failed\",\n    );\n\n    // 5) Prove that the low leaf is pointing \"over\" the nullifier, which means that the nullifier is not included in\n    // the nullifier tree, since if it were it'd need to be between the low leaf and the next leaf. Note the special\n    // case in which the low leaf is the largest of all entries, in which case there's no 'next' entry.\n    assert(\n        full_field_greater_than(low_nullifier_leaf.next_nullifier, siloed_nullifier)\n            | (low_nullifier_leaf.next_index == 0),\n        \"Proving nullifier non-inclusion failed: low_nullifier.next_value > nullifier.value check failed\",\n    );\n}\n"
    },
    "106": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/history/storage.nr",
      "source": "//! Historical storage accesses.\n\nuse crate::protocol::{\n    abis::block_header::BlockHeader, address::AztecAddress, constants::DOM_SEP__PUBLIC_LEAF_SLOT,\n    data::public_data_storage_read, hash::poseidon2_hash_with_separator, merkle_tree::MembershipWitness,\n    traits::ToField,\n};\n\nuse crate::oracle::get_public_data_witness::get_public_data_witness;\n\nmod test;\n\npub fn public_storage_historical_read(\n    block_header: BlockHeader,\n    storage_slot: Field,\n    contract_address: AztecAddress,\n) -> Field {\n    // 1) Compute the leaf index by siloing the storage slot with the contract address\n    let public_data_tree_index = poseidon2_hash_with_separator(\n        [contract_address.to_field(), storage_slot],\n        DOM_SEP__PUBLIC_LEAF_SLOT,\n    );\n\n    // 2) Get the membership witness for the tree index.\n    // Safety: The witness is only used as a \"magical value\" that makes the proof below pass. Hence it's safe.\n    let witness = unsafe { get_public_data_witness(block_header, public_data_tree_index) };\n\n    public_data_storage_read(\n        block_header.state.partial.public_data_tree.root,\n        public_data_tree_index,\n        MembershipWitness { leaf_index: witness.index, sibling_path: witness.path },\n        witness.leaf_preimage,\n    )\n}\n"
    },
    "109": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/keys/ecdh_shared_secret.nr",
      "source": "use crate::protocol::{\n    address::aztec_address::AztecAddress,\n    constants::{DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, DOM_SEP__ECDH_FIELD_MASK, DOM_SEP__ECDH_SUBKEY},\n    hash::poseidon2_hash_with_separator,\n    point::Point,\n    scalar::Scalar,\n    traits::{FromField, ToField},\n};\nuse std::{embedded_curve_ops::multi_scalar_mul, ops::Neg};\n\n/// Computes a standard ECDH shared secret: secret * public_key = shared_secret.\n///\n/// The input secret is known only to one party. The output shared secret can be derived given knowledge of\n/// `public_key`'s key-pair and the public ephemeral secret, using this same function (with reversed inputs).\n///\n/// E.g.: Epk = esk * G // ephemeral key-pair\n///       Pk = sk * G // recipient key-pair\n///       Shared secret S = esk * Pk = sk * Epk\n///\n/// See also: https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman\npub fn derive_ecdh_shared_secret(secret: Scalar, public_key: Point) -> Point {\n    multi_scalar_mul([public_key], [secret])\n}\n\n/// Computes an app-siloed shared secret from a raw ECDH shared secret point and a contract address.\n///\n/// `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contract_address)`\npub(crate) fn compute_app_siloed_shared_secret(shared_secret: Point, contract_address: AztecAddress) -> Field {\n    poseidon2_hash_with_separator(\n        [shared_secret.x, shared_secret.y, contract_address.to_field()],\n        DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET,\n    )\n}\n\n/// Derives an indexed subkey from an app-siloed shared secret, used for AES key/IV derivation.\n///\n/// `s_i = h(DOM_SEP__ECDH_SUBKEY + i, s_app)`\npub(crate) fn derive_shared_secret_subkey(s_app: Field, index: u32) -> Field {\n    poseidon2_hash_with_separator([s_app], DOM_SEP__ECDH_SUBKEY + index)\n}\n\n/// Derives an indexed field mask from an app-siloed shared secret, used for masking ciphertext fields.\n///\n/// `m_i = h(DOM_SEP__ECDH_FIELD_MASK + i, s_app)`\npub(crate) fn derive_shared_secret_field_mask(s_app: Field, index: u32) -> Field {\n    poseidon2_hash_with_separator([s_app], DOM_SEP__ECDH_FIELD_MASK + index)\n}\n\n#[test]\nunconstrained fn test_consistency_with_typescript() {\n    let secret = Scalar {\n        lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n        hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06,\n    };\n    let point = Point {\n        x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n        y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n        is_infinite: false,\n    };\n\n    let shared_secret = derive_ecdh_shared_secret(secret, point);\n\n    // This is just pasted from a test run. The original typescript code from which this could be generated seems to\n    // have been deleted by someone, and soon the typescript code for encryption and decryption won't be needed, so\n    // this will have to do.\n    let hard_coded_shared_secret = Point {\n        x: 0x15d55a5b3b2caa6a6207f313f05c5113deba5da9927d6421bcaa164822b911bc,\n        y: 0x0974c3d0825031ae933243d653ebb1a0b08b90ee7f228f94c5c74739ea3c871e,\n        is_infinite: false,\n    };\n    assert_eq(shared_secret, hard_coded_shared_secret);\n}\n\n#[test]\nunconstrained fn test_shared_secret_computation_in_both_directions() {\n    let secret_a = Scalar { lo: 0x1234, hi: 0x2345 };\n    let secret_b = Scalar { lo: 0x3456, hi: 0x4567 };\n\n    let pk_a = std::embedded_curve_ops::fixed_base_scalar_mul(secret_a);\n    let pk_b = std::embedded_curve_ops::fixed_base_scalar_mul(secret_b);\n\n    let shared_secret = derive_ecdh_shared_secret(secret_a, pk_b);\n    let shared_secret_alt = derive_ecdh_shared_secret(secret_b, pk_a);\n\n    assert_eq(shared_secret, shared_secret_alt);\n}\n\n#[test]\nunconstrained fn test_shared_secret_computation_from_address_in_both_directions() {\n    let secret_a = Scalar { lo: 0x1234, hi: 0x2345 };\n    let secret_b = Scalar { lo: 0x3456, hi: 0x4567 };\n\n    let mut pk_a = std::embedded_curve_ops::fixed_base_scalar_mul(secret_a);\n    let mut pk_b = std::embedded_curve_ops::fixed_base_scalar_mul(secret_b);\n\n    let address_b = AztecAddress::from_field(pk_b.x);\n\n    // We were lazy in deriving the secret keys, and didn't check the resulting y-coordinates of the pk_a or pk_b to be\n    // less than half the field modulus. If needed, we negate the pk's so that they yield valid address points. (We\n    // could also have negated the secrets, but there's no negate method for EmbeddedCurvesScalar).\n    pk_a = if (AztecAddress::from_field(pk_a.x).to_address_point().unwrap().inner == pk_a) {\n        pk_a\n    } else {\n        pk_a.neg()\n    };\n    pk_b = if (address_b.to_address_point().unwrap().inner == pk_b) {\n        pk_b\n    } else {\n        pk_b.neg()\n    };\n\n    let shared_secret = derive_ecdh_shared_secret(secret_a, address_b.to_address_point().unwrap().inner);\n    let shared_secret_alt = derive_ecdh_shared_secret(secret_b, pk_a);\n\n    assert_eq(shared_secret, shared_secret_alt);\n}\n\n#[test]\nunconstrained fn test_app_siloed_shared_secret_differs_per_contract() {\n    let secret_a = Scalar { lo: 0x1234, hi: 0x2345 };\n    let pk_b = std::embedded_curve_ops::fixed_base_scalar_mul(Scalar { lo: 0x3456, hi: 0x4567 });\n\n    let shared_secret = derive_ecdh_shared_secret(secret_a, pk_b);\n\n    let contract_a = AztecAddress::from_field(0xAAAA);\n    let contract_b = AztecAddress::from_field(0xBBBB);\n\n    let s_app_a = compute_app_siloed_shared_secret(shared_secret, contract_a);\n    let s_app_b = compute_app_siloed_shared_secret(shared_secret, contract_b);\n\n    assert(s_app_a != s_app_b, \"app-siloed secrets must differ for different contracts\");\n}\n"
    },
    "110": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/keys/ephemeral.nr",
      "source": "use std::embedded_curve_ops::{EmbeddedCurveScalar, fixed_base_scalar_mul};\n\nuse crate::protocol::{point::Point, scalar::Scalar};\n\nuse crate::{oracle::random::random, utils::point::get_sign_of_point};\n\n/// Generates a random ephemeral key pair.\npub fn generate_ephemeral_key_pair() -> (Scalar, Point) {\n    // @todo Need to draw randomness from the full domain of Fq not only Fr\n\n    // Safety: we use the randomness to preserve the privacy of both the sender and recipient via encryption, so a\n    // malicious sender could use non-random values to reveal the plaintext. But they already know it themselves\n    // anyway, and so the recipient already trusts them to not disclose this information. We can therefore assume that\n    // the sender will cooperate in the random value generation.\n    let randomness = unsafe { random() };\n\n    // TODO(#12757): compute the key pair without constraining eph_sk twice (once in from_field, once in the black box\n    // called by fixed_base_scalar_mul).\n    let eph_sk = EmbeddedCurveScalar::from_field(randomness);\n    let eph_pk = fixed_base_scalar_mul(eph_sk);\n\n    (eph_sk, eph_pk)\n}\n\n/// Generates a random ephemeral key pair with a positive y-coordinate.\n///\n/// Unlike [`generate_ephemeral_key_pair`], the y-coordinate of the public key is guaranteed to be a positive value\n/// (i.e. [`crate::utils::point::get_sign_of_point`] will return `true`).\n///\n/// This is useful as it means it is possible to just broadcast the x-coordinate as a single `Field` and then\n/// reconstruct the original public key using [`crate::utils::point::point_from_x_coord_and_sign`] with `sign: true`.\npub fn generate_positive_ephemeral_key_pair() -> (Scalar, Point) {\n    // Safety: we use the randomness to preserve the privacy of both the sender and recipient via encryption, so a\n    // malicious sender could use non-random values to reveal the plaintext. But they already know it themselves\n    // anyway, and so the recipient already trusts them to not disclose this information. We can therefore assume that\n    // the sender will cooperate in the random value generation.\n    let eph_sk = unsafe { generate_secret_key_for_positive_public_key() };\n    let eph_pk = fixed_base_scalar_mul(eph_sk);\n\n    assert(get_sign_of_point(eph_pk), \"Got an ephemeral public key with a negative y coordinate\");\n\n    (eph_sk, eph_pk)\n}\n\nunconstrained fn generate_secret_key_for_positive_public_key() -> EmbeddedCurveScalar {\n    let mut sk = std::mem::zeroed();\n\n    loop {\n        // We simply produce random secret keys until we find one that has results in a positive public key. About half\n        // of all public keys fulfill this condition, so this should only take a few iterations at most.\n\n        // @todo Need to draw randomness from the full domain of Fq not only Fr\n        sk = EmbeddedCurveScalar::from_field(random());\n        let pk = fixed_base_scalar_mul(sk);\n        if get_sign_of_point(pk) {\n            break;\n        }\n    }\n\n    sk\n}\n\nmod test {\n    use crate::utils::point::get_sign_of_point;\n    use super::generate_positive_ephemeral_key_pair;\n\n    #[test]\n    fn generate_positive_ephemeral_key_pair_produces_positive_keys() {\n        // About half of random points are negative, so testing just a couple gives us high confidence that\n        // `generate_positive_ephemeral_key_pair` is indeed producing positive ones.\n        for _ in 0..10 {\n            let (_, pk) = generate_positive_ephemeral_key_pair();\n            assert(get_sign_of_point(pk));\n        }\n    }\n}\n"
    },
    "111": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr",
      "source": "use crate::{\n    keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX},\n    oracle::{\n        key_validation_request::get_key_validation_request,\n        keys::{get_public_keys_and_partial_address, try_get_public_keys_and_partial_address},\n    },\n};\nuse crate::protocol::{address::AztecAddress, public_keys::PublicKeys};\n\npub unconstrained fn get_nhk_app(npk_m_hash: Field) -> Field {\n    get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n\n// A helper function that gets app-siloed outgoing viewing key for a given `ovpk_m_hash`. This function is used in\n// unconstrained contexts only - when computing unconstrained note logs. The safe alternative is `request_ovsk_app`\n// function defined on `PrivateContext`.\npub unconstrained fn get_ovsk_app(ovpk_m_hash: Field) -> Field {\n    get_key_validation_request(ovpk_m_hash, OUTGOING_INDEX).sk_app\n}\n\n// Returns all public keys for a given account, applying proper constraints to the context. We read all keys at once\n// since the constraints for reading them all are actually fewer than if we read them one at a time - any read keys\n// that are not required by the caller can simply be discarded.\n// Fails if the public keys are not registered\npub fn get_public_keys(account: AztecAddress) -> PublicKeys {\n    // Safety: Public keys are constrained by showing their inclusion in the address's preimage.\n    let (public_keys, partial_address) = unsafe { get_public_keys_and_partial_address(account) };\n    assert_eq(account, AztecAddress::compute(public_keys, partial_address), \"Invalid public keys hint for address\");\n\n    public_keys\n}\n\n/// Returns all public keys for a given account, or `None` if the public keys are not registered in the PXE.\npub unconstrained fn try_get_public_keys(account: AztecAddress) -> Option<PublicKeys> {\n    try_get_public_keys_and_partial_address(account).map(|(public_keys, _)| public_keys)\n}\n\nmod test {\n    use super::get_public_keys;\n\n    use crate::test::helpers::test_environment::TestEnvironment;\n    use std::test::OracleMock;\n\n    global KEY_ORACLE_RESPONSE_LENGTH: u32 = 13; // 12 fields for the keys, one field for the partial address\n\n    #[test(should_fail_with = \"Invalid public keys hint for address\")]\n    unconstrained fn get_public_keys_fails_with_bad_hint() {\n        let mut env = TestEnvironment::new();\n        let account = env.create_light_account();\n\n        // Instead of querying for some unknown account, which would result in the oracle erroring out, we mock a bad\n        // oracle response to check that the circuit properly checks the address derivation.\n        let mut random_keys_and_partial_address = [0; KEY_ORACLE_RESPONSE_LENGTH];\n        // We use randomly generated points on the curve, and a random partial address to ensure that this combination\n        // does not derive the address and we should see the assertion fail. npk_m\n        random_keys_and_partial_address[0] = 0x292364b852c6c6f01472951e76a39cbcf074591fd0e063a81965e7b51ad868a5;\n        random_keys_and_partial_address[1] = 0x0a687b46cdc9238f1c311f126aaaa4acbd7a737bff2efd7aeabdb8d805843a27;\n        random_keys_and_partial_address[2] = 0x0000000000000000000000000000000000000000000000000000000000000000;\n        // ivpk_m\n        random_keys_and_partial_address[3] = 0x173c5229a00c5425255680dd6edc27e278c48883991f348fe6985de43b4ec25f;\n        random_keys_and_partial_address[4] = 0x1698608e23b5f6c2f43c49a559108bb64e2247b8fc2da842296a416817f40b7f;\n        random_keys_and_partial_address[5] = 0x0000000000000000000000000000000000000000000000000000000000000000;\n        // ovpk_m\n        random_keys_and_partial_address[6] = 0x1bad2f7d1ad960a1bd0fe4d2c8d17f5ab4a86ef8b103e0a9e7f67ec0d3b4795e;\n        random_keys_and_partial_address[7] = 0x206db87110abbecc9fbaef2c865189d94ef2c106202f734ee4eba9257fd28bf1;\n        random_keys_and_partial_address[8] = 0x0000000000000000000000000000000000000000000000000000000000000000;\n        // tpk_m\n        random_keys_and_partial_address[9] = 0x05e3bd9cfe6b47daa139613619cf7d7fd8bb0112b6f2908caa6d9b536ed948ed;\n        random_keys_and_partial_address[10] = 0x051066f877c9df47552d02e7dc32127ff4edefc8498e813bca1cbd3f5d1be429;\n        random_keys_and_partial_address[11] = 0x0000000000000000000000000000000000000000000000000000000000000000;\n        // partial address\n        random_keys_and_partial_address[12] = 0x236703e2cb00a182e024e98e9f759231b556d25ff19f98896cebb69e9e678cc9;\n\n        let _ = OracleMock::mock(\"aztec_utl_getPublicKeysAndPartialAddress\").returns(Option::some(\n            random_keys_and_partial_address,\n        ));\n        let _ = get_public_keys(account);\n    }\n}\n"
    },
    "114": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/logging.nr",
      "source": "// Not all log levels are currently used, but we provide the full set so that new call sites can use any level. Because\n// of that we tag all with `#[allow(dead_code)]` to prevent warnings.\n//\n// All wrappers resolve function paths at comptime via `resolve_fn` so that the emitted `Quoted` code works both inside\n// aztec-nr (where `crate::` = aztec) and inside macro-generated contract code (where `crate::` = the contract).\n\nuse std::meta::ctstring::AsCtString;\n\ncomptime fn log_prefix<let N: u32>(msg: str<N>) -> CtString {\n    \"[aztec-nr] \".as_ctstring().append_str(msg)\n}\n\n// --- No-args variants (direct call) ---\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_fatal_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::fatal_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_error_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::error_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_warn_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::warn_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_info_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::info_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_verbose_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::verbose_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_debug_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::debug_log });\n    quote { $f($msg) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_trace_log<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::trace_log });\n    quote { $f($msg) }\n}\n\n// --- Format variants (return lambda for runtime args) ---\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_fatal_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::fatal_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_error_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::error_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_warn_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::warn_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_info_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::info_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_verbose_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::verbose_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_debug_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::debug_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n#[allow(dead_code)]\npub(crate) comptime fn aztecnr_trace_log_format<let N: u32>(msg: str<N>) -> Quoted {\n    let msg = log_prefix(msg);\n    let f = resolve_fn(quote { crate::protocol::logging::trace_log_format });\n    quote { (|args| $f($msg, args)) }\n}\n\n// See module-level comment for why this is needed.\ncomptime fn resolve_fn(path: Quoted) -> TypedExpr {\n    path.as_expr().unwrap().resolve(Option::none())\n}\n"
    },
    "116": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/aztec/compute_note_hash_and_nullifier.nr",
      "source": "use crate::logging;\nuse crate::macros::{notes::NOTES, utils::get_trait_impl_method};\n\n/// Generates two contract library methods called `_compute_note_hash` and `_compute_note_nullifier`, plus a\n/// (deprecated) wrapper called `_compute_note_hash_and_nullifier`, which are used for note discovery (i.e. these are\n/// of the `aztec::messages::discovery::ComputeNoteHash` and `aztec::messages::discovery::ComputeNoteNullifier` types).\npub(crate) comptime fn generate_contract_library_methods_compute_note_hash_and_nullifier() -> Quoted {\n    let compute_note_hash = generate_contract_library_method_compute_note_hash();\n    let compute_note_nullifier = generate_contract_library_method_compute_note_nullifier();\n\n    quote {\n        $compute_note_hash\n        $compute_note_nullifier\n\n        /// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash (non-siloed) and inner nullifier (non-siloed) assuming the note has been inserted into the note hash tree with `note_nonce`.\n        ///\n        /// This function is automatically injected by the `#[aztec]` macro.\n        #[contract_library_method]\n        #[allow(dead_code)]\n        unconstrained fn _compute_note_hash_and_nullifier(\n            packed_note: BoundedVec<Field, aztec::messages::logs::note::MAX_NOTE_PACKED_LEN>,\n            owner: aztec::protocol::address::AztecAddress,\n            storage_slot: Field,\n            note_type_id: Field,\n            contract_address: aztec::protocol::address::AztecAddress,\n            randomness: Field,\n            note_nonce: Field,\n        ) -> Option<aztec::messages::discovery::NoteHashAndNullifier> {\n            _compute_note_hash(packed_note, owner, storage_slot, note_type_id, contract_address, randomness).map(|note_hash| {\n\n                let siloed_note_hash = aztec::protocol::hash::compute_siloed_note_hash(contract_address, note_hash);\n                let unique_note_hash = aztec::protocol::hash::compute_unique_note_hash(note_nonce, siloed_note_hash);\n                \n                let inner_nullifier = _compute_note_nullifier(unique_note_hash, packed_note, owner, storage_slot, note_type_id, contract_address, randomness);\n\n                aztec::messages::discovery::NoteHashAndNullifier {\n                    note_hash,\n                    inner_nullifier,\n                }\n            })\n        }\n    }\n}\n\ncomptime fn generate_contract_library_method_compute_note_hash() -> Quoted {\n    if NOTES.len() == 0 {\n        // Contracts with no notes still implement this function to avoid having special-casing, the implementation\n        // simply throws immediately.\n        quote {\n            /// This contract does not use private notes, so this function should never be called as it will unconditionally fail.\n            ///\n            /// This function is automatically injected by the `#[aztec]` macro.\n            #[contract_library_method]\n            unconstrained fn _compute_note_hash(\n                _packed_note: BoundedVec<Field, aztec::messages::logs::note::MAX_NOTE_PACKED_LEN>,\n                _owner: aztec::protocol::address::AztecAddress,\n                _storage_slot: Field,\n                _note_type_id: Field,\n                _contract_address: aztec::protocol::address::AztecAddress,\n                _randomness: Field,\n            ) -> Option<Field> {\n                panic(f\"This contract does not use private notes\")\n            }\n        }\n    } else {\n        // Contracts that do define notes produce an if-else chain where `note_type_id` is matched against the\n        // `get_note_type_id()` function of each note type that we know of, in order to identify the note type. Once we\n        // know it we call the correct `unpack` method from the `Packable` trait to obtain the underlying note type,\n        // and\n        // compute the note hash (non-siloed).\n\n        // We resolve the log format calls here so that the resulting Quoted values can be spliced into the quote\n        // block below.\n        let warn_length_mismatch = logging::aztecnr_warn_log_format(\n            \"Packed note length mismatch for note type id {0}: expected {1} fields, got {2}. Skipping note.\",\n        );\n        let warn_unknown_note_type = logging::aztecnr_warn_log_format(\"Unknown note type id {0}. Skipping note.\");\n\n        let mut if_note_type_id_match_statements_list = @[];\n        for i in 0..NOTES.len() {\n            let typ = NOTES.get(i);\n\n            let get_note_type_id = get_trait_impl_method(\n                typ,\n                quote { crate::note::note_interface::NoteType },\n                quote { get_id },\n            );\n            let unpack = get_trait_impl_method(\n                typ,\n                quote { crate::protocol::traits::Packable },\n                quote { unpack },\n            );\n\n            let compute_note_hash = get_trait_impl_method(\n                typ,\n                quote { crate::note::note_interface::NoteHash },\n                quote { compute_note_hash },\n            );\n\n            let if_or_else_if = if i == 0 {\n                quote { if }\n            } else {\n                quote { else if }\n            };\n\n            if_note_type_id_match_statements_list = if_note_type_id_match_statements_list.push_back(\n                quote {\n                    $if_or_else_if note_type_id == $get_note_type_id() {\n                        // As an extra safety check we make sure that the packed_note BoundedVec has the expected\n                        // length, since we're about to interpret its raw storage as a fixed-size array by calling the\n                        // unpack function on it.\n                        let expected_len = <$typ as $crate::protocol::traits::Packable>::N;\n                        let actual_len = packed_note.len();\n                        if actual_len != expected_len {\n                            $warn_length_mismatch([note_type_id, expected_len as Field, actual_len as Field]);\n                            Option::none()\n                        } else {\n                            let note = $unpack(aztec::utils::array::subarray(packed_note.storage(), 0));\n\n                            Option::some($compute_note_hash(note, owner, storage_slot, randomness))\n                        }\n                    }\n                },\n            );\n        }\n\n        let if_note_type_id_match_statements = if_note_type_id_match_statements_list.join(quote {});\n\n        quote {\n            /// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash (non-siloed).\n            ///\n            /// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteHash` type, and so it can be used to call functions from that module such as `do_sync_state` and `attempt_note_discovery`.\n            ///\n            /// This function is automatically injected by the `#[aztec]` macro.\n            #[contract_library_method]\n            unconstrained fn _compute_note_hash(\n                packed_note: BoundedVec<Field, aztec::messages::logs::note::MAX_NOTE_PACKED_LEN>,\n                owner: aztec::protocol::address::AztecAddress,\n                storage_slot: Field,\n                note_type_id: Field,\n                _contract_address: aztec::protocol::address::AztecAddress,\n                randomness: Field,\n            ) -> Option<Field> {\n                $if_note_type_id_match_statements\n                else {\n                    $warn_unknown_note_type([note_type_id]);\n                    Option::none()\n                }\n            }\n        }\n    }\n}\n\ncomptime fn generate_contract_library_method_compute_note_nullifier() -> Quoted {\n    if NOTES.len() == 0 {\n        // Contracts with no notes still implement this function to avoid having special-casing, the implementation\n        // simply throws immediately.\n        quote {\n            /// This contract does not use private notes, so this function should never be called as it will unconditionally fail.\n            ///\n            /// This function is automatically injected by the `#[aztec]` macro.\n            #[contract_library_method]\n            unconstrained fn _compute_note_nullifier(\n                _unique_note_hash: Field,\n                _packed_note: BoundedVec<Field, aztec::messages::logs::note::MAX_NOTE_PACKED_LEN>,\n                _owner: aztec::protocol::address::AztecAddress,\n                _storage_slot: Field,\n                _note_type_id: Field,\n                _contract_address: aztec::protocol::address::AztecAddress,\n                _randomness: Field,\n            ) -> Option<Field> {\n                panic(f\"This contract does not use private notes\")\n            }\n        }\n    } else {\n        // Contracts that do define notes produce an if-else chain where `note_type_id` is matched against the\n        // `get_note_type_id()` function of each note type that we know of, in order to identify the note type. Once we\n        // know it we call the correct `unpack` method from the `Packable` trait to obtain the underlying note type,\n        // and\n        // compute the inner nullifier (non-siloed).\n\n        // We resolve the log format calls here so that the resulting Quoted values can be spliced into the quote\n        // block below.\n        let warn_length_mismatch = logging::aztecnr_warn_log_format(\n            \"Packed note length mismatch for note type id {0}: expected {1} fields, got {2}. Skipping note.\",\n        );\n        let warn_unknown_note_type = logging::aztecnr_warn_log_format(\"Unknown note type id {0}. Skipping note.\");\n\n        let mut if_note_type_id_match_statements_list = @[];\n        for i in 0..NOTES.len() {\n            let typ = NOTES.get(i);\n\n            let get_note_type_id = get_trait_impl_method(\n                typ,\n                quote { crate::note::note_interface::NoteType },\n                quote { get_id },\n            );\n            let unpack = get_trait_impl_method(\n                typ,\n                quote { crate::protocol::traits::Packable },\n                quote { unpack },\n            );\n\n            let compute_nullifier_unconstrained = get_trait_impl_method(\n                typ,\n                quote { crate::note::note_interface::NoteHash },\n                quote { compute_nullifier_unconstrained },\n            );\n\n            let if_or_else_if = if i == 0 {\n                quote { if }\n            } else {\n                quote { else if }\n            };\n\n            if_note_type_id_match_statements_list = if_note_type_id_match_statements_list.push_back(\n                quote {\n                    $if_or_else_if note_type_id == $get_note_type_id() {\n                        // As an extra safety check we make sure that the packed_note BoundedVec has the expected\n                        // length, since we're about to interpret its raw storage as a fixed-size array by calling the\n                        // unpack function on it.\n                        let expected_len = <$typ as $crate::protocol::traits::Packable>::N;\n                        let actual_len = packed_note.len();\n                        if actual_len != expected_len {\n                            $warn_length_mismatch([note_type_id, expected_len as Field, actual_len as Field]);\n                            Option::none()\n                        } else {\n                            let note = $unpack(aztec::utils::array::subarray(packed_note.storage(), 0));\n\n                            // The message discovery process finds settled notes, that is, notes that were created in\n                            // prior transactions and are therefore already part of the note hash tree. The note hash\n                            // for nullification is hence the unique note hash.\n                            $compute_nullifier_unconstrained(note, owner, unique_note_hash)\n                        }\n                    }\n                },\n            );\n        }\n\n        let if_note_type_id_match_statements = if_note_type_id_match_statements_list.join(quote {});\n\n        quote {\n            /// Computes a note's inner nullifier (non-siloed) given its unique note hash, preimage and extra data.\n            ///\n            /// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteNullifier` type, and so it can be used to call functions from that module such as `do_sync_state` and `attempt_note_discovery`.\n            ///\n            /// This function is automatically injected by the `#[aztec]` macro.\n            #[contract_library_method]\n            unconstrained fn _compute_note_nullifier(\n                unique_note_hash: Field,\n                packed_note: BoundedVec<Field, aztec::messages::logs::note::MAX_NOTE_PACKED_LEN>,\n                owner: aztec::protocol::address::AztecAddress,\n                _storage_slot: Field,\n                note_type_id: Field,\n                _contract_address: aztec::protocol::address::AztecAddress,\n                _randomness: Field,\n            ) -> Option<Field> {\n                $if_note_type_id_match_statements\n                else {\n                    $warn_unknown_note_type([note_type_id]);\n                    Option::none()\n                }\n            }\n        }\n    }\n}\n"
    },
    "117": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/aztec.nr",
      "source": "mod compute_note_hash_and_nullifier;\n\nuse crate::{\n    macros::{\n        calls_generation::{\n            external_functions::{generate_external_function_calls, generate_external_function_self_calls_structs},\n            internal_functions::generate_call_internal_struct,\n        },\n        dispatch::generate_public_dispatch,\n        emit_public_init_nullifier::generate_emit_public_init_nullifier,\n        internals_functions_generation::{create_fn_abi_exports, process_functions},\n        storage::STORAGE_LAYOUT_NAME,\n        utils::{is_fn_contract_library_method, is_fn_external, is_fn_internal, is_fn_test, module_has_storage},\n    },\n    messages::discovery::CustomMessageHandler,\n};\n\nuse compute_note_hash_and_nullifier::generate_contract_library_methods_compute_note_hash_and_nullifier;\n\n/// Configuration for the [`aztec`] macro.\n///\n/// This type lets users override different parts of the default aztec-nr contract behavior, such\n/// as message handling. These are advanced features that require careful understanding of\n/// the behavior of these systems.\n///\n/// ## Examples\n///\n/// ```noir\n/// #[aztec(aztec::macros::AztecConfig::new().custom_message_handler(my_handler))]\n/// contract MyContract { ... }\n/// ```\npub struct AztecConfig {\n    custom_message_handler: Option<CustomMessageHandler<()>>,\n}\n\nimpl AztecConfig {\n    /// Creates a new `AztecConfig` with default values.\n    ///\n    /// Calling `new` is equivalent to invoking the [`aztec`] macro with no parameters. The different methods\n    /// (e.g. [`AztecConfig::custom_message_handler`]) can then be used to change the default behavior.\n    pub comptime fn new() -> Self {\n        Self { custom_message_handler: Option::none() }\n    }\n\n    /// Sets a handler for custom messages.\n    ///\n    /// This enables contracts to process non-standard messages (i.e. any with a message type that is not in\n    /// [`crate::messages::msg_type`]).\n    ///\n    /// `handler` must be a `#[contract_library_method]` function that conforms to the\n    /// [`crate::messages::discovery::CustomMessageHandler`] type signature.\n    pub comptime fn custom_message_handler(_self: Self, handler: CustomMessageHandler<()>) -> Self {\n        Self { custom_message_handler: Option::some(handler) }\n    }\n}\n\n/// Enables aztec-nr features on a `contract`.\n///\n/// All aztec-nr contracts should have this macro invoked on them, as it is the one that processes all contract\n/// functions, notes, storage, generates interfaces for external calls, and creates the message processing\n/// boilerplate.\n///\n/// ## Examples\n///\n/// Most contracts can simply invoke the macro with no parameters, resulting in default aztec-nr behavior:\n/// ```noir\n/// #[aztec]\n/// contract MyContract { ... }\n/// ```\n///\n/// Advanced contracts can use [`AztecConfig`] to customize parts of its behavior, such as message\n/// processing.\n/// ```noir\n/// #[aztec(aztec::macros::AztecConfig::new().custom_message_handler(my_handler))]\n/// contract MyAdvancedContract { ... }\n/// ```\n#[varargs]\npub comptime fn aztec(m: Module, args: [AztecConfig]) -> Quoted {\n    let num_args = args.len();\n    let config = if num_args == 0 {\n        AztecConfig::new()\n    } else if num_args == 1 {\n        args[0]\n    } else {\n        panic(f\"#[aztec] expects 0 or 1 arguments, got {num_args}\")\n    };\n\n    // Functions that don't have #[external(...)], #[contract_library_method], or #[test] are not allowed in contracts.\n    check_each_fn_macroified(m);\n\n    // We generate new functions prefixed with `__aztec_nr_internals__` and we replace the original functions' bodies\n    // with `static_assert(false, ...)` to prevent them from being called directly from within the contract.\n    let functions = process_functions(m);\n\n    // We generate structs and their implementations necessary for convenient functions calls.\n    let interface = generate_contract_interface(m);\n    let self_call_structs = generate_external_function_self_calls_structs(m);\n    let call_internal_struct = generate_call_internal_struct(m);\n\n    // We generate ABI exports for all the external functions in the contract.\n    let fn_abi_exports = create_fn_abi_exports(m);\n\n    // We generate `_compute_note_hash`, `_compute_note_nullifier` (and the deprecated\n    // `_compute_note_hash_and_nullifier` wrapper) and `sync_state` functions only if they are not already implemented.\n    // If they are implemented we just insert empty quotes.\n    let contract_library_method_compute_note_hash_and_nullifier = if !m.functions().any(|f| {\n        // Note that we don't test for `_compute_note_hash` or `_compute_note_nullifier` in order to make this simpler\n        // - users must either implement all three or none.\n        // Down the line we'll remove this check and use `AztecConfig`.\n        f.name() == quote { _compute_note_hash_and_nullifier }\n    }) {\n        generate_contract_library_methods_compute_note_hash_and_nullifier()\n    } else {\n        quote {}\n    };\n    let process_custom_message_option = if config.custom_message_handler.is_some() {\n        let handler = config.custom_message_handler.unwrap();\n        quote { Option::some($handler) }\n    } else {\n        quote { Option::<aztec::messages::discovery::CustomMessageHandler<()>>::none() }\n    };\n\n    let offchain_inbox_sync_option = quote {\n        Option::some(aztec::messages::processing::offchain::sync_inbox)\n    };\n\n    let sync_state_fn_and_abi_export = if !m.functions().any(|f| f.name() == quote { sync_state }) {\n        generate_sync_state(process_custom_message_option, offchain_inbox_sync_option)\n    } else {\n        quote {}\n    };\n\n    if m.functions().any(|f| f.name() == quote { offchain_receive }) {\n        panic(\n            \"User-defined 'offchain_receive' is not allowed. The function is auto-injected by the #[aztec] macro. See https://docs.aztec.network/errors/7\",\n        );\n    }\n    let offchain_receive_fn_and_abi_export = generate_offchain_receive();\n\n    let (has_public_init_nullifier_fn, emit_public_init_nullifier_fn_body) = generate_emit_public_init_nullifier(m);\n    let public_dispatch = generate_public_dispatch(m, has_public_init_nullifier_fn);\n\n    quote {\n        $interface\n        $self_call_structs\n        $call_internal_struct\n        $functions\n        $fn_abi_exports\n        $contract_library_method_compute_note_hash_and_nullifier\n        $public_dispatch\n        $sync_state_fn_and_abi_export\n        $emit_public_init_nullifier_fn_body\n        $offchain_receive_fn_and_abi_export\n    }\n}\n\ncomptime fn generate_contract_interface(m: Module) -> Quoted {\n    let calls = generate_external_function_calls(m);\n\n    let module_name = m.name();\n\n    let has_storage_layout = module_has_storage(m) & STORAGE_LAYOUT_NAME.get(m).is_some();\n    let storage_layout_getter = if has_storage_layout {\n        let storage_layout_name = STORAGE_LAYOUT_NAME.get(m).unwrap();\n        quote {\n            pub fn storage_layout() -> StorageLayoutFields {\n                $storage_layout_name.fields\n            }\n        }\n    } else {\n        quote {}\n    };\n\n    let library_storage_layout_getter = if has_storage_layout {\n        quote {\n            #[contract_library_method]\n            $storage_layout_getter\n        }\n    } else {\n        quote {}\n    };\n\n    quote {\n        pub struct $module_name {\n            pub target_contract: aztec::protocol::address::AztecAddress\n        }\n\n        impl $module_name {\n            $calls\n\n            pub fn at(\n                addr: aztec::protocol::address::AztecAddress\n            ) -> Self {\n                Self { target_contract: addr }\n            }\n\n            pub fn interface() -> Self {\n                Self { target_contract: aztec::protocol::address::AztecAddress::zero() }\n            }\n\n            $storage_layout_getter\n        }\n\n        #[contract_library_method]\n        pub fn at(\n            addr: aztec::protocol::address::AztecAddress\n        ) -> $module_name {\n            $module_name { target_contract: addr }\n        }\n\n        #[contract_library_method]\n        pub fn interface() -> $module_name {\n            $module_name { target_contract: aztec::protocol::address::AztecAddress::zero() }\n        }\n\n        $library_storage_layout_getter\n\n    }\n}\n\n/// Generates the `sync_state` utility function that performs message discovery.\ncomptime fn generate_sync_state(process_custom_message_option: Quoted, offchain_inbox_sync_option: Quoted) -> Quoted {\n    quote {\n        pub struct sync_state_parameters {\n            pub scope: aztec::protocol::address::AztecAddress,\n        }\n\n        #[abi(functions)]\n        pub struct sync_state_abi {\n            parameters: sync_state_parameters,\n        }\n\n        #[aztec::macros::internals_functions_generation::abi_attributes::abi_utility]\n        unconstrained fn sync_state(scope: aztec::protocol::address::AztecAddress) {\n            let address = aztec::context::UtilityContext::new().this_address();\n            aztec::messages::discovery::do_sync_state(\n                address,\n                _compute_note_hash,\n                _compute_note_nullifier,\n                $process_custom_message_option,\n                $offchain_inbox_sync_option,\n                scope,\n            );\n        }\n    }\n}\n\n/// Generates an `offchain_receive` utility function that lets callers add messages to the offchain message inbox.\n///\n/// For more details, see `aztec::messages::processing::offchain::receive`.\ncomptime fn generate_offchain_receive() -> Quoted {\n    quote {\n        pub struct offchain_receive_parameters {\n            pub messages: BoundedVec<\n                aztec::messages::processing::offchain::OffchainMessage,\n                aztec::messages::processing::offchain::MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL,\n            >,\n        }\n\n        #[abi(functions)]\n        pub struct offchain_receive_abi {\n            parameters: offchain_receive_parameters,\n        }\n\n        /// Receives offchain messages into this contract's offchain inbox for subsequent processing.\n        ///\n        /// Each message is routed to the inbox scoped to its `recipient` field.\n        ///\n        /// For more details, see `aztec::messages::processing::offchain::receive`.\n        ///\n        /// This function is automatically injected by the `#[aztec]` macro.\n        #[aztec::macros::internals_functions_generation::abi_attributes::abi_utility]\n        unconstrained fn offchain_receive(\n            messages: BoundedVec<\n                aztec::messages::processing::offchain::OffchainMessage,\n                aztec::messages::processing::offchain::MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL,\n            >,\n        ) {\n            let address = aztec::context::UtilityContext::new().this_address();\n            aztec::messages::processing::offchain::receive(address, messages);\n        }\n    }\n}\n\n/// Checks that all functions in the module have a context macro applied.\n///\n/// Non-macroified functions are not allowed in contracts. They must all be one of\n/// [`crate::macros::functions::external`], [`crate::macros::functions::internal`] or `test`.\ncomptime fn check_each_fn_macroified(m: Module) {\n    for f in m.functions() {\n        let name = f.name();\n        if !is_fn_external(f) & !is_fn_contract_library_method(f) & !is_fn_internal(f) & !is_fn_test(f) {\n            // We  don't suggest that #[contract_library_method] is allowed because we don't want to introduce another\n            // concept\n            panic(\n                f\"Function {name} must be marked as either #[external(...)], #[internal(...)], or #[test]\",\n            );\n        }\n    }\n}\n"
    },
    "119": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/calls_generation/external_functions_stubs.nr",
      "source": "//! Stubs are auto-generated wrapper functions that provide an ergonomic interface for cross-contract calls. ! Instead\n// of manually serializing arguments and creating call interfaces, stubs allow natural syntax, e.g. for ! enqueuing\n// calls to public functions: ! !   ExternalContract.at(address).some_method(arg1, arg2).enqueue()\n\nuse crate::macros::utils::compute_fn_selector;\nuse crate::protocol::meta::utils::derive_serialization_quotes;\nuse std::meta::unquote;\n\ncomptime global FROM_FIELD: TypedExpr = {\n    let from_field_trait = quote { crate::protocol::traits::FromField }.as_trait_constraint();\n    let function_selector_typ = quote { crate::protocol::abis::function_selector::FunctionSelector }.as_type();\n    function_selector_typ.get_trait_impl(from_field_trait).unwrap().methods().filter(|m| {\n        m.name() == quote { from_field }\n    })[0]\n        .as_typed_expr()\n};\n\n/// Utility function creating stubs used by all the stub functions in this file.\ncomptime fn create_stub_base(f: FunctionDefinition) -> (Quoted, Quoted, Quoted, Quoted, u32, Quoted, u32, Field) {\n    // Dear privacy adventurer, chances are, you've command+clicked on the name of an external function call -- seeking\n    // to view that function -- only to end up here. Here's an explanation: The external contract that you're calling\n    // was likely annotated with the `#[aztec]` annotation -- as all good aztec contracts are. This triggers a macro\n    // which generates a \"contract interface\" for that contract, which is effectively a pretty interface that gives\n    // natural contract calling semantics:\n    //\n    // `MyImportedContract.at(some_address).my_method(arg1, arg2).enqueue();\n    //\n    // Unfortunately, the usage of macros makes it a bit of a black box. To actually view the target function, you\n    // could instead command+click on `MyImportedContract`, or you can just manually search it. If you want to view the\n    // noir code that gets generated by this macro, you can use `nargo expand` on your contract.\n    let fn_name = f.name();\n    let fn_parameters = f.parameters();\n    let fn_parameters_list = fn_parameters.map(|(name, typ): (Quoted, Type)| quote { $name: $typ }).join(quote {,});\n\n    let (serialized_args_array_construction, serialized_args_array_len_quote, serialized_args_array_name) =\n        derive_serialization_quotes(fn_parameters, false);\n    let serialized_args_array_len: u32 = unquote!(quote { ($serialized_args_array_len_quote) as u32 });\n\n    let fn_name_str = f\"\\\"{fn_name}\\\"\".quoted_contents();\n    let fn_name_len: u32 = unquote!(quote { $fn_name_str.as_bytes().len()});\n    let fn_selector: Field = compute_fn_selector(f.name(), f.parameters());\n\n    (\n        fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name,\n        serialized_args_array_len, fn_name_str, fn_name_len, fn_selector,\n    )\n}\n\npub(crate) comptime fn create_private_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, serialized_args_array_len, fn_name_str, fn_name_len, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> aztec::context::calls::PrivateCall<$fn_name_len, $serialized_args_array_len, $fn_return_type> {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            aztec::context::calls::PrivateCall::new(\n                self.target_contract,\n                selector,\n                $fn_name_str,\n                $serialized_args_array_name,\n            )\n        }\n    }\n}\n\npub(crate) comptime fn create_private_static_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, serialized_args_array_len, fn_name_str, fn_name_len, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> aztec::context::calls::PrivateStaticCall<$fn_name_len, $serialized_args_array_len, $fn_return_type> {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            aztec::context::calls::PrivateStaticCall::new(\n                self.target_contract,\n                selector,\n                $fn_name_str,\n                $serialized_args_array_name,\n            )\n        }\n    }\n}\n\npub(crate) comptime fn create_public_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, serialized_args_array_len, fn_name_str, fn_name_len, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> aztec::context::calls::PublicCall<$fn_name_len, $serialized_args_array_len, $fn_return_type> {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            aztec::context::calls::PublicCall::new(\n                self.target_contract,\n                selector,\n                $fn_name_str,\n                $serialized_args_array_name,\n            )\n        }\n    }\n}\n\npub(crate) comptime fn create_public_static_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, serialized_args_array_len, fn_name_str, fn_name_len, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> aztec::context::calls::PublicStaticCall<$fn_name_len, $serialized_args_array_len, $fn_return_type> {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            aztec::context::calls::PublicStaticCall::new(\n                self.target_contract,\n                selector,\n                $fn_name_str,\n                $serialized_args_array_name,\n            )\n        }\n    }\n}\n\npub(crate) comptime fn create_utility_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, serialized_args_array_len, fn_name_str, fn_name_len, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> aztec::context::calls::UtilityCall<$fn_name_len, $serialized_args_array_len, $fn_return_type> {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            aztec::context::calls::UtilityCall::new(\n                self.target_contract,\n                selector,\n                $fn_name_str,\n                $serialized_args_array_name,\n            )\n        }\n    }\n}\n\n// Self-call stub generation functions for CallSelf, CallSelfStatic, EnqueueSelf, and EnqueueSelfStatic structs. Unlike\n// the stubs above, the self-call stubs directly perform the call instead of returning a struct that can be later used\n// to perform the call.\n\n/// Creates a stub for calling a private function (or static private function if `is_static` is true) from private\n/// context (for CallSelf<&mut PrivateContext> and CallSelfStatic<&mut PrivateContext>).\npub comptime fn create_private_self_call_stub(f: FunctionDefinition, is_static: bool) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, _, _, _, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> $fn_return_type {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            let args_hash = aztec::hash::hash_args($serialized_args_array_name);\n            aztec::oracle::execution_cache::store($serialized_args_array_name, args_hash);\n            let returns_hash = self.context.call_private_function_with_args_hash(\n                self.address,\n                selector,\n                args_hash,\n                $is_static\n            );\n            returns_hash.get_preimage()\n        }\n    }\n}\n\n/// Creates a stub for calling a public function from public context (for CallSelf<PublicContext>)\npub comptime fn create_public_self_call_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, _, fn_name_str, _, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    // TODO: It makes sense to drop the use of PublicStaticCall struct here and just perform the call directly but\n    // before doing that we need to drop the use of slices from return values because we cannot return slices from an\n    // unconstrained function. This is not a priority right now.\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> $fn_return_type {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            unsafe {\n                aztec::context::calls::PublicCall::new(\n                    self.address,\n                    selector,\n                    $fn_name_str,\n                    $serialized_args_array_name,\n                ).call(self.context)\n            }\n        }\n    }\n}\n\n/// Creates a static stub for calling a public view function from public context (for CallSelfStatic<PublicContext>)\npub comptime fn create_public_self_call_static_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, _, fn_name_str, _, fn_selector) =\n        create_stub_base(f);\n    let fn_return_type = f.return_type();\n\n    // TODO: It makes sense to drop the use of PublicStaticCall struct here and just perform the call directly but\n    // before doing that we need to drop the use of slices from return values because we cannot return slices from an\n    // unconstrained function. This is not a priority right now.\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) -> $fn_return_type {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            unsafe {\n                aztec::context::calls::PublicStaticCall::new(\n                    self.address,\n                    selector,\n                    $fn_name_str,\n                    $serialized_args_array_name,\n                ).view(self.context)\n            }\n        }\n    }\n}\n\n/// Creates a static stub for enqueuing a public view function from private context (for EnqueueSelfStatic<&mut\n/// PrivateContext>)\npub comptime fn create_public_self_enqueue_static_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, _serialized_args_array_len, _fn_name_str, _fn_name_len, fn_selector) =\n        create_stub_base(f);\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            let calldata = [aztec::protocol::traits::ToField::to_field(selector)].concat($serialized_args_array_name);\n            let calldata_hash = aztec::hash::hash_calldata_array(calldata);\n            aztec::oracle::execution_cache::store(calldata, calldata_hash);\n            self.context.call_public_function_with_calldata_hash(\n                self.address,\n                calldata_hash,\n                /*is_static_call=*/ true,\n                /*hide_msg_sender=*/ false,\n            );\n        }\n    }\n}\n\n/// Creates a stub for enqueuing a public function from private context (for EnqueueSelf<&mut PrivateContext>)\npub comptime fn create_public_self_enqueue_stub(f: FunctionDefinition) -> Quoted {\n    let (fn_name, fn_parameters_list, serialized_args_array_construction, serialized_args_array_name, _serialized_args_array_len, _fn_name_str, _fn_name_len, fn_selector) =\n        create_stub_base(f);\n\n    quote {\n        pub fn $fn_name(self, $fn_parameters_list) {\n            $serialized_args_array_construction\n            let selector = $FROM_FIELD($fn_selector);\n            let calldata = [aztec::protocol::traits::ToField::to_field(selector)].concat($serialized_args_array_name);\n            let calldata_hash = aztec::hash::hash_calldata_array(calldata);\n            aztec::oracle::execution_cache::store(calldata, calldata_hash);\n            self.context.call_public_function_with_calldata_hash(\n                self.address,\n                calldata_hash,\n                /*is_static_call=*/ false,\n                /*hide_msg_sender=*/ false,\n            );\n        }\n    }\n}\n"
    },
    "120": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/calls_generation/internal_functions.nr",
      "source": "//! Generates functionality such that the following API for performing calls to `#[internal(\"...\")]` functions is\n//! available:\n//!\n//! ```noir\n//! self.internal.my_internal_function(...)\n//! ```\n//!\n//! Injected into the contract by the `#[aztec]` macro.\n\nuse crate::macros::internals_functions_generation::internal_functions_registry;\n\n/// Generates a method for the `CallInternal` struct that makes a call to the `#[internal(\"private\")]` function `f`.\ncomptime fn generate_private_internal_function_call(f: FunctionDefinition) -> Quoted {\n    let original_function_name = f.name();\n    let original_return_type = f.return_type();\n    let original_params =\n        f.parameters().map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    let params_at_callsite = f.parameters().map(|(param_name, _)| quote { $param_name }).join(quote {, });\n\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n\n    quote {\n        pub fn $original_function_name(self: CallInternal<&mut aztec::context::PrivateContext>, $original_params) -> $original_return_type {\n            $fn_name(self.context, $params_at_callsite)\n        }\n    }\n}\n\n/// Generates a method for the `CallInternal` struct that makes a call to the `#[internal(\"public\")]` function `f`.\ncomptime fn generate_public_internal_function_call(f: FunctionDefinition) -> Quoted {\n    let original_function_name = f.name();\n    let original_return_type = f.return_type();\n    let original_params =\n        f.parameters().map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    let params_at_callsite = f.parameters().map(|(param_name, _)| quote { $param_name }).join(quote {, });\n\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n\n    quote {\n        pub unconstrained fn $original_function_name(self: CallInternal<aztec::context::PublicContext>, $original_params) -> $original_return_type {\n            $fn_name(self.context, $params_at_callsite)\n        }\n    }\n}\n\n/// Generates a struct which is injected into contracts via the `#[aztec]` macro and which is then instantiated in the\n/// external and internal functions' bodies and provided into the `ContractSelf` struct. This then allows for the\n/// following API:\n///\n/// ```noir\n/// self.internal.my_internal_function(arg1, arg2);\n/// ```\npub(crate) comptime fn generate_call_internal_struct(m: Module) -> Quoted {\n    let private_internal_functions = internal_functions_registry::get_private_functions(m);\n    let public_internal_functions = internal_functions_registry::get_public_functions(m);\n\n    let private_internal_functions_calls =\n        private_internal_functions.map(|function| generate_private_internal_function_call(function)).join(quote {});\n    let public_internal_functions_calls =\n        public_internal_functions.map(|function| generate_public_internal_function_call(function)).join(quote {});\n\n    quote {\n        pub struct CallInternal<Context> {\n            pub context: Context,\n        }\n\n        impl CallInternal<&mut aztec::context::PrivateContext> {\n            $private_internal_functions_calls\n        }\n\n        impl CallInternal<aztec::context::PublicContext> {\n            $public_internal_functions_calls\n        }\n    }\n}\n"
    },
    "122": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/dispatch.nr",
      "source": "use crate::macros::internals_functions_generation::external_functions_registry::get_public_functions;\nuse crate::protocol::meta::utils::get_params_len_quote;\nuse crate::utils::cmap::CHashMap;\nuse super::functions::initialization_utils::EMIT_PUBLIC_INIT_NULLIFIER_FN_NAME;\nuse super::utils::compute_fn_selector;\nuse std::panic;\n\n/// Generates a `public_dispatch` function for an Aztec contract module `m`.\n///\n/// The generated function dispatches public calls based on selector to the appropriate contract function. If\n/// `generate_emit_public_init_nullifier` is true, it also handles dispatch to the macro-generated\n/// `__emit_public_init_nullifier` function.\npub comptime fn generate_public_dispatch(m: Module, generate_emit_public_init_nullifier: bool) -> Quoted {\n    let functions = get_public_functions(m);\n\n    let unit = get_type::<()>();\n\n    let seen_selectors = &mut CHashMap::<Field, Quoted>::new();\n\n    let mut ifs = functions.map(|function: FunctionDefinition| {\n        let parameters = function.parameters();\n        let return_type = function.return_type();\n\n        let fn_name = function.name();\n        let selector: Field = compute_fn_selector(fn_name, parameters);\n\n        // Since function selectors are computed as the first 4 bytes of the hash of the function signature, it's\n        // possible to have collisions. With the following check, we ensure it doesn't happen within the same contract.\n        let existing_fn = seen_selectors.get(selector);\n        if existing_fn.is_some() {\n            let existing_fn = existing_fn.unwrap();\n            panic(\n                f\"Public function selector collision detected between functions '{fn_name}' and '{existing_fn}'\",\n            );\n        }\n        seen_selectors.insert(selector, fn_name);\n\n        let params_len_quote = get_params_len_quote(parameters);\n\n        let initial_read = if parameters.len() == 0 {\n            quote {}\n        } else {\n            // The initial calldata_copy offset is 1 to skip the Field selector The expected calldata is the\n            // serialization of\n            // - FunctionSelector: the selector of the function intended to dispatch\n            // - Parameters: the parameters of the function intended to dispatch That is, exactly what is expected for\n            // a call to the target function, but with a selector added at the beginning.\n            quote {\n                let input_calldata: [Field; $params_len_quote] = aztec::oracle::avm::calldata_copy(1, $params_len_quote);\n                let mut reader = aztec::protocol::utils::reader::Reader::new(input_calldata);\n            }\n        };\n\n        let parameter_index: &mut u32 = &mut 0;\n        let reads = parameters.map(|param: (Quoted, Type)| {\n            let parameter_index_value = *parameter_index;\n            let param_name = f\"arg{parameter_index_value}\".quoted_contents();\n            let param_type = param.1;\n            let read = quote {\n                let $param_name: $param_type = aztec::protocol::traits::Deserialize::stream_deserialize(&mut reader);\n            };\n            *parameter_index += 1;\n            quote { $read }\n        });\n        let read = reads.join(quote { });\n\n        let mut args = @[];\n        for parameter_index in 0..parameters.len() {\n            let param_name = f\"arg{parameter_index}\".quoted_contents();\n            args = args.push_back(quote { $param_name });\n        }\n\n        // We call a function whose name is prefixed with `__aztec_nr_internals__`. This is necessary because the\n        // original function is intentionally made uncallable, preventing direct invocation within the contract.\n        // Instead, a new function with the same name, but prefixed by `__aztec_nr_internals__`, has been generated to\n        // be called here. For more details see the `process_functions` function.\n        let name = f\"__aztec_nr_internals__{fn_name}\".quoted_contents();\n        let args = args.join(quote { , });\n        let call = quote { $name($args) };\n\n        let return_code = if return_type == unit {\n            quote {\n                $call;\n                // Force early return.\n                aztec::oracle::avm::avm_return([]);\n            }\n        } else {\n            quote {\n                let return_value = aztec::protocol::traits::Serialize::serialize($call);\n                aztec::oracle::avm::avm_return(return_value.as_vector());\n            }\n        };\n\n        let if_ = quote {\n            if selector == $selector {\n                $initial_read\n                $read\n                $return_code\n            }\n        };\n        if_\n    });\n\n    // If we injected the auto-generated public function to emit the public initialization nullifier, then\n    // we'll also need to handle its dispatch.\n    if generate_emit_public_init_nullifier {\n        let name = EMIT_PUBLIC_INIT_NULLIFIER_FN_NAME;\n        let init_nullifier_selector: Field = compute_fn_selector(name, @[]);\n\n        ifs = ifs.push_back(\n            quote {\n            if selector == $init_nullifier_selector {\n                $name();\n                aztec::oracle::avm::avm_return([]);\n            }\n        },\n        );\n    }\n\n    if ifs.len() == 0 {\n        // No dispatch function if there are no public functions\n        quote {}\n    } else {\n        let ifs = ifs.push_back(quote { panic(f\"Unknown selector {selector}\") });\n        let dispatch = ifs.join(quote {  });\n\n        let body = quote {\n            // We mark this as public because our whole system depends on public functions having this attribute.\n            #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n            pub unconstrained fn public_dispatch(selector: Field) {\n                $dispatch\n            }\n        };\n\n        body\n    }\n}\n\ncomptime fn get_type<T>() -> Type {\n    let t: T = std::mem::zeroed();\n    std::meta::type_of(t)\n}\n"
    },
    "126": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/functions/initialization_utils.nr",
      "source": "use crate::protocol::{\n    abis::function_selector::FunctionSelector,\n    address::AztecAddress,\n    constants::{\n        DOM_SEP__INITIALIZER, DOM_SEP__PRIVATE_INITIALIZATION_NULLIFIER, DOM_SEP__PUBLIC_INITIALIZATION_NULLIFIER,\n    },\n    hash::poseidon2_hash_with_separator,\n    traits::ToField,\n};\nuse std::meta::{ctstring::AsCtString, unquote};\n\nuse crate::{\n    context::{PrivateContext, PublicContext, UtilityContext},\n    macros::{\n        internals_functions_generation::external_functions_registry::get_public_functions, utils::fn_has_noinitcheck,\n    },\n    nullifier::utils::compute_nullifier_existence_request,\n    oracle::{\n        get_contract_instance::{\n            get_contract_instance, get_contract_instance_deployer_avm, get_contract_instance_initialization_hash_avm,\n        },\n        nullifiers::check_nullifier_exists,\n    },\n};\n\n/// The name of the auto-generated function that emits the public initialization nullifier.\n///\n/// This function is injected into the public dispatch table for contracts with initializers.\npub(crate) comptime global EMIT_PUBLIC_INIT_NULLIFIER_FN_NAME: Quoted = quote { __emit_public_init_nullifier };\n\n/// Returns `true` if the module has any public functions that require initialization checks (i.e. that don't have\n/// `#[noinitcheck]`). If all public functions skip initialization checks, there's no point emitting the public\n/// initialization nullifier since nothing will check it.\npub(crate) comptime fn has_public_init_checked_functions(m: Module) -> bool {\n    get_public_functions(m).any(|f: FunctionDefinition| !fn_has_noinitcheck(f))\n}\n\n/// Selector for `EMIT_PUBLIC_INIT_NULLIFIER_FN_NAME`, derived at comptime so it stays in sync.\nglobal EMIT_PUBLIC_INIT_NULLIFIER_SELECTOR: FunctionSelector = comptime {\n    let name = EMIT_PUBLIC_INIT_NULLIFIER_FN_NAME;\n    let sig = f\"{name}()\".as_ctstring();\n    unquote!(quote { FunctionSelector::from_signature($sig) })\n};\n\n/// Emits (only) the public initialization nullifier.\n///\n/// This function is called by the aztec-nr auto-generated external public contract function (enqueued by private\n/// [`initializer`](crate::macros::functions::initializer) functions), and also by\n/// [`mark_as_initialized_from_public_initializer`] for public initializers.\n///\n/// # Warning\n///\n/// This should not be called manually. Incorrect use can leave the contract in a broken initialization state (e.g.\n/// emitting the public nullifier without the private one). The macro-generated code handles this automatically.\npub fn mark_as_initialized_public(context: PublicContext) {\n    let init_nullifier = compute_public_initialization_nullifier(context.this_address());\n    context.push_nullifier(init_nullifier);\n}\n\nfn mark_as_initialized_private(context: &mut PrivateContext) {\n    let address = (*context).this_address();\n    let instance = get_contract_instance(address);\n    let init_nullifier = compute_private_initialization_nullifier(address, instance.initialization_hash);\n    context.push_nullifier(init_nullifier);\n}\n\n/// Emits the private initialization nullifier and, if relevant, enqueues the emission of the public one.\n///\n/// If the contract has public functions that perform initialization checks (i.e. that don't have `#[noinitcheck]`),\n/// this also enqueues a call to the auto-generated `__emit_public_init_nullifier` function so the public\n/// initialization nullifier is emitted in public. Called by private\n/// [`initializer`](crate::macros::functions::initializer) macros.\npub fn mark_as_initialized_from_private_initializer(context: &mut PrivateContext, emit_public_init_nullifier: bool) {\n    mark_as_initialized_private(context);\n    if emit_public_init_nullifier {\n        context.call_public_function((*context).this_address(), EMIT_PUBLIC_INIT_NULLIFIER_SELECTOR, [], false);\n    }\n}\n\n/// Emits both initialization nullifiers (private and public).\n///\n/// Called by public [`initializer`](crate::macros::functions::initializer) macros, since public initializers must set\n/// both so that both private and public functions see the contract as initialized.\npub fn mark_as_initialized_from_public_initializer(context: PublicContext) {\n    let address = context.this_address();\n    // `get_contract_instance_initialization_hash_avm` returns None when there is no deployed contract instance at the\n    // given address. This cannot happen here because we're querying `this_address()`, i.e. the contract that is\n    // currently executing, which by definition must have been deployed.\n    let init_hash = get_contract_instance_initialization_hash_avm(address).unwrap();\n    let private_nullifier = compute_private_initialization_nullifier(address, init_hash);\n    context.push_nullifier(private_nullifier);\n    mark_as_initialized_public(context);\n}\n\n/// Asserts that the contract has been initialized, from public's perspective.\n///\n/// Checks that the public initialization nullifier exists.\npub fn assert_is_initialized_public(context: PublicContext) {\n    let init_nullifier = compute_public_initialization_nullifier(context.this_address());\n    // Safety: the public initialization nullifier is only ever emitted by public functions, and so the timing\n    // concerns from nullifier_exists_unsafe do not apply. Additionally, it is emitted after all initializer\n    // functions have run, so initialization is guaranteed to be complete by the time it exists.\n    assert(context.nullifier_exists_unsafe(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\n/// Asserts that the contract has been initialized, from private's perspective.\n///\n/// Checks that the private initialization nullifier exists.\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n    let address = context.this_address();\n    let instance = get_contract_instance(address);\n    let init_nullifier = compute_private_initialization_nullifier(address, instance.initialization_hash);\n    let nullifier_existence_request = compute_nullifier_existence_request(init_nullifier, address);\n    context.assert_nullifier_exists(nullifier_existence_request);\n}\n\n/// Asserts that the contract has been initialized, from a utility function's perspective.\n///\n/// Only checks the private initialization nullifier in the settled nullifier tree. Since both nullifiers are emitted\n/// in the same transaction, the private nullifier's presence in settled state guarantees the public one is also\n/// settled.\npub unconstrained fn assert_is_initialized_utility(context: UtilityContext) {\n    let address = context.this_address();\n    let instance = get_contract_instance(address);\n    let initialization_nullifier = compute_private_initialization_nullifier(address, instance.initialization_hash);\n    assert(check_nullifier_exists(initialization_nullifier), \"Not initialized\");\n}\n\n/// Computes the private initialization nullifier for a contract.\n///\n/// Including `init_hash` ensures that an observer who knows only the contract address cannot reconstruct this value\n/// and scan the nullifier tree to determine initialization status. `init_hash` is only known to parties that hold\n/// the contract instance.\npub fn compute_private_initialization_nullifier(address: AztecAddress, init_hash: Field) -> Field {\n    poseidon2_hash_with_separator(\n        [address.to_field(), init_hash],\n        DOM_SEP__PRIVATE_INITIALIZATION_NULLIFIER,\n    )\n}\n\nfn compute_public_initialization_nullifier(address: AztecAddress) -> Field {\n    poseidon2_hash_with_separator(\n        [address.to_field()],\n        DOM_SEP__PUBLIC_INITIALIZATION_NULLIFIER,\n    )\n}\n\n// Used by `create_assert_correct_initializer_args` (you won't find it through searching)\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n    let address = context.this_address();\n    let deployer = get_contract_instance_deployer_avm(address).unwrap();\n    let initialization_hash = get_contract_instance_initialization_hash_avm(address).unwrap();\n    let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n    assert(initialization_hash == expected_init, \"Initialization hash does not match\");\n    assert(\n        (deployer.is_zero()) | (deployer == context.maybe_msg_sender().unwrap()),\n        \"Initializer address is not the contract deployer\",\n    );\n}\n\n// Used by `create_assert_correct_initializer_args` (you won't find it through searching)\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n    let address = context.this_address();\n    let instance = get_contract_instance(address);\n    let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n    assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n    assert(\n        (instance.deployer.is_zero()) | (instance.deployer == context.maybe_msg_sender().unwrap()),\n        \"Initializer address is not the contract deployer\",\n    );\n}\n\n/// This function is not only used in macros but it's also used by external people to check that an instance has been\n/// initialized with the correct constructor arguments. Don't hide this unless you implement factory functionality.\npub fn compute_initialization_hash(init_selector: FunctionSelector, init_args_hash: Field) -> Field {\n    poseidon2_hash_with_separator(\n        [init_selector.to_field(), init_args_hash],\n        DOM_SEP__INITIALIZER,\n    )\n}\n"
    },
    "132": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/external/private.nr",
      "source": "use crate::macros::{\n    functions::initialization_utils::has_public_init_checked_functions,\n    internals_functions_generation::external::helpers::{create_authorize_once_check, get_abi_relevant_attributes},\n    utils::{\n        fn_has_allow_phase_change, fn_has_authorize_once, fn_has_noinitcheck, is_fn_initializer, is_fn_only_self,\n        is_fn_view, module_has_initializer, module_has_storage,\n    },\n};\nuse crate::protocol::meta::utils::derive_serialization_quotes;\nuse std::meta::type_of;\n\npub(crate) comptime fn generate_private_external(f: FunctionDefinition) -> Quoted {\n    let module_has_initializer = module_has_initializer(f.module());\n    let module_has_storage = module_has_storage(f.module());\n\n    // Private functions undergo a lot of transformations from their Aztec.nr form into a circuit that can be fed to\n    // the Private Kernel Circuit. First we change the function signature so that it also receives\n    // `PrivateContextInputs`, which contain information about the execution context (e.g. the caller).\n    let original_params = f.parameters();\n\n    let original_params_quotes =\n        original_params.map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    let params = quote { inputs: aztec::context::inputs::PrivateContextInputs, $original_params_quotes };\n\n    let mut body = f.body().as_block().unwrap();\n\n    // The original params are hashed and passed to the `context` object, so that the kernel can verify we've received\n    // the correct values.\n    let (args_serialization, _, serialized_args_name) = derive_serialization_quotes(original_params, false);\n\n    let storage_init = if module_has_storage {\n        // Contract has Storage defined so we initialize it.\n        quote {\n            let storage = Storage::init(&mut context);\n        }\n    } else {\n        // Contract does not have Storage defined, so we set storage to the unit type `()`. ContractSelfPrivate\n        // requires a storage struct in its constructor. Using an Option type would lead to worse developer experience\n        // and higher constraint counts so we use the unit type `()` instead.\n        quote {\n            let storage = ();\n        }\n    };\n\n    let contract_self_creation = quote {\n        #[allow(unused_variables)]\n        let mut self = {\n            $args_serialization\n            let args_hash = aztec::hash::hash_args($serialized_args_name);\n            let mut context = aztec::context::PrivateContext::new(inputs, args_hash);\n            $storage_init\n            let self_address = context.this_address();\n            let call_self: CallSelf<&mut aztec::context::PrivateContext> = CallSelf { address: self_address, context: &mut context };\n            let enqueue_self: EnqueueSelf<&mut aztec::context::PrivateContext> = EnqueueSelf { address: self_address, context: &mut context };\n            let call_self_static: CallSelfStatic<&mut aztec::context::PrivateContext> = CallSelfStatic { address: self_address, context: &mut context };\n            let enqueue_self_static: EnqueueSelfStatic<&mut aztec::context::PrivateContext> = EnqueueSelfStatic { address: self_address, context: &mut context };\n            let internal: CallInternal<&mut aztec::context::PrivateContext> = CallInternal { context: &mut context };\n            aztec::contract_self::ContractSelfPrivate::new(&mut context, storage, call_self, enqueue_self, call_self_static, enqueue_self_static, internal)\n        };\n    };\n\n    let original_function_name = f.name();\n\n    // Modifications introduced by the different marker attributes.\n    let internal_check = if is_fn_only_self(f) {\n        let assertion_message = f\"Function {original_function_name} can only be called by the same contract\";\n        quote { assert(self.msg_sender() == self.address, $assertion_message); }\n    } else {\n        quote {}\n    };\n\n    let view_check = if is_fn_view(f) {\n        let assertion_message = f\"Function {original_function_name} can only be called statically\".as_quoted_str();\n        quote { assert(self.context.inputs.call_context.is_static_call, $assertion_message); }\n    } else {\n        quote {}\n    };\n\n    let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n        let has_public_fns_with_init_check = has_public_init_checked_functions(f.module());\n        (\n            quote { aztec::macros::functions::initialization_utils::assert_initialization_matches_address_preimage_private(*self.context); },\n            quote { aztec::macros::functions::initialization_utils::mark_as_initialized_from_private_initializer(self.context, $has_public_fns_with_init_check); },\n        )\n    } else {\n        (quote {}, quote {})\n    };\n\n    // Initialization checks are not included in contracts that don't have initializers.\n    let init_check = if module_has_initializer & !is_fn_initializer(f) & !fn_has_noinitcheck(f) {\n        quote { aztec::macros::functions::initialization_utils::assert_is_initialized_private(self.context); }\n    } else {\n        quote {}\n    };\n\n    // Phase checks are skipped in functions that request to manually handle phases\n    let initial_phase_store = if fn_has_allow_phase_change(f) {\n        quote {}\n    } else {\n        quote { let within_revertible_phase: bool = self.context.in_revertible_phase(); }\n    };\n\n    let no_phase_change_check = if fn_has_allow_phase_change(f) {\n        quote {}\n    } else {\n        quote {   \n            assert_eq(\n                within_revertible_phase,\n                self.context.in_revertible_phase(),\n                f\"Phase change detected on function with phase check. If this is expected, use #[allow_phase_change]\",\n            ); \n        }\n    };\n\n    // Inject the authwit check if the function is marked with #[authorize_once].\n    let authorize_once_check = if fn_has_authorize_once(f) {\n        create_authorize_once_check(f, true)\n    } else {\n        quote {}\n    };\n\n    // Finally, we need to change the return type to be `PrivateCircuitPublicInputs`, which is what the Private Kernel\n    // circuit expects.\n    let return_value_var_name = quote { macro__returned__values };\n\n    let return_value_type = f.return_type();\n    let return_value = if body.len() == 0 {\n        quote {}\n    } else if return_value_type != type_of(()) {\n        // The original return value is serialized and hashed before being passed to the context.\n        let (body_without_return, last_body_expr) = body.pop_back();\n        let return_value = last_body_expr.quoted();\n        let return_value_assignment = quote { let $return_value_var_name: $return_value_type = $return_value; };\n\n        let (return_serialization, _, serialized_return_name) =\n            derive_serialization_quotes([(return_value_var_name, return_value_type)], false);\n\n        body = body_without_return;\n\n        quote {\n            $return_value_assignment\n            $return_serialization\n            self.context.set_return_hash($serialized_return_name);\n        }\n    } else {\n        let (body_without_return, last_body_expr) = body.pop_back();\n        if !last_body_expr.has_semicolon()\n            & last_body_expr.as_for().is_none()\n            & last_body_expr.as_assert().is_none()\n            & last_body_expr.as_for_range().is_none()\n            & last_body_expr.as_assert_eq().is_none()\n            & last_body_expr.as_let().is_none() {\n            let unused_return_value_name = f\"_{return_value_var_name}\".quoted_contents();\n            body = body_without_return.push_back(quote { let $unused_return_value_name = $last_body_expr; }\n                .as_expr()\n                .unwrap());\n        }\n        quote {}\n    };\n\n    let context_finish = quote { self.context.finish() };\n\n    // Preserve all attributes that are relevant to the function's ABI.\n    let abi_relevant_attributes = get_abi_relevant_attributes(f);\n\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n\n    let to_prepend = quote {\n        aztec::oracle::version::assert_compatible_oracle_version();\n        $contract_self_creation\n        $initial_phase_store\n        $assert_initializer\n        $init_check\n        $internal_check\n        $view_check\n        $authorize_once_check\n    };\n\n    let body_quote = body.map(|expr| expr.quoted()).join(quote { });\n\n    // `mark_as_initialized` is placed after the user's function body. If it ran at the beginning, the contract\n    // would appear initialized while the initializer is still running, allowing contracts called by the initializer\n    // to re-enter into a half-initialized contract.\n    let to_append = quote {\n        $return_value\n        $mark_as_initialized\n        $no_phase_change_check\n        $context_finish\n    };\n\n    quote {\n        #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n        $abi_relevant_attributes\n        fn $fn_name($params) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n            $to_prepend\n            $body_quote\n            $to_append\n        }\n    }\n}\n"
    },
    "133": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/external/public.nr",
      "source": "use crate::macros::{\n    internals_functions_generation::external::helpers::{create_authorize_once_check, get_abi_relevant_attributes},\n    utils::{\n        fn_has_authorize_once, fn_has_noinitcheck, is_fn_initializer, is_fn_only_self, is_fn_view,\n        module_has_initializer, module_has_storage,\n    },\n};\n\npub(crate) comptime fn generate_public_external(f: FunctionDefinition) -> Quoted {\n    let module_has_initializer = module_has_initializer(f.module());\n    let module_has_storage = module_has_storage(f.module());\n\n    // Public functions undergo a lot of transformations from their Aztec.nr form.\n    let original_params = f.parameters();\n\n    let args_len_quote = if original_params.len() == 0 {\n        // If the function has no parameters, we set the args_len to 0.\n        quote { 0 }\n    } else {\n        // The following will give us <type_of_struct_member_1 as Serialize>::N + <type_of_struct_member_2 as\n        // Serialize>::N + ...\n        original_params\n            .map(|(_, param_type): (Quoted, Type)| {\n                quote {\n            <$param_type as $crate::protocol::traits::Serialize>::N\n        }\n            })\n            .join(quote {+})\n    };\n\n    let storage_init = if module_has_storage {\n        quote {\n            let storage = Storage::init(context);\n        }\n    } else {\n        // Contract does not have Storage defined, so we set storage to the unit type `()`. ContractSelfPublic requires\n        // a storage struct in its constructor. Using an Option type would lead to worse developer experience and\n        // higher constraint counts so we use the unit type `()` instead.\n        quote {\n            let storage = ();\n        }\n    };\n\n    // Unlike in the private case, in public the `context` does not need to receive the hash of the original params.\n    let contract_self_creation = quote {\n        #[allow(unused_variables)]\n        let mut self = {\n            let context = aztec::context::PublicContext::new(|| {\n            // We start from 1 because we skip the selector for the dispatch function.\n            let serialized_args : [Field; $args_len_quote] = aztec::oracle::avm::calldata_copy(1, $args_len_quote);\n            aztec::hash::hash_args(serialized_args)\n            });\n            $storage_init\n            let self_address = context.this_address();\n            let call_self: CallSelf<aztec::context::PublicContext> = CallSelf { address: self_address, context };\n            let call_self_static: CallSelfStatic<aztec::context::PublicContext> = CallSelfStatic { address: self_address, context };\n            let internal: CallInternal<aztec::context::PublicContext> = CallInternal { context };\n            aztec::contract_self::ContractSelfPublic::new(context, storage, call_self, call_self_static, internal)\n        };\n    };\n\n    let original_function_name = f.name();\n\n    // Modifications introduced by the different marker attributes.\n    let internal_check = if is_fn_only_self(f) {\n        let assertion_message = f\"Function {original_function_name} can only be called by the same contract\";\n        quote { assert(self.msg_sender() == self.address, $assertion_message); }\n    } else {\n        quote {}\n    };\n\n    let view_check = if is_fn_view(f) {\n        let assertion_message = f\"Function {original_function_name} can only be called statically\".as_quoted_str();\n        quote { assert(self.context.is_static_call(), $assertion_message); }\n    } else {\n        quote {}\n    };\n\n    let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n        (\n            quote { aztec::macros::functions::initialization_utils::assert_initialization_matches_address_preimage_public(self.context); },\n            quote { aztec::macros::functions::initialization_utils::mark_as_initialized_from_public_initializer(self.context); },\n        )\n    } else {\n        (quote {}, quote {})\n    };\n\n    // Initialization checks are not included in contracts that don't have initializers.\n    let init_check = if module_has_initializer & !fn_has_noinitcheck(f) & !is_fn_initializer(f) {\n        quote { aztec::macros::functions::initialization_utils::assert_is_initialized_public(self.context); }\n    } else {\n        quote {}\n    };\n\n    // Inject the authwit check if the function is marked with #[authorize_once].\n    let authorize_once_check = if fn_has_authorize_once(f) {\n        create_authorize_once_check(f, false)\n    } else {\n        quote {}\n    };\n\n    let to_prepend = quote {\n        $contract_self_creation\n        $assert_initializer\n        $init_check\n        $internal_check\n        $view_check\n        $authorize_once_check\n    };\n\n    // `mark_as_initialized` is placed after the user's function body. If it ran at the beginning, the contract\n    // would appear initialized while the initializer is still running, allowing contracts called by the initializer\n    // to re-enter into a half-initialized contract.\n    let to_append = quote {\n        $mark_as_initialized\n    };\n\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n    let body = f.body();\n    let return_type = f.return_type();\n\n    // New function parameters are the same as the original function's ones.\n    let params = original_params.map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    // Preserve all attributes that are relevant to the function's ABI.\n    let abi_relevant_attributes = get_abi_relevant_attributes(f);\n\n    // All public functions are automatically made unconstrained, even if they were not marked as such. This is because\n    // instead of compiling into a circuit, they will compile to bytecode that will be later transpiled into AVM\n    // bytecode.\n    quote {\n        #[aztec::macros::internals_functions_generation::abi_attributes::abi_public]\n        $abi_relevant_attributes\n        unconstrained fn $fn_name($params) -> pub $return_type {\n            $to_prepend\n            $body\n            $to_append\n        }\n    }\n}\n"
    },
    "134": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/external/utility.nr",
      "source": "use crate::macros::utils::{fn_has_noinitcheck, module_has_initializer, module_has_storage};\n\npub(crate) comptime fn generate_utility_external(f: FunctionDefinition) -> Quoted {\n    let module_has_initializer = module_has_initializer(f.module());\n\n    // Initialize Storage if module has storage\n    let storage_init = if module_has_storage(f.module()) {\n        quote {\n            let storage = Storage::init(context);\n        }\n    } else {\n        // Contract does not have Storage defined, so we set storage to the unit type `()`. ContractSelfUtility\n        // requires a\n        // storage struct in its constructor. Using an Option type would lead to worse developer experience and higher\n        // constraint counts so we use the unit type `()` instead.\n        quote {\n            let storage = ();\n        }\n    };\n\n    // Create utility context\n    let contract_self_creation = quote {\n        #[allow(unused_variables)]\n        let mut self = {\n            let context = aztec::context::UtilityContext::new();\n            $storage_init\n            aztec::contract_self::ContractSelfUtility::new(context, storage)\n        };\n    };\n\n    // Initialization checks are not included in contracts that don't have initializers.\n    let init_check = if module_has_initializer & !fn_has_noinitcheck(f) {\n        quote {\n            aztec::macros::functions::initialization_utils::assert_is_initialized_utility(\n                self.context,\n            );\n        }\n    } else {\n        quote {}\n    };\n\n    // A quote to be injected at the beginning of the function body.\n    let to_prepend = quote {\n        aztec::oracle::version::assert_compatible_oracle_version();\n        $contract_self_creation\n        $init_check\n    };\n\n    let original_function_name = f.name();\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n    let body = f.body();\n    let params = f.parameters().map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n    let return_type = f.return_type();\n\n    quote {\n        #[aztec::macros::internals_functions_generation::abi_attributes::abi_utility]\n        unconstrained fn $fn_name($params) -> pub $return_type {\n            $to_prepend\n            $body\n        }\n    }\n}\n"
    },
    "136": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/internal.nr",
      "source": "use crate::macros::utils::module_has_storage;\n\n/// Generates a private internal function based on the function that was originally marked with #[internal(\"private\")].\n/// For more details on why we do this instead of just transforming the original function, see the documentation of\n/// this module.\npub(crate) comptime fn generate_private_internal(f: FunctionDefinition) -> Quoted {\n    let original_function_name = f.name();\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n    let return_type = f.return_type();\n\n    let original_params =\n        f.parameters().map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    let params = quote {\n        context: &mut aztec::context::PrivateContext,\n        $original_params\n    };\n\n    let storage_init = if module_has_storage(f.module()) {\n        quote {\n            let storage = Storage::init(context);\n        }\n    } else {\n        quote {\n            let storage = ();\n        }\n    };\n\n    let body = f.body();\n\n    // Internal functions are inlined within external functions. For this reason we mark them with\n    // #[contract_library_method] to prevent them from being compiled as entry points.\n    quote {\n        #[contract_library_method]\n        fn $fn_name($params) -> $return_type {\n            #[allow(unused_variables)]\n            let mut self = {\n                $storage_init\n                let self_address = context.this_address();\n                let call_self: CallSelf<&mut aztec::context::PrivateContext> = CallSelf { address: self_address, context };\n                let enqueue_self: EnqueueSelf<&mut aztec::context::PrivateContext> = EnqueueSelf { address: self_address, context };\n                let call_self_static: CallSelfStatic<&mut aztec::context::PrivateContext> = CallSelfStatic { address: self_address, context };\n                let enqueue_self_static: EnqueueSelfStatic<&mut aztec::context::PrivateContext> = EnqueueSelfStatic { address: self_address, context };\n                let internal: CallInternal<&mut aztec::context::PrivateContext> = CallInternal { context };\n                aztec::contract_self::ContractSelfPrivate::new(context, storage, call_self, enqueue_self, call_self_static, enqueue_self_static, internal)\n            };\n            \n            $body\n        }\n    }\n}\n\n/// Generates a public internal function based on the function that was originally marked with #[internal(\"public\")].\n/// For more details on why we do this instead of just transforming the original function, see the documentation of\n/// this module.\npub(crate) comptime fn generate_public_internal(f: FunctionDefinition) -> Quoted {\n    let original_function_name = f.name();\n    let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n    let return_type = f.return_type();\n\n    let original_params =\n        f.parameters().map(|(param_name, param_type)| quote { $param_name: $param_type }).join(quote {, });\n\n    let params = quote {\n        context: aztec::context::PublicContext,\n        $original_params\n    };\n\n    let storage_init = if module_has_storage(f.module()) {\n        quote {\n            let storage = Storage::init(context);\n        }\n    } else {\n        quote {\n            let storage = ();\n        }\n    };\n\n    let body = f.body();\n\n    // Internal public functions are marked as unconstrained because they are inlined within external public functions,\n    // which are also compiled as unconstrained and later transpiled to AVM bytecode. Since these internal functions\n    // are intended to be inlined, we mark them with #[contract_library_method] to prevent them from being compiled as\n    // entry points.\n    quote {\n        #[contract_library_method]\n        unconstrained fn $fn_name($params) -> $return_type {\n            #[allow(unused_variables)]\n            let mut self = {\n                $storage_init\n                let self_address = context.this_address();\n                let call_self: CallSelf<aztec::context::PublicContext> = CallSelf { address: self_address, context };\n                let call_self_static: CallSelfStatic<aztec::context::PublicContext> = CallSelfStatic { address: self_address, context };\n                let internal: CallInternal<aztec::context::PublicContext> = CallInternal { context };\n                aztec::contract_self::ContractSelfPublic::new(context, storage, call_self, call_self_static, internal)\n            };\n\n            $body\n        }\n    }\n}\n"
    },
    "143": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/mod.nr",
      "source": "use crate::logging::{aztecnr_debug_log, aztecnr_debug_log_format, aztecnr_warn_log_format};\nuse crate::protocol::address::AztecAddress;\n\npub(crate) mod nonce_discovery;\npub(crate) mod partial_notes;\npub(crate) mod private_events;\npub mod private_notes;\npub mod process_message;\n\nuse crate::{\n    capsules::CapsuleArray,\n    messages::{\n        discovery::process_message::process_message_ciphertext,\n        encoding::MAX_MESSAGE_CONTENT_LEN,\n        logs::note::MAX_NOTE_PACKED_LEN,\n        processing::{\n            get_private_logs, MessageContext, offchain::OffchainInboxSync, OffchainMessageWithContext,\n            pending_tagged_log::PendingTaggedLog, validate_and_store_enqueued_notes_and_events,\n        },\n    },\n    utils::array,\n};\n\npub struct NoteHashAndNullifier {\n    /// The result of [`crate::note::note_interface::NoteHash::compute_note_hash`].\n    pub note_hash: Field,\n    /// The result of [`crate::note::note_interface::NoteHash::compute_nullifier_unconstrained`].\n    ///\n    /// This value is unconstrained, as all of message discovery is unconstrained. It is `None` if the nullifier\n    /// cannot be computed (e.g. because the nullifier hiding key is not available).\n    pub inner_nullifier: Option<Field>,\n}\n\n/// A contract's way of computing note hashes.\n///\n/// Each contract in the network is free to compute their note's hash as they see fit - the hash function itself is not\n/// enshrined or standardized. Some aztec-nr functions however do need to know the details of this computation (e.g.\n/// when finding new notes), which is what this type represents.\n///\n/// This function takes a note's packed content, storage slot, note type ID, address of the emitting contract and\n/// randomness, and attempts to compute its inner note hash (not siloed by address nor uniqued by nonce).\n///\n/// ## Transient Notes\n///\n/// This function is meant to always be used on **settled** notes, i.e. those that have been inserted into the trees\n/// and for which the nonce is known. It is never invoked in the context of a transient note, as those are not involved\n/// in message processing.\n///\n/// ## Automatic Implementation\n///\n/// The [`[#aztec]`](crate::macros::aztec::aztec) macro automatically creates a correct implementation of this function\n/// for each contract by inspecting all note types in use and the storage layout. This injected function is a\n/// `#[contract_library_method]` called `_compute_note_hash`, and it looks something like this:\n///\n/// ```noir\n/// |packed_note, owner, storage_slot, note_type_id, _contract_address, randomness| {\n///     if note_type_id == MyNoteType::get_id() {\n///         if packed_note.len() != MY_NOTE_TYPE_SERIALIZATION_LENGTH {\n///             Option::none()\n///         } else {\n///             let note = MyNoteType::unpack(aztec::utils::array::subarray(packed_note.storage(), 0));\n///             Option::some(note.compute_note_hash(owner, storage_slot, randomness))\n///         }\n///     } else if note_type_id == MyOtherNoteType::get_id() {\n///           ... // Similar to above but calling MyOtherNoteType::unpack\n///     } else {\n///         Option::none() // Unknown note type ID\n///     };\n/// }\n/// ```\npub type ComputeNoteHash = unconstrained fn(/* packed_note */BoundedVec<Field, MAX_NOTE_PACKED_LEN>, /*\n owner */ AztecAddress, /* storage_slot */ Field, /* note_type_id */ Field, /* contract_address */ AztecAddress, /*\nrandomness */ Field) -> Option<Field>;\n\n/// A contract's way of computing note nullifiers.\n///\n/// Like [`ComputeNoteHash`], each contract is free to derive nullifiers as they see fit. This function takes the\n/// unique note hash (used as the note hash for nullification for settled notes), plus the note's packed content and\n/// metadata, and attempts to compute the inner nullifier (not siloed by address).\n///\n/// ## Automatic Implementation\n///\n/// The [`[#aztec]`](crate::macros::aztec::aztec) macro automatically creates a correct implementation of this function\n/// for each contract called `_compute_note_nullifier`. It dispatches on `note_type_id` similarly to\n/// [`ComputeNoteHash`], then calls the note's\n/// [`compute_nullifier_unconstrained`](crate::note::note_interface::NoteHash::compute_nullifier_unconstrained) method.\npub type ComputeNoteNullifier = unconstrained fn(/* unique_note_hash */Field, /* packed_note */ BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n/* owner */ AztecAddress, /* storage_slot */ Field, /* note_type_id */ Field, /* contract_address */ AztecAddress,\n/* randomness */ Field) -> Option<Field>;\n\n/// Deprecated: use [`ComputeNoteHash`] and [`ComputeNoteNullifier`] instead.\npub type ComputeNoteHashAndNullifier<Env> = unconstrained fn[Env](/* packed_note */BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n/* owner */ AztecAddress, /* storage_slot */ Field, /* note_type_id */ Field, /* contract_address */ AztecAddress,\n/*randomness */ Field, /* note nonce */ Field) -> Option<NoteHashAndNullifier>;\n\n/// A handler for custom messages.\n///\n/// Contracts that emit custom messages (i.e. any with a message type that is not in [`crate::messages::msg_type`])\n/// need to use [`crate::macros::AztecConfig::custom_message_handler`] with a function of this type in order to\n/// process them. They will otherwise be **silently ignored**.\npub type CustomMessageHandler<Env> = unconstrained fn[Env](\n/* contract_address */AztecAddress,\n/* msg_type_id */ u64,\n/* msg_metadata */ u64,\n/* msg_content */ BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n/* message_context */ MessageContext,\n/* scope */ AztecAddress);\n\n/// Synchronizes the contract's private state with the network.\n///\n/// As blocks are mined, it is possible for a contract's private state to change (e.g. with new notes being created),\n/// but because these changes are private they will be invisible to most actors. This is the function that processes\n/// new transactions in order to discover new notes, events, and other kinds of private state changes.\n///\n/// The private state will be synchronized up to the block that will be used for private transactions (i.e. the anchor\n/// block. This will typically be close to the tip of the chain.\npub unconstrained fn do_sync_state<CustomMessageHandlerEnv>(\n    contract_address: AztecAddress,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    process_custom_message: Option<CustomMessageHandler<CustomMessageHandlerEnv>>,\n    offchain_inbox_sync: Option<OffchainInboxSync<()>>,\n    scope: AztecAddress,\n) {\n    aztecnr_debug_log!(\"Performing state synchronization\");\n\n    // First we process all private logs, which can contain different kinds of messages e.g. private notes, partial\n    // notes, private events, etc.\n    let logs = get_private_logs(contract_address, scope);\n    logs.for_each(|i, pending_tagged_log: PendingTaggedLog| {\n        if pending_tagged_log.log.len() == 0 {\n            aztecnr_warn_log_format!(\"Skipping empty log from tx {0}\")([pending_tagged_log.context.tx_hash]);\n        } else {\n            aztecnr_debug_log_format!(\"Processing log with tag {0}\")([pending_tagged_log.log.get(0)]);\n\n            // We remove the tag from the pending tagged log and process the message ciphertext contained in it.\n            let message_ciphertext = array::subbvec(pending_tagged_log.log, 1);\n\n            process_message_ciphertext(\n                contract_address,\n                compute_note_hash,\n                compute_note_nullifier,\n                process_custom_message,\n                message_ciphertext,\n                pending_tagged_log.context,\n                scope,\n            );\n        }\n\n        // We need to delete each log from the array so that we won't process them again. `CapsuleArray::for_each`\n        // allows deletion of the current element during iteration, so this is safe.\n        // Note that this (and all other database changes) will only be committed if contract execution succeeds,\n        // including any enqueued validation requests.\n        logs.remove(i);\n    });\n\n    if offchain_inbox_sync.is_some() {\n        let msgs: CapsuleArray<OffchainMessageWithContext> = offchain_inbox_sync.unwrap()(contract_address, scope);\n        msgs.for_each(|i, msg| {\n            process_message_ciphertext(\n                contract_address,\n                compute_note_hash,\n                compute_note_nullifier,\n                process_custom_message,\n                msg.message_ciphertext,\n                msg.message_context,\n                scope,\n            );\n            // The inbox sync returns _a copy_ of messages to process, so we clear them as we do so. This is a\n            // volatile array with the to-process message, not the actual persistent storage of them.\n            msgs.remove(i);\n        });\n    }\n\n    // Then we process all pending partial notes, regardless of whether they were found in the current or previous\n    // executions.\n    partial_notes::fetch_and_process_partial_note_completion_logs(\n        contract_address,\n        compute_note_hash,\n        compute_note_nullifier,\n        scope,\n    );\n\n    // Finally we validate all notes and events that were found as part of the previous processes, resulting in them\n    // being added to PXE's database and retrievable via oracles (get_notes) and our TS API (PXE::getPrivateEvents).\n    validate_and_store_enqueued_notes_and_events(contract_address, scope);\n}\n\nmod test {\n    use crate::{\n        capsules::CapsuleArray,\n        messages::{\n            discovery::{CustomMessageHandler, do_sync_state},\n            logs::note::MAX_NOTE_PACKED_LEN,\n            processing::{\n                offchain::OffchainInboxSync, pending_tagged_log::PendingTaggedLog, PENDING_TAGGED_LOG_ARRAY_BASE_SLOT,\n            },\n        },\n        test::helpers::test_environment::TestEnvironment,\n    };\n    use crate::protocol::address::AztecAddress;\n\n    global SCOPE: AztecAddress = AztecAddress { inner: 0xcafe };\n\n    #[test]\n    unconstrained fn do_sync_state_does_not_panic_on_empty_logs() {\n        let env = TestEnvironment::new();\n\n        let contract_address = AztecAddress { inner: 0xdeadbeef };\n\n        env.utility_context_at(contract_address, |_| {\n            let base_slot = PENDING_TAGGED_LOG_ARRAY_BASE_SLOT;\n\n            let logs: CapsuleArray<PendingTaggedLog> = CapsuleArray::at(contract_address, base_slot, SCOPE);\n            logs.push(PendingTaggedLog { log: BoundedVec::new(), context: std::mem::zeroed() });\n            assert_eq(logs.len(), 1);\n\n            let no_inbox_sync: Option<OffchainInboxSync<()>> = Option::none();\n            let no_handler: Option<CustomMessageHandler<()>> = Option::none();\n            do_sync_state(\n                contract_address,\n                dummy_compute_note_hash,\n                dummy_compute_note_nullifier,\n                no_handler,\n                no_inbox_sync,\n                SCOPE,\n            );\n\n            assert_eq(logs.len(), 0);\n        });\n    }\n\n    unconstrained fn dummy_compute_note_hash(\n        _packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n        _owner: AztecAddress,\n        _storage_slot: Field,\n        _note_type_id: Field,\n        _contract_address: AztecAddress,\n        _randomness: Field,\n    ) -> Option<Field> {\n        Option::none()\n    }\n\n    unconstrained fn dummy_compute_note_nullifier(\n        _unique_note_hash: Field,\n        _packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n        _owner: AztecAddress,\n        _storage_slot: Field,\n        _note_type_id: Field,\n        _contract_address: AztecAddress,\n        _randomness: Field,\n    ) -> Option<Field> {\n        Option::none()\n    }\n}\n"
    },
    "144": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/nonce_discovery.nr",
      "source": "use crate::messages::{discovery::{ComputeNoteHash, ComputeNoteNullifier}, logs::note::MAX_NOTE_PACKED_LEN};\n\nuse crate::logging::{aztecnr_debug_log_format, aztecnr_warn_log_format};\nuse crate::protocol::{\n    address::AztecAddress,\n    constants::MAX_NOTE_HASHES_PER_TX,\n    hash::{compute_note_hash_nonce, compute_siloed_note_hash, compute_unique_note_hash},\n    traits::ToField,\n};\n\n/// A struct with the discovered information of a complete note, required for delivery to PXE. Note that this is *not*\n/// the complete note information, since it does not include content, storage slot, etc.\npub(crate) struct DiscoveredNoteInfo {\n    pub(crate) note_nonce: Field,\n    pub(crate) note_hash: Field,\n    pub(crate) inner_nullifier: Field,\n}\n\n/// Searches for note nonces that will result in a note that was emitted in a transaction. While rare, it is possible\n/// for multiple notes to have the exact same packed content and storage slot but different nonces, resulting in\n/// different unique note hashes. Because of this this function returns a *vector* of discovered notes, though in most\n/// cases it will contain a single element.\n///\n/// Due to how nonces are computed, this function requires knowledge of the transaction in which the note was created,\n/// more specifically the list of all unique note hashes in it plus the value of its first nullifier.\npub(crate) unconstrained fn attempt_note_nonce_discovery(\n    unique_note_hashes_in_tx: BoundedVec<Field, MAX_NOTE_HASHES_PER_TX>,\n    first_nullifier_in_tx: Field,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    contract_address: AztecAddress,\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n    note_type_id: Field,\n    packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n) -> BoundedVec<DiscoveredNoteInfo, MAX_NOTE_HASHES_PER_TX> {\n    let discovered_notes = &mut BoundedVec::new();\n\n    aztecnr_debug_log_format!(\n        \"Attempting nonce discovery on {0} potential notes on contract {1} for storage slot {2}\",\n    )(\n        [unique_note_hashes_in_tx.len() as Field, contract_address.to_field(), storage_slot],\n    );\n\n    let maybe_note_hash = compute_note_hash(\n        packed_note,\n        owner,\n        storage_slot,\n        note_type_id,\n        contract_address,\n        randomness,\n    );\n\n    if maybe_note_hash.is_none() {\n        aztecnr_warn_log_format!(\n            \"Unable to compute note hash for note of id {0} with packed length {1}, skipping nonce discovery\",\n        )(\n            [note_type_id, packed_note.len() as Field],\n        );\n    } else {\n        let note_hash = maybe_note_hash.unwrap();\n        let siloed_note_hash = compute_siloed_note_hash(contract_address, note_hash);\n\n        // We need to find nonces (typically just one) that result in the siloed note hash that being uniqued into one\n        // of the transaction's effects.\n        // The nonce is meant to be derived from the index of the note hash in the transaction effects array. However,\n        // due to an issue in the kernels the nonce might actually use any of the possible note hash indices - not\n        // necessarily the one that corresponds to the note hash. Hence, we need to try them all.\n        for i in 0..MAX_NOTE_HASHES_PER_TX {\n            let nonce_for_i = compute_note_hash_nonce(first_nullifier_in_tx, i);\n            let unique_note_hash_for_i = compute_unique_note_hash(nonce_for_i, siloed_note_hash);\n\n            let matching_notes = bvec_filter(\n                unique_note_hashes_in_tx,\n                |unique_note_hash_in_tx| unique_note_hash_in_tx == unique_note_hash_for_i,\n            );\n            if matching_notes.len() > 1 {\n                let identical_note_hashes = matching_notes.len();\n                // Note that we don't actually check that the note hashes array contains unique values, only that the\n                // note we found is unique. We don't expect for this to ever happen (it'd indicate a malicious node or\n                // PXE, which are both assumed to be cooperative) so testing for it just in case is unnecessary, but we\n                // _do_ need to handle it if we find a duplicate.\n                panic(\n                    f\"Received {identical_note_hashes} identical note hashes for a transaction - these should all be unique\",\n                )\n            } else if matching_notes.len() == 1 {\n                let maybe_inner_nullifier_for_i = compute_note_nullifier(\n                    unique_note_hash_for_i,\n                    packed_note,\n                    owner,\n                    storage_slot,\n                    note_type_id,\n                    contract_address,\n                    randomness,\n                );\n\n                if maybe_inner_nullifier_for_i.is_none() {\n                    // TODO: down the line we want to be able to store notes for which we don't know their nullifier,\n                    // e.g. notes that belong to someone that is not us (and for which we therefore don't know their\n                    // associated app-siloed nullifer hiding secret key).\n                    // https://linear.app/aztec-labs/issue/F-265/store-external-notes\n                    aztecnr_warn_log_format!(\n                        \"Unable to compute nullifier of unique note {0} with note type id {1} and owner {2}, skipping PXE insertion\",\n                    )(\n                        [unique_note_hash_for_i, note_type_id, owner.to_field()],\n                    );\n                } else {\n                    // Note that while we did check that the note hash is the preimage of a unique note hash, we\n                    // perform no validations on the nullifier - we fundamentally cannot, since only the application\n                    // knows how to compute nullifiers. We simply trust it to have provided the correct one: if it\n                    // hasn't, then PXE may fail to realize that a given note has been nullified already, and calls to\n                    // the application could result in invalid transactions (with duplicate nullifiers). This is not a\n                    // concern because an application already has more direct means of making a call to it fail the\n                    // transaction.\n                    discovered_notes.push(\n                        DiscoveredNoteInfo {\n                            note_nonce: nonce_for_i,\n                            note_hash,\n                            inner_nullifier: maybe_inner_nullifier_for_i.unwrap(),\n                        },\n                    );\n                }\n                // We don't exit the loop - it is possible (though rare) for the exact same note content to be present\n                // multiple times in the same transaction with different nonces. This typically doesn't happen due to\n                // notes containing random values in order to hide their contents.\n            }\n        }\n    }\n\n    *discovered_notes\n}\n\n// There is no BoundedVec::filter in the stdlib, so we use this until that is implemented.\nunconstrained fn bvec_filter<Env, T, let MAX_LEN: u32>(\n    bvec: BoundedVec<T, MAX_LEN>,\n    filter: fn[Env](T) -> bool,\n) -> BoundedVec<T, MAX_LEN> {\n    let filtered = &mut BoundedVec::new();\n\n    bvec.for_each(|value| {\n        if filter(value) {\n            filtered.push(value);\n        }\n    });\n\n    *filtered\n}\n\nmod test {\n    use crate::{\n        messages::logs::note::MAX_NOTE_PACKED_LEN,\n        note::{\n            note_interface::{NoteHash, NoteType},\n            note_metadata::SettledNoteMetadata,\n            utils::compute_note_hash_for_nullification,\n        },\n        oracle::random::random,\n        test::mocks::mock_note::MockNote,\n        utils::array,\n    };\n\n    use crate::protocol::{\n        address::AztecAddress,\n        hash::{compute_note_hash_nonce, compute_siloed_note_hash, compute_unique_note_hash},\n        traits::{FromField, Packable},\n    };\n\n    use super::attempt_note_nonce_discovery;\n\n    // This implementation could be simpler, but this serves as a nice example of the expected flow in a real\n    // implementation, and as a sanity check that the interface is sufficient.\n\n    unconstrained fn compute_note_hash(\n        packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n        owner: AztecAddress,\n        storage_slot: Field,\n        note_type_id: Field,\n        _contract_address: AztecAddress,\n        randomness: Field,\n    ) -> Option<Field> {\n        if (note_type_id == MockNote::get_id()) & (packed_note.len() == <MockNote as Packable>::N) {\n            let note = MockNote::unpack(array::subarray(packed_note.storage(), 0));\n            Option::some(note.compute_note_hash(owner, storage_slot, randomness))\n        } else {\n            Option::none()\n        }\n    }\n\n    unconstrained fn compute_note_nullifier(\n        unique_note_hash: Field,\n        packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n        owner: AztecAddress,\n        _storage_slot: Field,\n        note_type_id: Field,\n        _contract_address: AztecAddress,\n        _randomness: Field,\n    ) -> Option<Field> {\n        if (note_type_id == MockNote::get_id()) & (packed_note.len() == <MockNote as Packable>::N) {\n            let note = MockNote::unpack(array::subarray(packed_note.storage(), 0));\n            note.compute_nullifier_unconstrained(owner, unique_note_hash)\n        } else {\n            Option::none()\n        }\n    }\n\n    global VALUE: Field = 7;\n    global FIRST_NULLIFIER_IN_TX: Field = 47;\n    global CONTRACT_ADDRESS: AztecAddress = AztecAddress::from_field(13);\n    global OWNER: AztecAddress = AztecAddress::from_field(14);\n    global STORAGE_SLOT: Field = 99;\n    global RANDOMNESS: Field = 99;\n\n    #[test]\n    unconstrained fn no_note_hashes() {\n        let unique_note_hashes_in_tx = BoundedVec::new();\n        let packed_note = BoundedVec::new();\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            packed_note,\n        );\n\n        assert_eq(discovered_notes.len(), 0);\n    }\n\n    #[test]\n    unconstrained fn failed_hash_computation_is_ignored() {\n        let unique_note_hashes_in_tx = BoundedVec::from_array([random()]);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            |_, _, _, _, _, _| Option::none(),\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::new(),\n        );\n\n        assert_eq(discovered_notes.len(), 0);\n    }\n\n    #[test]\n    unconstrained fn failed_nullifier_computation_is_ignored() {\n        let note_index_in_tx = 2;\n        let note_and_data = construct_note(VALUE, note_index_in_tx);\n\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n        unique_note_hashes_in_tx.set(note_index_in_tx, note_and_data.unique_note_hash);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            |_, _, _, _, _, _, _| Option::none(),\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(note_and_data.note.pack()),\n        );\n\n        assert_eq(discovered_notes.len(), 0);\n    }\n\n    struct NoteAndData {\n        note: MockNote,\n        note_nonce: Field,\n        note_hash: Field,\n        unique_note_hash: Field,\n        inner_nullifier: Field,\n    }\n\n    unconstrained fn construct_note(value: Field, note_index_in_tx: u32) -> NoteAndData {\n        let note_nonce = compute_note_hash_nonce(FIRST_NULLIFIER_IN_TX, note_index_in_tx);\n\n        let hinted_note = MockNote::new(value)\n            .contract_address(CONTRACT_ADDRESS)\n            .owner(OWNER)\n            .randomness(RANDOMNESS)\n            .storage_slot(STORAGE_SLOT)\n            .note_metadata(SettledNoteMetadata::new(note_nonce).into())\n            .build_hinted_note();\n        let note = hinted_note.note;\n\n        let note_hash = note.compute_note_hash(OWNER, STORAGE_SLOT, RANDOMNESS);\n        let unique_note_hash = compute_unique_note_hash(\n            note_nonce,\n            compute_siloed_note_hash(CONTRACT_ADDRESS, note_hash),\n        );\n        let inner_nullifier = note\n            .compute_nullifier_unconstrained(OWNER, compute_note_hash_for_nullification(hinted_note))\n            .expect(f\"Could not compute nullifier for note owned by {OWNER}\");\n\n        NoteAndData { note, note_nonce, note_hash, unique_note_hash, inner_nullifier }\n    }\n\n    #[test]\n    unconstrained fn single_note() {\n        let note_index_in_tx = 2;\n        let note_and_data = construct_note(VALUE, note_index_in_tx);\n\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n        unique_note_hashes_in_tx.set(note_index_in_tx, note_and_data.unique_note_hash);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(note_and_data.note.pack()),\n        );\n\n        assert_eq(discovered_notes.len(), 1);\n        let discovered_note = discovered_notes.get(0);\n\n        assert_eq(discovered_note.note_nonce, note_and_data.note_nonce);\n        assert_eq(discovered_note.note_hash, note_and_data.note_hash);\n        assert_eq(discovered_note.inner_nullifier, note_and_data.inner_nullifier);\n    }\n\n    #[test]\n    unconstrained fn multiple_notes_same_preimage() {\n        let first_note_index_in_tx = 3;\n        let first_note_and_data = construct_note(VALUE, first_note_index_in_tx);\n\n        let second_note_index_in_tx = 5;\n        let second_note_and_data = construct_note(VALUE, second_note_index_in_tx);\n\n        // Both notes have the same preimage (and therefore packed representation), so both should be found in the same\n        // call.\n        assert_eq(first_note_and_data.note, second_note_and_data.note);\n        let packed_note = first_note_and_data.note.pack();\n\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n        unique_note_hashes_in_tx.set(first_note_index_in_tx, first_note_and_data.unique_note_hash);\n        unique_note_hashes_in_tx.set(second_note_index_in_tx, second_note_and_data.unique_note_hash);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(packed_note),\n        );\n\n        assert_eq(discovered_notes.len(), 2);\n\n        assert(discovered_notes.any(|discovered_note| {\n            (discovered_note.note_nonce == first_note_and_data.note_nonce)\n                & (discovered_note.note_hash == first_note_and_data.note_hash)\n                & (discovered_note.inner_nullifier == first_note_and_data.inner_nullifier)\n        }));\n\n        assert(discovered_notes.any(|discovered_note| {\n            (discovered_note.note_nonce == second_note_and_data.note_nonce)\n                & (discovered_note.note_hash == second_note_and_data.note_hash)\n                & (discovered_note.inner_nullifier == second_note_and_data.inner_nullifier)\n        }));\n    }\n\n    #[test]\n    unconstrained fn single_note_misaligned_nonce() {\n        let note_index_in_tx = 2;\n        let note_and_data = construct_note(VALUE, note_index_in_tx);\n\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n\n        // The note is not at the correct index\n        unique_note_hashes_in_tx.set(note_index_in_tx + 1, note_and_data.unique_note_hash);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(note_and_data.note.pack()),\n        );\n\n        assert_eq(discovered_notes.len(), 1);\n        let discovered_note = discovered_notes.get(0);\n\n        assert_eq(discovered_note.note_nonce, note_and_data.note_nonce);\n        assert_eq(discovered_note.note_hash, note_and_data.note_hash);\n        assert_eq(discovered_note.inner_nullifier, note_and_data.inner_nullifier);\n    }\n\n    #[test]\n    unconstrained fn single_note_nonce_with_index_past_note_hashes_in_tx() {\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n\n        // The nonce is computed with an index that does not exist in the tx\n        let note_index_in_tx = unique_note_hashes_in_tx.len() + 5;\n        let note_and_data = construct_note(VALUE, note_index_in_tx);\n\n        // The note is inserted at an arbitrary index - its true index is out of the array's bounds\n        unique_note_hashes_in_tx.set(2, note_and_data.unique_note_hash);\n\n        let discovered_notes = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(note_and_data.note.pack()),\n        );\n\n        assert_eq(discovered_notes.len(), 1);\n        let discovered_note = discovered_notes.get(0);\n\n        assert_eq(discovered_note.note_nonce, note_and_data.note_nonce);\n        assert_eq(discovered_note.note_hash, note_and_data.note_hash);\n        assert_eq(discovered_note.inner_nullifier, note_and_data.inner_nullifier);\n    }\n\n    #[test(should_fail_with = \"identical note hashes for a transaction\")]\n    unconstrained fn duplicate_unique_note_hashes() {\n        let note_index_in_tx = 2;\n        let note_and_data = construct_note(VALUE, note_index_in_tx);\n\n        let mut unique_note_hashes_in_tx = BoundedVec::from_array([\n            random(), random(), random(), random(), random(), random(), random(),\n        ]);\n\n        // The same unique note hash is present in two indices in the array, which is not allowed. Note that we don't\n        // test all note hashes for uniqueness, only those that we actually find.\n        unique_note_hashes_in_tx.set(note_index_in_tx, note_and_data.unique_note_hash);\n        unique_note_hashes_in_tx.set(note_index_in_tx + 1, note_and_data.unique_note_hash);\n\n        let _ = attempt_note_nonce_discovery(\n            unique_note_hashes_in_tx,\n            FIRST_NULLIFIER_IN_TX,\n            compute_note_hash,\n            compute_note_nullifier,\n            CONTRACT_ADDRESS,\n            OWNER,\n            STORAGE_SLOT,\n            RANDOMNESS,\n            MockNote::get_id(),\n            BoundedVec::from_array(note_and_data.note.pack()),\n        );\n    }\n}\n"
    },
    "145": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/partial_notes.nr",
      "source": "use crate::{\n    capsules::CapsuleArray,\n    messages::{\n        discovery::{ComputeNoteHash, ComputeNoteNullifier, nonce_discovery::attempt_note_nonce_discovery},\n        encoding::MAX_MESSAGE_CONTENT_LEN,\n        logs::partial_note::{decode_partial_note_private_message, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN},\n        processing::{\n            enqueue_note_for_validation,\n            get_pending_partial_notes_completion_logs,\n            log_retrieval_response::{LogRetrievalResponse, MAX_LOG_CONTENT_LEN},\n        },\n    },\n    utils::array,\n};\n\nuse crate::logging::aztecnr_debug_log_format;\nuse crate::protocol::{address::AztecAddress, hash::sha256_to_field, traits::{Deserialize, Serialize}};\n\n/// The slot in the PXE capsules where we store a `CapsuleArray` of `DeliveredPendingPartialNote`.\npub(crate) global DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT: Field = sha256_to_field(\n    \"AZTEC_NR::DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT\".as_bytes(),\n);\n\n/// A partial note that was delivered but is still pending completion. Contains the information necessary to find the\n/// log that will complete it and lead to a note being discovered and delivered.\n#[derive(Serialize, Deserialize)]\npub(crate) struct DeliveredPendingPartialNote {\n    pub(crate) owner: AztecAddress,\n    pub(crate) randomness: Field,\n    pub(crate) note_completion_log_tag: Field,\n    pub(crate) note_type_id: Field,\n    pub(crate) packed_private_note_content: BoundedVec<Field, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN>,\n}\n\npub(crate) unconstrained fn process_partial_note_private_msg(\n    contract_address: AztecAddress,\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n    tx_hash: Field,\n    scope: AztecAddress,\n) {\n    let decoded = decode_partial_note_private_message(msg_metadata, msg_content);\n\n    if decoded.is_some() {\n        // We store the information of the partial note we found in a persistent capsule in PXE, so that we can later\n        // search for the public log that will complete it.\n        let (owner, randomness, note_completion_log_tag, note_type_id, packed_private_note_content) = decoded.unwrap();\n\n        let pending = DeliveredPendingPartialNote {\n            owner,\n            randomness,\n            note_completion_log_tag,\n            note_type_id,\n            packed_private_note_content,\n        };\n\n        CapsuleArray::at(\n            contract_address,\n            DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT,\n            scope,\n        )\n            .push(pending);\n    } else {\n        aztecnr_debug_log_format!(\n            \"Could not decode partial note private message from tx {0}, ignoring\",\n        )(\n            [tx_hash],\n        );\n    }\n}\n\n/// Searches for logs that would result in the completion of pending partial notes, ultimately resulting in the notes\n/// being delivered to PXE if completed.\npub(crate) unconstrained fn fetch_and_process_partial_note_completion_logs(\n    contract_address: AztecAddress,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    scope: AztecAddress,\n) {\n    let pending_partial_notes = CapsuleArray::at(\n        contract_address,\n        DELIVERED_PENDING_PARTIAL_NOTE_ARRAY_LENGTH_CAPSULES_SLOT,\n        scope,\n    );\n\n    aztecnr_debug_log_format!(\"{} pending partial notes\")([pending_partial_notes.len() as Field]);\n\n    // Each of the pending partial notes might get completed by a log containing its public values. For performance\n    // reasons, we fetch all of these logs concurrently and then process them one by one, minimizing the amount of time\n    // waiting for the node roundtrip.\n    let maybe_completion_logs =\n        get_pending_partial_notes_completion_logs(contract_address, pending_partial_notes, scope);\n\n    // Each entry in the maybe completion logs array corresponds to the entry in the pending partial notes array at the\n    // same index. This means we can use the same index as we iterate through the responses to get both the partial\n    // note and the log that might complete it.\n    assert_eq(maybe_completion_logs.len(), pending_partial_notes.len());\n\n    maybe_completion_logs.for_each(|i, maybe_log: Option<LogRetrievalResponse>| {\n        // We clear the completion logs as we read them so that the array is empty by the time we next query it.\n        // TODO(#14943): use volatile arrays to avoid having to manually clear this.\n        maybe_completion_logs.remove(i);\n\n        let pending_partial_note = pending_partial_notes.get(i);\n\n        if maybe_log.is_none() {\n            aztecnr_debug_log_format!(\"Found no completion logs for partial note with tag {}\")(\n                [pending_partial_note.note_completion_log_tag],\n            );\n\n            // Note that we're not removing the pending partial note from the capsule array, so we will continue\n            // searching for this tagged log when performing message discovery in the future until we either find it or\n            // the entry is somehow removed from the array.\n        } else {\n            aztecnr_debug_log_format!(\"Completion log found for partial note with tag {}\")([\n                pending_partial_note.note_completion_log_tag,\n            ]);\n            let log = maybe_log.unwrap();\n\n            // The first field in the completion log payload is the storage slot, followed by the public note\n            // content fields.\n            let storage_slot = log.log_payload.get(0);\n            let public_note_content: BoundedVec<Field, MAX_LOG_CONTENT_LEN - 1> = array::subbvec(log.log_payload, 1);\n\n            // Public fields are assumed to all be placed at the end of the packed representation, so we combine\n            // the private and public packed fields (i.e. the contents of the private message and public log\n            // plaintext) to get the complete packed content.\n            let complete_packed_note = array::append(\n                pending_partial_note.packed_private_note_content,\n                public_note_content,\n            );\n\n            let discovered_notes = attempt_note_nonce_discovery(\n                log.unique_note_hashes_in_tx,\n                log.first_nullifier_in_tx,\n                compute_note_hash,\n                compute_note_nullifier,\n                contract_address,\n                pending_partial_note.owner,\n                storage_slot,\n                pending_partial_note.randomness,\n                pending_partial_note.note_type_id,\n                complete_packed_note,\n            );\n\n            // TODO(#11627): is there anything reasonable we can do if we get a log but it doesn't result in a note\n            // being found?\n            if discovered_notes.len() == 0 {\n                panic(\n                    f\"A partial note's completion log did not result in any notes being found - this should never happen\",\n                );\n            }\n\n            aztecnr_debug_log_format!(\"Discovered {0} notes for partial note with tag {1}\")([\n                discovered_notes.len() as Field,\n                pending_partial_note.note_completion_log_tag,\n            ]);\n\n            discovered_notes.for_each(|discovered_note| {\n                enqueue_note_for_validation(\n                    contract_address,\n                    pending_partial_note.owner,\n                    storage_slot,\n                    pending_partial_note.randomness,\n                    discovered_note.note_nonce,\n                    complete_packed_note,\n                    discovered_note.note_hash,\n                    discovered_note.inner_nullifier,\n                    log.tx_hash,\n                    scope,\n                );\n            });\n\n            // Because there is only a single log for a given tag, once we've processed the tagged log then we simply\n            // delete the pending work entry, regardless of whether it was actually completed or not.\n            pending_partial_notes.remove(i);\n        }\n    });\n}\n"
    },
    "146": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/private_events.nr",
      "source": "use crate::{\n    event::event_interface::compute_private_serialized_event_commitment,\n    messages::{\n        encoding::MAX_MESSAGE_CONTENT_LEN, logs::event::decode_private_event_message,\n        processing::enqueue_event_for_validation,\n    },\n};\nuse crate::protocol::{address::AztecAddress, logging::debug_log_format, traits::ToField};\n\npub(crate) unconstrained fn process_private_event_msg(\n    contract_address: AztecAddress,\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n    tx_hash: Field,\n    recipient: AztecAddress,\n) {\n    let decoded = decode_private_event_message(msg_metadata, msg_content);\n\n    if decoded.is_some() {\n        let (event_type_id, randomness, serialized_event) = decoded.unwrap();\n\n        let event_commitment =\n            compute_private_serialized_event_commitment(serialized_event, randomness, event_type_id.to_field());\n\n        enqueue_event_for_validation(\n            contract_address,\n            event_type_id,\n            randomness,\n            serialized_event,\n            event_commitment,\n            tx_hash,\n            recipient,\n        );\n    } else {\n        debug_log_format(\n            \"Could not decode private event message from tx {0}, ignoring\",\n            [tx_hash],\n        );\n    }\n}\n"
    },
    "147": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/private_notes.nr",
      "source": "use crate::{\n    logging::{aztecnr_debug_log_format, aztecnr_warn_log_format},\n    messages::{\n        discovery::{ComputeNoteHash, ComputeNoteNullifier, nonce_discovery::attempt_note_nonce_discovery},\n        encoding::MAX_MESSAGE_CONTENT_LEN,\n        logs::note::{decode_private_note_message, MAX_NOTE_PACKED_LEN},\n        processing::enqueue_note_for_validation,\n    },\n    protocol::{address::AztecAddress, constants::MAX_NOTE_HASHES_PER_TX, traits::ToField},\n};\n\npub(crate) unconstrained fn process_private_note_msg(\n    contract_address: AztecAddress,\n    tx_hash: Field,\n    unique_note_hashes_in_tx: BoundedVec<Field, MAX_NOTE_HASHES_PER_TX>,\n    first_nullifier_in_tx: Field,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n    recipient: AztecAddress,\n) {\n    let decoded = decode_private_note_message(msg_metadata, msg_content);\n\n    if decoded.is_some() {\n        let (note_type_id, owner, storage_slot, randomness, packed_note) = decoded.unwrap();\n\n        attempt_note_discovery(\n            contract_address,\n            tx_hash,\n            unique_note_hashes_in_tx,\n            first_nullifier_in_tx,\n            compute_note_hash,\n            compute_note_nullifier,\n            owner,\n            storage_slot,\n            randomness,\n            note_type_id,\n            packed_note,\n            recipient,\n        );\n    } else {\n        aztecnr_debug_log_format!(\n            \"Could not decode private note message from tx {0}, ignoring\",\n        )(\n            [tx_hash],\n        );\n    }\n}\n\n/// Attempts discovery of a note given information about its contents and the transaction in which it is suspected the\n/// note was created.\npub unconstrained fn attempt_note_discovery(\n    contract_address: AztecAddress,\n    tx_hash: Field,\n    unique_note_hashes_in_tx: BoundedVec<Field, MAX_NOTE_HASHES_PER_TX>,\n    first_nullifier_in_tx: Field,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n    note_type_id: Field,\n    packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n    recipient: AztecAddress,\n) {\n    let discovered_notes = attempt_note_nonce_discovery(\n        unique_note_hashes_in_tx,\n        first_nullifier_in_tx,\n        compute_note_hash,\n        compute_note_nullifier,\n        contract_address,\n        owner,\n        storage_slot,\n        randomness,\n        note_type_id,\n        packed_note,\n    );\n\n    if discovered_notes.len() == 0 {\n        // A private note message that results in no discovered notes means none of the computed note hashes matched\n        // any unique note hash in the transaction. This could indicate a malformed or malicious message (e.g. a sender\n        // providing bogus note content).\n        aztecnr_warn_log_format!(\n            \"Discarding private note message from tx {0} for contract {1}: no matching note hash found in the tx\",\n        )(\n            [tx_hash, contract_address.to_field()],\n        );\n    } else {\n        aztecnr_debug_log_format!(\n            \"Discovered {0} notes from a private message for contract {1}\",\n        )(\n            [discovered_notes.len() as Field, contract_address.to_field()],\n        );\n    }\n\n    discovered_notes.for_each(|discovered_note| {\n        enqueue_note_for_validation(\n            contract_address,\n            owner,\n            storage_slot,\n            randomness,\n            discovered_note.note_nonce,\n            packed_note,\n            discovered_note.note_hash,\n            discovered_note.inner_nullifier,\n            tx_hash,\n            recipient,\n        );\n    });\n}\n"
    },
    "148": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/discovery/process_message.nr",
      "source": "use crate::messages::{\n    discovery::{\n        ComputeNoteHash, ComputeNoteNullifier, CustomMessageHandler, partial_notes::process_partial_note_private_msg,\n        private_events::process_private_event_msg, private_notes::process_private_note_msg,\n    },\n    encoding::{decode_message, MESSAGE_CIPHERTEXT_LEN, MESSAGE_PLAINTEXT_LEN},\n    encryption::{aes128::AES128, message_encryption::MessageEncryption},\n    msg_type::{\n        MIN_CUSTOM_MSG_TYPE_ID, PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID, PRIVATE_EVENT_MSG_TYPE_ID, PRIVATE_NOTE_MSG_TYPE_ID,\n    },\n    processing::MessageContext,\n};\n\nuse crate::logging::{aztecnr_debug_log, aztecnr_warn_log_format};\nuse crate::protocol::address::AztecAddress;\n\n/// Processes a message that can contain notes, partial notes, or events.\n///\n/// Notes result in nonce discovery being performed prior to delivery, which requires knowledge of the transaction hash\n/// in which the notes would've been created (typically the same transaction in which the log was emitted), along with\n/// the list of unique note hashes in said transaction and the `compute_note_hash` and `compute_note_nullifier`\n/// functions. Once discovered, the notes are enqueued for validation.\n///\n/// Partial notes result in a pending partial note entry being stored in a PXE capsule, which will later be retrieved\n/// to search for the note's completion public log.\n///\n/// Events are processed by computing an event commitment from the serialized event data and its randomness field, then\n/// enqueueing the event data and commitment for validation.\npub unconstrained fn process_message_ciphertext<CustomMessageHandlerEnv>(\n    contract_address: AztecAddress,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    process_custom_message: Option<CustomMessageHandler<CustomMessageHandlerEnv>>,\n    message_ciphertext: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN>,\n    message_context: MessageContext,\n    recipient: AztecAddress,\n) {\n    let message_plaintext_option = AES128::decrypt(message_ciphertext, recipient, contract_address);\n\n    if message_plaintext_option.is_some() {\n        process_message_plaintext(\n            contract_address,\n            compute_note_hash,\n            compute_note_nullifier,\n            process_custom_message,\n            message_plaintext_option.unwrap(),\n            message_context,\n            recipient,\n        );\n    } else {\n        aztecnr_warn_log_format!(\"Could not decrypt message ciphertext from tx {0}, ignoring\")([message_context.tx_hash]);\n    }\n}\n\npub(crate) unconstrained fn process_message_plaintext<CustomMessageHandlerEnv>(\n    contract_address: AztecAddress,\n    compute_note_hash: ComputeNoteHash,\n    compute_note_nullifier: ComputeNoteNullifier,\n    process_custom_message: Option<CustomMessageHandler<CustomMessageHandlerEnv>>,\n    message_plaintext: BoundedVec<Field, MESSAGE_PLAINTEXT_LEN>,\n    message_context: MessageContext,\n    recipient: AztecAddress,\n) {\n    // The first thing to do after decrypting the message is to determine what type of message we're processing. We\n    // have 3 message types: private notes, partial notes and events.\n\n    // We decode the message to obtain the message type id, metadata and content.\n    let decoded = decode_message(message_plaintext);\n\n    if decoded.is_some() {\n        let (msg_type_id, msg_metadata, msg_content) = decoded.unwrap();\n\n        if msg_type_id == PRIVATE_NOTE_MSG_TYPE_ID {\n            aztecnr_debug_log!(\"Processing private note msg\");\n\n            process_private_note_msg(\n                contract_address,\n                message_context.tx_hash,\n                message_context.unique_note_hashes_in_tx,\n                message_context.first_nullifier_in_tx,\n                compute_note_hash,\n                compute_note_nullifier,\n                msg_metadata,\n                msg_content,\n                recipient,\n            );\n        } else if msg_type_id == PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID {\n            aztecnr_debug_log!(\"Processing partial note private msg\");\n\n            process_partial_note_private_msg(\n                contract_address,\n                msg_metadata,\n                msg_content,\n                message_context.tx_hash,\n                recipient,\n            );\n        } else if msg_type_id == PRIVATE_EVENT_MSG_TYPE_ID {\n            aztecnr_debug_log!(\"Processing private event msg\");\n\n            process_private_event_msg(\n                contract_address,\n                msg_metadata,\n                msg_content,\n                message_context.tx_hash,\n                recipient,\n            );\n        } else if msg_type_id < MIN_CUSTOM_MSG_TYPE_ID {\n            // The message type ID falls in the range reserved for aztec.nr built-in types but wasn't matched above.\n            // This most likely means the message is malformed or a custom message was incorrectly assigned a reserved\n            // ID. Custom message types must use IDs allocated via `custom_msg_type_id`.\n            aztecnr_warn_log_format!(\n                \"Message type ID {0} is in the reserved range but is not recognized, ignoring. See https://docs.aztec.network/errors/3\",\n            )(\n                [msg_type_id as Field],\n            );\n        } else if process_custom_message.is_some() {\n            process_custom_message.unwrap()(\n                contract_address,\n                msg_type_id,\n                msg_metadata,\n                msg_content,\n                message_context,\n                recipient,\n            );\n        } else {\n            // A custom message was received but no handler is configured. This likely means the contract emits custom\n            // messages but forgot to register a handler via `AztecConfig::custom_message_handler`.\n            aztecnr_warn_log_format!(\n                \"Received custom message with type id {0} but no handler is configured, ignoring. See https://docs.aztec.network/errors/2\",\n            )(\n                [msg_type_id as Field],\n            );\n        }\n    } else {\n        aztecnr_warn_log_format!(\"Could not decode message plaintext from tx {0}, ignoring\")([message_context.tx_hash]);\n    }\n}\n"
    },
    "149": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/encoding.nr",
      "source": "// TODO(#12750): don't make these values assume we're using AES.\nuse crate::protocol::constants::PRIVATE_LOG_CIPHERTEXT_LEN;\nuse crate::utils::array;\n\n// We reassign to the constant here to communicate the distinction between a log and a message. In Aztec.nr, unlike in\n// protocol circuits, we have a concept of a message that can be emitted either as a private log or as an offchain\n// message. Message is a piece of data that is to be eventually delivered to a contract via the `process_message(...)`\n// utility function function that is injected by the #[aztec] macro. Note: PRIVATE_LOG_CIPHERTEXT_LEN is an amount of\n// fields, so MESSAGE_CIPHERTEXT_LEN is the size of the message in fields.\npub global MESSAGE_CIPHERTEXT_LEN: u32 = PRIVATE_LOG_CIPHERTEXT_LEN;\n\n// TODO(#12750): The global variables below should not be here as they are AES128 specific.\n// The header plaintext is 2 bytes (ciphertext length), padded to the 16-byte AES block size by PKCS#7.\npub(crate) global HEADER_CIPHERTEXT_SIZE_IN_BYTES: u32 = 16;\n// AES PKCS#7 always adds at least one byte of padding. Since each plaintext field is 32 bytes (a multiple of the\n// 16-byte AES block size), a full 16-byte padding block is always appended.\npub(crate) global AES128_PKCS7_EXPANSION_IN_BYTES: u32 = 16;\n\npub global EPH_PK_X_SIZE_IN_FIELDS: u32 = 1;\n\n// (15 - 1) * 31 - 16 - 16 = 402. Note: We multiply by 31 because ciphertext bytes are stored in fields using\n// bytes_to_fields, which packs 31 bytes per field (since a Field is ~254 bits and can safely store 31 whole bytes).\npub(crate) global MESSAGE_PLAINTEXT_SIZE_IN_BYTES: u32 = (MESSAGE_CIPHERTEXT_LEN - EPH_PK_X_SIZE_IN_FIELDS) * 31\n    - HEADER_CIPHERTEXT_SIZE_IN_BYTES\n    - AES128_PKCS7_EXPANSION_IN_BYTES;\n// The plaintext bytes represent Field values that were originally serialized using fields_to_bytes, which converts\n// each Field to 32 bytes. To convert the plaintext bytes back to fields, we divide by 32. 402 / 32 = 12\npub global MESSAGE_PLAINTEXT_LEN: u32 = MESSAGE_PLAINTEXT_SIZE_IN_BYTES / 32;\n\npub global MESSAGE_EXPANDED_METADATA_LEN: u32 = 1;\n\n// The standard message layout is composed of:\n//  - an initial field called the 'expanded metadata'\n//  - an arbitrary number of fields following that called the 'message content'\n//\n// ```\n// message: [ msg_expanded_metadata, ...msg_content ]\n// ```\n//\n// The expanded metadata itself is interpreted as a u128, of which:\n//  - the upper 64 bits are the message type id\n//  - the lower 64 bits are called the 'message metadata'\n//\n// ```\n// msg_expanded_metadata: [  msg_type_id    |  msg_metadata  ]\n//                        <---  64 bits --->|<--- 64 bits --->\n// ```\n//\n// The meaning of the message metadata and message content depend on the value of the message type id. Note that there\n// is nothing special about the message metadata, it _can_ be considered part of the content. It just has a different\n// name to make it distinct from the message content given that it is not a full field.\n\n/// The maximum length of a message's content, i.e. not including the expanded message metadata.\npub global MAX_MESSAGE_CONTENT_LEN: u32 = MESSAGE_PLAINTEXT_LEN - MESSAGE_EXPANDED_METADATA_LEN;\n\n/// Encodes a message following aztec-nr's standard message encoding. This message can later be decoded with\n/// `decode_message` to retrieve the original values.\n///\n/// - The `msg_type` is an identifier that groups types of messages that are all processed the same way, e.g. private\n/// notes or events. Possible values are defined in `aztec::messages::msg_type`.\n/// - The `msg_metadata` and `msg_content` are the values stored in the message, whose meaning depends on the\n/// `msg_type`. The only special thing about `msg_metadata` that separates it from `msg_content` is that it is a u64\n/// instead of a full Field (due to details of how messages are encoded), allowing applications that can fit values\n/// into this smaller variable to achieve higher data efficiency.\npub fn encode_message<let N: u32>(\n    msg_type: u64,\n    msg_metadata: u64,\n    msg_content: [Field; N],\n) -> [Field; (N + MESSAGE_EXPANDED_METADATA_LEN)] {\n    std::static_assert(\n        msg_content.len() <= MAX_MESSAGE_CONTENT_LEN,\n        \"Invalid message content: it must have a length of at most MAX_MESSAGE_CONTENT_LEN\",\n    );\n\n    // If MESSAGE_EXPANDED_METADATA_LEN is changed, causing the assertion below to fail, then the destructuring of the\n    // message encoding below must be updated as well.\n    std::static_assert(\n        MESSAGE_EXPANDED_METADATA_LEN == 1,\n        \"unexpected value for MESSAGE_EXPANDED_METADATA_LEN\",\n    );\n    let mut message: [Field; (N + MESSAGE_EXPANDED_METADATA_LEN)] = std::mem::zeroed();\n\n    message[0] = to_expanded_metadata(msg_type, msg_metadata);\n    for i in 0..msg_content.len() {\n        message[MESSAGE_EXPANDED_METADATA_LEN + i] = msg_content[i];\n    }\n\n    message\n}\n\n/// Decodes a standard aztec-nr message, i.e. one created via `encode_message`, returning the original encoded values.\n///\n/// Returns `None` if the message is empty or has invalid (>128 bit) expanded metadata.\n///\n/// Note that `encode_message` returns a fixed size array while this function takes a `BoundedVec`: this is because\n/// prior to decoding the message type is unknown, and consequentially not known at compile time. If working with\n/// fixed-size messages, consider using `BoundedVec::from_array` to convert them.\npub unconstrained fn decode_message(\n    message: BoundedVec<Field, MESSAGE_PLAINTEXT_LEN>,\n) -> Option<(u64, u64, BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>)> {\n    Option::some(message)\n        .and_then(|message| {\n            // If MESSAGE_EXPANDED_METADATA_LEN is changed, causing the assertion below to fail, then the destructuring\n            // of the\n            // message encoding below must be updated as well.\n            std::static_assert(\n                MESSAGE_EXPANDED_METADATA_LEN == 1,\n                \"unexpected value for MESSAGE_EXPANDED_METADATA_LEN\",\n            );\n            if message.len() < MESSAGE_EXPANDED_METADATA_LEN {\n                Option::none()\n            } else {\n                Option::some(message.get(0))\n            }\n        })\n        .and_then(|msg_expanded_metadata| from_expanded_metadata(msg_expanded_metadata))\n        .map(|(msg_type_id, msg_metadata)| {\n            let msg_content = array::subbvec(message, MESSAGE_EXPANDED_METADATA_LEN);\n            (msg_type_id, msg_metadata, msg_content)\n        })\n}\n\nglobal U64_SHIFT_MULTIPLIER: Field = 2.pow_32(64);\n\nfn to_expanded_metadata(msg_type: u64, msg_metadata: u64) -> Field {\n    // We use multiplication instead of bit shifting operations to shift the type bits as bit shift operations are\n    // expensive in circuits.\n    let type_field: Field = (msg_type as Field) * U64_SHIFT_MULTIPLIER;\n    let msg_metadata_field = msg_metadata as Field;\n\n    type_field + msg_metadata_field\n}\n\nglobal TWO_POW_128: Field = 2.pow_32(128);\n\n/// Unpacks expanded metadata into (msg_type, msg_metadata). Returns `None` if `input >= 2^128`.\nfn from_expanded_metadata(input: Field) -> Option<(u64, u64)> {\n    if input.lt(TWO_POW_128) {\n        let msg_metadata = (input as u64);\n        let msg_type = ((input - (msg_metadata as Field)) / U64_SHIFT_MULTIPLIER) as u64;\n        // Use division instead of bit shift since bit shifts are expensive in circuits\n        Option::some((msg_type, msg_metadata))\n    } else {\n        Option::none()\n    }\n}\n\nmod tests {\n    use crate::utils::array::subarray::subarray;\n    use super::{\n        decode_message, encode_message, from_expanded_metadata, MAX_MESSAGE_CONTENT_LEN, to_expanded_metadata,\n        TWO_POW_128,\n    };\n\n    global U64_MAX: u64 = (2.pow_32(64) - 1) as u64;\n    global U128_MAX: Field = (2.pow_32(128) - 1);\n\n    #[test]\n    unconstrained fn encode_decode_empty_message(msg_type: u64, msg_metadata: u64) {\n        let encoded = encode_message(msg_type, msg_metadata, []);\n        let (decoded_msg_type, decoded_msg_metadata, decoded_msg_content) =\n            decode_message(BoundedVec::from_array(encoded)).unwrap();\n\n        assert_eq(decoded_msg_type, msg_type);\n        assert_eq(decoded_msg_metadata, msg_metadata);\n        assert_eq(decoded_msg_content.len(), 0);\n    }\n\n    #[test]\n    unconstrained fn encode_decode_short_message(\n        msg_type: u64,\n        msg_metadata: u64,\n        msg_content: [Field; MAX_MESSAGE_CONTENT_LEN / 2],\n    ) {\n        let encoded = encode_message(msg_type, msg_metadata, msg_content);\n        let (decoded_msg_type, decoded_msg_metadata, decoded_msg_content) =\n            decode_message(BoundedVec::from_array(encoded)).unwrap();\n\n        assert_eq(decoded_msg_type, msg_type);\n        assert_eq(decoded_msg_metadata, msg_metadata);\n        assert_eq(decoded_msg_content.len(), msg_content.len());\n        assert_eq(subarray(decoded_msg_content.storage(), 0), msg_content);\n    }\n\n    #[test]\n    unconstrained fn encode_decode_full_message(\n        msg_type: u64,\n        msg_metadata: u64,\n        msg_content: [Field; MAX_MESSAGE_CONTENT_LEN],\n    ) {\n        let encoded = encode_message(msg_type, msg_metadata, msg_content);\n        let (decoded_msg_type, decoded_msg_metadata, decoded_msg_content) =\n            decode_message(BoundedVec::from_array(encoded)).unwrap();\n\n        assert_eq(decoded_msg_type, msg_type);\n        assert_eq(decoded_msg_metadata, msg_metadata);\n        assert_eq(decoded_msg_content.len(), msg_content.len());\n        assert_eq(subarray(decoded_msg_content.storage(), 0), msg_content);\n    }\n\n    #[test]\n    unconstrained fn to_expanded_metadata_packing() {\n        // Test case 1: All bits set\n        let packed = to_expanded_metadata(U64_MAX, U64_MAX);\n        let (msg_type, msg_metadata) = from_expanded_metadata(packed).unwrap();\n        assert_eq(msg_type, U64_MAX);\n        assert_eq(msg_metadata, U64_MAX);\n\n        // Test case 2: Only log type bits set\n        let packed = to_expanded_metadata(U64_MAX, 0);\n        let (msg_type, msg_metadata) = from_expanded_metadata(packed).unwrap();\n        assert_eq(msg_type, U64_MAX);\n        assert_eq(msg_metadata, 0);\n\n        // Test case 3: Only msg_metadata bits set\n        let packed = to_expanded_metadata(0, U64_MAX);\n        let (msg_type, msg_metadata) = from_expanded_metadata(packed).unwrap();\n        assert_eq(msg_type, 0);\n        assert_eq(msg_metadata, U64_MAX);\n\n        // Test case 4: No bits set\n        let packed = to_expanded_metadata(0, 0);\n        let (msg_type, msg_metadata) = from_expanded_metadata(packed).unwrap();\n        assert_eq(msg_type, 0);\n        assert_eq(msg_metadata, 0);\n    }\n\n    #[test]\n    unconstrained fn from_expanded_metadata_packing() {\n        // Test case 1: All bits set\n        let input = U128_MAX as Field;\n        let (msg_type, msg_metadata) = from_expanded_metadata(input).unwrap();\n        assert_eq(msg_type, U64_MAX);\n        assert_eq(msg_metadata, U64_MAX);\n\n        // Test case 2: Only log type bits set\n        let input = (U128_MAX - U64_MAX as Field);\n        let (msg_type, msg_metadata) = from_expanded_metadata(input).unwrap();\n        assert_eq(msg_type, U64_MAX);\n        assert_eq(msg_metadata, 0);\n\n        // Test case 3: Only msg_metadata bits set\n        let input = U64_MAX as Field;\n        let (msg_type, msg_metadata) = from_expanded_metadata(input).unwrap();\n        assert_eq(msg_type, 0);\n        assert_eq(msg_metadata, U64_MAX);\n\n        // Test case 4: No bits set\n        let input = 0;\n        let (msg_type, msg_metadata) = from_expanded_metadata(input).unwrap();\n        assert_eq(msg_type, 0);\n        assert_eq(msg_metadata, 0);\n    }\n\n    #[test]\n    unconstrained fn to_from_expanded_metadata(original_msg_type: u64, original_msg_metadata: u64) {\n        let packed = to_expanded_metadata(original_msg_type, original_msg_metadata);\n        let (unpacked_msg_type, unpacked_msg_metadata) = from_expanded_metadata(packed).unwrap();\n\n        assert_eq(original_msg_type, unpacked_msg_type);\n        assert_eq(original_msg_metadata, unpacked_msg_metadata);\n    }\n\n    #[test]\n    unconstrained fn encode_decode_max_size_message() {\n        let msg_type_id: u64 = 42;\n        let msg_metadata: u64 = 99;\n        let mut msg_content = [0; MAX_MESSAGE_CONTENT_LEN];\n        for i in 0..MAX_MESSAGE_CONTENT_LEN {\n            msg_content[i] = i as Field;\n        }\n\n        let encoded = encode_message(msg_type_id, msg_metadata, msg_content);\n        let (decoded_type_id, decoded_metadata, decoded_content) =\n            decode_message(BoundedVec::from_array(encoded)).unwrap();\n\n        assert_eq(decoded_type_id, msg_type_id);\n        assert_eq(decoded_metadata, msg_metadata);\n        assert_eq(decoded_content, BoundedVec::from_array(msg_content));\n    }\n\n    #[test(should_fail_with = \"Invalid message content: it must have a length of at most MAX_MESSAGE_CONTENT_LEN\")]\n    fn encode_oversized_message_fails() {\n        let msg_content = [0; MAX_MESSAGE_CONTENT_LEN + 1];\n        let _ = encode_message(0, 0, msg_content);\n    }\n\n    #[test]\n    unconstrained fn decode_empty_message_returns_none() {\n        assert(decode_message(BoundedVec::new()).is_none());\n    }\n\n    #[test]\n    unconstrained fn decode_message_with_oversized_metadata_returns_none() {\n        let message = BoundedVec::from_array([TWO_POW_128]);\n        assert(decode_message(message).is_none());\n    }\n}\n"
    },
    "150": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/encryption/aes128.nr",
      "source": "use crate::protocol::{address::AztecAddress, public_keys::AddressPoint, traits::ToField};\n\nuse crate::{\n    keys::{\n        ecdh_shared_secret::{\n            compute_app_siloed_shared_secret, derive_ecdh_shared_secret, derive_shared_secret_field_mask,\n            derive_shared_secret_subkey,\n        },\n        ephemeral::generate_positive_ephemeral_key_pair,\n    },\n    logging::aztecnr_warn_log_format,\n    messages::{\n        encoding::{\n            EPH_PK_X_SIZE_IN_FIELDS, HEADER_CIPHERTEXT_SIZE_IN_BYTES, MESSAGE_CIPHERTEXT_LEN, MESSAGE_PLAINTEXT_LEN,\n            MESSAGE_PLAINTEXT_SIZE_IN_BYTES,\n        },\n        encryption::message_encryption::MessageEncryption,\n        logs::arithmetic_generics_utils::{\n            get_arr_of_size__message_bytes__from_PT, get_arr_of_size__message_bytes_padding__from_PT,\n        },\n    },\n    oracle::{aes128_decrypt::try_aes128_decrypt, random::random, shared_secret::get_shared_secret},\n    utils::{\n        array,\n        conversion::{\n            bytes_to_fields::{bytes_from_fields, bytes_to_fields},\n            fields_to_bytes::{fields_to_bytes, try_fields_from_bytes},\n        },\n        point::point_from_x_coord_and_sign,\n    },\n};\n\nuse std::aes128::aes128_encrypt;\n\n/// Computes N close-to-uniformly-random 256 bits from a given app-siloed shared secret.\n///\n/// NEVER re-use the same iv and sym_key. DO NOT call this function more than once with the same s_app.\n///\n/// This function is only known to be safe if s_app is derived from combining a random ephemeral key with an\n/// address point and a contract address. See big comment within the body of the function.\nfn extract_many_close_to_uniformly_random_256_bits_using_poseidon2<let N: u32>(s_app: Field) -> [[u8; 32]; N] {\n    /*\n     * Unsafe because of https://eprint.iacr.org/2010/264.pdf Page 13, Lemma 2 (and the two paragraphs below it).\n    *\n    * If you call this function, you need to be careful and aware of how the arg `s_app` has been derived.\n    *\n    * The paper says that the way you derive aes keys and IVs should be fine with poseidon2 (modelled as a RO),\n    * as long as you _don't_ use Poseidon2 as a PRG to generate the two exponents x & y which multiply to the\n    * shared secret S:\n    *\n    * S = [x*y]*G.\n    *\n    * (Otherwise, you would have to \"key\" poseidon2, i.e. generate a uniformly string K which can be public and\n    * compute Hash(x) as poseidon(K,x)).\n    * In that lemma, k would be 2*254=508, and m would be the number of points on the grumpkin curve (which is\n    * close to r according to the Hasse bound).\n    *\n    * Our shared secret S is [esk * address_sk] * G, and the question is: Can we compute hash(S) using poseidon2\n    * instead of sha256?\n    *\n    * Well, esk is random and not generated with poseidon2, so that's good.\n    * What about address_sk?\n    * Well, address_sk = poseidon2(stuff) + ivsk, so there was some discussion about whether address_sk is\n    * independent of poseidon2. Given that ivsk is random and independent of poseidon2, the address_sk is also\n    * independent of poseidon2.\n    *\n    * Tl;dr: we believe it's safe to hash S = [esk * address_sk] * G using poseidon2, in order to derive a\n    * symmetric key.\n    *\n    * If you're calling this function for a differently-derived `s_app`, be careful.\n    */\n    \n\n    /* The output of this function needs to be 32 random bytes.\n     * A single field won't give us 32 bytes of entropy. So we compute two \"random\" fields, by poseidon-hashing\n    * with two different indices. We then extract the last 16 (big endian) bytes of each \"random\" field.\n    * Note: we use to_be_bytes because it's slightly more efficient. But we have to be careful not to take bytes\n    * from the \"big end\", because the \"big\" byte is not uniformly random over the byte: it only has < 6 bits of\n    * randomness, because it's the big end of a 254-bit field element.\n    */\n\n    let mut all_bytes: [[u8; 32]; N] = std::mem::zeroed();\n    std::static_assert(N < 256, \"N too large\");\n    for k in 0..N {\n        let rand1: Field = derive_shared_secret_subkey(s_app, 2 * k);\n        let rand2: Field = derive_shared_secret_subkey(s_app, 2 * k + 1);\n\n        let rand1_bytes: [u8; 32] = rand1.to_be_bytes();\n        let rand2_bytes: [u8; 32] = rand2.to_be_bytes();\n\n        let mut bytes: [u8; 32] = [0; 32];\n        for i in 0..16 {\n            // We take bytes from the \"little end\" of the be-bytes arrays:\n            let j = 32 - i - 1;\n            bytes[i] = rand1_bytes[j];\n            bytes[16 + i] = rand2_bytes[j];\n        }\n\n        all_bytes[k] = bytes;\n    }\n\n    all_bytes\n}\n\nfn derive_aes_symmetric_key_and_iv_from_uniformly_random_256_bits<let N: u32>(\n    many_random_256_bits: [[u8; 32]; N],\n) -> [([u8; 16], [u8; 16]); N] {\n    // Many (sym_key, iv) pairs:\n    let mut many_pairs: [([u8; 16], [u8; 16]); N] = std::mem::zeroed();\n    for k in 0..N {\n        let random_256_bits = many_random_256_bits[k];\n        let mut sym_key = [0; 16];\n        let mut iv = [0; 16];\n        for i in 0..16 {\n            sym_key[i] = random_256_bits[i];\n            iv[i] = random_256_bits[i + 16];\n        }\n        many_pairs[k] = (sym_key, iv);\n    }\n\n    many_pairs\n}\n\npub fn derive_aes_symmetric_key_and_iv_from_shared_secret<let N: u32>(s_app: Field) -> [([u8; 16], [u8; 16]); N] {\n    let many_random_256_bits: [[u8; 32]; N] = extract_many_close_to_uniformly_random_256_bits_using_poseidon2(s_app);\n\n    derive_aes_symmetric_key_and_iv_from_uniformly_random_256_bits(many_random_256_bits)\n}\n\npub struct AES128 {}\n\nimpl MessageEncryption for AES128 {\n\n    /// AES128-CBC encryption for Aztec protocol messages.\n    ///\n    /// ## Overview\n    ///\n    /// The plaintext is an array of up to `MESSAGE_PLAINTEXT_LEN` (12) fields. The output is always exactly\n    /// `MESSAGE_CIPHERTEXT_LEN` (15) fields, regardless of plaintext size. All output fields except the\n    /// ephemeral public key are uniformly random `Field` values to any observer without knowledge of the\n    /// shared secret, making all encrypted messages indistinguishable by size or content.\n    ///\n    /// ## PKCS#7 Padding\n    ///\n    /// AES operates on 16-byte blocks, so the plaintext must be padded to a multiple of 16. PKCS#7 padding always\n    /// adds at least 1 byte (so the receiver can always detect and strip it), which means:\n    /// - 1 B plaintext  -> 15 B padding -> 16 B total\n    /// - 15 B plaintext ->  1 B padding -> 16 B total\n    /// - 16 B plaintext -> 16 B padding -> 32 B total (full extra block)\n    ///\n    /// In general: if the plaintext is already a multiple of 16, a full 16-byte padding block is appended.\n    ///\n    /// ## Encryption Steps\n    ///\n    /// **1. Body encryption.** The plaintext fields are serialized to bytes (32 bytes per field) and AES-128-CBC\n    /// encrypted. Since 32 is a multiple of 16, PKCS#7 always adds a full 16-byte padding block (see above):\n    ///\n    /// ```text\n    /// +---------------------------------------------+\n    /// |                   body ct                    |\n    /// |            PlaintextLen*32 + 16 B            |\n    /// +-------------------------------+--------------+\n    /// | encrypted plaintext fields    | PKCS#7 (16B) |\n    /// | (serialized at 32 B each)     |              |\n    /// +-------------------------------+--------------+\n    /// ```\n    ///\n    /// **2. Header encryption.** The byte length of `body_ct` is stored as a 2-byte big-endian integer. This 2-byte\n    /// header plaintext is then AES-encrypted; PKCS#7 pads the remaining 14 bytes to fill one 16-byte AES block,\n    /// producing a 16-byte header ciphertext:\n    ///\n    /// ```text\n    /// +---------------------------+\n    /// |         header ct         |\n    /// |            16 B           |\n    /// +--------+------------------+\n    /// | body ct| PKCS#7 (14B)     |\n    /// | length |                  |\n    /// | (2 B)  |                  |\n    /// +--------+------------------+\n    /// ```\n    ///\n    /// ## Wire Format\n    ///\n    /// Messages are transmitted as fields, not bytes. A field is ~254 bits and can safely store 31 whole bytes, so\n    /// we need to pack our byte data into 31-byte chunks. This packing drives the wire format.\n    ///\n    /// **Step 1 -- Assemble bytes.** The ciphertexts are laid out in a byte array, padded with zero bytes to a\n    /// multiple of 31 so it divides evenly into fields:\n    ///\n    /// ```text\n    /// +------------+-------------------------+---------+\n    /// | header ct  |        body ct          | byte pad|\n    /// |   16 B     | PlaintextLen*32 + 16 B  | (zeros) |\n    /// +------------+-------------------------+---------+\n    /// |<-------- padded to a multiple of 31 B -------->|\n    /// ```\n    ///\n    /// **Step 2 -- Pack and mask.** The byte array is split into 31-byte chunks, each stored in one field. A\n    /// Poseidon2-derived mask (see `derive_shared_secret_field_mask`) is added to each so that the resulting\n    /// fields appear as uniformly random `Field` values to any observer without knowledge of the shared secret,\n    /// hiding the fact that the underlying ciphertext consists of 128-bit AES blocks.\n    ///\n    /// **Step 3 -- Assemble ciphertext.** The ephemeral public key x-coordinate is prepended and random field padding\n    /// is appended to fill to 15 fields:\n    ///\n    /// ```text\n    /// +----------+-------------------------+-------------------+\n    /// | eph_pk.x |  masked message fields   | random field pad  |\n    /// |          | (packed 31 B per field)  |  (fills to 15)    |\n    /// +----------+-------------------------+-------------------+\n    /// |<---------- MESSAGE_CIPHERTEXT_LEN = 15 fields -------->|\n    /// ```\n    ///\n    /// ## Key Derivation\n    ///\n    /// The raw ECDH shared secret point is first app-siloed into a scalar `s_app` by hashing with the contract\n    /// address (see\n    /// [`compute_app_siloed_shared_secret`](crate::keys::ecdh_shared_secret::compute_app_siloed_shared_secret)).\n    /// Two (key, IV) pairs are then derived from `s_app` via indexed Poseidon2 hashing: one pair for the body\n    /// ciphertext and one for the header ciphertext.\n    fn encrypt<let PlaintextLen: u32>(\n        plaintext: [Field; PlaintextLen],\n        recipient: AztecAddress,\n        contract_address: AztecAddress,\n    ) -> [Field; MESSAGE_CIPHERTEXT_LEN] {\n        std::static_assert(\n            PlaintextLen <= MESSAGE_PLAINTEXT_LEN,\n            \"Plaintext length exceeds MESSAGE_PLAINTEXT_LEN\",\n        );\n\n        // AES 128 operates on bytes, not fields, so we need to convert the fields to bytes. (This process is then\n        // reversed when processing the message in `process_message_ciphertext`)\n        let plaintext_bytes = fields_to_bytes(plaintext);\n\n        // Derive ECDH shared secret with recipient using a fresh ephemeral keypair.\n        let (eph_sk, eph_pk) = generate_positive_ephemeral_key_pair();\n\n        let raw_shared_secret = derive_ecdh_shared_secret(\n            eph_sk,\n            recipient\n                .to_address_point()\n                .unwrap_or_else(|| {\n                    aztecnr_warn_log_format!(\n                        \"Attempted to encrypt message for an invalid recipient ({0})\",\n                    )(\n                        [recipient.to_field()],\n                    );\n\n                    // Safety: if the recipient is an invalid address, then it is not possible to encrypt a message for\n                    // them because we cannot establish a shared secret. This is never expected to occur during normal\n                    // operation. However, it is technically possible for us to receive an invalid address, and we must\n                    // therefore handle it. We could simply fail, but that'd introduce a potential security issue in\n                    // which an attacker forces a contract to encrypt a message for an invalid address, resulting in an\n                    // impossible transaction - this is sometimes called a 'king of the hill' attack. We choose instead\n                    // to not fail and encrypt the plaintext regardless using the shared secret that results from a\n                    // random valid address. The sender is free to choose this address and hence shared secret, but\n                    // this has no security implications as they already know not only the full plaintext but also the\n                    // ephemeral private key anyway.\n                    unsafe {\n                        random_address_point()\n                    }\n                })\n                .inner,\n        );\n\n        let s_app = compute_app_siloed_shared_secret(raw_shared_secret, contract_address);\n\n        // It is safe to derive AES keys from `s_app` using Poseidon2 because `s_app` was derived from an ECDH shared\n        // secret using an AztecAddress (the recipient). See the block comment in\n        // `extract_many_close_to_uniformly_random_256_bits_using_poseidon2` for more info.\n        let pairs = derive_aes_symmetric_key_and_iv_from_shared_secret::<2>(s_app);\n        let (body_sym_key, body_iv) = pairs[0];\n        let (header_sym_key, header_iv) = pairs[1];\n\n        let ciphertext_bytes = aes128_encrypt(plaintext_bytes, body_iv, body_sym_key);\n\n        // Each plaintext field is 32 bytes (a multiple of the 16-byte AES block\n        // size), so PKCS#7 always appends a full 16-byte padding block:\n        //   |ciphertext| = PlaintextLen*32 + 16 = 16 * (1 + PlaintextLen*32 / 16)\n        std::static_assert(\n            ciphertext_bytes.len() == 16 * (1 + (PlaintextLen * 32) / 16),\n            \"unexpected ciphertext length\",\n        );\n\n        // Encrypt a 2-byte header containing the body ciphertext length.\n        let header_plaintext = encode_header(ciphertext_bytes.len());\n\n        // Note: the aes128_encrypt builtin fn automatically appends bytes to the input, according to pkcs#7; hence why\n        // the output `header_ciphertext_bytes` is 16 bytes larger than the input in this case.\n        let header_ciphertext_bytes = aes128_encrypt(header_plaintext, header_iv, header_sym_key);\n        // Verify expected header ciphertext size at compile time.\n        std::static_assert(\n            header_ciphertext_bytes.len() == HEADER_CIPHERTEXT_SIZE_IN_BYTES,\n            \"unexpected ciphertext header length\",\n        );\n\n        // Assemble the message byte array:\n        //  [header_ct (16B)] [body_ct] [padding to mult of 31]\n        let message_bytes_padding_to_mult_31 = get_arr_of_size__message_bytes_padding__from_PT::<PlaintextLen * 32>();\n\n        let mut message_bytes = get_arr_of_size__message_bytes__from_PT::<PlaintextLen * 32>();\n\n        std::static_assert(\n            message_bytes.len() % 31 == 0,\n            \"Unexpected error: message_bytes.len() should be divisible by 31, by construction.\",\n        );\n\n        let mut offset = 0;\n        for i in 0..header_ciphertext_bytes.len() {\n            message_bytes[offset + i] = header_ciphertext_bytes[i];\n        }\n        offset += header_ciphertext_bytes.len();\n\n        for i in 0..ciphertext_bytes.len() {\n            message_bytes[offset + i] = ciphertext_bytes[i];\n        }\n        offset += ciphertext_bytes.len();\n\n        for i in 0..message_bytes_padding_to_mult_31.len() {\n            message_bytes[offset + i] = message_bytes_padding_to_mult_31[i];\n        }\n        offset += message_bytes_padding_to_mult_31.len();\n\n        // Ideally we would be able to have a static assert where we check that the offset would be such that we've\n        // written to the entire log_bytes array, but we cannot since Noir does not treat the offset as a comptime\n        // value (despite the values that it goes through being known at each stage). We instead check that the\n        // computation used to obtain the offset computes the expected value (which we _can_ do in a static check), and\n        // then add a cheap runtime check to also validate that the offset matches this.\n        std::static_assert(\n            header_ciphertext_bytes.len() + ciphertext_bytes.len() + message_bytes_padding_to_mult_31.len()\n                == message_bytes.len(),\n            \"unexpected message length\",\n        );\n        assert(offset == message_bytes.len(), \"unexpected encrypted message length\");\n\n        // Pack message bytes into fields (31 bytes per field) and prepend eph_pk.x.\n        let message_bytes_as_fields = bytes_to_fields(message_bytes);\n\n        let mut ciphertext: [Field; MESSAGE_CIPHERTEXT_LEN] = [0; MESSAGE_CIPHERTEXT_LEN];\n\n        ciphertext[0] = eph_pk.x;\n\n        // Mask each content field with a Poseidon2-derived value, so that they appear as uniformly random `Field`\n        // values\n        let mut offset = 1;\n        for i in 0..message_bytes_as_fields.len() {\n            let mask = derive_shared_secret_field_mask(s_app, i as u32);\n            ciphertext[offset + i] = message_bytes_as_fields[i] + mask;\n        }\n        offset += message_bytes_as_fields.len();\n\n        // Pad with random fields so that padding is indistinguishable from masked data fields.\n        for i in offset..MESSAGE_CIPHERTEXT_LEN {\n            // Safety: we assume that the sender wants for the message to be private - a malicious one could simply\n            // reveal its contents publicly. It is therefore fine to trust the sender to provide random padding.\n            ciphertext[i] = unsafe { random() };\n        }\n\n        ciphertext\n    }\n\n    unconstrained fn decrypt(\n        ciphertext: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN>,\n        recipient: AztecAddress,\n        contract_address: AztecAddress,\n    ) -> Option<BoundedVec<Field, MESSAGE_PLAINTEXT_LEN>> {\n        // Extract the ephemeral public key x-coordinate and masked fields, returning None for empty ciphertext.\n        if ciphertext.len() > 0 {\n            let masked_fields: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN - EPH_PK_X_SIZE_IN_FIELDS> =\n                array::subbvec(ciphertext, EPH_PK_X_SIZE_IN_FIELDS);\n            Option::some((ciphertext.get(0), masked_fields))\n        } else {\n            Option::none()\n        }\n            .and_then(|(eph_pk_x, masked_fields)| {\n                // With the x-coordinate of the ephemeral public key we can reconstruct the point as we know that the\n                // y-coordinate must be positive. This may fail however, as not all x-coordinates are on the curve. In\n                // that case, we simply return `Option::none`.\n                point_from_x_coord_and_sign(eph_pk_x, true).and_then(|eph_pk| {\n                    let s_app = get_shared_secret(recipient, eph_pk, contract_address);\n\n                    let unmasked_fields = masked_fields.mapi(|i, field| {\n                        let unmasked = unmask_field(s_app, i, field);\n                        // If we failed to unmask the field, we are dealing with the random padding. We'll ignore it\n                        // later, so we can simply set it to 0\n                        unmasked.unwrap_or(0)\n                    });\n                    let ciphertext_without_eph_pk_x = bytes_from_fields(unmasked_fields);\n\n                    // Derive symmetric keys:\n                    let pairs = derive_aes_symmetric_key_and_iv_from_shared_secret::<2>(s_app);\n                    let (body_sym_key, body_iv) = pairs[0];\n                    let (header_sym_key, header_iv) = pairs[1];\n\n                    // Extract the header ciphertext\n                    let header_start = 0;\n                    let header_ciphertext: [u8; HEADER_CIPHERTEXT_SIZE_IN_BYTES] =\n                        array::subarray(ciphertext_without_eph_pk_x.storage(), header_start);\n                    // We need to convert the array to a BoundedVec because the oracle expects a BoundedVec as it's\n                    // designed to work with messages with unknown length at compile time. This would not be necessary\n                    // here as the header ciphertext length is fixed. But we do it anyway to not have to have duplicate\n                    // oracles.\n                    let header_ciphertext_bvec =\n                        BoundedVec::<u8, HEADER_CIPHERTEXT_SIZE_IN_BYTES>::from_array(header_ciphertext);\n\n                    try_aes128_decrypt(header_ciphertext_bvec, header_iv, header_sym_key)\n                    // Extract ciphertext length from header (2 bytes, big-endian)\n                    .and_then(|header_plaintext| extract_ciphertext_length(header_plaintext))\n                        .filter(|ciphertext_length| ciphertext_length <= MESSAGE_PLAINTEXT_SIZE_IN_BYTES)\n                        .map(|ciphertext_length| {\n                            // Extract and decrypt main ciphertext\n                            let ciphertext_start = header_start + HEADER_CIPHERTEXT_SIZE_IN_BYTES;\n                            let ciphertext_with_padding: [u8; MESSAGE_PLAINTEXT_SIZE_IN_BYTES] =\n                                array::subarray(ciphertext_without_eph_pk_x.storage(), ciphertext_start);\n                            BoundedVec::from_parts(ciphertext_with_padding, ciphertext_length)\n                        })\n                        // Decrypt main ciphertext and return it\n                        .and_then(|ciphertext| try_aes128_decrypt(ciphertext, body_iv, body_sym_key))\n                        // Convert bytes back to fields (32 bytes per field). Returns None if the actual bytes are\n                        // not valid.\n                        .and_then(|plaintext_bytes| try_fields_from_bytes(plaintext_bytes))\n                })\n            })\n    }\n}\n\n/// Encodes the body ciphertext length into a 2-byte big-endian header.\nfn encode_header(ciphertext_length: u32) -> [u8; 2] {\n    [(ciphertext_length >> 8) as u8, ciphertext_length as u8]\n}\n\n/// Extracts the body ciphertext length from a decrypted header as a 2-byte big-endian integer.\n///\n/// Returns `Option::none()` if the header has fewer than 2 bytes.\nunconstrained fn extract_ciphertext_length<let N: u32>(header: BoundedVec<u8, N>) -> Option<u32> {\n    if header.len() >= 2 {\n        Option::some(((header.get(0) as u32) << 8) | (header.get(1) as u32))\n    } else {\n        Option::none()\n    }\n}\n\n/// 2^248: upper bound for values that fit in 31 bytes\nglobal TWO_POW_248: Field = 2.pow_32(248);\n\n/// Removes the Poseidon2-derived mask from a ciphertext field. Returns the unmasked value if it fits in 31 bytes\n/// (a content field), or `None` if it doesn't (random padding). Unconstrained to prevent accidental use in\n/// constrained context.\nunconstrained fn unmask_field(s_app: Field, index: u32, masked: Field) -> Option<Field> {\n    let unmasked = masked - derive_shared_secret_field_mask(s_app, index);\n    if unmasked.lt(TWO_POW_248) {\n        Option::some(unmasked)\n    } else {\n        Option::none()\n    }\n}\n\n/// Produces a random valid address point, i.e. one that is on the curve. This is equivalent to calling\n/// [`AztecAddress::to_address_point`] on a random valid address.\nunconstrained fn random_address_point() -> AddressPoint {\n    let mut result = std::mem::zeroed();\n\n    loop {\n        // We simply produce random x coordinates until we find one that is on the curve. About half of the x\n        // coordinates fulfill this condition, so this should only take a few iterations at most.\n        let x_coord = random();\n        let point = point_from_x_coord_and_sign(x_coord, true);\n        if point.is_some() {\n            result = AddressPoint { inner: point.unwrap() };\n            break;\n        }\n    }\n\n    result\n}\n\nmod test {\n    use crate::{\n        keys::ecdh_shared_secret::{compute_app_siloed_shared_secret, derive_ecdh_shared_secret},\n        messages::{\n            encoding::{HEADER_CIPHERTEXT_SIZE_IN_BYTES, MESSAGE_PLAINTEXT_LEN, MESSAGE_PLAINTEXT_SIZE_IN_BYTES},\n            encryption::message_encryption::MessageEncryption,\n        },\n        test::helpers::test_environment::TestEnvironment,\n    };\n    use crate::protocol::{address::AztecAddress, traits::FromField};\n    use super::{AES128, encode_header, random_address_point};\n    use std::{embedded_curve_ops::EmbeddedCurveScalar, test::OracleMock};\n\n    #[test]\n    unconstrained fn encrypt_decrypt_deterministic() {\n        let env = TestEnvironment::new();\n\n        // Message decryption requires oracles that are only available during private execution\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let plaintext = [1, 2, 3];\n\n            let recipient = AztecAddress::from_field(\n                0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n            );\n\n            // Mock random values for deterministic test\n            let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n            let _ = OracleMock::mock(\"aztec_utl_getRandomField\").returns(eph_sk).times(1);\n\n            let randomness = 0x0101010101010101010101010101010101010101010101010101010101010101;\n            let _ = OracleMock::mock(\"aztec_utl_getRandomField\").returns(randomness).times(1000000);\n\n            let _ = OracleMock::mock(\"aztec_prv_getNextAppTagAsSender\").returns(42);\n\n            // Encrypt the message\n            let encrypted_message = BoundedVec::from_array(AES128::encrypt(plaintext, recipient, contract_address));\n\n            // Compute the same app-siloed shared secret that the oracle would return\n            let raw_shared_secret = derive_ecdh_shared_secret(\n                EmbeddedCurveScalar::from_field(eph_sk),\n                recipient.to_address_point().unwrap().inner,\n            );\n            let s_app = compute_app_siloed_shared_secret(raw_shared_secret, contract_address);\n\n            let _ = OracleMock::mock(\"aztec_utl_getSharedSecret\").returns(s_app);\n\n            // Decrypt the message\n            let decrypted = AES128::decrypt(encrypted_message, recipient, contract_address).unwrap();\n\n            // The decryption function spits out a BoundedVec because it's designed to work with messages with unknown\n            // length at compile time. For this reason we need to convert the original input to a BoundedVec.\n            let plaintext_bvec = BoundedVec::<Field, MESSAGE_PLAINTEXT_LEN>::from_array(plaintext);\n\n            // Verify decryption matches original plaintext\n            assert_eq(decrypted, plaintext_bvec, \"Decrypted bytes should match original plaintext\");\n\n            // The following is a workaround of \"struct is never constructed\" Noir compilation error (we only ever use\n            // static methods of the struct).\n            let _ = AES128 {};\n        });\n    }\n\n    #[test]\n    unconstrained fn encrypt_decrypt_random() {\n        // Same as `encrypt_decrypt_deterministic`, except we don't mock any of the oracles and rely on\n        // `TestEnvironment` instead.\n        let mut env = TestEnvironment::new();\n\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let plaintext = [1, 2, 3];\n            let ciphertext = AES128::encrypt(plaintext, recipient, contract_address);\n\n            assert_eq(\n                AES128::decrypt(\n                    BoundedVec::from_array(ciphertext),\n                    recipient,\n                    contract_address,\n                )\n                    .unwrap(),\n                BoundedVec::from_array(plaintext),\n            );\n        });\n    }\n\n    #[test]\n    unconstrained fn encrypt_to_invalid_address() {\n        // x = 3 is a non-residue for this curve, resulting in an invalid address\n        let invalid_address = AztecAddress { inner: 3 };\n        let contract_address = AztecAddress { inner: 42 };\n\n        let _ = AES128::encrypt([1, 2, 3, 4], invalid_address, contract_address);\n    }\n\n    // Documents the PKCS#7 padding behavior that `encrypt` relies on (see its static_assert).\n    #[test]\n    fn pkcs7_padding_always_adds_at_least_one_byte() {\n        let key = [0 as u8; 16];\n        let iv = [0 as u8; 16];\n\n        // 1 byte input + 15 bytes padding = 16 bytes\n        assert_eq(std::aes128::aes128_encrypt([0; 1], iv, key).len(), 16);\n\n        // 15 bytes input + 1 byte padding = 16 bytes\n        assert_eq(std::aes128::aes128_encrypt([0; 15], iv, key).len(), 16);\n\n        // 16 bytes input (block-aligned) + full 16-byte padding block = 32 bytes\n        assert_eq(std::aes128::aes128_encrypt([0; 16], iv, key).len(), 32);\n    }\n\n    #[test]\n    unconstrained fn encrypt_decrypt_max_size_plaintext() {\n        let mut env = TestEnvironment::new();\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let mut plaintext = [0; MESSAGE_PLAINTEXT_LEN];\n            for i in 0..MESSAGE_PLAINTEXT_LEN {\n                plaintext[i] = i as Field;\n            }\n            let ciphertext = AES128::encrypt(plaintext, recipient, contract_address);\n\n            assert_eq(\n                AES128::decrypt(\n                    BoundedVec::from_array(ciphertext),\n                    recipient,\n                    contract_address,\n                )\n                    .unwrap(),\n                BoundedVec::from_array(plaintext),\n            );\n        });\n    }\n\n    #[test(should_fail_with = \"Plaintext length exceeds MESSAGE_PLAINTEXT_LEN\")]\n    unconstrained fn encrypt_oversized_plaintext() {\n        let address = AztecAddress { inner: 3 };\n        let contract_address = AztecAddress { inner: 42 };\n        let plaintext: [Field; MESSAGE_PLAINTEXT_LEN + 1] = [0; MESSAGE_PLAINTEXT_LEN + 1];\n        let _ = AES128::encrypt(plaintext, address, contract_address);\n    }\n\n    #[test]\n    unconstrained fn random_address_point_produces_valid_points() {\n        // About half of random addresses are invalid, so testing just a couple gives us high confidence that\n        // `random_address_point` is indeed producing valid addresses.\n        for _ in 0..10 {\n            let random_address = AztecAddress { inner: random_address_point().inner.x };\n            assert(random_address.to_address_point().is_some());\n        }\n    }\n\n    #[test]\n    unconstrained fn decrypt_invalid_ephemeral_public_key() {\n        let mut env = TestEnvironment::new();\n\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let plaintext = [1, 2, 3, 4];\n            let ciphertext = AES128::encrypt(plaintext, recipient, contract_address);\n\n            // The first field of the ciphertext is the x-coordinate of the ephemeral public key. We set it to a known\n            // non-residue (3), causing `decrypt` to fail to produce a decryption shared secret.\n            let mut bad_ciphertext = BoundedVec::from_array(ciphertext);\n            bad_ciphertext.set(0, 3);\n\n            assert(AES128::decrypt(bad_ciphertext, recipient, contract_address).is_none());\n        });\n    }\n\n    #[test]\n    unconstrained fn decrypt_returns_none_on_empty_ciphertext() {\n        let mut env = TestEnvironment::new();\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            assert(AES128::decrypt(BoundedVec::new(), recipient, contract_address).is_none());\n        });\n    }\n\n    // Mocks the header AES decrypt oracle to return an empty result. The TS oracle never throws on invalid\n    // input: it decrypts to garbage bytes or returns empty\n    #[test]\n    unconstrained fn decrypt_returns_none_on_empty_header() {\n        let mut env = TestEnvironment::new();\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let plaintext = [1, 2, 3];\n            let ciphertext = BoundedVec::from_array(AES128::encrypt(plaintext, recipient, contract_address));\n\n            let empty_header = BoundedVec::<u8, HEADER_CIPHERTEXT_SIZE_IN_BYTES>::new();\n            let _ = OracleMock::mock(\"aztec_utl_decryptAes128\").returns(Option::some(empty_header)).times(1);\n\n            assert(AES128::decrypt(ciphertext, recipient, contract_address).is_none());\n        });\n    }\n\n    // Mocks the header oracle to return a 2-byte header that decodes to a ciphertext_length one past the maximum\n    // allowed value, verifying the edge case is handled correctly.\n    #[test]\n    unconstrained fn decrypt_returns_none_on_oversized_ciphertext_length() {\n        let mut env = TestEnvironment::new();\n        let recipient = env.create_light_account();\n\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let plaintext = [1, 2, 3];\n            let ciphertext = BoundedVec::from_array(AES128::encrypt(plaintext, recipient, contract_address));\n\n            let bad_header = BoundedVec::<u8, HEADER_CIPHERTEXT_SIZE_IN_BYTES>::from_array(encode_header(\n                MESSAGE_PLAINTEXT_SIZE_IN_BYTES + 1,\n            ));\n            let _ = OracleMock::mock(\"aztec_utl_decryptAes128\").returns(Option::some(bad_header)).times(1);\n\n            assert(AES128::decrypt(ciphertext, recipient, contract_address).is_none());\n        });\n    }\n\n}\n"
    },
    "154": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/logs/arithmetic_generics_utils.nr",
      "source": "use crate::messages::encoding::HEADER_CIPHERTEXT_SIZE_IN_BYTES;\n\n/// *****************************************************\n// Disgusting arithmetic on generics\n/// *****************************************************\n\n// In this section, instead of initializing arrays with very complicated generic arithmetic, such as: let my_arr: [u8;\n// (((Pt + (16 - (Pt % 16))) + (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1)) + ((((((Pt + (16 - (Pt % 16))) +\n// (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1)) + 30) / 31) * 31) - ((Pt + (16 - (Pt % 16))) +\n// (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1))))] = [0; (((Pt + (16 - (Pt % 16))) + (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1)) +\n// ((((((Pt + (16 - (Pt % 16))) + (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1)) + 30) / 31) * 31) - ((Pt + (16 - (Pt % 16))) +\n// (HEADER_CIPHERTEXT_SIZE_IN_BYTES + 1))))]; ... we instead do the arithmetic a little bit at a time, so that the\n// computation can be audited and understood. Now, we can't do arithmetic on generics in the body of a function, so we\n// abusing functions in the following way:\n\n// |full_pt| = |pt| = (N * 32) + 64\nfn get_arr_of_size__full_plaintext<let Pt: u32>() -> [u8; Pt] {\n    [0; Pt]\n}\n\n// |pt_aes_padding| = 16 - (|full_pt| % 16)\nfn get_arr_of_size__plaintext_aes_padding<let FullPt: u32>(_full_pt: [u8; FullPt]) -> [u8; 16 - (FullPt % 16)] {\n    [0; 16 - (FullPt % 16)]\n}\n\n// |ct| = |full_pt| + |pt_aes_padding|\nfn get_arr_of_size__ciphertext<let FullPt: u32, let PtAesPadding: u32>(\n    _full_pt: [u8; FullPt],\n    _pt_aes_padding: [u8; PtAesPadding],\n) -> [u8; FullPt + PtAesPadding] {\n    [0; FullPt + PtAesPadding]\n}\n\n// Ok, so we have the following bytes: header_ciphertext, ciphertext: Let mbwop =\n// HEADER_CIPHERTEXT_SIZE_IN_BYTES + |ct| // aka message bytes without padding\nfn get_arr_of_size__message_bytes_without_padding<let Ct: u32>(\n    _ct: [u8; Ct],\n) -> [u8; HEADER_CIPHERTEXT_SIZE_IN_BYTES + Ct] {\n    [0; HEADER_CIPHERTEXT_SIZE_IN_BYTES + Ct]\n}\n\n// Recall:\n//   mbwop := HEADER_CIPHERTEXT_SIZE_IN_BYTES + |ct| // aka message bytes without padding\n// We now want to pad b to the next multiple of 31, so as to \"fill\" fields. Let p be that padding. p = 31 * ceil(mbwop\n// / 31) - mbwop\n//   = 31 * ((mbwop + 30) // 31) - mbwop\n//     (because ceil(x / y) = (x + y - 1) // y ).\nfn get_arr_of_size__message_bytes_padding<let Mbwop: u32>(\n    _mbwop: [u8; Mbwop],\n) -> [u8; (31 * ((Mbwop + 30) / 31)) - Mbwop] {\n    [0; (31 * ((Mbwop + 30) / 31)) - Mbwop]\n}\n\n// |message_bytes| = HEADER_CIPHERTEXT_SIZE_IN_BYTES + |ct| + p // aka message bytes (with\n// padding) Recall:\n//   mbwop := HEADER_CIPHERTEXT_SIZE_IN_BYTES + |ct| p is the padding\nfn get_arr_of_size__message_bytes<let MBWOP: u32, let P: u32>(_mbwop: [u8; MBWOP], _p: [u8; P]) -> [u8; MBWOP + P] {\n    [0; MBWOP + P]\n}\n\n// The return type is pasted from the LSP's expectation, because it was too difficult to match its weird way of doing\n// algebra. It doesn't know all rules of arithmetic. Pt is the plaintext length.\npub(crate) fn get_arr_of_size__message_bytes_padding__from_PT<let Pt: u32>() -> [u8; ((((((Pt + (16 - (Pt % 16))) + HEADER_CIPHERTEXT_SIZE_IN_BYTES) + 30) / 31) * 31) - ((Pt + (16 - (Pt % 16))) + HEADER_CIPHERTEXT_SIZE_IN_BYTES))] {\n    let full_pt = get_arr_of_size__full_plaintext::<Pt>();\n    let pt_aes_padding = get_arr_of_size__plaintext_aes_padding(full_pt);\n    let ct = get_arr_of_size__ciphertext(full_pt, pt_aes_padding);\n    let mbwop = get_arr_of_size__message_bytes_without_padding(ct);\n    let p = get_arr_of_size__message_bytes_padding(mbwop);\n    p\n}\n\n// The return type is pasted from the LSP's expectation, because it was too difficult to match its weird way of doing\n// algebra. It doesn't know all rules of arithmetic.\npub(crate) fn get_arr_of_size__message_bytes__from_PT<let Pt: u32>() -> [u8; (((Pt + (16 - (Pt % 16))) + HEADER_CIPHERTEXT_SIZE_IN_BYTES) + ((((((Pt + (16 - (Pt % 16))) + HEADER_CIPHERTEXT_SIZE_IN_BYTES) + 30) / 31) * 31) - ((Pt + (16 - (Pt % 16))) + HEADER_CIPHERTEXT_SIZE_IN_BYTES)))] {\n    let full_pt = get_arr_of_size__full_plaintext::<Pt>();\n    let pt_aes_padding = get_arr_of_size__plaintext_aes_padding(full_pt);\n    let ct = get_arr_of_size__ciphertext(full_pt, pt_aes_padding);\n    let mbwop = get_arr_of_size__message_bytes_without_padding(ct);\n    let p = get_arr_of_size__message_bytes_padding(mbwop);\n    let message_bytes = get_arr_of_size__message_bytes(mbwop, p);\n    message_bytes\n}\n"
    },
    "155": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/logs/event.nr",
      "source": "use crate::{\n    event::{event_interface::EventInterface, EventSelector},\n    messages::{\n        encoding::{encode_message, MAX_MESSAGE_CONTENT_LEN, MESSAGE_EXPANDED_METADATA_LEN},\n        msg_type::PRIVATE_EVENT_MSG_TYPE_ID,\n    },\n    utils::array,\n};\nuse crate::protocol::traits::{FromField, Serialize, ToField};\n\n/// The number of fields in a private event message content that are not the event's serialized representation (1 field\n/// for randomness).\npub(crate) global PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN: u32 = 1;\npub(crate) global PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX: u32 = 0;\n\n/// The maximum length of the packed representation of an event's contents. This is limited by private log size,\n/// encryption overhead and extra fields in the message (e.g. message type id, randomness, etc.).\npub global MAX_EVENT_SERIALIZED_LEN: u32 = MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN;\n\n/// Creates the plaintext for a private event message (i.e. one of type [`PRIVATE_EVENT_MSG_TYPE_ID`]).\n///\n/// This plaintext is meant to be decoded via [`decode_private_event_message`].\npub fn encode_private_event_message<Event>(\n    event: Event,\n    randomness: Field,\n) -> [Field; PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Event as Serialize>::N + MESSAGE_EXPANDED_METADATA_LEN]\nwhere\n    Event: EventInterface + Serialize,\n{\n    // We use `Serialize` because we want for events to be processable by off-chain actors, e.g. block explorers,\n    // wallets and apps, without having to rely on contract invocation. If we used `Packable` we'd need to call utility\n    // functions in order to unpack events, which would introduce a level of complexity we don't currently think is\n    // worth the savings in DA (for public events) and proving time (when encrypting private event messages).\n    let serialized_event = event.serialize();\n\n    // If PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n    // encoding below must be updated as well.\n    std::static_assert(\n        PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 1,\n        \"unexpected value for PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n    );\n\n    let mut msg_plaintext = [0; PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Event as Serialize>::N];\n    msg_plaintext[PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX] = randomness;\n\n    for i in 0..serialized_event.len() {\n        msg_plaintext[PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + i] = serialized_event[i];\n    }\n\n    // The event type id is stored in the message metadata\n    encode_message(\n        PRIVATE_EVENT_MSG_TYPE_ID,\n        Event::get_event_type_id().to_field() as u64,\n        msg_plaintext,\n    )\n}\n\n/// Decodes the plaintext from a private event message (i.e. one of type [`PRIVATE_EVENT_MSG_TYPE_ID`]).\n///\n/// Returns `None` if `msg_content` has too few fields. This plaintext is meant to have originated\n/// from [`encode_private_event_message`].\n///\n/// Note that while [`encode_private_event_message`] returns a fixed-size array, this function takes a [`BoundedVec`]\n/// instead. This is because when decoding we're typically processing runtime-sized plaintexts, more specifically,\n/// those that originate from [`crate::messages::encryption::message_encryption::MessageEncryption::decrypt`].\npub(crate) unconstrained fn decode_private_event_message(\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) -> Option<(EventSelector, Field, BoundedVec<Field, MAX_EVENT_SERIALIZED_LEN>)> {\n    if msg_content.len() <= PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN {\n        Option::none()\n    } else {\n        let event_type_id = EventSelector::from_field(msg_metadata as Field);\n\n        // If PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n        // destructuring of the private event message encoding below must be updated as well.\n        std::static_assert(\n            PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 1,\n            \"unexpected value for PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n        );\n\n        let randomness = msg_content.get(PRIVATE_EVENT_MSG_PLAINTEXT_RANDOMNESS_INDEX);\n        let serialized_event = array::subbvec(msg_content, PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN);\n\n        Option::some((event_type_id, randomness, serialized_event))\n    }\n}\n\nmod test {\n    use crate::{\n        event::event_interface::EventInterface,\n        messages::{\n            encoding::decode_message,\n            logs::event::{decode_private_event_message, encode_private_event_message},\n            msg_type::PRIVATE_EVENT_MSG_TYPE_ID,\n        },\n    };\n    use crate::protocol::traits::Serialize;\n    use crate::test::mocks::mock_event::MockEvent;\n\n    global VALUE: Field = 7;\n    global RANDOMNESS: Field = 10;\n\n    #[test]\n    unconstrained fn encode_decode() {\n        let event = MockEvent::new(VALUE).build_event();\n\n        let message_plaintext = encode_private_event_message(event, RANDOMNESS);\n\n        let (msg_type_id, msg_metadata, msg_content) =\n            decode_message(BoundedVec::from_array(message_plaintext)).unwrap();\n\n        assert_eq(msg_type_id, PRIVATE_EVENT_MSG_TYPE_ID);\n\n        let (event_type_id, randomness, serialized_event) =\n            decode_private_event_message(msg_metadata, msg_content).unwrap();\n\n        assert_eq(event_type_id, MockEvent::get_event_type_id());\n        assert_eq(randomness, RANDOMNESS);\n        assert_eq(serialized_event, BoundedVec::from_array(event.serialize()));\n    }\n\n    #[test]\n    unconstrained fn decode_empty_content_returns_none() {\n        let empty = BoundedVec::new();\n        assert(decode_private_event_message(0, empty).is_none());\n    }\n\n    #[test]\n    unconstrained fn decode_with_only_reserved_fields_returns_none() {\n        let content = BoundedVec::from_array([0]);\n        assert(decode_private_event_message(0, content).is_none());\n    }\n}\n"
    },
    "157": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/logs/note.nr",
      "source": "use crate::{\n    messages::{\n        encoding::{encode_message, MAX_MESSAGE_CONTENT_LEN, MESSAGE_EXPANDED_METADATA_LEN},\n        msg_type::PRIVATE_NOTE_MSG_TYPE_ID,\n    },\n    note::note_interface::NoteType,\n    utils::array,\n};\nuse crate::protocol::{address::AztecAddress, traits::{FromField, Packable, ToField}};\n\n/// The number of fields in a private note message content that are not the note's packed representation.\npub(crate) global PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN: u32 = 3;\n\npub(crate) global PRIVATE_NOTE_MSG_PLAINTEXT_OWNER_INDEX: u32 = 0;\npub(crate) global PRIVATE_NOTE_MSG_PLAINTEXT_STORAGE_SLOT_INDEX: u32 = 1;\npub(crate) global PRIVATE_NOTE_MSG_PLAINTEXT_RANDOMNESS_INDEX: u32 = 2;\n\n/// The maximum length of the packed representation of a note's contents. This is limited by private log size,\n/// encryption overhead and extra fields in the message (e.g. message type id, storage slot, randomness, etc.).\npub global MAX_NOTE_PACKED_LEN: u32 = MAX_MESSAGE_CONTENT_LEN - PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN;\n\n/// Creates the plaintext for a private note message (i.e. one of type [`PRIVATE_NOTE_MSG_TYPE_ID`]).\n///\n/// This plaintext is meant to be decoded via [`decode_private_note_message`].\npub fn encode_private_note_message<Note>(\n    note: Note,\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n) -> [Field; PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Note as Packable>::N + MESSAGE_EXPANDED_METADATA_LEN]\nwhere\n    Note: NoteType + Packable,\n{\n    let packed_note = note.pack();\n\n    // If PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n    // encoding below must be updated as well.\n    std::static_assert(\n        PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 3,\n        \"unexpected value for PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n    );\n\n    let mut msg_content = [0; PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <Note as Packable>::N];\n    msg_content[PRIVATE_NOTE_MSG_PLAINTEXT_OWNER_INDEX] = owner.to_field();\n    msg_content[PRIVATE_NOTE_MSG_PLAINTEXT_STORAGE_SLOT_INDEX] = storage_slot;\n    msg_content[PRIVATE_NOTE_MSG_PLAINTEXT_RANDOMNESS_INDEX] = randomness;\n    for i in 0..packed_note.len() {\n        msg_content[PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + i] = packed_note[i];\n    }\n\n    // Notes use the note type id for metadata\n    encode_message(PRIVATE_NOTE_MSG_TYPE_ID, Note::get_id() as u64, msg_content)\n}\n\n/// Decodes the plaintext from a private note message (i.e. one of type [`PRIVATE_NOTE_MSG_TYPE_ID`]).\n///\n/// Returns `None` if `msg_content` has too few fields. This plaintext is meant to have originated\n/// from [`encode_private_note_message`].\n///\n/// Note that while [`encode_private_note_message`] returns a fixed-size array, this function takes a [`BoundedVec`]\n/// instead. This is because when decoding we're typically processing runtime-sized plaintexts, more specifically,\n/// those that originate from [`crate::messages::encryption::message_encryption::MessageEncryption::decrypt`].\npub(crate) unconstrained fn decode_private_note_message(\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) -> Option<(Field, AztecAddress, Field, Field, BoundedVec<Field, MAX_NOTE_PACKED_LEN>)> {\n    if msg_content.len() <= PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN {\n        Option::none()\n    } else {\n        let note_type_id = msg_metadata as Field; // TODO: make note type id not be a full field\n\n        // If PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN is changed, causing the assertion below to fail, then the\n        // decoding below must be updated as well.\n        std::static_assert(\n            PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 3,\n            \"unexpected value for PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN\",\n        );\n\n        let owner = AztecAddress::from_field(msg_content.get(PRIVATE_NOTE_MSG_PLAINTEXT_OWNER_INDEX));\n        let storage_slot = msg_content.get(PRIVATE_NOTE_MSG_PLAINTEXT_STORAGE_SLOT_INDEX);\n        let randomness = msg_content.get(PRIVATE_NOTE_MSG_PLAINTEXT_RANDOMNESS_INDEX);\n        let packed_note = array::subbvec(msg_content, PRIVATE_NOTE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN);\n\n        Option::some((note_type_id, owner, storage_slot, randomness, packed_note))\n    }\n}\n\nmod test {\n    use crate::{\n        messages::{\n            encoding::decode_message,\n            logs::note::{decode_private_note_message, encode_private_note_message, MAX_NOTE_PACKED_LEN},\n            msg_type::PRIVATE_NOTE_MSG_TYPE_ID,\n        },\n        note::note_interface::NoteType,\n    };\n    use crate::protocol::{address::AztecAddress, traits::{FromField, Packable}};\n    use crate::test::mocks::mock_note::MockNote;\n\n    global VALUE: Field = 7;\n    global OWNER: AztecAddress = AztecAddress::from_field(8);\n    global STORAGE_SLOT: Field = 9;\n    global RANDOMNESS: Field = 10;\n\n    #[test]\n    unconstrained fn encode_decode() {\n        let note = MockNote::new(VALUE).build_note();\n\n        let message_plaintext = encode_private_note_message(note, OWNER, STORAGE_SLOT, RANDOMNESS);\n\n        let (msg_type_id, msg_metadata, msg_content) =\n            decode_message(BoundedVec::from_array(message_plaintext)).unwrap();\n\n        assert_eq(msg_type_id, PRIVATE_NOTE_MSG_TYPE_ID);\n\n        let (note_type_id, owner, storage_slot, randomness, packed_note) =\n            decode_private_note_message(msg_metadata, msg_content).unwrap();\n\n        assert_eq(note_type_id, MockNote::get_id());\n        assert_eq(owner, OWNER);\n        assert_eq(storage_slot, STORAGE_SLOT);\n        assert_eq(randomness, RANDOMNESS);\n        assert_eq(packed_note, BoundedVec::from_array(note.pack()));\n    }\n\n    #[derive(Packable)]\n    struct MaxSizeNote {\n        data: [Field; MAX_NOTE_PACKED_LEN],\n    }\n\n    impl NoteType for MaxSizeNote {\n        fn get_id() -> Field {\n            0\n        }\n    }\n\n    #[test]\n    unconstrained fn encode_decode_max_size_note() {\n        let mut data = [0; MAX_NOTE_PACKED_LEN];\n        for i in 0..MAX_NOTE_PACKED_LEN {\n            data[i] = i as Field;\n        }\n        let note = MaxSizeNote { data };\n\n        let encoded = encode_private_note_message(note, OWNER, STORAGE_SLOT, RANDOMNESS);\n        let (msg_type_id, msg_metadata, msg_content) = decode_message(BoundedVec::from_array(encoded)).unwrap();\n\n        assert_eq(msg_type_id, PRIVATE_NOTE_MSG_TYPE_ID);\n\n        let (note_type_id, owner, storage_slot, randomness, packed_note) =\n            decode_private_note_message(msg_metadata, msg_content).unwrap();\n\n        assert_eq(note_type_id, MaxSizeNote::get_id());\n        assert_eq(owner, OWNER);\n        assert_eq(storage_slot, STORAGE_SLOT);\n        assert_eq(randomness, RANDOMNESS);\n        assert_eq(packed_note, BoundedVec::from_array(data));\n    }\n\n    #[derive(Packable)]\n    struct OversizedNote {\n        data: [Field; MAX_NOTE_PACKED_LEN + 1],\n    }\n\n    impl NoteType for OversizedNote {\n        fn get_id() -> Field {\n            0\n        }\n    }\n\n    #[test(should_fail_with = \"Invalid message content: it must have a length of at most MAX_MESSAGE_CONTENT_LEN\")]\n    fn encode_oversized_note_fails() {\n        let note = OversizedNote { data: [0; MAX_NOTE_PACKED_LEN + 1] };\n        let _ = encode_private_note_message(note, OWNER, STORAGE_SLOT, RANDOMNESS);\n    }\n\n    #[test]\n    unconstrained fn decode_empty_content_returns_none() {\n        let empty = BoundedVec::new();\n        assert(decode_private_note_message(0, empty).is_none());\n    }\n\n    #[test]\n    unconstrained fn decode_with_only_reserved_fields_returns_none() {\n        let content = BoundedVec::from_array([0, 0, 0]);\n        assert(decode_private_note_message(0, content).is_none());\n    }\n}\n"
    },
    "158": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/logs/partial_note.nr",
      "source": "use crate::{\n    messages::{\n        encoding::{encode_message, MAX_MESSAGE_CONTENT_LEN, MESSAGE_EXPANDED_METADATA_LEN},\n        msg_type::PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID,\n    },\n    note::note_interface::NoteType,\n    utils::array,\n};\nuse crate::protocol::{address::AztecAddress, traits::{FromField, Packable, ToField}};\n\n/// The number of fields in a private note message content that are not the note's packed representation.\npub(crate) global PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN: u32 = 3;\npub(crate) global PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_OWNER_INDEX: u32 = 0;\npub(crate) global PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RANDOMNESS_INDEX: u32 = 1;\npub(crate) global PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NOTE_COMPLETION_LOG_TAG_INDEX: u32 = 2;\n\n/// Partial notes have a maximum packed length of their private fields bound by extra content in their private message\n/// (e.g. the storage slot, note completion log tag, etc.).\npub global MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN: u32 =\n    MAX_MESSAGE_CONTENT_LEN - PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN;\n\n/// Creates the plaintext for a partial note private message (i.e. one of type [`PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID`]).\n///\n/// This plaintext is meant to be decoded via [`decode_partial_note_private_message`].\npub fn encode_partial_note_private_message<PartialNotePrivateContent>(\n    partial_note_private_content: PartialNotePrivateContent,\n    owner: AztecAddress,\n    randomness: Field,\n    note_completion_log_tag: Field,\n    ) -> [Field; PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <PartialNotePrivateContent as Packable>::N + MESSAGE_EXPANDED_METADATA_LEN]\nwhere\n    PartialNotePrivateContent: NoteType + Packable,\n{\n    let packed_private_content = partial_note_private_content.pack();\n\n    // If PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NON_NOTE_FIELDS_LEN is changed, causing the assertion below to fail, then\n    // the encoding below must be updated as well.\n    std::static_assert(\n        PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 3,\n        \"unexpected value for PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NON_NOTE_FIELDS_LEN\",\n    );\n\n    let mut msg_content =\n        [0; PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + <PartialNotePrivateContent as Packable>::N];\n    msg_content[PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_OWNER_INDEX] = owner.to_field();\n    msg_content[PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RANDOMNESS_INDEX] = randomness;\n    msg_content[PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NOTE_COMPLETION_LOG_TAG_INDEX] = note_completion_log_tag;\n\n    for i in 0..packed_private_content.len() {\n        msg_content[PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN + i] = packed_private_content[i];\n    }\n\n    encode_message(\n        PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID,\n        // Notes use the note type id for metadata\n        PartialNotePrivateContent::get_id() as u64,\n        msg_content,\n    )\n}\n\n/// Decodes the plaintext from a partial note private message (i.e. one of type\n/// [`PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID`]).\n///\n/// Returns `None` if `msg_content` has too few fields. This plaintext is meant to have originated\n/// from [`encode_partial_note_private_message`].\n///\n/// Note that while [`encode_partial_note_private_message`] returns a fixed-size array, this function takes a\n/// [`BoundedVec`] instead. This is because when decoding we're typically processing runtime-sized plaintexts, more\n/// specifically, those that originate from\n/// [`crate::messages::encryption::message_encryption::MessageEncryption::decrypt`].\npub(crate) unconstrained fn decode_partial_note_private_message(\n    msg_metadata: u64,\n    msg_content: BoundedVec<Field, MAX_MESSAGE_CONTENT_LEN>,\n) -> Option<(AztecAddress, Field, Field, Field, BoundedVec<Field, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN>)> {\n    if msg_content.len() < PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN {\n        Option::none()\n    } else {\n        let note_type_id: Field = msg_metadata as Field; // TODO: make note type id not be a full field\n\n        // If PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NON_NOTE_FIELDS_LEN is changed, causing the assertion below to fail,\n        // then the destructuring of the partial note private message encoding below must be updated as well.\n        std::static_assert(\n            PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN == 3,\n            \"unexpected value for PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NON_NOTE_FIELDS_LEN\",\n        );\n\n        // We currently have three fields that are not the partial note's packed representation, which are the owner,\n        // the randomness, and the note completion log tag.\n        let owner = AztecAddress::from_field(\n            msg_content.get(PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_OWNER_INDEX),\n        );\n        let randomness = msg_content.get(PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RANDOMNESS_INDEX);\n        let note_completion_log_tag = msg_content.get(PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_NOTE_COMPLETION_LOG_TAG_INDEX);\n\n        let packed_private_note_content: BoundedVec<Field, MAX_PARTIAL_NOTE_PRIVATE_PACKED_LEN> = array::subbvec(\n            msg_content,\n            PARTIAL_NOTE_PRIVATE_MSG_PLAINTEXT_RESERVED_FIELDS_LEN,\n        );\n\n        Option::some(\n            (owner, randomness, note_completion_log_tag, note_type_id, packed_private_note_content),\n        )\n    }\n}\n\nmod test {\n    use crate::{\n        messages::{\n            encoding::decode_message,\n            logs::partial_note::{decode_partial_note_private_message, encode_partial_note_private_message},\n            msg_type::PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID,\n        },\n        note::note_interface::NoteType,\n    };\n    use crate::protocol::{address::AztecAddress, traits::{FromField, Packable}};\n    use crate::test::mocks::mock_note::MockNote;\n\n    global VALUE: Field = 7;\n    global OWNER: AztecAddress = AztecAddress::from_field(8);\n    global RANDOMNESS: Field = 10;\n    global NOTE_COMPLETION_LOG_TAG: Field = 11;\n\n    #[test]\n    unconstrained fn encode_decode() {\n        // Note that here we use MockNote as the private fields of a partial note\n        let note = MockNote::new(VALUE).build_note();\n\n        let message_plaintext = encode_partial_note_private_message(note, OWNER, RANDOMNESS, NOTE_COMPLETION_LOG_TAG);\n\n        let (msg_type_id, msg_metadata, msg_content) =\n            decode_message(BoundedVec::from_array(message_plaintext)).unwrap();\n\n        assert_eq(msg_type_id, PARTIAL_NOTE_PRIVATE_MSG_TYPE_ID);\n\n        let (owner, randomness, note_completion_log_tag, note_type_id, packed_note) =\n            decode_partial_note_private_message(msg_metadata, msg_content).unwrap();\n\n        assert_eq(note_type_id, MockNote::get_id());\n        assert_eq(owner, OWNER);\n        assert_eq(randomness, RANDOMNESS);\n        assert_eq(note_completion_log_tag, NOTE_COMPLETION_LOG_TAG);\n        assert_eq(packed_note, BoundedVec::from_array(note.pack()));\n    }\n\n    #[test]\n    unconstrained fn decode_empty_content_returns_none() {\n        let empty = BoundedVec::new();\n        assert(decode_partial_note_private_message(0, empty).is_none());\n    }\n\n    #[test]\n    unconstrained fn decode_succeeds_with_only_reserved_fields() {\n        let content = BoundedVec::from_array([0, 0, 0]);\n        let (_, _, _, _, packed_note) = decode_partial_note_private_message(0, content).unwrap();\n        assert_eq(packed_note.len(), 0);\n    }\n}\n"
    },
    "159": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/logs/utils.nr",
      "source": "use crate::oracle::notes::{get_next_app_tag_as_sender, get_sender_for_tags};\nuse crate::protocol::address::AztecAddress;\n\n// TODO(#14565): Add constrained tagging\n/// Returns the next discovery tag for a private log sent to `recipient`.\n///\n/// Private logs are encrypted, so the recipient cannot tell which logs are meant for it just by looking at them.\n/// To solve this, sender and recipient derive a shared secret from their keys, and from that secret they produce a\n/// sequence of one-time tags (tag_0, tag_1, ...). The recipient scans for these tags because it can compute the same\n/// sequence. This function returns the next raw (not domain-separated) tag in the sequence.\npub(crate) fn compute_discovery_tag(recipient: AztecAddress) -> Field {\n    // Safety: we assume that the sender wants for the recipient to find the tagged note, and therefore that they will\n    // cooperate and use the correct tag. Usage of a bad tag will result in the recipient not being able to find the\n    // note automatically.\n    unsafe {\n        let sender = get_sender_for_tags().expect(\n            f\"Sender for tags is not set when emitting a private log. Set it by calling `set_sender_for_tags(...)`.\",\n        );\n        get_next_app_tag_as_sender(sender, recipient)\n    }\n}\n\nmod test {\n    use crate::protocol::{address::AztecAddress, traits::FromField};\n    use super::compute_discovery_tag;\n    use std::test::OracleMock;\n\n    #[test(should_fail_with = \"Sender for tags is not set\")]\n    unconstrained fn no_tag_sender() {\n        let recipient = AztecAddress::from_field(2);\n        let _ = OracleMock::mock(\"aztec_prv_getSenderForTags\").returns(Option::<AztecAddress>::none());\n        let _ = OracleMock::mock(\"aztec_prv_getNextAppTagAsSender\").returns(42);\n        let _ = compute_discovery_tag(recipient);\n    }\n\n    #[test]\n    unconstrained fn returns_oracle_tag() {\n        let sender = AztecAddress::from_field(1);\n        let recipient = AztecAddress::from_field(2);\n        let expected_tag = 42;\n        let _ = OracleMock::mock(\"aztec_prv_getSenderForTags\").returns(Option::some(sender));\n        let _ = OracleMock::mock(\"aztec_prv_getNextAppTagAsSender\").returns(expected_tag);\n        assert_eq(compute_discovery_tag(recipient), expected_tag);\n    }\n}\n"
    },
    "160": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/message_delivery.nr",
      "source": "use crate::{\n    context::PrivateContext,\n    messages::{\n        encryption::{aes128::AES128, message_encryption::MessageEncryption},\n        logs::utils::compute_discovery_tag,\n        offchain_messages::deliver_offchain_message,\n    },\n    utils::remove_constraints::remove_constraints_if,\n};\nuse crate::protocol::{address::AztecAddress, constants::DOM_SEP__UNCONSTRAINED_MSG_LOG_TAG, hash::compute_log_tag};\n\n/// Placeholder struct until Noir adds `enum` support.\n///\n/// See [`MessageDelivery`] instead.\npub struct MessageDeliveryEnum {\n    /// Delivers the message fully off-chain, with no guarantees whatsoever.\n    ///\n    /// ## Use Cases\n    ///\n    /// This delivery method is suitable when the sender is required to send the message to the recipient because of\n    /// some external reason, and where the sender is able to directly contact the recipient off-chain. In these cases,\n    /// it might be unnecessary to force the sender to spend proving time guaranteeing message correctness, or to pay\n    /// transaction fees in order to use the chain as a medium.\n    ///\n    /// For example, if performing a payment in exchange for some good or service, the recipient will only accept the\n    /// payment once they receive note and event messages, allowing them to observe the balance increase. The sender\n    /// has no reason not to deliver the message correctly to the recipient, and in all likelihood has a way to send it\n    /// to them.\n    ///\n    /// Similarly, in games and other applications that might rely on some server processing state, players might be\n    /// required to update the server with their current state.\n    ///\n    /// Finally, any messages for which the recipient is a local account (e.g.: the message for the change note in a\n    /// token transfer) work well with this delivery option, since the sender would only be harming themselves by not\n    /// delivering correctly.\n    ///\n    /// ## Guarantees\n    ///\n    /// The sender of the message is free to both not deliver the message to the recipient at all (since no delivery\n    /// occurs on-chain), and to alter the message contents (possibly resulting in an undecryptable message, or one\n    /// with incorrect content).\n    ///\n    /// An undecryptable or otherwise invalid note or event message will however simply be ignored by the recipient,\n    /// who can always validate the existence of the note or event on-chain.\n    ///\n    /// Because the message is not stored on-chain, it is the sender's (and eventually recipient's) responsability to\n    /// back it up and make sure it is not lost.\n    ///\n    /// ## Costs\n    ///\n    /// Because no data is emitted on-chain, this delivery option is the cheapest one in terms of transaction fees:\n    /// these are zero.\n    ///\n    /// Additionally, no circuit gates are introduced when the message is encrypted, since its provenance cannot be\n    /// authenticated anyway. Therefore, off-chain messages do not affect proving time at all.\n    ///\n    /// ## Privacy\n    ///\n    /// No information is revelead on-chain about sender, recipient, or the message contents. The message itself\n    /// reveals no information about the sender or recipient, and requires knowledge of the recipient's private address\n    /// keys in order to obtain the plaintext.\n    pub OFFCHAIN: u8,\n\n    /// Delivers the message on-chain, but with no guarantees on the content.\n    ///\n    /// ## Use Cases\n    ///\n    /// This delivery method is suitable when the sender is required to send the message to the recipient because of\n    /// some external reason, but might not have a way to contact them off-chain, or does not wish to bear the\n    /// responsability of keeping backups. In these cases, it might be unnecessary to force the sender to spend proving\n    /// time guaranteeing message correctness.\n    ///\n    /// For example, when depositing funds into an escrow or sale contract the sender may not have an off-chain channel\n    /// through which they could send the recipient a message. But since the recipient will not acknowledge receipt and\n    /// proceed with the exchange unless they obtain the message, the sender has no reason not to deliver the message\n    /// correctly.\n    ///\n    /// ## Guarantees\n    ///\n    /// The message will be stored on-chain in a private log, as part of the transaction's effects, and will be\n    /// retrievable in the future without requiring any backups. However, the sender is free to alter the message\n    /// contents (possibly resulting in an undecryptable message, or one with incorrect content), including making it\n    /// so that the recipient cannot find it.\n    ///\n    /// An undecryptable or otherwise invalid note or event message will however simply be ignored by the recipient,\n    /// who can always validate the existence of the note or event on-chain.\n    ///\n    /// These guarantees make this delivery mechanism be quite similar to [`MessageDeliveryEnum::OFFCHAIN`], except the\n    /// sender does not need to establish an off-chain communication channel with the recipient, and neither party\n    /// needs to worry about backups.\n    ///\n    /// ## Costs\n    ///\n    /// Because the encrypted message is emitted on-chain as transaction private logs, this delivery option results in\n    /// transaction fees associated with DA gas. The length of the original message is irrelevant to this cost, since\n    /// all private logs are padded to the same length with random data to enhance privacy.\n    ///\n    /// However, no circuit gates are introduced when the message is encrypted. Therefore, on-chain unconstrained\n    /// messages do not affect proving time at all.\n    ///\n    /// ## Privacy\n    ///\n    /// No information is revealed on-chain about sender, recipient, or the message contents. The message itself\n    /// reveals no information about the sender or recipient, and requires knowledge of the recipient's private address\n    /// keys in order to obtain the plaintext.\n    ///\n    /// Delivering the message does produce on-chain information in the form of private logs, so transactions that\n    /// deliver many messages this way might be identifiable by the large number of logs.\n    ///\n    /// Identifying that a log corresponds to a message between a given sender and recipient requires, among other\n    /// things, knowledge of both of their addresses **and** either the sender's or recipient's private address key.\n    pub ONCHAIN_UNCONSTRAINED: u8,\n\n    /// Delivers the message on-chain, guaranteeing the recipient will receive the correct content.\n    ///\n    /// >**WARNING**: this delivery mode is [currently NOT fully\n    /// constrained](https://github.com/AztecProtocol/aztec-packages/issues/14565). The log's tag is unconstrained,\n    /// meaning a malicious sender could manipulate it to prevent the recipient from  finding the message.\n    ///\n    /// ## Use Cases\n    ///\n    /// This delivery method is suitable for all use cases, since it always works as expected. It is however the most\n    /// costly method, and there are multiple scenarios where alternatives such as [`MessageDeliveryEnum::OFFCHAIN`] or\n    /// [`MessageDeliveryEnum::ONCHAIN_UNCONSTRAINED`] will suffice.\n    ///\n    /// If the sender cannot be relied on to correctly send the message to the recipient (e.g. because they have no\n    /// incentive to do so, such as when paying a fee to a protocol, creating the change note after spending a third\n    /// party's tokens, or updating the configuration of a shared system like a multisig) then this is the only\n    /// suitable delivery option.\n    ///\n    /// ## Guarantees\n    ///\n    /// The message will be stored on-chain in a private log, as part of the transaction's effects, and will be\n    /// retrievable in the future without requiring any backups. The ciphertext will be decryptable by the recipient\n    /// using their address private key and the ephemeral public key that accompanies the message.\n    ///\n    /// The log will be tagged in such a way that the recipient will be able to efficiently find it after querying for\n    /// handshakes.\n    ///\n    /// ## Costs\n    ///\n    /// Because the encrypted message is emitted on-chain as transaction private logs, this delivery option results in\n    /// transaction fees associated with DA gas. The length of the original message is irrelevant to this cost, since\n    /// all private logs are padded to the same length with random data to enhance privacy.\n    ///\n    /// Additionally, the constraining of the log's tag results in additional DA usage and hence transaction fees due\n    /// to the emission of nullifiers.\n    ///\n    /// Proving time is also increased as circuit gates are introduced to guarantee both the correct encryption of the\n    /// message, and selection of log tag.\n    ///\n    /// ## Privacy\n    ///\n    /// No information is revelead on-chain about sender, recipient, or the message contents. The message itself\n    /// reveals no information about the sender or recipient, and requires knowledge of the recipient's private address\n    /// keys in order to obtain the plaintext.\n    ///\n    /// Delivering the message does produce on-chain information in the form of private logs and nullifiers, so\n    /// transactions that deliver many messages this way might be identifiable by these markers.\n    ///\n    /// Identifying that a log corresponds to a message between a given sender and recipient requires, among other\n    /// things, knowledge of both of their addresses **and** either the sender's or recipient's private address key.\n    pub ONCHAIN_CONSTRAINED: u8,\n}\n\n/// Specifies how to deliver a message to a recipient.\n///\n/// All messages are delivered encrypted to their recipient's public address key, so no other account will be able to\n/// read their contents. This enum instead configures which **guarantees** exist regarding delivery.\n///\n/// There are two aspects to delivery guarantees:\n/// - the medium on which the message is sent (off-chain or on-chain)\n/// - whether the contract constrains the message to be constructed correctly\n///\n/// For scenarios where the sender is incentivized to deliver the message correctly, use\n/// [`MessageDeliveryEnum::OFFCHAIN`] (the cheapest delivery option, but requiring that sender and recipient can\n/// communicate off-chain) or [`MessageDeliveryEnum::ONCHAIN_UNCONSTRAINED`]. If the sender cannot be trusted to send\n/// the\n/// message to the recipient, use [`MessageDeliveryEnum::ONCHAIN_CONSTRAINED`].\npub global MessageDelivery: MessageDeliveryEnum =\n    MessageDeliveryEnum { OFFCHAIN: 1, ONCHAIN_UNCONSTRAINED: 2, ONCHAIN_CONSTRAINED: 3 };\n\n/// Performs private delivery of a message to `recipient` according to `delivery_mode`.\n///\n/// The message is encoded into plaintext and then encrypted for `recipient`. This function takes a _function_ that\n/// returns the plaintext instead of taking the plaintext directly in order to not waste constraints encoding the\n/// message in scenarios where the plaintext will be encrypted with unconstrained encryption.\n///\n/// `maybe_note_hash_counter` is only relevant for on-chain delivery modes (i.e. via protocol logs): if a newly created\n/// note hash's side effect counter is passed, then the log will be squashed alongside the note should its nullifier be\n/// emitted in the current transaction. This is typically only used for note messages: since the note will not actually\n/// be created, there is no point in delivering the message.\n///\n/// `delivery_mode` must be one of [`MessageDeliveryEnum`].\npub fn do_private_message_delivery<Env, let MESSAGE_PLAINTEXT_LEN: u32>(\n    context: &mut PrivateContext,\n    encode_into_message_plaintext: fn[Env]() -> [Field; MESSAGE_PLAINTEXT_LEN],\n    maybe_note_hash_counter: Option<u32>,\n    recipient: AztecAddress,\n    delivery_mode: u8,\n) {\n    // This function relies on `delivery_mode` being a constant in order to reduce circuit constraints when\n    // unconstrained usage is requested. If `delivery_mode` were a runtime value the compiler would be unable to\n    // perform dead-code elimination.\n    assert_constant(delivery_mode);\n\n    // The following maps out the 3 dimensions across which we configure message delivery.\n    let constrained_encryption = delivery_mode == MessageDelivery.ONCHAIN_CONSTRAINED;\n    let deliver_as_offchain_message = delivery_mode == MessageDelivery.OFFCHAIN;\n    // TODO(#14565): Add constrained tagging\n    let _constrained_tagging = delivery_mode == MessageDelivery.ONCHAIN_CONSTRAINED;\n\n    let contract_address = context.this_address();\n    let ciphertext = remove_constraints_if(\n        !constrained_encryption,\n        || AES128::encrypt(encode_into_message_plaintext(), recipient, contract_address),\n    );\n\n    if deliver_as_offchain_message {\n        deliver_offchain_message(ciphertext, recipient);\n    } else {\n        // TODO(#14565): constrained tagging is not yet implemented. Both modes currently use the unconstrained\n        // domain separator because the discovery tag always comes from an oracle. Once constrained tagging lands,\n        // this should branch on `constrained_tagging` to select the appropriate separator.\n        let discovery_tag = compute_discovery_tag(recipient);\n        let log_tag = compute_log_tag(discovery_tag, DOM_SEP__UNCONSTRAINED_MSG_LOG_TAG);\n\n        // We forbid this value not being constant to avoid predicating the context calls below, which might result in\n        // the context's arrays having unknown compile time write indices and hence dramatically increasing constraints\n        // when accessing them. In practice this restriction is not a problem as we always know at compile time whether\n        // we're emitting a note or non-note message.\n        assert_constant(maybe_note_hash_counter.is_some());\n\n        if maybe_note_hash_counter.is_some() {\n            // We associate the log with the note's side effect counter, so that if the note ends up being squashed in\n            // the current transaction, the log will be removed as well.\n            //\n            // Note that the log always has the same length regardless of `MESSAGE_PLAINTEXT_LEN`, because all message\n            // ciphertexts also have the same length. This prevents accidental privacy leakage via the log length.\n            context.emit_raw_note_log_unsafe(log_tag, ciphertext, ciphertext.len(), maybe_note_hash_counter.unwrap());\n        } else {\n            context.emit_private_log_unsafe(log_tag, ciphertext, ciphertext.len());\n        }\n    }\n}\n"
    },
    "168": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr",
      "source": "pub(crate) mod event_validation_request;\npub mod offchain;\n\nmod message_context;\npub use message_context::MessageContext;\n\npub(crate) mod note_validation_request;\npub(crate) mod log_retrieval_request;\npub(crate) mod log_retrieval_response;\npub(crate) mod pending_tagged_log;\n\nuse crate::{\n    capsules::CapsuleArray,\n    event::EventSelector,\n    messages::{\n        discovery::partial_notes::DeliveredPendingPartialNote,\n        encoding::MESSAGE_CIPHERTEXT_LEN,\n        logs::{event::MAX_EVENT_SERIALIZED_LEN, note::MAX_NOTE_PACKED_LEN},\n        processing::{\n            log_retrieval_request::LogRetrievalRequest, log_retrieval_response::LogRetrievalResponse,\n            note_validation_request::NoteValidationRequest, pending_tagged_log::PendingTaggedLog,\n        },\n    },\n    oracle,\n};\nuse crate::protocol::{\n    address::AztecAddress,\n    constants::DOM_SEP__NOTE_COMPLETION_LOG_TAG,\n    hash::{compute_log_tag, sha256_to_field},\n    traits::{Deserialize, Serialize},\n};\nuse event_validation_request::EventValidationRequest;\n\n// Base slot for the pending tagged log array to which the fetch_tagged_logs oracle inserts found private logs.\npub(crate) global PENDING_TAGGED_LOG_ARRAY_BASE_SLOT: Field =\n    sha256_to_field(\"AZTEC_NR::PENDING_TAGGED_LOG_ARRAY_BASE_SLOT\".as_bytes());\n\nglobal NOTE_VALIDATION_REQUESTS_ARRAY_BASE_SLOT: Field = sha256_to_field(\n    \"AZTEC_NR::NOTE_VALIDATION_REQUESTS_ARRAY_BASE_SLOT\".as_bytes(),\n);\n\nglobal EVENT_VALIDATION_REQUESTS_ARRAY_BASE_SLOT: Field = sha256_to_field(\n    \"AZTEC_NR::EVENT_VALIDATION_REQUESTS_ARRAY_BASE_SLOT\".as_bytes(),\n);\n\nglobal LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT: Field = sha256_to_field(\n    \"AZTEC_NR::LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT\".as_bytes(),\n);\n\nglobal LOG_RETRIEVAL_RESPONSES_ARRAY_BASE_SLOT: Field = sha256_to_field(\n    \"AZTEC_NR::LOG_RETRIEVAL_RESPONSES_ARRAY_BASE_SLOT\".as_bytes(),\n);\n\n/// An offchain-delivered message with resolved context, ready for processing during sync.\n#[derive(Serialize, Deserialize)]\npub struct OffchainMessageWithContext {\n    pub message_ciphertext: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN>,\n    pub message_context: MessageContext,\n}\n\n/// Searches for private logs emitted by `contract_address` that might contain messages for the given `scope`.\npub(crate) unconstrained fn get_private_logs(\n    contract_address: AztecAddress,\n    scope: AztecAddress,\n) -> CapsuleArray<PendingTaggedLog> {\n    // We will eventually perform log discovery via tagging here, but for now we simply call the `fetchTaggedLogs`\n    // oracle. This makes PXE synchronize tags, download logs and store the pending tagged logs in a capsule array.\n    oracle::message_processing::fetch_tagged_logs(PENDING_TAGGED_LOG_ARRAY_BASE_SLOT, scope);\n\n    CapsuleArray::at(contract_address, PENDING_TAGGED_LOG_ARRAY_BASE_SLOT, scope)\n}\n\n/// Enqueues a note for validation and storage by PXE.\n///\n/// Once validated, the note becomes retrievable via the `get_notes` oracle. The note will be scoped to\n/// `contract_address`, meaning other contracts will not be able to access it unless authorized.\n///\n/// In order for the note validation and insertion to occur, `validate_and_store_enqueued_notes_and_events` must be\n/// later called. For optimal performance, accumulate as many note validation requests as possible and then validate\n/// them all at the end (which results in PXE minimizing the number of network round-trips).\n///\n/// The `packed_note` is what `getNotes` will later return. PXE indexes notes by `storage_slot`, so this value is\n/// typically used to filter notes that correspond to different state variables. `note_hash` and `nullifier` are the\n/// inner hashes, i.e. the raw hashes returned by `NoteHash::compute_note_hash` and `NoteHash::compute_nullifier`. PXE\n/// will verify that the siloed unique note hash was inserted into the tree at `tx_hash`, and will store the nullifier\n/// to later check for nullification.\n///\n/// `owner` is the address used in note hash and nullifier computation, often requiring knowledge of their nullifier\n/// secret key.\n///\n/// `scope` is the account to which the note message was delivered (i.e. the address the message was encrypted to).\n/// This determines which PXE account can see the note - other accounts will not be able to access it (e.g. other\n/// accounts will not be able to see one another's token balance notes, even in the same PXE) unless authorized. In\n/// most cases `recipient` equals `owner`, but they can differ in scenarios like delegated discovery.\npub unconstrained fn enqueue_note_for_validation(\n    contract_address: AztecAddress,\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n    note_nonce: Field,\n    packed_note: BoundedVec<Field, MAX_NOTE_PACKED_LEN>,\n    note_hash: Field,\n    nullifier: Field,\n    tx_hash: Field,\n    scope: AztecAddress,\n) {\n    // We store requests in a `CapsuleArray`, which PXE will later read from and deserialize into its version of the\n    // Noir `NoteValidationRequest`\n    CapsuleArray::at(\n        contract_address,\n        NOTE_VALIDATION_REQUESTS_ARRAY_BASE_SLOT,\n        scope,\n    )\n        .push(\n            NoteValidationRequest {\n                contract_address,\n                owner,\n                storage_slot,\n                randomness,\n                note_nonce,\n                packed_note,\n                note_hash,\n                nullifier,\n                tx_hash,\n            },\n        )\n}\n\n/// Enqueues an event for validation and storage by PXE.\n///\n/// This is the primary way for custom message handlers (registered via\n/// [`crate::macros::AztecConfig::custom_message_handler`]) to deliver reassembled events back to PXE after processing\n/// application-specific message formats.\n///\n/// In order for the event validation and insertion to occur, `validate_and_store_enqueued_notes_and_events` must be\n/// later called. For optimal performance, accumulate as many event validation requests as possible and then validate\n/// them all at the end (which results in PXE minimizing the number of network round-trips).\n///\n/// Note that `validate_and_store_enqueued_notes_and_events` is called by Aztec.nr after processing messages, so custom\n/// message processors do not need to be concerned with this.\npub unconstrained fn enqueue_event_for_validation(\n    contract_address: AztecAddress,\n    event_type_id: EventSelector,\n    randomness: Field,\n    serialized_event: BoundedVec<Field, MAX_EVENT_SERIALIZED_LEN>,\n    event_commitment: Field,\n    tx_hash: Field,\n    scope: AztecAddress,\n) {\n    // We store requests in a `CapsuleArray`, which PXE will later read from and deserialize into its version of the\n    // Noir `EventValidationRequest`\n    CapsuleArray::at(\n        contract_address,\n        EVENT_VALIDATION_REQUESTS_ARRAY_BASE_SLOT,\n        scope,\n    )\n        .push(\n            EventValidationRequest {\n                contract_address,\n                event_type_id,\n                randomness,\n                serialized_event,\n                event_commitment,\n                tx_hash,\n            },\n        )\n}\n\n/// Validates and stores all enqueued notes and events.\n///\n/// Processes all requests enqueued via [`enqueue_note_for_validation`] and [`enqueue_event_for_validation`], inserting\n/// them into the note database and event store respectively, making them queryable via `get_notes` oracle and our TS\n/// API (PXE::getPrivateEvents).\n///\n/// This automatically clears both validation request queues, so no further work needs to be done by the caller.\npub unconstrained fn validate_and_store_enqueued_notes_and_events(contract_address: AztecAddress, scope: AztecAddress) {\n    oracle::message_processing::validate_and_store_enqueued_notes_and_events(\n        contract_address,\n        NOTE_VALIDATION_REQUESTS_ARRAY_BASE_SLOT,\n        EVENT_VALIDATION_REQUESTS_ARRAY_BASE_SLOT,\n        MAX_NOTE_PACKED_LEN as Field,\n        MAX_EVENT_SERIALIZED_LEN as Field,\n        scope,\n    );\n}\n\n/// Resolves message contexts for a list of tx hashes stored in a CapsuleArray.\n///\n/// The `message_context_requests_array_base_slot` must point to a CapsuleArray<Field> containing tx hashes.\n/// PXE will store `Option<MessageContextResponse>` values into the responses array at\n/// `message_context_responses_array_base_slot`.\npub unconstrained fn get_message_contexts_by_tx_hash(\n    contract_address: AztecAddress,\n    message_context_requests_array_base_slot: Field,\n    message_context_responses_array_base_slot: Field,\n    scope: AztecAddress,\n) {\n    oracle::message_processing::get_message_contexts_by_tx_hash(\n        contract_address,\n        message_context_requests_array_base_slot,\n        message_context_responses_array_base_slot,\n        scope,\n    );\n}\n\n/// Efficiently queries the node for logs that result in the completion of all `DeliveredPendingPartialNote`s stored in\n/// a `CapsuleArray` by performing all node communication concurrently. Returns a second `CapsuleArray` with Options\n/// for the responses that correspond to the pending partial notes at the same index.\n///\n/// For example, given an array with pending partial notes `[ p1, p2, p3 ]`, where `p1` and `p3` have corresponding\n/// completion logs but `p2` does not, the returned `CapsuleArray` will have contents `[some(p1_log), none(),\n/// some(p3_log)]`.\npub(crate) unconstrained fn get_pending_partial_notes_completion_logs(\n    contract_address: AztecAddress,\n    pending_partial_notes: CapsuleArray<DeliveredPendingPartialNote>,\n    scope: AztecAddress,\n) -> CapsuleArray<Option<LogRetrievalResponse>> {\n    let log_retrieval_requests = CapsuleArray::at(\n        contract_address,\n        LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT,\n        scope,\n    );\n\n    // We create a LogRetrievalRequest for each PendingPartialNote in the CapsuleArray. Because we need the indices in\n    // the request array to match the indices in the partial note array, we can't use CapsuleArray::for_each, as that\n    // function has arbitrary iteration order. Instead, we manually iterate the array from the beginning and push into\n    // the requests array, which we expect to be empty.\n    let mut i = 0;\n    let pending_partial_notes_count = pending_partial_notes.len();\n    while i < pending_partial_notes_count {\n        let pending_partial_note = pending_partial_notes.get(i);\n        // Partial note completion logs are emitted with a domain-separated tag. To find matching logs, we apply the\n        // same domain separation to the stored raw tag.\n        let log_tag = compute_log_tag(\n            pending_partial_note.note_completion_log_tag,\n            DOM_SEP__NOTE_COMPLETION_LOG_TAG,\n        );\n        log_retrieval_requests.push(LogRetrievalRequest { contract_address, unsiloed_tag: log_tag });\n        i += 1;\n    }\n\n    oracle::message_processing::get_logs_by_tag(\n        contract_address,\n        LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT,\n        LOG_RETRIEVAL_RESPONSES_ARRAY_BASE_SLOT,\n        scope,\n    );\n\n    CapsuleArray::at(\n        contract_address,\n        LOG_RETRIEVAL_RESPONSES_ARRAY_BASE_SLOT,\n        scope,\n    )\n}\n"
    },
    "170": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr",
      "source": "use crate::{\n    capsules::CapsuleArray,\n    context::UtilityContext,\n    messages::{\n        encoding::MESSAGE_CIPHERTEXT_LEN,\n        processing::{get_message_contexts_by_tx_hash, MessageContext, OffchainMessageWithContext},\n    },\n    oracle::contract_sync::set_contract_sync_cache_invalid,\n    protocol::{\n        address::AztecAddress,\n        constants::MAX_TX_LIFETIME,\n        hash::sha256_to_field,\n        traits::{Deserialize, Serialize},\n    },\n};\n\n/// Base capsule slot for the persistent inbox of [`PendingOffchainMsg`] entries.\n///\n/// This is the slot where we accumulate messages received through [`receive`].\nglobal OFFCHAIN_INBOX_SLOT: Field = sha256_to_field(\"AZTEC_NR::OFFCHAIN_INBOX_SLOT\".as_bytes());\n\n/// Capsule array slot used by [`sync_inbox`] to pass tx hash resolution requests to PXE.\nglobal OFFCHAIN_CONTEXT_REQUESTS_SLOT: Field = sha256_to_field(\"AZTEC_NR::OFFCHAIN_CONTEXT_REQUESTS_SLOT\".as_bytes());\n\n/// Capsule array slot used by [`sync_inbox`] to read tx context responses from PXE.\nglobal OFFCHAIN_CONTEXT_RESPONSES_SLOT: Field = sha256_to_field(\"AZTEC_NR::OFFCHAIN_CONTEXT_RESPONSES_SLOT\".as_bytes());\n\n/// Capsule array slot used by [`sync_inbox`] to collect messages ready for processing.\nglobal OFFCHAIN_READY_MESSAGES_SLOT: Field = sha256_to_field(\"AZTEC_NR::OFFCHAIN_READY_MESSAGES_SLOT\".as_bytes());\n\n/// Maximum number of offchain messages accepted by `offchain_receive` in a single call.\npub global MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL: u32 = 16;\n\n/// Tolerance added to the `MAX_TX_LIFETIME` cap for message expiration.\nglobal TX_EXPIRATION_TOLERANCE: u64 = 7200; // 2 hours\n\n/// Maximum time-to-live for a tx-bound offchain message.\n///\n/// After `anchor_block_timestamp + MAX_MSG_TTL`, the message is evicted from the inbox.\nglobal MAX_MSG_TTL: u64 = MAX_TX_LIFETIME + TX_EXPIRATION_TOLERANCE;\n\n/// A function that manages offchain-delivered messages for processing during sync.\n///\n/// Offchain messages are messages that are not broadcasted via onchain logs. They are instead delivered to the\n/// recipient by calling the `offchain_receive` utility function (injected by the `#[aztec]` macro). Message transport\n/// is the app's responsibility. Typical examples of transport methods are: messaging apps, email, QR codes, etc.\n///\n/// Once offchain messages are delivered to the recipient's private environment via `offchain_receive`, messages are\n/// locally stored in a persistent inbox.\n///\n/// This function determines when each message in said inbox is ready for processing, when it can be safely disposed\n/// of, etc.\n///\n/// The only current implementation of an `OffchainInboxSync` is [`sync_inbox`], which manages an inbox with expiration\n/// based eviction and automatic transaction context resolution.\npub(crate) type OffchainInboxSync<Env> = unconstrained fn[Env](\n/* contract_address */AztecAddress, /* scope */ AztecAddress) -> CapsuleArray<OffchainMessageWithContext>;\n\n/// A message delivered via the `offchain_receive` utility function.\npub struct OffchainMessage {\n    /// The encrypted message payload.\n    pub ciphertext: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN>,\n    /// The intended recipient of the message.\n    pub recipient: AztecAddress,\n    /// The hash of the transaction that produced this message. `Option::none` indicates a tx-less message.\n    pub tx_hash: Option<Field>,\n    /// Anchor block timestamp at message emission.\n    pub anchor_block_timestamp: u64,\n}\n\n/// An offchain message awaiting processing (or re-processing) in the inbox.\n///\n/// Messages remain in the inbox until they expire, even if they have already been processed. This is necessary to\n/// handle reorgs: a processed message may need to be re-processed if the transaction that provided its context is\n/// reverted. On each sync, resolved messages are promoted to [`OffchainMessageWithContext`] for processing.\n#[derive(Serialize, Deserialize)]\nstruct PendingOffchainMsg {\n    /// The encrypted message payload.\n    ciphertext: BoundedVec<Field, MESSAGE_CIPHERTEXT_LEN>,\n    /// The intended recipient of the message.\n    recipient: AztecAddress,\n    /// The hash of the transaction that produced this message. A value of 0 indicates a tx-less message.\n    tx_hash: Field,\n    /// Anchor block timestamp at message emission. Used to compute the effective expiration: messages are evicted\n    /// after `anchor_block_timestamp + MAX_MSG_TTL`.\n    anchor_block_timestamp: u64,\n}\n\n/// Delivers offchain messages to the given contract's offchain inbox for subsequent processing.\n///\n/// Offchain messages are transaction effects that are not broadcasted via onchain logs. Instead, the sender shares the\n/// message to the recipient through an external channel (e.g. a URL accessible by the recipient). The recipient then\n/// calls this function to hand the messages to the contract so they can be processed through the same mechanisms as\n/// onchain messages.\n///\n/// Each message is routed to the inbox scoped to its `recipient` field, so messages for different accounts are\n/// automatically isolated.\n///\n/// Messages are processed when their originating transaction is found onchain (providing the context needed to\n/// validate resulting notes and events).\n///\n/// Messages are kept in the inbox until they expire. The effective expiration is\n/// `anchor_block_timestamp + MAX_MSG_TTL`.\n///\n/// Processing order is not guaranteed.\npub unconstrained fn receive(\n    contract_address: AztecAddress,\n    messages: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL>,\n) {\n    // May contain duplicates if multiple messages target the same recipient. This is harmless since\n    // cache invalidation on the TS side is idempotent (deleting an already-deleted key is a no-op).\n    let mut scopes: BoundedVec<AztecAddress, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n    let mut i = 0;\n    let messages_len = messages.len();\n    while i < messages_len {\n        let msg = messages.get(i);\n        let tx_hash = if msg.tx_hash.is_some() {\n            msg.tx_hash.unwrap()\n        } else {\n            0\n        };\n        let inbox: CapsuleArray<PendingOffchainMsg> =\n            CapsuleArray::at(contract_address, OFFCHAIN_INBOX_SLOT, msg.recipient);\n        inbox.push(\n            PendingOffchainMsg {\n                ciphertext: msg.ciphertext,\n                recipient: msg.recipient,\n                tx_hash,\n                anchor_block_timestamp: msg.anchor_block_timestamp,\n            },\n        );\n        scopes.push(msg.recipient);\n        i += 1;\n    }\n\n    set_contract_sync_cache_invalid(contract_address, scopes);\n}\n\n/// Returns offchain-delivered messages to process during sync.\n///\n/// Messages remain in the inbox and are reprocessed on each sync until their originating transaction is no longer at\n/// risk of being dropped by a reorg.\npub unconstrained fn sync_inbox(\n    contract_address: AztecAddress,\n    scope: AztecAddress,\n) -> CapsuleArray<OffchainMessageWithContext> {\n    let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(contract_address, OFFCHAIN_INBOX_SLOT, scope);\n    let context_resolution_requests: CapsuleArray<Field> =\n        CapsuleArray::at(contract_address, OFFCHAIN_CONTEXT_REQUESTS_SLOT, scope);\n    let resolved_contexts: CapsuleArray<Option<MessageContext>> =\n        CapsuleArray::at(contract_address, OFFCHAIN_CONTEXT_RESPONSES_SLOT, scope);\n    let ready_to_process: CapsuleArray<OffchainMessageWithContext> =\n        CapsuleArray::at(contract_address, OFFCHAIN_READY_MESSAGES_SLOT, scope);\n\n    // Clear any stale ready messages from a previous run.\n    ready_to_process.for_each(|i, _| { ready_to_process.remove(i); });\n\n    // Clear any stale context resolution requests/responses from a previous run.\n    context_resolution_requests.for_each(|i, _| { context_resolution_requests.remove(i); });\n    resolved_contexts.for_each(|i, _| { resolved_contexts.remove(i); });\n\n    // Build a request list aligned with the inbox indices.\n    let mut i = 0;\n    let inbox_len = inbox.len();\n    while i < inbox_len {\n        let msg = inbox.get(i);\n        context_resolution_requests.push(msg.tx_hash);\n        i += 1;\n    }\n\n    // Ask PXE to resolve contexts for all requested tx hashes.\n    get_message_contexts_by_tx_hash(\n        contract_address,\n        OFFCHAIN_CONTEXT_REQUESTS_SLOT,\n        OFFCHAIN_CONTEXT_RESPONSES_SLOT,\n        scope,\n    );\n\n    assert_eq(resolved_contexts.len(), inbox_len);\n\n    let now = UtilityContext::new().timestamp();\n\n    let mut j = inbox_len;\n    while j > 0 {\n        // This loop decides what to do with each message in the offchain message inbox. We need to handle 3\n        // different scenarios for each message.\n        //\n        // 1. The TX that emitted this message is still not known to PXE: in this case we can't yet process this\n        // message, as any notes or events discovered will fail to be validated. So we leave the message in the inbox,\n        // awaiting for future syncs to detect that the TX became available.\n        //\n        // 2. The message is not associated to a TX to begin with. The current version of offchain message processing\n        // does not support this case, but in the future it will. Right now, a message without an associated TX will\n        // sit in the inbox until it expires.\n        //\n        // 3. The TX that emitted this message has been found by PXE. That gives us all the information needed to\n        // process the message. We add the message to the `ready_to_process` CapsuleArray so that the `sync_state` loop\n        // processes it.\n        //\n        // In all cases, if the message has expired (i.e. `now > anchor_block_timestamp + MAX_MSG_TTL`), we remove it\n        // from the inbox.\n        //\n        // Note: the loop runs backwards because it might call `inbox.remove(j)` to purge expired messages and we also\n        // need to align it with `resolved_contexts.get(j)`. Going from last to first simplifies the algorithm as\n        // not yet visited element indexes remain stable.\n        j -= 1;\n        let maybe_ctx = resolved_contexts.get(j);\n        let msg = inbox.get(j);\n\n        // Compute the message's effective expiration timestamp to determine if we can purge it from the inbox.\n        let effective_expiration = msg.anchor_block_timestamp + MAX_MSG_TTL;\n\n        // Message expired. We remove it from the inbox.\n        if now > effective_expiration {\n            inbox.remove(j);\n        }\n\n        // Scenario 1: associated TX not yet available. We keep the message in the inbox, as it might become\n        // processable as new blocks get mined.\n        // Scenario 2: no TX associated to message. The message will sit in the inbox until it expires.\n        if maybe_ctx.is_none() {\n            continue;\n        }\n\n        // Scenario 3: Message is ready to process, add to result array. Note we still keep it in the inbox unless we\n        // consider it has expired: this is because we need to account for reorgs. If reorg occurs after we processed\n        // a message, the effects of processing the message get rewind. However, the associated TX can be included in\n        // a subsequent block. Should that happen, the message must be re-processed to ensure consistency.\n        let message_context = maybe_ctx.unwrap();\n        ready_to_process.push(OffchainMessageWithContext { message_ciphertext: msg.ciphertext, message_context });\n    }\n\n    ready_to_process\n}\n\nmod test {\n    use crate::{\n        capsules::CapsuleArray, oracle::random::random, protocol::address::AztecAddress,\n        test::helpers::test_environment::TestEnvironment,\n    };\n    use super::{\n        MAX_MSG_TTL, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL, OFFCHAIN_INBOX_SLOT, OffchainMessage, PendingOffchainMsg,\n        receive, sync_inbox,\n    };\n\n    global SCOPE: AztecAddress = AztecAddress { inner: 0xcafe };\n\n    /// Creates an `OffchainMessage` with dummy ciphertext and `SCOPE` as recipient.\n    fn make_msg(tx_hash: Option<Field>, anchor_block_timestamp: u64) -> OffchainMessage {\n        OffchainMessage { ciphertext: BoundedVec::new(), recipient: SCOPE, tx_hash, anchor_block_timestamp }\n    }\n\n    /// Advances the TXE block timestamp by `offset` seconds and returns the resulting timestamp.\n    unconstrained fn advance_by(env: TestEnvironment, offset: u64) -> u64 {\n        env.advance_next_block_timestamp_by(offset);\n        env.mine_block();\n        env.last_block_timestamp()\n    }\n\n    #[test]\n    unconstrained fn empty_inbox_returns_empty_result() {\n        let env = TestEnvironment::new();\n        env.utility_context(|context| {\n            let result = sync_inbox(context.this_address(), SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> =\n                CapsuleArray::at(context.this_address(), OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0);\n            assert_eq(inbox.len(), 0);\n        });\n    }\n\n    #[test]\n    unconstrained fn tx_bound_msg_expires_after_max_msg_ttl() {\n        let env = TestEnvironment::new();\n        let anchor_ts = advance_by(env, 10);\n\n        env.utility_context(|context| {\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            msgs.push(make_msg(Option::some(random()), anchor_ts));\n            receive(context.this_address(), msgs);\n        });\n\n        // Advance past anchor_ts + MAX_MSG_TTL.\n        let _now = advance_by(env, MAX_MSG_TTL + 1);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0); // context is None, not ready\n            assert_eq(inbox.len(), 0); // expired, removed\n        });\n    }\n\n    #[test]\n    unconstrained fn tx_bound_msg_not_expired_before_max_msg_ttl() {\n        let env = TestEnvironment::new();\n        let anchor_ts = advance_by(env, 10);\n\n        env.utility_context(|context| {\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            msgs.push(make_msg(Option::some(random()), anchor_ts));\n            receive(context.this_address(), msgs);\n        });\n\n        // Advance, but not past anchor_ts + MAX_MSG_TTL.\n        let _now = advance_by(env, 100);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0); // context is None, not ready\n            assert_eq(inbox.len(), 1); // not expired, stays\n        });\n    }\n\n    #[test]\n    unconstrained fn tx_less_msg_expires_after_max_msg_ttl() {\n        let env = TestEnvironment::new();\n        let anchor_ts = advance_by(env, 10);\n\n        env.utility_context(|context| {\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            msgs.push(make_msg(Option::none(), anchor_ts));\n            receive(context.this_address(), msgs);\n        });\n\n        // Advance past anchor_ts + MAX_MSG_TTL.\n        let _now = advance_by(env, MAX_MSG_TTL + 1);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0); // context is None, not ready\n            assert_eq(inbox.len(), 0); // expired, removed\n        });\n    }\n\n    #[test]\n    unconstrained fn unresolved_tx_stays_in_inbox() {\n        let env = TestEnvironment::new();\n        let anchor_ts = advance_by(env, 10);\n\n        env.utility_context(|context| {\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            msgs.push(make_msg(Option::some(random()), anchor_ts));\n            receive(context.this_address(), msgs);\n        });\n\n        let _now = advance_by(env, 100);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0); // not resolved, not ready\n            assert_eq(inbox.len(), 1); // not expired, stays\n        });\n    }\n\n    #[test]\n    unconstrained fn multiple_messages_mixed_expiration() {\n        let env = TestEnvironment::new();\n        let anchor_ts = advance_by(env, 10);\n\n        let survivor_tx_hash = random();\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            // Message 0: tx-bound, anchor_ts in the past so it expires at\n            // anchor_ts + MAX_MSG_TTL. We set anchor to 0 so it expires quickly.\n            msgs.push(make_msg(Option::some(random()), 0));\n            // Message 1: tx-bound, anchor_ts is recent so it survives.\n            msgs.push(make_msg(Option::some(survivor_tx_hash), anchor_ts));\n            // Message 2: tx-less, anchor_ts=0 so it also expires.\n            msgs.push(make_msg(Option::none(), 0));\n            receive(address, msgs);\n        });\n\n        // Advance past MAX_MSG_TTL for anchor_ts=0, but not for anchor_ts=anchor_ts.\n        let _now = advance_by(env, MAX_MSG_TTL);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            assert_eq(result.len(), 0); // all contexts are None\n            // Message 0 expired (anchor=0), message 1 survived (anchor=anchor_ts),\n            // Message 2 expired (anchor=0).\n            assert_eq(inbox.len(), 1);\n            assert_eq(inbox.get(0).tx_hash, survivor_tx_hash);\n        });\n    }\n\n    // -- Resolved context (ready to process) ------------------------------\n\n    #[test]\n    unconstrained fn resolved_msg_is_ready_to_process() {\n        let env = TestEnvironment::new();\n        // TestEnvironment::new() deploys protocol contracts, creating blocks with tx effects.\n        // In TXE, tx hashes equal Fr(blockNumber), so Fr(1) is the tx effect from block 1.\n        // We use this as a \"known resolvable\" tx hash.\n        let known_tx_hash: Field = 1;\n        let anchor_ts = advance_by(env, 10);\n\n        env.utility_context(|context| {\n            let mut msgs: BoundedVec<OffchainMessage, MAX_OFFCHAIN_MESSAGES_PER_RECEIVE_CALL> = BoundedVec::new();\n            msgs.push(make_msg(Option::some(known_tx_hash), anchor_ts));\n            receive(context.this_address(), msgs);\n        });\n\n        let _now = advance_by(env, 100);\n\n        env.utility_context(|context| {\n            let address = context.this_address();\n            let result = sync_inbox(address, SCOPE);\n            let inbox: CapsuleArray<PendingOffchainMsg> = CapsuleArray::at(address, OFFCHAIN_INBOX_SLOT, SCOPE);\n\n            // The message should be ready to process since its tx context was resolved.\n            assert_eq(result.len(), 1);\n\n            let ctx = result.get(0).message_context;\n            assert_eq(ctx.tx_hash, known_tx_hash);\n            assert(ctx.first_nullifier_in_tx != 0, \"resolved context must have a first nullifier\");\n\n            // Message stays in inbox (not expired) for potential reorg reprocessing.\n            assert_eq(inbox.len(), 1);\n        });\n    }\n}\n"
    },
    "176": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr",
      "source": "use crate::{\n    context::PrivateContext,\n    note::{\n        ConfirmedNote,\n        note_interface::{NoteHash, NoteType},\n        NoteMessage,\n        utils::compute_confirmed_note_hash_for_nullification,\n    },\n    oracle::{notes::notify_created_note, random::random},\n};\nuse crate::protocol::{address::AztecAddress, traits::Packable};\n\n/// A note that was created in the current contract call.\npub struct NewNote<Note> {\n    pub(crate) note: Note,\n    pub(crate) owner: AztecAddress,\n    pub(crate) storage_slot: Field,\n    pub(crate) randomness: Field,\n    /// The [`PrivateContext`] side-effect counter associated with the creation of this note.\n    pub(crate) note_hash_counter: u32,\n}\n\nimpl<Note> NewNote<Note> {\n    fn new(note: Note, owner: AztecAddress, storage_slot: Field, randomness: Field, note_hash_counter: u32) -> Self {\n        // A counter of value zero indicates a settled note, which a NewNote by definition cannot be.\n        assert(note_hash_counter != 0, \"A NewNote cannot have a zero note hash counter\");\n        Self { note, owner, storage_slot, randomness, note_hash_counter }\n    }\n}\n\npub fn create_note<Note>(\n    context: &mut PrivateContext,\n    owner: AztecAddress,\n    storage_slot: Field,\n    note: Note,\n) -> NoteMessage<Note>\nwhere\n    Note: NoteType + NoteHash + Packable,\n{\n    let note_hash_counter = context.side_effect_counter;\n\n    // Safety: We use the randomness to preserve the privacy of the note recipient by preventing brute-forcing, so a\n    // malicious sender could use non-random values to make the note less private. But they already know the full note\n    // pre-image anyway, and so the recipient already trusts them to not disclose this information. We can therefore\n    // assume that the sender will cooperate in the random value generation.\n    let randomness = unsafe { random() };\n\n    let note_hash = note.compute_note_hash(owner, storage_slot, randomness);\n\n    notify_created_note(\n        owner,\n        storage_slot,\n        randomness,\n        Note::get_id(),\n        note.pack(),\n        note_hash,\n        note_hash_counter,\n    );\n\n    context.push_note_hash(note_hash);\n\n    NoteMessage::new(\n        NewNote::new(note, owner, storage_slot, randomness, note_hash_counter),\n        context,\n    )\n}\n\npub fn destroy_note<Note>(context: &mut PrivateContext, confirmed_note: ConfirmedNote<Note>)\nwhere\n    Note: NoteHash,\n{\n    let note_hash_for_nullification = compute_confirmed_note_hash_for_nullification(confirmed_note);\n    let nullifier = confirmed_note.note.compute_nullifier(context, confirmed_note.owner, note_hash_for_nullification);\n\n    let note_hash = if confirmed_note.metadata.is_settled() {\n        // Counter is zero, so we're nullifying a settled note and we don't populate the note_hash with real value.\n        0\n    } else {\n        // A non-zero note hash counter implies that we're nullifying a pending note (i.e. one that has not yet been\n        // persisted in the trees and is instead in the pending new note hashes array). In such a case we populate its\n        // hash with real value to inform the kernel which note we're nullifying so that it can either squash both the\n        // note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's a\n        // siloed note hash.\n        note_hash_for_nullification\n    };\n\n    context.push_nullifier_for_note_hash(nullifier, note_hash)\n}\n"
    },
    "179": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/note/note_getter.nr",
      "source": "use crate::{\n    context::PrivateContext,\n    note::{\n        ConfirmedNote,\n        HintedNote,\n        note_getter_options::{NoteGetterOptions, NoteStatus, PropertySelector, Select, Sort, SortOrder},\n        note_interface::{NoteHash, NoteType},\n        note_viewer_options::NoteViewerOptions,\n        utils::compute_note_existence_request,\n    },\n    oracle,\n    utils::{array, comparison::compare},\n};\n\nuse crate::protocol::{\n    address::AztecAddress,\n    constants::MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n    traits::{Packable, ToField},\n};\n\npub use crate::note::constants::MAX_NOTES_PER_PAGE;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(packed_note: [Field; N], selector: PropertySelector) -> Field {\n    // Selectors use PropertySelectors in order to locate note properties inside the packed note. This allows easier\n    // packing and custom (un)packing schemas. A note property is located inside the packed note using the index inside\n    // the array, a byte offset and a length.\n    let value: [u8; 32] = packed_note[selector.index as u32].to_be_bytes();\n    let offset = selector.offset;\n    let length = selector.length;\n    assert(offset as u32 + length as u32 <= 32, \"PropertySelector offset + length exceeds field byte width\");\n    let mut value_field = 0 as Field;\n    let mut acc: Field = 1;\n    for i in 0..32 {\n        if i < length {\n            // `value` is big-endian, so the last byte (index 31) holds the lowest value.\n            // offset shifts the starting point away from that last byte, and i walks\n            // through consecutive bytes.\n            value_field += value[(31 - offset - i) as u32] as Field * acc;\n            acc = acc * 256;\n        }\n    }\n    value_field\n}\n\nfn check_packed_note<let N: u32>(packed_note: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n    for i in 0..selects.len() {\n        let select = selects.get_unchecked(i).unwrap_unchecked();\n        let value_field = extract_property_value_from_selector(packed_note, select.property_selector);\n\n        assert(compare(value_field, select.comparator, select.value.to_field()), \"Mismatch return note field.\");\n    }\n}\n\nfn check_notes_order<let N: u32>(fields_0: [Field; N], fields_1: [Field; N], sorts: BoundedVec<Option<Sort>, N>) {\n    for i in 0..sorts.len() {\n        let sort = sorts.get_unchecked(i).unwrap_unchecked();\n        let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n        let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n        let eq = field_0 == field_1;\n        let lt = field_0.lt(field_1);\n        if sort.order == SortOrder.ASC {\n            assert(eq | lt, \"Return notes not sorted in ascending order.\");\n        } else if !eq {\n            assert(!lt, \"Return notes not sorted in descending order.\");\n        }\n    }\n}\n\npub fn get_note<Note>(\n    context: &mut PrivateContext,\n    owner: Option<AztecAddress>,\n    storage_slot: Field,\n) -> ConfirmedNote<Note>\nwhere\n    Note: NoteType + NoteHash + Packable,\n{\n    // Safety: Constraining that we got a valid note from the oracle is fairly straightforward: all we need to do is\n    // check that the metadata is correct, and that the note exists.\n    let hinted_note = unsafe { view_note::<Note>(owner, storage_slot) };\n\n    confirm_hinted_note(context, hinted_note, owner, storage_slot)\n}\n\nfn confirm_hinted_note<Note>(\n    context: &mut PrivateContext,\n    hinted_note: HintedNote<Note>,\n    owner: Option<AztecAddress>,\n    storage_slot: Field,\n) -> ConfirmedNote<Note>\nwhere\n    Note: NoteType + NoteHash + Packable,\n{\n    // For settled notes, the contract address is implicitly checked since the hash returned from\n    // `compute_note_existence_request` is siloed and kernels verify the siloing during note read request validation.\n    // Pending notes however are read with the unsiloed note hash, so we need to check that the contract address\n    // returned from the oracle matches. Since branching in circuits is expensive, we perform this check on all note\n    // types.\n    assert(hinted_note.contract_address.eq(context.this_address()), \"Note contract address mismatch.\");\n\n    // If an owner was provided in the function call, we need to check that it matches the one in the note. This is\n    // necessary because if there were two valid notes that differed only by owner, the note existence request check\n    // below would still pass even if the owner on the input would not match the one in the note.\n    if owner.is_some() {\n        assert(hinted_note.owner.eq(owner.unwrap_unchecked()), \"Note owner mismatch.\");\n    }\n\n    // We need to constrain that the storage slot in the hinted note matches the value on the input. Note that this\n    // assertion could be avoided if we did not receive the storage slot from the oracle but we instead directly\n    // injected it into the returned note type (e.g. by doing something like `HintedNote::from(hinted_note_from_oracle,\n    // storage_slot)`). This optimization is too low of a priority now.\n    assert(hinted_note.storage_slot == storage_slot, \"Note storage slot mismatch.\");\n\n    let note_existence_request = compute_note_existence_request(hinted_note);\n    context.assert_note_exists(note_existence_request);\n\n    ConfirmedNote::new(hinted_note, note_existence_request.note_hash())\n}\n\n/// Returns a BoundedVec of notes that have been proven to have been created by this contract, either in the current or\n/// past transactions (i.e. pending or settled notes). A second BoundedVec contains the note hashes used for the read\n/// requests, which can save constraints when computing the note's nullifiers.\n///\n/// WARNING: recall that notes are never destroyed! Note existence therefore does not imply that the note is _current_\n/// or _valid_ - this typically requires also emitting the note's nullifier to prove that it had not been emitted\n/// before. Because of this, calling this function directly from end-user applications should be discouraged, and safe\n/// abstractions such as aztec-nr's state variables should be used instead.\npub fn get_notes<Note, let M: u32, PreprocessorArgs, FilterArgs>(\n    context: &mut PrivateContext,\n    storage_slot: Field,\n    options: NoteGetterOptions<Note, M, PreprocessorArgs, FilterArgs>,\n) -> BoundedVec<ConfirmedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\nwhere\n    Note: NoteType + NoteHash + Eq + Packable<N = M>,\n{\n    // Safety: The notes are constrained below.\n    let maybe_hinted_notes = unsafe { get_notes_internal(storage_slot, options) };\n\n    // We apply the constraints in a separate function instead of inlining them here to make it easier to test that\n    // these checks correctly reject bad notes.\n    confirm_hinted_notes(context, storage_slot, maybe_hinted_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, PreprocessorArgs>(\n    notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n    preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PreprocessorArgs) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n    preprocessor_args: PreprocessorArgs,\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n    preprocessor(notes, preprocessor_args)\n}\n\nfn confirm_hinted_notes<Note, let M: u32, PreprocessorArgs, FilterArgs>(\n    context: &mut PrivateContext,\n    storage_slot: Field,\n    maybe_hinted_notes: [Option<HintedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n    options: NoteGetterOptions<Note, M, PreprocessorArgs, FilterArgs>,\n) -> BoundedVec<ConfirmedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\nwhere\n    Note: NoteType + NoteHash + Eq + Packable<N = M>,\n{\n    // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n    // while the filter function can technically mutate the notes (as opposed to simply removing some), the private\n    // kernel will later validate that these note actually exist, so transformations would cause for that check to\n    // fail.\n    let filter_fn = options.filter;\n    let filter_args = options.filter_args;\n    let filtered_notes = filter_fn(maybe_hinted_notes, filter_args);\n\n    let hinted_notes = array::collapse(filtered_notes);\n\n    // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n    // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n    // for the runtime length, and can therefore have fewer loop iterations.\n    assert(hinted_notes.len() <= options.limit, \"Got more notes than limit.\");\n\n    // What remains is to iterate over the hinted notes, assert their existence, and convert them into confirmed notes.\n    // Naively, we would construct a `BoundedVec<ConfirmedNote, _>` and simply `push` into it as we process each hinted\n    // note. We cannot use `BoundedVec::map` as the user specified the maximum number of notes in `options.limit`\n    // instead of a numeric type parameter (which is more ergonomic), and `map` requires the latter.\n    // Unfortunately, this results in terrible proving time performance. This is because the compiler is not smart\n    // enough to understand the structure of looping over the `BoundedVec<HintedNote, _>`: it treats every `push` as a\n    // conditional write to the confirmed array, resulting in runtime write indices (e.g. iteration 1 could write to\n    // indices either 0 or 1, beucase iteration 0 might not push).\n    // The loop does however have an interesting structure that we can reason about to achieve better performance:\n    // because we're just going over a `BoundedVec`, the first `vec.len()` iterations will result in writes, and the\n    // rest will not. Hence, we can just _unconditionally_ write to a raw storage array at the iteration index: we know\n    // the resulting array will have no gaps. Because of this, we can then manually create a correct `BoundedVec`.\n    let mut confirmed_notes_bvec_storage: [ConfirmedNote<_>; _] = std::mem::zeroed();\n\n    let mut prev_packed_note = [0; M];\n    for i in 0..options.limit {\n        if i < hinted_notes.len() {\n            let hinted_note = hinted_notes.get_unchecked(i);\n\n            // For settled notes, the contract address is implicitly checked since the hash returned from\n            // `compute_note_existence_request` is siloed and kernels verify the siloing during note read request\n            // validation. Pending notes however are read with the unsiloed note hash, so we need to check that the\n            // contract address returned from the oracle matches. Since branching in circuits is expensive, we perform\n            // this check on all note types.\n            assert(hinted_note.contract_address.eq(context.this_address()), \"Note contract address mismatch.\");\n\n            // If owner is provided, constrain that it matches the owner in the hinted note.\n            if options.owner.is_some() {\n                assert(hinted_note.owner.eq(options.owner.unwrap()), \"Note owner mismatch.\");\n            }\n\n            // We need to constrain that the storage slot in the hinted note matches the value on the input. Note that\n            // this assertion could be avoided if we did not receive the storage slot from the oracle but we instead\n            // directly injected it into the returned note type (e.g. by doing something like\n            // `HintedNote::from(hinted_note_from_oracle, storage_slot)`). This optimization is too low of a priority\n            // now.\n            assert(hinted_note.storage_slot == storage_slot, \"Note storage slot mismatch.\");\n\n            let packed_note = hinted_note.note.pack();\n            check_packed_note(packed_note, options.selects);\n            if i != 0 {\n                check_notes_order(prev_packed_note, packed_note, options.sorts);\n            }\n            prev_packed_note = packed_note;\n\n            let note_existence_request = compute_note_existence_request(hinted_note);\n            context.assert_note_exists(note_existence_request);\n\n            confirmed_notes_bvec_storage[i] = ConfirmedNote::new(hinted_note, note_existence_request.note_hash());\n        };\n    }\n\n    // We can use `from_parts_unchecked` instead of `from_parts` because we know that `confirmed_notes_bvec_storage`\n    // contains all zeroes past `hinted_notes.len()` due to how it was initialized.\n    BoundedVec::from_parts_unchecked(confirmed_notes_bvec_storage, hinted_notes.len())\n}\n\npub unconstrained fn view_note<Note>(owner: Option<AztecAddress>, storage_slot: Field) -> HintedNote<Note>\nwhere\n    Note: NoteType + Packable,\n{\n    let maybe_hinted_notes: [_; 1] = oracle::notes::get_notes(\n        owner,\n        storage_slot,\n        0,\n        [],\n        [],\n        [],\n        [],\n        [],\n        [],\n        [],\n        [],\n        [],\n        1, // limit\n        0, // offset\n        NoteStatus.ACTIVE,\n    );\n\n    maybe_hinted_notes[0].expect(f\"Failed to get a note\")\n}\n\nunconstrained fn get_notes_internal<Note, let M: u32, PreprocessorArgs, FilterArgs>(\n    storage_slot: Field,\n    options: NoteGetterOptions<Note, M, PreprocessorArgs, FilterArgs>,\n) -> [Option<HintedNote<Note>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]\nwhere\n    Note: NoteType + Packable<N = M>,\n{\n    // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n    let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n        flatten_options(options.selects, options.sorts);\n\n    let maybe_hinted_notes = oracle::notes::get_notes(\n        options.owner,\n        storage_slot,\n        num_selects,\n        select_by_indexes,\n        select_by_offsets,\n        select_by_lengths,\n        select_values,\n        select_comparators,\n        sort_by_indexes,\n        sort_by_offsets,\n        sort_by_lengths,\n        sort_order,\n        options.limit,\n        options.offset,\n        options.status,\n    );\n\n    apply_preprocessor(\n        maybe_hinted_notes,\n        options.preprocessor,\n        options.preprocessor_args,\n    )\n}\n\n/// Unconstrained variant of `get_notes`, meant to be used in unconstrained execution contexts. Notably only the note\n/// content is returned, and not any of the information used when proving its existence (e.g. note nonce, note hash,\n/// etc.).\npub unconstrained fn view_notes<Note, let M: u32>(\n    storage_slot: Field,\n    options: NoteViewerOptions<Note, M>,\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE>\nwhere\n    Note: NoteType + Packable<N = M> + Eq,\n{\n    let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n        flatten_options(options.selects, options.sorts);\n\n    // We fetch the notes from the same oracle we use in the constrained case, except we don't bother inspecting the\n    // metadata in order to prove existence.\n    let maybe_hinted_notes = oracle::notes::get_notes(\n        options.owner,\n        storage_slot,\n        num_selects,\n        select_by_indexes,\n        select_by_offsets,\n        select_by_lengths,\n        select_values,\n        select_comparators,\n        sort_by_indexes,\n        sort_by_offsets,\n        sort_by_lengths,\n        sort_order,\n        options.limit,\n        options.offset,\n        options.status,\n    );\n\n    // Even though we don't expect for the maybe_hinted_notes array to be sparse, collapse is still useful in this case\n    // to convert it into a BoundedVec.\n    array::collapse(maybe_hinted_notes).map(\n        // view_notes just returns the actual note, so we drop the metadata\n        |hinted_note| hinted_note.note,\n    )\n}\n\nunconstrained fn flatten_options<let N: u32>(\n    selects: BoundedVec<Option<Select>, N>,\n    sorts: BoundedVec<Option<Sort>, N>,\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n    let mut num_selects = 0;\n    let mut select_by_indexes = [0; N];\n    let mut select_by_offsets = [0; N];\n    let mut select_by_lengths = [0; N];\n    let mut select_values = [0; N];\n    let mut select_comparators = [0; N];\n\n    for i in 0..selects.len() {\n        let select = selects.get(i);\n        if select.is_some() {\n            select_by_indexes[num_selects as u32] = select.unwrap_unchecked().property_selector.index;\n            select_by_offsets[num_selects as u32] = select.unwrap_unchecked().property_selector.offset;\n            select_by_lengths[num_selects as u32] = select.unwrap_unchecked().property_selector.length;\n            select_values[num_selects as u32] = select.unwrap_unchecked().value;\n            select_comparators[num_selects as u32] = select.unwrap_unchecked().comparator;\n            num_selects += 1;\n        };\n    }\n\n    let mut sort_by_indexes = [0; N];\n    let mut sort_by_offsets = [0; N];\n    let mut sort_by_lengths = [0; N];\n    let mut sort_order = [0; N];\n    for i in 0..sorts.len() {\n        let sort = sorts.get(i);\n        if sort.is_some() {\n            sort_by_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n            sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n            sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n            sort_order[i] = sort.unwrap_unchecked().order;\n        };\n    }\n\n    (\n        num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators,\n        sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order,\n    )\n}\n"
    },
    "182": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/note/note_message.nr",
      "source": "use crate::{\n    context::PrivateContext,\n    messages::{logs::note::encode_private_note_message, message_delivery::do_private_message_delivery},\n    note::{lifecycle::NewNote, note_interface::NoteType},\n};\nuse crate::protocol::{address::AztecAddress, traits::Packable};\n\n/// A message with information about a note that was created in the current contract call. This message **MUST** be\n/// delivered to a recipient in order to not lose the private note information.\n///\n/// Use [`NoteMessage::deliver`] to select a delivery mechanism. The same message can be delivered to multiple\n/// recipients.\n#[must_use = \"Unused NoteMessage result - use the `deliver` function to prevent the note information from being lost forever\"]\npub struct NoteMessage<Note> {\n    pub(crate) new_note: NewNote<Note>,\n\n    // NoteMessage is constructed when a note is created, which means that the `context` object will be in scope. By\n    // storing a reference to it inside this object we remove the need for its methods to receive it, resulting in a\n    // cleaner end-user API.\n    context: &mut PrivateContext,\n}\n\nimpl<Note> NoteMessage<Note>\nwhere\n    Note: NoteType + Packable,\n{\n    pub fn new(new_note: NewNote<Note>, context: &mut PrivateContext) -> Self {\n        Self { new_note, context }\n    }\n\n    /// Delivers the note message to its owner, providing them access to the private note information.\n    ///\n    /// The message is first encrypted to the owner's public key, ensuring no other actor can read it.\n    ///\n    /// The `delivery_mode` must be one of [`crate::messages::message_delivery::MessageDeliveryEnum`], and will inform\n    /// costs (both proving time and TX fees) as well as delivery guarantees. This value must be a compile-time\n    /// constant.\n    ///\n    /// To deliver the message to a recipient that is not the note's owner, use [`deliver_to`](NoteMessage::deliver_to)\n    /// instead.\n    ///\n    /// ## Invalid Recipients\n    ///\n    /// If the note's owner is an invalid address, then a random public key is selected and message delivery continues\n    /// as normal. This prevents both 'king of the hill' attacks (where a sender would otherwise fail to deliver a note\n    /// to an invalid recipient) and forced privacy leaks (where an invalid recipient results in a unique transaction\n    /// fingerprint, e.g. one lacking the private logs that would correspond to message delivery).\n    pub fn deliver(self, delivery_mode: u8) {\n        self.deliver_to(self.new_note.owner, delivery_mode);\n    }\n\n    /// Same as [`deliver`](NoteMessage::deliver), except the message gets delivered to an arbitrary `recipient`\n    /// instead\n    /// of the note owner.\n    ///\n    /// Note that `recipient` getting the message does not let them **use** the note, it only means that thy will know\n    /// about it, including the transaction in which it was created, and prove it exists. They will also not be able to\n    /// know when or if the note is used (i.e. nullified), assuming the standard note nullifier function.\n    ///\n    /// ## Use Cases\n    ///\n    /// This feature enables many design patterns that diverge in how notes are traditionally handled. For example, an\n    /// institutional contract may require to have some actor receive all notes created for compliance purposes. Or a\n    /// low value application like a game might deliver all notes offchain to a centralized server that then serves\n    /// them via the app, bypassing the need for contract sync and improving UX.\n    pub fn deliver_to(self, recipient: AztecAddress, delivery_mode: u8) {\n        // Technical note: we're about to call a closure that needs access to `new_note`, but we can't pass `self` to\n        // it because the closure might execute in unconstrained mode, and since `self` contains a mutable reference to\n        // `context` this would cause for a mutable reference to cross the constrained-unconstrained barrier, which is\n        // not allowed. As a workaround, we create a variable without the context and capture that instead.\n        let new_note = self.new_note;\n\n        do_private_message_delivery(\n            self.context,\n            || encode_private_note_message(\n                new_note.note,\n                new_note.owner,\n                new_note.storage_slot,\n                new_note.randomness,\n            ),\n            Option::some(self.new_note.note_hash_counter),\n            recipient,\n            delivery_mode,\n        );\n    }\n\n    /// Returns the note contained in the message.\n    pub fn get_note(self) -> Note {\n        self.new_note.note\n    }\n\n    /// Returns the [`NewNote`] container in the message.\n    ///\n    /// This is an advanced function, typically needed only when creating new kinds of state variables that need to\n    /// create [`MaybeNoteMessage`] values.\n    pub fn get_new_note(self) -> NewNote<Note> {\n        self.new_note\n    }\n}\n\n/// Same as [`NoteMessage`], except this type also handles the possibility where the note may not have been actually\n/// created depending on runtime conditions (e.g. a token transfer change note is not created if there is no change).\n///\n/// Other than that, it and [`MaybeNoteMessage::deliver`] behave the exact same way as [`NoteMessage`].\n#[must_use = \"Unused NoteMessage result - use the `deliver` function to prevent the note information from being lost forever\"]\npub struct MaybeNoteMessage<Note> {\n    // We can't simply create an `Option` of `NoteMessage` because that type includes a mutable reference to the\n    // `context`. All `Option` methods (map, or, etc.) have if-else expressions in which they might return the\n    // contents, and conditionally returning mutable references is disallowed by Noir. Hence, we create this type which\n    // only holds `NewNote` in the `Option`, keeping the `context` out.\n    maybe_new_note: Option<NewNote<Note>>,\n\n    // MaybeNoteMessage is expected to be constructed when a note is created, which means that the `context` object\n    // will be in scope. By storing a reference to it inside this object we remove the need for its methods to receive\n    // it, resulting in a cleaner end-user API.\n    context: &mut PrivateContext,\n}\n\nimpl<Note> MaybeNoteMessage<Note>\nwhere\n    Note: NoteType + Packable,\n{\n    pub fn new(maybe_new_note: Option<NewNote<Note>>, context: &mut PrivateContext) -> Self {\n        Self { maybe_new_note, context }\n    }\n\n    /// Same as [`NoteMessage::deliver`], except the message will only be delivered if it actually exists.\n    ///\n    /// Messages delivered using [`crate::messages::message_delivery::MessageDeliveryEnum::ONCHAIN_CONSTRAINED`] will\n    /// pay\n    /// proving costs regardless of whether the message exists or not.\n    pub fn deliver(self, delivery_mode: u8) {\n        if self.maybe_new_note.is_some() {\n            NoteMessage::new(self.maybe_new_note.unwrap_unchecked(), self.context).deliver(delivery_mode);\n        }\n    }\n\n    /// Same as [`NoteMessage::deliver_to`], except the message will only be delivered if it actually exists.\n    ///\n    /// Messages delivered using [`crate::messages::message_delivery::MessageDeliveryEnum::ONCHAIN_CONSTRAINED`] will\n    /// pay\n    /// proving costs regardless of whether the message exists or not.\n    pub fn deliver_to(self, recipient: AztecAddress, delivery_mode: u8) {\n        if self.maybe_new_note.is_some() {\n            NoteMessage::new(self.maybe_new_note.unwrap_unchecked(), self.context).deliver_to(recipient, delivery_mode);\n        }\n    }\n\n    /// Returns the note contained in the message.\n    pub fn get_note(self) -> Option<Note> {\n        self.maybe_new_note.map(|new_note| new_note.note)\n    }\n}\n"
    },
    "183": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/note/note_metadata.nr",
      "source": "use crate::protocol::traits::{Deserialize, Packable, Serialize};\n\n// There's temporarily quite a bit of boilerplate here because Noir does not yet support enums. This file will\n// eventually be simplified into something closer to:\n//\n// pub enum NoteMetadata {\n//   PendingSamePhase{ note_hash_counter: u32 }, PendingOtherPhase{ note_hash_counter: u32, note_nonce: Field },\n// Settled{ note_nonce: Field },\n// }\n//\n// For now, we have `NoteMetadata` acting as a sort of tagged union.\n\nstruct NoteStageEnum {\n    /// A note created in the current transaction during the current execution phase.\n    ///\n    /// Notes from the non-revertible phase will be in this stage if the transaction is still in the non-revertible\n    /// phase, notes from the revertible phase will be in this stage until the transaction ends.\n    ///\n    /// These notes are not yet in the note hash tree, though they will be inserted unless nullified in this\n    /// transaction (becoming a transient note).\n    PENDING_SAME_PHASE: u8,\n    /// A note created in the current transaction during the previous execution phase.\n    ///\n    /// Because there are only two phases and their order is always the same (first non-revertible and then revertible)\n    /// this implies that the note was created in the non-revertible phase, and that the current phase is the\n    /// revertible phase.\n    ///\n    /// These notes are not yet in the note hash tree, though they will be inserted **even if nullified in this\n    /// transaction**. This means that they must be nullified as if they were settled (i.e. using the unique note hash)\n    /// in order to avoid double spends once they become settled.\n    PENDING_PREVIOUS_PHASE: u8,\n    /// A note created in a prior transaction.\n    ///\n    /// Settled notes have alrady been inserted into the note hash tree.\n    SETTLED: u8,\n}\n\nglobal NoteStage: NoteStageEnum = NoteStageEnum { PENDING_SAME_PHASE: 1, PENDING_PREVIOUS_PHASE: 2, SETTLED: 3 };\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for\n/// kernel read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a note in any of the three valid stages (pending same phase, pending previous phase, or settled).\n/// In order to access the underlying fields callers must first find the appropriate stage (e.g. via `is_settled()`)\n/// and then convert this into the appropriate type (e.g. via `to_settled()`).\n#[derive(Deserialize, Eq, Serialize, Packable)]\npub struct NoteMetadata {\n    stage: u8,\n    maybe_note_nonce: Field,\n}\n\nimpl NoteMetadata {\n    /// Constructs a `NoteMetadata` object from optional note hash counter and nonce. Both a zero note hash counter and\n    /// a zero nonce are invalid, so those are used to signal non-existent values.\n    pub fn from_raw_data(nonzero_note_hash_counter: bool, maybe_note_nonce: Field) -> Self {\n        if nonzero_note_hash_counter {\n            if maybe_note_nonce == 0 {\n                Self { stage: NoteStage.PENDING_SAME_PHASE, maybe_note_nonce }\n            } else {\n                Self { stage: NoteStage.PENDING_PREVIOUS_PHASE, maybe_note_nonce }\n            }\n        } else if maybe_note_nonce != 0 {\n            Self { stage: NoteStage.SETTLED, maybe_note_nonce }\n        } else {\n            panic(\n                f\"Note has a zero note hash counter and no nonce - existence cannot be proven\",\n            )\n        }\n    }\n\n    /// Returns `true` if the note is pending **and** from the same phase, i.e. if it's been created in the current\n    /// transaction during the current execution phase (either non-revertible or revertible).\n    pub fn is_pending_same_phase(self) -> bool {\n        self.stage == NoteStage.PENDING_SAME_PHASE\n    }\n\n    /// Returns `true` if the note is pending **and** from the previous phase, i.e. if it's been created in the current\n    /// transaction during an execution phase prior to the current one. Because private execution only has two phases\n    /// with strict ordering, this implies that the note was created in the non-revertible phase, and that the current\n    /// phase is the revertible phase.\n    pub fn is_pending_previous_phase(self) -> bool {\n        self.stage == NoteStage.PENDING_PREVIOUS_PHASE\n    }\n\n    /// Returns `true` if the note is settled, i.e. if it's been created in a prior transaction and is therefore\n    /// already\n    /// in the note hash tree.\n    pub fn is_settled(self) -> bool {\n        self.stage == NoteStage.SETTLED\n    }\n\n    /// Asserts that the metadata is that of a pending note from the same phase and converts it accordingly.\n    pub fn to_pending_same_phase(self) -> PendingSamePhaseNoteMetadata {\n        assert_eq(self.stage, NoteStage.PENDING_SAME_PHASE, \"Note is not in stage PENDING_SAME_PHASE\");\n        PendingSamePhaseNoteMetadata::new()\n    }\n\n    /// Asserts that the metadata is that of a pending note from a previous phase and converts it accordingly.\n    pub fn to_pending_previous_phase(self) -> PendingPreviousPhaseNoteMetadata {\n        assert_eq(self.stage, NoteStage.PENDING_PREVIOUS_PHASE, \"Note is not in stage PENDING_PREVIOUS_PHASE\");\n        PendingPreviousPhaseNoteMetadata::new(self.maybe_note_nonce)\n    }\n\n    /// Asserts that the metadata is that of a settled note and converts it accordingly.\n    pub fn to_settled(self) -> SettledNoteMetadata {\n        assert_eq(self.stage, NoteStage.SETTLED, \"Note is not in stage SETTLED\");\n        SettledNoteMetadata::new(self.maybe_note_nonce)\n    }\n}\n\nimpl From<PendingSamePhaseNoteMetadata> for NoteMetadata {\n    fn from(_value: PendingSamePhaseNoteMetadata) -> Self {\n        NoteMetadata::from_raw_data(true, std::mem::zeroed())\n    }\n}\n\nimpl From<PendingPreviousPhaseNoteMetadata> for NoteMetadata {\n    fn from(value: PendingPreviousPhaseNoteMetadata) -> Self {\n        NoteMetadata::from_raw_data(true, value.note_nonce())\n    }\n}\n\nimpl From<SettledNoteMetadata> for NoteMetadata {\n    fn from(value: SettledNoteMetadata) -> Self {\n        NoteMetadata::from_raw_data(false, value.note_nonce())\n    }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for\n/// kernel read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a pending same phase note, i.e. a note that was created in the transaction that is currently being\n/// executed during the current execution phase (either non-revertible or revertible).\npub struct PendingSamePhaseNoteMetadata {\n    // This struct contains no fields since there is no metadata associated with a pending same phase note: it has no nonce (since it may get squashed by a nullifier emitted in the same phase), and while it does have a note hash counter we cannot constrain its value (and don't need to - only that it is non-zero).\n}\n\nimpl PendingSamePhaseNoteMetadata {\n    pub fn new() -> Self {\n        Self {}\n    }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for\n/// kernel read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a pending previous phase note, i.e. a note that was created in the transaction that is currently\n/// being executed, during the previous execution phase. Because there are only two phases and their order is always\n/// the same (first non-revertible and then revertible) this implies that the note was created in the non-revertible\n/// phase, and that the current phase is the revertible phase.\npub struct PendingPreviousPhaseNoteMetadata {\n    note_nonce: Field,\n    // This struct does not contain a note hash counter, even though one exists for this note, because we cannot\n    // constrain its value (and don't need to - only that it is non-zero).\n}\n\nimpl PendingPreviousPhaseNoteMetadata {\n    pub fn new(note_nonce: Field) -> Self {\n        Self { note_nonce }\n    }\n\n    pub fn note_nonce(self) -> Field {\n        self.note_nonce\n    }\n}\n\n/// The metadata required to both prove a note's existence and destroy it, by computing the correct note hash for\n/// kernel read requests, as well as the correct nullifier to avoid double-spends.\n///\n/// This represents a settled note, i.e. a note that was created in a prior transaction and is therefore already in the\n/// note hash tree.\npub struct SettledNoteMetadata {\n    note_nonce: Field,\n}\n\nimpl SettledNoteMetadata {\n    pub fn new(note_nonce: Field) -> Self {\n        Self { note_nonce }\n    }\n\n    pub fn note_nonce(self) -> Field {\n        self.note_nonce\n    }\n}\n"
    },
    "185": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/note/utils.nr",
      "source": "use crate::{context::NoteExistenceRequest, note::{ConfirmedNote, HintedNote, note_interface::NoteHash}};\n\nuse crate::protocol::{\n    constants::{DOM_SEP__NOTE_HASH, DOM_SEP__NOTE_NULLIFIER},\n    hash::{compute_siloed_note_hash, compute_unique_note_hash, poseidon2_hash_with_separator},\n};\n\n/// Computes a domain-separated note hash.\n///\n/// Receives the `storage_slot` of the [`crate::state_vars::StateVariable`] that holds the note, plus any arbitrary\n/// note `data`. This typically includes randomness, owner, and domain specific values (e.g. numeric amount, address,\n/// id, etc.).\n///\n/// Usage of this function guarantees that different state variables will never produce colliding note hashes, even if\n/// their underlying notes have different implementations.\npub fn compute_note_hash<let N: u32>(storage_slot: Field, data: [Field; N]) -> Field {\n    // All state variables have different storage slots, so by placing this at a fixed first position in the preimage\n    // we prevent collisions.\n    poseidon2_hash_with_separator([storage_slot].concat(data), DOM_SEP__NOTE_HASH)\n}\n\n/// Computes a domain-separated note nullifier.\n///\n/// Receives the `note_hash_for_nullification` of the note (usually returned by\n/// [`compute_confirmed_note_hash_for_nullification`]), plus any arbitrary note `data`. This typically includes\n/// secrets, such as the app-siloed nullifier hiding key of the note's owner.\n///\n/// Usage of this function guarantees that different state variables will never produce colliding note nullifiers, even\n/// if their underlying notes have different implementations.\npub fn compute_note_nullifier<let N: u32>(note_hash_for_nullification: Field, data: [Field; N]) -> Field {\n    // All notes have different note hashes for nullification (i.e. transient or settled), so by placing this at a\n    // fixed first position in the preimage we prevent collisions.\n    poseidon2_hash_with_separator(\n        [note_hash_for_nullification].concat(data),\n        DOM_SEP__NOTE_NULLIFIER,\n    )\n}\n\n/// Returns the [`NoteExistenceRequest`] used to prove a note exists.\npub fn compute_note_existence_request<Note>(hinted_note: HintedNote<Note>) -> NoteExistenceRequest\nwhere\n    Note: NoteHash,\n{\n    let note_hash =\n        hinted_note.note.compute_note_hash(hinted_note.owner, hinted_note.storage_slot, hinted_note.randomness);\n\n    if hinted_note.metadata.is_settled() {\n        // Settled notes are read by siloing with contract address and nonce (resulting in the final unique note hash,\n        // which is already in the note hash tree).\n        let siloed_note_hash = compute_siloed_note_hash(hinted_note.contract_address, note_hash);\n        NoteExistenceRequest::for_settled(compute_unique_note_hash(\n            hinted_note.metadata.to_settled().note_nonce(),\n            siloed_note_hash,\n        ))\n    } else {\n        // Pending notes (both same phase and previous phase ones) are read by their non-siloed hash (not even by\n        // contract address), which is what is stored in the new note hashes array (at the position hinted by note hash\n        // counter).\n        NoteExistenceRequest::for_pending(note_hash, hinted_note.contract_address)\n    }\n}\n\n/// Unconstrained variant of [`compute_confirmed_note_hash_for_nullification`].\npub unconstrained fn compute_note_hash_for_nullification<Note>(hinted_note: HintedNote<Note>) -> Field\nwhere\n    Note: NoteHash,\n{\n    // Creating a ConfirmedNote like we do here is typically unsafe, as we've not confirmed existence. We can do it\n    // here because this is an unconstrained function, so the returned value should not make its way to a constrained\n    // function. This lets us reuse the `compute_confirmed_note_hash_for_nullification` implementation.\n    compute_confirmed_note_hash_for_nullification(ConfirmedNote::new(\n        hinted_note,\n        compute_note_existence_request(hinted_note).note_hash(),\n    ))\n}\n\n/// Returns the note hash to use when computing its nullifier.\n///\n/// The `note_hash_for_nullification` parameter [`NoteHash::compute_nullifier`] takes depends on the note's stage, e.g.\n/// settled notes use the unique note hash, but pending notes cannot as they have no nonce. This function returns the\n/// correct note hash to use.\n///\n/// Use [`compute_note_hash_for_nullification`] when computing this value in unconstrained functions.\npub fn compute_confirmed_note_hash_for_nullification<Note>(confirmed_note: ConfirmedNote<Note>) -> Field {\n    // There is just one instance in which the note hash for nullification does not match the note hash used for a read\n    // request, which is when dealing with pending previous phase notes. These had their existence proven using their\n    // non-siloed note hash along with the note hash counter (like all pending notes), but since they will be\n    // unconditionally inserted in the note hash tree (since they cannot be squashed) they must be nullified using the\n    // *unique* note hash. If we didn't, it'd be possible to emit a second different nullifier for the same note in a\n    // follow up transaction, once the note is settled, resulting in a double spend.\n\n    if confirmed_note.metadata.is_pending_previous_phase() {\n        let siloed_note_hash = compute_siloed_note_hash(\n            confirmed_note.contract_address,\n            confirmed_note.proven_note_hash,\n        );\n        let note_nonce = confirmed_note.metadata.to_pending_previous_phase().note_nonce();\n\n        compute_unique_note_hash(note_nonce, siloed_note_hash)\n    } else {\n        confirmed_note.proven_note_hash\n    }\n}\n"
    },
    "187": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/nullifier/utils.nr",
      "source": "use crate::{context::NullifierExistenceRequest, oracle::nullifiers::is_nullifier_pending};\n\nuse crate::protocol::{address::aztec_address::AztecAddress, hash::compute_siloed_nullifier};\n\n/// Returns the [`NullifierExistenceRequest`] used to prove a nullifier exists.\npub fn compute_nullifier_existence_request(\n    unsiloed_nullifier: Field,\n    contract_address: AztecAddress,\n) -> NullifierExistenceRequest {\n    let pending_read_request = NullifierExistenceRequest::for_pending(unsiloed_nullifier, contract_address);\n\n    let siloed_nullifier = compute_siloed_nullifier(contract_address, unsiloed_nullifier);\n    let settled_read_request = NullifierExistenceRequest::for_settled(siloed_nullifier);\n\n    // Safety: This is a hint to check whether we are reading a pending or settled nullifier. The chosen read request\n    // will be validated by the kernel. Failure to provide a correct hint will cause the read request validation to\n    // fail.\n    let should_use_pending_read_request = unsafe { is_nullifier_pending(unsiloed_nullifier, contract_address) };\n\n    if should_use_pending_read_request {\n        pending_read_request\n    } else {\n        settled_read_request\n    }\n}\n"
    },
    "188": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/aes128_decrypt.nr",
      "source": "#[oracle(aztec_utl_decryptAes128)]\nunconstrained fn aes128_decrypt_oracle<let N: u32>(\n    ciphertext: BoundedVec<u8, N>,\n    iv: [u8; 16],\n    sym_key: [u8; 16],\n) -> Option<BoundedVec<u8, N>> {}\n\n/// Attempts to decrypt a ciphertext using AES128.\n///\n/// Returns `Option::some(plaintext)` on success, or `Option::none()` if decryption fails (e.g. due to malformed\n/// ciphertext). Note that decryption with the wrong key will still return `Some` with garbage data, it's up to\n/// the calling function to verify correctness (e.g. via a MAC check).\n///\n/// Note that we accept ciphertext as a BoundedVec, not as an array. This is because this function is typically used\n/// when processing logs and at that point we don't have comptime information about the length of the ciphertext as\n/// the log is not specific to any individual note.\n// TODO(F-498): review naming consistency\npub unconstrained fn try_aes128_decrypt<let N: u32>(\n    ciphertext: BoundedVec<u8, N>,\n    iv: [u8; 16],\n    sym_key: [u8; 16],\n) -> Option<BoundedVec<u8, N>> {\n    aes128_decrypt_oracle(ciphertext, iv, sym_key)\n}\n\nmod test {\n    use crate::{\n        keys::ecdh_shared_secret::compute_app_siloed_shared_secret,\n        messages::encryption::aes128::derive_aes_symmetric_key_and_iv_from_shared_secret,\n        utils::{array::subarray::subarray, point::point_from_x_coord},\n    };\n    use crate::protocol::address::AztecAddress;\n    use crate::test::helpers::test_environment::TestEnvironment;\n    use super::try_aes128_decrypt;\n    use poseidon::poseidon2::Poseidon2;\n    use std::aes128::aes128_encrypt;\n\n    global CONTRACT_ADDRESS: AztecAddress = AztecAddress { inner: 42 };\n    global TEST_PLAINTEXT_LENGTH: u32 = 10;\n    global TEST_CIPHERTEXT_LENGTH: u32 = 16;\n    global TEST_PADDING_LENGTH: u32 = TEST_CIPHERTEXT_LENGTH - TEST_PLAINTEXT_LENGTH;\n\n    #[test]\n    unconstrained fn aes_encrypt_then_decrypt() {\n        let env = TestEnvironment::new();\n\n        env.utility_context(|_| {\n            let shared_secret_point = point_from_x_coord(1).unwrap();\n            let s_app = compute_app_siloed_shared_secret(shared_secret_point, CONTRACT_ADDRESS);\n\n            let (sym_key, iv) = derive_aes_symmetric_key_and_iv_from_shared_secret::<1>(s_app)[0];\n\n            let plaintext: [u8; TEST_PLAINTEXT_LENGTH] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\n\n            let ciphertext: [u8; TEST_CIPHERTEXT_LENGTH] = aes128_encrypt(plaintext, iv, sym_key);\n\n            let ciphertext_bvec = BoundedVec::<u8, TEST_CIPHERTEXT_LENGTH>::from_array(ciphertext);\n\n            let received_plaintext = try_aes128_decrypt(ciphertext_bvec, iv, sym_key).unwrap();\n            assert_eq(received_plaintext.len(), TEST_PLAINTEXT_LENGTH);\n            assert_eq(received_plaintext.max_len(), TEST_CIPHERTEXT_LENGTH);\n            assert_eq(subarray::<_, _, TEST_PLAINTEXT_LENGTH>(received_plaintext.storage(), 0), plaintext);\n            assert_eq(\n                subarray::<_, _, TEST_PADDING_LENGTH>(received_plaintext.storage(), TEST_PLAINTEXT_LENGTH),\n                [0 as u8; TEST_PADDING_LENGTH],\n            );\n        })\n    }\n\n    global TEST_MAC_LENGTH: u32 = 32;\n\n    #[test(should_fail_with = \"mac does not match\")]\n    unconstrained fn aes_encrypt_then_decrypt_with_bad_sym_key_is_caught() {\n        let env = TestEnvironment::new();\n\n        env.utility_context(|_| {\n            // The AES decryption oracle will not fail for any valid ciphertext; it will always return\n            // `Some` with some data. Whether the decryption was successful is up to the app to check in a\n            // custom way.\n            //\n            // E.g. if it's a note that's been encrypted, upon decryption the app can check whether the\n            // note hash exists onchain. If it doesn't, that's a strong indicator that decryption failed.\n            //\n            // E.g. for non-note messages, the plaintext could include a MAC\n            // (https://en.wikipedia.org/wiki/Message_authentication_code). We demonstrate this approach in\n            // this test: we compute a MAC, include it in the plaintext, encrypt, and then verify that\n            // decryption with a bad key produces a MAC mismatch.\n            let shared_secret_point = point_from_x_coord(1).unwrap();\n            let s_app = compute_app_siloed_shared_secret(shared_secret_point, CONTRACT_ADDRESS);\n\n            let (sym_key, iv) = derive_aes_symmetric_key_and_iv_from_shared_secret::<1>(s_app)[0];\n\n            let mac_preimage = 0x42;\n            let mac = Poseidon2::hash([mac_preimage], 1);\n            let mac_as_bytes = mac.to_be_bytes::<TEST_MAC_LENGTH>();\n\n            let plaintext: [u8; TEST_PLAINTEXT_LENGTH] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\n\n            // We append the mac to the plaintext. It doesn't necessarily have to be 32 bytes; that's quite an extreme\n            // length. 16 bytes or 8 bytes might be sufficient, and would save on data broadcasting costs. The shorter\n            // the mac, the more possibility of false positive decryptions (decryption seemingly succeeding, but the\n            // decrypted plaintext being garbage). Some projects use the `iv` (all 16 bytes or the first 8 bytes) as a\n            // mac.\n            let mut plaintext_with_mac = [0 as u8; TEST_PLAINTEXT_LENGTH + TEST_MAC_LENGTH];\n            for i in 0..TEST_PLAINTEXT_LENGTH {\n                plaintext_with_mac[i] = plaintext[i];\n            }\n            for i in 0..TEST_MAC_LENGTH {\n                plaintext_with_mac[TEST_PLAINTEXT_LENGTH + i] = mac_as_bytes[i];\n            }\n\n            let ciphertext = aes128_encrypt(plaintext_with_mac, iv, sym_key);\n\n            // We now would broadcast the tuple [ciphertext, mac] to the network. The recipient will then decrypt the\n            // ciphertext, and if the mac inside the received plaintext matches the mac that was broadcast, then the\n            // recipient knows that decryption was successful.\n\n            // For this test, we intentionally mutate the sym_key to a bad one, so that decryption fails. This allows\n            // us to explore how the recipient can detect failed decryption by checking the decrypted mac against the\n            // broadcasted mac.\n            let mut bad_sym_key = sym_key;\n            bad_sym_key[0] = 0;\n\n            // We need to convert the array to a BoundedVec because the oracle expects a BoundedVec as it's designed to\n            // work with logs of unknown length.\n            let ciphertext_bvec = BoundedVec::<u8, 48>::from_array(ciphertext);\n            // Decryption with wrong key still returns Some (with garbage).\n            let received_plaintext = try_aes128_decrypt(ciphertext_bvec, iv, bad_sym_key).unwrap();\n\n            let extracted_mac_as_bytes: [u8; TEST_MAC_LENGTH] =\n                subarray(received_plaintext.storage(), TEST_PLAINTEXT_LENGTH);\n\n            assert_eq(mac_as_bytes, extracted_mac_as_bytes, \"mac does not match\");\n        });\n    }\n}\n"
    },
    "190": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/avm.nr",
      "source": "//! AVM oracles.\n//!\n//! There are only available during public execution. Calling any of them from a private or utility function will\n//! result in runtime errors.\n\nuse crate::protocol::address::{AztecAddress, EthAddress};\n\npub unconstrained fn address() -> AztecAddress {\n    address_opcode()\n}\npub unconstrained fn sender() -> AztecAddress {\n    sender_opcode()\n}\npub unconstrained fn transaction_fee() -> Field {\n    transaction_fee_opcode()\n}\npub unconstrained fn chain_id() -> Field {\n    chain_id_opcode()\n}\npub unconstrained fn version() -> Field {\n    version_opcode()\n}\npub unconstrained fn block_number() -> u32 {\n    block_number_opcode()\n}\npub unconstrained fn timestamp() -> u64 {\n    timestamp_opcode()\n}\npub unconstrained fn min_fee_per_l2_gas() -> u128 {\n    min_fee_per_l2_gas_opcode()\n}\npub unconstrained fn min_fee_per_da_gas() -> u128 {\n    min_fee_per_da_gas_opcode()\n}\npub unconstrained fn l2_gas_left() -> u32 {\n    l2_gas_left_opcode()\n}\npub unconstrained fn da_gas_left() -> u32 {\n    da_gas_left_opcode()\n}\npub unconstrained fn is_static_call() -> u1 {\n    is_static_call_opcode()\n}\npub unconstrained fn note_hash_exists(note_hash: Field, leaf_index: u64) -> u1 {\n    note_hash_exists_opcode(note_hash, leaf_index)\n}\npub unconstrained fn emit_note_hash(note_hash: Field) {\n    emit_note_hash_opcode(note_hash)\n}\npub unconstrained fn nullifier_exists(siloed_nullifier: Field) -> u1 {\n    nullifier_exists_opcode(siloed_nullifier)\n}\npub unconstrained fn emit_nullifier(nullifier: Field) {\n    emit_nullifier_opcode(nullifier)\n}\npub unconstrained fn emit_public_log(message: [Field]) {\n    emit_public_log_opcode(message)\n}\npub unconstrained fn l1_to_l2_msg_exists(msg_hash: Field, msg_leaf_index: u64) -> u1 {\n    l1_to_l2_msg_exists_opcode(msg_hash, msg_leaf_index)\n}\npub unconstrained fn send_l2_to_l1_msg(recipient: EthAddress, content: Field) {\n    send_l2_to_l1_msg_opcode(recipient, content)\n}\n\npub unconstrained fn call<let N: u32>(\n    l2_gas_allocation: u32,\n    da_gas_allocation: u32,\n    address: AztecAddress,\n    args: [Field; N],\n) {\n    call_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn call_static<let N: u32>(\n    l2_gas_allocation: u32,\n    da_gas_allocation: u32,\n    address: AztecAddress,\n    args: [Field; N],\n) {\n    call_static_opcode(l2_gas_allocation, da_gas_allocation, address, N, args)\n}\n\npub unconstrained fn calldata_copy<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {\n    calldata_copy_opcode(cdoffset, copy_size)\n}\n\n/// `success_copy` is placed immediately after the CALL opcode to get the success value\npub unconstrained fn success_copy() -> bool {\n    success_copy_opcode()\n}\n\npub unconstrained fn returndata_size() -> u32 {\n    returndata_size_opcode()\n}\n\npub unconstrained fn returndata_copy(rdoffset: u32, copy_size: u32) -> [Field] {\n    returndata_copy_opcode(rdoffset, copy_size)\n}\n\n/// The additional prefix is to avoid clashing with the `return` Noir keyword.\npub unconstrained fn avm_return(returndata: [Field]) {\n    return_opcode(returndata)\n}\n\n/// This opcode reverts using the exact data given. In general it should only be used to do rethrows, where the revert\n/// data is the same as the original revert data. For normal reverts, use Noir's `assert` which, on top of reverting,\n/// will also add an error selector to the revert data.\npub unconstrained fn revert(revertdata: [Field]) {\n    revert_opcode(revertdata)\n}\n\npub unconstrained fn storage_read(storage_slot: Field, contract_address: Field) -> Field {\n    storage_read_opcode(storage_slot, contract_address)\n}\n\npub unconstrained fn storage_write(storage_slot: Field, value: Field) {\n    storage_write_opcode(storage_slot, value);\n}\n\n#[oracle(aztec_avm_address)]\nunconstrained fn address_opcode() -> AztecAddress {}\n\n#[oracle(aztec_avm_sender)]\nunconstrained fn sender_opcode() -> AztecAddress {}\n\n#[oracle(aztec_avm_transactionFee)]\nunconstrained fn transaction_fee_opcode() -> Field {}\n\n#[oracle(aztec_avm_chainId)]\nunconstrained fn chain_id_opcode() -> Field {}\n\n#[oracle(aztec_avm_version)]\nunconstrained fn version_opcode() -> Field {}\n\n#[oracle(aztec_avm_blockNumber)]\nunconstrained fn block_number_opcode() -> u32 {}\n\n#[oracle(aztec_avm_timestamp)]\nunconstrained fn timestamp_opcode() -> u64 {}\n\n#[oracle(aztec_avm_minFeePerL2Gas)]\nunconstrained fn min_fee_per_l2_gas_opcode() -> u128 {}\n\n#[oracle(aztec_avm_minFeePerDaGas)]\nunconstrained fn min_fee_per_da_gas_opcode() -> u128 {}\n\n#[oracle(aztec_avm_l2GasLeft)]\nunconstrained fn l2_gas_left_opcode() -> u32 {}\n\n#[oracle(aztec_avm_daGasLeft)]\nunconstrained fn da_gas_left_opcode() -> u32 {}\n\n#[oracle(aztec_avm_isStaticCall)]\nunconstrained fn is_static_call_opcode() -> u1 {}\n\n#[oracle(aztec_avm_noteHashExists)]\nunconstrained fn note_hash_exists_opcode(note_hash: Field, leaf_index: u64) -> u1 {}\n\n#[oracle(aztec_avm_emitNoteHash)]\nunconstrained fn emit_note_hash_opcode(note_hash: Field) {}\n\n#[oracle(aztec_avm_nullifierExists)]\nunconstrained fn nullifier_exists_opcode(siloed_nullifier: Field) -> u1 {}\n\n#[oracle(aztec_avm_emitNullifier)]\nunconstrained fn emit_nullifier_opcode(nullifier: Field) {}\n\n#[oracle(aztec_avm_emitPublicLog)]\nunconstrained fn emit_public_log_opcode(message: [Field]) {}\n\n#[oracle(aztec_avm_l1ToL2MsgExists)]\nunconstrained fn l1_to_l2_msg_exists_opcode(msg_hash: Field, msg_leaf_index: u64) -> u1 {}\n\n#[oracle(aztec_avm_sendL2ToL1Msg)]\nunconstrained fn send_l2_to_l1_msg_opcode(recipient: EthAddress, content: Field) {}\n\n#[oracle(aztec_avm_calldataCopy)]\nunconstrained fn calldata_copy_opcode<let N: u32>(cdoffset: u32, copy_size: u32) -> [Field; N] {}\n\n#[oracle(aztec_avm_returndataSize)]\nunconstrained fn returndata_size_opcode() -> u32 {}\n\n#[oracle(aztec_avm_returndataCopy)]\nunconstrained fn returndata_copy_opcode(rdoffset: u32, copy_size: u32) -> [Field] {}\n\n#[oracle(aztec_avm_return)]\nunconstrained fn return_opcode(returndata: [Field]) {}\n\n#[oracle(aztec_avm_revert)]\nunconstrained fn revert_opcode(revertdata: [Field]) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(aztec_avm_call)]\nunconstrained fn call_opcode<let N: u32>(\n    l2_gas_allocation: u32,\n    da_gas_allocation: u32,\n    address: AztecAddress,\n    length: u32,\n    args: [Field; N],\n) {}\n\n// While the length parameter might seem unnecessary given that we have N we keep it around because at the AVM bytecode\n// level, we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally take\n// that route.\n#[oracle(aztec_avm_staticCall)]\nunconstrained fn call_static_opcode<let N: u32>(\n    l2_gas_allocation: u32,\n    da_gas_allocation: u32,\n    address: AztecAddress,\n    length: u32,\n    args: [Field; N],\n) {}\n\n#[oracle(aztec_avm_successCopy)]\nunconstrained fn success_copy_opcode() -> bool {}\n\n#[oracle(aztec_avm_storageRead)]\nunconstrained fn storage_read_opcode(storage_slot: Field, contract_address: Field) -> Field {}\n\n#[oracle(aztec_avm_storageWrite)]\nunconstrained fn storage_write_opcode(storage_slot: Field, value: Field) {}\n"
    },
    "192": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr",
      "source": "use crate::protocol::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(aztec_prv_callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n    _contract_address: AztecAddress,\n    _function_selector: FunctionSelector,\n    _args_hash: Field,\n    _start_side_effect_counter: u32,\n    _is_static_call: bool,\n) -> [Field; 2] {}\n\npub unconstrained fn call_private_function_internal(\n    contract_address: AztecAddress,\n    function_selector: FunctionSelector,\n    args_hash: Field,\n    start_side_effect_counter: u32,\n    is_static_call: bool,\n) -> (u32, Field) {\n    let fields = call_private_function_oracle(\n        contract_address,\n        function_selector,\n        args_hash,\n        start_side_effect_counter,\n        is_static_call,\n    );\n\n    let mut reader = Reader::new(fields);\n    let end_side_effect_counter = reader.read_u32();\n    let returns_hash = reader.read();\n\n    (end_side_effect_counter, returns_hash)\n}\n"
    },
    "193": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/capsules.nr",
      "source": "use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}};\n\n/// Stores arbitrary information in a per-contract non-volatile database, which can later be retrieved with `load`. If\n/// data was already stored at this slot, it is overwritten.\n// TODO(F-498): review naming consistency\npub unconstrained fn store<T>(contract_address: AztecAddress, slot: Field, value: T, scope: AztecAddress)\nwhere\n    T: Serialize,\n{\n    let serialized = value.serialize();\n    set_capsule_oracle(contract_address, slot, serialized, scope);\n}\n\n/// Returns data previously stored via `storeCapsule` in the per-contract non-volatile database. Returns\n/// Option::none() if nothing was stored at the given slot.\n// TODO(F-498): review naming consistency\npub unconstrained fn load<T>(contract_address: AztecAddress, slot: Field, scope: AztecAddress) -> Option<T>\nwhere\n    T: Deserialize,\n{\n    let serialized_option = get_capsule_oracle(contract_address, slot, <T as Deserialize>::N, scope);\n    serialized_option.map(|arr| Deserialize::deserialize(arr))\n}\n\n/// Deletes data in the per-contract non-volatile database. Does nothing if no data was present.\npub unconstrained fn delete(contract_address: AztecAddress, slot: Field, scope: AztecAddress) {\n    delete_oracle(contract_address, slot, scope);\n}\n\n/// Copies a number of contiguous entries in the per-contract non-volatile database. This allows for efficient data\n/// structures by avoiding repeated calls to `loadCapsule` and `storeCapsule`. Supports overlapping source and\n/// destination regions (which will result in the overlapped source values being overwritten). All copied slots must\n/// exist in the database (i.e. have been stored and not deleted)\npub unconstrained fn copy(\n    contract_address: AztecAddress,\n    src_slot: Field,\n    dst_slot: Field,\n    num_entries: u32,\n    scope: AztecAddress,\n) {\n    copy_oracle(contract_address, src_slot, dst_slot, num_entries, scope);\n}\n\n#[oracle(aztec_utl_setCapsule)]\nunconstrained fn set_capsule_oracle<let N: u32>(\n    contract_address: AztecAddress,\n    slot: Field,\n    values: [Field; N],\n    scope: AztecAddress,\n) {}\n\n/// We need to pass in `array_len` (the value of N) as a parameter to tell the oracle how many fields the response must\n/// have.\n///\n/// Note that the oracle returns an Option<[Field; N]> because we cannot return an Option<T> directly. That would\n/// require for the oracle resolver to know the shape of T (e.g. if T were a struct of 3 u32 values then the expected\n/// response shape would be 3 single items, whereas it were a struct containing `u32, [Field;10], u32` then the\n/// expected shape would be single, array, single.). Instead, we return the serialization and deserialize in Noir.\n#[oracle(aztec_utl_getCapsule)]\nunconstrained fn get_capsule_oracle<let N: u32>(\n    contract_address: AztecAddress,\n    slot: Field,\n    array_len: u32,\n    scope: AztecAddress,\n) -> Option<[Field; N]> {}\n\n#[oracle(aztec_utl_deleteCapsule)]\nunconstrained fn delete_oracle(contract_address: AztecAddress, slot: Field, scope: AztecAddress) {}\n\n#[oracle(aztec_utl_copyCapsule)]\nunconstrained fn copy_oracle(\n    contract_address: AztecAddress,\n    src_slot: Field,\n    dst_slot: Field,\n    num_entries: u32,\n    scope: AztecAddress,\n) {}\n\nmod test {\n    // These tests are sort of redundant since we already test the oracle implementation directly in TypeScript, but\n    // they are cheap regardless and help ensure both that the TXE implementation works accordingly and that the Noir\n    // oracles are hooked up correctly.\n\n    use crate::{\n        oracle::capsules::{copy, delete, load, store},\n        test::{helpers::test_environment::TestEnvironment, mocks::MockStruct},\n    };\n    use crate::protocol::{address::AztecAddress, traits::{FromField, ToField}};\n\n    global SLOT: Field = 1;\n    global SCOPE: AztecAddress = AztecAddress { inner: 0xcafe };\n\n    #[test]\n    unconstrained fn stores_and_loads() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let value = MockStruct::new(5, 6);\n            store(contract_address, SLOT, value, SCOPE);\n\n            assert_eq(load(contract_address, SLOT, SCOPE).unwrap(), value);\n        });\n    }\n\n    #[test]\n    unconstrained fn store_overwrites() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let value = MockStruct::new(5, 6);\n            store(contract_address, SLOT, value, SCOPE);\n\n            let new_value = MockStruct::new(7, 8);\n            store(contract_address, SLOT, new_value, SCOPE);\n\n            assert_eq(load(contract_address, SLOT, SCOPE).unwrap(), new_value);\n        });\n    }\n\n    #[test]\n    unconstrained fn loads_empty_slot() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let loaded_value: Option<MockStruct> = load(contract_address, SLOT, SCOPE);\n            assert_eq(loaded_value, Option::none());\n        });\n    }\n\n    #[test]\n    unconstrained fn deletes_stored_value() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let value = MockStruct::new(5, 6);\n            store(contract_address, SLOT, value, SCOPE);\n            delete(contract_address, SLOT, SCOPE);\n\n            let loaded_value: Option<MockStruct> = load(contract_address, SLOT, SCOPE);\n            assert_eq(loaded_value, Option::none());\n        });\n    }\n\n    #[test]\n    unconstrained fn deletes_empty_slot() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            delete(contract_address, SLOT, SCOPE);\n            let loaded_value: Option<MockStruct> = load(contract_address, SLOT, SCOPE);\n            assert_eq(loaded_value, Option::none());\n        });\n    }\n\n    #[test]\n    unconstrained fn copies_non_overlapping_values() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let src = 5;\n\n            let values = [MockStruct::new(5, 6), MockStruct::new(7, 8), MockStruct::new(9, 10)];\n            store(contract_address, src, values[0], SCOPE);\n            store(contract_address, src + 1, values[1], SCOPE);\n            store(contract_address, src + 2, values[2], SCOPE);\n\n            let dst = 10;\n            copy(contract_address, src, dst, 3, SCOPE);\n\n            assert_eq(load(contract_address, dst, SCOPE).unwrap(), values[0]);\n            assert_eq(load(contract_address, dst + 1, SCOPE).unwrap(), values[1]);\n            assert_eq(load(contract_address, dst + 2, SCOPE).unwrap(), values[2]);\n        });\n    }\n\n    #[test]\n    unconstrained fn copies_overlapping_values_with_src_ahead() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let src = 1;\n\n            let values = [MockStruct::new(5, 6), MockStruct::new(7, 8), MockStruct::new(9, 10)];\n            store(contract_address, src, values[0], SCOPE);\n            store(contract_address, src + 1, values[1], SCOPE);\n            store(contract_address, src + 2, values[2], SCOPE);\n\n            let dst = 2;\n            copy(contract_address, src, dst, 3, SCOPE);\n\n            assert_eq(load(contract_address, dst, SCOPE).unwrap(), values[0]);\n            assert_eq(load(contract_address, dst + 1, SCOPE).unwrap(), values[1]);\n            assert_eq(load(contract_address, dst + 2, SCOPE).unwrap(), values[2]);\n\n            // src[1] and src[2] should have been overwritten since they are also dst[0] and dst[1]\n            assert_eq(load(contract_address, src, SCOPE).unwrap(), values[0]); // src[0] (unchanged)\n            assert_eq(load(contract_address, src + 1, SCOPE).unwrap(), values[0]); // dst[0]\n            assert_eq(load(contract_address, src + 2, SCOPE).unwrap(), values[1]); // dst[1]\n        });\n    }\n\n    #[test]\n    unconstrained fn copies_overlapping_values_with_dst_ahead() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            let src = 2;\n\n            let values = [MockStruct::new(5, 6), MockStruct::new(7, 8), MockStruct::new(9, 10)];\n            store(contract_address, src, values[0], SCOPE);\n            store(contract_address, src + 1, values[1], SCOPE);\n            store(contract_address, src + 2, values[2], SCOPE);\n\n            let dst = 1;\n            copy(contract_address, src, dst, 3, SCOPE);\n\n            assert_eq(load(contract_address, dst, SCOPE).unwrap(), values[0]);\n            assert_eq(load(contract_address, dst + 1, SCOPE).unwrap(), values[1]);\n            assert_eq(load(contract_address, dst + 2, SCOPE).unwrap(), values[2]);\n\n            // src[0] and src[1] should have been overwritten since they are also dst[1] and dst[2]\n            assert_eq(load(contract_address, src, SCOPE).unwrap(), values[1]); // dst[1]\n            assert_eq(load(contract_address, src + 1, SCOPE).unwrap(), values[2]); // dst[2]\n            assert_eq(load(contract_address, src + 2, SCOPE).unwrap(), values[2]); // src[2] (unchanged)\n        });\n    }\n\n    #[test(should_fail_with = \"copy empty slot\")]\n    unconstrained fn cannot_copy_empty_values() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n\n            copy(contract_address, SLOT, SLOT, 1, SCOPE);\n        });\n    }\n\n    #[test(should_fail_with = \"not allowed to access\")]\n    unconstrained fn cannot_store_other_contract() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let other_contract_address = AztecAddress::from_field(contract_address.to_field() + 1);\n\n            let value = MockStruct::new(5, 6);\n            store(other_contract_address, SLOT, value, SCOPE);\n        });\n    }\n\n    #[test(should_fail_with = \"not allowed to access\")]\n    unconstrained fn cannot_load_other_contract() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let other_contract_address = AztecAddress::from_field(contract_address.to_field() + 1);\n\n            let _: Option<MockStruct> = load(other_contract_address, SLOT, SCOPE);\n        });\n    }\n\n    #[test(should_fail_with = \"not allowed to access\")]\n    unconstrained fn cannot_delete_other_contract() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let other_contract_address = AztecAddress::from_field(contract_address.to_field() + 1);\n\n            delete(other_contract_address, SLOT, SCOPE);\n        });\n    }\n\n    #[test(should_fail_with = \"not allowed to access\")]\n    unconstrained fn cannot_copy_other_contract() {\n        let env = TestEnvironment::new();\n        env.private_context(|context| {\n            let contract_address = context.this_address();\n            let other_contract_address = AztecAddress::from_field(contract_address.to_field() + 1);\n\n            copy(other_contract_address, SLOT, SLOT, 0, SCOPE);\n        });\n    }\n}\n"
    },
    "194": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/contract_sync.nr",
      "source": "use crate::protocol::address::AztecAddress;\n\n#[oracle(aztec_utl_setContractSyncCacheInvalid)]\nunconstrained fn set_contract_sync_cache_invalid_oracle<let N: u32>(\n    contract_address: AztecAddress,\n    scopes: BoundedVec<AztecAddress, N>,\n) {}\n\n/// Forces the PXE to re-sync the given contract for a set of scopes on the next query.\n///\n/// Call this after writing data (e.g. offchain messages) that the contract's `sync_state` function needs to discover.\n/// Without invalidation, the sync cache would skip re-running `sync_state` until the next block.\npub unconstrained fn set_contract_sync_cache_invalid<let N: u32>(\n    contract_address: AztecAddress,\n    scopes: BoundedVec<AztecAddress, N>,\n) {\n    set_contract_sync_cache_invalid_oracle(contract_address, scopes);\n}\n"
    },
    "195": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/execution.nr",
      "source": "use crate::context::UtilityContext;\n\n#[oracle(aztec_utl_getUtilityContext)]\nunconstrained fn get_utility_context_oracle() -> UtilityContext {}\n\n/// Returns a utility context built from the global variables of anchor block and the contract address of the function\n/// being executed.\npub unconstrained fn get_utility_context() -> UtilityContext {\n    get_utility_context_oracle()\n}\n"
    },
    "196": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/execution_cache.nr",
      "source": "/// Stores values represented as slice in execution cache to be later obtained by its hash.\n// TODO(F-498): review naming consistency\npub fn store<let N: u32>(values: [Field; N], hash: Field) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n    // call. When loading the values, however, the caller must check that the values are indeed the preimage.\n    unsafe { set_hash_preimage_oracle_wrapper(values, hash) };\n}\n\nunconstrained fn set_hash_preimage_oracle_wrapper<let N: u32>(values: [Field; N], hash: Field) {\n    set_hash_preimage_oracle(values, hash);\n}\n\n// TODO(F-498): review naming consistency\npub unconstrained fn load<let N: u32>(hash: Field) -> [Field; N] {\n    get_hash_preimage_oracle(hash)\n}\n\n#[oracle(aztec_prv_setHashPreimage)]\nunconstrained fn set_hash_preimage_oracle<let N: u32>(_values: [Field; N], _hash: Field) {}\n\n#[oracle(aztec_prv_getHashPreimage)]\nunconstrained fn get_hash_preimage_oracle<let N: u32>(_hash: Field) -> [Field; N] {}\n"
    },
    "197": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr",
      "source": "use crate::protocol::{\n    address::AztecAddress, contract_class_id::ContractClassId, contract_instance::ContractInstance, traits::FromField,\n};\n\n// NOTE: this is for use in private only\n#[oracle(aztec_utl_getContractInstance)]\nunconstrained fn get_contract_instance_oracle(_address: AztecAddress) -> ContractInstance {}\n\n// NOTE: this is for use in private only\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> ContractInstance {\n    get_contract_instance_oracle(address)\n}\n\n// NOTE: this is for use in private only\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n    // Safety: The to_address function combines all values in the instance object to produce an address, so by checking\n    // that we get the expected address we validate the entire struct.\n    let instance = unsafe { get_contract_instance_internal(address) };\n    assert_eq(instance.to_address(), address);\n\n    instance\n}\n\nstruct GetContractInstanceResult {\n    exists: bool,\n    member: Field,\n}\n\n// These oracles each return a ContractInstance member plus a boolean indicating whether the instance was found.\n#[oracle(aztec_avm_getContractInstanceDeployer)]\nunconstrained fn get_contract_instance_deployer_oracle_avm(_address: AztecAddress) -> [GetContractInstanceResult; 1] {}\n#[oracle(aztec_avm_getContractInstanceClassId)]\nunconstrained fn get_contract_instance_class_id_oracle_avm(_address: AztecAddress) -> [GetContractInstanceResult; 1] {}\n#[oracle(aztec_avm_getContractInstanceInitializationHash)]\nunconstrained fn get_contract_instance_initialization_hash_oracle_avm(\n    _address: AztecAddress,\n) -> [GetContractInstanceResult; 1] {}\n\nunconstrained fn get_contract_instance_deployer_internal_avm(address: AztecAddress) -> [GetContractInstanceResult; 1] {\n    get_contract_instance_deployer_oracle_avm(address)\n}\nunconstrained fn get_contract_instance_class_id_internal_avm(address: AztecAddress) -> [GetContractInstanceResult; 1] {\n    get_contract_instance_class_id_oracle_avm(address)\n}\nunconstrained fn get_contract_instance_initialization_hash_internal_avm(\n    address: AztecAddress,\n) -> [GetContractInstanceResult; 1] {\n    get_contract_instance_initialization_hash_oracle_avm(address)\n}\n\npub fn get_contract_instance_deployer_avm(address: AztecAddress) -> Option<AztecAddress> {\n    // Safety: AVM opcodes are constrained by the AVM itself\n    let GetContractInstanceResult { exists, member } =\n        unsafe { get_contract_instance_deployer_internal_avm(address)[0] };\n    if exists {\n        Option::some(AztecAddress::from_field(member))\n    } else {\n        Option::none()\n    }\n}\npub fn get_contract_instance_class_id_avm(address: AztecAddress) -> Option<ContractClassId> {\n    // Safety: AVM opcodes are constrained by the AVM itself\n    let GetContractInstanceResult { exists, member } =\n        unsafe { get_contract_instance_class_id_internal_avm(address)[0] };\n    if exists {\n        Option::some(ContractClassId::from_field(member))\n    } else {\n        Option::none()\n    }\n}\npub fn get_contract_instance_initialization_hash_avm(address: AztecAddress) -> Option<Field> {\n    // Safety: AVM opcodes are constrained by the AVM itself\n    let GetContractInstanceResult { exists, member } =\n        unsafe { get_contract_instance_initialization_hash_internal_avm(address)[0] };\n    if exists {\n        Option::some(member)\n    } else {\n        Option::none()\n    }\n}\n"
    },
    "200": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/get_nullifier_membership_witness.nr",
      "source": "use crate::protocol::{\n    abis::{block_header::BlockHeader, nullifier_leaf_preimage::NullifierLeafPreimage},\n    constants::NULLIFIER_TREE_HEIGHT,\n    traits::{Deserialize, Hash, Serialize},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct NullifierMembershipWitness {\n    pub index: Field,\n    pub leaf_preimage: NullifierLeafPreimage,\n    pub path: [Field; NULLIFIER_TREE_HEIGHT],\n}\n\n#[oracle(aztec_utl_getLowNullifierMembershipWitness)]\nunconstrained fn get_low_nullifier_membership_witness_oracle(\n    _block_hash: Field,\n    _nullifier: Field,\n) -> NullifierMembershipWitness {}\n\n/// Returns a membership witness for the low nullifier of `nullifier` in the nullifier tree whose root is defined in\n/// `block_header`.\n///\n/// The low nullifier is the leaf with the largest value that is still smaller than `nullifier`. This is used to prove\n/// non-inclusion: if the low nullifier's `next_value` is greater than `nullifier`, then `nullifier` is not in the\n/// tree.\npub unconstrained fn get_low_nullifier_membership_witness(\n    block_header: BlockHeader,\n    nullifier: Field,\n) -> NullifierMembershipWitness {\n    let block_hash = block_header.hash();\n    get_low_nullifier_membership_witness_oracle(block_hash, nullifier)\n}\n\n#[oracle(aztec_utl_getNullifierMembershipWitness)]\nunconstrained fn get_nullifier_membership_witness_oracle(\n    _block_hash: Field,\n    _nullifier: Field,\n) -> NullifierMembershipWitness {}\n\n/// Returns a membership witness for `nullifier` in the nullifier tree whose root is defined in `block_header`.\n///\n/// This is used to prove that a nullifier exists in the tree (inclusion proof).\npub unconstrained fn get_nullifier_membership_witness(\n    block_header: BlockHeader,\n    nullifier: Field,\n) -> NullifierMembershipWitness {\n    let block_hash = block_header.hash();\n    get_nullifier_membership_witness_oracle(block_hash, nullifier)\n}\n"
    },
    "201": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/get_public_data_witness.nr",
      "source": "use crate::protocol::{\n    abis::block_header::BlockHeader,\n    constants::PUBLIC_DATA_TREE_HEIGHT,\n    data::PublicDataTreeLeafPreimage,\n    traits::{Deserialize, Hash, Serialize},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct PublicDataWitness {\n    pub index: Field,\n    pub leaf_preimage: PublicDataTreeLeafPreimage,\n    pub path: [Field; PUBLIC_DATA_TREE_HEIGHT],\n}\n\n#[oracle(aztec_utl_getPublicDataWitness)]\nunconstrained fn get_public_data_witness_oracle(\n    _block_hash: Field,\n    _public_data_tree_index: Field,\n) -> PublicDataWitness {}\n\npub unconstrained fn get_public_data_witness(\n    block_header: BlockHeader,\n    public_data_tree_index: Field,\n) -> PublicDataWitness {\n    let block_hash = block_header.hash();\n    get_public_data_witness_oracle(block_hash, public_data_tree_index)\n}\n"
    },
    "202": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr",
      "source": "use crate::protocol::abis::validation_requests::KeyValidationRequest;\n\n#[oracle(aztec_utl_getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(_pk_m_hash: Field, _key_index: Field) -> KeyValidationRequest {}\n\npub unconstrained fn get_key_validation_request(pk_m_hash: Field, key_index: Field) -> KeyValidationRequest {\n    get_key_validation_request_oracle(pk_m_hash, key_index)\n}\n"
    },
    "203": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/keys.nr",
      "source": "use crate::protocol::{\n    address::{AztecAddress, PartialAddress},\n    point::Point,\n    public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM},\n};\n\n// TODO(F-498): review naming consistency\npub unconstrained fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) {\n    try_get_public_keys_and_partial_address(address).expect(f\"Public keys not registered for account {address}\")\n}\n\n#[oracle(aztec_utl_getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> Option<[Field; 13]> {}\n\n// TODO(F-498): review naming consistency\npub unconstrained fn try_get_public_keys_and_partial_address(\n    address: AztecAddress,\n) -> Option<(PublicKeys, PartialAddress)> {\n    get_public_keys_and_partial_address_oracle(address).map(|result: [Field; 13]| {\n        let keys = PublicKeys {\n            npk_m: NpkM { inner: Point { x: result[0], y: result[1], is_infinite: result[2] != 0 } },\n            ivpk_m: IvpkM { inner: Point { x: result[3], y: result[4], is_infinite: result[5] != 0 } },\n            ovpk_m: OvpkM { inner: Point { x: result[6], y: result[7], is_infinite: result[8] != 0 } },\n            tpk_m: TpkM { inner: Point { x: result[9], y: result[10], is_infinite: result[11] != 0 } },\n        };\n\n        let partial_address = PartialAddress::from_field(result[12]);\n\n        (keys, partial_address)\n    })\n}\n"
    },
    "205": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr",
      "source": "use crate::protocol::address::AztecAddress;\n\n/// Finds new private logs that may have been sent to all registered accounts in PXE in the current contract and makes\n/// them available for later processing in Noir by storing them in a capsule array.\n// TODO(F-498): review naming consistency\npub unconstrained fn fetch_tagged_logs(pending_tagged_log_array_base_slot: Field, scope: AztecAddress) {\n    get_pending_tagged_logs_oracle(pending_tagged_log_array_base_slot, scope);\n}\n\n#[oracle(aztec_utl_getPendingTaggedLogs)]\nunconstrained fn get_pending_tagged_logs_oracle(pending_tagged_log_array_base_slot: Field, scope: AztecAddress) {}\n\n// This must be a single oracle and not one for notes and one for events because the entire point is to validate all\n// notes and events in one go, minimizing node round-trips.\npub(crate) unconstrained fn validate_and_store_enqueued_notes_and_events(\n    contract_address: AztecAddress,\n    note_validation_requests_array_base_slot: Field,\n    event_validation_requests_array_base_slot: Field,\n    max_note_packed_len: Field,\n    max_event_serialized_len: Field,\n    scope: AztecAddress,\n) {\n    validate_and_store_enqueued_notes_and_events_oracle(\n        contract_address,\n        note_validation_requests_array_base_slot,\n        event_validation_requests_array_base_slot,\n        max_note_packed_len,\n        max_event_serialized_len,\n        scope,\n    );\n}\n\n#[oracle(aztec_utl_validateAndStoreEnqueuedNotesAndEvents)]\nunconstrained fn validate_and_store_enqueued_notes_and_events_oracle(\n    contract_address: AztecAddress,\n    note_validation_requests_array_base_slot: Field,\n    event_validation_requests_array_base_slot: Field,\n    max_note_packed_len: Field,\n    max_event_serialized_len: Field,\n    scope: AztecAddress,\n) {}\n\npub(crate) unconstrained fn get_logs_by_tag(\n    contract_address: AztecAddress,\n    log_retrieval_requests_array_base_slot: Field,\n    log_retrieval_responses_array_base_slot: Field,\n    scope: AztecAddress,\n) {\n    get_logs_by_tag_oracle(\n        contract_address,\n        log_retrieval_requests_array_base_slot,\n        log_retrieval_responses_array_base_slot,\n        scope,\n    );\n}\n\n#[oracle(aztec_utl_getLogsByTag)]\nunconstrained fn get_logs_by_tag_oracle(\n    contract_address: AztecAddress,\n    log_retrieval_requests_array_base_slot: Field,\n    log_retrieval_responses_array_base_slot: Field,\n    scope: AztecAddress,\n) {}\n\npub(crate) unconstrained fn get_message_contexts_by_tx_hash(\n    contract_address: AztecAddress,\n    message_context_requests_array_base_slot: Field,\n    message_context_responses_array_base_slot: Field,\n    scope: AztecAddress,\n) {\n    get_message_contexts_by_tx_hash_oracle(\n        contract_address,\n        message_context_requests_array_base_slot,\n        message_context_responses_array_base_slot,\n        scope,\n    );\n}\n\n#[oracle(aztec_utl_getMessageContextsByTxHash)]\nunconstrained fn get_message_contexts_by_tx_hash_oracle(\n    contract_address: AztecAddress,\n    message_context_requests_array_base_slot: Field,\n    message_context_responses_array_base_slot: Field,\n    scope: AztecAddress,\n) {}\n"
    },
    "207": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/notes.nr",
      "source": "use crate::note::{HintedNote, note_interface::NoteType};\n\nuse crate::protocol::{address::AztecAddress, traits::Packable};\n\n/// Notifies the simulator that a note has been created, so that it can be returned in future read requests in the same\n/// transaction. This note should only be added to the non-volatile database if found in an actual block.\npub fn notify_created_note<let N: u32>(\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n    note_type_id: Field,\n    packed_note: [Field; N],\n    note_hash: Field,\n    counter: u32,\n) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n    // call.\n    unsafe {\n        notify_created_note_oracle_wrapper(\n            owner,\n            storage_slot,\n            randomness,\n            note_type_id,\n            packed_note,\n            note_hash,\n            counter,\n        )\n    };\n}\n\n/// Notifies the simulator that a note has been nullified, so that it is no longer returned in future read requests in\n/// the same transaction. This note should only be removed to the non-volatile database if its nullifier is found in an\n/// actual block.\npub fn notify_nullified_note(nullifier: Field, note_hash: Field, counter: u32) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n    // call.\n    unsafe { notify_nullified_note_oracle_wrapper(nullifier, note_hash, counter) };\n}\n\nunconstrained fn notify_created_note_oracle_wrapper<let N: u32>(\n    owner: AztecAddress,\n    storage_slot: Field,\n    randomness: Field,\n    note_type_id: Field,\n    packed_note: [Field; N],\n    note_hash: Field,\n    counter: u32,\n) {\n    notify_created_note_oracle(\n        owner,\n        storage_slot,\n        randomness,\n        note_type_id,\n        packed_note,\n        note_hash,\n        counter,\n    );\n}\n\n#[oracle(aztec_prv_notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n    _owner: AztecAddress,\n    _storage_slot: Field,\n    _randomness: Field,\n    _note_type_id: Field,\n    _packed_note: [Field; N],\n    _note_hash: Field,\n    _counter: u32,\n) {}\n\nunconstrained fn notify_nullified_note_oracle_wrapper(nullifier: Field, note_hash: Field, counter: u32) {\n    notify_nullified_note_oracle(nullifier, note_hash, counter);\n}\n\n#[oracle(aztec_prv_notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle(_nullifier: Field, _note_hash: Field, _counter: u32) {}\n\n#[oracle(aztec_utl_getNotes)]\nunconstrained fn get_notes_oracle<Note, let M: u32, let MaxNotes: u32>(\n    _owner: Option<AztecAddress>,\n    _storage_slot: Field,\n    _num_selects: u8,\n    _select_by_indexes: [u8; M],\n    _select_by_offsets: [u8; M],\n    _select_by_lengths: [u8; M],\n    _select_values: [Field; M],\n    _select_comparators: [u8; M],\n    _sort_by_indexes: [u8; M],\n    _sort_by_offsets: [u8; M],\n    _sort_by_lengths: [u8; M],\n    _sort_order: [u8; M],\n    _limit: u32,\n    _offset: u32,\n    _status: u8,\n    // This is always set to MAX_NOTES. We need to pass it to TS in order to correctly construct the BoundedVec\n    _max_notes: u32,\n    // This is always set to <HintedNote<Note> as Packable>::N. We need to pass it to TS in order to be able to\n    // correctly construct the BoundedVec there.\n    _packed_hinted_note_length: u32,\n) -> BoundedVec<[Field; <HintedNote<Note> as Packable>::N], MaxNotes>\nwhere\n    // TODO(https://github.com/noir-lang/noir/issues/9399): `Note: Packable` should work here.\n    HintedNote<Note>: Packable,\n{}\n\npub unconstrained fn get_notes<Note, let M: u32, let MaxNotes: u32>(\n    owner: Option<AztecAddress>,\n    storage_slot: Field,\n    num_selects: u8,\n    select_by_indexes: [u8; M],\n    select_by_offsets: [u8; M],\n    select_by_lengths: [u8; M],\n    select_values: [Field; M],\n    select_comparators: [u8; M],\n    sort_by_indexes: [u8; M],\n    sort_by_offsets: [u8; M],\n    sort_by_lengths: [u8; M],\n    sort_order: [u8; M],\n    limit: u32,\n    offset: u32,\n    status: u8,\n) -> [Option<HintedNote<Note>>; MaxNotes]\nwhere\n    Note: NoteType + Packable,\n{\n    let packed_hinted_notes: BoundedVec<[Field; <HintedNote<Note> as Packable>::N], MaxNotes> = get_notes_oracle::<Note, M, MaxNotes>(\n        owner,\n        storage_slot,\n        num_selects,\n        select_by_indexes,\n        select_by_offsets,\n        select_by_lengths,\n        select_values,\n        select_comparators,\n        sort_by_indexes,\n        sort_by_offsets,\n        sort_by_lengths,\n        sort_order,\n        limit,\n        offset,\n        status,\n        MaxNotes,\n        <HintedNote<Note> as Packable>::N,\n    );\n\n    let mut notes = BoundedVec::<_, MaxNotes>::new();\n    for i in 0..packed_hinted_notes.len() {\n        let hinted_note = HintedNote::unpack(packed_hinted_notes.get(i));\n        notes.push(hinted_note);\n    }\n\n    // At last we convert the bounded vector to an array of options. We do this because that is what the filter\n    // function needs to have on the output and we've decided to have the same type on the input and output of the\n    // filter and preprocessor functions.\n    //\n    // We have decided to have the same type on the input and output of the filter and preprocessor functions because\n    // it allows us to chain multiple filters and preprocessors together.\n    //\n    // So why do we want the array of options on the output of the filter function?\n    //\n    // Filter returns an array of options rather than a BoundedVec for performance reasons. Using an array of options\n    // allows setting values at known indices in the output array which is much more efficient than pushing to a\n    // BoundedVec where the write position depends on previous iterations. The array can then be efficiently converted\n    // to a BoundedVec using utils/array/collapse.nr::collapse function from Aztec.nr. This avoids expensive dynamic\n    // memory access patterns that would be required when building up a BoundedVec incrementally. For preprocessor\n    // functions we could use BoundedVec return value as there the optimization does not matter since it is applied in\n    // an unconstrained context. We, however, use the same return value type to be able to use the same function as\n    // both a preprocessor and a filter.\n    let mut notes_array = [Option::none(); MaxNotes];\n    for i in 0..notes.len() {\n        notes_array[i] = Option::some(notes.get_unchecked(i));\n    }\n\n    notes_array\n}\n\n// TODO: Oracles below are generic private log oracles and are not specific to notes. Move them somewhere else.\n\n/// Returns the next app tag for a given sender and recipient pair.\n///\n/// This also notifies the simulator that a tag has been used in a note, and to therefore increment the associated\n/// index so that future notes get a different tag and can be discovered by the recipient. This change should only be\n/// persisted in a non-volatile database if the tagged log is found in an actual block - otherwise e.g. a reverting\n/// transaction can cause the sender to accidentally skip indices and later produce notes that are not found by the\n/// recipient.\npub unconstrained fn get_next_app_tag_as_sender(sender: AztecAddress, recipient: AztecAddress) -> Field {\n    get_next_app_tag_as_sender_oracle(sender, recipient)\n}\n\n#[oracle(aztec_prv_getNextAppTagAsSender)]\nunconstrained fn get_next_app_tag_as_sender_oracle(_sender: AztecAddress, _recipient: AztecAddress) -> Field {}\n\n/// Gets the sender for tags.\n///\n/// This unconstrained value is used as the sender when computing an unconstrained shared secret for a tag in order to\n/// emit a log. Constrained tagging should not use this as there is no guarantee that the recipient knows about the\n/// sender, and hence about the shared secret.\n///\n/// The value persists through nested calls, meaning all calls down the stack will use the same 'senderForTags' value\n/// (unless it is replaced).\npub unconstrained fn get_sender_for_tags() -> Option<AztecAddress> {\n    get_sender_for_tags_oracle()\n}\n\n#[oracle(aztec_prv_getSenderForTags)]\nunconstrained fn get_sender_for_tags_oracle() -> Option<AztecAddress> {}\n\n/// Sets the sender for tags.\n///\n/// This unconstrained value is used as the sender when computing an unconstrained shared secret for a tag in order to\n/// emit a log. Constrained tagging should not use this as there is no guarantee that the recipient knows about the\n/// sender, and hence about the shared secret.\n///\n/// Account contracts typically set this value before calling other contracts. The value persists through nested calls,\n/// meaning all calls down the stack will use the same 'senderForTags' value (unless it is replaced by another call to\n/// this setter).\npub unconstrained fn set_sender_for_tags(sender_for_tags: AztecAddress) {\n    set_sender_for_tags_oracle(sender_for_tags);\n}\n\n#[oracle(aztec_prv_setSenderForTags)]\nunconstrained fn set_sender_for_tags_oracle(_sender_for_tags: AztecAddress) {}\n"
    },
    "208": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/nullifiers.nr",
      "source": "//! Nullifier creation, existence checks, etc.\n\nuse crate::protocol::address::aztec_address::AztecAddress;\n\n/// Notifies the simulator that a nullifier has been created, so that its correct status (pending or settled) can be\n/// determined when reading nullifiers in subsequent private function calls. The first non-revertible nullifier emitted\n/// is also used to compute note nonces.\npub fn notify_created_nullifier(inner_nullifier: Field) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n    // call.\n    unsafe { notify_created_nullifier_oracle(inner_nullifier) };\n}\n\n#[oracle(aztec_prv_notifyCreatedNullifier)]\nunconstrained fn notify_created_nullifier_oracle(_inner_nullifier: Field) {}\n\n/// Returns `true` if the nullifier has been emitted in the same transaction, i.e. if [`notify_created_nullifier`] has\n/// been\n/// called for this inner nullifier from the contract with the specified address.\n///\n/// Note that despite sharing pending transaction information with the app, this is not a privacy leak: anyone in the\n/// network can always determine in which transaction a inner nullifier was emitted by a given contract by simply\n/// inspecting transaction effects. What _would_ constitute a leak would be to share the list of inner pending\n/// nullifiers, as that would reveal their preimages.\npub unconstrained fn is_nullifier_pending(inner_nullifier: Field, contract_address: AztecAddress) -> bool {\n    is_nullifier_pending_oracle(inner_nullifier, contract_address)\n}\n\n#[oracle(aztec_prv_isNullifierPending)]\nunconstrained fn is_nullifier_pending_oracle(_inner_nullifier: Field, _contract_address: AztecAddress) -> bool {}\n\n/// Returns `true` if the nullifier exists. Note that a `true` value can be constrained by proving existence of the\n/// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before\n/// the current transaction is included in a block. While this might seem of little use at first, certain design\n/// patterns benefit from this abstraction (see e.g. `PrivateMutable`).\n// TODO(F-498): review naming consistency\npub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n    does_nullifier_exist_oracle(inner_nullifier)\n}\n\n#[oracle(aztec_utl_doesNullifierExist)]\nunconstrained fn does_nullifier_exist_oracle(_inner_nullifier: Field) -> bool {}\n"
    },
    "209": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/offchain_effect.nr",
      "source": "use crate::protocol::traits::Serialize;\n\n/// Emits data that will be delivered to PXE unaltered. This data can be interpreted freely by a downstream consumer\n/// (such as a wallet).\n///\n/// # Arguments\n///\n/// * `data` - The data to emit.\npub unconstrained fn emit_offchain_effect<T>(data: T)\nwhere\n    T: Serialize,\n{\n    emit_offchain_effect_oracle(data.serialize());\n}\n\n#[oracle(aztec_utl_emitOffchainEffect)]\nunconstrained fn emit_offchain_effect_oracle<let N: u32>(data: [Field; N]) {}\n"
    },
    "210": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr",
      "source": "/// Validates public calldata by checking that the preimage exists and the cumulative size is within limits.\n///\n/// The check is unconstrained and the only purpose of it is to fail early in case of calldata overflow or a bug in\n/// calldata hashing.\npub(crate) fn assert_valid_public_call_data(calldata_hash: Field) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects (validating the calldata).\n    // It is therefore always safe to call.\n    unsafe {\n        assert_valid_public_call_data_oracle_wrapper(calldata_hash)\n    }\n}\n\nunconstrained fn assert_valid_public_call_data_oracle_wrapper(calldata_hash: Field) {\n    assert_valid_public_call_data_oracle(calldata_hash)\n}\n\n#[oracle(aztec_prv_assertValidPublicCalldata)]\nunconstrained fn assert_valid_public_call_data_oracle(_calldata_hash: Field) {}\n"
    },
    "211": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/random.nr",
      "source": "/// Returns an unconstrained random value. Note that it is not possible to constrain this value to prove that it is\n/// truly random: we assume that the oracle is cooperating and returning random values. In some applications this\n/// behavior might not be acceptable and other techniques might be more suitable, such as producing pseudo-random\n/// values by hashing values outside of user control (like block hashes) or secrets.\npub unconstrained fn random() -> Field {\n    rand_oracle()\n}\n\n#[oracle(aztec_utl_getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n"
    },
    "212": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr",
      "source": "use crate::protocol::address::aztec_address::AztecAddress;\nuse crate::protocol::point::Point;\n\n#[oracle(aztec_utl_getSharedSecret)]\nunconstrained fn get_shared_secret_oracle(\n    address: AztecAddress,\n    ephPk: Point,\n    contract_address: AztecAddress,\n) -> Field {}\n\n/// Returns an app-siloed shared secret between `address` and someone who knows the secret key behind an ephemeral\n/// public key `ephPk`.\n///\n/// The returned value is a Field `s_app`, computed as:\n///\n/// ```text\n/// S     = address_secret * ephPk          (raw ECDH point)\n/// s_app = h(DOM_SEP, S.x, S.y, contract)  (app-siloed scalar)\n/// ```\n///\n/// where `contract` is the address of the calling contract. The oracle host validates this matches its execution\n/// context.\n///\n/// Without app-siloing, a malicious contract could call this oracle with public information (address, ephPk) and\n/// obtain the same raw secret as the legitimate contract, enabling cross-contract decryption. By including the\n/// contract address in the hash, each contract receives a different `s_app`, preventing this attack.\n///\n/// Callers derive indexed subkeys from `s_app` via\n/// [`derive_shared_secret_subkey`](crate::keys::ecdh_shared_secret::derive_shared_secret_subkey).\npub unconstrained fn get_shared_secret(address: AztecAddress, ephPk: Point, contract_address: AztecAddress) -> Field {\n    get_shared_secret_oracle(address, ephPk, contract_address)\n}\n"
    },
    "213": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/storage.nr",
      "source": "use crate::protocol::{abis::block_header::BlockHeader, address::AztecAddress, traits::{Hash, Packable, ToField}};\n\n#[oracle(aztec_utl_getFromPublicStorage)]\nunconstrained fn get_from_public_storage_oracle<let N: u32>(\n    block_hash: Field,\n    address: Field,\n    storage_slot: Field,\n    length: u32,\n) -> [Field; N] {}\n\n// TODO(F-498): review naming consistency\npub unconstrained fn raw_storage_read<let N: u32>(\n    block_hash_to_read_from: Field,\n    address: AztecAddress,\n    storage_slot: Field,\n) -> [Field; N] {\n    get_from_public_storage_oracle(block_hash_to_read_from, address.to_field(), storage_slot, N)\n}\n\n// TODO(F-498): review naming consistency\npub unconstrained fn storage_read<T>(header_to_read_from: BlockHeader, address: AztecAddress, storage_slot: Field) -> T\nwhere\n    T: Packable,\n{\n    let block_hash_to_read_from = header_to_read_from.hash();\n    T::unpack(\n        raw_storage_read(block_hash_to_read_from, address, storage_slot),\n    )\n}\n"
    },
    "214": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/tx_phase.nr",
      "source": "/// Notifies PXE of the side effect counter at which the revertible phase begins.\n///\n/// PXE uses it to classify notes and nullifiers as revertible or non-revertible in its note cache. This information is\n/// then fed to kernels as hints.\npub(crate) fn notify_revertible_phase_start(counter: u32) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to\n    // call.\n    unsafe { notify_revertible_phase_start_oracle_wrapper(counter) };\n}\n\n/// Returns whether a side effect counter falls in the revertible phase of the transaction.\npub(crate) unconstrained fn is_execution_in_revertible_phase(current_counter: u32) -> bool {\n    is_execution_in_revertible_phase_oracle(current_counter)\n}\n\nunconstrained fn notify_revertible_phase_start_oracle_wrapper(counter: u32) {\n    notify_revertible_phase_start_oracle(counter);\n}\n\n#[oracle(aztec_prv_notifyRevertiblePhaseStart)]\nunconstrained fn notify_revertible_phase_start_oracle(_counter: u32) {}\n\n#[oracle(aztec_prv_isExecutionInRevertiblePhase)]\nunconstrained fn is_execution_in_revertible_phase_oracle(current_counter: u32) -> bool {}\n"
    },
    "215": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/oracle/version.nr",
      "source": "/// The ORACLE_VERSION constant is used to check that the oracle interface is in sync between PXE and Aztec.nr. We need\n/// to version the oracle interface to ensure that developers get a reasonable error message if they use incompatible\n/// versions of Aztec.nr and PXE. The TypeScript counterpart is in `oracle_version.ts`.\n///\n/// @dev Whenever a contract function or Noir test is run, the `aztec_utl_assertCompatibleOracleVersion` oracle is\n/// called and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 22;\n\n/// Asserts that the version of the oracle is compatible with the version expected by the contract.\npub fn assert_compatible_oracle_version() {\n    // Safety: This oracle call returns nothing: we only call it to check Aztec.nr and Oracle interface versions are\n    // compatible. It is therefore always safe to call.\n    unsafe {\n        assert_compatible_oracle_version_wrapper();\n    }\n}\n\nunconstrained fn assert_compatible_oracle_version_wrapper() {\n    assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n}\n\n#[oracle(aztec_utl_assertCompatibleOracleVersion)]\nunconstrained fn assert_compatible_oracle_version_oracle(version: Field) {}\n\nmod test {\n    use super::{assert_compatible_oracle_version_oracle, ORACLE_VERSION};\n\n    #[test]\n    unconstrained fn compatible_oracle_version() {\n        assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n    }\n\n    #[test(should_fail_with = \"Incompatible aztec cli version:\")]\n    unconstrained fn incompatible_oracle_version() {\n        let arbitrary_incorrect_version = 318183437;\n        assert_compatible_oracle_version_oracle(arbitrary_incorrect_version);\n    }\n}\n"
    },
    "219": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/state_vars/map.nr",
      "source": "use crate::protocol::{storage::map::derive_storage_slot_in_map, traits::ToField};\nuse crate::state_vars::StateVariable;\n\n/// A key-value container for state variables.\n///\n/// A key-value storage container that maps keys to state variables, similar to Solidity mappings.\n///\n/// `Map` enables you to associate keys (like addresses or other identifiers) with state variables in your Aztec smart\n/// contract. This is conceptually similar to Solidity's `mapping(K => V)` syntax, where you can store and retrieve\n/// values by their associated keys.\n///\n/// You can declare a state variable contained within a Map in your contract's\n/// [`storage`](crate::macros::storage::storage) struct.\n///\n/// For example, you might use `Map<AztecAddress, PublicMutable<FieldNote, Context>, Context>` to track token balances\n/// for different users, similar to how you'd use `mapping(address => uint256)` in Solidity.\n///\n/// > Aside: the verbose `Context` in the declaration is a consequence of > leveraging Noir's regular syntax for\n/// generics to ensure that certain > state variable methods can only be called in some contexts (private, > public,\n/// utility).\n///\n/// The methods of Map are:\n/// - `at` (access state variable for a given key) (see the method's own doc comments for more info).\n///\n/// ## Generic Parameters\n/// - `K`: The key type (must implement `ToField` trait for hashing)\n/// - `V`: The value type:\n/// - any Aztec state variable (variable that implements the StateVariable trait):\n/// - `PublicMutable`\n/// - `PublicImmutable`\n/// - `DelayedPublicMutable`\n/// - `Map`\n/// - `Context`: The execution context (handles private/public function contexts)\n///\n/// ## Usage Maps are typically declared in your contract's [`storage`](crate::macros::storage::storage) struct and accessed using the `at(key)` method to get the state variable for a specific key. The resulting state variable can then be read from or written to using its own methods.\n///\n/// Note that maps cannot be used with owned state variables (variables that implement the OwnedStateVariable trait) -\n/// those need to be wrapped in an `Owned` state variable instead.\n///\n/// ## Advanced Internally, `Map` uses a single base storage slot to represent the mapping itself, similar to Solidity's approach. Individual key-value pairs are stored at derived storage slots computed by hashing the base storage slot with the key using Poseidon2. This ensures:\n/// - No storage slot collisions between different keys\n/// - Uniform distribution of storage slots across the storage space\n/// - Compatibility with Aztec's storage tree structure\n/// - Gas-efficient storage access patterns similar to Solidity mappings\n///\n/// The storage slot derivation uses `derive_storage_slot_in_map(base_slot, key)` which computes\n/// `poseidon2_hash([base_slot, key.to_field()])`, ensuring cryptographically secure slot separation.\n///\n/// docs:start:map\npub struct Map<K, V, Context> {\n    pub context: Context,\n    storage_slot: Field,\n}\n\n// Map reserves a single storage slot regardless of what it stores because nothing is stored at said slot: it is only\n// used to derive the storage slots of nested state variables, which is expected to never result in collisions or slots\n// being close to one another due to these being hashes. This mirrors the strategy adopted by Solidity mappings.\nimpl<K, V, Context> StateVariable<1, Context> for Map<K, V, Context> {\n    fn new(context: Context, storage_slot: Field) -> Self {\n        assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n        Map { context, storage_slot }\n    }\n\n    fn get_storage_slot(self) -> Field {\n        self.storage_slot\n    }\n}\n\nimpl<K, V, Context> Map<K, V, Context> {\n    /// Returns the state variable associated with the given key.\n    ///\n    /// This is equivalent to accessing `mapping[`key`]` in Solidity. It returns the state variable instance for the\n    /// specified key, which can then be used to read or write the value at that key.\n    ///\n    /// Unlike Solidity mappings which return the value directly, this returns the state variable wrapper (like\n    /// PublicMutable, nested Map etc.) that you then call methods on to interact with the actual value.\n    ///\n    /// # Arguments\n    ///\n    /// * `key` - The key to look up in the map. Must implement the ToField trait (which most basic Noir & Aztec types\n    /// do).\n    ///\n    /// # Returns\n    ///\n    /// * `V` - The state variable instance for this key. You can then call methods like `.read()`, `.write()`,\n    /// `.get_note()`, etc. on this depending on the specific state variable type.\n    ///\n    /// # Example\n    ///\n    /// ```noir\n    /// // Get a user's balance (assuming PrivateMutable<FieldNote>)\n    /// let user_balance = self.storage.balances.at(user_address);\n    /// let current_note = user_balance.get_note();\n    ///\n    /// // Update the balance\n    /// user_balance.replace(new_note);\n    /// ```\n    ///\n    pub fn at<let N: u32>(self, key: K) -> V\n    where\n        K: ToField,\n        V: StateVariable<N, Context>,\n    {\n        V::new(\n            self.context,\n            derive_storage_slot_in_map(self.storage_slot, key),\n        )\n    }\n}\n"
    },
    "228": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/state_vars/private_set.nr",
      "source": "use crate::{\n    context::{PrivateContext, UtilityContext},\n    note::{\n        ConfirmedNote,\n        constants::MAX_NOTES_PER_PAGE,\n        lifecycle::{create_note, destroy_note},\n        note_getter::{get_notes, view_notes},\n        note_getter_options::NoteGetterOptions,\n        note_interface::{NoteHash, NoteType},\n        note_viewer_options::NoteViewerOptions,\n        NoteMessage,\n    },\n    state_vars::OwnedStateVariable,\n};\nuse crate::protocol::{address::AztecAddress, constants::MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, traits::Packable};\n\nmod test;\n\n/// Per-account aggregated private state.\n///\n/// PrivateSet is an owned state variable type, which enables you to read, mutate, and write private state. Because it\n/// is \"owned,\" you must wrap a PrivateSet inside an Owned state variable when storing it:\n///\n/// E.g.:\n/// ```noir\n/// #[storage]\n/// struct Storage<Context> {\n///     your_variable: Owned<PrivateSet<YourNote, Context>, Context>,\n/// }\n/// ```\n///\n/// For more details on what \"owned\" means, see the documentation for the [`OwnedStateVariable`] trait.\n///\n/// The PrivateSet facilitates: the insertion of new notes, the reading of existing notes, and the nullification of\n/// existing notes.\n///\n/// The \"current value\" of a PrivateSet is the collection of all _not-yet-nullified_ account's notes in the set.\n///\n///\n/// ## Example.\n///\n/// A user's token balance can be represented as a PrivateSet of multiple notes, where the note type contains a value.\n/// The \"current value\" of the user's token balance (the PrivateSet state variable) can be interpreted as the summation\n/// of the values contained within all not-yet-nullified notes (aka \"current notes\") in the PrivateSet.\n///\n/// This is similar to a physical wallet containing five $10 notes: the owner's wallet balance is the sum of all those\n/// $10 notes: $50. To spend $2, they can get one $10 note, nullify it, and insert one $8 note as change. Their new\n/// wallet balance will then be interpreted as the new summation: $48.\n///\n/// The interpretation doesn't always have to be a \"summation of values\". When `get_notes` is called, PrivateSet does\n/// not attempt to interpret the notes at all; it's up to the custom code of the smart contract to make an\n/// interpretation.\n///\n/// For example: a set of notes could instead represent a moving average; or a modal value; or some other single\n/// statistic. Or the set of notes might not be collapsible into a single statistic: it could be a disjoint collection\n/// of NFTs which are housed under the same \"storage slot\".\n///\n/// It's worth noting that a user can prove existence of _at least_ some subset of notes in a PrivateSet, but they\n/// cannot prove existence of _all_ notes in a PrivateSet. The physical wallet is a good example: a user can prove that\n/// there are five $10 notes in their wallet by furnishing those notes. But because we cannot _see_ the entirety of\n/// their wallet, they might have many more notes that they're choosing to not showing us.\n///\n/// ## When to choose PrivateSet vs PrivateMutable:\n///\n/// - If you want _someone else_ (other than the owner of the private state) to be able to make edits (insert notes).\n/// - If you don't want to leak the storage_slot being initialized (see the PrivateMutable file).\n/// - If you find yourself needing to re-initialize a PrivateMutable (see that file).\n///\n/// The 'current' value of a _PrivateMutable_ state variable is only ever represented by _one_ note at a time. To\n/// mutate the current value of a PrivateMutable, the current note always gets nullified, and a new, replacement note\n/// gets inserted. So if nullification is always required to mutate a PrivateMutable, that means only the 'owner' of a\n/// given PrivateMutable state variable can ever mutate it. For some use cases, this can be too limiting: A key feature\n/// of some smart contract functions is that _multiple people_ are able to mutate a particular state variable.\n///\n/// PrivateSet enables \"other people\" (other than the owner of the private state) to mutate the 'current' value, with\n/// some limitations: The 'owner' is still the only person with the ability to `remove` notes from the the set. \"Other\n/// people\" can `insert` notes into the set.\n///\n/// ## Privacy\n///\n/// The methods of a PrivateSet are only executable in a PrivateContext, and are designed to not leak anything about\n/// _which_ state variable was read/modified/ inserted, to the outside world.\n///\n/// # Struct Fields:\n///\n/// * context - The execution context (PrivateContext or UtilityContext).\n/// * storage_slot -  All notes that \"belong\" to a given PrivateSet state variable are augmented with a common\n/// `storage_slot` field, as a way of identifying which set they belong to. (Management of `storage_slot` is handled\n/// within the innards of the PrivateSet impl, so you shouldn't need to think about this any further).\n///\n///\n/// # Generic Parameters:\n///\n/// * `Note` - Many notes of this type will collectively form the PrivateSet at the given storage_slot.\n/// * `Context` - The execution context (PrivateContext or UtilityContext).\n///\npub struct PrivateSet<Note, Context> {\n    pub context: Context,\n    pub storage_slot: Field,\n    pub owner: AztecAddress,\n}\n\nimpl<Note, Context> OwnedStateVariable<Context> for PrivateSet<Note, Context> {\n    fn new(context: Context, storage_slot: Field, owner: AztecAddress) -> Self {\n        Self { context, storage_slot, owner }\n    }\n}\n\nimpl<Note> PrivateSet<Note, &mut PrivateContext>\nwhere\n    Note: NoteType + NoteHash + Eq,\n{\n    /// Inserts a new `note` into the PrivateSet.\n    ///\n    /// # Arguments\n    ///\n    /// - `note` - A newly-created note that you would like to insert into this PrivateSet.\n    ///\n    /// # Returns\n    ///\n    /// - NoteMessage<Note> - A type-safe wrapper which makes it clear to the smart contract dev that they now have a\n    /// choice: they need to decide whether they would like to send the contents of the newly- created note to someone,\n    /// or not. If they would like to, they have some further choices:\n    /// - What kind of log to use? (Private log, or offchain log).\n    /// - What kind of encryption scheme to use? (Currently only AES128 is supported)\n    /// - Whether to _constrain_ delivery of the note, or not. At the moment, aztec-nr provides limited options. You\n    /// can call `.deliver()` on the returned type to encrypt and log the note. See NoteMessage for more details. >\n    /// Note: We're planning a _significant_ refactor of this syntax, to make the syntax of how to encrypt and deliver\n    /// notes much clearer, and to make the default options much clearer to developers. We will also be enabling easier\n    /// ways to customize your own note encryption options.\n    ///\n    /// # Advanced:\n    ///\n    /// Ultimately, this function inserts the `note` into the protocol's Note Hash Tree. Behind the scenes, we do the\n    /// following:\n    /// - Augment the note with the `storage_slot` of this PrivateSet, to convey which set it belongs to.\n    /// - Augment the note with a `note_type_id`, so that it can be correctly filed- away when it is eventually\n    /// discovered, decrypted, and processed by its intended recipient. (The note_type_id is usually allocated by the\n    /// [`note`](crate::macros::notes::note) macro).\n    /// - Provide the contents of the (augmented) note to the PXE, so that it can store all notes created by the user\n    /// executing this function.\n    /// - The note is also kept in the PXE's memory during execution, in case this newly-created note gets _read_ in\n    /// some later execution frame of this transaction. In such a case, we feed hints to the kernel to squash: the\n    /// so-called \"transient note\", its note log (if applicable), and the nullifier that gets created by the reading\n    /// function.\n    /// - Hash the (augmented) note into a single Field, via the note's own `compute_note_hash` method.\n    /// - Push the `note_hash` to the PrivateContext. From here, the protocol's kernel circuits will take over and\n    /// insert the note_hash into the protocol's \"note hash tree\".\n    /// - Before insertion, the protocol will:\n    /// - \"Silo\" the `note_hash` with the `contract_address` of the calling function, to yield a `siloed_note_hash`.\n    /// This prevents state collisions between different smart contracts.\n    /// - Ensure uniqueness of the `siloed_note_hash`, to prevent Faerie-Gold attacks, by hashing the\n    /// `siloed_note_hash` with a unique value, to yield a `unique_siloed_note_hash` (see the protocol spec for more).\n    ///\n    pub fn insert(self, note: Note) -> NoteMessage<Note>\n    where\n        Note: Packable,\n    {\n        create_note(self.context, self.owner, self.storage_slot, note)\n    }\n\n    /// Pops a collection of \"current\" notes (i.e. not-yet-nullified notes) which belong to this PrivateSet.\n    ///\n    /// \"Pop\" indicates that, conceptually, the returned notes will get _permanently removed_ (nullified) from the\n    /// PrivateSet by this method.\n    ///\n    /// The act of nullifying convinces us that the returned notes are indeed \"current\" (because if they can be\n    /// nullified, it means they haven't been nullified already, because a note can only be nullified once).\n    ///\n    /// This means that -- whilst the returned notes should be considered \"current\" within the currently-executing\n    /// execution frame of the tx -- they will be not be considered \"current\" by any _later_ execution frame of this tx\n    /// (or any future tx).\n    ///\n    /// Notes will be selected from the PXE's database, via an oracle call, according to the filtering `options`\n    /// provided.\n    ///\n    /// # Arguments\n    ///\n    /// - `options` - See NoteGetterOptions. Enables the caller to specify the properties of the notes that must be\n    /// returned by the oracle call to the PXE. The NoteGetterOptions are designed to contain functions which\n    /// _constrain_ that the returned notes do indeed adhere to the specified options. Those functions are executed\n    /// _within_ this `pop_notes` call.\n    ///\n    /// # Returns\n    ///\n    /// - BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\n    /// - A vector of \"current\" notes, that have been constrained to satisfy the retrieval criteria specified by the\n    /// given `options`.\n    ///\n    /// # Generic Parameters\n    ///\n    /// * `PreprocessorArgs` - See `NoteGetterOptions`.\n    /// * `FilterArgs` - See `NoteGetterOptions`.\n    /// * `M` - The length of the note (in Fields), when packed by the Packable trait.\n    ///\n    /// # Advanced:\n    ///\n    /// Reads the notes:\n    ///\n    /// - Gets notes from the PXE, via an oracle call, according to the filtering `options` provided.\n    /// - Constrains that the returned notes do indeed adhere to the `options`. (Note: the `options` contain\n    /// _constrained_ functions that get invoked _within_ this function).\n    /// - Asserts that the notes do indeed belong to this calling function's `contract_address`, and to this\n    /// PrivateSet's `storage_slot`.\n    /// - Computes the note_hash for each note, using the `storage_slot` and `contract_address` of this PrivateSet\n    /// instance.\n    /// - Asserts that the note_hash does indeed exist:\n    /// - For settled notes: makes a request to the kernel to perform a merkle membership check against the historical\n    /// Note Hashes Tree that this tx is referencing.\n    /// - For transient notes: makes a request to the kernel to ensure that the note was indeed emitted by some earlier\n    /// execution frame of this tx.\n    ///\n    /// Nullifies the notes:\n    ///\n    /// - Computes the nullifier for each note.\n    /// - (The nullifier computation differs depending on whether the note is settled or transient).\n    /// - Pushes the nullifiers to the PrivateContext. From here, the protocol's kernel circuits will take over and\n    /// insert the nullifiers into the protocol's \"nullifier tree\".\n    /// - Before insertion, the protocol will:\n    /// - \"Silo\" each `nullifier` with the `contract_address` of the calling function, to yield a `siloed_nullifier`.\n    /// This prevents nullifier collisions between different smart contracts.\n    /// - Ensure that each `siloed_nullifier` does not already exist in the nullifier tree. The nullifier tree is an\n    /// indexed merkle tree, which supports efficient non-membership proofs.\n    ///\n    pub fn pop_notes<PreprocessorArgs, FilterArgs, let M: u32>(\n        self,\n        mut options: NoteGetterOptions<Note, M, PreprocessorArgs, FilterArgs>,\n    ) -> BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\n    where\n        Note: Packable<N = M>,\n    {\n        std::static_assert(options.owner.is_none(), \"Owner cannot be set in pop_notes\");\n\n        let options = options.set_owner(self.owner);\n        let confirmed_notes = get_notes(self.context, self.storage_slot, options);\n        // We iterate in a range 0..options.limit instead of 0..notes.len() because options.limit is known at compile\n        // time and hence will result in fewer constraints when set to a lower value than\n        // MAX_NOTE_HASH_READ_REQUESTS_PER_CALL.\n        for i in 0..options.limit {\n            if i < confirmed_notes.len() {\n                let confirmed_note = confirmed_notes.get_unchecked(i);\n                // We immediately destroy the note without doing any of the read request checks `remove` typically\n                // performs because we know that the `get_notes` call has already placed those constraints.\n                destroy_note(self.context, confirmed_note);\n            }\n        }\n\n        // Since the notes were already destroyed, we no longer need the additional data in ConfirmedNote and can\n        // discard it.\n        confirmed_notes.map(|confirmed_note| confirmed_note.note)\n    }\n\n    /// Permanently removes (conceptually) the given note from this PrivateSet, by nullifying it.\n    ///\n    /// Note that if you obtained the note via `get_notes` it's much better to use `pop_notes`, as `pop_notes` results\n    /// in significantly fewer constraints, due to avoiding an extra hash and read request check.\n    ///\n    /// # Arguments\n    ///\n    /// - `confirmed_note` - A note which -- earlier in the calling function's execution -- has been retrieved from the\n    /// PXE. The `confirmed_note` is constrained to have been read from the i\n    ///\n    /// # Returns\n    ///\n    /// - NoteMessage<Note> - A type-safe wrapper which makes it clear to the smart contract dev that they now have a\n    /// choice: they need to decide whether they would like to send the contents of the newly- created note to someone,\n    /// or not. If they would like to, they have some further choices:\n    /// - What kind of log to use? (Private log, or offchain log).\n    /// - What kind of encryption scheme to use? (Currently only AES128 is supported)\n    /// - Whether to _constrain_ delivery of the note, or not. At the moment, aztec-nr provides limited options. See\n    /// NoteMessage for further details. > Note: We're planning a _significant_ refactor of this syntax, to make the\n    /// syntax of how to encrypt and deliver notes much clearer, and to make the default options much clearer to\n    /// developers. We will also be enabling easier ways to customize your own note encryption options.\n    ///\n    pub fn remove(self, confirmed_note: ConfirmedNote<Note>) {\n        destroy_note(self.context, confirmed_note);\n    }\n\n    /// Returns a filtered collection of notes from the set.\n    ///\n    /// DANGER: the returned notes do not get nullified within this `get_notes` function, and so they cannot\n    /// necessarily be considered \"current\" notes. I.e. you might be reading notes that have already been nullified. It\n    /// is this which distinguishes `get_notes` from `pop_notes`.\n    ///\n    /// Note that if you later on remove the note it's much better to use `pop_notes` as `pop_notes` results in\n    /// significantly fewer constrains due to avoiding 1 read request check. If you need for your app to see the notes\n    /// before it can decide which to nullify (which ideally would not be the case, and you'd be able to rely on the\n    /// filter and preprocessor to do this), then you have no resort but to call `get_notes` and then `remove`.\n    ///\n    /// Notes will be selected from the PXE's database, via an oracle call, according to the filtering `options`\n    /// provided.\n    ///\n    /// # Arguments\n    ///\n    /// - `options` - See NoteGetterOptions. Enables the caller to specify the properties of the notes that must be\n    /// returned by the oracle call to the PXE. The NoteGetterOptions are designed to contain functions which\n    /// _constrain_ that the returned notes do indeed adhere to the specified options. Those functions are executed\n    /// _within_ this `pop_notes` call.\n    ///\n    /// # Returns\n    ///\n    /// - BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\n    /// - A vector of \"current\" notes, that have been constrained to satisfy the retrieval criteria specified by the\n    /// given `options`.\n    ///\n    /// # Generic Parameters\n    ///\n    /// * `PreprocessorArgs` - See `NoteGetterOptions`.\n    /// * `FilterArgs` - See `NoteGetterOptions`.\n    /// * `M` - The length of the note (in Fields), when packed by the Packable trait.\n    ///\n    /// # Advanced:\n    ///\n    /// Reads the notes:\n    ///\n    /// - Gets notes from the PXE, via an oracle call, according to the filtering `options` provided.\n    /// - Constrains that the returned notes do indeed adhere to the `options`. (Note: the `options` contain\n    /// _constrained_ functions that get invoked _within_ this function).\n    /// - Asserts that the notes do indeed belong to this calling function's `contract_address`, and to this\n    /// PrivateSet's `storage_slot`.\n    /// - Computes the note_hash for each note, using the `storage_slot` and `contract_address` of this PrivateSet\n    /// instance.\n    /// - Asserts that the note_hash does indeed exist:\n    /// - For settled notes: makes a request to the kernel to perform a merkle membership check against the historical\n    /// Note Hashes Tree that this tx is referencing.\n    /// - For transient notes: makes a request to the kernel to ensure that the note was indeed emitted by some earlier\n    /// execution frame of this tx.\n    ///\n    pub fn get_notes<PreprocessorArgs, FilterArgs, let M: u32>(\n        self,\n        mut options: NoteGetterOptions<Note, M, PreprocessorArgs, FilterArgs>,\n    ) -> BoundedVec<ConfirmedNote<Note>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>\n    where\n        Note: Packable<N = M>,\n    {\n        std::static_assert(options.owner.is_none(), \"Owner cannot be set in get_notes\");\n\n        let options = options.set_owner(self.owner);\n        get_notes(self.context, self.storage_slot, options)\n    }\n}\n\nimpl<Note> PrivateSet<Note, UtilityContext>\nwhere\n    Note: NoteType + NoteHash + Eq,\n{\n    /// Returns a collection of notes which belong to this PrivateSet, according to the given selection `options`.\n    ///\n    /// Notice that this function is executable only within a UtilityContext, which is an unconstrained environment on\n    /// the user's local device.\n    ///\n    /// # Arguments\n    ///\n    /// - `options` - See NoteGetterOptions. Enables the caller to specify the properties of the notes that must be\n    /// returned by the oracle call to the PXE.\n    ///\n    pub unconstrained fn view_notes(\n        self,\n        mut options: NoteViewerOptions<Note, <Note as Packable>::N>,\n    ) -> BoundedVec<Note, MAX_NOTES_PER_PAGE>\n    where\n        Note: Packable,\n    {\n        std::static_assert(options.owner.is_none(), \"Owner cannot be set in view_notes\");\n\n        let options = options.set_owner(self.owner);\n        view_notes(self.storage_slot, options)\n    }\n}\n"
    },
    "230": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/state_vars/public_immutable.nr",
      "source": "use crate::{\n    context::{PrivateContext, PublicContext, UtilityContext},\n    nullifier::utils::compute_nullifier_existence_request,\n    oracle::nullifiers::check_nullifier_exists,\n    state_vars::StateVariable,\n    utils::WithHash,\n};\nuse crate::protocol::{\n    constants::DOM_SEP__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator, traits::Packable,\n};\n\nmod test;\n\n/// Immutable public values.\n///\n/// This is one of the most basic public state variables. It is similar to an `immutable` or `constant` Solidity state\n/// variable.\n///\n/// It represents a public value of type `T` that can be initialized **just once** during the lifetime of the contract,\n/// allowing this single value to be read.\n///\n/// Unlike Solidity's `immutable` or `constant`, a `PublicImmutable`'s initialization does not need to occur during\n/// contract initialization - it can happen at any point in time (but only once). This also makes it possible to have a\n/// [`Map`](crate::state_vars::Map) of `PublicImmutable`s.\n///\n/// ## Access Patterns\n///\n/// A value stored in a `PublicImmutable` can be read and initialized from public contract functions.\n///\n/// Unlike [`PublicMutable`](crate::state_vars::PublicMutable) it is **also** possible to read a `PublicImmutable` from\n/// a private contract function, though it is not possible to initialize one. A common pattern is to have these\n/// functions [enqueue a public self calls](crate::contract_self::ContractSelfPrivate::enqueue_self) in which the\n/// initialization operation is performed.\n///\n/// For a mutable (with restrictions) variant which also can be read from private functions see\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable).\n///\n/// ## Privacy\n///\n/// `PublicImmutable` provides zero privacy in terms of the value stored and any public accesses: the entire network\n/// can see these and the data involved.\n///\n/// Reading a `PublicImmutable` from a private contract function however is completely private, and leaks zero\n/// information about the fact that the value was read.\n///\n/// ## Use Cases\n///\n/// This is suitable for any kind of fixed global configuration that needs to be accessible by private contract\n/// functions, such as token decimals, related contracts in a multi-contract configuration, etc.\n///\n/// It is also useful for fixed per-user configuration by combining it with a [`Map`](crate::state_vars::Map), e.g. a\n/// registry of their account types.\n///\n/// `PublicImmutable`'s main limitation is the immutability, which in many cases leads to\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable) being used instead. But in those cases where\n/// fixed values are not a problem, this is a fine choice for storage.\n///\n/// ## Examples\n///\n/// Declaring a `PublicImmutable` in the contract's [`storage`](crate::macros::storage::storage) struct requires\n/// specifying the type `T` that is stored in the variable:\n///\n/// ```noir\n/// #[storage]\n/// struct Storage<C> {\n///     decimals: PublicImmutable<u8, C>,\n///\n///     account_types: Map<AztecAddress, PublicImmutable<AccountType, C>, C>,\n/// }\n/// ```\n///\n/// ## Requirements\n///\n/// The type `T` stored in the `PublicImmutable` must implement the `Eq` and\n/// [`Packable`](crate::protocol::traits::Packable) traits.\n///\n/// ## Implementation Details\n///\n/// Values are packed and stored directly in the public storage tree, along with the hash of the packed representation.\n/// A `PublicImmutable` therefore takes up as many storage slots as the packing length of the stored type `T`, plus\n/// one. This hash allows for efficient private reads, such that only a single public storage value is read. For more\n/// details, see [`WithHash`](crate::utils::WithHash).\n///\n/// An initialization nullifier prevents re-initialization of the `PublicImmutable`. This allows reading an initialized\n/// `PublicImmutable` from a private contract function, since the value is guaranteed to not change.\n///\n/// Private contract functions however **cannot** determine that a `PublicImmutable` has not been initialized, as they\n/// do not have access to the current network state, only the _past_ state at the anchor block. They _can_ perform\n/// historical non-inclusion proofs of the initialization nullifier at past times, but they have no way to guarantee\n/// that it has not been emitted since then.\npub struct PublicImmutable<T, Context> {\n    context: Context,\n    storage_slot: Field,\n}\n\n// `PublicImmutable` stores both the packed value (using M fields) and its hash (1 field), requiring M + 1 total\n// fields.\nimpl<T, Context, let M: u32> StateVariable<M + 1, Context> for PublicImmutable<T, Context>\nwhere\n    T: Packable<N = M>,\n{\n    fn new(context: Context, storage_slot: Field) -> Self {\n        assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n        PublicImmutable { context, storage_slot }\n    }\n\n    fn get_storage_slot(self) -> Field {\n        self.storage_slot\n    }\n}\n\nimpl<T, Context> PublicImmutable<T, Context> {\n    /// Returns the inner nullifier emitted during initialization.\n    pub fn compute_initialization_inner_nullifier(self) -> Field {\n        poseidon2_hash_with_separator([self.storage_slot], DOM_SEP__INITIALIZATION_NULLIFIER)\n    }\n}\n\nimpl<T> PublicImmutable<T, PublicContext> {\n    /// Stores a permanent value.\n    ///\n    /// This function can only be called once on a given `PublicImmutable`: subsequent calls will fail with a duplicate\n    /// nullifier.\n    ///\n    /// ## Examples\n    ///\n    /// Contract initialization:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// #[initializer]\n    /// fn initialize(decimals: u8) {\n    ///     self.storage.decimals.initialize(decimals);\n    /// }\n    /// ```\n    ///\n    /// Non-initializer initialization:\n    /// ```noir\n    /// // Can only be called once per account\n    /// #[external(\"public\")]\n    /// fn set_account_type(account_type: AccountType) {\n    ///     self.storage.account_types.at(self.msg_sender()).initialize(account_type);\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `SSTORE` AVM opcode is invoked a number of times equal to `T`'s packed length plus one, and the\n    /// `EMITNULLIFIER` AVM opcode is invoked once.\n    pub fn initialize(self, value: T)\n    where\n        T: Packable + Eq,\n    {\n        // We emit an initialization nullifier to indicate that the struct is initialized. This also prevents the value\n        // from being initialized again as each nullifier can be emitted only once.\n        let nullifier = self.compute_initialization_inner_nullifier();\n        self.context.push_nullifier(nullifier);\n\n        self.context.storage_write(self.storage_slot, WithHash::new(value));\n    }\n\n    /// Reads the permanent value.\n    ///\n    /// This function reverts the transaction if the `PublicImmutable` is not initialized.\n    ///\n    /// ## Examples\n    ///\n    /// A public getter that returns the permanent value:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// fn get_decimals() -> u8 {\n    ///     self.storage.decimals.read()\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `SLOAD` AVM opcode is invoked a number of times equal to `T`'s packed length, and the `NULLIFIEREXISTS` AVM\n    /// opcode is invoked once.\n    pub fn read(self) -> T\n    where\n        T: Packable + Eq,\n    {\n        assert(self.is_initialized(), \"Trying to read from uninitialized PublicImmutable\");\n        WithHash::public_storage_read(self.context, self.storage_slot)\n    }\n\n    /// Reads the permanent value, skipping the initialization check.\n    ///\n    /// This is cheaper than [`PublicImmutable::read`], but it should only be used if the `PublicImmutable` is known to\n    /// be initialized.\n    ///\n    /// If the `PublicImmutable` is not initialized, this returns the default empty public storage value, which is all\n    /// zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n    ///\n    /// ## Examples\n    ///\n    /// A public getter that returns the permanent value:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// fn get_decimals() -> u8 {\n    ///     // This call is safe because `decimals` is initialized in the contract's initializer function\n    ///     self.storage.decimals.read_unsafe()\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `SLOAD` AVM opcode is invoked a number of times equal to `T`'s packed length.\n    pub fn read_unsafe(self) -> T\n    where\n        T: Packable + Eq,\n    {\n        WithHash::public_storage_read(self.context, self.storage_slot)\n    }\n\n    /// Returns `true` if the `PublicImmutable` has been initialized.\n    ///\n    /// ## Examples:\n    ///\n    /// Conditional initialization:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// fn set_account_type_if_not_set(account_type: AccountType) {\n    ///     if !self.storage.account_types.at(self.msg_sender()).is_initialized() {\n    ///         self.storage.account_types.at(self.msg_sender()).initialize(account_type);\n    ///     }\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `NULLIFIEREXISTS` AVM opcode is invoked once.\n    pub fn is_initialized(self) -> bool {\n        let nullifier = self.compute_initialization_inner_nullifier();\n\n        // Safety: it is safe to assume that the state variable has been initialized if the initialization nullifier\n        // exists because the nullifier was emitted in a public function, at the same time the state variable's public\n        // storage was written to. This would only be unsafe if the nullifier was emitted in a private function which\n        // then enqueued the public storage write, which is not the case.\n        self.context.nullifier_exists_unsafe(nullifier, self.context.this_address())\n    }\n}\n\nimpl<T> PublicImmutable<T, UtilityContext> {\n    /// Reads the permanent value.\n    ///\n    /// This function throws if the `PublicImmutable` is not initialized.\n    ///\n    /// ## Examples\n    ///\n    /// ```noir\n    /// #[external(\"utility\")]\n    /// fn get_decimals() -> u8 {\n    ///     self.storage.decimals.read()\n    /// }\n    /// ```\n    pub unconstrained fn read(self) -> T\n    where\n        T: Packable + Eq,\n    {\n        assert(self.is_initialized(), \"Trying to read from uninitialized PublicImmutable\");\n        WithHash::utility_public_storage_read(self.context, self.storage_slot)\n    }\n\n    /// Returns `true` if the `PublicImmutable` has been initialized.\n    pub unconstrained fn is_initialized(self) -> bool {\n        let nullifier = self.compute_initialization_inner_nullifier();\n        check_nullifier_exists(nullifier)\n    }\n}\n\nimpl<T> PublicImmutable<T, &mut PrivateContext> {\n    /// Reads the permanent value.\n    ///\n    /// This function throws if the `PublicImmutable` is not initialized.\n    ///\n    /// ## Examples\n    ///\n    /// ```noir\n    /// #[external(\"private\")]\n    /// fn get_decimals() -> u8 {\n    ///     self.storage.decimals.read()\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// A nullifier existence request is pushed to the context, which will be verified by the kernel circuit.\n    /// Additionally, a historical public storage read at the anchor block (which is on the order of 4k gates) is\n    /// performed for a single storage slot, **regardless of `T`'s packed length**. This is because\n    /// [`PublicImmutable::initialize`] stores not just the value but also its hash: this function obtains the preimage\n    /// from an oracle and proves that it matches the hash from public storage.\n    ///\n    /// Because of this reason it is convenient to group together all of a contract's public immutable values that are\n    /// read privately in a single type `T`:\n    ///\n    /// ```noir\n    /// // Bad: reading both `decimals` and `symbol` will require two historical public storage reads\n    /// #[storage]\n    /// struct Storage<Context> {\n    ///     decimals: PublicImmutable<u8, Context>,\n    ///     symbol: PublicImmutable<FieldCompressedString, Context>,\n    /// }\n    ///\n    /// // Good: both `decimals` and `symbol` are retrieved in a single historical public storage read\n    /// #[derive(Packable)]\n    /// struct Config {\n    ///     decimals: u8,\n    ///     symbol: FieldCompressedString,\n    /// }\n    ///\n    /// #[storage]\n    /// struct Storage<Context> {\n    ///     config: PublicImmutable<Config, Context>,\n    /// }\n    /// ```\n    pub fn read(self) -> T\n    where\n        T: Packable + Eq,\n    {\n        let nullifier = self.compute_initialization_inner_nullifier();\n\n        // Safety: We use this check to be able to test this function works properly on synthetic envs\n        // like TXE. We assert the returned value only to provide a clear error message. The actual\n        // constrained check that the nullifier exists is done below with `assert_nullifier_exists`\n        // We should improve our synthetic envs because this check forces an unnecesary roundtrip\n        let nullifier_exists = unsafe { check_nullifier_exists(nullifier) };\n        assert(nullifier_exists, \"Trying to read from uninitialized PublicImmutable\");\n\n        let nullifier_existence_request = compute_nullifier_existence_request(nullifier, self.context.this_address());\n        self.context.assert_nullifier_exists(nullifier_existence_request);\n        WithHash::historical_public_storage_read(\n            self.context.get_anchor_block_header(),\n            self.context.this_address(),\n            self.storage_slot,\n        )\n    }\n}\n"
    },
    "232": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr",
      "source": "use crate::context::{PublicContext, UtilityContext};\nuse crate::protocol::traits::Packable;\nuse crate::state_vars::StateVariable;\n\nmod test;\n\n/// Mutable public values.\n///\n/// This is one of the most basic public state variables. It is equivalent to a non-`immutable` non-`constant` Solidity\n/// state variable.\n///\n/// It represents a public value of type `T` that can be written to repeatedly over the lifetime of the contract,\n/// allowing the last value that was written to be read.\n///\n/// ## Access Patterns\n///\n/// A value stored in a `PublicMutable` can be read and written from public contract functions.\n///\n/// It is not possible to read or write a `PublicMutable` from private contract functions. A common pattern is to have\n/// these functions [enqueue a public self\n/// calls](crate::contract_self::ContractSelfPrivate::enqueue) in which the\n/// required operation is performed.\n///\n/// For an immutable variant which can be read from private functions, see\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable).\n///\n/// For a mutable (with restrictions) variant which can be read from private functions see\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable).\n///\n/// ## Privacy\n///\n/// `PublicMutable` provides zero privacy. All write and read operations are public: the entire network can see these\n/// accesses and the data involved.\n///\n/// ## Use Cases\n///\n/// This is suitable for any kind of global state that needs to be accessible by everyone. For example, a token may\n/// have a public total supply, or a voting contract may have public vote tallies.\n///\n/// Note that contracts having public values does not necessarily mean the actions that update these values must\n/// themselves be wholly public. For example, the token could allow for private minting and burning, and casting a vote\n/// could be kept private: these private functions would enqueue a public function that writes to the `PublicMutable`.\n///\n/// Similarly, private functions can enqueue a public call in which the `PublicMutable` is checked to meet some\n/// condition. For example, a private action might be executable only if the vote count has exceeded some threshold, in\n/// which case the private function would enqueue a public function that reads from the `PublicMutable`.\n///\n/// Such patterns preserve the privacy of the account that executed the action, as well as details related to the\n/// private execution itself, but they _do_ reveal that the transaction interacted with the `PublicMutable` value (and\n/// hence that the contract was called), as all accesses to it are public. The\n/// [`only_self`](crate::macros::functions::only_self) attribute is very useful when implementing this.\n///\n/// ## Examples\n///\n/// Declaring a `PublicMutable` in the contract's [`storage`](crate::macros::storage::storage) struct requires\n/// specifying the type `T` that is stored in the variable:\n///\n/// ```noir\n/// #[storage]\n/// struct Storage<C> {\n///     total_supply: PublicMutable<u128, C>,\n///     public_balances: Map<AztecAddress, PublicMutable<u128, C>, C>,\n///\n///     vote_tallies: Map<ElectionId, PublicMutable<u128, C>, C>,\n/// }\n/// ```\n///\n/// ## Requirements\n///\n/// The type `T` stored in the `PublicMutable` must implement the [`Packable`](crate::protocol::traits::Packable)\n/// trait.\n///\n/// ## Implementation Details\n///\n/// Values are packed and stored directly in the public storage tree, with no overhead. A `PublicMutable` therefore\n/// takes up as many storage slots as the packing length of the stored type `T`.\n///\n/// Private reads are not possible because private functions do not have access to the current network state, only the\n/// _past_ state at the anchor block. They _can_ perform historical reads of `PublicMutable` values at past times, but\n/// they have no way to guarantee that the value has not changed since then.\n/// [`PublicImmutable`](crate::state_vars::PublicImmutable) and\n/// [`DelayedPublicMutable`](crate::state_vars::DelayedPublicMutable) are examples of public state variables that _can_\n/// be read privately by restricting mutation.\npub struct PublicMutable<T, Context> {\n    context: Context,\n    storage_slot: Field,\n}\n\nimpl<T, Context, let M: u32> StateVariable<M, Context> for PublicMutable<T, Context>\nwhere\n    T: Packable<N = M>,\n{\n    fn new(context: Context, storage_slot: Field) -> Self {\n        assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n        PublicMutable { context, storage_slot }\n    }\n\n    fn get_storage_slot(self) -> Field {\n        self.storage_slot\n    }\n}\n\nimpl<T> PublicMutable<T, PublicContext> {\n    /// Returns the current value.\n    ///\n    /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n    /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n    ///\n    /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n    /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n    ///\n    /// ## Examples\n    ///\n    /// A public getter that returns the current value:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// fn get_total_supply() -> u128 {\n    ///     self.storage.total_supply.read()\n    /// }\n    /// ```\n    ///\n    /// An [`only_self`](crate::macros::functions::only_self) helper that asserts a condition a private function\n    /// requires:\n    /// ```noir\n    /// #[external(\"private\")]\n    /// fn execute_proposal(election_id: ElectionId) {\n    ///     self.enqueue_self._assert_vote_passed(election_id);\n    ///\n    ///     // execute the proposal - this remains private\n    /// }\n    ///\n    /// #[external(\"public\")]\n    /// #[only_self]\n    /// fn _assert_vote_passed(election_id: ElectionId) {\n    ///     assert(self.storage.vote_tallies.at(election_id).read() >= VOTE_PASSED_THRESHOLD);\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `SLOAD` AVM opcode is invoked a number of times equal to `T`'s packed length.\n    pub fn read(self) -> T\n    where\n        T: Packable,\n    {\n        self.context.storage_read(self.storage_slot)\n    }\n\n    /// Stores a new value.\n    ///\n    /// The old value is overridden and cannot be recovered. The new value can be immediately retrieved by\n    /// [`read`](PublicMutable::read).\n    ///\n    /// ## Examples\n    ///\n    /// A public setter that updates the current value:\n    /// ```noir\n    /// #[external(\"public\")]\n    /// fn mint_tokens(recipient: AztecAddress, amount: u128) {\n    ///     let current_recipient_balance = self.storage.public_balances.at(recipient).read();\n    ///     self.storage.public_balances.at(recipient).write(current_recipient_balance + amount);\n    ///\n    ///     let current_supply = self.storage.total_supply.read();\n    ///     self.storage.total_supply.write(current_supply + amount);\n    /// }\n    /// ```\n    ///\n    /// An [`only_self`](crate::macros::functions::only_self) helper that updates public state triggered by a private\n    /// function:\n    /// ```noir\n    /// #[external(\"private\")]\n    /// fn vote_for_proposal(election_id: ElectionId, votes: u128) {\n    ///     // validate the sender can cast this many votes - this remains private\n    ///\n    ///     self.enqueue_self._tally_vote(election_id, votes);\n    /// }\n    ///\n    /// #[external(\"public\")]\n    /// #[only_self]\n    /// fn _tally_vote(election_id: ElectionId, votes: u128) {\n    ///     let current = self.storage.vote_tallies.at(election_id).read();\n    ///     self.storage.vote_tallies.at(election_id).write(current + votes);\n    /// }\n    /// ```\n    ///\n    /// ## Cost\n    ///\n    /// The `SSTORE` AVM opcode is invoked a number of times equal to `T`'s packed length.\n    pub fn write(self, value: T)\n    where\n        T: Packable,\n    {\n        self.context.storage_write(self.storage_slot, value);\n    }\n}\n\nimpl<T> PublicMutable<T, UtilityContext> {\n    /// Returns the value at the anchor block.\n    ///\n    /// If [`write`](PublicMutable::write) has never been called, then this returns the default empty public storage\n    /// value, which is all zeroes - equivalent to `let t = T::unpack(std::mem::zeroed());`.\n    ///\n    /// It is not possible to detect if a `PublicMutable` has ever been initialized or not other than by testing for\n    /// the zero sentinel value. For a more robust solution, store an `Option<T>` in the `PublicMutable`.\n    ///\n    /// ## Examples\n    ///\n    /// ```noir\n    /// #[external(\"utility\")]\n    /// fn get_total_supply() -> u128 {\n    ///     self.storage.total_supply.read()\n    /// }\n    /// ```\n    pub unconstrained fn read(self) -> T\n    where\n        T: Packable,\n    {\n        self.context.storage_read(self.storage_slot)\n    }\n}\n"
    },
    "261": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/array/append.nr",
      "source": "/// Appends the elements of the second `BoundedVec` to the end of the first one. The resulting `BoundedVec` can have\n/// any arbitrary maximum length, but it must be large enough to fit all of the elements of both the first and second\n/// vectors.\npub fn append<T, let ALen: u32, let BLen: u32, let DstLen: u32>(\n    a: BoundedVec<T, ALen>,\n    b: BoundedVec<T, BLen>,\n) -> BoundedVec<T, DstLen> {\n    let mut dst = BoundedVec::new();\n\n    dst.extend_from_bounded_vec(a);\n    dst.extend_from_bounded_vec(b);\n\n    dst\n}\n\nmod test {\n    use super::append;\n\n    #[test]\n    unconstrained fn append_empty_vecs() {\n        let a: BoundedVec<_, 3> = BoundedVec::new();\n        let b: BoundedVec<_, 14> = BoundedVec::new();\n\n        let result: BoundedVec<Field, 5> = append(a, b);\n\n        assert_eq(result.len(), 0);\n        assert_eq(result.storage(), std::mem::zeroed());\n    }\n\n    #[test]\n    unconstrained fn append_non_empty_vecs() {\n        let a: BoundedVec<_, 3> = BoundedVec::from_array([1, 2, 3]);\n        let b: BoundedVec<_, 14> = BoundedVec::from_array([4, 5, 6]);\n\n        let result: BoundedVec<Field, 8> = append(a, b);\n\n        assert_eq(result.len(), 6);\n        assert_eq(result.storage(), [1, 2, 3, 4, 5, 6, std::mem::zeroed(), std::mem::zeroed()]);\n    }\n\n    #[test(should_fail_with = \"out of bounds\")]\n    unconstrained fn append_non_empty_vecs_insufficient_max_len() {\n        let a: BoundedVec<_, 3> = BoundedVec::from_array([1, 2, 3]);\n        let b: BoundedVec<_, 14> = BoundedVec::from_array([4, 5, 6]);\n\n        let _: BoundedVec<Field, 5> = append(a, b);\n    }\n}\n"
    },
    "262": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/array/collapse.nr",
      "source": "/// Collapses an array of `Option`s with sparse `Some` values into a `BoundedVec`, essentially unwrapping the `Option`s\n/// and removing the `None` values.\n///\n/// For example, given: `input: [some(3), none(), some(1)]` this returns `collapsed: [3, 1]`\npub fn collapse<T, let N: u32>(input: [Option<T>; N]) -> BoundedVec<T, N>\nwhere\n    T: Eq,\n{\n    // Computing the collapsed BoundedVec would result in a very large number of constraints, since we'd need to loop\n    // over the input array and conditionally write to a dynamic vec index, which is a very unfriendly pattern to the\n    // proving backend. Instead, we use an unconstrained function to produce the final collapsed array, along with some\n    // hints, and then verify that the input and collapsed arrays are equivalent.\n\n    // Safety: The hints are verified by the `verify_collapse_hints` function.\n    let (collapsed, collapsed_to_input_index_mapping) = unsafe { get_collapse_hints(input) };\n    verify_collapse_hints(input, collapsed, collapsed_to_input_index_mapping);\n    collapsed\n}\n\nfn verify_collapse_hints<T, let N: u32>(\n    input: [Option<T>; N],\n    collapsed: BoundedVec<T, N>,\n    collapsed_to_input_index_mapping: BoundedVec<u32, N>,\n)\nwhere\n    T: Eq,\n{\n    // collapsed should be a BoundedVec with all the non-none elements in input, in the same order. We need to lay down\n    // multiple constraints to guarantee this. First we check that the number of elements is correct\n    let mut count = 0;\n    for i in 0..N {\n        if input[i].is_some() {\n            count += 1;\n        }\n    }\n    assert_eq(count, collapsed.len(), \"Wrong collapsed vec length\");\n\n    // Then we check that all elements exist in the original array, and are in the same order. To do this we use the\n    // auxiliary collapsed_to_input_index_mapping array, which at index n contains the index in the input array that\n    // corresponds to the collapsed entry at index n. Example:\n    //  - input: [some(3), none(), some(1)]\n    //  - collapsed: [3, 1]\n    //  - collapsed_to_input_index_mapping: [0, 2]\n    // These two arrays should therefore have the same length.\n    assert_eq(collapsed.len(), collapsed_to_input_index_mapping.len(), \"Collapse hint vec length mismatch\");\n\n    // We now look at each collapsed entry and check that there is a valid equal entry in the input array.\n    let mut last_index = Option::none();\n    for i in 0..N {\n        if i < collapsed.len() {\n            let input_index = collapsed_to_input_index_mapping.get_unchecked(i);\n            assert(input_index < N, \"Out of bounds index hint\");\n\n            assert_eq(collapsed.get_unchecked(i), input[input_index].unwrap(), \"Wrong collapsed vec content\");\n\n            // By requiring increasing input indices, we both guarantee that we're not looking at the same input\n            // element more than once, and that we're going over them in the original order.\n            if last_index.is_some() {\n                assert(input_index > last_index.unwrap_unchecked(), \"Wrong collapsed vec order\");\n            }\n            last_index = Option::some(input_index);\n        } else {\n            // BoundedVec assumes that the unused parts of the storage are zeroed out (e.g. in the Eq impl), so we make\n            // sure that this property holds.\n            assert_eq(collapsed.get_unchecked(i), std::mem::zeroed(), \"Dirty collapsed vec storage\");\n        }\n    }\n    // We now know that:\n    //  - all values in the collapsed array exist in the input array\n    //  - the order of the collapsed values is the same as in the input array\n    //  - no input value is present more than once in the collapsed array\n    //  - the number of elements in the collapsed array is the same as in the input array.\n    // Therefore, the collapsed array is correct.\n}\n\nunconstrained fn get_collapse_hints<T, let N: u32>(input: [Option<T>; N]) -> (BoundedVec<T, N>, BoundedVec<u32, N>) {\n    let mut collapsed: BoundedVec<T, N> = BoundedVec::new();\n    let mut collapsed_to_input_index_mapping: BoundedVec<u32, N> = BoundedVec::new();\n\n    for i in 0..N {\n        if input[i].is_some() {\n            collapsed.push(input[i].unwrap_unchecked());\n            collapsed_to_input_index_mapping.push(i);\n        }\n    }\n\n    (collapsed, collapsed_to_input_index_mapping)\n}\n\nmod test {\n    use super::{collapse, verify_collapse_hints};\n\n    #[test]\n    unconstrained fn collapse_empty_array() {\n        let original: [Option<Field>; 2] = [Option::none(), Option::none()];\n        let collapsed = collapse(original);\n\n        assert_eq(collapsed.len(), 0);\n    }\n\n    #[test]\n    unconstrained fn collapse_non_sparse_array() {\n        let original = [Option::some(7), Option::some(3), Option::none()];\n        let collapsed = collapse(original);\n\n        assert_eq(collapsed.len(), 2);\n        assert_eq(collapsed.get(0), 7);\n        assert_eq(collapsed.get(1), 3);\n    }\n\n    #[test]\n    unconstrained fn collapse_sparse_array() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = collapse(original);\n\n        assert_eq(collapsed.len(), 2);\n        assert_eq(collapsed.get(0), 7);\n        assert_eq(collapsed.get(1), 3);\n    }\n\n    #[test]\n    unconstrained fn collapse_front_padding() {\n        let original = [Option::none(), Option::none(), Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = collapse(original);\n\n        assert_eq(collapsed.len(), 2);\n        assert_eq(collapsed.get(0), 7);\n        assert_eq(collapsed.get(1), 3);\n    }\n\n    #[test]\n    unconstrained fn collapse_back_padding() {\n        let original = [Option::some(7), Option::none(), Option::some(3), Option::none(), Option::none()];\n        let collapsed = collapse(original);\n\n        assert_eq(collapsed.len(), 2);\n        assert_eq(collapsed.get(0), 7);\n        assert_eq(collapsed.get(1), 3);\n    }\n\n    #[test]\n    unconstrained fn verify_collapse_hints_good_hints() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7, 3]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0, 2]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Wrong collapsed vec length\")]\n    unconstrained fn verify_collapse_hints_wrong_length() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Collapse hint vec length mismatch\")]\n    unconstrained fn verify_collapse_hints_hint_length_mismatch() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7, 3]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Out of bounds index hint\")]\n    unconstrained fn verify_collapse_hints_out_of_bounds_index_hint() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7, 3]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0, 5]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail)]\n    unconstrained fn verify_collapse_hints_hint_to_none() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7, 0]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0, 1]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Wrong collapsed vec content\")]\n    unconstrained fn verify_collapse_hints_wrong_vec_content() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([7, 42]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0, 2]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Wrong collapsed vec order\")]\n    unconstrained fn verify_collapse_hints_wrong_vec_order() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n        let collapsed = BoundedVec::from_array([3, 7]);\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([2, 0]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n    #[test(should_fail_with = \"Dirty collapsed vec storage\")]\n    unconstrained fn verify_collapse_hints_dirty_storage() {\n        let original = [Option::some(7), Option::none(), Option::some(3)];\n\n        let mut collapsed: BoundedVec<u32, 3> = BoundedVec::from_array([7, 3]);\n        // We have to use the unchecked setter as we're knowingly writing past the length, breaking its invariants.\n        collapsed.set_unchecked(2, 1);\n\n        let collapsed_to_input_index_mapping = BoundedVec::from_array([0, 2]);\n\n        verify_collapse_hints(original, collapsed, collapsed_to_input_index_mapping);\n    }\n\n}\n"
    },
    "264": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/array/subarray.nr",
      "source": "/// Returns `DstLen` elements from a source array, starting at `offset`. `DstLen` must not be larger than the number of\n/// elements past `offset`.\n///\n/// Examples:\n/// ```\n/// let foo: [Field; 2] = subarray([1, 2, 3, 4, 5], 2);\n/// assert_eq(foo, [3, 4]);\n///\n/// let bar: [Field; 5] = subarray([1, 2, 3, 4, 5], 2); // fails - we can't return 5 elements since only 3 remain\n/// ```\npub fn subarray<T, let SrcLen: u32, let DstLen: u32>(src: [T; SrcLen], offset: u32) -> [T; DstLen] {\n    assert(offset + DstLen <= SrcLen, \"DstLen too large for offset\");\n\n    let mut dst: [T; DstLen] = std::mem::zeroed();\n    for i in 0..DstLen {\n        dst[i] = src[i + offset];\n    }\n\n    dst\n}\n\nmod test {\n    use super::subarray;\n\n    #[test]\n    unconstrained fn subarray_into_empty() {\n        // In all of these cases we're setting DstLen to be 0, so we always get back an empty array.\n        assert_eq(subarray::<Field, _, _>([], 0), []);\n        assert_eq(subarray([1, 2, 3, 4, 5], 0), []);\n        assert_eq(subarray([1, 2, 3, 4, 5], 2), []);\n    }\n\n    #[test]\n    unconstrained fn subarray_complete() {\n        assert_eq(subarray::<Field, _, _>([], 0), []);\n        assert_eq(subarray([1, 2, 3, 4, 5], 0), [1, 2, 3, 4, 5]);\n    }\n\n    #[test]\n    unconstrained fn subarray_different_end_sizes() {\n        // We implicitly select how many values to read in the size of the return array\n        assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3, 4, 5]);\n        assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3, 4]);\n        assert_eq(subarray([1, 2, 3, 4, 5], 1), [2, 3]);\n        assert_eq(subarray([1, 2, 3, 4, 5], 1), [2]);\n    }\n\n    #[test(should_fail_with = \"DstLen too large for offset\")]\n    unconstrained fn subarray_offset_too_large() {\n        // With an offset of 1 we can only request up to 4 elements\n        let _: [_; 5] = subarray([1, 2, 3, 4, 5], 1);\n    }\n\n    #[test(should_fail)]\n    unconstrained fn subarray_bad_return_value() {\n        assert_eq(subarray([1, 2, 3, 4, 5], 1), [3, 3, 4, 5]);\n    }\n}\n"
    },
    "265": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/array/subbvec.nr",
      "source": "use crate::utils::array;\n\n/// Returns `DstMaxLen` elements from a source BoundedVec, starting at `offset`. `offset` must not be larger than the\n/// original length, and `DstLen` must not be larger than the total number of elements past `offset` (including the\n/// zeroed elements past `len()`).\n///\n/// Only elements at the beginning of the vector can be removed: it is not possible to also remove elements at the end\n/// of the vector by passing a value for `DstLen` that is smaller than `len() - offset`.\n///\n/// Examples:\n/// ```\n/// let foo = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n/// assert_eq(subbvec(foo, 2), BoundedVec::<_, 8>::from_array([3, 4, 5]));\n///\n/// let bar: BoundedVec<_, 1> = subbvec(foo, 2); // fails - we can't return just 1 element since 3 remain\n/// let baz: BoundedVec<_, 10> = subbvec(foo, 3); // fails - we can't return 10 elements since only 7 remain\n/// ```\npub fn subbvec<T, let SrcMaxLen: u32, let DstMaxLen: u32>(\n    bvec: BoundedVec<T, SrcMaxLen>,\n    offset: u32,\n) -> BoundedVec<T, DstMaxLen> {\n    // from_parts_unchecked does not verify that the elements past len are zeroed, but that is not an issue in our case\n    // because we're constructing the new storage array as a subarray of the original one (which should have zeroed\n    // storage past len), guaranteeing correctness. This is because `subarray` does not allow extending arrays past\n    // their original length.\n    BoundedVec::from_parts_unchecked(array::subarray(bvec.storage(), offset), bvec.len() - offset)\n}\n\nmod test {\n    use super::subbvec;\n\n    #[test]\n    unconstrained fn subbvec_empty() {\n        let bvec = BoundedVec::<Field, 0>::from_array([]);\n        assert_eq(subbvec(bvec, 0), bvec);\n    }\n\n    #[test]\n    unconstrained fn subbvec_complete() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n        assert_eq(subbvec(bvec, 0), bvec);\n\n        let smaller_capacity = BoundedVec::<_, 5>::from_array([1, 2, 3, 4, 5]);\n        assert_eq(subbvec(bvec, 0), smaller_capacity);\n    }\n\n    #[test]\n    unconstrained fn subbvec_partial() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n        assert_eq(subbvec(bvec, 2), BoundedVec::<_, 8>::from_array([3, 4, 5]));\n        assert_eq(subbvec(bvec, 2), BoundedVec::<_, 3>::from_array([3, 4, 5]));\n    }\n\n    #[test]\n    unconstrained fn subbvec_into_empty() {\n        let bvec: BoundedVec<_, 10> = BoundedVec::from_array([1, 2, 3, 4, 5]);\n        assert_eq(subbvec(bvec, 5), BoundedVec::<_, 5>::from_array([]));\n    }\n\n    #[test(should_fail)]\n    unconstrained fn subbvec_offset_past_len() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n        let _: BoundedVec<_, 1> = subbvec(bvec, 6);\n    }\n\n    #[test(should_fail)]\n    unconstrained fn subbvec_insufficient_dst_len() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n        // We're not providing enough space to hold all of the items inside the original BoundedVec. subbvec can cause\n        // for the capacity to reduce, but not the length (other than by len - offset).\n        let _: BoundedVec<_, 1> = subbvec(bvec, 2);\n    }\n\n    #[test(should_fail_with = \"DstLen too large for offset\")]\n    unconstrained fn subbvec_dst_len_causes_enlarge() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n        // subbvec does not support capacity increases\n        let _: BoundedVec<_, 11> = subbvec(bvec, 0);\n    }\n\n    #[test(should_fail_with = \"DstLen too large for offset\")]\n    unconstrained fn subbvec_dst_len_too_large_for_offset() {\n        let bvec = BoundedVec::<_, 10>::from_array([1, 2, 3, 4, 5]);\n\n        // This effectively requests a capacity increase, since there'd be just one element plus the 5 empty slots,\n        // which is less than 7.\n        let _: BoundedVec<_, 7> = subbvec(bvec, 4);\n    }\n}\n"
    },
    "268": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/conversion/bytes_to_fields.nr",
      "source": "use std::static_assert;\n\n// These functions are used to facilitate the conversion of log ciphertext between byte and field representations.\n//\n// `bytes_to_fields` uses fixed-size arrays since encryption contexts have compile-time size information.\n// `bytes_from_fields` uses BoundedVec for flexibility in unconstrained contexts where sizes are dynamic.\n//\n// Together they provide bidirectional conversion between bytes and fields when processing encrypted logs.\n\n/// Converts the input bytes into an array of fields. A Field is ~254 bits meaning that each field can store 31 whole\n/// bytes. Use `bytes_from_fields` to obtain the original bytes array.\n///\n/// The input bytes are chunked into chunks of 31 bytes. Each 31-byte chunk is viewed as big-endian, and is converted\n/// into a Field. For example, [1, 10, 3, ..., 0] (31 bytes) is encoded as [1 * 256^30 + 10 * 256^29 + 3 * 256^28 + ...\n/// + 0] Note: N must be a multiple of 31 bytes\npub fn bytes_to_fields<let N: u32>(bytes: [u8; N]) -> [Field; N / 31] {\n    // Assert that N is a multiple of 31\n    static_assert(N % 31 == 0, \"N must be a multiple of 31\");\n\n    let mut fields = [0; N / 31];\n\n    // Since N is a multiple of 31, we can simply process all chunks fully\n    for i in 0..N / 31 {\n        let mut field = 0;\n        for j in 0..31 {\n            // Shift the existing value left by 8 bits and add the new byte\n            field = field * 256 + bytes[i * 31 + j] as Field;\n        }\n        fields[i] = field;\n    }\n\n    fields\n}\n\n/// Converts an input BoundedVec of fields into a BoundedVec of bytes in big-endian order. Arbitrary Field arrays are\n/// not allowed: this is assumed to be an array obtained via `bytes_to_fields`, i.e. one that actually represents\n/// bytes. To convert a Field array into bytes, use `fields_to_bytes`.\n///\n/// Each input field must contain at most 31 bytes (this is constrained to be so). Each field is converted into 31\n/// big-endian bytes, and the resulting 31-byte chunks are concatenated back together in the order of the original\n/// fields.\npub fn bytes_from_fields<let N: u32>(fields: BoundedVec<Field, N>) -> BoundedVec<u8, N * 31> {\n    let mut bytes = BoundedVec::new();\n\n    for i in 0..fields.len() {\n        let field = fields.get(i);\n\n        // We expect that the field contains at most 31 bytes of information.\n        field.assert_max_bit_size::<248>();\n\n        // Now we can safely convert the field to 31 bytes.\n        let field_as_bytes: [u8; 31] = field.to_be_bytes();\n\n        for j in 0..31 {\n            bytes.push(field_as_bytes[j]);\n        }\n    }\n\n    bytes\n}\n\nmod tests {\n    use crate::utils::array::subarray;\n    use super::{bytes_from_fields, bytes_to_fields};\n\n    #[test]\n    unconstrained fn random_bytes_to_fields_and_back(input: [u8; 93]) {\n        let fields = bytes_to_fields(input);\n\n        // At this point in production, the log flies through the system and we get a BoundedVec on the other end. So\n        // we need to convert the field array to a BoundedVec to be able to feed it to the `bytes_from_fields`\n        // function.\n        let fields_as_bounded_vec = BoundedVec::<_, 6>::from_array(fields);\n\n        let bytes_back = bytes_from_fields(fields_as_bounded_vec);\n\n        // Compare the original input with the round-tripped result\n        assert_eq(bytes_back.len(), input.len());\n        assert_eq(subarray(bytes_back.storage(), 0), input);\n    }\n\n    #[test(should_fail_with = \"N must be a multiple of 31\")]\n    unconstrained fn bytes_to_fields_input_length_not_multiple_of_31() {\n        // Try to convert 32 bytes (not a multiple of 31) to fields\n        let _fields = bytes_to_fields([0; 32]);\n    }\n\n}\n"
    },
    "269": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/conversion/fields_to_bytes.nr",
      "source": "// These functions are used to facilitate the conversion of log plaintext represented as fields into bytes and back.\n//\n// `fields_to_bytes` uses fixed-size arrays since encryption contexts have compile-time size information.\n// `fields_from_bytes` uses BoundedVec for flexibility in unconstrained contexts where sizes are dynamic.\n//\n// Together they provide bidirectional conversion between fields and bytes.\n\n/// Converts an input array of fields into a single array of bytes. Use `fields_from_bytes` to obtain the original\n/// field array. Each field is converted to a 32-byte big-endian array.\n///\n/// For example, if you have a field array [123, 456], it will be converted to a 64-byte array:\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,0,0,123,  // First field (32 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,0,0,0,0,0,0,0,1,200]  // Second field (32 bytes)\n///\n/// Since a field is ~254 bits, you'll end up with a subtle 2-bit \"gap\" at the big end, every 32 bytes. Be careful that\n/// such a gap doesn't leak information! This could happen if you for example expected the output to be\n/// indistinguishable from random bytes.\npub fn fields_to_bytes<let N: u32>(fields: [Field; N]) -> [u8; 32 * N] {\n    let mut bytes = [0; 32 * N];\n\n    for i in 0..N {\n        let field_as_bytes: [u8; 32] = fields[i].to_be_bytes();\n\n        for j in 0..32 {\n            bytes[i * 32 + j] = field_as_bytes[j];\n        }\n    }\n\n    bytes\n}\n\n/// Converts an input BoundedVec of bytes into a BoundedVec of fields. Arbitrary byte arrays are not allowed: this is\n/// assumed to be an array obtained via `fields_to_bytes`, i.e. one that actually represents fields. To convert a byte\n/// array into Fields, use `bytes_to_fields`.\n///\n/// The input bytes are chunked into chunks of 32 bytes. Each 32-byte chunk is viewed as big-endian, and is converted\n/// into a Field. For example, [1, 10, 3, ..., 0] (32 bytes) is encoded as [1 * 256^31 + 10 * 256^30 + 3 * 256^29 + ...\n/// + 0] Note 1: N must be a multiple of 32 bytes Note 2: The max value check code was taken from\n/// std::field::to_be_bytes function.\npub fn fields_from_bytes<let N: u32>(bytes: BoundedVec<u8, N>) -> BoundedVec<Field, N / 32> {\n    // Assert that input length is a multiple of 32\n    assert(bytes.len() % 32 == 0, \"Input length must be a multiple of 32\");\n\n    try_fields_from_bytes(bytes).expect(f\"Value does not fit in field\")\n}\n\n/// Converts a single 32-byte big-endian chunk (starting at `offset`) into a Field, returning\n/// `Option::none()` if the chunk's value is >= the field modulus.\nfn try_field_from_be_bytes<let N: u32>(bytes: BoundedVec<u8, N>, offset: u32) -> Option<Field> {\n    let p = std::field::modulus_be_bytes();\n    let mut field = 0;\n    // Field arithmetic silently wraps values >= the modulus, so we compare each 32-byte chunk against\n    // the modulus byte-by-byte (big-endian, most significant first). The first byte that differs\n    // determines the result: if our byte is smaller we're valid, if larger we've overflowed.\n    // cmp tracks the result: 0 = equal so far, 1 = less than modulus, 2 = exceeds modulus.\n    let mut cmp: u8 = 0;\n    for j in 0..32 {\n        let byte = bytes.get(offset + j);\n        field = field * 256 + byte as Field;\n\n        if cmp == 0 {\n            if byte < p[j] {\n                cmp = 1;\n            } else if byte > p[j] {\n                cmp = 2;\n            }\n        }\n    }\n    if cmp == 1 {\n        Option::some(field)\n    } else {\n        Option::none()\n    }\n}\n\n/// Non-panicking version of `fields_from_bytes`. Returns `Option::none()` if the input\n/// length is not a multiple of 32 or if any 32-byte chunk exceeds the field modulus.\npub(crate) fn try_fields_from_bytes<let N: u32>(bytes: BoundedVec<u8, N>) -> Option<BoundedVec<Field, N / 32>> {\n    if bytes.len() % 32 == 0 {\n        let mut fields = BoundedVec::new();\n        let num_chunks = bytes.len() / 32;\n        for i in 0..num_chunks {\n            let field = try_field_from_be_bytes(bytes, i * 32);\n            if field.is_some() {\n                fields.push(field.unwrap());\n            }\n        }\n        if fields.len() as u32 == num_chunks {\n            Option::some(fields)\n        } else {\n            Option::none()\n        }\n    } else {\n        Option::none()\n    }\n}\n\nmod tests {\n    use crate::utils::array::subarray;\n    use super::{fields_from_bytes, fields_to_bytes, try_fields_from_bytes};\n\n    #[test]\n    unconstrained fn random_fields_to_bytes_and_back(input: [Field; 3]) {\n        // Convert to bytes\n        let bytes = fields_to_bytes(input);\n\n        // At this point in production, the log flies through the system and we get a BoundedVec on the other end. So\n        // we need to convert the field array to a BoundedVec to be able to feed it to the `fields_from_bytes`\n        // function. 113 is an arbitrary max length that is larger than the input length of 96.\n        let bytes_as_bounded_vec = BoundedVec::<_, 113>::from_array(bytes);\n\n        // Convert back to fields\n        let fields_back = fields_from_bytes(bytes_as_bounded_vec);\n\n        // Compare the original input with the round-tripped result\n        assert_eq(fields_back.len(), input.len());\n        assert_eq(subarray(fields_back.storage(), 0), input);\n    }\n\n    #[test(should_fail_with = \"Input length must be a multiple of 32\")]\n    unconstrained fn to_fields_assert() {\n        // 143 is an arbitrary max length that is larger than 33\n        let input = BoundedVec::<_, 143>::from_array([\n            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,\n            30, 31, 32, 33,\n        ]);\n\n        // This should fail since 33 is not a multiple of 32\n        let _fields = fields_from_bytes(input);\n    }\n\n    #[test]\n    unconstrained fn fields_from_bytes_max_value() {\n        let max_field_as_bytes: [u8; 32] = (-1).to_be_bytes();\n        let input = BoundedVec::<_, 32>::from_array(max_field_as_bytes);\n\n        let fields = fields_from_bytes(input);\n\n        // The result should be a largest value storable in a field (-1 since we are modulo-ing)\n        assert_eq(fields.get(0), -1);\n    }\n\n    // In this test we verify that overflow check works by taking the max allowed value, bumping a random byte and then\n    // feeding it to `fields_from_bytes` as input.\n    #[test(should_fail_with = \"Value does not fit in field\")]\n    unconstrained fn fields_from_bytes_overflow(random_value: u8) {\n        let index_of_byte_to_bump = random_value % 32;\n\n        // Obtain the byte representation of the maximum field value\n        let max_field_value_as_bytes: [u8; 32] = (-1).to_be_bytes();\n\n        let byte_to_bump = max_field_value_as_bytes[index_of_byte_to_bump as u32];\n\n        // Skip test execution if the selected byte is already at maximum value (255). This is acceptable since we are\n        // using fuzz testing to generate many test cases.\n        if byte_to_bump != 255 {\n            let mut input = BoundedVec::<_, 32>::from_array(max_field_value_as_bytes);\n\n            // Increment the selected byte to exceed the field's maximum value\n            input.set(index_of_byte_to_bump as u32, byte_to_bump + 1);\n\n            // Attempt the conversion, which should fail due to the value exceeding the field's capacity\n            let _fields = fields_from_bytes(input);\n        }\n    }\n\n    #[test]\n    unconstrained fn try_fields_from_bytes_returns_none_on_unaligned_length() {\n        let input = BoundedVec::<_, 64>::from_parts([0 as u8; 64], 33);\n        assert(try_fields_from_bytes(input).is_none());\n    }\n\n    #[test]\n    unconstrained fn try_fields_from_bytes_returns_none_on_field_modulus() {\n        // The field modulus itself is not a valid field value (it wraps to 0).\n        let p: [u8; 32] = std::field::modulus_be_bytes().as_array();\n        let input = BoundedVec::<u8, 32>::from_array(p);\n        assert(try_fields_from_bytes(input).is_none());\n    }\n\n    #[test]\n    unconstrained fn try_fields_from_bytes_round_trips(input: [Field; 3]) {\n        let bytes = BoundedVec::<_, 113>::from_array(fields_to_bytes(input));\n        let fields = try_fields_from_bytes(bytes).unwrap();\n\n        assert_eq(fields.len(), input.len());\n        assert_eq(subarray(fields.storage(), 0), input);\n    }\n}\n"
    },
    "272": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/point.nr",
      "source": "use crate::protocol::{point::Point, utils::field::sqrt};\n\n// I am storing the modulus minus 1 divided by 2 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field = 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Returns: true if p.y <= MOD_DIV_2, else false.\npub fn get_sign_of_point(p: Point) -> bool {\n    // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get the\n    // sign we check if the y coordinate is less or equal than the field's modulus minus 1 divided by 2. Ideally we'd\n    // do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is equivalent,\n    // and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n    !BN254_FR_MODULUS_DIV_2.lt(p.y)\n}\n\n/// Returns a `Point` in the Grumpkin curve given its x coordinate.\n///\n/// Because not all values in the field are valid x coordinates of points in the curve (i.e. there is no corresponding\n/// y value in the field that satisfies the curve equation), it may not be possible to reconstruct a `Point`.\n/// `Option::none()` is returned in such cases.\npub fn point_from_x_coord(x: Field) -> Option<Point> {\n    // y ^ 2 = x ^ 3 - 17\n    let rhs = x * x * x - 17;\n    sqrt(rhs).map(|y| Point { x, y, is_infinite: false })\n}\n\n/// Returns a `Point` in the Grumpkin curve given its x coordinate and sign for the y coordinate.\n///\n/// Because not all values in the field are valid x coordinates of points in the curve (i.e. there is no corresponding\n/// y value in the field that satisfies the curve equation), it may not be possible to reconstruct a `Point`.\n/// `Option::none()` is returned in such cases.\n///\n/// @param x - The x coordinate of the point @param sign - The \"sign\" of the y coordinate - determines whether y <=\n/// (Fr.MODULUS - 1) / 2\npub fn point_from_x_coord_and_sign(x: Field, sign: bool) -> Option<Point> {\n    // y ^ 2 = x ^ 3 - 17\n    let rhs = x * x * x - 17;\n\n    sqrt(rhs).map(|y| {\n        // If there is a square root, we need to ensure it has the correct \"sign\"\n        let y_is_positive = !BN254_FR_MODULUS_DIV_2.lt(y);\n        let final_y = if y_is_positive == sign { y } else { -y };\n        Point { x, y: final_y, is_infinite: false }\n    })\n}\n\nmod test {\n    use crate::protocol::point::Point;\n    use crate::utils::point::{\n        BN254_FR_MODULUS_DIV_2, get_sign_of_point, point_from_x_coord, point_from_x_coord_and_sign,\n    };\n\n    #[test]\n    unconstrained fn test_point_from_x_coord_and_sign() {\n        // Test positive y coordinate\n        let x = 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73;\n        let sign = true;\n        let p = point_from_x_coord_and_sign(x, sign).unwrap();\n\n        assert_eq(p.x, x);\n        assert_eq(p.y, 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a);\n        assert_eq(p.is_infinite, false);\n\n        // Test negative y coordinate\n        let x2 = 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5;\n        let sign2 = false;\n        let p2 = point_from_x_coord_and_sign(x2, sign2).unwrap();\n\n        assert_eq(p2.x, x2);\n        assert_eq(p2.y, 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0);\n        assert_eq(p2.is_infinite, false);\n    }\n\n    #[test]\n    unconstrained fn test_point_from_x_coord_valid() {\n        // x = 8 is a known quadratic residue - should give a valid point\n        let result = point_from_x_coord(Field::from(8));\n        assert(result.is_some());\n\n        let point = result.unwrap();\n        assert_eq(point.x, Field::from(8));\n        // Check curve equation y^2 = x^3 - 17\n        assert_eq(point.y * point.y, point.x * point.x * point.x - 17);\n    }\n\n    #[test]\n    unconstrained fn test_point_from_x_coord_invalid() {\n        // x = 3 is a non-residue for this curve - should give None\n        let x = Field::from(3);\n        let maybe_point = point_from_x_coord(x);\n        assert(maybe_point.is_none());\n    }\n\n    #[test]\n    unconstrained fn test_both_roots_satisfy_curve() {\n        // Derive a point from x = 8 (known to be valid from test_point_from_x_coord_valid)\n        let x: Field = 8;\n        let point = point_from_x_coord(x).unwrap();\n\n        // Check y satisfies curve equation\n        assert_eq(point.y * point.y, x * x * x - 17);\n\n        // Check -y also satisfies curve equation\n        let neg_y = 0 - point.y;\n        assert_eq(neg_y * neg_y, x * x * x - 17);\n\n        // Verify they are different (unless y = 0)\n        assert(point.y != neg_y);\n    }\n\n    #[test]\n    unconstrained fn test_point_from_x_coord_and_sign_invalid() {\n        // x = 3 has no valid point on the curve (from test_point_from_x_coord_invalid)\n        let x = Field::from(3);\n        let result_positive = point_from_x_coord_and_sign(x, true);\n        let result_negative = point_from_x_coord_and_sign(x, false);\n\n        assert(result_positive.is_none());\n        assert(result_negative.is_none());\n    }\n\n    #[test]\n    unconstrained fn test_get_sign_of_point() {\n        // Derive a point from x = 8, then test both possible y values\n        let point = point_from_x_coord(8).unwrap();\n        let neg_point = Point { x: point.x, y: 0 - point.y, is_infinite: false };\n\n        // One should be \"positive\" (y <= MOD_DIV_2) and one \"negative\"\n        let sign1 = get_sign_of_point(point);\n        let sign2 = get_sign_of_point(neg_point);\n        assert(sign1 != sign2);\n\n        // y = 0 should return true (0 <= MOD_DIV_2)\n        let zero_y_point = Point { x: 0, y: 0, is_infinite: false };\n        assert(get_sign_of_point(zero_y_point) == true);\n\n        // y = MOD_DIV_2 should return true (exactly at boundary)\n        let boundary_point = Point { x: 0, y: BN254_FR_MODULUS_DIV_2, is_infinite: false };\n        assert(get_sign_of_point(boundary_point) == true);\n\n        // y = MOD_DIV_2 + 1 should return false (just over boundary)\n        let over_boundary_point = Point { x: 0, y: BN254_FR_MODULUS_DIV_2 + 1, is_infinite: false };\n        assert(get_sign_of_point(over_boundary_point) == false);\n    }\n\n    #[test]\n    unconstrained fn test_point_from_x_coord_zero() {\n        // x = 0: y^2 = 0^3 - 17 = -17, which is not a quadratic residue in BN254 scalar field\n        let result = point_from_x_coord(0);\n        assert(result.is_none());\n    }\n\n    #[test]\n    unconstrained fn test_bn254_fr_modulus_div_2() {\n        // Verify that BN254_FR_MODULUS_DIV_2 == (p - 1) / 2 This means: 2 * BN254_FR_MODULUS_DIV_2 + 1 == p == 0 (in\n        // the field)\n        assert_eq(2 * BN254_FR_MODULUS_DIV_2 + 1, 0);\n    }\n\n}\n"
    },
    "273": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/remove_constraints.nr",
      "source": "/// Calls a function and returns its return value, but removes any constraints associated with calling the function,\n/// behaving as if the function was unconstrained.\npub unconstrained fn remove_constraints<Env, T>(f: fn[Env]() -> T) -> T {\n    f()\n}\n\n/// Calls a function and returns its return value, removing any constraints associated with calling the function if\n/// `condition` is true, behaving as if the function was unconstrained.\n///\n/// Requires `condition` to be a compile time constant.\npub fn remove_constraints_if<Env, T>(condition: bool, f: fn[Env]() -> T) -> T {\n    // If `condition` is not a compile-time constant, then the compiler won't optimize away the branch not taken in the\n    // if statement below, and we may end up with constraints for `f` regardless of the runtime value of `condition`.\n    assert_constant(condition);\n\n    if condition {\n        // Safety: the purpose of this function is to execute `f` with no constraints when `condition` is true.\n        unsafe {\n            remove_constraints(f)\n        }\n    } else {\n        f()\n    }\n}\n\nmod test {\n    use super::remove_constraints;\n\n    fn return_unit() -> () {\n        ()\n    }\n\n    fn return_field() -> Field {\n        5\n    }\n\n    #[test]\n    fn returns_unit() {\n        let expected = return_unit();\n        // Safety: this is a test\n        let actual = unsafe { remove_constraints(|| return_unit()) };\n        assert_eq(actual, expected);\n    }\n\n    #[test]\n    fn returns_original_value() {\n        let expected = return_field();\n        // Safety: this is a test\n        let actual = unsafe { remove_constraints(|| return_field()) };\n        assert_eq(actual, expected);\n    }\n\n    #[test]\n    unconstrained fn returns_unit_unconstrained() {\n        let expected = return_unit();\n        let actual = remove_constraints(|| return_unit());\n        assert_eq(actual, expected);\n    }\n\n    #[test]\n    unconstrained fn returns_original_value_unconstrained() {\n        let expected = return_field();\n        let actual = remove_constraints(|| return_field());\n        assert_eq(actual, expected);\n    }\n}\n"
    },
    "274": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/aztec/src/utils/with_hash.nr",
      "source": "use crate::{context::{PublicContext, UtilityContext}, history::storage::public_storage_historical_read, oracle};\nuse crate::protocol::{abis::block_header::BlockHeader, address::AztecAddress, hash::poseidon2_hash, traits::Packable};\n\n/// A struct that allows for efficient reading of value `T` from public storage in private.\n///\n/// The efficient reads are achieved by verifying large values through a single hash check and then proving inclusion\n/// only of the hash in public storage. This reduces the number of required tree inclusion proofs from `M` to 1.\n///\n/// # Type Parameters\n/// - `T`: The underlying type being wrapped, must implement `Packable<N>`\n/// - `M`: The number of field elements required to pack values of type `T`\npub struct WithHash<T, let M: u32> {\n    value: T,\n    packed: [Field; M],\n    hash: Field,\n}\n\nimpl<T, let M: u32> WithHash<T, M>\nwhere\n    T: Packable<N = M> + Eq,\n{\n    pub fn new(value: T) -> Self {\n        let packed = value.pack();\n        Self { value, packed, hash: poseidon2_hash(packed) }\n    }\n\n    pub fn get_value(self) -> T {\n        self.value\n    }\n\n    pub fn get_hash(self) -> Field {\n        self.hash\n    }\n\n    /// Reads the value stored in this [`WithHash`] from public storage.\n    ///\n    /// Note that unlike a full public storage read, this will _not_ read (not return) the stored hash of the value,\n    /// resulting in reduced gas costs.\n    ///\n    /// This is the public counterpart to [`WithHash::utility_public_storage_read`] and\n    /// [`WithHash::historical_public_storage_read`].\n    pub fn public_storage_read(context: PublicContext, storage_slot: Field) -> T {\n        context.storage_read(storage_slot)\n    }\n\n    pub unconstrained fn utility_public_storage_read(context: UtilityContext, storage_slot: Field) -> T {\n        context.storage_read(storage_slot)\n    }\n\n    pub fn historical_public_storage_read(\n        header_to_read_from: BlockHeader,\n        address: AztecAddress,\n        storage_slot: Field,\n    ) -> T {\n        // We could simply produce historical inclusion proofs for each field in `packed`, but that would require one\n        // full sibling path per storage slot (since due to kernel siloing the storage is not contiguous). Instead, we\n        // get an oracle to provide us the values, and instead we prove inclusion of their hash, which is both a much\n        // smaller proof (a single slot), and also independent of the size of T (except in that we need to pack and\n        // hash T).\n        let hint = WithHash::new(\n            // Safety: We verify that a hash of the hint/packed data matches the stored hash.\n            unsafe { oracle::storage::storage_read(header_to_read_from, address, storage_slot) },\n        );\n\n        // The actual `value` (of type T, of packed length M fields) is stored in contiguous fields from the\n        // `storage_slot`. The _hash_ of the `value` is stored at the end, at slot: `storage_slot + M`.\n        let hash = public_storage_historical_read(header_to_read_from, storage_slot + M as Field, address);\n\n        if hash != 0 {\n            assert_eq(hash, hint.get_hash(), \"Hint values do not match hash\");\n        } else {\n            // The hash slot can only hold a zero if it is uninitialized. Therefore, the hints must then be zero (i.e.\n            // the default value for public storage) as well.\n            assert_eq(hint.get_value(), T::unpack(std::mem::zeroed()), \"Non-zero hint for zero hash\");\n        };\n\n        hint.get_value()\n    }\n}\n\n// Note: I don't derive Packable on `WithHash` because `derive_serialize` function does not support setting \"N = M\" as\n// I do here 3 lines below. This could be worked around by placing the \"where\" clause directly on the `WithHash`\n// struct, but Jake mentioned that the syntax is not expected to be supported at least until Noir 1.0. Relevant\n// discussion on Slack:\n// https://aztecprotocol.slack.com/archives/C04QF64EDNV/p1752593876160699?thread_ts=1752589887.955379&cid=C04QF64EDNV\nimpl<T, let M: u32> Packable for WithHash<T, M>\nwhere\n    T: Packable<N = M>,\n{\n    let N: u32 = M + 1;\n\n    fn pack(self) -> [Field; Self::N] {\n        let mut result: [Field; Self::N] = std::mem::zeroed();\n        for i in 0..M {\n            result[i] = self.packed[i];\n        }\n        result[M] = self.hash;\n\n        result\n    }\n\n    fn unpack(packed: [Field; Self::N]) -> Self {\n        let mut value_packed = [0; M];\n        for i in 0..M {\n            value_packed[i] = packed[i];\n        }\n        let hash = packed[M];\n\n        Self { value: T::unpack(value_packed), packed: value_packed, hash }\n    }\n}\n\nmod test {\n    use crate::protocol::{hash::poseidon2_hash, traits::{Hash, Packable, ToField}};\n    use crate::{test::{helpers::test_environment::TestEnvironment, mocks::MockStruct}, utils::with_hash::WithHash};\n\n    use std::test::OracleMock;\n\n    global STORAGE_SLOT: Field = 47;\n\n    #[test]\n    unconstrained fn create_and_recover() {\n        let value = MockStruct { a: 5, b: 3 };\n        let value_with_hash = WithHash::new(value);\n        let recovered = WithHash::unpack(value_with_hash.pack());\n\n        assert_eq(recovered.value, value);\n        assert_eq(recovered.packed, value.pack());\n        assert_eq(recovered.hash, poseidon2_hash(value.pack()));\n    }\n\n    #[test]\n    unconstrained fn read_uninitialized_value() {\n        let env = TestEnvironment::new();\n\n        env.private_context(|context| {\n            let result = WithHash::<MockStruct, _>::historical_public_storage_read(\n                context.anchor_block_header,\n                context.this_address(),\n                STORAGE_SLOT,\n            );\n\n            assert_eq(result, std::mem::zeroed());\n        });\n    }\n\n    #[test]\n    unconstrained fn read_initialized_value() {\n        let env = TestEnvironment::new();\n\n        let value = MockStruct { a: 5, b: 3 };\n        let value_with_hash = WithHash::new(value);\n\n        env.public_context(|context| { context.storage_write(STORAGE_SLOT, value_with_hash); });\n\n        env.private_context(|context| {\n            let result = WithHash::<MockStruct, _>::historical_public_storage_read(\n                context.anchor_block_header,\n                context.this_address(),\n                STORAGE_SLOT,\n            );\n            assert_eq(result, value);\n        });\n    }\n\n    #[test(should_fail_with = \"Non-zero hint for zero hash\")]\n    unconstrained fn bad_hint_uninitialized_value() {\n        let env = TestEnvironment::new();\n\n        env.private_context(|context| {\n            let block_header = context.anchor_block_header;\n            let address = context.this_address();\n\n            // Mock the oracle to return a non-zero hint/packed value\n            let value_packed = MockStruct { a: 1, b: 1 }.pack();\n            let _ = OracleMock::mock(\"aztec_utl_getFromPublicStorage\")\n                .with_params((block_header.hash(), address.to_field(), STORAGE_SLOT, value_packed.len()))\n                .returns(value_packed)\n                .times(1);\n\n            // This should fail because the hint value is non-zero and the hash is zero (default value of storage)\n            let _ = WithHash::<MockStruct, _>::historical_public_storage_read(block_header, address, STORAGE_SLOT);\n        });\n    }\n\n    #[test(should_fail_with = \"Hint values do not match hash\")]\n    unconstrained fn bad_hint_initialized_value() {\n        let env = TestEnvironment::new();\n\n        env.public_context(|context| {\n            // Write the value and hash separately so that the hash is wrong\n            let value = MockStruct { a: 5, b: 3 };\n            context.storage_write(STORAGE_SLOT, value);\n\n            let incorrect_hash = 13;\n            let hash_storage_slot = STORAGE_SLOT + (value.pack().len() as Field);\n            context.storage_write(hash_storage_slot, [incorrect_hash]);\n        });\n\n        env.private_context(|context| {\n            let _ = WithHash::<MockStruct, _>::historical_public_storage_read(\n                context.anchor_block_header,\n                context.this_address(),\n                STORAGE_SLOT,\n            );\n        });\n    }\n}\n"
    },
    "282": {
      "path": "/home/runner/nargo/github.com/noir-lang/poseidon/v0.2.3/src/poseidon2.nr",
      "source": "use std::default::Default;\nuse std::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n    cache: [Field; 3],\n    state: [Field; 4],\n    cache_size: u32,\n    squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n    #[no_predicates]\n    pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n        Poseidon2::hash_internal(input, message_size)\n    }\n\n    pub(crate) fn new(iv: Field) -> Poseidon2 {\n        let mut result =\n            Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n        result.state[RATE] = iv;\n        result\n    }\n\n    fn perform_duplex(&mut self) {\n        // add the cache into sponge state\n        self.state[0] += self.cache[0];\n        self.state[1] += self.cache[1];\n        self.state[2] += self.cache[2];\n        self.state = crate::poseidon2_permutation(self.state, 4);\n    }\n\n    fn absorb(&mut self, input: Field) {\n        assert(!self.squeeze_mode);\n        if self.cache_size == RATE {\n            // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n            self.perform_duplex();\n            self.cache[0] = input;\n            self.cache_size = 1;\n        } else {\n            // If we're absorbing, and the cache is not full, add the input into the cache\n            self.cache[self.cache_size] = input;\n            self.cache_size += 1;\n        }\n    }\n\n    fn squeeze(&mut self) -> Field {\n        assert(!self.squeeze_mode);\n        // If we're in absorb mode, apply sponge permutation to compress the cache.\n        self.perform_duplex();\n        self.squeeze_mode = true;\n\n        // Pop one item off the top of the permutation and return it.\n        self.state[0]\n    }\n\n    fn hash_internal<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n        let two_pow_64 = 18446744073709551616;\n        let iv: Field = (in_len as Field) * two_pow_64;\n        let mut state = [0; 4];\n        state[RATE] = iv;\n\n        if std::runtime::is_unconstrained() {\n            for i in 0..(in_len / RATE) {\n                state[0] += input[i * RATE];\n                state[1] += input[i * RATE + 1];\n                state[2] += input[i * RATE + 2];\n                state = crate::poseidon2_permutation(state, 4);\n            }\n\n            // handle remaining elements after last full RATE-sized chunk\n            let num_extra_fields = in_len % RATE;\n            if num_extra_fields != 0 {\n                let remainder_start = in_len - num_extra_fields;\n                state[0] += input[remainder_start];\n                if num_extra_fields > 1 {\n                    state[1] += input[remainder_start + 1]\n                }\n            }\n        } else {\n            let mut states: [[Field; 4]; N / RATE + 1] = [[0; 4]; N / RATE + 1];\n            states[0] = state;\n\n            // process all full RATE-sized chunks, storing state after each permutation\n            for chunk_idx in 0..(N / RATE) {\n                for i in 0..RATE {\n                    state[i] += input[chunk_idx * RATE + i];\n                }\n                state = crate::poseidon2_permutation(state, 4);\n                states[chunk_idx + 1] = state;\n            }\n\n            // get state at the last full block before in_len\n            let first_partially_filled_chunk = in_len / RATE;\n            state = states[first_partially_filled_chunk];\n\n            // handle remaining elements after last full RATE-sized chunk\n            let remainder_start = (in_len / RATE) * RATE;\n            for j in 0..RATE {\n                let idx = remainder_start + j;\n                if idx < in_len {\n                    state[j] += input[idx];\n                }\n            }\n        }\n\n        // always run final permutation unless we just completed a full chunk\n        // still need to permute once if in_len is 0\n        if (in_len == 0) | (in_len % RATE != 0) {\n            state = crate::poseidon2_permutation(state, 4)\n        };\n\n        state[0]\n    }\n}\n\npub struct Poseidon2Hasher {\n    _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n    fn finish(self) -> Field {\n        let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n        let mut sponge = Poseidon2::new(iv);\n        for i in 0..self._state.len() {\n            sponge.absorb(self._state[i]);\n        }\n        sponge.squeeze()\n    }\n\n    fn write(&mut self, input: Field) {\n        self._state = self._state.push_back(input);\n    }\n}\n\nimpl Default for Poseidon2Hasher {\n    fn default() -> Self {\n        Poseidon2Hasher { _state: &[] }\n    }\n}\n"
    },
    "293": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/abis/block_header.nr",
      "source": "use crate::{\n    abis::{\n        append_only_tree_snapshot::AppendOnlyTreeSnapshot, global_variables::GlobalVariables,\n        state_reference::StateReference,\n    },\n    constants::{BLOCK_HEADER_LENGTH, DOM_SEP__BLOCK_HEADER_HASH, GENESIS_BLOCK_HEADER_HASH},\n    hash::poseidon2_hash_with_separator,\n    traits::{Deserialize, Empty, Hash, Serialize},\n};\nuse std::meta::derive;\n\n// docs:start:block-header\n#[derive(Deserialize, Eq, Serialize)]\npub struct BlockHeader {\n    pub last_archive: AppendOnlyTreeSnapshot,\n    pub state: StateReference,\n\n    // The hash of the sponge blob for this block, which commits to the tx effects added in this block.\n    // Note: it may also include tx effects from previous blocks within the same checkpoint.\n    // When proving tx effects from this block only, we must refer to the `sponge_blob_hash` in the previous block\n    // header to show that the effect was added after the previous block.\n    // The previous block header can be validated using a membership proof of the last leaf in `last_archive`.\n    pub sponge_blob_hash: Field,\n\n    pub global_variables: GlobalVariables,\n    pub total_fees: Field,\n    pub total_mana_used: Field,\n}\n// docs:end:block-header\n\nimpl BlockHeader {\n    pub fn chain_id(self) -> Field {\n        self.global_variables.chain_id\n    }\n\n    pub fn version(self) -> Field {\n        self.global_variables.version\n    }\n\n    pub fn block_number(self) -> u32 {\n        self.global_variables.block_number\n    }\n\n    pub fn timestamp(self) -> u64 {\n        self.global_variables.timestamp\n    }\n}\n\nimpl Empty for BlockHeader {\n    fn empty() -> Self {\n        Self {\n            last_archive: AppendOnlyTreeSnapshot::empty(),\n            state: StateReference::empty(),\n            sponge_blob_hash: 0,\n            global_variables: GlobalVariables::empty(),\n            total_fees: 0,\n            total_mana_used: 0,\n        }\n    }\n}\n\nimpl Hash for BlockHeader {\n    fn hash(self) -> Field {\n        poseidon2_hash_with_separator(self.serialize(), DOM_SEP__BLOCK_HEADER_HASH)\n    }\n}\n\n#[test]\nfn serialization_of_empty() {\n    let header = BlockHeader::empty();\n    // We use the BLOCK_HEADER_LENGTH constant to ensure that there is a match\n    // between the derived trait implementation and the constant.\n    let serialized: [Field; BLOCK_HEADER_LENGTH] = header.serialize();\n    let deserialized = BlockHeader::deserialize(serialized);\n    assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_of_genesis_block_header() {\n    let mut header = BlockHeader::empty();\n    // The following values are taken from world_state.test.cpp > WorldStateTest.GetInitialTreeInfoForAllTrees.\n    header.state.l1_to_l2_message_tree.root =\n        0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5;\n    header.state.partial.note_hash_tree.root =\n        0x2ac5dda169f6bb3b9ca09bbac34e14c94d1654597db740153a1288d859a8a30a;\n    header.state.partial.nullifier_tree.root =\n        0x1ec3788cd1c32e54d889d67fe29e481114f9d4afe9b44b229aa29d8ad528dd31;\n    header.state.partial.nullifier_tree.next_available_leaf_index = 128;\n    header.state.partial.public_data_tree.root =\n        0x23c08a6b1297210c5e24c76b9a936250a1ce2721576c26ea797c7ec35f9e46a9;\n    header.state.partial.public_data_tree.next_available_leaf_index = 128;\n\n    let hash = header.hash();\n    assert_eq(hash, GENESIS_BLOCK_HEADER_HASH);\n}\n\n#[test]\nfn hash_of_empty_block_header_match_typescript() {\n    let header = BlockHeader::empty();\n    let hash = header.hash();\n\n    // Value from block_header.test.ts \"computes empty hash\" test\n    let test_data_empty_hash = 0x0bdc537052dea0f80db9698585dff9f32063b86b6d4934ac17c30c81e8e416d3;\n    assert_eq(hash, test_data_empty_hash);\n}\n"
    },
    "302": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr",
      "source": "use crate::traits::{Deserialize, Empty, FromField, Serialize, ToField};\nuse std::meta::derive;\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct FunctionSelector {\n    // 1st 4-bytes (big-endian leftmost) of abi-encoding of an event.\n    pub inner: u32,\n}\n\nimpl FromField for FunctionSelector {\n    fn from_field(field: Field) -> Self {\n        Self { inner: field as u32 }\n    }\n}\n\nimpl ToField for FunctionSelector {\n    fn to_field(self) -> Field {\n        self.inner as Field\n    }\n}\n\nimpl Empty for FunctionSelector {\n    fn empty() -> Self {\n        Self { inner: 0 as u32 }\n    }\n}\n\nimpl FunctionSelector {\n    pub fn from_u32(value: u32) -> Self {\n        Self { inner: value }\n    }\n\n    pub fn from_signature<let N: u32>(signature: str<N>) -> Self {\n        let bytes = signature.as_bytes();\n        let hash = crate::hash::poseidon2_hash_bytes(bytes);\n\n        // `hash` is automatically truncated to fit within 32 bits.\n        FunctionSelector::from_field(hash)\n    }\n\n    pub fn zero() -> Self {\n        Self { inner: 0 }\n    }\n}\n\n#[test]\nfn test_is_valid_selector() {\n    let selector = FunctionSelector::from_signature(\"IS_VALID()\");\n    assert_eq(selector.to_field(), 0x73cdda47);\n}\n\n#[test]\nfn test_long_selector() {\n    let selector =\n        FunctionSelector::from_signature(\"foo_and_bar_and_baz_and_foo_bar_baz_and_bar_foo\");\n    assert_eq(selector.to_field(), 0x7590a997);\n}\n"
    },
    "317": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier_leaf_preimage.nr",
      "source": "use crate::{\n    merkle_tree::{IndexedTreeLeafPreimage, LeafPreimage},\n    side_effect::Readable,\n    traits::{Deserialize, Empty, Hash, Serialize},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct NullifierLeafPreimage {\n    pub nullifier: Field,\n    pub next_nullifier: Field,\n    pub next_index: Field,\n}\n\nimpl Empty for NullifierLeafPreimage {\n    fn empty() -> Self {\n        Self { nullifier: 0, next_nullifier: 0, next_index: 0 }\n    }\n}\n\nimpl Hash for NullifierLeafPreimage {\n    fn hash(self) -> Field {\n        if self.is_empty() {\n            // Note: Empty leaf preimages are used to pad the nullifiers emitted from a transaction so they can be\n            // inserted into the tree in a fixed-size batch. The hash of these padded leaves must be 0 so that the\n            // tree root does not change when a batch contains no transaction nullifiers.\n            0\n        } else {\n            crate::hash::poseidon2_hash(self.serialize())\n        }\n    }\n}\n\nimpl LeafPreimage for NullifierLeafPreimage {\n    fn get_key(self) -> Field {\n        self.nullifier\n    }\n\n    fn as_leaf(self) -> Field {\n        self.hash()\n    }\n}\n\nimpl IndexedTreeLeafPreimage<Field> for NullifierLeafPreimage {\n    fn get_next_key(self) -> Field {\n        self.next_nullifier\n    }\n\n    fn points_to_infinity(self) -> bool {\n        (self.next_nullifier == 0) & (self.next_index == 0)\n    }\n\n    fn update_pointers(self, next_key: Field, next_index: Field) -> Self {\n        Self { nullifier: self.nullifier, next_nullifier: next_key, next_index }\n    }\n\n    fn update_value(self, _nullifier: Field) -> Self {\n        assert(false, \"Tried to update a nullifier\");\n        Self::empty()\n    }\n\n    fn build_insertion_leaf(nullifier: Field, low_leaf: Self) -> Self {\n        Self { nullifier, next_nullifier: low_leaf.next_nullifier, next_index: low_leaf.next_index }\n    }\n}\n\nimpl Readable for NullifierLeafPreimage {\n    fn assert_match_read_request(self, read_request: Field) {\n        assert_eq(\n            self.nullifier,\n            read_request,\n            \"Value of the nullifier leaf does not match read request\",\n        );\n    }\n}\n\nimpl NullifierLeafPreimage {\n    pub fn is_empty(self) -> bool {\n        (self.nullifier == 0) & (self.next_nullifier == 0) & (self.next_index == 0)\n    }\n}\n"
    },
    "340": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr",
      "source": "use crate::{\n    address::{\n        partial_address::PartialAddress, salted_initialization_hash::SaltedInitializationHash,\n    },\n    constants::{AZTEC_ADDRESS_LENGTH, DOM_SEP__CONTRACT_ADDRESS_V1, MAX_FIELD_VALUE},\n    contract_class_id::ContractClassId,\n    hash::poseidon2_hash_with_separator,\n    public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, ToPoint, TpkM},\n    traits::{Deserialize, Empty, FromField, Packable, Serialize, ToField},\n    utils::field::sqrt,\n};\n\n// We do below because `use crate::point::Point;` does not work\nuse std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\nuse crate::public_keys::AddressPoint;\nuse std::{\n    embedded_curve_ops::{EmbeddedCurveScalar, fixed_base_scalar_mul as derive_public_key},\n    ops::Add,\n};\nuse std::meta::derive;\n\n// Aztec address\n#[derive(Deserialize, Eq, Packable, Serialize)]\npub struct AztecAddress {\n    pub inner: Field,\n}\n\nimpl Empty for AztecAddress {\n    fn empty() -> Self {\n        Self { inner: 0 }\n    }\n}\n\nimpl ToField for AztecAddress {\n    fn to_field(self) -> Field {\n        self.inner\n    }\n}\n\nimpl FromField for AztecAddress {\n    fn from_field(value: Field) -> AztecAddress {\n        AztecAddress { inner: value }\n    }\n}\n\nimpl AztecAddress {\n    pub fn zero() -> Self {\n        Self { inner: 0 }\n    }\n\n    /// Returns `true` if the address is valid.\n    ///\n    /// An invalid address is one that can be proven to not be correctly derived, meaning it contains no contract code,\n    /// public keys, etc., and can therefore not receive messages nor execute calls.\n    pub fn is_valid(self) -> bool {\n        self.get_y().is_some()\n    }\n\n    /// Returns an address's [`AddressPoint`].\n    ///\n    /// This can be used to create shared secrets with the owner of the address. If the address is invalid (see\n    /// [`AztecAddress::is_valid`]) then this returns `Option::none()`, and no shared secrets can be created.\n    pub fn to_address_point(self) -> Option<AddressPoint> {\n        self.get_y().map(|y| {\n            // If we get a negative y coordinate (y > (r - 1) / 2), we swap it to the\n            // positive one (where y <= (r - 1) / 2) by negating it.\n            let final_y = if Self::is_positive(y) { y } else { -y };\n\n            AddressPoint { inner: Point { x: self.inner, y: final_y, is_infinite: false } }\n        })\n    }\n\n    /// Determines whether a y-coordinate is in the lower (positive) or upper (negative) \"half\" of the field.\n    /// I.e.\n    /// y <= (r - 1)/2 => positive.\n    /// y > (r - 1)/2 => negative.\n    /// An AddressPoint always uses the \"positive\" y.\n    fn is_positive(y: Field) -> bool {\n        // Note: The field modulus r is MAX_FIELD_VALUE + 1.\n        let MID = MAX_FIELD_VALUE / 2; // (r - 1) / 2\n        let MID_PLUS_1 = MID + 1; // (r - 1)/2 + 1\n        // Note: y <= m implies y < m + 1.\n        y.lt(MID_PLUS_1)\n    }\n\n    /// Returns one of the two possible y-coordinates.\n    ///\n    /// Not all `AztecAddresses` are valid, in which case there is no corresponding y-coordinate. This returns\n    /// `Option::none()` for invalid addresses.\n    ///\n    /// An `AztecAddress` is defined by an x-coordinate, for which two y-coordinates exist as solutions to the curve\n    /// equation. This function returns either of them. Note that an [`AddressPoint`] must **always** have a positive\n    /// y-coordinate - if trying to obtain the underlying point use [`AztecAddress::to_address_point`] instead.\n    fn get_y(self) -> Option<Field> {\n        // We compute the address point by taking our address as x, and then solving for y in the\n        // equation which defines the grumpkin curve:\n        // y^2 = x^3 - 17; x = address\n        let x = self.inner;\n        let y_squared = x * x * x - 17;\n\n        sqrt(y_squared)\n    }\n\n    pub fn compute(public_keys: PublicKeys, partial_address: PartialAddress) -> AztecAddress {\n        //\n        //                          address = address_point.x\n        //                                          |\n        //                                    address_point = pre_address * G + Ivpk_m (always choose \"positive\" y-coord)\n        //                                                        |               ^\n        //                                                        |               |.....................\n        //                                                    pre_address                              .\n        //                                               /                   \\                         .\n        //                                             /                       \\                       .\n        //                               partial_address                        public_keys_hash       .\n        //                           /                    \\                     /   /    \\    \\        .\n        //                         /                        \\              Npk_m Ivpk_m Ovpk_m Tpk_m   .\n        //          contract_class_id                         \\                     |...................\n        //             /   |    \\                               \\\n        // artifact_hash   |    public_bytecode_commitment       salted_initialization_hash\n        //                 |                                         /     /        \\\n        //     private_function_tree_root              deployer_address  salt   initialization_hash\n        //             /       \\                                                /              \\\n        //          ...          ...                              constructor_fn_selector   constructor_args_hash\n        //         /                \\\n        //     /     \\            /      \\\n        //   leaf   leaf        leaf    leaf\n        //           ^\n        //           |\n        //           |---h(function_selector, vk_hash)\n        //               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        //               Each of these represents a private function of the contract.\n\n        let public_keys_hash = public_keys.hash();\n\n        let pre_address = poseidon2_hash_with_separator(\n            [public_keys_hash.to_field(), partial_address.to_field()],\n            DOM_SEP__CONTRACT_ADDRESS_V1,\n        );\n\n        // Note: `.add()` will fail within the blackbox fn if either of the points are not on the curve. (See tests below).\n        let address_point = derive_public_key(EmbeddedCurveScalar::from_field(pre_address)).add(\n            public_keys.ivpk_m.to_point(),\n        );\n\n        // Note that our address is only the x-coordinate of the full address_point. This is okay because when people want to encrypt something and send it to us\n        // they can recover our full point using the x-coordinate (our address itself). To do this, they recompute the y-coordinate according to the equation y^2 = x^3 - 17.\n        // When they do this, they may get a positive y-coordinate (a value that is less than or equal to MAX_FIELD_VALUE / 2) or\n        // a negative y-coordinate (a value that is more than MAX_FIELD_VALUE), and we cannot dictate which one they get and hence the recovered point may sometimes be different than the one\n        // our secret can decrypt. Regardless though, they should and will always encrypt using point with the positive y-coordinate by convention.\n        // This ensures that everyone encrypts to the same point given an arbitrary x-coordinate (address). This is allowed because even though our original point may not have a positive y-coordinate,\n        // with our original secret, we will be able to derive the secret to the point with the flipped (and now positive) y-coordinate that everyone encrypts to.\n        AztecAddress::from_field(address_point.x)\n    }\n\n    pub fn compute_from_class_id(\n        contract_class_id: ContractClassId,\n        salted_initialization_hash: SaltedInitializationHash,\n        public_keys: PublicKeys,\n    ) -> Self {\n        let partial_address = PartialAddress::compute_from_salted_initialization_hash(\n            contract_class_id,\n            salted_initialization_hash,\n        );\n\n        AztecAddress::compute(public_keys, partial_address)\n    }\n\n    pub fn is_zero(self) -> bool {\n        self.inner == 0\n    }\n\n    pub fn assert_is_zero(self) {\n        assert(self.to_field() == 0);\n    }\n}\n\n#[test]\nfn check_max_field_value() {\n    // Check that it is indeed r-1.\n    assert_eq(MAX_FIELD_VALUE + 1, 0);\n}\n\n#[test]\nfn check_is_positive() {\n    assert(AztecAddress::is_positive(0));\n    assert(AztecAddress::is_positive(1));\n    assert(!AztecAddress::is_positive(-1));\n    assert(AztecAddress::is_positive(MAX_FIELD_VALUE / 2));\n    assert(!AztecAddress::is_positive((MAX_FIELD_VALUE / 2) + 1));\n}\n\n// Gives us confidence that we don't need to manually check that the input public keys need to be on the curve for `add`,\n// because the blackbox function does this check for us.\n#[test(should_fail_with = \"is not on curve\")]\nfn check_embedded_curve_point_add() {\n    // Choose a point not on the curve:\n    let p1 = Point { x: 1, y: 1, is_infinite: false };\n    let p2 = Point::generator();\n    let _ = p1 + p2;\n}\n\n// Gives us confidence that we don't need to manually check that the input public keys need to be on the curve for `add`,\n// because the blackbox function does this check for us.\n#[test(should_fail_with = \"is not on curve\")]\nfn check_embedded_curve_point_add_2() {\n    // Choose a point not on the curve in the 2nd position.\n    let p1 = Point::generator();\n    let p2 = Point { x: 1, y: 1, is_infinite: false };\n    let _ = p1 + p2;\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys() {\n    let public_keys = PublicKeys {\n        npk_m: NpkM {\n            inner: Point {\n                x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab,\n                y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7,\n                is_infinite: false,\n            },\n        },\n        ivpk_m: IvpkM {\n            inner: Point {\n                x: 0x111223493147f6785514b1c195bb37a2589f22a6596d30bb2bb145fdc9ca8f1e,\n                y: 0x273bbffd678edce8fe30e0deafc4f66d58357c06fd4a820285294b9746c3be95,\n                is_infinite: false,\n            },\n        },\n        ovpk_m: OvpkM {\n            inner: Point {\n                x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484,\n                y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b,\n                is_infinite: false,\n            },\n        },\n        tpk_m: TpkM {\n            inner: Point {\n                x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762,\n                y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a,\n                is_infinite: false,\n            },\n        },\n    };\n\n    let partial_address = PartialAddress::from_field(\n        0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de,\n    );\n\n    let address = AztecAddress::compute(public_keys, partial_address);\n\n    // The following value was generated by `derivation.test.ts`.\n    // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n    let expected_computed_address_from_partial_and_pubkeys =\n        0x2f66081d4bb077fbe8e8abe96a3516a713a3d7e34360b4e985da0da95092b37d;\n    assert(address.to_field() == expected_computed_address_from_partial_and_pubkeys);\n}\n\n#[test]\nfn compute_preaddress_from_partial_and_pub_keys() {\n    let pre_address = poseidon2_hash_with_separator([1, 2], DOM_SEP__CONTRACT_ADDRESS_V1);\n    let expected_computed_preaddress_from_partial_and_pubkey =\n        0x286c7755f2924b1e53b00bcaf1adaffe7287bd74bba7a02f4ab867e3892d28da;\n    assert(pre_address == expected_computed_preaddress_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n    let address = AztecAddress { inner: 37 };\n    assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n    let address = AztecAddress { inner: 37 };\n    // We use the AZTEC_ADDRESS_LENGTH constant to ensure that there is a match between the derived trait\n    // implementation and the constant.\n    let serialized: [Field; AZTEC_ADDRESS_LENGTH] = address.serialize();\n    let deserialized = AztecAddress::deserialize(serialized);\n    assert_eq(address, deserialized);\n}\n\n#[test]\nfn to_address_point_valid() {\n    // x = 8 where x^3 - 17 = 512 - 17 = 495, which is a residue in this field\n    let address = AztecAddress { inner: 8 };\n\n    assert(address.get_y().is_some()); // We don't bother checking the result of get_y as it is only used internally\n    assert(address.is_valid());\n\n    let maybe_point = address.to_address_point();\n    assert(maybe_point.is_some());\n\n    let point = maybe_point.unwrap().inner;\n    // check that x is preserved\n    assert_eq(point.x, Field::from(8));\n\n    // check that the curve equation holds: y^2 == x^3 - 17\n    assert_eq(point.y * point.y, point.x * point.x * point.x - 17);\n}\n\n#[test]\nunconstrained fn to_address_point_invalid() {\n    // x = 3 where x^3 - 17 = 27 - 17 = 10, which is a non-residue in this field\n    let address = AztecAddress { inner: 3 };\n\n    assert(address.get_y().is_none());\n    assert(!address.is_valid());\n\n    assert(address.to_address_point().is_none());\n}\n"
    },
    "343": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr",
      "source": "use crate::{\n    address::{aztec_address::AztecAddress, salted_initialization_hash::SaltedInitializationHash},\n    constants::DOM_SEP__PARTIAL_ADDRESS,\n    contract_class_id::ContractClassId,\n    hash::poseidon2_hash_with_separator,\n    traits::{Deserialize, Empty, Serialize, ToField},\n};\nuse std::meta::derive;\n\n// Partial address\n#[derive(Deserialize, Eq, Serialize)]\npub struct PartialAddress {\n    pub inner: Field,\n}\n\nimpl ToField for PartialAddress {\n    fn to_field(self) -> Field {\n        self.inner\n    }\n}\n\nimpl Empty for PartialAddress {\n    fn empty() -> Self {\n        Self { inner: 0 }\n    }\n}\n\nimpl PartialAddress {\n    pub fn from_field(field: Field) -> Self {\n        Self { inner: field }\n    }\n\n    pub fn compute(\n        contract_class_id: ContractClassId,\n        salt: Field,\n        initialization_hash: Field,\n        deployer: AztecAddress,\n    ) -> Self {\n        PartialAddress::compute_from_salted_initialization_hash(\n            contract_class_id,\n            SaltedInitializationHash::compute(salt, initialization_hash, deployer),\n        )\n    }\n\n    pub fn compute_from_salted_initialization_hash(\n        contract_class_id: ContractClassId,\n        salted_initialization_hash: SaltedInitializationHash,\n    ) -> Self {\n        PartialAddress::from_field(poseidon2_hash_with_separator(\n            [contract_class_id.to_field(), salted_initialization_hash.to_field()],\n            DOM_SEP__PARTIAL_ADDRESS,\n        ))\n    }\n\n    pub fn to_field(self) -> Field {\n        self.inner\n    }\n\n    pub fn is_zero(self) -> bool {\n        self.to_field() == 0\n    }\n\n    pub fn assert_is_zero(self) {\n        assert(self.to_field() == 0);\n    }\n}\n\nmod test {\n    use crate::{address::partial_address::PartialAddress, traits::{Deserialize, Serialize}};\n\n    #[test]\n    fn serialization_of_partial_address() {\n        let item = PartialAddress::from_field(1);\n        let serialized: [Field; 1] = item.serialize();\n        let deserialized = PartialAddress::deserialize(serialized);\n        assert_eq(item, deserialized);\n    }\n}\n"
    },
    "345": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr",
      "source": "use crate::{\n    address::aztec_address::AztecAddress, constants::DOM_SEP__PARTIAL_ADDRESS,\n    hash::poseidon2_hash_with_separator, traits::ToField,\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\n#[derive(Eq)]\npub struct SaltedInitializationHash {\n    pub inner: Field,\n}\n\nimpl ToField for SaltedInitializationHash {\n    fn to_field(self) -> Field {\n        self.inner\n    }\n}\n\nimpl SaltedInitializationHash {\n    pub fn from_field(field: Field) -> Self {\n        Self { inner: field }\n    }\n\n    pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n        SaltedInitializationHash::from_field(poseidon2_hash_with_separator(\n            [salt, initialization_hash, deployer.to_field()],\n            DOM_SEP__PARTIAL_ADDRESS,\n        ))\n    }\n\n    pub fn assert_is_zero(self) {\n        assert(self.to_field() == 0);\n    }\n}\n"
    },
    "355": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr",
      "source": "use crate::{\n    address::{aztec_address::AztecAddress, partial_address::PartialAddress},\n    contract_class_id::ContractClassId,\n    public_keys::PublicKeys,\n    traits::{Deserialize, Hash, Serialize, ToField},\n};\nuse std::meta::derive;\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct ContractInstance {\n    pub salt: Field,\n    pub deployer: AztecAddress,\n    pub contract_class_id: ContractClassId,\n    pub initialization_hash: Field,\n    pub public_keys: PublicKeys,\n}\n\nimpl Hash for ContractInstance {\n    fn hash(self) -> Field {\n        self.to_address().to_field()\n    }\n}\n\nimpl ContractInstance {\n    pub fn to_address(self) -> AztecAddress {\n        AztecAddress::compute(\n            self.public_keys,\n            PartialAddress::compute(\n                self.contract_class_id,\n                self.salt,\n                self.initialization_hash,\n                self.deployer,\n            ),\n        )\n    }\n}\n\nmod test {\n    use crate::{\n        address::AztecAddress,\n        constants::CONTRACT_INSTANCE_LENGTH,\n        contract_class_id::ContractClassId,\n        contract_instance::ContractInstance,\n        public_keys::PublicKeys,\n        traits::{Deserialize, FromField, Serialize},\n    };\n\n    #[test]\n    fn serde() {\n        let instance = ContractInstance {\n            salt: 6,\n            deployer: AztecAddress::from_field(12),\n            contract_class_id: ContractClassId::from_field(13),\n            initialization_hash: 156,\n            public_keys: PublicKeys::default(),\n        };\n\n        // We use the CONTRACT_INSTANCE_LENGTH constant to ensure that there is a match between the derived trait\n        // implementation and the constant.\n        let serialized: [Field; CONTRACT_INSTANCE_LENGTH] = instance.serialize();\n\n        let deserialized = ContractInstance::deserialize(serialized);\n\n        assert(instance.eq(deserialized));\n    }\n\n}\n"
    },
    "359": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/data/public_data_tree_leaf_preimage.nr",
      "source": "use crate::{\n    data::public_data_tree_leaf::PublicDataTreeLeaf,\n    merkle_tree::{IndexedTreeLeafPreimage, LeafPreimage},\n    traits::{Deserialize, Empty, Hash, Serialize},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct PublicDataTreeLeafPreimage {\n    pub slot: Field,\n    pub value: Field,\n    pub next_slot: Field,\n    pub next_index: Field,\n}\n\n/// An empty public data tree leaf preimage never actually exists in the tree.\n///\n/// Unlike the nullifier tree, where nullifiers are inserted in fixed-size batches (padded with empty preimages when\n/// a transaction doesn't fill a full batch), the AVM inserts public data leaves one by one, so no padding is needed.\n///\n/// The tree is initialized with non-empty leaf preimages (see table below). To insert an empty leaf preimage\n/// (slot = 0), we would need to find a valid low leaf satisfying: low_leaf.slot < 0 < low_leaf.next_slot.\n/// Since all slots in the tree are non-negative, no such low leaf exists, making insertion impossible.\n///\n/// In fact, slot 0 already exists in the initial tree state. The preimage { slot: 0, value: 0, next_slot: 1,\n/// next_index: 1 } can be used to prove membership and update the value at slot 0. However, it's practically\n/// impossible for a contract to produce a storage slot where `compute_public_data_leaf_slot` returns 0.\n///\n/// Note: Tree leaves beyond next_available_leaf_index contain zero hashes (the default empty leaf value in Merkle\n/// trees). These are NOT hashes of empty leaf preimages - the hash of an empty public data leaf preimage is\n/// 0x20be000d93b852c82d4e02c94e9e61fa3a0e79949aac3af4010620651d416134\n///\n/// Initial state of the Public Data Tree (initialized in content_addressed_indexed_tree.hpp with N = 128):\n///\n///   Index |  slot    value   next_slot  next_index\n///   ----- |  ----    -----   ---------  ---------\n///   0     |  0       0       1          1\n///   1     |  1       0       2          2\n///   2     |  2       0       3          3\n///   ...   |  ...     ...     ...        ...\n///   N-2   |  N-2     0       N-1        N-1\n///   N-1   |  N-1     0       0          0          (points to infinity)\n///\nimpl Empty for PublicDataTreeLeafPreimage {\n    fn empty() -> Self {\n        Self { slot: 0, value: 0, next_slot: 0, next_index: 0 }\n    }\n}\n\nimpl Hash for PublicDataTreeLeafPreimage {\n    fn hash(self) -> Field {\n        crate::hash::poseidon2_hash(self.serialize())\n    }\n}\n\nimpl LeafPreimage for PublicDataTreeLeafPreimage {\n    fn get_key(self) -> Field {\n        self.slot\n    }\n\n    fn as_leaf(self) -> Field {\n        self.hash()\n    }\n}\n\nimpl IndexedTreeLeafPreimage<PublicDataTreeLeaf> for PublicDataTreeLeafPreimage {\n    fn get_next_key(self) -> Field {\n        self.next_slot\n    }\n\n    fn points_to_infinity(self) -> bool {\n        (self.next_slot == 0) & (self.next_index == 0)\n    }\n\n    fn update_pointers(self, next_slot: Field, next_index: Field) -> Self {\n        Self { slot: self.slot, value: self.value, next_slot, next_index }\n    }\n\n    fn update_value(self, write: PublicDataTreeLeaf) -> Self {\n        Self {\n            slot: self.slot,\n            value: write.value,\n            next_slot: self.next_slot,\n            next_index: self.next_index,\n        }\n    }\n\n    fn build_insertion_leaf(write: PublicDataTreeLeaf, low_leaf: Self) -> Self {\n        Self {\n            slot: write.slot,\n            value: write.value,\n            next_slot: low_leaf.next_slot,\n            next_index: low_leaf.next_index,\n        }\n    }\n}\n\n#[test]\nfn public_data_tree_leaf_preimage_hash_matches_typescript() {\n    let leaf = PublicDataTreeLeafPreimage { slot: 123, value: 45, next_slot: 67, next_index: 890 };\n    let hash = leaf.hash();\n\n    // The following value was generated by `yarn-project/stdlib/src/trees/public_data_leaf.test.ts`\n    let hash_from_ts = 0x2efdfcfc865cbb7543183fae69374ee5106dde9741545afd2fbf12868b550614;\n\n    assert_eq(hash, hash_from_ts);\n}\n"
    },
    "360": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/data/storage_read.nr",
      "source": "use crate::{\n    constants::PUBLIC_DATA_TREE_HEIGHT,\n    data::public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage,\n    merkle_tree::{conditionally_check_membership, MembershipWitness},\n};\n\n/// Read the value from public storage at the given `leaf_slot`.\n///\n/// Parameters:\n/// - `public_data_tree_root`: The root of the public data tree.\n/// - `public_data_leaf_slot`: The slot of the leaf in the public data tree.\n/// - `witness`: A hint to prove that the `leaf_preimage` exists in the tree.\n///\n/// The slot could either exist (has been initialized) in the tree or not:\n/// - If it's in the tree, `leaf_preimage` should be the preimage for the slot.\n/// - If it's not in the tree, `leaf_preimage` should be the preimage for the low leaf of the slot.\n///\n/// Returns:\n/// - `Field`: The value read from the public data tree.\npub fn public_data_storage_read(\n    public_data_tree_root: Field,\n    public_data_leaf_slot: Field,\n    witness: MembershipWitness<PUBLIC_DATA_TREE_HEIGHT>,\n    leaf_preimage: PublicDataTreeLeafPreimage,\n) -> Field {\n    // Use the given `leaf_preimage` hint to determine whether we are reading a slot that's been written to the tree or\n    // not.\n    let is_slot_in_tree = leaf_preimage.slot == public_data_leaf_slot;\n\n    let (_, is_expected_leaf, is_leaf_in_tree) = conditionally_check_membership(\n        public_data_leaf_slot,\n        is_slot_in_tree,\n        leaf_preimage,\n        witness,\n        public_data_tree_root,\n    );\n\n    // In the case of the state existing in the tree, `is_leaf_in_tree = true`.\n    // In the case of the state not existing in the tree, the above membership check was done against the _low_ leaf,\n    // so rather confusingly, we still expect `is_leaf_in_tree = true` (because it's a different kind of leaf in this case).\n    assert(is_leaf_in_tree, \"Proving public value inclusion failed\");\n    assert(\n        is_expected_leaf,\n        \"The provided public data tree leaf preimage is not the correct leaf for the requested slot\",\n    );\n\n    // Note: An empty leaf preimage would pass validation as a low leaf. However, it is not a valid leaf and is never\n    // inserted into the tree, since we do not perform batch insertions with padded empty leaves in the public data\n    // tree, and the tree's genesis state contains only non-empty leaves.\n    // (See the comment in `PublicDataTreeLeafPreimage` for more details.)\n    // Therefore, even if an empty leaf preimage is provided, it will fail the membership check because\n    // `is_leaf_in_tree` will be false.\n\n    if is_slot_in_tree {\n        leaf_preimage.value\n    } else {\n        0\n    }\n}\n\nmod tests {\n    use crate::{\n        constants::PUBLIC_DATA_TREE_HEIGHT,\n        data::public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage,\n        merkle_tree::{MembershipWitness, test_utils::SingleSubtreeMerkleTree},\n        traits::{Empty, Hash},\n    };\n    use super::public_data_storage_read;\n\n    struct TestBuilder {\n        public_data_tree_root: Field,\n        public_data_leaf_slot: Field,\n        witness: MembershipWitness<PUBLIC_DATA_TREE_HEIGHT>,\n        leaf_preimage: PublicDataTreeLeafPreimage,\n        public_data_tree: SingleSubtreeMerkleTree<4, 2, PUBLIC_DATA_TREE_HEIGHT>,\n    }\n\n    impl TestBuilder {\n        pub fn new() -> Self {\n            // Create a tree with 4 prefilled leaves.\n            // slot 0 -> slot 11 -> slot 22 -> slot 33 -> infinity\n            let prefilled_leaves = [\n                PublicDataTreeLeafPreimage { slot: 0, value: 0, next_slot: 11, next_index: 3 },\n                PublicDataTreeLeafPreimage { slot: 22, value: 123, next_slot: 33, next_index: 2 },\n                PublicDataTreeLeafPreimage { slot: 33, value: 789, next_slot: 0, next_index: 0 },\n                PublicDataTreeLeafPreimage { slot: 11, value: 456, next_slot: 22, next_index: 1 },\n            ];\n            let public_data_tree = SingleSubtreeMerkleTree::<4, 2, PUBLIC_DATA_TREE_HEIGHT>::new(\n                prefilled_leaves.map(|l| l.hash()),\n            );\n\n            let public_data_tree_root = public_data_tree.get_root();\n\n            // Default to reading from slot 22 (exists in tree at index 1).\n            let leaf_index = 1;\n            let public_data_leaf_slot = 22;\n            let leaf_preimage = prefilled_leaves[1];\n            let witness = MembershipWitness {\n                leaf_index,\n                sibling_path: public_data_tree.get_sibling_path(leaf_index),\n            };\n\n            Self {\n                public_data_tree_root,\n                public_data_leaf_slot,\n                witness,\n                leaf_preimage,\n                public_data_tree,\n            }\n        }\n\n        pub fn read_value(self) -> Field {\n            public_data_storage_read(\n                self.public_data_tree_root,\n                self.public_data_leaf_slot,\n                self.witness,\n                self.leaf_preimage,\n            )\n        }\n    }\n\n    #[test]\n    fn read_existing_slot() {\n        let builder = TestBuilder::new();\n\n        let value = builder.read_value();\n\n        // Slot 22 has value 123.\n        assert_eq(value, 123);\n    }\n\n    #[test]\n    fn read_non_existing_slot_using_low_leaf() {\n        let mut builder = TestBuilder::new();\n\n        // Read from slot 30, which doesn't exist in the tree.\n        // Use the leaf at slot 22 as the low leaf (22 < 30 < 33).\n        builder.public_data_leaf_slot = 30;\n        // The leaf preimage at index 1 (slot 22) is a valid low leaf for slot 30.\n        // The witness is already pointing to index 1.\n\n        let value = builder.read_value();\n\n        // Non-existing slot should return 0.\n        assert_eq(value, 0);\n    }\n\n    #[test]\n    fn read_non_existing_slot_greater_than_max() {\n        let mut builder = TestBuilder::new();\n\n        // Read from slot 600, which is greater than the max slot in the tree (33).\n        // Use the leaf at slot 33 as the low leaf (points to infinity).\n        builder.public_data_leaf_slot = 600;\n        let leaf_index = 2;\n        builder.witness = MembershipWitness {\n            leaf_index,\n            sibling_path: builder.public_data_tree.get_sibling_path(leaf_index),\n        };\n        builder.leaf_preimage =\n            PublicDataTreeLeafPreimage { slot: 33, value: 789, next_slot: 0, next_index: 0 };\n\n        let value = builder.read_value();\n\n        // Non-existing slot should return 0.\n        assert_eq(value, 0);\n    }\n\n    #[test(should_fail_with = \"Proving public value inclusion failed\")]\n    fn wrong_membership_witness_index() {\n        let mut builder = TestBuilder::new();\n\n        // Use the wrong leaf index for the witness.\n        builder.witness.leaf_index += 1;\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"Proving public value inclusion failed\")]\n    fn wrong_tree_root() {\n        let mut builder = TestBuilder::new();\n\n        // Use a different tree root.\n        builder.public_data_tree_root = 12345;\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"The provided public data tree leaf preimage is not the correct leaf for the requested slot\")]\n    fn wrong_leaf_preimage_for_existing_slot() {\n        let mut builder = TestBuilder::new();\n\n        // Slot 22 exists, but provide a different preimage (for slot 11).\n        let leaf_index = 3;\n        builder.witness = MembershipWitness {\n            leaf_index,\n            sibling_path: builder.public_data_tree.get_sibling_path(leaf_index),\n        };\n        builder.leaf_preimage =\n            PublicDataTreeLeafPreimage { slot: 11, value: 456, next_slot: 22, next_index: 1 };\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"The provided public data tree leaf preimage is not the correct leaf for the requested slot\")]\n    fn invalid_low_leaf_slot_too_high() {\n        let mut builder = TestBuilder::new();\n\n        // Try to read slot 15. Provide low leaf at slot 22, which is > 15.\n        builder.public_data_leaf_slot = 15;\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"The provided public data tree leaf preimage is not the correct leaf for the requested slot\")]\n    fn invalid_low_leaf_next_slot_too_low() {\n        let mut builder = TestBuilder::new();\n\n        // Try to read slot 25. Use low leaf at slot 11, whose next_slot = 22, which is < 25.\n        builder.public_data_leaf_slot = 25;\n        let leaf_index = 3;\n        builder.witness = MembershipWitness {\n            leaf_index,\n            sibling_path: builder.public_data_tree.get_sibling_path(leaf_index),\n        };\n        builder.leaf_preimage =\n            PublicDataTreeLeafPreimage { slot: 11, value: 456, next_slot: 22, next_index: 1 };\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"Proving public value inclusion failed\")]\n    fn bypass_existing_slot_using_empty_leaf() {\n        let mut builder = TestBuilder::new();\n\n        // Slot 22 exists, but try to bypass it using an empty leaf at an unused index.\n        let leaf_index = builder.public_data_tree.get_next_available_index();\n        builder.witness = MembershipWitness {\n            leaf_index,\n            sibling_path: builder.public_data_tree.get_sibling_path(leaf_index),\n        };\n        builder.leaf_preimage = PublicDataTreeLeafPreimage::empty();\n\n        let _ = builder.read_value();\n    }\n\n    #[test(should_fail_with = \"Proving public value inclusion failed\")]\n    fn leaf_preimage_mismatch_value() {\n        let mut builder = TestBuilder::new();\n\n        // Provide a preimage with the correct slot but wrong value.\n        // The slot matches, so the function treats this as \"slot exists in tree\".\n        // But the preimage hash won't match the actual leaf in the tree, so membership fails.\n        builder.leaf_preimage =\n            PublicDataTreeLeafPreimage { slot: 22, value: 9999, next_slot: 33, next_index: 2 };\n\n        let _ = builder.read_value();\n    }\n}\n"
    },
    "371": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
      "source": "mod poseidon2_chunks;\n\nuse crate::{\n    abis::{\n        contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n        function_selector::FunctionSelector, nullifier::Nullifier, private_log::PrivateLog,\n        transaction::tx_request::TxRequest,\n    },\n    address::{AztecAddress, EthAddress},\n    constants::{\n        CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__NOTE_HASH_NONCE,\n        DOM_SEP__PRIVATE_LOG_FIRST_FIELD, DOM_SEP__SILOED_NOTE_HASH, DOM_SEP__SILOED_NULLIFIER,\n        DOM_SEP__UNIQUE_NOTE_HASH, FUNCTION_TREE_HEIGHT, NULL_MSG_SENDER_CONTRACT_ADDRESS,\n        TWO_POW_64,\n    },\n    merkle_tree::root_from_sibling_path,\n    messaging::l2_to_l1_message::L2ToL1Message,\n    poseidon2::Poseidon2Sponge,\n    side_effect::{Counted, Scoped},\n    traits::{FromField, Hash, ToField},\n    utils::field::{field_from_bytes, field_from_bytes_32_trunc},\n};\n\npub use poseidon2_chunks::poseidon2_absorb_in_chunks_existing_sponge;\nuse poseidon2_chunks::poseidon2_absorb_in_chunks;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\n// TODO: refactor these into their own files: sha256, poseidon2, some protocol-specific hash computations, some merkle computations.\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n    let sha256_hashed = sha256::digest(bytes_to_hash);\n    let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n    hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n    selector: FunctionSelector,\n    vk_hash: Field,\n    function_leaf_index: Field,\n    function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n    let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n    let function_leaf = function_leaf_preimage.hash();\n    root_from_sibling_path(\n        function_leaf,\n        function_leaf_index,\n        function_leaf_sibling_path,\n    )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn compute_siloed_note_hash(contract_address: AztecAddress, note_hash: Field) -> Field {\n    poseidon2_hash_with_separator(\n        [contract_address.to_field(), note_hash],\n        DOM_SEP__SILOED_NOTE_HASH,\n    )\n}\n\n/// Computes unique, siloed note hashes from siloed note hashes.\n///\n/// The protocol injects uniqueness into every note_hash, so that every single note_hash in the\n/// tree is unique. This prevents faerie gold attacks, where a malicious sender could create\n/// two identical note_hashes for a recipient (meaning only one would be nullifiable in future).\n///\n/// Most privacy protocols will inject the note's leaf_index (its position in the Note Hashes Tree)\n/// into the note, but this requires the creator of a note to wait until their tx is included in\n/// a block to know the note's final note hash (the unique, siloed note hash), because inserting\n/// leaves into trees is the job of a block producer.\n///\n/// We took a different approach so that the creator of a note will know each note's unique, siloed\n/// note hash before broadcasting their tx to the network.\n/// (There was also a historical requirement relating to \"chained transactions\" -- a feature that\n/// Aztec Connect had to enable notes to be spent from distinct txs earlier in the same block,\n/// and hence before an archive block root had been established for that block -- but that feature\n/// was abandoned for the Aztec Network for having too many bad tradeoffs).\n///\n/// (\n///   Edit: it is no longer true that all final note_hashes will be known by the creator of a tx\n///   before they send it to the network. If a tx makes public function calls, then _revertible_\n///   note_hashes that are created in private will not be made unique in private by the Reset circuit,\n///   but will instead be made unique by the AVM, because the `note_index_in_tx` will not be known\n///   until the AVM has executed the public functions of the tx. (See an explanation in\n///   reset_output_composer.nr for why).\n///   For some such txs, the `note_index_in_tx` might still be predictable through simulation, but\n///   for txs whose public functions create a varying number of non-revertible notes (determined at\n///   runtime), the `note_index_in_tx` will not be deterministically derivable before submitting the\n///   tx to the network.\n/// )\n///\n/// We use the `first_nullifier` of a tx as a seed of uniqueness. We have a guarantee that there will\n/// always be at least one nullifier per tx, because the init circuit will create one if one isn't\n/// created naturally by any functions of the tx. (Search \"protocol_nullifier\").\n/// We combine the `first_nullifier` with the note's index (its position within this tx's new\n/// note_hashes array) (`note_index_in_tx`) to get a truly unique value to inject into a note, which\n/// we call a `note_nonce`.\npub fn compute_unique_note_hash(note_nonce: Field, siloed_note_hash: Field) -> Field {\n    let inputs = [note_nonce, siloed_note_hash];\n    poseidon2_hash_with_separator(inputs, DOM_SEP__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n    // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n    // unique).\n    poseidon2_hash_with_separator(\n        [first_nullifier_in_tx, note_index_in_tx as Field],\n        DOM_SEP__NOTE_HASH_NONCE,\n    )\n}\n\npub fn compute_note_nonce_and_unique_note_hash(\n    siloed_note_hash: Field,\n    first_nullifier: Field,\n    note_index_in_tx: u32,\n) -> Field {\n    let note_nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n    compute_unique_note_hash(note_nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier(contract_address: AztecAddress, nullifier: Field) -> Field {\n    poseidon2_hash_with_separator(\n        [contract_address.to_field(), nullifier],\n        DOM_SEP__SILOED_NULLIFIER,\n    )\n}\n\npub fn create_protocol_nullifier(tx_request: TxRequest) -> Scoped<Counted<Nullifier>> {\n    // The protocol nullifier is ascribed a special side-effect counter of 1. No other side-effect\n    // can have counter 1 (see `validate_as_first_call` for that assertion).\n    Nullifier { value: tx_request.hash(), note_hash: 0 }.count(1).scope(\n        NULL_MSG_SENDER_CONTRACT_ADDRESS,\n    )\n}\n\npub fn compute_log_tag(raw_tag: Field, dom_sep: u32) -> Field {\n    poseidon2_hash_with_separator([raw_tag], dom_sep)\n}\n\npub fn compute_siloed_private_log_first_field(\n    contract_address: AztecAddress,\n    field: Field,\n) -> Field {\n    poseidon2_hash_with_separator(\n        [contract_address.to_field(), field],\n        DOM_SEP__PRIVATE_LOG_FIRST_FIELD,\n    )\n}\n\npub fn compute_siloed_private_log(contract_address: AztecAddress, log: PrivateLog) -> PrivateLog {\n    let mut fields = log.fields;\n    fields[0] = compute_siloed_private_log_first_field(contract_address, fields[0]);\n    PrivateLog::new(fields, log.length)\n}\n\npub fn compute_contract_class_log_hash(log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]) -> Field {\n    poseidon2_hash(log)\n}\n\npub fn compute_app_siloed_secret_key(\n    master_secret_key: EmbeddedCurveScalar,\n    app_address: AztecAddress,\n    key_type_domain_separator: Field,\n) -> Field {\n    poseidon2_hash_with_separator(\n        [master_secret_key.hi, master_secret_key.lo, app_address.to_field()],\n        key_type_domain_separator,\n    )\n}\n\npub fn compute_l2_to_l1_message_hash(\n    message: Scoped<L2ToL1Message>,\n    rollup_version_id: Field,\n    chain_id: Field,\n) -> Field {\n    let contract_address_bytes: [u8; 32] = message.contract_address.to_field().to_be_bytes();\n    let recipient_bytes: [u8; 20] = message.inner.recipient.to_be_bytes();\n    let content_bytes: [u8; 32] = message.inner.content.to_be_bytes();\n    let rollup_version_id_bytes: [u8; 32] = rollup_version_id.to_be_bytes();\n    let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n\n    let mut bytes: [u8; 148] = std::mem::zeroed();\n    for i in 0..32 {\n        bytes[i] = contract_address_bytes[i];\n        bytes[i + 32] = rollup_version_id_bytes[i];\n        // 64 - 84 are for recipient.\n        bytes[i + 84] = chain_id_bytes[i];\n        bytes[i + 116] = content_bytes[i];\n    }\n\n    for i in 0..20 {\n        bytes[64 + i] = recipient_bytes[i];\n    }\n\n    sha256_to_field(bytes)\n}\n\n// TODO: consider a variant that enables domain separation with a u32 (we seem to have standardised u32s for domain separators)\n/// Computes sha256 hash of 2 input fields.\n///\n/// @returns A truncated field (i.e., the first byte is always 0).\npub fn accumulate_sha256(v0: Field, v1: Field) -> Field {\n    // Concatenate two fields into 32 x 2 = 64 bytes\n    let v0_as_bytes: [u8; 32] = v0.to_be_bytes();\n    let v1_as_bytes: [u8; 32] = v1.to_be_bytes();\n    let hash_input_flattened = v0_as_bytes.concat(v1_as_bytes);\n\n    sha256_to_field(hash_input_flattened)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n    poseidon::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n    T: ToField,\n{\n    let inputs_with_separator = [separator.to_field()].concat(inputs);\n    poseidon2_hash(inputs_with_separator)\n}\n\n/// Computes a Poseidon2 hash over a dynamic-length subarray of the given input.\n/// Only the first `in_len` fields of `input` are absorbed; any remaining fields are ignored.\n/// The caller is responsible for ensuring that the input is padded with zeros if required.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n    let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n    sponge.squeeze()\n}\n\n// This function is  unconstrained because it is intended to be used in unconstrained context only as\n// in constrained contexts it would be too inefficient.\npub unconstrained fn poseidon2_hash_with_separator_bounded_vec<let N: u32, T>(\n    inputs: BoundedVec<Field, N>,\n    separator: T,\n) -> Field\nwhere\n    T: ToField,\n{\n    let in_len = inputs.len() + 1;\n    let iv: Field = (in_len as Field) * TWO_POW_64;\n    let mut sponge = Poseidon2Sponge::new(iv);\n    sponge.absorb(separator.to_field());\n\n    for i in 0..inputs.len() {\n        sponge.absorb(inputs.get(i));\n    }\n\n    sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n    let mut fields = [0; (N + 30) / 31];\n    let mut field_index = 0;\n    let mut current_field = [0; 31];\n    for i in 0..inputs.len() {\n        let index = i % 31;\n        current_field[index] = inputs[i];\n        if index == 30 {\n            fields[field_index] = field_from_bytes(current_field, false);\n            current_field = [0; 31];\n            field_index += 1;\n        }\n    }\n    if field_index != fields.len() {\n        fields[field_index] = field_from_bytes(current_field, false);\n    }\n    poseidon2_hash(fields)\n}\n\n#[test]\nfn subarray_hash_matches_fixed() {\n    let mut values_to_hash = [3; 17];\n    let mut padded = values_to_hash.concat([0; 11]);\n    let subarray_hash = poseidon2_hash_subarray(padded, values_to_hash.len());\n\n    // Hash the entire values_to_hash.\n    let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(values_to_hash, values_to_hash.len());\n\n    assert_eq(subarray_hash, fixed_len_hash);\n}\n\n#[test]\nfn subarray_hash_matches_variable() {\n    let mut values_to_hash = [3; 17];\n    let mut padded = values_to_hash.concat([0; 11]);\n    let subarray_hash = poseidon2_hash_subarray(padded, values_to_hash.len());\n\n    // Hash up to values_to_hash.len() fields of the padded array.\n    let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(padded, values_to_hash.len());\n\n    assert_eq(subarray_hash, variable_len_hash);\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n    let full_buffer = [\n        0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n        48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n        71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n        94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n        113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n        131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n        149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n    ];\n    let result = sha256_to_field(full_buffer);\n\n    assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n    // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n    let result_bytes = sha256::digest(full_buffer);\n    let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n    assert(truncated_field == result);\n    let mod_res = result + (result_bytes[31] as Field);\n    assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn unique_siloed_note_hash_matches_typescript() {\n    let inner_note_hash = 1;\n    let contract_address = AztecAddress::from_field(2);\n    let first_nullifier = 3;\n    let note_index_in_tx = 4;\n\n    let siloed_note_hash = compute_siloed_note_hash(contract_address, inner_note_hash);\n    let siloed_note_hash_from_ts =\n        0x1986a4bea3eddb1fff917d629a13e10f63f514f401bdd61838c6b475db949169;\n    assert_eq(siloed_note_hash, siloed_note_hash_from_ts);\n\n    let nonce: Field = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n    let note_hash_nonce_from_ts =\n        0x28e7799791bf066a57bb51fdd0fbcaf3f0926414314c7db515ea343f44f5d58b;\n    assert_eq(nonce, note_hash_nonce_from_ts);\n\n    let unique_siloed_note_hash_from_nonce = compute_unique_note_hash(nonce, siloed_note_hash);\n    let unique_siloed_note_hash = compute_note_nonce_and_unique_note_hash(\n        siloed_note_hash,\n        first_nullifier,\n        note_index_in_tx,\n    );\n    assert_eq(unique_siloed_note_hash_from_nonce, unique_siloed_note_hash);\n\n    let unique_siloed_note_hash_from_ts =\n        0x29949aef207b715303b24639737c17fbfeb375c1d965ecfa85c7e4f0febb7d16;\n    assert_eq(unique_siloed_note_hash, unique_siloed_note_hash_from_ts);\n}\n\n#[test]\nfn siloed_nullifier_matches_typescript() {\n    let contract_address = AztecAddress::from_field(123);\n    let nullifier = 456;\n\n    let res = compute_siloed_nullifier(contract_address, nullifier);\n\n    let siloed_nullifier_from_ts =\n        0x169b50336c1f29afdb8a03d955a81e485f5ac7d5f0b8065673d1e407e5877813;\n\n    assert_eq(res, siloed_nullifier_from_ts);\n}\n\n#[test]\nfn siloed_private_log_first_field_matches_typescript() {\n    let contract_address = AztecAddress::from_field(123);\n    let field = 456;\n    let res = compute_siloed_private_log_first_field(contract_address, field);\n\n    let siloed_private_log_first_field_from_ts =\n        0x29480984f7b9257fded523d50addbcfc8d1d33adcf2db73ef3390a8fd5cdffaa;\n\n    assert_eq(res, siloed_private_log_first_field_from_ts);\n}\n\n#[test]\nfn empty_l2_to_l1_message_hash_matches_typescript() {\n    // All zeroes\n    let res = compute_l2_to_l1_message_hash(\n        L2ToL1Message { recipient: EthAddress::zero(), content: 0 }.scope(AztecAddress::from_field(\n            0,\n        )),\n        0,\n        0,\n    );\n\n    let empty_l2_to_l1_msg_hash_from_ts =\n        0x003b18c58c739716e76429634a61375c45b3b5cd470c22ab6d3e14cee23dd992;\n\n    assert_eq(res, empty_l2_to_l1_msg_hash_from_ts);\n}\n\n#[test]\nfn l2_to_l1_message_hash_matches_typescript() {\n    let message = L2ToL1Message { recipient: EthAddress::from_field(1), content: 2 }.scope(\n        AztecAddress::from_field(3),\n    );\n    let version = 4;\n    let chainId = 5;\n\n    let hash = compute_l2_to_l1_message_hash(message, version, chainId);\n\n    // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n    let l2_to_l1_message_hash_from_ts =\n        0x0081edf209e087ad31b3fd24263698723d57190bd1d6e9fe056fc0c0a68ee661;\n\n    assert_eq(hash, l2_to_l1_message_hash_from_ts);\n}\n\n#[test]\nunconstrained fn poseidon2_hash_with_separator_bounded_vec_matches_non_bounded_vec_version() {\n    let inputs = BoundedVec::<Field, 4>::from_array([1, 2, 3]);\n    let separator = 42;\n\n    // Hash using bounded vec version\n    let bounded_result = poseidon2_hash_with_separator_bounded_vec(inputs, separator);\n\n    // Hash using regular version\n    let regular_result = poseidon2_hash_with_separator([1, 2, 3], separator);\n\n    // Results should match\n    assert_eq(bounded_result, regular_result);\n}\n"
    },
    "373": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/logging.nr",
      "source": "// Log levels matching the JS logger:\n\n// global SILENT_LOG_LEVEL: u8 = 0;\nglobal FATAL_LOG_LEVEL: u8 = 1;\nglobal ERROR_LOG_LEVEL: u8 = 2;\nglobal WARN_LOG_LEVEL: u8 = 3;\nglobal INFO_LOG_LEVEL: u8 = 4;\nglobal VERBOSE_LOG_LEVEL: u8 = 5;\nglobal DEBUG_LOG_LEVEL: u8 = 6;\nglobal TRACE_LOG_LEVEL: u8 = 7;\n\n// --- Per-level log functions (no format args) ---\n\npub fn fatal_log<let N: u32>(msg: str<N>) {\n    fatal_log_format(msg, []);\n}\n\npub fn error_log<let N: u32>(msg: str<N>) {\n    error_log_format(msg, []);\n}\n\npub fn warn_log<let N: u32>(msg: str<N>) {\n    warn_log_format(msg, []);\n}\n\npub fn info_log<let N: u32>(msg: str<N>) {\n    info_log_format(msg, []);\n}\n\npub fn verbose_log<let N: u32>(msg: str<N>) {\n    verbose_log_format(msg, []);\n}\n\npub fn debug_log<let N: u32>(msg: str<N>) {\n    debug_log_format(msg, []);\n}\n\npub fn trace_log<let N: u32>(msg: str<N>) {\n    trace_log_format(msg, []);\n}\n\n// --- Per-level log functions (with format args) ---\n\npub fn fatal_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(FATAL_LOG_LEVEL, msg, args);\n}\n\npub fn error_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(ERROR_LOG_LEVEL, msg, args);\n}\n\npub fn warn_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(WARN_LOG_LEVEL, msg, args);\n}\n\npub fn info_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(INFO_LOG_LEVEL, msg, args);\n}\n\npub fn verbose_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(VERBOSE_LOG_LEVEL, msg, args);\n}\n\npub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(DEBUG_LOG_LEVEL, msg, args);\n}\n\npub fn trace_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n    log_format(TRACE_LOG_LEVEL, msg, args);\n}\n\nfn log_format<let M: u32, let N: u32>(log_level: u8, msg: str<M>, args: [Field; N]) {\n    // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n    // to call.\n    unsafe { log_oracle_wrapper(log_level, msg, args) };\n}\n\nunconstrained fn log_oracle_wrapper<let M: u32, let N: u32>(\n    log_level: u8,\n    msg: str<M>,\n    args: [Field; N],\n) {\n    log_oracle(log_level, msg, N, args);\n}\n\n// While the length parameter might seem unnecessary given that we have N, we keep it around because at the AVM\n// bytecode level we want to support non-comptime-known lengths for such opcodes, even if Noir code will not generally\n// take that route. The AVM transpiler maps this oracle to the DEBUGLOG opcode, which reads the fields size from memory.\n#[oracle(aztec_utl_log)]\nunconstrained fn log_oracle<let M: u32, let N: u32>(\n    log_level: u8,\n    msg: str<M>,\n    length: u32,\n    args: [Field; N],\n) {}\n"
    },
    "375": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/indexed_tree/low_leaf.nr",
      "source": "use crate::merkle_tree::leaf_preimage::IndexedTreeLeafPreimage;\n\n/// Check if the key is in range of the low leaf.\n///\n/// Returns:\n/// - is_valid: `true` if the key is in range of the low leaf, `false` otherwise.\n/// - is_greater_than_low: `true` if the key is greater than the low leaf's key, `false` otherwise.\n/// - is_less_than_next: `true` if the key is less than the low leaf's next key, `false` otherwise.\npub fn is_valid_low_leaf<LeafPreimage, Value>(\n    key: Field,\n    low_leaf_preimage: LeafPreimage,\n) -> (bool, bool, bool)\nwhere\n    LeafPreimage: IndexedTreeLeafPreimage<Value>,\n{\n    let low_key = low_leaf_preimage.get_key();\n    let next_key = low_leaf_preimage.get_next_key();\n\n    let is_greater_than_low = low_key.lt(key);\n    let is_less_than_next = key.lt(next_key) | low_leaf_preimage.points_to_infinity();\n    let is_valid = is_greater_than_low & is_less_than_next;\n\n    (is_valid, is_greater_than_low, is_less_than_next)\n}\n\nmod tests {\n    use crate::merkle_tree::test_utils::TestLeafPreimage;\n    use super::is_valid_low_leaf;\n\n    #[test]\n    fn valid_low_leaf() {\n        let key = 12;\n        let leaf = TestLeafPreimage { value: 11, next_value: 13 };\n        assert_eq(is_valid_low_leaf(key, leaf), (true, true, true));\n    }\n\n    #[test]\n    fn empty_low_leaf() {\n        // An all-zero low leaf should be valid. It could be used as the first dummy leaf in a tree.\n        // It's not possible to prove against an empty leaf at an uninitialized index.\n        // The membership check will fail because the leaf value hash(0, 0) is not 0.\n        let key = 12;\n        let leaf = TestLeafPreimage { value: 0, next_value: 0 };\n        assert_eq(is_valid_low_leaf(key, leaf), (true, true, true));\n    }\n\n    #[test]\n    fn invalid_low_leaf_larger_than_key() {\n        let key = 12;\n        let leaf = TestLeafPreimage { value: 13, next_value: 15 };\n        assert_eq(is_valid_low_leaf(key, leaf), (false, false, true));\n    }\n\n    #[test]\n    fn invalid_low_leaf_equal_to_key() {\n        let key = 12;\n        let leaf = TestLeafPreimage { value: 12, next_value: 15 };\n        assert_eq(is_valid_low_leaf(key, leaf), (false, false, true));\n    }\n\n    #[test]\n    fn invalid_low_leaf_next_key_smaller_than_key() {\n        let key = 12;\n        let leaf = TestLeafPreimage { value: 9, next_value: 11 };\n        assert_eq(is_valid_low_leaf(key, leaf), (false, true, false));\n    }\n\n    #[test]\n    fn invalid_low_leaf_next_key_equal_to_key() {\n        // Key exactly equals next_key - should be invalid (key must be strictly less than next)\n        let key = 15;\n        let leaf = TestLeafPreimage { value: 10, next_value: 15 };\n        assert_eq(is_valid_low_leaf(key, leaf), (false, true, false));\n    }\n\n    #[test]\n    fn valid_low_leaf_key_one_more_than_low() {\n        // Minimum valid key: exactly one more than low_key\n        let key = 11;\n        let leaf = TestLeafPreimage { value: 10, next_value: 20 };\n        assert_eq(is_valid_low_leaf(key, leaf), (true, true, true));\n    }\n\n    #[test]\n    fn valid_low_leaf_key_one_less_than_next() {\n        // Maximum valid key: exactly one less than next_key\n        let key = 19;\n        let leaf = TestLeafPreimage { value: 10, next_value: 20 };\n        assert_eq(is_valid_low_leaf(key, leaf), (true, true, true));\n    }\n\n    #[test]\n    fn invalid_key_zero_cannot_be_in_range() {\n        // Key 0 can never be \"greater than\" any non-negative low_key\n        // This is important for indexed tree security - 0 is the sentinel\n        let key = 0;\n        let leaf = TestLeafPreimage { value: 0, next_value: 100 };\n        // is_greater_than_low = 0.lt(0) = false\n        // Even though 0 < 100, the key is not greater than low_key\n        assert_eq(is_valid_low_leaf(key, leaf), (false, false, true));\n    }\n\n    #[test]\n    fn valid_max_leaf_points_to_infinity() {\n        // A max leaf (points to infinity) is valid for any key greater than its key\n        // next_value: 0 means points_to_infinity() returns true\n        let key = 100;\n        let leaf = TestLeafPreimage { value: 50, next_value: 0 };\n        assert_eq(is_valid_low_leaf(key, leaf), (true, true, true));\n    }\n\n    #[test]\n    fn invalid_max_leaf_key_less_than_low() {\n        // Even if leaf points to infinity, key must still be greater than low_key\n        let key = 30;\n        let leaf = TestLeafPreimage { value: 50, next_value: 0 };\n        // is_greater_than_low = 50.lt(30) = false\n        // is_less_than_next = 30.lt(0) | true = true (points to infinity)\n        // is_valid = false & true = false\n        assert_eq(is_valid_low_leaf(key, leaf), (false, false, true));\n    }\n\n    #[test]\n    fn invalid_max_leaf_key_equal_to_low() {\n        // Key equals low_key on a max leaf - should be invalid\n        let key = 50;\n        let leaf = TestLeafPreimage { value: 50, next_value: 0 };\n        assert_eq(is_valid_low_leaf(key, leaf), (false, false, true));\n    }\n}\n"
    },
    "378": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/membership.nr",
      "source": "use crate::{\n    merkle_tree::{\n        indexed_tree::low_leaf::is_valid_low_leaf,\n        leaf_preimage::IndexedTreeLeafPreimage,\n        root::{root_from_sibling_path, root_from_sibling_path_with_hasher},\n    },\n    traits::{Deserialize, Empty, Serialize},\n};\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct MembershipWitness<let N: u32> {\n    pub leaf_index: Field,\n    pub sibling_path: [Field; N],\n}\n\nimpl<let N: u32> Empty for MembershipWitness<N> {\n    fn empty() -> Self {\n        MembershipWitness { leaf_index: 0, sibling_path: [0; N] }\n    }\n}\n\n/// Check whether a leaf exists in the tree with the given `root`.\n/// `membership_witness` is a hint to prove that the `leaf` exists in the tree with the given `root`.\n///\n/// Returns:\n/// - bool: `true` if the leaf exists in the tree, `false` otherwise.\npub fn check_membership<let TREE_HEIGHT: u32>(\n    leaf: Field,\n    membership_witness: MembershipWitness<TREE_HEIGHT>,\n    root: Field,\n) -> bool {\n    let calculated_root = root_from_sibling_path(\n        leaf,\n        membership_witness.leaf_index,\n        membership_witness.sibling_path,\n    );\n    calculated_root == root\n}\n\n/// Check whether a leaf exists in the tree with the given `root`.\n/// Same as `check_membership` but uses a custom hasher.\n/// `membership_witness` is a hint to prove that the `leaf` exists in the tree with the given `root`.\n///\n/// Returns:\n/// - bool: `true` if the leaf exists in the tree, `false` otherwise.\npub fn check_membership_with_hasher<let TREE_HEIGHT: u32>(\n    leaf: Field,\n    membership_witness: MembershipWitness<TREE_HEIGHT>,\n    root: Field,\n    hasher: fn(Field, Field) -> Field,\n) -> bool {\n    let calculated_root = root_from_sibling_path_with_hasher(\n        leaf,\n        membership_witness.leaf_index,\n        membership_witness.sibling_path,\n        hasher,\n    );\n    calculated_root == root\n}\n\n/// Check a key's non-existence in the indexed tree with the given `tree_root`.\n/// `low_leaf_preimage` is the preimage for the low leaf of the key. The key should be larger than the low leaf's key,\n/// and smaller than the low leaf's next key.\n/// `low_leaf_membership_witness` is a hint to prove that the low leaf exists in the tree with the given `tree_root`.\n///\n/// Returns:\n/// - non_existence: `true` if the key does not exist in the tree, `false` otherwise.\n/// - is_valid_low_leaf: `true` if the key is in range of the low leaf, `false` otherwise.\n/// - low_leaf_exists: `true` if the low leaf exists in the tree, `false` otherwise.\npub fn check_non_membership<let TREE_HEIGHT: u32, LEAF_PREIMAGE, VALUE>(\n    key: Field,\n    low_leaf_preimage: LEAF_PREIMAGE,\n    low_leaf_membership_witness: MembershipWitness<TREE_HEIGHT>,\n    tree_root: Field,\n) -> (bool, bool, bool)\nwhere\n    LEAF_PREIMAGE: IndexedTreeLeafPreimage<VALUE>,\n{\n    let (is_valid_low_leaf_to_key, _, _) = is_valid_low_leaf(key, low_leaf_preimage);\n\n    let low_leaf_exists = check_membership(\n        low_leaf_preimage.as_leaf(),\n        low_leaf_membership_witness,\n        tree_root,\n    );\n\n    let non_existence = is_valid_low_leaf_to_key & low_leaf_exists;\n\n    (non_existence, is_valid_low_leaf_to_key, low_leaf_exists)\n}\n\n/// Check either membership or non-membership depending on the value of `exists`:\n/// - If `exists` == true, `key` is in the tree. `leaf_preimage` is for the key itself.\n/// - If `exists` == false, `key` is not in the tree. `leaf_preimage` is for the low leaf of the key.\n/// `membership_witness` is the hint to prove that the `leaf_preimage` exists in the tree with the given `tree_root`.\n///\n/// Returns:\n/// - is_valid: `true` if the membership (`exists == true`) or non-membership (`exists == false`) check succeeds,\n///   `false` otherwise.\n/// - is_expected_leaf: `true` if the leaf preimage is the expected matching leaf (`exists == true`) or low leaf\n///   (`exists == false`) for the key, `false` otherwise.\n/// - is_leaf_in_tree: `true` if the leaf preimage exists in the tree, `false` otherwise.\npub fn conditionally_check_membership<let TREE_HEIGHT: u32, LEAF_PREIMAGE, VALUE>(\n    key: Field,\n    exists: bool,\n    leaf_preimage: LEAF_PREIMAGE,\n    membership_witness: MembershipWitness<TREE_HEIGHT>,\n    tree_root: Field,\n) -> (bool, bool, bool)\nwhere\n    LEAF_PREIMAGE: IndexedTreeLeafPreimage<VALUE>,\n{\n    let is_matching_leaf = key == leaf_preimage.get_key();\n    let (is_low_leaf, _, _) = is_valid_low_leaf(key, leaf_preimage);\n    let is_expected_leaf = if exists {\n        is_matching_leaf\n    } else {\n        is_low_leaf\n    };\n\n    let is_leaf_in_tree = check_membership(leaf_preimage.as_leaf(), membership_witness, tree_root);\n\n    let is_valid = is_expected_leaf & is_leaf_in_tree;\n\n    (is_valid, is_expected_leaf, is_leaf_in_tree)\n}\n\nmod tests {\n    use crate::merkle_tree::{\n        leaf_preimage::LeafPreimage,\n        test_utils::{SingleSubtreeMerkleTree, TestLeafPreimage},\n    };\n    use super::{\n        check_membership, check_non_membership, conditionally_check_membership, MembershipWitness,\n    };\n\n    global leaf_preimages: [TestLeafPreimage; 4] = [\n        TestLeafPreimage { value: 20, next_value: 30 },\n        TestLeafPreimage { value: 40, next_value: 0 },\n        TestLeafPreimage { value: 10, next_value: 20 },\n        TestLeafPreimage { value: 30, next_value: 40 },\n    ];\n\n    fn build_tree() -> SingleSubtreeMerkleTree<4, 2, 3> {\n        SingleSubtreeMerkleTree::new(leaf_preimages.map(|leaf_preimage: TestLeafPreimage| {\n            leaf_preimage.as_leaf()\n        }))\n    }\n\n    fn check_membership_at_index(leaf_index: Field, leaf: Field) -> bool {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n\n        check_membership(\n            leaf,\n            MembershipWitness { leaf_index, sibling_path: tree.get_sibling_path(leaf_index) },\n            tree_root,\n        )\n    }\n\n    fn check_non_membership_at_index(low_leaf_index: Field, key: Field) -> (bool, bool, bool) {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n        let leaf_preimage = if low_leaf_index.lt(leaf_preimages.len() as Field) {\n            leaf_preimages[low_leaf_index as u32]\n        } else {\n            TestLeafPreimage { value: 0, next_value: 0 }\n        };\n\n        check_non_membership(\n            key,\n            leaf_preimage,\n            MembershipWitness {\n                leaf_index: low_leaf_index,\n                sibling_path: tree.get_sibling_path(low_leaf_index),\n            },\n            tree_root,\n        )\n    }\n\n    fn conditionally_check_membership_at_index(\n        exists: bool,\n        low_leaf_index: Field,\n        key: Field,\n    ) -> (bool, bool, bool) {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n        let leaf_preimage = if low_leaf_index.lt(leaf_preimages.len() as Field) {\n            leaf_preimages[low_leaf_index as u32]\n        } else {\n            TestLeafPreimage { value: 0, next_value: 0 }\n        };\n\n        conditionally_check_membership(\n            key,\n            exists,\n            leaf_preimage,\n            MembershipWitness {\n                leaf_index: low_leaf_index,\n                sibling_path: tree.get_sibling_path(low_leaf_index),\n            },\n            tree_root,\n        )\n    }\n\n    #[test]\n    fn test_check_membership() {\n        assert_eq(check_membership_at_index(0, leaf_preimages[0].as_leaf()), true);\n        assert_eq(check_membership_at_index(2, leaf_preimages[2].as_leaf()), true);\n    }\n\n    #[test]\n    fn test_check_membership_false_wrong_leaf() {\n        assert_eq(check_membership_at_index(0, leaf_preimages[1].as_leaf()), false);\n        assert_eq(check_membership_at_index(2, leaf_preimages[0].as_leaf()), false);\n    }\n\n    #[test]\n    fn test_check_membership_false_wrong_root() {\n        let tree = build_tree();\n        let tree_root = 56;\n\n        let res = check_membership(\n            leaf_preimages[0].as_leaf(),\n            MembershipWitness { leaf_index: 0, sibling_path: tree.get_sibling_path(0) },\n            tree_root,\n        );\n        assert_eq(res, false);\n    }\n\n    #[test]\n    fn test_check_non_membership() {\n        assert_eq(check_non_membership_at_index(0, 25), (true, true, true));\n    }\n\n    #[test]\n    fn test_check_non_membership_key_greater_than_max_leaf_in_tree() {\n        assert_eq(check_non_membership_at_index(1, 45), (true, true, true));\n    }\n\n    #[test]\n    fn test_check_non_membership_failed_low_leaf_larger_than_key() {\n        assert_eq(check_non_membership_at_index(3, 25), (false, false, true));\n    }\n\n    #[test]\n    fn test_check_non_membership_failed_next_key_smaller_than_key() {\n        assert_eq(check_non_membership_at_index(2, 25), (false, false, true));\n    }\n\n    #[test]\n    fn test_check_non_membership_low_leaf_not_exist() {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n\n        let fake_leaf = TestLeafPreimage { value: 50, next_value: 60 };\n        assert_eq(\n            check_non_membership(\n                55,\n                fake_leaf,\n                MembershipWitness { leaf_index: 1, sibling_path: tree.get_sibling_path(1) },\n                tree_root,\n            ),\n            (false, true, false),\n        );\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_exists() {\n        assert_eq(\n            conditionally_check_membership_at_index(true, 1, leaf_preimages[1].get_key()),\n            (true, true, true),\n        );\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_not_exists() {\n        assert_eq(\n            conditionally_check_membership_at_index(false, 1, leaf_preimages[1].get_key() + 1),\n            (true, true, true),\n        );\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_exists_value_mismatch() {\n        assert_eq(\n            conditionally_check_membership_at_index(true, 1, leaf_preimages[1].get_key() + 1),\n            (false, false, true),\n        );\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_failed_not_exists_wrong_low_leaf() {\n        assert_eq(conditionally_check_membership_at_index(false, 3, 25), (false, false, true));\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_failed_not_exists_wrong_next_key() {\n        assert_eq(conditionally_check_membership_at_index(false, 2, 25), (false, false, true));\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_failed_exists_invalid_leaf() {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n        let fake_leaf = TestLeafPreimage { value: 50, next_value: 60 };\n        let exists = true;\n        assert_eq(\n            conditionally_check_membership(\n                50,\n                exists,\n                fake_leaf,\n                MembershipWitness { leaf_index: 1, sibling_path: tree.get_sibling_path(1) },\n                tree_root,\n            ),\n            (false, true, false),\n        );\n    }\n\n    #[test]\n    fn test_conditionally_check_membership_failed_not_exists_invalid_leaf() {\n        let tree = build_tree();\n        let tree_root = tree.get_root();\n        let fake_leaf = TestLeafPreimage { value: 50, next_value: 60 };\n        let exists = false;\n        assert_eq(\n            conditionally_check_membership(\n                55,\n                exists,\n                fake_leaf,\n                MembershipWitness { leaf_index: 1, sibling_path: tree.get_sibling_path(1) },\n                tree_root,\n            ),\n            (false, true, false),\n        );\n    }\n}\n"
    },
    "379": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/merkle_tree.nr",
      "source": "use crate::{\n    hash::{accumulate_sha256, poseidon2_hash},\n    traits::Empty,\n    utils::math::is_power_of_2_u32,\n};\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n    poseidon2_hash([left, right])\n}\n\npub fn sha_merkle_hash(left: Field, right: Field) -> Field {\n    accumulate_sha256(left, right)\n}\n\n#[derive(Eq)]\npub struct MerkleTree<let N: u32> {\n    pub leaves: [Field; N],\n    pub nodes: [Field; N - 1],\n}\n\nimpl<let N: u32> Empty for MerkleTree<N> {\n    fn empty() -> Self {\n        MerkleTree { leaves: [0; N], nodes: [0; N - 1] }\n    }\n}\n\nimpl<let N: u32> MerkleTree<N> {\n    pub fn new(leaves: [Field; N]) -> Self {\n        let nodes = compute_merkle_tree_nodes(leaves, merkle_hash);\n        MerkleTree { leaves, nodes }\n    }\n\n    pub fn new_sha(leaves: [Field; N]) -> Self {\n        let nodes = compute_merkle_tree_nodes(leaves, sha_merkle_hash);\n        MerkleTree { leaves, nodes }\n    }\n\n    pub fn get_root(self) -> Field {\n        self.nodes[N - 2]\n    }\n\n    pub fn get_sibling_path<let K: u32>(self, leaf_index: u32) -> [Field; K] {\n        assert_eq(2.pow_32(K as Field), N as Field, \"Invalid path length\");\n\n        let mut path = [0; K];\n        let mut current_index = leaf_index;\n        let mut subtree_width = N;\n\n        let mut current_sibling_index = sibling_index(current_index);\n\n        path[0] = self.leaves[current_sibling_index];\n\n        let mut subtree_offset: u32 = 0;\n\n        for i in 1..K {\n            current_index = current_index / 2;\n            subtree_width = subtree_width / 2;\n\n            current_sibling_index = sibling_index(current_index);\n\n            path[i] = self.nodes[subtree_offset + current_sibling_index];\n\n            subtree_offset += subtree_width;\n        }\n\n        path\n    }\n}\n\npub fn sibling_index(index: u32) -> u32 {\n    if index % 2 == 0 {\n        index + 1\n    } else {\n        index - 1\n    }\n}\n\npub fn compute_merkle_tree_nodes<let N: u32>(\n    leaves: [Field; N],\n    hasher: fn(Field, Field) -> Field,\n) -> [Field; N - 1] {\n    // Note: `N` must be a power of 2.\n    std::static_assert(is_power_of_2_u32(N), \"N must be a power of 2\");\n    std::static_assert(N != 1, \"2 must divide N\");\n\n    let mut nodes = [0; N - 1];\n\n    let total_nodes = N - 1;\n    let half_size = N / 2;\n\n    // Hash base layer.\n    for i in 0..half_size {\n        nodes[i] = hasher(leaves[2 * i], leaves[2 * i + 1]);\n    }\n\n    // Hash the other layers.\n    for i in 0..(total_nodes - half_size) {\n        nodes[half_size + i] = hasher(nodes[2 * i], nodes[2 * i + 1]);\n    }\n\n    nodes\n}\n"
    },
    "381": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr",
      "source": "use crate::merkle_tree::merkle_tree::{compute_merkle_tree_nodes, merkle_hash, sha_merkle_hash};\n\n/// Calculate the Merkle tree root from the sibling path and leaf, using the default merkle hash.\npub fn root_from_sibling_path<let N: u32>(\n    leaf: Field,\n    leaf_index: Field,\n    sibling_path: [Field; N],\n) -> Field {\n    root_from_sibling_path_with_hasher(leaf, leaf_index, sibling_path, merkle_hash)\n}\n\n/// Calculate the Merkle tree root from the sibling path and leaf, using a custom hasher.\n///\n/// The leaf is hashed with its sibling, the result is then hashed with the next sibling in the path. and so on.\n/// The last hash is the root.\npub fn root_from_sibling_path_with_hasher<let N: u32>(\n    leaf: Field,\n    leaf_index: Field,\n    sibling_path: [Field; N],\n    hasher: fn(Field, Field) -> Field,\n) -> Field {\n    let mut node = leaf;\n    let indices: [u1; N] = leaf_index.to_le_bits();\n\n    for i in 0..N {\n        let (hash_left, hash_right) = if indices[i] == 1 {\n            (sibling_path[i], node)\n        } else {\n            (node, sibling_path[i])\n        };\n        node = hasher(hash_left, hash_right);\n    }\n    node\n}\n\npub fn compute_tree_root<let N: u32>(leaves: [Field; N]) -> Field {\n    compute_tree_root_with_hasher(leaves, merkle_hash)\n}\n\npub fn compute_sha_tree_root<let N: u32>(leaves: [Field; N]) -> Field {\n    compute_tree_root_with_hasher(leaves, sha_merkle_hash)\n}\n\nfn compute_tree_root_with_hasher<let N: u32>(\n    leaves: [Field; N],\n    hasher: fn(Field, Field) -> Field,\n) -> Field {\n    compute_merkle_tree_nodes(leaves, hasher)[N - 2]\n}\n\npub fn compute_empty_tree_root<let TreeHeight: u32>() -> Field {\n    compute_empty_tree_root_with_hasher::<TreeHeight>(merkle_hash)\n}\n\npub fn compute_empty_sha_tree_root<let TreeHeight: u32>() -> Field {\n    compute_empty_tree_root_with_hasher::<TreeHeight>(sha_merkle_hash)\n}\n\npub fn compute_empty_tree_root_with_hasher<let TreeHeight: u32>(\n    hasher: fn(Field, Field) -> Field,\n) -> Field {\n    let mut hashes = [0; TreeHeight + 1];\n    for i in 1..TreeHeight + 1 {\n        hashes[i] = hasher(hashes[i - 1], hashes[i - 1]);\n    }\n    hashes[TreeHeight]\n}\n\n#[test]\nfn test_merkle_roots_match_typescript() {\n    // The following hardcoded values are generated from yarn-project/foundation/src/trees/balanced_merkle_tree_root.test.ts\n\n    let root = compute_tree_root([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);\n    let expected_tree_root_from_ts =\n        0x1528946361c480e8dc1e9ae3f8c31c997625fa1ddeddc7db5ad0dce3ac58fc4c;\n    assert_eq(root, expected_tree_root_from_ts);\n\n    let empty_root = compute_tree_root([0; 16]);\n    let expected_empty_root_from_ts =\n        0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e;\n    assert_eq(empty_root, expected_empty_root_from_ts);\n\n    let sha_root = compute_sha_tree_root([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);\n    let expected_sha_root_from_ts =\n        0x00b007869b8a5e2a9b3b580a318e702cea04b2f5438f2e26743f545e4d1ecbdb;\n    assert_eq(sha_root, expected_sha_root_from_ts);\n}\n\n#[test]\nfn test_empty_tree_root() {\n    assert_eq(compute_empty_tree_root::<0>(), 0);\n\n    assert_eq(\n        compute_empty_tree_root::<1>(),\n        0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1,\n    );\n\n    assert_eq(\n        compute_empty_tree_root::<2>(),\n        0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290,\n    );\n\n    assert_eq(\n        compute_empty_tree_root::<6>(),\n        0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76,\n    );\n\n    assert_eq(\n        compute_empty_tree_root::<10>(),\n        0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686,\n    );\n}\n"
    },
    "389": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/meta/mod.nr",
      "source": "pub use serde::serialization::{derive_deserialize, derive_serialize};\n\npub mod utils;\n\n/// Generates the generic parameter declarations for a struct's trait implementation.\n///\n/// This function takes a struct type definition and generates the generic parameter declarations\n/// that go after the `impl` keyword. For example, given a struct with generics `N: u32` and `T`,\n/// it generates `<let N: u32, T>`.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate generic declarations for\n///\n/// # Returns\n/// A quoted code block containing the generic parameter declarations, or an empty quote if the struct\n/// has no generic parameters\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Container<T, let N: u32> {\n///     items: [T; N],\n///     count: u32\n/// }\n/// ```\n///\n/// This function generates:\n/// ```\n/// <let N: u32, T>\n/// ```\ncomptime fn get_generics_declarations(s: TypeDefinition) -> Quoted {\n    let generics = s.generics();\n\n    if generics.len() > 0 {\n        let generics_declarations_items = generics\n            .map(|(name, maybe_integer_typ)| {\n                // The second item in the generics tuple is an Option of an integer type that is Some only if\n                // the generic is numeric.\n                if maybe_integer_typ.is_some() {\n                    // The generic is numeric, so we return a quote defined as e.g. \"let N: u32\"\n                    let integer_type = maybe_integer_typ.unwrap();\n                    quote {let $name: $integer_type}\n                } else {\n                    // The generic is not numeric, so we return a quote containing the name of the generic (e.g. \"T\")\n                    quote {$name}\n                }\n            })\n            .join(quote {,});\n        quote {<$generics_declarations_items>}\n    } else {\n        // The struct doesn't have any generics defined, so we just return an empty quote.\n        quote {}\n    }\n}\n\n/// Generates the `where` clause for a trait implementation that constrains non-numeric generic type parameters.\n///\n/// This function takes a struct type definition and a trait name, and generates a `where` clause that\n/// requires all non-numeric generic type parameters to implement the specified trait.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the where clause for\n/// - `trait_name`: The name of the trait that non-numeric generic parameters must implement\n///\n/// # Returns\n/// A quoted code block containing the where clause, or an empty quote if the struct has no non-numeric\n/// generic parameters\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Container<T, let N: u32> {\n///     items: [T; N],\n///     count: u32\n/// }\n/// ```\n///\n/// And trait name \"Serialize\", this function generates:\n/// ```\n/// where T: Serialize\n/// ```\ncomptime fn get_where_trait_clause(s: TypeDefinition, trait_name: Quoted) -> Quoted {\n    let generics = s.generics();\n\n    // The second item in the generics tuple is an Option of an integer type that is Some only if the generic is\n    // numeric.\n    let non_numeric_generics =\n        generics.filter(|(_, maybe_integer_typ)| maybe_integer_typ.is_none());\n\n    if non_numeric_generics.len() > 0 {\n        let non_numeric_generics_declarations =\n            non_numeric_generics.map(|(name, _)| quote {$name: $trait_name}).join(quote {,});\n        quote {where $non_numeric_generics_declarations}\n    } else {\n        // There are no non-numeric generics, so we return an empty quote.\n        quote {}\n    }\n}\n\n/// Generates a [`Packable`](crate::traits::Packable) trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Packable` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n///     x: AztecAddress,\n///     y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Packable for MyStruct {\n///     let N: u32 = 2;\n///\n///     fn pack(self) -> [Field; 2] {\n///         let mut result: [Field; 2] = [0_Field; 2];\n///         let mut offset: u32 = 0_u32;\n///         let packed_member: [Field; 1] = self.x.pack();\n///         let packed_member_len: u32 = <Field as Packable>::N;\n///         for i in 0_u32..packed_member_len {\n///             {\n///                 result[i + offset] = packed_member[i];\n///             }\n///         }\n///         offset = offset + packed_member_len;\n///         let packed_member: [Field; 1] = self.y.pack();\n///         let packed_member_len: u32 = <Field as Packable>::N;\n///         for i in 0_u32..packed_member_len {\n///             {\n///                 result[i + offset] = packed_member[i];\n///             }\n///         }\n///         offset = offset + packed_member_len;\n///         result\n///     }\n///\n///     fn unpack(packed: [Field; 2]) -> Self {\n///         let mut offset: u32 = 0_u32;\n///         let mut member_fields: [Field; 1] = [0_Field; 1];\n///         for i in 0_u32..<AztecAddress as Packable>::N {\n///             member_fields[i] = packed[i + offset];\n///         }\n///         let x: AztecAddress = <AztecAddress as Packable>::unpack(member_fields);\n///         offset = offset + <AztecAddress as Packable>::N;\n///         let mut member_fields: [Field; 1] = [0_Field; 1];\n///         for i in 0_u32..<Field as Packable>::N {\n///             member_fields[i] = packed[i + offset];\n///         }\n///         let y: Field = <Field as Packable>::unpack(member_fields);\n///         offset = offset + <Field as Packable>::N;\n///         Self { x: x, y: y }\n///     }\n/// }\n/// ```\npub comptime fn derive_packable(s: TypeDefinition) -> Quoted {\n    let typ = s.as_type();\n    let nested_struct = typ.as_data_type().unwrap();\n    let params = nested_struct.0.fields(nested_struct.1);\n\n    // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n    // for the `Packable` trait.\n    let generics_declarations = get_generics_declarations(s);\n    let where_packable_clause = get_where_trait_clause(s, quote {Packable});\n\n    // The following will give us:\n    // <type_of_struct_member_1 as Packable>::N + <type_of_struct_member_2 as Packable>::N + ...\n    // (or 0 if the struct has no members)\n    let right_hand_side_of_definition_of_n = if params.len() > 0 {\n        params\n            .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n                quote {\n            <$param_type as $crate::traits::Packable>::N\n        }\n            })\n            .join(quote {+})\n    } else {\n        quote {0}\n    };\n\n    // For structs containing a single member, we can enhance performance by directly returning the packed member,\n    // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n    // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n    // expected to be optimized away.\n    let pack_function_body = if params.len() > 1 {\n        // For multiple struct members, generate packing code that:\n        // 1. Packs each member\n        // 2. Copies the packed fields into the result array at the correct offset\n        // 3. Updates the offset for the next member\n        let packing_of_struct_members = params\n            .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n                quote {\n                    let packed_member = $crate::traits::Packable::pack(self.$param_name);\n                    let packed_member_len = <$param_type as $crate::traits::Packable>::N;\n                    for i in 0..packed_member_len {\n                        result[i + offset] = packed_member[i];\n                    }\n                    offset += packed_member_len;\n                }\n            })\n            .join(quote {});\n\n        quote {\n            let mut result = [0; Self::N];\n            let mut offset = 0;\n\n            $packing_of_struct_members\n\n            result\n        }\n    } else if params.len() == 1 {\n        let param_name = params[0].0;\n        quote {\n            $crate::traits::Packable::pack(self.$param_name)\n        }\n    } else {\n        quote {\n            [0; Self::N]\n        }\n    };\n\n    // For structs containing a single member, we can enhance performance by directly unpacking the input array,\n    // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n    // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n    // expected to be optimized away.\n    let unpack_function_body = if params.len() > 1 {\n        // For multiple struct members, generate unpacking code that:\n        // 1. Unpacks each member\n        // 2. Copies packed fields into member array at correct offset\n        // 3. Updates offset for next member\n        let unpacking_of_struct_members = params\n            .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n                quote {\n                    let mut member_fields = [0; <$param_type as $crate::traits::Packable>::N];\n                    for i in 0..<$param_type as $crate::traits::Packable>::N {\n                        member_fields[i] = packed[i + offset];\n                    }\n                    let $param_name = <$param_type as $crate::traits::Packable>::unpack(member_fields);\n                    offset += <$param_type as $crate::traits::Packable>::N;\n                }\n            })\n            .join(quote {});\n\n        // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n        let struct_members = params\n            .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n            .join(quote {,});\n\n        quote {\n            let mut offset = 0;\n            $unpacking_of_struct_members\n            Self { $struct_members }\n        }\n    } else if params.len() == 1 {\n        let param_name = params[0].0;\n        quote {\n            Self { $param_name: $crate::traits::Packable::unpack(packed) }\n        }\n    } else {\n        quote {\n            Self {}\n        }\n    };\n\n    quote {\n        impl$generics_declarations $crate::traits::Packable for $typ\n            $where_packable_clause\n        {\n            let N: u32 = $right_hand_side_of_definition_of_n;\n\n            #[inline_always]\n            fn pack(self) -> [Field; Self::N] {\n                $pack_function_body\n            }\n\n            #[inline_always]\n            fn unpack(packed: [Field; Self::N]) -> Self {\n                $unpack_function_body\n            }\n        }\n    }\n}\n\nmod test {\n    use crate::traits::{Deserialize, Packable, Serialize};\n\n    #[derive(Deserialize, Eq, Packable, Serialize)]\n    pub struct Empty {}\n\n    #[derive(Deserialize, Eq, Packable, Serialize)]\n    pub struct Smol {\n        a: Field,\n        b: Field,\n    }\n\n    #[derive(Deserialize, Eq, Serialize)]\n    pub struct HasArray {\n        a: [Field; 2],\n        b: bool,\n    }\n\n    #[derive(Deserialize, Eq, Serialize)]\n    pub struct Fancier {\n        a: Smol,\n        b: [Field; 2],\n        c: [u8; 3],\n        d: str<16>,\n    }\n\n    #[derive(Deserialize, Eq, Packable, Serialize)]\n    pub struct HasArrayWithGenerics<T, let N: u32> {\n        pub fields: [T; N],\n        pub length: u32,\n    }\n\n    #[test]\n    fn packable_on_empty() {\n        let original = Empty {};\n        let packed = original.pack();\n        assert_eq(packed, [], \"Packed does not match empty array\");\n        let unpacked = Empty::unpack(packed);\n        assert_eq(unpacked, original, \"Unpacked does not match original\");\n    }\n\n    #[test]\n    fn packable_on_smol() {\n        let smol = Smol { a: 1, b: 2 };\n        let serialized = smol.serialize();\n        assert(serialized == [1, 2], serialized);\n\n        // None of the struct members implements the `Packable` trait so the packed and serialized data should be the same\n        let packed = smol.pack();\n        assert_eq(packed, serialized, \"Packed does not match serialized\");\n    }\n\n    #[test]\n    fn packable_on_contains_array_with_generics() {\n        let struct_with_array_of_generics = HasArrayWithGenerics { fields: [1, 2, 3], length: 3 };\n        let packed = struct_with_array_of_generics.pack();\n        assert(packed == [1, 2, 3, 3], packed);\n\n        let unpacked = HasArrayWithGenerics::unpack(packed);\n        assert(unpacked == struct_with_array_of_generics);\n    }\n\n}\n"
    },
    "391": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/point.nr",
      "source": "pub use std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{hash::poseidon2_hash, traits::{Deserialize, Empty, Hash, Packable, Serialize}};\n\npub global POINT_LENGTH: u32 = 3;\n\nimpl Hash for Point {\n    fn hash(self) -> Field {\n        poseidon2_hash(self.serialize())\n    }\n}\n\nimpl Empty for Point {\n    /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n    /// empty/unpopulated value in an array of points).\n    fn empty() -> Self {\n        Point { x: 0, y: 0, is_infinite: false }\n    }\n}\n\npub fn validate_on_curve(p: Point) {\n    // y^2 == x^3 - 17\n    let x = p.x;\n    let y = p.y;\n    if p.is_infinite {\n        // Assert the canonical representation of infinity\n        assert_eq(x, 0, \"Point at infinity should have canonical representation (0 0)\");\n        assert_eq(y, 0, \"Point at infinity should have canonical representation (0 0)\");\n    } else {\n        assert_eq(y * y, x * x * x - 17, \"Point not on curve\");\n    }\n}\n\n// TODO(#11356): use compact representation here.\nimpl Packable for Point {\n    let N: u32 = POINT_LENGTH;\n\n    fn pack(self) -> [Field; Self::N] {\n        self.serialize()\n    }\n\n    fn unpack(packed: [Field; Self::N]) -> Self {\n        Self::deserialize(packed)\n    }\n}\n\nmod tests {\n    use super::validate_on_curve;\n    use std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\n    #[test]\n    unconstrained fn test_validate_on_curve_generator() {\n        // The generator point should be on the curve\n        let generator = Point::generator();\n        validate_on_curve(generator);\n    }\n\n    #[test]\n    unconstrained fn test_validate_on_curve_infinity() {\n        // Canonical infinite point (x=0, y=0) should pass\n        let infinity = Point { x: 0, y: 0, is_infinite: true };\n        validate_on_curve(infinity);\n    }\n\n    #[test(should_fail_with = \"Point not on curve\")]\n    unconstrained fn test_validate_on_curve_invalid_point() {\n        // A point not on the curve should fail\n        let invalid = Point { x: 1, y: 1, is_infinite: false };\n        validate_on_curve(invalid);\n    }\n\n    #[test(should_fail_with = \"Point at infinity should have canonical representation (0 0)\")]\n    unconstrained fn test_validate_on_curve_infinity_non_canonical_x() {\n        // Infinite point with non-zero x should fail\n        let invalid_infinity = Point { x: 1, y: 0, is_infinite: true };\n        validate_on_curve(invalid_infinity);\n    }\n\n    #[test(should_fail_with = \"Point at infinity should have canonical representation (0 0)\")]\n    unconstrained fn test_validate_on_curve_infinity_non_canonical_y() {\n        // Infinite point with non-zero y should fail\n        let invalid_infinity = Point { x: 0, y: 1, is_infinite: true };\n        validate_on_curve(invalid_infinity);\n    }\n}\n"
    },
    "392": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/poseidon2.nr",
      "source": "use crate::constants::TWO_POW_64;\nuse crate::traits::{Deserialize, Serialize};\nuse std::meta::derive;\n// NB: This is a clone of noir/noir-repo/noir_stdlib/src/hash/poseidon2.nr\n// It exists as we sometimes need to perform custom absorption, but the stdlib version\n// has a private absorb() method (it's also designed to just be a hasher)\n// Can be removed when standalone noir poseidon lib exists: See noir#6679\n\ncomptime global RATE: u32 = 3;\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct Poseidon2Sponge {\n    pub cache: [Field; 3],\n    pub state: [Field; 4],\n    pub cache_size: u32,\n    pub squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2Sponge {\n    #[no_predicates]\n    pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n        Poseidon2Sponge::hash_internal(input, message_size, message_size != N)\n    }\n\n    pub(crate) fn new(iv: Field) -> Poseidon2Sponge {\n        let mut result =\n            Poseidon2Sponge { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n        result.state[RATE] = iv;\n        result\n    }\n\n    fn perform_duplex(&mut self) {\n        // add the cache into sponge state\n        for i in 0..RATE {\n            // We effectively zero-pad the cache by only adding to the state\n            // cache that is less than the specified `cache_size`\n            if i < self.cache_size {\n                self.state[i] += self.cache[i];\n            }\n        }\n        self.state = std::hash::poseidon2_permutation(self.state, 4);\n    }\n\n    pub fn absorb(&mut self, input: Field) {\n        assert(!self.squeeze_mode);\n        if self.cache_size == RATE {\n            // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n            self.perform_duplex();\n            self.cache[0] = input;\n            self.cache_size = 1;\n        } else {\n            // If we're absorbing, and the cache is not full, add the input into the cache\n            self.cache[self.cache_size] = input;\n            self.cache_size += 1;\n        }\n    }\n\n    pub fn squeeze(&mut self) -> Field {\n        assert(!self.squeeze_mode);\n        // If we're in absorb mode, apply sponge permutation to compress the cache.\n        self.perform_duplex();\n        self.squeeze_mode = true;\n\n        // Pop one item off the top of the permutation and return it.\n        self.state[0]\n    }\n\n    fn hash_internal<let N: u32>(\n        input: [Field; N],\n        in_len: u32,\n        is_variable_length: bool,\n    ) -> Field {\n        let iv: Field = (in_len as Field) * TWO_POW_64;\n        let mut sponge = Poseidon2Sponge::new(iv);\n        for i in 0..input.len() {\n            if i < in_len {\n                sponge.absorb(input[i]);\n            }\n        }\n\n        sponge.squeeze()\n    }\n}\n"
    },
    "399": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr",
      "source": "use crate::{\n    address::public_keys_hash::PublicKeysHash,\n    constants::{\n        DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X,\n        DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, DOM_SEP__PUBLIC_KEYS_HASH,\n    },\n    hash::poseidon2_hash_with_separator,\n    point::validate_on_curve,\n    traits::{Deserialize, Hash, Serialize},\n};\n\nuse std::{default::Default, meta::derive};\nuse std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\npub trait ToPoint {\n    fn to_point(self) -> Point;\n}\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct NpkM {\n    pub inner: Point,\n}\n\nimpl ToPoint for NpkM {\n    fn to_point(self) -> Point {\n        self.inner\n    }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n    fn hash(self) -> Field {\n        self.inner.hash()\n    }\n}\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct IvpkM {\n    pub inner: Point,\n}\n\nimpl ToPoint for IvpkM {\n    fn to_point(self) -> Point {\n        self.inner\n    }\n}\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct OvpkM {\n    pub inner: Point,\n}\n\nimpl Hash for OvpkM {\n    fn hash(self) -> Field {\n        self.inner.hash()\n    }\n}\n\nimpl ToPoint for OvpkM {\n    fn to_point(self) -> Point {\n        self.inner\n    }\n}\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct TpkM {\n    pub inner: Point,\n}\n\nimpl ToPoint for TpkM {\n    fn to_point(self) -> Point {\n        self.inner\n    }\n}\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct PublicKeys {\n    pub npk_m: NpkM,\n    pub ivpk_m: IvpkM,\n    pub ovpk_m: OvpkM,\n    pub tpk_m: TpkM,\n}\n\nimpl Default for PublicKeys {\n    fn default() -> Self {\n        PublicKeys {\n            npk_m: NpkM {\n                inner: Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false },\n            },\n            ivpk_m: IvpkM {\n                inner: Point { x: DEFAULT_IVPK_M_X, y: DEFAULT_IVPK_M_Y, is_infinite: false },\n            },\n            ovpk_m: OvpkM {\n                inner: Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false },\n            },\n            tpk_m: TpkM {\n                inner: Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false },\n            },\n        }\n    }\n}\n\nimpl PublicKeys {\n    pub fn hash(self) -> PublicKeysHash {\n        PublicKeysHash::from_field(poseidon2_hash_with_separator(\n            self.serialize(),\n            DOM_SEP__PUBLIC_KEYS_HASH as Field,\n        ))\n    }\n\n    pub fn validate_on_curve(self) {\n        validate_on_curve(self.npk_m.inner);\n        validate_on_curve(self.ivpk_m.inner);\n        validate_on_curve(self.ovpk_m.inner);\n        validate_on_curve(self.tpk_m.inner);\n    }\n}\n\npub struct AddressPoint {\n    pub inner: Point,\n}\n\nimpl ToPoint for AddressPoint {\n    fn to_point(self) -> Point {\n        self.inner\n    }\n}\n\nmod test {\n    use crate::{\n        point::POINT_LENGTH,\n        public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM},\n        traits::{Deserialize, Serialize},\n    };\n    use std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\n    #[test]\n    unconstrained fn compute_public_keys_hash() {\n        let keys = PublicKeys {\n            npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n            ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n            ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n            tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n        };\n\n        let actual = keys.hash();\n\n        // The following value was generated by `public_keys.test.ts`.\n        let expected_public_keys_hash =\n            0x056998309f6c119e4d753e404f94fef859dddfa530a9379634ceb0854b29bf7a;\n\n        assert(actual.to_field() == expected_public_keys_hash);\n    }\n\n    #[test]\n    unconstrained fn compute_default_hash() {\n        let keys = PublicKeys::default();\n\n        let actual = keys.hash();\n\n        // The following value was generated by `public_keys.test.ts`.\n        let test_data_default_hash =\n            0x023547e676dba19784188825b901a0e70d8ad978300d21d6185a54281b734da0;\n\n        assert(actual.to_field() == test_data_default_hash);\n    }\n\n    #[test]\n    unconstrained fn serde() {\n        let keys = PublicKeys {\n            npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n            ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n            ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n            tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n        };\n\n        // We use the PUBLIC_KEYS_LENGTH constant to ensure that there is a match between the derived trait\n        let serialized: [Field; POINT_LENGTH * 4] = keys.serialize();\n        let deserialized = PublicKeys::deserialize(serialized);\n\n        assert_eq(keys, deserialized);\n    }\n}\n"
    },
    "404": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr",
      "source": "use crate::{\n    constants::DOM_SEP__PUBLIC_STORAGE_MAP_SLOT, hash::poseidon2_hash_with_separator,\n    traits::ToField,\n};\n\n// TODO: Move this to src/public_data/storage/map.nr\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field\nwhere\n    K: ToField,\n{\n    poseidon2_hash_with_separator(\n        [storage_slot, key.to_field()],\n        DOM_SEP__PUBLIC_STORAGE_MAP_SLOT,\n    )\n}\n\nmod test {\n    use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map, traits::FromField};\n\n    #[test]\n    fn test_derive_storage_slot_in_map_matches_typescript() {\n        let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n        let key = AztecAddress::from_field(\n            0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f,\n        );\n\n        let slot = derive_storage_slot_in_map(map_slot, key);\n\n        // The following value was generated by `map_slot.test.ts`\n        let slot_from_typescript =\n            0x2d225f361108379adc2da91378b9702675c5546b57e78bafc1e74ec7fec55967;\n\n        assert_eq(slot, slot_from_typescript);\n    }\n}\n"
    },
    "411": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/traits/to_field.nr",
      "source": "use crate::utils::field::field_from_bytes;\n\npub trait ToField {\n    fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self\n    }\n}\n\nimpl ToField for bool {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u1 {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u8 {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u16 {\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u32 {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u64 {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl ToField for u128 {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        self as Field\n    }\n}\nimpl<let N: u32> ToField for str<N> {\n    #[inline_always]\n    fn to_field(self) -> Field {\n        assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n        field_from_bytes(self.as_bytes(), true)\n    }\n}\n"
    },
    "412": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/type_packing.nr",
      "source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n    let N: u32 = BOOL_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> bool {\n        (fields[0] as u1) != 0\n    }\n}\n\nimpl Packable for u8 {\n    let N: u32 = U8_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u8\n    }\n}\n\nimpl Packable for u16 {\n    let N: u32 = U16_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u16\n    }\n}\n\nimpl Packable for u32 {\n    let N: u32 = U32_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u32\n    }\n}\n\nimpl Packable for u64 {\n    let N: u32 = U64_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u64\n    }\n}\n\nimpl Packable for u128 {\n    let N: u32 = U128_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u128\n    }\n}\n\nimpl Packable for Field {\n    let N: u32 = FIELD_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0]\n    }\n}\n\nimpl Packable for i8 {\n    let N: u32 = I8_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as u8 as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u8 as i8\n    }\n}\n\nimpl Packable for i16 {\n    let N: u32 = I16_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as u16 as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u16 as i16\n    }\n}\n\nimpl Packable for i32 {\n    let N: u32 = I32_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as u32 as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u32 as i32\n    }\n}\n\nimpl Packable for i64 {\n    let N: u32 = I64_PACKED_LEN;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        [self as u64 as Field]\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        fields[0] as u64 as i64\n    }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n    T: Packable,\n{\n    let N: u32 = M * <T as Packable>::N;\n\n    #[inline_always]\n    fn pack(self) -> [Field; Self::N] {\n        let mut result: [Field; Self::N] = std::mem::zeroed();\n        for i in 0..M {\n            let serialized = self[i].pack();\n            for j in 0..<T as Packable>::N {\n                result[i * <T as Packable>::N + j] = serialized[j];\n            }\n        }\n        result\n    }\n\n    #[inline_always]\n    fn unpack(fields: [Field; Self::N]) -> Self {\n        let mut reader = crate::utils::reader::Reader::new(fields);\n        let mut result: [T; M] = std::mem::zeroed();\n        reader.read_struct_array::<T, <T as Packable>::N, M>(Packable::unpack, result)\n    }\n}\n\n#[test]\nfn test_u16_packing() {\n    let a: u16 = 10;\n    assert_eq(a, u16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i8_packing() {\n    let a: i8 = -10;\n    assert_eq(a, i8::unpack(a.pack()));\n}\n\n#[test]\nfn test_i16_packing() {\n    let a: i16 = -10;\n    assert_eq(a, i16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i32_packing() {\n    let a: i32 = -10;\n    assert_eq(a, i32::unpack(a.pack()));\n}\n\n#[test]\nfn test_i64_packing() {\n    let a: i64 = -10;\n    assert_eq(a, i64::unpack(a.pack()));\n}\n"
    },
    "419": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr",
      "source": "pub fn field_from_bytes<let N: u32>(bytes: [u8; N], big_endian: bool) -> Field {\n    assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n    let mut as_field = 0;\n    let mut offset = 1;\n    for i in 0..N {\n        let mut index = i;\n        if big_endian {\n            index = N - i - 1;\n        }\n        as_field += (bytes[index] as Field) * offset;\n        offset *= 256;\n    }\n\n    as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(bytes32: [u8; 32]) -> Field {\n    // Convert it to a field element\n    let mut v = 1;\n    let mut high = 0 as Field;\n    let mut low = 0 as Field;\n\n    for i in 0..15 {\n        // covers bytes 16..30 (31 is truncated and ignored)\n        low = low + (bytes32[15 + 15 - i] as Field) * v;\n        v = v * 256;\n        // covers bytes 0..14\n        high = high + (bytes32[14 - i] as Field) * v;\n    }\n    // covers byte 15\n    low = low + (bytes32[15] as Field) * v;\n\n    low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n    lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n    rhs.lt(lhs)\n}\n\npub fn min(f1: Field, f2: Field) -> Field {\n    if f1.lt(f2) {\n        f1\n    } else {\n        f2\n    }\n}\n\n// TODO: write doc-comments and tests for these magic constants.\n\nglobal KNOWN_NON_RESIDUE: Field = 5; // This is a non-residue in Noir's native Field.\nglobal C1: u32 = 28;\nglobal C3: Field = 40770029410420498293352137776570907027550720424234931066070132305055;\nglobal C5: Field = 19103219067921713944291392827692070036145651957329286315305642004821462161904;\n\n// @dev: only use this for _huge_ exponents y, when writing a constrained function.\n// If you're only exponentiating by a small value, first consider writing-out the multiplications by hand.\n// Only after you've measured the gates of that approach, consider using the native Field::pow_32 function.\n// Only if your exponent is larger than 32 bits, resort to using this function.\npub fn pow(x: Field, y: Field) -> Field {\n    let mut r = 1 as Field;\n    let b: [u1; 254] = y.to_le_bits();\n\n    for i in 0..254 {\n        r *= r;\n        r *= (b[254 - 1 - i] as Field) * x + (1 - b[254 - 1 - i] as Field);\n    }\n\n    r\n}\n\n/// Returns Option::some(sqrt) if there is a square root, and Option::none() if there isn't.\npub fn sqrt(x: Field) -> Option<Field> {\n    // Safety: if the hint returns the square root of x, then we simply square it\n    // check the result equals x. If x is not square, we return a value that\n    // enables us to prove that fact (see the `else` clause below).\n    let (is_sq, maybe_sqrt) = unsafe { __sqrt(x) };\n\n    if is_sq {\n        let sqrt = maybe_sqrt;\n        validate_sqrt_hint(x, sqrt);\n        Option::some(sqrt)\n    } else {\n        let not_sqrt_hint = maybe_sqrt;\n        validate_not_sqrt_hint(x, not_sqrt_hint);\n        Option::none()\n    }\n}\n\n// Boolean indicating whether Field element is a square, i.e. whether there exists a y in Field s.t. x = y*y.\nunconstrained fn is_square(x: Field) -> bool {\n    let v = pow(x, -1 / 2);\n    v * (v - 1) == 0\n}\n\n// Tonelli-Shanks algorithm for computing the square root of a Field element.\n// Requires C1 = max{c: 2^c divides (p-1)}, where p is the order of Field\n// as well as C3 = (C2 - 1)/2, where C2 = (p-1)/(2^c1),\n// and C5 = ZETA^C2, where ZETA is a non-square element of Field.\n// These are pre-computed above as globals.\nunconstrained fn tonelli_shanks_sqrt(x: Field) -> Field {\n    let mut z = pow(x, C3);\n    let mut t = z * z * x;\n    z *= x;\n    let mut b = t;\n    let mut c = C5;\n\n    for i in 0..(C1 - 1) {\n        for _j in 1..(C1 - i - 1) {\n            b *= b;\n        }\n\n        z *= if b == 1 { 1 } else { c };\n\n        c *= c;\n\n        t *= if b == 1 { 1 } else { c };\n\n        b = t;\n    }\n\n    z\n}\n\n// NB: this doesn't return an option, because in the case of there _not_ being a square root, we still want to return a field element that allows us to then assert in the _constrained_ sqrt function that there is no sqrt.\nunconstrained fn __sqrt(x: Field) -> (bool, Field) {\n    let is_sq = is_square(x);\n    if is_sq {\n        let sqrt = tonelli_shanks_sqrt(x);\n        (true, sqrt)\n    } else {\n        // Demonstrate that x is not a square (a.k.a. a \"quadratic non-residue\").\n        // Facts:\n        // The Legendre symbol (\"LS\") of x, is x^((p-1)/2) (mod p).\n        // - If x is a square, LS(x) = 1\n        // - If x is not a square, LS(x) = -1\n        // - If x = 0, LS(x) = 0.\n        //\n        // Hence:\n        // sq * sq = sq // 1 * 1 = 1\n        // non-sq * non-sq = sq // -1 * -1 = 1\n        // sq * non-sq = non-sq // -1 * 1 = -1\n        //\n        // See: https://en.wikipedia.org/wiki/Legendre_symbol\n        let demo_x_not_square = x * KNOWN_NON_RESIDUE;\n        let not_sqrt = tonelli_shanks_sqrt(demo_x_not_square);\n        (false, not_sqrt)\n    }\n}\n\nfn validate_sqrt_hint(x: Field, hint: Field) {\n    assert(hint * hint == x, f\"The claimed_sqrt {hint} is not the sqrt of x {x}\");\n}\n\nfn validate_not_sqrt_hint(x: Field, hint: Field) {\n    // We need this assertion, because x = 0 would pass the other assertions in this\n    // function, and we don't want people to be able to prove that 0 is not square!\n    assert(x != 0, \"0 has a square root; you cannot claim it is not square\");\n    // Demonstrate that x is not a square (a.k.a. a \"quadratic non-residue\").\n    //\n    // Facts:\n    // The Legendre symbol (\"LS\") of x, is x^((p-1)/2) (mod p).\n    // - If x is a square, LS(x) = 1\n    // - If x is not a square, LS(x) = -1\n    // - If x = 0, LS(x) = 0.\n    //\n    // Hence:\n    // 1. sq * sq = sq // 1 * 1 = 1\n    // 2. non-sq * non-sq = sq // -1 * -1 = 1\n    // 3. sq * non-sq = non-sq // -1 * 1 = -1\n    //\n    // See: https://en.wikipedia.org/wiki/Legendre_symbol\n    //\n    // We want to demonstrate that this below multiplication falls under bullet-point (2):\n    let demo_x_not_square = x * KNOWN_NON_RESIDUE;\n    // I.e. we want to demonstrate that `demo_x_not_square` has Legendre symbol 1\n    // (i.e. that it is a square), so we prove that it is square below.\n    // Why do we want to prove that it has LS 1?\n    // Well, since it was computed with a known-non-residue, its squareness implies we're\n    // in case 2 (something multiplied by a known-non-residue yielding a result which\n    // has a LS of 1), which implies that x must be a non-square. The unconstrained\n    // function gave us the sqrt of demo_x_not_square, so all we need to do is\n    // assert its squareness:\n    assert(\n        hint * hint == demo_x_not_square,\n        f\"The hint {hint} does not demonstrate that {x} is not a square\",\n    );\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n    // Tests correctness of field_from_bytes_32_trunc against existing methods\n    // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n    let inputs = [\n        84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28,\n        151, 202, 67, 55, 77, 233, 80, 187, 224, 167,\n    ];\n    let field = field_from_bytes(inputs, true);\n    let return_bytes: [u8; 31] = field.to_be_bytes();\n    assert_eq(inputs, return_bytes);\n    // 32 bytes - we remove the final byte, and check it matches the field\n    let inputs2 = [\n        84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28,\n        151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158,\n    ];\n    let field2 = field_from_bytes_32_trunc(inputs2);\n    let return_bytes2: [u8; 31] = field2.to_be_bytes();\n\n    assert_eq(return_bytes2, return_bytes);\n    assert_eq(field2, field);\n}\n\n#[test]\nunconstrained fn max_field_test() {\n    // Tests the hardcoded value in constants.nr vs underlying modulus\n    // NB: We can't use 0-1 in constants.nr as it will be transpiled incorrectly to ts and sol constants files\n    let max_value = crate::constants::MAX_FIELD_VALUE;\n    assert_eq(max_value, 0 - 1);\n    // modulus == 0 is tested elsewhere, so below is more of a sanity check\n    let max_bytes: [u8; 32] = max_value.to_be_bytes();\n    let mod_bytes = std::field::modulus_be_bytes();\n    for i in 0..31 {\n        assert_eq(max_bytes[i], mod_bytes[i]);\n    }\n    assert_eq(max_bytes[31], mod_bytes[31] - 1);\n}\n\n#[test]\nunconstrained fn sqrt_valid_test() {\n    let x = 16; // examples: 16, 9, 25, 81\n    let result = sqrt(x);\n    assert(result.is_some());\n    assert_eq(result.unwrap() * result.unwrap(), x);\n}\n\n#[test]\nunconstrained fn sqrt_invalid_test() {\n    let x = KNOWN_NON_RESIDUE; // has no square root in the field\n    let result = sqrt(x);\n    assert(result.is_none());\n}\n\n#[test]\nunconstrained fn sqrt_zero_test() {\n    let result = sqrt(0);\n    assert(result.is_some());\n    assert_eq(result.unwrap(), 0);\n}\n\n#[test]\nunconstrained fn sqrt_one_test() {\n    let result = sqrt(1);\n    assert(result.is_some());\n    assert_eq(result.unwrap() * result.unwrap(), 1);\n}\n\n#[test]\nunconstrained fn field_from_bytes_empty_test() {\n    let empty: [u8; 0] = [];\n    let result = field_from_bytes(empty, true);\n    assert_eq(result, 0);\n\n    let result_le = field_from_bytes(empty, false);\n    assert_eq(result_le, 0);\n}\n\n#[test]\nunconstrained fn field_from_bytes_little_endian_test() {\n    // Test little-endian conversion: [0x01, 0x02] should be 0x0201 = 513\n    let bytes = [0x01, 0x02];\n    let result_le = field_from_bytes(bytes, false);\n    assert_eq(result_le, 0x0201);\n\n    // Compare with big-endian: [0x01, 0x02] should be 0x0102 = 258\n    let result_be = field_from_bytes(bytes, true);\n    assert_eq(result_be, 0x0102);\n}\n\n#[test]\nunconstrained fn pow_test() {\n    assert_eq(pow(2, 0), 1);\n    assert_eq(pow(2, 1), 2);\n    assert_eq(pow(2, 10), 1024);\n    assert_eq(pow(3, 5), 243);\n    assert_eq(pow(0, 5), 0);\n    assert_eq(pow(1, 100), 1);\n}\n\n#[test]\nunconstrained fn min_test() {\n    assert_eq(min(5, 10), 5);\n    assert_eq(min(10, 5), 5);\n    assert_eq(min(7, 7), 7);\n    assert_eq(min(0, 1), 0);\n}\n\n#[test]\nunconstrained fn full_field_comparison_test() {\n    assert(full_field_less_than(5, 10));\n    assert(!full_field_less_than(10, 5));\n    assert(!full_field_less_than(5, 5));\n\n    assert(full_field_greater_than(10, 5));\n    assert(!full_field_greater_than(5, 10));\n    assert(!full_field_greater_than(5, 5));\n}\n\n#[test]\nunconstrained fn sqrt_has_two_roots_test() {\n    // Every square has two roots: r and -r (i.e., p - r)\n    // sqrt(16) can return 4 or -4\n    let x = 16;\n    let result = sqrt(x).unwrap();\n    assert(result * result == x);\n    // The other root is -result\n    let other_root = 0 - result;\n    assert(other_root * other_root == x);\n    // Verify they are different (unless x = 0)\n    assert(result != other_root);\n\n    // Same for 9: roots are 3 and -3\n    let y = 9;\n    let result_y = sqrt(y).unwrap();\n    assert(result_y * result_y == y);\n    let other_root_y = 0 - result_y;\n    assert(other_root_y * other_root_y == y);\n    assert(result_y != other_root_y);\n}\n\n#[test]\nunconstrained fn sqrt_negative_one_test() {\n    let x = 0 - 1;\n    let result = sqrt(x);\n    assert(result.unwrap() == 0x30644e72e131a029048b6e193fd841045cea24f6fd736bec231204708f703636);\n}\n\n#[test]\nunconstrained fn validate_sqrt_hint_valid_test() {\n    // 4 is a valid sqrt of 16\n    validate_sqrt_hint(16, 4);\n    // -4 is also a valid sqrt of 16\n    validate_sqrt_hint(16, 0 - 4);\n    // 0 is a valid sqrt of 0\n    validate_sqrt_hint(0, 0);\n    // 1 is a valid sqrt of 1\n    validate_sqrt_hint(1, 1);\n    // -1 is also a valid sqrt of 1\n    validate_sqrt_hint(1, 0 - 1);\n}\n\n#[test(should_fail_with = \"is not the sqrt of x\")]\nunconstrained fn validate_sqrt_hint_invalid_test() {\n    // 5 is not a valid sqrt of 16\n    validate_sqrt_hint(16, 5);\n}\n\n#[test]\nunconstrained fn validate_not_sqrt_hint_valid_test() {\n    // 5 (KNOWN_NON_RESIDUE) is not a square.\n    let x = KNOWN_NON_RESIDUE;\n    let hint = tonelli_shanks_sqrt(x * KNOWN_NON_RESIDUE);\n    validate_not_sqrt_hint(x, hint);\n}\n\n#[test(should_fail_with = \"0 has a square root\")]\nunconstrained fn validate_not_sqrt_hint_zero_test() {\n    // 0 has a square root, so we cannot claim it is not square\n    validate_not_sqrt_hint(0, 0);\n}\n\n#[test(should_fail_with = \"does not demonstrate that\")]\nunconstrained fn validate_not_sqrt_hint_wrong_hint_test() {\n    // Provide a wrong hint for a non-square\n    let x = KNOWN_NON_RESIDUE;\n    validate_not_sqrt_hint(x, 123);\n}\n"
    },
    "425": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/serde/src/reader.nr",
      "source": "pub struct Reader<let N: u32> {\n    data: [Field; N],\n    offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n    pub fn new(data: [Field; N]) -> Self {\n        Self { data, offset: 0 }\n    }\n\n    pub fn read(&mut self) -> Field {\n        let result = self.data[self.offset];\n        self.offset += 1;\n        result\n    }\n\n    pub fn read_u32(&mut self) -> u32 {\n        self.read() as u32\n    }\n\n    pub fn read_u64(&mut self) -> u64 {\n        self.read() as u64\n    }\n\n    pub fn read_bool(&mut self) -> bool {\n        self.read() != 0\n    }\n\n    pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n        let mut result = [0; K];\n        for i in 0..K {\n            result[i] = self.data[self.offset + i];\n        }\n        self.offset += K;\n        result\n    }\n\n    pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n        let result = deserialise(self.read_array());\n        result\n    }\n\n    pub fn read_struct_array<T, let K: u32, let C: u32>(\n        &mut self,\n        deserialise: fn([Field; K]) -> T,\n        mut result: [T; C],\n    ) -> [T; C] {\n        for i in 0..C {\n            result[i] = self.read_struct(deserialise);\n        }\n        result\n    }\n\n    pub fn peek_offset(&mut self, offset: u32) -> Field {\n        self.data[self.offset + offset]\n    }\n\n    pub fn advance_offset(&mut self, offset: u32) {\n        self.offset += offset;\n    }\n\n    pub fn finish(self) {\n        assert_eq(self.offset, self.data.len(), \"Reader did not read all data\");\n    }\n}\n"
    },
    "426": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/serde/src/serialization.nr",
      "source": "use crate::{reader::Reader, writer::Writer};\n\n// docs:start:serialize\n/// Trait for serializing Noir types into arrays of Fields.\n///\n/// An implementation of the Serialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait (and Deserialize) are\n/// typically used to communicate between Noir and TypeScript (via oracles and function arguments).\n///\n/// # On Following Noir's Intrinsic Serialization\n/// When calling a Noir function from TypeScript (TS), first the function arguments are serialized into an array\n/// of fields. This array is then included in the initial witness. Noir's intrinsic serialization is then used\n/// to deserialize the arguments from the witness. When the same Noir function is called from Noir this Serialize trait\n/// is used instead of the serialization in TS. For this reason we need to have a match between TS serialization,\n/// Noir's intrinsic serialization and the implementation of this trait. If there is a mismatch, the function calls\n/// fail with an arguments hash mismatch error message.\n///\n/// # Associated Constants\n/// * `N` - The length of the output Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let N: u32> Serialize for str<N> {\n///     let N: u32 = N;\n///\n///     fn serialize(self) -> [Field; Self::N] {\n///         let mut writer: Writer<Self::N> = Writer::new();\n///         self.stream_serialize(&mut writer);\n///         writer.finish()\n///     }\n///\n///     fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n///         let bytes = self.as_bytes();\n///         for i in 0..bytes.len() {\n///             writer.write(bytes[i] as Field);\n///         }\n///     }\n/// }\n/// ```\n#[derive_via(derive_serialize)]\npub trait Serialize {\n    let N: u32;\n\n    fn serialize(self) -> [Field; Self::N];\n\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>);\n}\n\n/// Generates a `Serialize` trait implementation for a struct type.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A quoted code block containing the trait implementation\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Log<N> {\n///     fields: [Field; N],\n///     length: u32\n/// }\n/// ```\n///\n/// This function generates code equivalent to:\n/// ```\n/// impl<let N: u32> Serialize for Log<N> {\n///     let N: u32 = <[Field; N] as Serialize>::N + <u32 as Serialize>::N;\n///\n///     fn serialize(self) -> [Field; Self::N] {\n///         let mut writer: Writer<Self::N> = Writer::new();\n///         self.stream_serialize(&mut writer);\n///         writer.finish()\n///     }\n///\n///     #[inline_always]\n///     fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n///         Serialize::stream_serialize(self.fields, writer);\n///         Serialize::stream_serialize(self.length, writer);\n///     }\n/// }\n/// ```\npub comptime fn derive_serialize(s: TypeDefinition) -> Quoted {\n    let typ = s.as_type();\n    let nested_struct = typ.as_data_type().unwrap();\n\n    // We care only about the name and type so we drop the last item of the tuple\n    let params = nested_struct.0.fields(nested_struct.1).map(|(name, typ, _)| (name, typ));\n\n    // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n    // for the `Serialize` trait.\n    let generics_declarations = get_generics_declarations(s);\n    let where_serialize_clause = get_where_trait_clause(s, quote {Serialize});\n\n    let params_len_quote = get_params_len_quote(params);\n\n    let function_body = params\n        .map(|(name, _typ): (Quoted, Type)| {\n            quote {\n                $crate::serialization::Serialize::stream_serialize(self.$name, writer);\n            }\n        })\n        .join(quote {});\n\n    quote {\n        impl$generics_declarations $crate::serialization::Serialize for $typ\n            $where_serialize_clause\n        {\n            let N: u32 = $params_len_quote;\n\n\n            fn serialize(self) -> [Field; Self::N] {\n                let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n                $crate::serialization::Serialize::stream_serialize(self, &mut writer);\n                writer.finish()\n            }\n\n\n            #[inline_always]\n             fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n                $function_body\n            }\n        }\n    }\n}\n\n// docs:start:deserialize\n/// Trait for deserializing Noir types from arrays of Fields.\n///\n/// An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait is typically used when\n/// deserializing return values from function calls in Noir. Since the same function could be called from TypeScript\n/// (TS), in which case the TS deserialization would get used, we need to have a match between the 2.\n///\n/// # Associated Constants\n/// * `N` - The length of the input Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let M: u32> Deserialize for str<M> {\n///     let N: u32 = M;\n///\n///     fn deserialize(fields: [Field; Self::N]) -> Self {\n///         let mut reader = Reader::new(fields);\n///         let result = Self::stream_deserialize(&mut reader);\n///         reader.finish();\n///         result\n///     }\n///\n///     fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n///         let mut bytes = [0 as u8; M];\n///         for i in 0..M {\n///             bytes[i] = reader.read() as u8;\n///         }\n///         str::<M>::from(bytes)\n///     }\n/// }\n/// ```\n#[derive_via(derive_deserialize)]\npub trait Deserialize {\n    let N: u32;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self;\n\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self;\n}\n\n/// Generates a `Deserialize` trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Deserialize` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n///     x: AztecAddress,\n///     y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Deserialize for MyStruct {\n///     let N: u32 = <AztecAddress as Deserialize>::N + <Field as Deserialize>::N;\n///\n///     fn deserialize(fields: [Field; Self::N]) -> Self {\n///         let mut reader = Reader::new(fields);\n///         let result = Self::stream_deserialize(&mut reader);\n///         reader.finish();\n///         result\n///     }\n///\n///     #[inline_always]\n///     fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n///         let x = <AztecAddress as Deserialize>::stream_deserialize(reader);\n///         let y = <Field as Deserialize>::stream_deserialize(reader);\n///         Self { x, y }\n///     }\n/// }\n/// ```\npub comptime fn derive_deserialize(s: TypeDefinition) -> Quoted {\n    let typ = s.as_type();\n    let nested_struct = typ.as_data_type().unwrap();\n    let params = nested_struct.0.fields(nested_struct.1);\n\n    // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n    // for the `Deserialize` trait.\n    let generics_declarations = get_generics_declarations(s);\n    let where_deserialize_clause = get_where_trait_clause(s, quote {Deserialize});\n\n    // The following will give us:\n    // <type_of_struct_member_1 as Deserialize>::N + <type_of_struct_member_2 as Deserialize>::N + ...\n    // (or 0 if the struct has no members)\n    let right_hand_side_of_definition_of_n = if params.len() > 0 {\n        params\n            .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n                quote {\n            <$param_type as $crate::serialization::Deserialize>::N\n        }\n            })\n            .join(quote {+})\n    } else {\n        quote {0}\n    };\n\n    // For structs containing a single member, we can enhance performance by directly deserializing the input array,\n    // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n    // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n    // expected to be optimized away.\n    let function_body = if params.len() > 1 {\n        // This generates deserialization code for each struct member and concatenates them together.\n        let deserialization_of_struct_members = params\n            .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n                quote {\n                    let $param_name = <$param_type as Deserialize>::stream_deserialize(reader);\n                }\n            })\n            .join(quote {});\n\n        // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n        // This will give us e.g. `a, b, c` for a struct with three fields named `a`, `b`, and `c`.\n        let struct_members = params\n            .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n            .join(quote {,});\n\n        quote {\n            $deserialization_of_struct_members\n\n            Self { $struct_members }\n        }\n    } else if params.len() == 1 {\n        let param_name = params[0].0;\n        quote {\n            Self { $param_name: $crate::serialization::Deserialize::stream_deserialize(reader) }\n        }\n    } else {\n        quote {\n            Self {}\n        }\n    };\n\n    quote {\n        impl$generics_declarations $crate::serialization::Deserialize for $typ\n            $where_deserialize_clause\n        {\n            let N: u32 = $right_hand_side_of_definition_of_n;\n\n            fn deserialize(fields: [Field; Self::N]) -> Self {\n                let mut reader = $crate::reader::Reader::new(fields);\n                let result = Self::stream_deserialize(&mut reader);\n                reader.finish();\n                result\n            }\n\n            #[inline_always]\n            fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n                $function_body\n            }\n        }\n    }\n}\n\n/// Generates a quoted expression that computes the total serialized length of function parameters.\n///\n/// # Parameters\n/// * `params` - An array of tuples where each tuple contains a quoted parameter name and its Type. The type needs\n///              to implement the Serialize trait.\n///\n/// # Returns\n/// A quoted expression that evaluates to:\n/// * `0` if there are no parameters\n/// * `(<type1 as Serialize>::N + <type2 as Serialize>::N + ...)` for one or more parameters\ncomptime fn get_params_len_quote(params: [(Quoted, Type)]) -> Quoted {\n    if params.len() == 0 {\n        quote { 0 }\n    } else {\n        let params_quote_without_parentheses = params\n            .map(|(_, param_type): (Quoted, Type)| {\n                quote {\n                    <$param_type as $crate::serialization::Serialize>::N\n                }\n            })\n            .join(quote {+});\n        quote { ($params_quote_without_parentheses) }\n    }\n}\n\ncomptime fn get_generics_declarations(s: TypeDefinition) -> Quoted {\n    let generics = s.generics();\n\n    if generics.len() > 0 {\n        let generics_declarations_items = generics\n            .map(|(name, maybe_integer_typ)| {\n                // The second item in the generics tuple is an Option of an integer type that is Some only if\n                // the generic is numeric.\n                if maybe_integer_typ.is_some() {\n                    // The generic is numeric, so we return a quote defined as e.g. \"let N: u32\"\n                    let integer_type = maybe_integer_typ.unwrap();\n                    quote {let $name: $integer_type}\n                } else {\n                    // The generic is not numeric, so we return a quote containing the name of the generic (e.g. \"T\")\n                    quote {$name}\n                }\n            })\n            .join(quote {,});\n        quote {<$generics_declarations_items>}\n    } else {\n        // The struct doesn't have any generics defined, so we just return an empty quote.\n        quote {}\n    }\n}\n\ncomptime fn get_where_trait_clause(s: TypeDefinition, trait_name: Quoted) -> Quoted {\n    let generics = s.generics();\n\n    // The second item in the generics tuple is an Option of an integer type that is Some only if the generic is\n    // numeric.\n    let non_numeric_generics =\n        generics.filter(|(_, maybe_integer_typ)| maybe_integer_typ.is_none());\n\n    if non_numeric_generics.len() > 0 {\n        let non_numeric_generics_declarations =\n            non_numeric_generics.map(|(name, _)| quote {$name: $trait_name}).join(quote {,});\n        quote {where $non_numeric_generics_declarations}\n    } else {\n        // There are no non-numeric generics, so we return an empty quote.\n        quote {}\n    }\n}\n"
    },
    "428": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/serde/src/type_impls.nr",
      "source": "use crate::{reader::Reader, serialization::{Deserialize, Serialize}, writer::Writer};\nuse std::embedded_curve_ops::EmbeddedCurvePoint;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\nglobal U1_SERIALIZED_LEN: u32 = 1;\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize for bool {\n    let N: u32 = BOOL_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for bool {\n    let N: u32 = BOOL_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> bool {\n        reader.read() != 0\n    }\n}\n\nimpl Serialize for u1 {\n    let N: u32 = U1_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u1 {\n    let N: u32 = U1_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u1\n    }\n}\n\nimpl Serialize for u8 {\n    let N: u32 = U8_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u8 {\n    let N: u32 = U8_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u8\n    }\n}\n\nimpl Serialize for u16 {\n    let N: u32 = U16_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u16 {\n    let N: u32 = U16_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u16\n    }\n}\n\nimpl Serialize for u32 {\n    let N: u32 = U32_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u32 {\n    let N: u32 = U32_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u32\n    }\n}\n\nimpl Serialize for u64 {\n    let N: u32 = U64_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u64 {\n    let N: u32 = U64_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u64\n    }\n}\n\nimpl Serialize for u128 {\n    let N: u32 = U128_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as Field);\n    }\n}\n\nimpl Deserialize for u128 {\n    let N: u32 = U128_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u128\n    }\n}\n\nimpl Serialize for Field {\n    let N: u32 = FIELD_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self);\n    }\n}\n\nimpl Deserialize for Field {\n    let N: u32 = FIELD_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read()\n    }\n}\n\nimpl Serialize for i8 {\n    let N: u32 = I8_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as u8 as Field);\n    }\n}\n\nimpl Deserialize for i8 {\n    let N: u32 = I8_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u8 as i8\n    }\n}\n\nimpl Serialize for i16 {\n    let N: u32 = I16_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as u16 as Field);\n    }\n}\n\nimpl Deserialize for i16 {\n    let N: u32 = I16_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u16 as i16\n    }\n}\n\nimpl Serialize for i32 {\n    let N: u32 = I32_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as u32 as Field);\n    }\n}\n\nimpl Deserialize for i32 {\n    let N: u32 = I32_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u32 as i32\n    }\n}\n\nimpl Serialize for i64 {\n    let N: u32 = I64_SERIALIZED_LEN;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self as u64 as Field);\n    }\n}\n\nimpl Deserialize for i64 {\n    let N: u32 = I64_SERIALIZED_LEN;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        reader.read() as u64 as i64\n    }\n}\n\nimpl<T, let M: u32> Serialize for [T; M]\nwhere\n    T: Serialize,\n{\n    let N: u32 = <T as Serialize>::N * M;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        for i in 0..M {\n            self[i].stream_serialize(writer);\n        }\n    }\n}\n\nimpl<T, let M: u32> Deserialize for [T; M]\nwhere\n    T: Deserialize,\n{\n    let N: u32 = <T as Deserialize>::N * M;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        let mut result: [T; M] = std::mem::zeroed();\n        for i in 0..M {\n            result[i] = T::stream_deserialize(reader);\n        }\n        result\n    }\n}\n\nimpl<T> Serialize for Option<T>\nwhere\n    T: Serialize,\n{\n    let N: u32 = <T as Serialize>::N + 1;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write_bool(self.is_some());\n        if self.is_some() {\n            self.unwrap_unchecked().stream_serialize(writer);\n        } else {\n            writer.advance_offset(<T as Serialize>::N);\n        }\n    }\n}\n\nimpl<T> Deserialize for Option<T>\nwhere\n    T: Deserialize,\n{\n    let N: u32 = <T as Deserialize>::N + 1;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        if reader.read_bool() {\n            Option::some(<T as Deserialize>::stream_deserialize(reader))\n        } else {\n            reader.advance_offset(<T as Deserialize>::N);\n            Option::none()\n        }\n    }\n}\n\nglobal SCALAR_SIZE: u32 = 2;\n\nimpl Serialize for EmbeddedCurveScalar {\n\n    let N: u32 = SCALAR_SIZE;\n\n    fn serialize(self) -> [Field; SCALAR_SIZE] {\n        [self.lo, self.hi]\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self.lo);\n        writer.write(self.hi);\n    }\n}\n\nimpl Deserialize for EmbeddedCurveScalar {\n    let N: u32 = SCALAR_SIZE;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        Self { lo: fields[0], hi: fields[1] }\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        Self { lo: reader.read(), hi: reader.read() }\n    }\n}\n\nglobal POINT_SIZE: u32 = 3;\n\nimpl Serialize for EmbeddedCurvePoint {\n    let N: u32 = POINT_SIZE;\n\n    fn serialize(self) -> [Field; Self::N] {\n        [self.x, self.y, self.is_infinite as Field]\n    }\n\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        writer.write(self.x);\n        writer.write(self.y);\n        writer.write(self.is_infinite as Field);\n    }\n}\n\nimpl Deserialize for EmbeddedCurvePoint {\n    let N: u32 = POINT_SIZE;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        Self { x: fields[0], y: fields[1], is_infinite: fields[2] != 0 }\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        Self { x: reader.read(), y: reader.read(), is_infinite: reader.read_bool() }\n    }\n}\n\nimpl<let M: u32> Deserialize for str<M> {\n    let N: u32 = M;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        let u8_arr = <[u8; Self::N] as Deserialize>::stream_deserialize(reader);\n        str::<Self::N>::from(u8_arr)\n    }\n}\n\nimpl<let M: u32> Serialize for str<M> {\n    let N: u32 = M;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        self.as_bytes().stream_serialize(writer);\n    }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n    T: Deserialize,\n{\n    let N: u32 = <T as Deserialize>::N * M + 1;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n        let payload_len = Self::N - 1;\n\n        // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n        // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n        let len = reader.peek_offset(payload_len) as u32;\n\n        for i in 0..M {\n            if i < len {\n                new_bounded_vec.push(<T as Deserialize>::stream_deserialize(reader));\n            }\n        }\n\n        // +1 for the length of the BoundedVec\n        reader.advance_offset((M - len) * <T as Deserialize>::N + 1);\n\n        new_bounded_vec\n    }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n    let N: u32 = 0;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(_reader: &mut Reader<K>) -> Self {\n        ()\n    }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n    T: Serialize,\n{\n    let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: Writer<Self::N> = Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        self.storage().stream_serialize(writer);\n        // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n        // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n        writer.write_u32(self.len() as u32);\n    }\n}\n\n// Create a slice of the given length with each element made from `f(i)` where `i` is the current index\ncomptime fn make_slice<Env, T>(length: u32, f: fn[Env](u32) -> T) -> [T] {\n    let mut slice = @[];\n    for i in 0..length {\n        slice = slice.push_back(f(i));\n    }\n    slice\n}\n\n// Implements Serialize and Deserialize for an arbitrary tuple type\ncomptime fn impl_serialize_for_tuple(_m: Module, length: u32) -> Quoted {\n    // `T0`, `T1`, `T2`\n    let type_names = make_slice(length, |i| f\"T{i}\".quoted_contents());\n\n    // `result0`, `result1`, `result2`\n    let result_names = make_slice(length, |i| f\"result{i}\".quoted_contents());\n\n    // `T0, T1, T2`\n    let field_generics = type_names.join(quote [,]);\n\n    // `<T0 as Serialize>::N + <T1 as Serialize>::N + <T2 as Serialize>::N`\n    let full_size_serialize = type_names\n        .map(|type_name| quote {\n        <$type_name as Serialize>::N\n    })\n        .join(quote [+]);\n\n    // `<T0 as Deserialize>::N + <T1 as Deserialize>::N + <T2 as Deserialize>::N`\n    let full_size_deserialize = type_names\n        .map(|type_name| quote {\n        <$type_name as Deserialize>::N\n    })\n        .join(quote [+]);\n\n    // `T0: Serialize, T1: Serialize, T2: Serialize,`\n    let serialize_constraints = type_names\n        .map(|field_name| quote {\n        $field_name: Serialize,\n    })\n        .join(quote []);\n\n    // `T0: Deserialize, T1: Deserialize, T2: Deserialize,`\n    let deserialize_constraints = type_names\n        .map(|field_name| quote {\n        $field_name: Deserialize,\n    })\n        .join(quote []);\n\n    // Statements to serialize each field\n    let serialized_fields = type_names\n        .mapi(|i, _type_name| quote {\n            $crate::serialization::Serialize::stream_serialize(self.$i, writer);\n    })\n        .join(quote []);\n\n    // Statements to deserialize each field\n    let deserialized_fields = type_names\n        .mapi(|i, type_name| {\n            let result_name = result_names[i];\n            quote {\n            let $result_name = <$type_name as $crate::serialization::Deserialize>::stream_deserialize(reader);\n        }\n        })\n        .join(quote []);\n    let deserialize_results = result_names.join(quote [,]);\n\n    quote {\n        impl<$field_generics> Serialize for ($field_generics) where $serialize_constraints {\n            let N: u32 = $full_size_serialize;\n\n            fn serialize(self) -> [Field; Self::N] {\n                let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n                self.stream_serialize(&mut writer);\n                writer.finish()\n            }\n\n            #[inline_always]\n            fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n\n                $serialized_fields\n            }\n        }\n\n        impl<$field_generics> Deserialize for ($field_generics) where $deserialize_constraints {\n            let N: u32 = $full_size_deserialize;\n\n            fn deserialize(fields: [Field; Self::N]) -> Self {\n                let mut reader = $crate::reader::Reader::new(fields);\n                let result = Self::stream_deserialize(&mut reader);\n                reader.finish();\n                result\n            }\n    \n            #[inline_always]\n            fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n                $deserialized_fields\n                ($deserialize_results)\n            }\n        }\n    }\n}\n\n// Keeping these manual impls. They are more efficient since they do not\n// require copying sub-arrays from any serialized arrays.\nimpl<T1> Serialize for (T1,)\nwhere\n    T1: Serialize,\n{\n    let N: u32 = <T1 as Serialize>::N;\n\n    fn serialize(self) -> [Field; Self::N] {\n        let mut writer: crate::writer::Writer<Self::N> = crate::writer::Writer::new();\n        self.stream_serialize(&mut writer);\n        writer.finish()\n    }\n\n    #[inline_always]\n    fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n        self.0.stream_serialize(writer);\n    }\n}\n\nimpl<T1> Deserialize for (T1,)\nwhere\n    T1: Deserialize,\n{\n    let N: u32 = <T1 as Deserialize>::N;\n\n    fn deserialize(fields: [Field; Self::N]) -> Self {\n        let mut reader = crate::reader::Reader::new(fields);\n        let result = Self::stream_deserialize(&mut reader);\n        reader.finish();\n        result\n    }\n\n    #[inline_always]\n    fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n        (<T1 as Deserialize>::stream_deserialize(reader),)\n    }\n}\n\n#[impl_serialize_for_tuple(2)]\n#[impl_serialize_for_tuple(3)]\n#[impl_serialize_for_tuple(4)]\n#[impl_serialize_for_tuple(5)]\n#[impl_serialize_for_tuple(6)]\nmod impls {\n    use crate::serialization::{Deserialize, Serialize};\n}\n\n#[test]\nunconstrained fn bounded_vec_serialization() {\n    // Test empty BoundedVec\n    let empty_vec: BoundedVec<Field, 3> = BoundedVec::from_array([]);\n    let serialized = empty_vec.serialize();\n    let deserialized = BoundedVec::<Field, 3>::deserialize(serialized);\n    assert_eq(empty_vec, deserialized);\n    assert_eq(deserialized.len(), 0);\n\n    // Test partially filled BoundedVec\n    let partial_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2]]);\n    let serialized = partial_vec.serialize();\n    let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n    assert_eq(partial_vec, deserialized);\n    assert_eq(deserialized.len(), 1);\n    assert_eq(deserialized.get(0), [1, 2]);\n\n    // Test full BoundedVec\n    let full_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2], [3, 4], [5, 6]]);\n    let serialized = full_vec.serialize();\n    let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n    assert_eq(full_vec, deserialized);\n    assert_eq(deserialized.len(), 3);\n    assert_eq(deserialized.get(0), [1, 2]);\n    assert_eq(deserialized.get(1), [3, 4]);\n    assert_eq(deserialized.get(2), [5, 6]);\n}\n"
    },
    "429": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/noir-protocol-circuits/crates/serde/src/writer.nr",
      "source": "pub struct Writer<let N: u32> {\n    data: [Field; N],\n    offset: u32,\n}\n\nimpl<let N: u32> Writer<N> {\n    pub fn new() -> Self {\n        Self { data: [0; N], offset: 0 }\n    }\n\n    pub fn write(&mut self, value: Field) {\n        self.data[self.offset] = value;\n        self.offset += 1;\n    }\n\n    pub fn write_u32(&mut self, value: u32) {\n        self.write(value as Field);\n    }\n\n    pub fn write_u64(&mut self, value: u64) {\n        self.write(value as Field);\n    }\n\n    pub fn write_bool(&mut self, value: bool) {\n        self.write(value as Field);\n    }\n\n    pub fn write_array<let K: u32>(&mut self, value: [Field; K]) {\n        for i in 0..K {\n            self.data[i + self.offset] = value[i];\n        }\n        self.offset += K;\n    }\n\n    pub fn write_struct<T, let K: u32>(&mut self, value: T, serialize: fn(T) -> [Field; K]) {\n        self.write_array(serialize(value));\n    }\n\n    pub fn write_struct_array<T, let K: u32, let C: u32>(\n        &mut self,\n        value: [T; C],\n        serialize: fn(T) -> [Field; K],\n    ) {\n        for i in 0..C {\n            self.write_struct(value[i], serialize);\n        }\n    }\n\n    pub fn advance_offset(&mut self, offset: u32) {\n        self.offset += offset;\n    }\n\n    pub fn finish(self) -> [Field; N] {\n        assert_eq(self.offset, self.data.len(), \"Writer did not write all data\");\n        self.data\n    }\n}\n"
    },
    "439": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/balance-set/src/balance_set.nr",
      "source": "use aztec::{\n    context::{PrivateContext, UtilityContext},\n    note::{\n        HintedNote,\n        MaybeNoteMessage,\n        note_getter_options::{NoteGetterOptions, SortOrder},\n        note_interface::NoteProperties,\n        note_viewer_options::NoteViewerOptions,\n    },\n    protocol::{address::AztecAddress, constants::MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, traits::Packable},\n    state_vars::{OwnedStateVariable, PrivateSet},\n};\nuse std::ops::Add;\nuse uint_note::UintNote;\n\npub struct BalanceSet<Context> {\n    set: PrivateSet<UintNote, Context>,\n}\n\n// TODO(#13824): remove this impl once we allow structs to hold state variables.\nimpl<Context> OwnedStateVariable<Context> for BalanceSet<Context> {\n    fn new(context: Context, storage_slot: Field, owner: AztecAddress) -> Self {\n        Self { set: PrivateSet::new(context, storage_slot, owner) }\n    }\n}\n\nimpl BalanceSet<UtilityContext> {\n    pub unconstrained fn balance_of(self: Self) -> u128 {\n        self.balance_of_with_offset(0)\n    }\n\n    pub unconstrained fn balance_of_with_offset(self: Self, offset: u32) -> u128 {\n        let mut balance = 0 as u128;\n        let options = NoteViewerOptions::<UintNote, <UintNote as Packable>::N>::new().set_offset(offset);\n        let notes = self.set.view_notes(options);\n        for i in 0..options.limit {\n            if i < notes.len() {\n                balance = balance + notes.get_unchecked(i).value;\n            }\n        }\n        if (notes.len() == options.limit) {\n            balance = balance + self.balance_of_with_offset(offset + options.limit);\n        }\n\n        balance\n    }\n}\n\nimpl BalanceSet<&mut PrivateContext> {\n    pub fn add(self: Self, addend: u128) -> MaybeNoteMessage<UintNote> {\n        let maybe_new_note = if addend == 0 as u128 {\n            Option::none()\n        } else {\n            let addend_note = UintNote { value: addend };\n\n            Option::some(self.set.insert(addend_note).get_new_note())\n        };\n\n        MaybeNoteMessage::new(maybe_new_note, self.set.context)\n    }\n\n    pub fn sub(self: Self, amount: u128) -> MaybeNoteMessage<UintNote> {\n        let subtracted = self.try_sub(amount, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL);\n\n        // try_sub may have subtracted more or less than amount. We must ensure that we subtracted at least as much as\n        // we needed, and then create a new note for the owner for the change (if any).\n        assert(subtracted >= amount, \"Balance too low\");\n        self.add(subtracted - amount)\n    }\n\n    // Attempts to remove 'target_amount' from the owner's balance. try_sub returns how much was actually subtracted\n    // (i.e. the sum of the value of nullified notes), but this subtracted amount may be more or less than the target\n    // amount. This may seem odd, but is unfortunately unavoidable due to the number of notes available and their\n    // amounts being unknown. What try_sub does is a best-effort attempt to consume as few notes as possible that add\n    // up to more than `target_amount`. The `max_notes` parameter is used to fine-tune the number of constraints\n    // created by this function. The gate count scales relatively linearly with `max_notes`, but a lower `max_notes`\n    // parameter increases the likelihood of `try_sub` subtracting an amount smaller than `target_amount`.\n    pub fn try_sub(self: Self, target_amount: u128, max_notes: u32) -> u128 {\n        // We are using a preprocessor here (filter applied in an unconstrained context) instead of a filter because we\n        // do not need to prove correct execution of the preprocessor. Because the `min_sum` notes is not constrained,\n        // users could choose to e.g. not call it. However, all this might result in is simply higher DA costs due to\n        // more nullifiers being emitted. Since we don't care about proving optimal note usage, we can save these\n        // constraints and make the circuit smaller.\n        let options = NoteGetterOptions::with_preprocessor(preprocess_notes_min_sum, target_amount)\n            .sort(UintNote::properties().value, SortOrder.DESC)\n            .set_limit(max_notes);\n        let notes = self.set.pop_notes(options);\n\n        let mut subtracted = 0 as u128;\n        for i in 0..options.limit {\n            if i < notes.len() {\n                let note = notes.get_unchecked(i);\n                subtracted = subtracted + note.value;\n            }\n        }\n\n        subtracted\n    }\n}\n\n// Computes the partial sum of the notes array, stopping once 'min_sum' is reached. This can be used to minimize the\n// number of notes read that add to some value, e.g. when transferring some amount of tokens. The preprocessor (a\n// filter applied in an unconstrained context) does not check if total sum is larger or equal to 'min_sum' - all it\n// does is remove extra notes if it does reach that value. Note that proper usage of this preprocessor requires for\n// notes to be sorted in descending order.\npub fn preprocess_notes_min_sum(\n    notes: [Option<HintedNote<UintNote>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n    min_sum: u128,\n) -> [Option<HintedNote<UintNote>>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n    let mut selected = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n    let mut sum = 0 as u128;\n    for i in 0..notes.len() {\n        // Because we process notes in retrieved order, notes need to be sorted in descending amount order for this\n        // filter to be useful. Consider a 'min_sum' of 4, and a set of notes with amounts [3, 2, 1, 1, 1, 1, 1]. If\n        // sorted in descending order, the filter will only choose the notes with values 3 and 2, but if sorted in\n        // ascending order it will choose 4 notes of value 1.\n        if notes[i].is_some() & sum < min_sum {\n            let hinted_note = notes[i].unwrap_unchecked();\n            selected[i] = Option::some(hinted_note);\n            sum = sum.add(hinted_note.note.value);\n        }\n    }\n    selected\n}\n"
    },
    "442": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/uint-note/src/uint_note.nr",
      "source": "use aztec::{\n    context::{PrivateContext, PublicContext},\n    history::nullifier::assert_nullifier_existed_by,\n    keys::getters::{get_nhk_app, get_public_keys, try_get_public_keys},\n    macros::notes::custom_note,\n    messages::{\n        logs::partial_note::encode_partial_note_private_message,\n        message_delivery::{do_private_message_delivery, MessageDelivery},\n    },\n    note::{note_interface::{NoteHash, NoteType}, utils::compute_note_nullifier},\n    oracle::random::random,\n    protocol::{\n        address::AztecAddress,\n        constants::{\n            DOM_SEP__NOTE_COMPLETION_LOG_TAG, DOM_SEP__NOTE_HASH, DOM_SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT,\n            PRIVATE_LOG_CIPHERTEXT_LEN,\n        },\n        hash::{compute_log_tag, compute_siloed_nullifier, poseidon2_hash_with_separator},\n        traits::{Deserialize, FromField, Hash, Packable, Serialize, ToField},\n    },\n};\n\n// UintNote supports partial notes, i.e. the ability to create an incomplete note in private, hiding certain values\n// (the owner and randomness), and then completing the note in public with the ones missing (the storage slot and\n// amount). Partial notes are being actively developed and are not currently fully supported via macros, and so we\n// rely on the #[custom_note] macro to implement it manually, resulting in some boilerplate. This is expected to be\n// unnecessary once macro support is expanded.\n\n/// A private note representing a numeric value associated to an account (e.g. a token balance).\n// docs:start:uint_note_def\n#[derive(Deserialize, Eq, Serialize, Packable)]\n#[custom_note]\npub struct UintNote {\n    /// The number stored in the note.\n    pub value: u128,\n}\n// docs:end:uint_note_def\n\nimpl NoteHash for UintNote {\n    // docs:start:compute_note_hash\n    fn compute_note_hash(self, owner: AztecAddress, storage_slot: Field, randomness: Field) -> Field {\n        // Partial notes can be implemented by having the note hash be either the result of multiscalar multiplication\n        // (MSM), or two rounds of poseidon. MSM results in more constraints and is only required when multiple\n        // variants of partial notes are supported. Because UintNote has just one variant (where the value is public),\n        // we use poseidon instead.\n\n        // We must compute the same note hash as would be produced by a partial note created and completed with the\n        // same values, so that notes all behave the same way regardless of how they were created. To achieve this, we\n        // perform both steps of the partial note computation.\n\n        // First we create the partial note from a commitment to the private content.\n        let partial_note = PartialUintNote { commitment: compute_partial_commitment(owner, randomness) };\n\n        // Then compute the completion note hash. In a real partial note this step would be performed in public.\n        partial_note.compute_complete_note_hash(storage_slot, self.value)\n    }\n    // docs:end:compute_note_hash\n\n    // The nullifiers are nothing special - this is just the canonical implementation that would be injected by the\n    // #[note] macro.\n\n    fn compute_nullifier(\n        self,\n        context: &mut PrivateContext,\n        owner: AztecAddress,\n        note_hash_for_nullification: Field,\n    ) -> Field {\n        let owner_npk_m = get_public_keys(owner).npk_m;\n        let owner_npk_m_hash = owner_npk_m.hash();\n        let secret = context.request_nhk_app(owner_npk_m_hash);\n        compute_note_nullifier(note_hash_for_nullification, [secret])\n    }\n\n    unconstrained fn compute_nullifier_unconstrained(\n        self,\n        owner: AztecAddress,\n        note_hash_for_nullification: Field,\n    ) -> Option<Field> {\n        try_get_public_keys(owner).map(|public_keys| {\n            let owner_npk_m = public_keys.npk_m;\n            let owner_npk_m_hash = owner_npk_m.hash();\n            let secret = get_nhk_app(owner_npk_m_hash);\n            compute_note_nullifier(note_hash_for_nullification, [secret])\n        })\n    }\n}\n\nimpl UintNote {\n    /// Creates a partial note that will hide the owner but not the value or storage slot, since the note will be\n    /// later completed in public. This is a powerful technique for scenarios in which the value cannot be known in\n    /// private (e.g. because it depends on some public state, such as a DEX).\n    ///\n    /// This function inserts a partial note validity commitment into the nullifier tree to be later on able to verify\n    /// that the partial note and completer are legitimate. See function docs of `compute_validity_commitment` for more\n    /// details.\n    ///\n    /// Each partial note should only be used once, since otherwise multiple notes would be linked together and known\n    /// to belong to the same owner.\n    ///\n    /// As part of the partial note creation process, a log will be sent to `recipient` so that they can discover the\n    /// note. `recipient` will typically be the same as `owner`.\n    pub fn partial(\n        owner: AztecAddress,\n        context: &mut PrivateContext,\n        recipient: AztecAddress,\n        completer: AztecAddress,\n    ) -> PartialUintNote {\n        // Safety: We use the randomness to preserve the privacy of the note recipient by preventing brute-forcing, so\n        // a malicious sender could use non-random values to make the note less private. But they already know the full\n        // note pre-image anyway, and so the recipient already trusts them to not disclose this information. We can\n        // therefore assume that the sender will cooperate in the random value generation.\n        let randomness = unsafe { random() };\n\n        // We create a commitment to the private data, which we then use to construct the log we send to the recipient.\n        let commitment = compute_partial_commitment(owner, randomness);\n\n        // Our partial note log encoding scheme includes a field with the tag of the public completion log, and we use\n        // the commitment as the tag. This is good for multiple reasons:\n        //  - the commitment is uniquely tied to this partial note\n        //  - the commitment is already public information, so we're not revealing anything else\n        //  - we don't need to create any additional information, private or public, for the tag\n        //  - other contracts cannot impersonate us and emit logs with the same tag due to public log siloing\n        let private_log_content = UintPartialNotePrivateLogContent {};\n\n        do_private_message_delivery(\n            context,\n            || encode_partial_note_private_message(private_log_content, owner, randomness, commitment),\n            Option::none(),\n            recipient,\n            MessageDelivery.ONCHAIN_UNCONSTRAINED,\n        );\n\n        let partial_note = PartialUintNote { commitment };\n\n        // Now we compute the validity commitment and push it to the nullifier tree. It can be safely pushed to the\n        // nullifier tree since it uses its own separator, making collisions with actual note nullifiers practically\n        // impossible.\n        let validity_commitment = partial_note.compute_validity_commitment(completer);\n        context.push_nullifier(validity_commitment);\n\n        partial_note\n    }\n}\n\n/// Computes a commitment to the private content of a partial UintNote, i.e. the fields that will remain private. All\n/// other note fields will be made public.\n// docs:start:compute_partial_commitment\nfn compute_partial_commitment(owner: AztecAddress, randomness: Field) -> Field {\n    poseidon2_hash_with_separator([owner.to_field(), randomness], DOM_SEP__NOTE_HASH)\n}\n// docs:end:compute_partial_commitment\n\n#[derive(Packable)]\n// This note does not have any non-metadata (i.e. storage slot, owner, randomness) private content, as the only field\n// (value) will be public in the partial note.\nstruct UintPartialNotePrivateLogContent {}\n\nimpl NoteType for UintPartialNotePrivateLogContent {\n    fn get_id() -> Field {\n        UintNote::get_id()\n    }\n}\n\n/// A partial instance of a UintNote. This value represents a private commitment to the owner and randomness, but the\n/// storage slot and value fields have not yet been set. A partial note can be completed in public with the `complete`\n/// function (revealing the storage slot and value to the public), resulting in a UintNote that can be used like any\n/// other one (except of course that its value is known).\n// docs:start:partial_uint_note_def\n#[derive(Packable, Serialize, Deserialize, Eq)]\npub struct PartialUintNote {\n    commitment: Field,\n}\n// docs:end:partial_uint_note_def\n\nglobal NOTE_COMPLETION_PAYLOAD_LENGTH: u32 = 2;\n\nimpl PartialUintNote {\n    /// Completes the partial note, creating a new note that can be used like any other UintNote.\n    pub fn complete(self, context: PublicContext, completer: AztecAddress, storage_slot: Field, value: u128) {\n        // A note with a value of zero is valid, but we cannot currently complete a partial note with such a value\n        // because this will result in the completion log having its last field set to 0. Public logs currently do not\n        // track their length, and so trailing zeros are simply trimmed. This results in the completion log missing its\n        // last field (the value), and note discovery failing. TODO(#11636): remove this\n        assert(value != 0, \"Cannot complete a PartialUintNote with a value of 0\");\n\n        // We verify that the partial note we're completing is valid (i.e. completer is correct, it uses the correct\n        // state variable's storage slot, and it is internally consistent).\n        let validity_commitment = self.compute_validity_commitment(completer);\n        // Safety: we're using the existence of the nullifier as proof of the contract having validated the partial\n        // note's preimage, which is safe.\n        assert(\n            context.nullifier_exists_unsafe(validity_commitment, context.this_address()),\n            \"Invalid partial note or completer\",\n        );\n\n        // We need to do two things:\n        //  - emit a public log containing the public fields (the storage slot and value). The contract will later find\n        // it by searching for the domain-separated commitment as the tag.\n        //  - insert the completion note hash (i.e. the hash of the note) into the note hash tree. This is typically\n        // only done in private to hide the preimage of the hash that is inserted, but completed partial notes are\n        // inserted in public as the public values are provided and the note hash computed.\n        let log_tag = compute_log_tag(self.commitment, DOM_SEP__NOTE_COMPLETION_LOG_TAG);\n        context.emit_public_log_unsafe(log_tag, [storage_slot, value.to_field()]);\n        context.push_note_hash(self.compute_complete_note_hash(storage_slot, value));\n    }\n\n    /// Completes the partial note, creating a new note that can be used like any other UintNote. Same as `complete`\n    /// function but works from private context.\n    pub fn complete_from_private(\n        self,\n        context: &mut PrivateContext,\n        completer: AztecAddress,\n        storage_slot: Field,\n        value: u128,\n    ) {\n        // We verify that the partial note we're completing is valid (i.e. completer is correct, it uses the correct\n        // state variable's storage slot, and it is internally consistent).\n        let validity_commitment = self.compute_validity_commitment(completer);\n        // `assert_nullifier_existed_by` function expects the nullifier to be siloed (hashed with the address of the\n        // contract that emitted the nullifier) as it checks the value directly against the nullifier tree and all the\n        // nullifiers in the tree are siloed by the protocol.\n        let siloed_validity_commitment = compute_siloed_nullifier(context.this_address(), validity_commitment);\n        assert_nullifier_existed_by(\n            context.get_anchor_block_header(),\n            siloed_validity_commitment,\n        );\n\n        // We need to do two things:\n        //  - emit an unencrypted log containing the public fields (the storage slot and value) via the private log\n        // channel. The contract will later find it by searching for the domain-separated commitment as the tag.\n        //  - insert the completion note hash (i.e. the hash of the note) into the note hash tree. This is typically\n        // only done in private to hide the preimage of the hash that is inserted, but completed partial notes are\n        // inserted in public as the public values are provided and the note hash computed.\n        let log_tag = compute_log_tag(self.commitment, DOM_SEP__NOTE_COMPLETION_LOG_TAG);\n        let padded_payload = self.compute_note_completion_payload_padded_for_private_log(storage_slot, value);\n        context.emit_private_log_unsafe(log_tag, padded_payload, NOTE_COMPLETION_PAYLOAD_LENGTH);\n        context.push_note_hash(self.compute_complete_note_hash(storage_slot, value));\n    }\n\n    /// Computes a validity commitment for this partial note. The commitment cryptographically binds the note's private\n    /// data with the designated completer address. When the note is later completed in public execution, we can load\n    /// this commitment from the nullifier tree and verify that both the partial note (e.g. that the storage slot\n    /// corresponds to the correct owner, and that we're using the correct state variable) and completer are\n    /// legitimate.\n    pub fn compute_validity_commitment(self, completer: AztecAddress) -> Field {\n        poseidon2_hash_with_separator(\n            [self.commitment, completer.to_field()],\n            DOM_SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT,\n        )\n    }\n\n    fn compute_note_completion_payload_padded_for_private_log(\n        _self: Self,\n        storage_slot: Field,\n        value: u128,\n    ) -> [Field; PRIVATE_LOG_CIPHERTEXT_LEN] {\n        let payload = [storage_slot, value.to_field()];\n        payload.concat([0; PRIVATE_LOG_CIPHERTEXT_LEN - NOTE_COMPLETION_PAYLOAD_LENGTH])\n    }\n\n    // docs:start:compute_complete_note_hash\n    fn compute_complete_note_hash(self, storage_slot: Field, value: u128) -> Field {\n        // Here we finalize the note hash by including the (public) storage slot and value into the partial note\n        // commitment. Note that we use the same separator as we used for the first round of poseidon - this is not\n        // an issue.\n        poseidon2_hash_with_separator(\n            [self.commitment, storage_slot, value.to_field()],\n            DOM_SEP__NOTE_HASH,\n        )\n    }\n    // docs:end:compute_complete_note_hash\n}\n\nimpl ToField for PartialUintNote {\n    fn to_field(self) -> Field {\n        self.commitment\n    }\n}\n\nimpl FromField for PartialUintNote {\n    fn from_field(field: Field) -> Self {\n        Self { commitment: field }\n    }\n}\n\nmod test {\n    use super::{compute_partial_commitment, PartialUintNote, UintNote};\n    use aztec::{note::note_interface::NoteHash, protocol::{address::AztecAddress, traits::FromField}};\n\n    global value: u128 = 17;\n    global randomness: Field = 42;\n    global owner: AztecAddress = AztecAddress::from_field(50);\n    global storage_slot: Field = 13;\n\n    #[test]\n    fn note_hash_matches_completed_partial_note_hash() {\n        // Tests that a UintNote has the same note hash as a PartialUintNote created and then completed with the same\n        // private values. This requires for the same hash function to be used in both flows, with the fields in the\n        // same order.\n        let note = UintNote { value };\n        let note_hash = note.compute_note_hash(owner, storage_slot, randomness);\n\n        let partial_note = PartialUintNote { commitment: compute_partial_commitment(owner, randomness) };\n        let completed_partial_note_hash = partial_note.compute_complete_note_hash(storage_slot, value);\n\n        assert_eq(note_hash, completed_partial_note_hash);\n    }\n}\n"
    },
    "444": {
      "path": "/home/runner/nargo/github.com/AztecProtocol/aztec-packages/v4.2.0-aztecnr-rc.2/noir-projects/aztec-nr/compressed-string/src/field_compressed_string.nr",
      "source": "use aztec::protocol::{traits::{Deserialize, Packable, Serialize}, utils::field::field_from_bytes};\nuse std::meta::derive;\n\n// A Fixedsize Compressed String. Essentially a special version of Compressed String for practical use.\n#[derive(Deserialize, Eq, Packable, Serialize)]\npub struct FieldCompressedString {\n    value: Field,\n}\n\nimpl FieldCompressedString {\n    pub fn is_eq(self, other: FieldCompressedString) -> bool {\n        self.value == other.value\n    }\n\n    pub fn from_field(input_field: Field) -> Self {\n        Self { value: input_field }\n    }\n\n    pub fn from_string(input_string: str<31>) -> Self {\n        Self { value: field_from_bytes(input_string.as_bytes(), true) }\n    }\n\n    pub fn to_bytes(self) -> [u8; 31] {\n        self.value.to_be_bytes()\n    }\n}\n"
    }
  },
  "functions": [
    {
      "abi": {
        "error_types": {
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          }
        },
        "parameters": [
          {
            "name": "owner",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "kind": "integer",
            "sign": "unsigned",
            "width": 128
          },
          "visibility": "public"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_utility"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "balance_of_private"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15860392472534760515": {
            "error_kind": "string",
            "string": "Function balance_of_public can only be called statically"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          }
        },
        "parameters": [
          {
            "name": "owner",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "kind": "integer",
            "sign": "unsigned",
            "width": 128
          },
          "visibility": "public"
        }
      },
      "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAgQBJwIDBAAfCgACAAMARC0IRAElAAAARi0CAUUnAgIERScCAwQBOw4AAwACJiUAAAJ2HgIAAgAeAgADAB4CAAQAKQIABQDHMvl3JwIGAAArAgAHAAAAAAAAAAACAAAAAAAAAAAtCAEIJwIJBAUACAEJAScDCAQBACIIAgktCgkKLQ4FCgAiCgIKLQ4ECgAiCgIKLQ4GCgAiCgIKLQ4HCi0LCAQAIgQCBC0OBAgtCAEEJwIFBAUACAEFAScDBAQBACIIAgUAIgQCBz8PAAUABycCBQQBACoEBQgtCwgHHgIABAApAgAIAANtUn8rAgAJAAAAAAAAAAADAAAAAAAAAAAtCAEKJwILBAUACAELAScDCgQBACIKAgstCgsMLQ4IDAAiDAIMLQ4EDAAiDAIMLQ4HDAAiDAIMLQ4JDC0LCgQAIgQCBC0OBAotCAEEJwIHBAUACAEHAScDBAQBACIKAgcAIgQCCD8PAAcACAAqBAUILQsIBzMKAAcABCcCBwEBJAIABAAAAaUlAAACnB4CAAQJJAIABAAAAbclAAACrikCAAQA71JTTScCBwAJLQgBCCcCCgQFAAgBCgEnAwgEAQAiCAIKLQoKCy0OBAsAIgsCCy0OBwsAIgsCCy0OAQsAIgsCCy0OCQstCwgBACIBAgEtDgEILQgBAScCBAQFAAgBBAEnAwEEAQAiCAIEACIBAgc/DwAEAAcAKgEFBy0LBwQKKgQGAScCBQEACioBBQYkAgAGAAACVSUAAALAHgIAAQAvKgAEAAEABRwKBQQGHAoEAQAcCgEEBi0KBAEmKAAABAR4RgwAAAQDJAAAAwAAApsqAQABBdrF9da0SjJtPAQCASYqAQABBQZhOz0Lnb0zPAQCASYqAQABBdwbbuv7trxDPAQCASYqAQABBbq7IdeCMxhkPAQCASY=",
      "custom_attributes": [
        "abi_public",
        "abi_view"
      ],
      "debug_symbols": "tVjbbtswDP0XP+dBvOjWXxmKIm3TIUCQFlkyYCjy7yNjUXYCSOji7iU5ou1jkjqkZH0Or5vn08+n7f7t/dfw8ONzeD5sd7vtz6fd+8v6uH3fi/VzcPoT/fBAqyHJIMqfjABWQ5YhyDjn8R8cF4DegF0iu0RmYbOwWTwZiAUENBAKiGDAXpGcASVMClIBmQwIIbrVgA4MhALALGAWNAuahcQNBAWxADYL6z0swMtTpJbgCkhm0XxdQLZLuVjIOQPVkgsAMpAKQDQQCyAwEApgI9T0jsAINb1ECmIBmt4RmCWaJZolmUWzShIpaVZHoPeE1cBOLVFBKkCTeQGaTHYKxMLiBqsSRiCOscwOcypAPRxBLEA9HIFZolmiWTTPI/AFaJ5HwAbKu7wjA+WlHtBAKADBgBB6pyAXoM6PwCxsFjaLN4sqwYMCb0DvkWT6yAbMksyS0YAE6PNqCE4sQR4PIISBFPgC8GI5n1eDFe3T8bDZaM3Oqlhq+2N92OyPw8P+tNutht/r3ely06+P9f7yf1wf5Kp4vdm/yr8Qvm13G0Xn1fS0az+KIuHytNSLrwRAdEUBHQrHLhqHE+lUkhSuOLDDEZMxZJ6cyF+PI6RgDDGlZhzcppDas1QQhykVN074b8hE+I+ZYJdNDyxdtpmJ1KbwTiv9QuFdmKIAvA4jf0MqwC3NRTcQNwuEm4FAR5qR0byI0jbaHNTmyFOVZWKsHBThmqMjz+yYjEOmuM3RESh5NIXnWBkw4TVDT56BjQKDd3dxUIqTGy7dx5EJKkfIbY6ORjlmmxVOhDOB/YMbtdgEtkPpaZRrRr0snE19IX5HC6b/WW2UuUYyX0tuI+koFJyr6QAnW9NmJJ1Z8bmWm6zCoVkqGJeXLKblJYt5aclSr4vKztomFnK4jwPr2oiYqM2Bi8ut58ZXy62vsCkf4BBjS2HUI2EwqQN7v7haQrtaeumQ/X7dscxK5Xapp44b8uWSayeV3GAzHbmX01TTAS7es225jiU0Y+lQgHwQmTyAopu6oL+uN+6o1MsXrk0LzPog3siUe500TSqdRKozdMXAy7sP++Xdh8PS7sNxeffpcnyx+/Dyxb7nxle7T1deLls6PDrflJfvNVKqKWWecxDeWSpArVLxHZEGqFUvX7S56Yfv7UgxQJUYBqJW+/E9lcqREdceln1z++PjN+yhfFq6h+rHklKeYpktDLffkL1m6mvpk+850p8ZN5sZTk1HOlKFlO2zHPJMZSzrzPlRhuuX7eHq5PKsZIft+nm3KcO30/5ldvX458Ou2Mnnx+H9ZfN6OmyUaTr+1HOXHyDnfbKkPspxIuhQDsWA/ONZX/8X",
      "is_unconstrained": true,
      "name": "balance_of_public"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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6KlBTw16atBTg54a9NSgpwY9NeipQU8NemrQU4OeGvTUoKcGPTXoqUFPDXpq0FODnhr01KCnBj016KlBTw16atBTg54a9NSgpwY9NeipQU8NemrQU4OeGvTUoKcGPTXoqUFPDXpq0Ot1K/W+lXrhSr1xpV65Uu9cqZeu1FtX8NqVjJwa9NSgpwY9NeipQU8NemrQU4OeGvTUoKcGIzUYqcFIDUZqMFKDkRqM1GCkBiM1GKnBSA1GajBSg5EajNRgpAYjNRipwUgNRmowUoORGozUYKQGIzUYqcFIDa6hy/Ui7KUmu0cs1wusl5oiRyyP/xyxvMF/jlj+54jlf45Y/n9rxLI4tDi0OLQ4tDisOKw4akztqDG1o8bUDisOKw4rDisOKw4vDi8OLw4vDi8OLw4vDi8OLw4vjiiOKI4ojiiOKI4ojiiOKI4ojtJ5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9L5V+OoxVE6b6XzVjpvpfNWOm+l81Y6b6XzVjpvpfNWOm+l81Y6b6XzVjpvpfNWOm+l81Y6b6XzVjpvpfNWOm+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNeOu+l814676XzXjrvpfNROh+l81E6H6XzUTofpfNROh+l81E6H6XzUTofpfNROh+l81E6H6XzUTofpfNROh+l81E6H6XzUTofpfNROh+l81E6H6XzUTof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pfl2pfn2F56Ehf68EjbCTvjijRPffnXhxStt4cUrsvDi1eu/T8JCePGe32zVe779xk548eo65suvbrx41RfuhBevrfiXX91YCC9eGwsb4cXri/fyqwtffnXjRnjxnq8i13u+/caT8OL1dcyXX/k6zsuvbrx441g4gC+/inVsl1/duBNevLFyfvnVjU/e10laWAkbYV94Hdvyqxsvv3od3MKN8Mn7OlMLD8KT8OJt69pYfpV48faVt+VXra9jWH514+VXiRdvX8ez/Crx4u0r5vKrxEJ48Y51rpdfJV68c+V2+dWNl18lXrxzHefyq8SLd67cLr9KvHgvjSy/Srx45YrphAN4+dUrqws3wov30sjyq8ST8OLVdQ0sv0q8eHUd2/KrxIvXVm6XXyVuhBevrTwvv0q8ritZ61p+1WzlefnVaxULL15fx7D8KvHiXdf/Nd+euBHuhBfv0sU1355YCCthI7x4l3au+fbXUZ14+VXiRrgTXryx4iy/SiyET97XkS9sC4+FnXAAL796HfnCjXBfeMVcfpV4EhbCi7etdS2/Srx4l76u+fYbL79KvHj7OublV4kX79LaNd+eePEurV3z7YkXb79iOuEAXn7Vl9au+fbEi3fp65pvTzwJL96ltWu+PfHinevYll8lXryy8rz8KnEjvHjX79E135548co65uVXiRfv0tc135548eriXX514+VXiRfv+m265tsTL15bvMuvEgthJbx4bV2Ty68SB/Dyq740eM23d1/Hufwq8eJdGrzm2xMv3ktry68SG+HFe2lq+dWNl1/1Sy/LrxJ3wos31rEtv0p88o5LO8uvEp+847qel18lDuDlV6Ot62H5VeJePnPNtyeehIXw4u1XzMV7aWH5VeIofM23jy4LN8Kd8CB88o4xFxbCi3f4wkZ48a466ppvv/HyqyHrzyy/Srx4V110zbcnnoSFsBI2wk44gJdfJW6EibcTbyfeTrydeDvxduLtxDuIdxDvIN5BvIN4B/EO4h3EO4h3EO8k3km8k3gn8U7incQ7L951rqcRdsIX77pO5CDcCHfCg/AkLISJV4hXiFcCWA/CxKvEq8SrxKvEq0rYCF+8ujDxGvFaI9wJD8LEa8RrxGvEa06Y8uyUZ6f1Oq3XB47ZJ47h8qsbU56d8uyUZyfeIN4g3iDeoDwHrTdovUHrDVpvUJ4Deb7m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",
      "is_unconstrained": false,
      "name": "burn_private",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "26387131971136782": {
            "error_kind": "string",
            "string": "Invalid response from registry"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          }
        },
        "parameters": [
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "burn_public"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "14415304921900233953": {
            "error_kind": "string",
            "string": "Initializer address is not the contract deployer"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "9967937311635654895": {
            "error_kind": "string",
            "string": "Initialization hash does not match"
          }
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "kind": "string",
              "length": 31
            },
            "visibility": "private"
          },
          {
            "name": "symbol",
            "type": {
              "kind": "string",
              "length": 31
            },
            "visibility": "private"
          },
          {
            "name": "decimals",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 8
            },
            "visibility": "private"
          },
          {
            "name": "initial_supply",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public",
        "abi_initializer"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "constructor_with_initial_supply"
    },
    {
      "abi": {
        "error_types": {
          "14415304921900233953": {
            "error_kind": "string",
            "string": "Initializer address is not the contract deployer"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "9967937311635654895": {
            "error_kind": "string",
            "string": "Initialization hash does not match"
          }
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "kind": "string",
              "length": 31
            },
            "visibility": "private"
          },
          {
            "name": "symbol",
            "type": {
              "kind": "string",
              "length": 31
            },
            "visibility": "private"
          },
          {
            "name": "decimals",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 8
            },
            "visibility": "private"
          },
          {
            "name": "minter",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public",
        "abi_initializer"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "constructor_with_minter"
    },
    {
      "abi": {
        "error_types": {
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "7463612364806448523": {
            "error_kind": "string",
            "string": "Function decimals can only be called statically"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          }
        },
        "parameters": [],
        "return_type": {
          "abi_type": {
            "kind": "integer",
            "sign": "unsigned",
            "width": 8
          },
          "visibility": "public"
        }
      },
      "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAAQScCAQQAJwICBAAfCgABAAIARCUAAABCLQIBRCcCAgREJwIDBAE7DgADAAImJQAAAooeAgABAB4CAAIAHgIAAwApAgAEAMcy+XcnAgUAACsCAAYAAAAAAAAAAAIAAAAAAAAAAC0IAQcnAggEBQAIAQgBJwMHBAEAIgcCCC0KCAktDgQJACIJAgktDgMJACIJAgktDgUJACIJAgktDgYJLQsHAwAiAwIDLQ4DBy0IAQMnAgQEBQAIAQQBJwMDBAEAIgcCBAAiAwIFPw8ABAAFJwIEBAEAKgMEBi0LBgUeAgADACkCAAYAA21SfysCAAcAAAAAAAAAAAMAAAAAAAAAAC0IAQgnAgkEBQAIAQkBJwMIBAEAIggCCS0KCQotDgYKACIKAgotDgMKACIKAgotDgUKACIKAgotDgcKLQsIAwAiAwIDLQ4DCC0IAQMnAgUEBQAIAQUBJwMDBAEAIggCBQAiAwIJPw8ABQAJACoDBAgtCwgFMwoABQADJwIFAQEkAgADAAABoSUAAAKwHgIAAwkkAgADAAABsyUAAALCHgIAAwAsAgAIACLoCqsRX/f5M6xy7C3V6VKoImkfD9nh8zBt+lN66/NiLQgBCScCCgQFAAgBCgEnAwkEAQAiCQIKLQoKCy0OBgsAIgsCCy0OAwsAIgsCCy0OCAsAIgsCCy0OBwstCwkDACIDAgMtDgMJLQgBAycCBgQFAAgBBgEnAwMEAQAiCQIGACIDAgc/DwAGAAcAKgMEBy0LBwYzCgAGAAMkAgADAAACZCUAAALUHgIAAwAnAgQABS8qAAQAAwAFHAoFBAIcCgQDABwKAwQCLQoEASYoAAAEBHhFDAAABAMkAAADAAACryoBAAEF2sX11rRKMm08BAIBJioBAAEFBmE7PQudvTM8BAIBJioBAAEFZ5QT5uGAZYs8BAIBJioBAAEFcjEMljOspz88BAIBJg==",
      "custom_attributes": [
        "abi_public",
        "abi_view"
      ],
      "debug_symbols": "tVjdbuJMDH2XXHMxY3v++iqrqqItXSEhWrHwSZ8q3n1tMp6ErsZiG/aGnDjkxD7+mUw+h9fN8+nn03b/9v5rePjxOTwftrvd9ufT7v1lfdy+79n6OTj5SX54wNWQ4vCQVkPmM+/5yKeez0sYj965CsAr0Euol1AtpBZqllJBQAW5gggKUgVJH5GqFz4LYRZACkoFhQnBCUgjAAcK1OLV4tUCagF2AzhgQFSgFpL/kAC+C8USYgVJLaLXCPRSUUupFnReQVBQKvCkIFcAqKA+AhEUKKHIOwIlFHmRs4gi7whyBVEtUS1JLUktoiqSgFKBqIpRgFg4BeSoAhFzBOwhsYYkYhK7QVIJI2DHiG8ncTXwI0gUuwBRbASxgqKWUi3BeQVBQalAFBtBrkAUG0F9RBDFRqCE6kYgJRTFQmAgio0gVxDVEtWS1JLUIoqFKKBUIIqFLEAsZTVEKb8LEMViEMCWyNJFUewCRLEo/xHFLoAulvN5NWivPh0Pm4206qx5uaU/1ofN/jg87E+73Wr4b707Xf7062O9vxyP6wNf5fxs9q98ZMK37W4j6Lya7nb9W4ELtt4NCKEReMQrCm9QOHJJORyBbyQ5XnGAwZGyMhSanCi3xxFzVIaUczcO6lMgkUqBFCcpvjgR7qBE/IdKkCtaD8QztatE7lMEJw1+oQguTlF4uA6j3EEK75ZqYQbiZoFQNxBvlGYiUC9SIIMD+xxl6rKCBI0Dk7/mMMqzOELl4BT3OYwCxQBa4SU1BshwzWCVZySlgBjctzgwp8kNl7/HUdA3Dh6lXQ6jRikVzQplhFmB/YUbrdkY9kOxapSaooEidOsL4B4jGP9lt2GhFsl8LfkaiVGh/A7a5PDOO+pGYmQllNZu0fHDe60CaXnLQl7eslCWtixaU9Tnllhf4vc4oK2N/DaNfQ5Y3G6WG7e2m11hkx7eAaRehaFFQl5Lnfc/YXG3xH63WHJgSu2NZdYqX5d6NNzgfUppk5S1ga4cxdI0Nzm8S995bbmOJXZjcVZSgox7zQpNmobrfiNrucesJZa4xqYSw+tQyFruE6ofJc1eO/7goDuMdApLR7oZSmzVUdKsV/4IJd1hplNePtOpLJ/pwS2f6cEvnekBls90k+PGmR5o8Uy33Lh1ptsVduNMD2n5TL91epDz/XYxNxwxtA2H0XLRGoWxVamPcZbbRNccVpVC9K1OISJ2d7NWdvnbHbXlpYT+lhjvsa+mpbPQjiXnMsUyW7O/umHtGELLDAbLETszbpYZyl1HjIGak1ZZno0x/vJ3Pj/y6fple7j6knwWqsN2/bzb1NO30/5ldvX4/4de0S/RH4f3l83r6bARpulztOffH57Xag/0yF91vZzyfo7X+sezPP43",
      "is_unconstrained": true,
      "name": "decimals"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "14396100717608329001": {
            "error_kind": "string",
            "string": "Function decrease_public_balance_internal can only be called by the same contract"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          }
        },
        "parameters": [
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "JwACBAEoAAABBIBHJwAABEclAAAASicCAwQCJwIEBAAfCgADAAQARRwARkYGLQhFAS0IRgIlAAAAlScCAQRHJwICBAA7DgACAAEsAABDAAAAAAAep+AVAZdVRWF8LmlNkxy1draRpKhn/tgevTJkLAAARAAwZE5y4TGgKbhQRbaBgVhdKDPoSHm5cJFD4fWT8AAAACYlAAACuR4CAAMAHgIABAAeAgAFAQoiBUQGFgoGBxwKBwgABCoIBQcnAgUBAAoqBgUIJAIACAAAANcnAgkEADwGCQEKKgcEBiQCAAYAAADpJQAAAt8eAgAEAB4CAAYAKQIABwDvUlNNJwIIAAkrAgAJAAAAAAAAAAADAAAAAAAAAAAtCAEKJwILBAUACAELAScDCgQBACIKAgstCgsMLQ4HDAAiDAIMLQ4IDAAiDAIMLQ4BDAAiDAIMLQ4JDC0LCgcAIgcCBy0OBwotCAEHJwIIBAUACAEIAScDBwQBACIKAggAIgcCCT8PAAgACScCCAQBACoHCAstCwsJJwIIAAAKKgkICwoqCwUIJAIACAAAAaslAAAC8R4CAAUALyoACQAFAAgcCggLBhwKCwUAHAoFCAYCKggCBQ4qAggLJAIACwAAAd4lAAADAy0LCggAIggCCC0OCAotCwoIACIIAggtDggKLQsHCAAiCAIILQ4IBxwKBQcAMAoABwAJHAoCBQAsAgACAAd+otfSYi0MfiqD4mUy+V0RvbA9fqgNz+gSjHnwkTZlJwIIBAQnAgoEAwAqCAoJLQgBBwAIAQkBJwMHBAEAIgcCCS0OCAkAIgkCCS0OCAknAgkEAwAqBwkILQoICS0OAgkAIgkCCS0OAQkAIgkCCS0MQwkAIgkCCS0OBQknAgEEBAAiBwIILQsICC0KCAUnAgkEAwAqBwkCNw4ABQACJigAAAQEeEcMAAAEAyQAAAMAAALeKgEAAQXaxfXWtEoybTwEAgEmKgEAAQXHyTlUL8pfKTwEAgEmKgEAAQW6uyHXgjMYZDwEAgEmKgEAAQUbvGXQP9zq3DwEAgEm",
      "custom_attributes": [
        "abi_public",
        "abi_only_self"
      ],
      "debug_symbols": "tVhbbuM6DN1LvvshvvToVgZFkbbpIECQFpnkAhdF9j5UKkqOAWk6cecnOabsY5LiS/5YvWyeTj8ft/vXt1+r+x8fq6fDdrfb/nzcvT2vj9u3vUo/Vi7/gPDqnu70P63ug/57vQbIQAWQVwIbiGUpkoEsEQWJDBQJOl8AgAFR4BWgMxALIH0cIQOVYL6ZVUKoQNBAKCCrcQHRlqItJZOkIiGHBnwB4AyIgVQAsoHyCiIyYIQMBoxQMiFnwAZSAd4k3iTBJMEkMauhJlNyBqok36Obwo4NmARMgmhANWTdJiaVsD7OrIScl1gKEJNIlkQF3hkwSSAD6gTJPNnPnyAUkMCAfAJxzoAqJiGDWACQAX3c6y5L1tlzBnpPcAqyn0NeCs6AFBBNEqskFZDYQJF4xwZiAUAGQgH57Z/AJAQGyis8OwNGyPYKMUKxV/hMSBmEAoJJgi/gYsUFSAHpIjmf71aWlY/Hw2aTk3KSppq87+vDZn9c3e9Pu93d6r/17nS56df7en/5P64Puqpe3Oxf9F8JX7e7TUbnu/a06z+K5KQ8jYRSCYDoigIGFI5dMA7HCJUk+isOHHCEaAyJmxLp63b46I0hxNi1g/sUxGyu0ARvrpgpId/gCf8PPaFFDs0MgND1ROxTMKA5k0G6nkgDK0By2/i0AwR9zxMwsoSTGeL7rhhrwdC0SNTVAkdaSPNFyzC5yZkTO2ZmwCAygzdfhtA8yXhTSFA/yQcUoE3UzADla3YIXNsRBiSBW3pQ2w3AmS8G7tQOaRyUwjS8Z1uavqNiuaWJOjKFdWqwyGDxXVMQFxctpO/wBv9LbyBE5JqscVJ2ZhGGg+opwMYhMFEEIV1zDKIUo6sB1hqJzmHXDANTUmuqiTRNjYPCzJJBjCbHlvTJJdfloFHeC7ZUab6I14WDYLgpdV8h+ds4sIaoTv3U5xjEKIdUq3AknATYl9XQibrt62Rj52oMw8slc4egk254kR9lfXWpTukTDsJbc8X7Xq7QgMRDNA6PLnUVoUGUEnqoMYaeuh2Wh+0pEdf+lKRbgPg7plBePIaObYkxNVsmFXmuxmgSlZr7ep7sK/KHnXGTneHYVWQQqxBTbfoJ2ubqTHNrrE5a9nxyGJIkkVaIYjfgOS1vDuKWNgeB5c1BcHlzEFraHISXN4chxxebg/jFzeEv4muytbP4kgFJSK7O6Qn7BVVGaauhBHWgc/1a6EfDenMIRBe7afsHRRw3RfonOD+aTvXbmRUQIp7szZxkFKg+VEUCyC1nYj2xYGqnF+pur5dR84daPlz/VOxHh3tqByCaVMJ0fQ7zYVTEQhtBsNtv/egI1c6TNM0XxhnHqJZ6qmr4SZQyxq+bQlg5SPqmDClq01eKboyGQYyCr9uqx/NZeD3o5fp5e7j6en7OZIft+mm3KZevp/3zZPX4/7ut2Nf398Pb8+bldNhkpskneP39AXpWBeQH/YQO+VKnWD2ZP5zz638D",
      "is_unconstrained": true,
      "name": "decrease_public_balance_internal"
    },
    {
      "abi": {
        "error_types": {
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "7327377891373164862": {
            "error_kind": "string",
            "string": "Function decrease_total_supply_internal can only be called by the same contract"
          }
        },
        "parameters": [
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARicCAgQBJwIDBAAfCgACAAMARRwARUUGLQhFASUAAACRJwIBBEYnAgIEADsOAAIAASwAAEMAAAAAAB6n4BUBl1VFYXwuaU2THLV2tpGkqGf+2B69MmQsAABEADBkTnLhMaApuFBFtoGBWF0oM+hIeblwkUPh9ZPwAAAAJiUAAAHgHgIAAgAeAgADAB4CAAQBCiIERAUWCgUGHAoGBwAEKgcEBicCBAEACioFBAckAgAHAAAA0ycCCAQAPAYIAQoqBgMEJAIABAAAAOUlAAACBh4CAAMAHgIABAAeAgAFACcCBgAILyoABgAFAAccCgcIBhwKCAUAHAoFBwYCKgcBBQ4qAQcIJAIACAAAASclAAACGBwKBQcAMAoABwAGHAoBBQAnAgEAACwCAAYAB36i19JiLQx+KoPiZTL5XRG9sD1+qA3P6BKMefCRNmUnAggEBCcCCgQDACoICgktCAEHAAgBCQEnAwcEAQAiBwIJLQ4ICQAiCQIJLQ4ICScCCQQDACoHCQgtCggJLQ4GCQAiCQIJLQxDCQAiCQIJLQ4BCQAiCQIJLQ4FCScCAQQEACIHAggtCwgILQoIBicCCQQDACoHCQU3DgAGAAUmKAAABAR4RgwAAAQDJAAAAwAAAgUqAQABBdrF9da0SjJtPAQCASYqAQABBWWwE16+WSk+PAQCASYqAQABBRu8ZdA/3OrcPAQCASY=",
      "custom_attributes": [
        "abi_public",
        "abi_only_self"
      ],
      "debug_symbols": "tVjbbqMwEP0XnvPgufjWX6mqKm1pFQklEU1WWlX59x0nHkyQ7K3S9AUOYzjM5Xhs+Ore+pfjx/Nm+7777B4ev7qXcTMMm4/nYfe6Pmx2W7F+dSYdwMqJVnK23YOXs5NrgATEAGnEGwWch3zMICSLTSBmELMFDSrwGQAIcAm4DJAVyOMohEhiwXQziYWShcVClEDMwAohpXscKlCLT5ZE6H0GQS3RKJC42Kw6MmJhSkD84SggeWjTUPLwDCwpCBk4tTi1pJdegM8gqCWoJSpzzMyc3n4BNgNQC7CC/ApGUpAJmVCBEjIoSIQoIJX2AiZLzOAcxRmEDPzZcjqtOhXJ82Hs+6SRmWpES/v12G8P3cP2OAyr7s96OJ5v+tyvt+fzYT3KqDjSb9/kLITvm6FP6LQqT5v6o0jG5qeR0E4EQHRFAQ0Kw8Yrh2GEiSS4Kw5scPigDJGLE/H7cbjglMGHUI2D6xQkxcwUxK6kYuGEvUMm3C9mgsCghgHgq5kIdQoG1GSy9KpaJmIjCrCpi13iAIuulgloRZL6xCUQV09F2wuG4kWkqhfY8sKWXJQZZm9K5iyORRjQUKZ3mkvvSyYZb5IE1Sd5gwJCAM2DYFukLfAqDt8g8VymB5VqAC5y0UgnRascFP1c3ouSxnt0LPPTidoKhcmyKoOtq4aC+OOmhXSPbPBvZgPZgc53wRxrCsNG93SyS8ocDk2hkLXtmqOhUkIH03RBR9WugS2ZQiSe5ly09aTeQ6f0Y522YwkhllhmKlu60RKqZW1iZFuOtCtjZpXhUHWEW50saj+GCKW40qdv1aoz1W7YJvFmIvGm2lKpkRIfzbQ2RKwLnlr1ZTMtk4LrWqXY6u2xrA8mVNP6H0cMF0fquwZubEeJyGuBiWTvXiVpqdX5yREP9pZ9mEyaqbwJV/sZN8RqDagf1tR3YtzalFJZdGm2YMbFxrjRVS1MPcQiVvsht6Zu2cNQmNWEccHRkId1NLnhZiplDN8PhXDikA/OaihNiqkpC0VVo7ahUXBTWWVLuJDXk1yuXzfj1Q+EUyIbN+uXoc+X78ft62z08HevI/oDYj/uXvu349gnptlfCDk+er8K+CT/EORD9lE+nUJ4OqVX/wM=",
      "is_unconstrained": true,
      "name": "decrease_total_supply_internal"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "716420213922728207": {
            "error_kind": "string",
            "string": "Function increase_public_balance_internal can only be called by the same contract"
          }
        },
        "parameters": [
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "JwACBAEoAAABBIBHJwAABEclAAAASicCAwQCJwIEBAAfCgADAAQARRwARkYGLQhFAS0IRgIlAAAAlScCAQRHJwICBAA7DgACAAEsAABDAAAAAAAep+AVAZdVRWF8LmlNkxy1draRpKhn/tgevTJkLAAARAAwZE5y4TGgKbhQRbaBgVhdKDPoSHm5cJFD4fWT8AAAACYlAAACuR4CAAMAHgIABAAeAgAFAQoiBUQGFgoGBxwKBwgABCoIBQcnAgUBAAoqBgUIJAIACAAAANcnAgkEADwGCQEKKgcEBiQCAAYAAADpJQAAAt8eAgAEAB4CAAYAKQIABwDvUlNNJwIIAAkrAgAJAAAAAAAAAAADAAAAAAAAAAAtCAEKJwILBAUACAELAScDCgQBACIKAgstCgsMLQ4HDAAiDAIMLQ4IDAAiDAIMLQ4BDAAiDAIMLQ4JDC0LCgcAIgcCBy0OBwotCAEHJwIIBAUACAEIAScDBwQBACIKAggAIgcCCT8PAAgACScCCAQBACoHCAstCwsJJwIIAAAKKgkICwoqCwUIJAIACAAAAaslAAAC8R4CAAUALyoACQAFAAgcCggLBhwKCwUAHAoFCAYAKggCBQ4qCAULJAIACwAAAd4lAAADAy0LCggAIggCCC0OCAotCwoIACIIAggtDggKLQsHCAAiCAIILQ4IBxwKBQcAMAoABwAJHAoCBQAsAgACAAd+otfSYi0MfiqD4mUy+V0RvbA9fqgNz+gSjHnwkTZlJwIIBAQnAgoEAwAqCAoJLQgBBwAIAQkBJwMHBAEAIgcCCS0OCAkAIgkCCS0OCAknAgkEAwAqBwkILQoICS0OAgkAIgkCCS0MQwkAIgkCCS0OAQkAIgkCCS0OBQknAgEEBAAiBwIILQsICC0KCAUnAgkEAwAqBwkCNw4ABQACJigAAAQEeEcMAAAEAyQAAAMAAALeKgEAAQXaxfXWtEoybTwEAgEmKgEAAQUJ8TxjiMYJDzwEAgEmKgEAAQW6uyHXgjMYZDwEAgEmKgEAAQXQB+v0y8ZnkDwEAgEm",
      "custom_attributes": [
        "abi_public",
        "abi_only_self"
      ],
      "debug_symbols": "tVhbbuM6DN1LvvshvvToVgZFkbbpIECQFpnkAhdF9j5UKkqOAWk6cecnOabsY5LiS/5YvWyeTj8ft/vXt1+r+x8fq6fDdrfb/nzcvT2vj9u3vUo/Vi7/gPDqnu70P63ug/57vQbIQAWQVwIbiGUpkoEsEQWJDBQJOl8AgAFR4BWgMxALIH0cIQOVYL6ZVUKoQNBAKCCrcQHRlqItJZOkIiGHBnwB4AyIgVQAsoHyCiIyYIQMBoxQMiFnwAZSAd4k3iTBJMEkMauhJlNyBqok36Obwo4NmARMgmhANWTdJiaVsD7OrIScl1gKEJNIlkQF3hkwSSAD6gTJPNnPnyAUkMCAfAJxzoAqJiGDWACQAX3c6y5L1tlzBnpPcAqyn0NeCs6AFBBNEqskFZDYQJF4xwZiAUAGQgH57Z/AJAQGyis8OwNGyPYKMUKxV/hMSBmEAoJJgi/gYsUFSAHpIjmf71aWlY/Hw2aTk3KSppq87+vDZn9c3e9Pu93d6r/17nS56df7en/5P64Puqpe3Oxf9F8JX7e7TUbnu/a06z+K5KQ8jYRSCYDoigIGFI5dMA7HCJUk+isOHHCEaAyJmxLp63b46I0hxNi1g/sUxGyu0ARvrpgpId/gCf8PPaFFDs0MgND1ROxTMKA5k0G6nkgDK0By2/i0AwR9zxMwsoSTGeL7rhhrwdC0SNTVAkdaSPNFyzC5yZkTO2ZmwCAygzdfhtA8yXhTSFA/yQcUagRYaCueBIXAtR1hQBK4pQe13QCc+WLgTu2QxkEpTMN7tqXpOyqWW5qoI1NYpwaLDBbfNQVxcdFC+g5v8L/0BgLWfFccXS/CcFA9BdhcKjBRBCFdcwyiVF9dA6w1Ep3DrhkGpqTWVBNpmhoHhZklgxhNji3pk0uuy0GjvBdsqdJ8Ea8LB416u475dU+Sv40Da4jq1E99jkGMcki1CkfCSYB9WQ2dqNu+TjZ2rsYwvFwydwg66YYX+VHWV5fqlD7hILw5V1IvV2hA4iFarnh0qasIDaKUtC3UGENP3Q7Lw/aUiGt/StItQPwdUygvHkPHtsSYmi2TijxXYzSJSs19PU/2FfnDzrjJznDsKjKIVYjJZhdI0DZXZ5obY5Vct66PSUhaIaJ+wHNa3hzELW0OAsubg+Dy5iC0tDkIL28OQ44vNgfxi5vDX8RX6saXDEhCcnVOT9gvqDJKWw0lqAOd69dCPxrWm0MguthN2z8o4rgp0j/B+dF0qt/OrIAQ8WRv5iSjQPWhKhJAbjkT64mlVnbFMfS218uo+UMtH65/Kvajwz21AxBNDi/p+hzmw6iIhTaCYLff+tERqp0naZovjDOOUS31VNXwkyhljF83hbBykPRNGVLUpq8U3RgNgxgFX7dVj+ez8HrQy/Xz9nD19fycyQ7b9dNuUy5fT/vnyerx/3dbsa/v74e3583L6bDJTJNP8Pr7A/Ssqk3yQT+hQ77UKVZP5g/n/Prf",
      "is_unconstrained": true,
      "name": "increase_public_balance_internal"
    },
    {
      "abi": {
        "error_types": {
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "18136952464794561237": {
            "error_kind": "string",
            "string": "Function increase_total_supply_internal can only be called by the same contract"
          }
        },
        "parameters": [
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARicCAgQBJwIDBAAfCgACAAMARRwARUUGLQhFASUAAACRJwIBBEYnAgIEADsOAAIAASwAAEMAAAAAAB6n4BUBl1VFYXwuaU2THLV2tpGkqGf+2B69MmQsAABEADBkTnLhMaApuFBFtoGBWF0oM+hIeblwkUPh9ZPwAAAAJiUAAAHgHgIAAgAeAgADAB4CAAQBCiIERAUWCgUGHAoGBwAEKgcEBicCBAEACioFBAckAgAHAAAA0ycCCAQAPAYIAQoqBgMEJAIABAAAAOUlAAACBh4CAAMAHgIABAAeAgAFACcCBgAILyoABgAFAAccCgcIBhwKCAUAHAoFBwYAKgcBBQ4qBwUIJAIACAAAASclAAACGBwKBQcAMAoABwAGHAoBBQAnAgEAACwCAAYAB36i19JiLQx+KoPiZTL5XRG9sD1+qA3P6BKMefCRNmUnAggEBCcCCgQDACoICgktCAEHAAgBCQEnAwcEAQAiBwIJLQ4ICQAiCQIJLQ4ICScCCQQDACoHCQgtCggJLQ4GCQAiCQIJLQ4BCQAiCQIJLQxDCQAiCQIJLQ4FCScCAQQEACIHAggtCwgILQoIBicCCQQDACoHCQU3DgAGAAUmKAAABAR4RgwAAAQDJAAAAwAAAgUqAQABBdrF9da0SjJtPAQCASYqAQABBfuzZixMOarVPAQCASYqAQABBdAH6/TLxmeQPAQCASY=",
      "custom_attributes": [
        "abi_public",
        "abi_only_self"
      ],
      "debug_symbols": "tVjbbqMwEP0XnvPgufjWX6mqKm1pFQklEU1WWlX59x0nHkyQ7K3S9AUOYzjM5Xhs+Ore+pfjx/Nm+7777B4ev7qXcTMMm4/nYfe6Pmx2W7F+dSYdwMqJVnK23YOXs5NrgATEAGnEGwWch3zMICSLTSBmELMFDSrwGQAIcAm4DJAVyOMohEhiwXQziYWShcVClEDMwAohpXscKlCLT5ZE6H0GQS3RKJC42Kw6MmJhSkD84SggeWjTUPLwDCwpCBk4tTi1pJdegM8gqCWoJSpzzMyc3n4BNgNQC7CC/ApGUpAJmVCBEjIoSIQoIJX2AiZLzOAcxRmEDPzZcjqtOhXJ82Hs+6SRmWpES/v12G8P3cP2OAyr7s96OJ5v+tyvt+fzYT3KqDjSb9/kLITvm6FP6LQqT5v6o0jG5qeR0E4EQHRFAQ0Kw8Yrh2GEiSS4Kw5scPigDJGLE/H7cbjglMGHUI2D6xQkxcwUxK6kYuGEvUMm3C9mgsCghgHgq5kIdQoG1GSy9KpaJmIjCrCpi13iAIuulgloRZL6xCUQV09F2wuG4kWkqhfY8sKWXJQZZm9K5iyORRjQUKZ3mkvvSyYZb5IE1Sd5gwI8oqZSsC26snAdh2+RcJkeVKoBuMhFI50UrXJQ9HN5L0oa79GxzE8naisUJsuqDLauGgrij5sW0j2ywb+ZDWSMOt9RltxYUxg2uqeTXVLmcGgKhaxt1xwNlRI6mKYLOqp2DWzJFCLxNOeirSf1HjqlH+u0HUsIscQyU9nSjZZQLWsTI9typF0ZM6sMh6ojDaXK9ln7MUQoxZU+fatW2VS7YZOErCkkAWok1EiJj2ZaGyLWBU+t+rKZlknBda1SbPX2qI0IggnVtP7HEcPFkfqugRvbUSLyWmAiaSRVkpZanZ8c8WBv2YfJKjn5ITjYWnm5IVZrQP2wpr4T49amlMqiS7MFMy42xo2uamHqIRax2g+5NXXLHobCrCaMC46GPKyjyQ03Uylj+H4ohBOHfHBWQ2lSTE1ZKKoatQ2NgpvKKlvChbye5HL9uhmvfiCcEtm4Wb8Mfb58P25fZ6OHv3sd0R8Q+3H32r8dxz4xzf5CyPHR+1XAJ/mHIB+yj/LpFMLTKb36Hw==",
      "is_unconstrained": true,
      "name": "increase_total_supply_internal"
    },
    {
      "abi": {
        "error_types": {
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "13682507011217565545": {
            "error_kind": "string",
            "string": "unexpected encrypted message length"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "completer",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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",
      "is_unconstrained": false,
      "name": "initialize_transfer_commitment",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "13884764065023066770": {
            "error_kind": "string",
            "string": "Invalid partial note or completer"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "7613585609636476352": {
            "error_kind": "string",
            "string": "Cannot complete a PartialUintNote with a value of 0"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          },
          "9370508692512174382": {
            "error_kind": "string",
            "string": "caller is not minter"
          }
        },
        "parameters": [
          {
            "name": "commitment",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "mint_to_commitment"
    },
    {
      "abi": {
        "error_types": {
          "11217216648848338406": {
            "error_kind": "string",
            "string": "The provided public data tree leaf preimage is not the correct leaf for the requested slot"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15711892660910782274": {
            "error_kind": "string",
            "string": "Hint values do not match hash"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16216212843441549037": {
            "error_kind": "string",
            "string": "Proving public value inclusion failed"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2014890719615096298": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 40 limbs"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          },
          "9370508692512174382": {
            "error_kind": "string",
            "string": "caller is not minter"
          },
          "9589626482238399944": {
            "error_kind": "string",
            "string": "Non-zero hint for zero hash"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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",
      "is_unconstrained": false,
      "name": "mint_to_private",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          },
          "9370508692512174382": {
            "error_kind": "string",
            "string": "caller is not minter"
          }
        },
        "parameters": [
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAASicCAwQCJwIEBAAfCgADAAQARBwARUUGLQhEAS0IRQIlAAAAcCcCAQRGJwICBAA7DgACAAEsAABDADBkTnLhMaApuFBFtoGBWF0oM+hIeblwkUPh9ZPwAAAAJiUAAATfHgIAAwAeAgAEAB4CAAUAKQIABgDHMvl3JwIHAAArAgAIAAAAAAAAAAACAAAAAAAAAAAtCAEJJwIKBAUACAEKAScDCQQBACIJAgotCgoLLQ4GCwAiCwILLQ4FCwAiCwILLQ4HCwAiCwILLQ4ICy0LCQUAIgUCBS0OBQktCAEFJwIGBAUACAEGAScDBQQBACIJAgYAIgUCCD8PAAYACCcCBgQBACoFBgktCwkIHgIABQApAgAJAANtUn8rAgAKAAAAAAAAAAADAAAAAAAAAAAtCAELJwIMBAUACAEMAScDCwQBACILAgwtCgwNLQ4JDQAiDQINLQ4FDQAiDQINLQ4IDQAiDQINLQ4KDS0LCwUAIgUCBS0OBQstCAEFJwIIBAUACAEIAScDBQQBACILAggAIgUCDD8PAAgADAAqBQYLLQsLCDMKAAgABScCCAEBJAIABQAAAc8lAAAFBR4CAAUBCiIFQwsWCgsMHAoMDQAEKg0FDCcCBQEACioLBQ0kAgANAAACAicCDgQAPAYOAR4CAAsALAIADQAplNixl8MMc2jp4OLJnw1vh/qtvyJZE0+k89sSGe1K9i0IAQ4nAg8EBQAIAQ8BJwMOBAEAIg4CDy0KDxAtDgkQACIQAhAtDgsQACIQAhAtDg0QACIQAhAtDgoQLQsOCQAiCQIJLQ4JDi0IAQknAgsEBQAIAQsBJwMJBAEAIg4CCwAiCQINPw8ACwANACoJBg0tCw0LMwoACwAJJAIACQAAArMlAAAFFx4CAAgAJwIJAAovKgAJAAgACwoqCwwIJAIACAAAAtclAAAFKR4CAAgAHgIACQAeAgALAB4CAAwAKQIADQDvUlNNJwIOAAktCAEPJwIQBAUACAEQAScDDwQBACIPAhAtChARLQ4NEQAiEQIRLQ4OEQAiEQIRLQ4BEQAiEQIRLQ4KES0LDwoAIgoCCi0OCg8tCAEKJwINBAUACAENAScDCgQBACIPAg0AIgoCDj8PAA0ADgAqCgYOLQsODQoqDQcGCioGBQ4kAgAOAAADhCUAAAU7HgIABQAvKgANAAUABhwKBg4GHAoOBQAcCgUGBgAqBgIFDioGBQ4kAgAOAAADtyUAAAVNLQsPBgAiBgIGLQ4GDy0LDwYAIgYCBi0OBg8tCwoGACIGAgYtDgYKHAoFBgAwCgAGAA0eAgAFAB4CAAYAHgIACgAnAg0ACC8qAA0ACgAOHAoODwYcCg8KABwKCg4GACoOAgoOKg4KDyQCAA8AAAQrJQAABU0cCgoOADAKAA4ADRwKAgoALAIAAgAHfqLX0mItDH4qg+JlMvldEb2wPX6oDc/oEox58JE2ZScCDgQEJwIQBAMAKg4QDy0IAQ0ACAEPAScDDQQBACINAg8tDg4PACIPAg8tDg4PJwIPBAMAKg0PDi0KDg8tDgIPACIPAg8tDgcPACIPAg8tDgEPACIPAg8tDgoPJwIBBAQAIg0CCi0LCgotCgoHJwIOBAMAKg0OAjcOAAcAAiYoAAAEBHhGDAAABAMkAAADAAAFBCoBAAEF2sX11rRKMm08BAIBJioBAAEFBmE7PQudvTM8BAIBJioBAAEFcjEMljOspz88BAIBJioBAAEFggq8Aj3l8S48BAIBJioBAAEFursh14IzGGQ8BAIBJioBAAEF0Afr9MvGZ5A8BAIBJg==",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "mint_to_public"
    },
    {
      "abi": {
        "error_types": {
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "185150596765980795": {
            "error_kind": "string",
            "string": "Function name can only be called statically"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          }
        },
        "parameters": [],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "value",
                "type": {
                  "kind": "field"
                }
              }
            ],
            "kind": "struct",
            "path": "compressed_string::field_compressed_string::FieldCompressedString"
          },
          "visibility": "public"
        }
      },
      "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAAQScCAQQAJwICBAAfCgABAAIARCUAAABCLQIBRCcCAgREJwIDBAE7DgADAAImJQAAAnseAgABAB4CAAIAHgIAAwApAgAEAMcy+XcnAgUAACsCAAYAAAAAAAAAAAIAAAAAAAAAAC0IAQcnAggEBQAIAQgBJwMHBAEAIgcCCC0KCAktDgQJACIJAgktDgMJACIJAgktDgUJACIJAgktDgYJLQsHAwAiAwIDLQ4DBy0IAQMnAgQEBQAIAQQBJwMDBAEAIgcCBAAiAwIFPw8ABAAFJwIEBAEAKgMEBi0LBgUeAgADACkCAAYAA21SfysCAAcAAAAAAAAAAAMAAAAAAAAAAC0IAQgnAgkEBQAIAQkBJwMIBAEAIggCCS0KCQotDgYKACIKAgotDgMKACIKAgotDgUKACIKAgotDgcKLQsIAwAiAwIDLQ4DCC0IAQMnAgUEBQAIAQUBJwMDBAEAIggCBQAiAwIJPw8ABQAJACoDBAgtCwgFMwoABQADJwIFAQEkAgADAAABoSUAAAKhHgIAAwkkAgADAAABsyUAAAKzHgIAAwAsAgAIABpcQrH5jEPZrXwF2EUtRlAV/lQSbBFNTZ6jMBKZ1nlrLQgBCScCCgQFAAgBCgEnAwkEAQAiCQIKLQoKCy0OBgsAIgsCCy0OAwsAIgsCCy0OCAsAIgsCCy0OBwstCwkDACIDAgMtDgMJLQgBAycCBgQFAAgBBgEnAwMEAQAiCQIGACIDAgc/DwAGAAcAKgMEBy0LBwYzCgAGAAMkAgADAAACZCUAAALFHgIAAwAnAgQAAS8qAAQAAwAFLQoFASYoAAAEBHhFDAAABAMkAAADAAACoCoBAAEF2sX11rRKMm08BAIBJioBAAEFBmE7PQudvTM8BAIBJioBAAEFApHJfJ4wGHs8BAIBJioBAAEFcjEMljOspz88BAIBJg==",
      "custom_attributes": [
        "abi_public",
        "abi_view"
      ],
      "debug_symbols": "tVjbTuNADP2XPPdhxvbc+BWEUIGAKlUFlXalFeq/r92MJ0nRjLqkvDQnTnNin7E9l6/upX86vj1udq/vn93d/Vf3tN9st5u3x+378/qwed+x9asz8hNsd4erLvjuLqy6yHfW8pVvLd8nN1ytMRmAVaCPUB+hWkgtVCwpA4cKYgYeFIQMgn4iZC9sFMIogBSkDBITghEQBgAGFKjFqsWqBdQC7AZwwICoQC0k/yEB/BaKxfkMglpErwHoo6SWlC1orAKnIGVgSUHMAFBB/gQiKFBCkXcASijyIo8iirwDiBl4tXi1BLUEtYiqSAJSBqIqegFi4SEgQxmImANgD4k1JBGT2A2STBgAO0b8Oomrjj9BotgZiGID8BkktaRsccYqcApSBqLYAGIGotgA8iecKDYAJVQ3HCmhKOYcA1FsADEDrxavlqCWoBZRzHkBKQNRzEUBYkmrzkv6nYEo5p0AtniWzotiPpxOq04L8vGw73upx0mFct1+rPf97tDd7Y7b7ar7s94ez3/6/FjvztfDes9PeRD63QtfmfB1s+0FnVbj26b+KnBW5rcBwRUCizijsA0KQyYohyGwhST6GQc0OEJUhkSjE+n6OHz0yhBirMZBdQokUimQ/CjFhRPuBkr4X1SCTNJ8IG6cVSVincIZqeIzhTN+jMLCPIx0AymsWapFMxAzCYSqgdhGagYC9SI4anBgnSONVZaQoHBgsHOORnomQ6gcPMR1jkaCogPN8BQKA0SYM7TS05NSgHfmRxwYw+iGiT/jSGgLh091jkaOUkg6KhQRJgn2H26UYmNYD6WVo1QUdeShml8At2jB+JvVholKJNO55DKSRobyQrPIYY01VI2kMSoulXLzhj9eKxUIy0sW4vKShbS0ZLHVRW0sA2uT/xkHlLmRl8xY54DF5dZy49pya2fYqIc1AKGWYdgiIaupzpsct7hafL1aWnJgCGXFMimVy6keG27wZiSVTsraQFWO1NI0FjmsCT9Ztsxj8dVYTHNQbOkdZHEUxM3rjVrTPUZNscA5NqYYzkOh1nQfRKyh7sNk2fGNg27Q0sktbenNUHzJjhQmtfItlHCDnk5xeU+ntLynO7O8pzu7tKc7WN7TmxxX9nRHi3t6y41re3o7w67s6S4s7+nXdg8ytl4uzQ2Hd2XD0Sg532qFvmSp9X4ytoHmHK0sBV/aKWPE6m62Nbp8QEdlekmuviXGW+yraWkvbMcSYxpjmczZl260dgyujAy6S0ce+Hb9vNnPzmlPQrbfrJ+2fb59Pe6eJ08Pfz/0iZ7zfuzfn/uX474XpvGw1/LvveUNDR/jPvCZqZVbXsHyGe7DST7/Dw==",
      "is_unconstrained": true,
      "name": "name"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12602018829635394692": {
            "error_kind": "string",
            "string": "Function recurse_subtract_balance_internal can only be called by the same contract"
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "account",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "H4sIAAAAAAAA/+xdB3RV1ba9kJuQhDSCIghCkN6bqBQbiIBKs4EKKtJEqaEIKggIUqTkJvSOAgLSO9LtKIeiUkUBfYoKAhZUlPLXIV7uBZLseXb25MD4vPHGH2e8P1ltr7XmPmvvcxOS7Buz57ann27+UtdWLZ7ukPh02w5dWyV2aN6uy9NPJ7Zq0S2xS6unu3R7tmti8xZdn362ebvmHVq0Oo+x7p+5r2b5vgtrtGve4oUaHXvc161Di5rN27XrO+Ohe+rXrpXc9+3Gbbt2aNWlS9YEABSSBQDlQCTlvBsA5drcB0DdAKHyIVbdhIDyI6ACCCgBsrwghLoZQhWCUIUR44uKqHdqJLZt165tGxsw0pOUlJKU9EGCJ+P/ZOk7554uXVoldn2iVWLHlCRf8gcJ5VvWTzxYYWqJlQ1rLe/bt0mz4pV+rNNzVSdfzYMnUo7LP7FChmUsdkeZ717QETs8XbEh/oc0IrG0Yccurdq27NihYsNWie27dW3etW3HDskjz0dGzD3/XCQQr6D///CRVsgIKyTJCvFZIckXWp6crA5hYci7FGAt1OsschKcW5gTsnCkQlCWRn0gC0fefWEqZvH1nflw2w5t2rVKzQSVtUisPOdktu/UrpUVMgpLdMT0UVkuND2GbPpo5zXqS4HMENmYwWPUqaGnf4zaMx3Jo0RyCpTPoyDUGAg1VmOVAAv/8wXwGltLyJdxlHWRFR+F9fnxgP5MVaFHDQmqwQmcGhRHJyRDqzYBQk0k1KnYONGHaleALuuaTaKt2SQsHpM0VkP1D+zVQDLGA1RZFqfrlXVCYL3Uoc3Wd8Y9iYnNe0L85blqQU5C4vkvJNhu5PI6koCViwNvHYHDncVRzwykbos40Y4ILGrYHd9/SbTP08cKmWyFTLFCploh06yQN62Qt6yQ6VbIDCtkphXythUyywqZbYXMsULesULmWiHzrJD5VsgCK2ShFbLICllshSyxQpZaIcuskOVWyAorZKUVssoKedcKWW2FrLFC1loh66yQ9VbIBitkoxXynhXyvhXygRXyoRXykRXysRXyiRWyyQr51Ar5zArZbIVYVsgWK2SrFbLNCtluhXxuhXxhhXxpheywQnZaIbuskN1WyB4rZK8V8pUVss8K+doK+cYK2W+FHLBCDloh31oh31kh/7NCvrdCfrBCDlkhP1ohP1khP1shh62QI1bIL1bIUSvkmBVy3Ar51Qr5zQr53Qr5wwo5YYX8aYX8ZYX8bYWctEL+sUL+tUJOWSGnrZAzVshZy+uxvFksb1bLG2J5vZY31PKGWd5sljfc8kZY3kjLm93yRlneaMsbY3ljLW+c5c1heeMtb07Le53lvd7y5rK8N1je3JY3j+W90fLmtbz5LO9N5l4qJmOwKZux16vp4RBsJqb1bVDrXEzrfEzrAlDrUkzrckzrClDrGkzrOkzrelDrB5jWjzCtH4NaN2Nat2Bat4Jav8S07sS07gK17sO0foNp3Q9q/R+m9QdM6yFQ6xFM61FM6zFQ6x+Y1j8xrX+BWk9hWs9gWs9iWr1eSKs3DNLqzQZqjcK0xmBaY0Gt12Fac2FabwC15gvvO6deq/YdE3vW7dC2a0qWa7si13dFM1PX48J3x5CgbSs6J52MvNlgoqaYEzXVnKhp5kS9aU7UW+ZETTcnaoY5UTPNiXrbnKhZ5kTNNidqjjlR75gTNdecqHnmRM03J2qBOVELzYlaZE7UYnOilpgTtdScqGXmRC03J2qFOVErzYlaZU7Uu+ZErTYnao05UWvNiVpnTtR6c6I2mBO10Zyo98yJet+cqA/MifrQnKiPzIn62JyoT8yJ2mRO1KfmRH1mTtRmc6Isc6K2mBO11ZyobeZEbTcn6nNzor4wJ+pLc6J2mBO105yoXeZE7TYnao85UXvNifrKnKh95kR9bU7UN+ZE7Tcn6oA5UQfNifrWnKjvzIn6nzlR35sT9YM5UYfMifrRnKifzIn62Zyow+ZEHTEn6hdzoo6aE3XMnKjj5kT9ak7Ub+ZE/W5O1B/mRJ0wJ+pPc6L+Mifqb3OiTpoT9Y85Uf+aE3XKnKjT5kSdMSfqrDFRXo85UVnMicpqTlSIOVFec6JCzYkKMycqmzlR4eZERZgTFWlOVHZzoqLMiYo2JyrGnKhYc6LizInKYU5UvDlROc2Jus6cqOvNicplTtQN5kTlNicqjzlRN5oTldecqHzmRN2kFjXy/FWsTpY3v+UtYHkTLG9By3uz5S1keQtb3iKWt6jlLWZ5i1veEpa3pOUtZXlLW94ylres5S1nectb3gqWt6LlrWR5b7G8lS3vrZb3Nst7u+WtYnmrWt5qlre65b3D8t5pee+yvHdb3nssbw3LW9Py3mt5a1ne+yxvbctbx/LWtbz3W94HLO+Dlree5a1veRtY3oaWt5HlfcjyPmx5H7G8j1rexyxvY8vbxPI+bnmfsLxPWt6mlreZ5X3K8j5teZ+xvM0t77OWt4XlbWl5W1ne1pa3jeV9zvK2tbzPW94XLG87y9ve8nawvB0trzje2fImWt4ulrer5e1mebtb3hctbw/L29PyvmR5X7a8r1jeXpa3t+V91fL2sbx9LW8/y/ua5e1veQdY3tct70DLO8jyDra8QyzvG5Z3qOUddv7zM+/w80GOs7wjLG+S5fVZ3mTLm2J5R1reUZZ3tOUdY3nHWt5xlne85Z1geSda3kmWd3JAyBRjXxh484MXKgth1ziLgOJKYuJKg+IqYOIqgeJux8RVBcXdhYm7BxR3HyauDiiuHiauASjuEUzcY6C4JzFxzUBxz2LiWoLi2mLiXgDFdcLEJYLiXsTE9QTF9cbE9QHFDcDEDQTFDcXEDU+AYCMwWBIG82GwZAyWgsFGYrBRGGw0BhuDwcZisHEYbDwGm4DBJmKwSRhsMgabctFPs2A/7TAZu9ecDPy0gncqsKFw/tMO80WwD9IPXHqHIjktjR+5Uf+wxHzIxjcdxsiFZQRu6est4zRoGat0Z+j3vimOYfpfdKg/CfpBGO90ZImqdIdQL1IqbbkYiVXaDEOVNkOr0pZDNs7UqTS12Lcv6zJ69JZxBpbpPSiVNlOChOnvyam0WVDwe0ConpRKWydGYpU221ClzdaqtHWQjXM4lfbOZV1Gj94yzsYy/SVKpc2RIGH6X+ZU2lwo+C9BqJcplfaRGIlV2jxDlTZPq9I+gmycz6m0BZd1GT16yzgPy/RXKJUmu9cFmP5enEpbCAX/FQjVi1JpW8RIrNIWGaq0RVqVtgWycTGn0pZc1mX06C3jIizTe1MqbbEECdP/KqfSlkLB7w2hXqVU2k4xEqu0ZYYqbZlWpe2EbFzOqbQVl3UZPXrLuAzL9D6USpP3xBWY/r6cSlsJBb8PhOpLqbRvxEis0lYZqrRVWpX2DWTju5xKW31Zl9Gjt4yrsEzvR6m0dyVImP7XOJW2Bgp+Pwj1GqXSfhAjsUpba6jS1mpV2g+Qjes4lbb+si6jR28Z12KZ3p9SaTKRWY/pH8CptA1Q8PtDqAGUSjsqRmKVttFQpW3UqrSjkI3vcSrt/cu6jB69ZdyIZfrrlEp7T4KE6R/IqbQPoOC/DqEGUirtTzESq7QPDVXah1qV9idk40ecSvv4si6jR28ZP8QyfRCl0mT2+TGmfzCn0j6Bgj8IQg2mVNoZMRKrtE2GKm2TVqWdgWz8lFNpn13WZfToLeMmLNOHUCrtUwkSpv8NTqVthoI/BEK9wag0+4dcN2OVZhmqNEun0rxhEGoLp9K2XtZl9Ogto4Vl+lCKfjll2IrpH8aptG1Q8IdCqGGUSosRI7FK226o0rZrVVoMhPqcU2lfXNZl9Ogt43Ys04dT9H8uQcL0j+BU2pdQ8IdDqBGUSsslRmKVtsNQpe3QqrRcEGonp9J2XdZlvDDTktFl3AEB5eBtF7beTksS+nuoIhZSDvyyfCb/XijiX+Dv3nl3k/5eqHe4yMYM3sP4e6G2/j1JTqMdm+w02oq0P3v27HH073Vlsf9PcmBp9gYevzL3ZedeDPaVzpcn3hEZF0Hy8XOovVCpfAVE1nla7BH1WJ/Y67BPqP4g47GzZ0+e+7Z3D9BQwpWx/M9K4LcM+85K/RMbDTolZ0kB/wIglvzmfkjR+/VVEe1vgCKkRdvcD0R6918V0Vb/9mRWXrTN/fCl9yAt2ikGo70HQql/eTOEtybmfvbT+90VviYi7yy6JurfHfXy1sTcj556v7/y1+QMuibqX10N5a2JuZ989R66KphC/WuyYbxom/spW+9PV34FnEIrQP1butl4a2Luh3y9hw2vyX9sK1tebLCwB90/O3qJToasvNnOHPC16hDmzs1Q8jhtO5g7hRy48xPmTiHInZ8o7hR24M5hzJ3CkDuHKe4UdODO95g7BSF3vqdUeIIYig3px1MOCSRK32FTmwQoSt9BY+DxlNTI7yA19mOpkR9yej8lNQrAqTGZlRoHsdQoAEXpIJQaHF9uBue8ziUXokkuTJNckCY5gSY5P01yARNnAJk9UbLH+ll0zwCOBB5/MXcGcASD/ZKgc6g4HDoDOALJ+gWIbCYPcJJ4BzhHA4/HzC3eUQx2TOsAJwlaPOwa/zEgss5r+oiox8ryqGHuTn2ZTrJzF3qZToKsBP5gCe812dxfS/H+elVE+zc3D3B+Myfq96si2uo/MEM8wDH31228J2jRTjEYbYxS1X9eh3iAY+5v+3j/usLXJPUAB1sT9R8XIh7gmPvLRt6TV/6anEHXRP2nlYgHOOb+rpP336uCKdR/Mop4gGPu71V5T1/5FXAKrQD1H8wiHuCY+2td3rOG1+Q/tpUtLzZpPILunwkHOCXszAFfq/7F3CkBJY/TtoO5U9KBO6cxd0pC7pymuFPKgTtnMXdKQe6cpbhT3IE7JzF3ikPunKRUeDExFJvSz6JMLyVKf2FTm2JQlP6CpvSzKKlRxEFq/I6lRhHI6d8pqVEUTo25rNQ4gaVGUShKJ6DUQHxJbxoL34oYga0+di8ImNdqDndDPYHHLMaGu6EgLEuCRtLa14BGmgwuMisO9SCyQrMAC+X86ypQeVZg8bQOWY9gJybYfSpo0x4awvAlNKsI9hnS79FMXYN9IdRL6cr2ZptzkFmSJrkUTXJxmuRiNMlFaJKLgpLpR9FZdQkvNPAYZo7wQjFYGO8oOjQUahlhQGQzeRTtox1Fh2YLPIabW7xsGCxc6yjaBy1eNmjxwoHIOmfFUFGPsWI2w6yYOhb02bkLjQUxK4E/9E0b+IWa+yvjoZFXRbSzA0VIi7a5v54eGnVVRFv9h9l5R9Gh5v4qfGgMLdopBqONUar6z9LzjqIB5bCouCt8Tc4dRYNrksPFo2hAOSwq/spfkzPomuR08SgaUA6Luu6qYIrrXTyKBpTDonJd+RVwCq2AG1w8igaUw6JyM6Zj9ntIJDQdOxdtNSqSchRd3s4c8LXqOmzYVx5KHqdtB3OnggN3cmHuVIDcyUVxp6IDd3Jj7lSE3MlNcaecA3fiMXfKQe7EMyrcW1YMxc4bVzKml3aU4rCpTVkoSnHQeeNKSmqUdpAaUVhqlIacjqKkRhk4NdawUiMGS40yUJRioNRw6gt4XojtRvIAkxutXwTA7hSE3gjoT28UjdXIETndBS8ihHqxGsHugfrUU23dEXjewGM+cyPwvBgsn86BfRJ8y2Qdo7TPLS6mf73TchxtMmegg4K8UGnlg7rPOgi1HshljR6FOXKTRo9S/QPpfNJ8sB6Vn0I2N4lgjn4w+HkgVAGHwU8aaa4cQhMuWwqf+49GX5E3wQKcU/YKNMkVaZLL0SSXpUkuTZNcBpRMvycRorvPKBh4vNncPqMgBruZeE8C+jGd0JuByGbynkQycJqvuXiFAo+FzS1eIQxWWOueRDK0eNDvVIUWBiLrnLULinqMtQtRZtbJdu5CM2tsE1AEsJI2jS5iTlTRqyLaxYAipEW7mDlRxa+KaJdQiiLekyhhTlRJWrRTDEYbo9RSSoXEexKlzIkqfYWvSeo9CWxNyigVEu9JlDEnquyVvyZn0DUpp1RIvCdRzpyo8lcFU1RQiiLek6hgTlTFK78CTqEVUEmpkHhPopI5Ubcwjsrs95Ci2D2Jguj+mXBP4jY7c8DXqvLY2cttUPI4bTuYO7c7cKci5s7tkDsVKe5UceDOLZg7VSB3bqG4c6sDd8pi7twKuVOWUeHeymIodmK1SUO/B4lSaWxqUxmKUmloSr+JkhqVHKRGcSw1KkFOF6ekxi1walis1CiJpcYtUJRKQqnh1Jckk++tlYHJjXMWt88goUCeO6xTo26EfLk1E2cS0J+6FL+8WCYVkDM+7JQjWT371h2U3xZ4vN3coPw2DHZ7gsbJkk9CjDWArZQGAC9blW1Oi3YUlg3QQQG2V7wd6j7Y30zfBmSpRo/CHKmi0aNU/0A6nzQM7MSjKiXXZJdalaMfDD62vanmMPjYcWZo9cuWnJfGB+tF8o5XjXN+fjtNchWa5FtpkivTJFeiSb4FlEy/AeHV3RvcEXi809ze4A4MdifxBsQdUPu5E4hsJm9AKBIpMzcg7go83m1u8e7CYHdr3YBIgRbvLmjx7gYi65yP7xD1GB/fRZlGp9i5C02jMYa9B7CSNme+x5yoGldFtGsCRUiLdk1zou69KqJdSymKeAOiljlR99GinWIw2hil1lYqJN6AqG1OVJ0rfE1Sb0Bga1JXqZB4A6KuOVH3X/lrcgZdkweUCok3IB4wJ+rBq4Ip6ilFEW9A1DMnqv6VXwGn0ApooFRIvAHRwJyohoxDMPs9pAZ2A+IOdP9MuAFxp5054GvVg9jJ451Q8jhtO5g7dzlwpz7mDvYuW5/izt0O3GmIuXM35E5Dijt3OHDnfswdrFPdz6hwb3UxFDtl2ks5eZAo1UmBolQdilIdaEq/l5IaVR2kxr1YalSFnL6XkhrV4NT4hpUa92GpUQ2K0n1Qajj1BTzgwmq8kcMDLozF7dNFKJDnjuHUKOzG1kOZOJPAbkBUljNqCCiZXB075UhRz751B+UPBx4fMTcofxiDPaJzAyJZQow1gAOUBgAvW5WDTosWuwGRAh0UPAyVwyNQ9zkAoQ4CWarRozBHHtXoUap/IJ1PGgZ24vEYJdceFcEc/WDwG0Goxg6DD96AaHLZkvPS+GC9SN7xGnPOz++iSb6bJvkOmuTqNMlVaZKrgZLpNyBCdfcGjwcenzC3N3gcgz1BvAHxONR+ngAim8kbECMzBmXmBsSTgcem5hbvSQzWVOsGxEho8Z6EFq8pEFnnfPy4qMf4+EnKNHqknbvQNHokZGUzwEranLmZOVFPXRXRfhooQlq0nzYn6pmrItrNlaKINyCamxP1LC3aKQajjVFqC6VC4g2IFuZEtbzC1yT1BgS2Jq2UCok3IFqZE9X6yl+TM+iatFEqJN6AaGNO1HNXBVO0VYoi3oBoa07U81d+BZxCK+AFpULiDYgXzIlqxzgEs99DnsJuQDyO7p8JNyBq2ZkDvlY9h5081oKSx2nbwdy5z4E7z2Pu3Ae58zzFndoO3GmHuVMbcqcdxZ17HbjTGnPnXsid1owK99YUQ7FTpsOUkweJUktsalMTilJLaEp/mJIa9zhIjWew1LgHcvoZSmrUgFPjGCs1nsVSowYUpWeh1HDqC3jAhe1G2js84MJY3D5dxG5ANIJQD0G+dMjEmQR2saGRnFFDwMZyxoedcoxUz751B+UdA4+dzA3KO2KwTjo3IFIkxFgD+JXSAOBlq/Kb06LFbkBgBwUdoXLoBHWfXyHUb0CWavQozJHOGj1K9Q+k80nDwE48Eim51lkEc/SDwW8Pobo4DD54A6LrZUvOS+OD9SJ5x+vCOT+/jya5Nk3yvTTJNWmS76FJrgFKpt+ACNPdG3QLPHY3tzfohsG6E29AdIPaT3cgspm8ATEqY1BmbkC8GHjsYW7xXsRgPbRuQIyCFu9FaPF6AJF1zsfdRD3Gxy9SptGj7NyFptHQVjK0J2Albc7c05yol66KaL8MFCEt2i+bE/XKVRHtXkpRxBsQvcyJ6k2LdorBaGOU+qpSIfEGxKvmRPW5wtck9QYEtiZ9lQqJNyD6mhPV78pfkzPomrymVEi8AfGaOVH9rwqmGKAURbwBMcCcqNev/Ao4hVbAQKVC4g2IgeZEDWIcgtnvIS9hNyC6oftnwg2IB+3MAV+r+mMnjw9CyeO07WDu1HPgzuuYO/Ugd16nuFPfgTuDMHfqQ+4MorjzgAN3+mHuPAC5049R4d77xVDslOkU5eRBotQHm9rcD0WpDzSlP0VJjToOUuMVLDXqQE6/QkmNumhqVPWwUqM3lhp1oSj1RmQ59gU84MJ2I4MdHnBhLG6fLmI3INpDqA6QL0MycSaB3YBoL2fUEFAmxV2xU45R6tm37qD8jcDjUHOD8jcw2FCdGxAjJcRYA8hKaQDwslUNcVq02A0I7KDgDagchkLdJyuECgGyVKNHYY4M0+hRqn8gnU8aBnbiMZySa8NEMEc/GPzBEGqEw+CDNyCSLltyXhofrBfJO94Izvl5PZrk+jTJD9Ak30+TXIcmuS4omX4DIpvu3sAXeEw2tzfwYbBk4g0IrKUmA5HN5A2I0RmDMnMDIiXwONLc4qVgsJFaNyBGQ4uHcQfy6xrO+dgn6rHkSdHoKepp9Gg7d6Fp9GjIylGAlbQ58yhzokZfFdEeAxQhLdpjzIkae1VEe5xSFPEGxDhzosbTop1iMNpYV5ygVEi8ATHBnKiJV/iapN6AwNZkklIh8QbEJHOiJl/5a3IGXZMpSoXEGxBTzImaelUwxTSlKOINiGnmRL155VfAKbQC3lIqJN6AeMucqOmMQzD7PWQ0dgMC3j8TbkA8bGcO+Fo1FTt5xH4Q2Gnbwdx5xIE7b2LuPAK58ybFnUcduDMdc+dRyJ3pFHcecuDOZMwd7JvqyYwK9zYSQ7FTpmjKyYNEaSI2tWkERWkiNKWPpqRGAwepMRZLjQaQ02MpqdEQTo0crNQYj6VGQyhK46HUcOoLeMCF7UZmODzgwljcPl3EbkAMhlBDIF9mZuJMArsBMVjOqCHgCDnjw045Rqtn37qD8rcDj7PMDcrfxmCzdG5AjJIQYw0gJ6UBwMtW9TqnRYvdgMAOCt6GymEW1H1yQqjrgCzV6FGYI7M1epTqH0jnk4aB9cg5lFybLYI5+sHgz4BQ7zgMPngDYu5lS85L44P1InnHe4dzfv4ITfKjNMkP0SQ3okluQJPcEJRMvwERrrs3mBd4nG9ubzAPg80n3oCYB7Wf+UBkM3kDQnEsmZkbEAsCjwvNLd4CDLZQ6wbEGGjxFkCLtxCIrHM+nifqMT5eQJlGj7FzF5pGj4GsXARYSZszLzInavFVEe0lQBHSor3EnKilV0W0lylFEW9ALDMnajkt2ikGo41R6gqlQuINiBXmRK28wtck9QYEtiarlAqJNyBWmRP17pW/JmfQNVmtVEi8AbHanKg1VwVTrFWKIt6AWGtO1LorvwJOoRWwXqmQeANivTlRGxiHYPZ7yGLsBsQ8dP9MuAHxhJ054GvVGuzk8QkoeZy2HcydJx24sw5zB/uLjuso7jR14M4GzJ2mkDsbKO487sCddzF3sF/If5fiThMH7qzE3GkCubOS4s5jDtxZirnzGOTOUoo7jR24sxxzpzHkjtOXQfCYB+PkjRpnbMARk5yxYfcAZkComZAv72ViMo/dA5ghJ7UQ8B056cJm/WPUE2DdcfH7gccPzI2L38dgH+jcAxgtIcbO4QszznfwZataxGnRYvcAsHH5+1A5fAAdohaGUEWALNXoUZgjH2r0KNU/kM4nDQOb+39EybUPRTBHPxj8jRDqY4fBB+8BfHLZkvPS+GC9SN50PuacIj9Jk9yUJvlxmuQmNMmP0SQ3BiXT7wFE6O4NNgUePzW3N9iEwT4l3gPYBLWfT4HIZvIewFjgtFpz8T4LPG42t3ifYbDNWvcAxkKL9xm0eJuByDrn402iHuPjzygz2bF27kIz2bGQlRZgJW3aapkTteWqiPZWoAhp0d5qTtS2qyLa25WiiPcAtpsT9Tkt2ikGo41R6hdKhcR7AF+YE/XlFb4mqfcAsDXZoVRIvAeww5yonVf+mpxB12SXUiHxHsAuc6J2XxVMsUcpingPYI85UXuv/Ao4hVbAV0qFxHsAX5kTtc/wmvzHtrLlxe4BbEL3z4R7AM3tzAFfq3Zjp2XNoeRx2nYwd5514M5ezJ1nIXf2Utxp4cCdfZg7LSB39lHcecaBOzsxd56B3NlJcedpB+58ibnzNOTOlxR3mjlwZxvmTjPInW0Ud55y4M7nmDtPQe44fRkEj3kwTv5a44wNOGKSMzbsHsBGCPUe5Ms3mZjMY/cANspJLQT8WE66sFn/WPUEWHdcvD/weMDcuHg/Bjugcw9gjIQYO4evzDjfwZet6q1Oixa7B4CNy/dD5XAAOkStDKFuBbJUo0dhjhzU6FGqfyCdTxoGNvf/lpJrB0UwRz8Y/K8h1HcOgw/eA/jfZUvOS+OD9SJ50/mOc4r8LE1yC5rkZ2iSn6ZJbkaT/BQomX4PIFJ3b/B94PEHc3uD7zHYD8R7AN9D7ecHILKZvAcwDjit1ly8Q4HHH80t3iEM9qPWPYBx0OIdghbvRyCyzvn4e1GP8fEhykx2nJ270Ex2HGTlT4CVtGnrT+ZE/XxVRPswUIS0aB82J+rIVRHtX5SiiPcAfjEn6igt2ikGo41R6jGlQuI9gGPmRB2/wtck9R4Atia/KhUS7wH8ak7Ub1f+mpxB1+R3pULiPYDfzYn646pgihNKUcR7ACfMifrzyq+AU2gF/KVUSLwH8Jc5UX8bXpP/2Fa2vNg9gO/R/TPhHsBzduaAr1V/YKdlz0HJ47TtYO60deDOn5g7bSF3/qS487wDd/7G3HkecudvijttHLjzG+ZOG8id3yjutHbgznHMndaQO8cp7rR04M4RzJ2WkDtHKO60cuDOUcydVpA7Tl8GwWMejJNPapyxAUdMcsaG3QP4GkJ9A/nyTyYm89g9gK/lpBYCficnXdisf5x6Aqw7Lv438HjK3Lj4Xwx2SucewFgJMXYOfx/jfAdftqq1nRYtdg8AG5f/C5XDKegQ9T4IVRvIUo0ehTlyWqNHqf6BdD5pGNjc/wwl106LYI5+MPgnIdRZh8HHDvXCPJctOS+ND9aL5E3nLOcUuS1N8vM0yW1oklvTJLekSW4FSqbfA8iuuTcIyxJ4zGpsbxCWBYNl5d0DCMsCtZ+sQGQzeQ9gPHBarbl4IYFHr7nFC8FgXq17AOOhxQuBFs8LRNZxTYfZ6qGyDAuhzGTH27kLzWTHQ1aGAlaypq2IclRU2FUR7WxAEdKinc2cqPCrItoRSlG8ewCAclhUJC3aKQajjVFqdqVC3j0AQDksKuoKX5Nz9wDANVH/NVrePQBAOSwq5spfkzPomsQqFfLuAQDKYVFxVwVTqP/oLu8eAKAcFhV/5VfAKbQCcioV8u4BAMphUdcZXpP/2Fa2vNDx0rloq1FhlHsAHe3MAV+r4rDTso5Q8jhtO5g7nRy4E4+50wlyJ57iTmcH7lyHudMZcuc6ijsdHLgTg7nTAXInhuJOewfuRGHutIfciaK484IDd8Ixd16A3AmnuNPOgTuRmDvtIHecvgxixzwgJ1+vccYGHDHJGRt2D+AkhPoH8iVXJibz2D0A+wolBJQ3NQ826x+vngDrjotvCDzmNjcuvgGD5da5BzBOQoydwzdmnO/gy1a1idOixe4BYOPyG6ByyA0dojaGUE2ALNXoUZgjeTR6lOofSOeThoHN/W9k5FpYHhHM0Q8G/3oIlddh8MF7APkuW3JeGh+sF8mbTl7OKXInmuTONMkdaJLb0yS/QJPcDpRMvwcQpbs3uCnwmN/c3uAmDJafeA/gJqj95Acim8l7ABOA02rNxSsQeEwwt3gFMFiC1j2ACdDiFYAWLwGIrHM+vknUY3xcgDKTnWDnLjSTnQBZWRCwkjZtLWhO1M1XRbQLAUVIi3Yhc6IKXxXRVv8lKOI9gCLmRBWlRTvFYLQxSi2mVEi8B1DMnKjiV/iapN4DwNakhFIh8R5ACXOiSl75a3IGXZNSSoXEewClzIkqfVUwRRmlKOI9gDLmRJW98ivgFFoB5ZQKifcAypkTVd7wmvzHtrLlxe4B3ITunwn3ALrbmQO+VpXGTsu6Q8njtO1g7rzowJ2ymDsvQu6UpbjTw4E75TF3ekDulKe4082BOyUxd7pB7pSkuNPVgTvFMXe6Qu4Up7iT6MCdwpg7iZA7hSnudHHgTlHMnS6QO05fBsFjHoyTK2icsQFHTHLGBs0Hzx1GqVG5IF8qZmIyD90DEL+84yFgXjnpwmb9E9QTYN1xcaXA4y3mxsWVMNgtOvcAxkuIsXP45xjnO/iyVW3rtGixewDYuLwSVA63QIeoz0GotkCWavQozJHKGj1K9Q+k80nDwOb+lN+dD6ssgjn6weBXgFC3OQw+eA/g9suWnJfGB+tF8qZzG+cU+UWa5B40yd1okrvSJCfSJHcBJdPvAUTr7g2qBB6rmtsbVMFgVYn3AKpA7acqENlM3gOYCJxWay5etcBjdXOLVw2DVde6BzARWrxq0OJVByLrnI+riHqMj6tRZrIT7dyFZrITISvvAKykTVvvMCfqzqsi2ncBRUiL9l3mRN19VUT7HqUo4j2Ae8yJqkGLdorBaGOUWlOpkHgPoKY5Ufde4WuSeg8AW5NaSoXEewC1zIm678pfkzPomqh/vY54D6C2OVF1rgqmqKsURbwHUNecqPuv/Ao4hVbAA0qFxHsAD5gT9aDhNfmPbWXLi90DqILunwn3AHrZmQO+VtXBTst6QcnjtO1g7vR24M79mDu9IXfup7jzqgN3HsTceRVy50GKO684cOc+zJ1XIHfuo7jzsgN37sXceRly516KOz0duHM35k5PyJ27Ke685MCdGpg7L0HuOH0ZBI95ME6up3HGBhwxyRkbdg+gAoSqCPlSPxOTeeweQAU5qYWAt8lJFzbrn6ieAOuOixsEHhuaGxc3wGANde4BTJAQY+fwPRnnO/iyVX3JadFi9wCwcXkDqBwaQoeoPSHUS0CWavQozJFGGj1K9Q+k80nDwOb+D1FyrZEI5ugHg18PQj3sMPjgPYBHLltyXhofrBfJm87DnFPk3jTJr9Ikv0KT/DJNck+a5JdAyfR7ADG6e4NHA4+PmdsbPIrBHiPeA3gUaj+PAZHN5D2AScBptebiNQ48NjG3eI0xWBOtewCToMVrDC1eEyCyzvn4UVGP8bHOb1GpZ7KT7NyFZrKTICsfB6ykTVsfNyfqiasi2k8CRUiL9pPmRDW9KqLdTCmKeA+gmTlRT9GinWIw2hilPq1USLwH8LQ5Uc9c4WuSeg8AW5PmSoXEewDNzYl69spfkzPomrRQKiTeA2hhTlTLq4IpWilFEe8BtDInqvWVXwGn0Apoo1RIvAfQxpyo5wyvyX9sK1te7B7Ao+j+mXAPoL+dOeBrVUvstKw/lDxO2w7mzgAH7rTG3BkAudOa4s7rDtx5DnPndcid5yjuvObAnWcxd16D3HmW4k4/B+48g7nTD3LnGYo7fRy40xRzpw/kTlOKO30duPMU5k5fyB2nL4PgMQ/GyepvKXXuAdhnbNg9gHoQqj7ky/OZmMxj9wDqyUktBHxYTrqwWf8k9QRYd1z8QuCxnblx8QsYrJ3OPYCJEmLsHH4I43wHX7aqbzgtWuweADYux/58SjvoEHUIhHoDyFKNHoU50l6jR6n+gXQ+aRjY3L8DJdfai2COfjD4bSFUR4fBB+8BdLpsyXlpfLBeJG86HTmnyANokl+nSX6NJrkfTXIfmuS+oGT6PYBY3b1B58Bjorm9QWcMlki8B9AZaj+JQGQzeQ9gMnBarbl4XQKPXc0tXhcM1lXrHsBkaPGwH1DrCkTWOR93FvUYH3ehzGQn27kLzWQnQ1Z2A6ykTVu7mRPV/aqI9otAEdKi/aI5UT2uimirb4ET7wH0NCfqJVq0UwxGG6PUl5UKifcAXjYn6pUrfE1S7wFga9JLqZB4D6CXOVG9r/w1OYOuyatKhcR7AK+aE9XnqmCKvkpRxHsAfc2J6nflV8AptAJeUyok3gN4zZyo/obX5D+2lS0vdg+gM7p/JtwDeMPOHPC1qg92WvYGlDxO2w7mzlAH7vTD3BkKudOP4s4wB+70x9wZBrnTn+LOEAfu9MbcGQK505vizmAH7ryCuTMYcucVijsDHbjTA3NnIOROD4o7gxy48xLmziDIHcefFmPHPBgnD9A4YwOOmOSMDbsH0BZCPQ/58nomJvPYPYC2clILATvKSRc265+sngDrjosHBh4HmRsXD8RggxIuqUGV+nP3U9vC8cVOD7ABNNZ4BgFrpVGpmPLBGpWq+gdS/1I22PSbc/NCOHEITz+0nx2Aneu8QdE/FNY/lKJ/GKx/GEX/EFg/Z/0Hw/oHU/QPhPUPpOgfBOsf5HSbAokN3UhoK2LtHoQdskCOF0BQVSYT/CgC+lEE8iMB8mM8Jc1uFk+wPfPNalQ2EaacSv1zaTKqOUbR48N+nZM3jc3P0oYdu7Rq27Jjh4oNWyW279a1ede2HTskjwzaDL0RePYmBD0XDDyHDB9phQkbSEMeboWN0LE+/R2e1/+QWevDhgZZf3PQ/54k1vussGQrLMUKG6lzUyA/9CaARWIUkMQ6kRgV9By82U0Jeh4pkRhthY2xwsZaYeMufOGI8Tm9TVJIfQDhC2zzx2PbfOcXnwqJbNVmNvUwZDy0jBMcDidhKyf4ICsn6JCZOu8Ufwvkk2crjNTKu4lBVVcg6H8ffVH/kPcnGe1PscKmavToPRIWbACN/WnmaYwXBnuNp2FrPI2zxm9mLDZ6QPdeWmv8ZtAaFw763yddtMZvWWHTrbAZVtjMzPaWAuoABfWWt1m9pYDIxg5eZlG6huifxbkualcUNqXYA6UeVnezKYOCWSI4ibE3DEn5b5ertCHEZCznGBqHzdGYc4nLIWNR4DisLb1DmSKDwZzLSLlzUcKcn8co35BxVsh4TP98jRMJpX57FzkbAk4TVsAMXUDpc9JBZ2P6F3Le9o+Ye9svCr0lzyX4UQT0A3vbLwb5MYvytl9CPMHe9ktAb/tHHL7tY1bmh2cS+aHcXsTpwEcg5YuBDnzBdjEu5fx2EdsALBIlyAYAPKyy/5PgAJxF9qIz7klMbN5znyfBCltihS21wpZZYcutsBVW2EorbJUV9q4VttoKW2OFrbXC1llh662wDVbYRivsPSvsfSvsAyvsQyvsIyvsYyvsEytskxX2qRX2mRW22QqzrLAtVthWK2ybFbbdCvvc3GnZknAIthSDLcNgyzHYCgy2EoOtwmDvYrDVGGwNBluLwdZhsPUYbAMG24jB3sNg72OwDzDYhxjsIwz2MQb7BINtwmCfYrDPMNhmDGZhsC0YbCsG24bBtmOwz8MvJKuREA0tUU9mhEqWKlE24SxDNFZ92ynrqhw5do7tlkPXBlZkiPojJRW1EnJkllFHDpz4T/mqDFA1DvpR76aPSqp5HrUacmS2OUc6+gLK16SHWtkpCLU2HVSPVcGodZAjcww5UrvnBcrXp4k6VOdC1Ia0UBV/vAi1EXLkHROOFKt0sfL3LkU1LX4J6v1LUI2bXYr6AHJkbqYd6dMkDeUfXoTq0zct1EcXopb1TRP1MeTIvMw5cu/ytJV/EoxqUCsd1KYg1IqG6aE+hRyZnwlHiq9MV/ln51FTSqSP2uxHlZ+aAcqCHFmg68iBChkp35KK6nwwQ9TWc6h6iRmjtkGOMEYsqW9/5/5YTYv6Ciu3C6pcSxXqc+TFu+rbEGoWhJoNoeZAqHcg1FwINQ9CzYdQCyAUkiGZO1oK+1y5DdwedLT0BeloKexzkQ0cW2+3YYi8LxkHULaVX/ogK790unKOf77CXjkFaJujqU3QfeQdgced5iYsOzDYznCNSynn2pT6fWYH9G60E4isxu1hTPkujfoCpo6SktiVgcWQlbsp3LVLBPuM6c9kZ9yuTKhJQZ1xD6szSjPZA3TGSTYMkbeX0hnFyr0+yMq9jIMMO793m8zvryhHBGF7IdQ+p0cEzsljuxI0UZc8vg48fmOOPL7GYN9okcd2iDy+hhbvGyCyGpmDKd9PaUFfSUpibfkAhRb2i2A39e8WwdiPJu7GrIRQB512AecUt02Z9kuCKO5bFsXJWd63AMUtsWGIvO8oFCdWfueDrPyOkoVCcQexKvgfh7y+g1Df88lrmxK0WJe8fgg8HjJHXj9gsENa5LUNIq8foMU7BERWI3Mw5T9Smsv/JCWxsvmJUrY/imCOfjD4P0GonymvnX7mVIlOZU41CmPOw5RXjJ9FsMmIH+Hz+1ZlZxgRxO+/sPh9q8gG+H2EDUPkHaXwu1h51AdZeZTF70ewRnGM0yiOQqjjfH7fqgQN1+X3XwOPv5nj918x2G9a/L4V4vdfocX7DYisRuZgyn+nNJdjkpJY2fxBKdvfRTBHPxj8PyDUCUrw/ZyoRmKc+CeFuU+IYJOx/IvP3FuUNZ8QxNx/s5h7i8gGmDvBhiHyTlKYW6w86YOsPMli7r+wFvAPpwWchFD/8pl7ixJUQJe5TwUeT5tj7lMY7LQWc2+BmPsUtHingchqZA6m/AylufwjKYmVzVlK2Z4RwRz9YPDPIqhsHkrw/ZyoRkKcmC0Lg7mz2YJNxjIrn7ktZc1vCzB3thAWc1siG2DubTYMkJfNS2FusdLrg6z0kpg7W1aoBWQLpbSAbF4IFcZnbksJ2qrJ3NmyBR7DjTF3tmwYLFyLuS2EubNlgxYvHIisRuZgyiMYzSVbqKQkVjaRjLLNFiGCOfrB4EdCqOyU4Ps5UYkEOTGKwtzZRbDJWEbzmXuzsuabBzF3DIu5N4tsgLmb2zAkX2IpzC1WxvogK2NZzB2NtYA4TguIhVA5+My9WQl6Rpe54wOPOc0xdzwGy6nF3Jsh5o6HFi8nEFmNzMGUX0chjzhJSaxsrqcw93UimKMfDP71ECoXJfh+TlQjMU68gcLcuUSwyVjm5jP3Z8qa3x3E3HlYzP2ZyAaYe7cNQ7LgRgpzi5U3+iArb2Qxd26sBeTltIAbIVQ+PnN/pgTt0mXumwKP+c0x900YLL8Wc38GMfdN0OLlByKrkTmY8gIU8sgrKYmVTQKFuQuIYI5+MPgJEKogJfh+TlQjMU68mcLcBUWwyVgW4jP3p8qarxvE3IVZzP2pyAaYu64NQ7KgCIW5xcoiPsjKIizmLoS1gKKcFlAEQhXjM/enSlAdXeYuHngsYY65i2OwElrM/SnE3MWhxSsBRFYjczDlJSnkUVRSEiubUhTmLimCOfrB4JeCUKUpwfdzohqJcWIZCnOXFsEmY1mWz9yblDW/KIi5y7GYe5PIBph7kQ1DsqA8hbnFyvI+yMryLOYui7WACpwWUB5CVeQz9yYlaKEuc1cKPN5ijrkrYbBbtJh7E8TclaDFuwWIrEbmYMorU8ijgqQkVja3Upi7sgjm6AeDfyuEuo0SfD8nqpEYJ95OYe7bRLDJWFbhM/cnyppfE8TcVVnM/YnIBph7jQ1DsqAahbnFymo+yMpqLOaugrWA6pwWUA1C3cFn7k+UoNW6zH1n4PEuc8x9Jwa7S4u5P4GY+05o8e4CIquROZjyuynkUV1SEiubeyjMfbcI5ugHg38PhKpBCb6fE9VIjBNrUpi7hgg2Gct7+cz9sbLmHwhi7los5v5YZAPM/YANQ7LgPgpzi5X3+SAr72Mx971YC6jNaQH3Qag6fOb+WAm6X5e56wYe7zfH3HUx2P1azP0xxNx1ocW7H4isRuZgyh+gkEdtSUmsbB6kMLf0gwc5+sHgPwih6lGC7+dENRLjxPoU5q4ngk3GsgGfuT9S1nyfIOZuyGLuj0Q2wNx9bBiSBY0ozC1WNvJBVjZiMXcDrAU8xGkBjSDUw3zm/kgJelWXuR8JPD5qjrkfwWCPajH3RxBzPwIt3qNAZDUyB1P+GIU8HpKUxMqmMYW5HxPBHP1g8BtDqCaU4Ps5UY3EOPFxCnM3EcEmY/kEn7k/dMTcT7KY+0ORjTH3k1AWNKUwt1jZFGPupizmfgJrAc04LaAphHqKz9wf8pj76cDjM+aY+2kM9owWc38IMffT0OI9w2FuTHlzCnk0k5TEyuZZCnM3F8Ec/WDwn4VQLSjB93OiGolxYksKc7cQwSZj2YrP3B8oa352EHO3ZjH3ByIbYO7ZNgzJgjYU5hYr2/ggK9uwmLsV1gKe47SANhCqLZ+5P1CCZuky9/OBxxfMMffzGOwFLeb+AGLu56HFewGIrEbmYMrbUcjjOUlJrGzaU5i7nQjm6AeD3x5CdaAE38+JaiTGiR0pzN1BBJuMZSc+c7+vrPnpQczdmcXc74tsgLmn2zAkCxIpzC1WJvogKxNZzN0JawFdOC0gEUJ15TP3+0rQW7rM3S3w2N0cc3fDYN21mPt9iLm7QYvXHYisRuZgyl+kkIfEtStWNj0ozP2iCOboB4PfA0L1pATfz4lqJMaJL1GYu6cINhnLl/nM/Z6y5vcEMfcrLOZ+T2QDzL3HhiFZ0IvC3GJlLx9kZS8Wc7+MtYDenBbQC0K9ymfu95Sg3brM3Sfw2Nccc/fBYH21mPs9iLn7QIvXF4isRuZgyvtRyKO3pCRWNq9RmLufCOboB4P/GoTqTwm+nxPVSIwTB1CYu78INhnL1/nMvVFZ81uCmHsgi7k3imyAubfYMCQLBlGYW6wc5IOsHMRi7texFjCY0wIGQaghfObeqARZusz9RuBxqDnmfgODDdVi7o0Qc78BLd5QILIamYMpH0Yhj8GSkljZDKcw9zARzNEPBn84hBpBCb6fE9VIjBOTKMw9QgSbjKWPz9wblDWfJ4i5k1nMvUFkA8ydx4YhWZBCYW6xMsUHWZnCYm4f1gJGcloA9Ifss43iM/cGJSi3LnOPDjyOMcfcozHYGC3m3gAx92ho8cYAkdXIHEz5WAp5jJSUxMpmHIW5x4pgjn4w+OMg1HhK8P2cqEZinDiBwtzjRbDJWE7kM/d6Zc2vCmLuSSzmXi+yAeZeZcOQLJhMYW6xcrIPsnIyi7knYi1gCqcFTIZQU/nMvV4JWqnL3NMCj2+aY+5pGOxNLeZeDzH3NGjx3gQiq5E5mPK3KOQxRVISK5vpFOZ+SwRz9IPBnw6hZlCC7+dENRLjxJkU5p4hgk3G8m0+c69T1vygIOaexWLudSIbYO5BNgzJgtkU5hYrZ/sgK2ezmPttrAXM4bSA2RDqHT5zr1OCBuoy99zA4zxzzD0Xg83TYu51EHPPhRZvHhBZjczBlM+nkMccSUmsbBZQmHu+COboB4O/AEItpATfz4lqJMaJiyjMvVAEm4zlYj5zr1XWfJ0g5l7CYu61Ihtg7jo2DMmCpRTmFiuX+iArl7KYezHWApZxWsBSCLWcz9xrlaDausy9IvC40hxzr8BgK7WYey3E3CugxVsJRFYjczDlqyjksUxSEiubdynMLTO4dzn6weC/C6FWU4Lv50Q1EuPENRTmXi2CTcZyLZ+51yhr3hfE3OtYzL1GZAPM7bNhSBaspzC3WLneB1m5nsXca7EWsIHTAtZDqI185lbXb5Iuc78XeHzfHHO/h8He12LuNRBzvwct3vtAZDUyB1P+AYU8NkhKYmXzIYW5PxDBHP1g8D+EUB9Rgu/nRDUS48SPKcz9kQg2GctP+My9WlnznYKYexOLuWV9NwHM3cmGIVnwKYW5xcpPfZCVn7KY+xOsBXzGaQGfQqjNfOZWvx901GVuK/C4xRxzWxhsixZzr4aY24IWbwsQWY3MwZRvpZDHZ5KSWNlsozD3VhHM0Q8GfxuE2k4Jvp8T1UiMEz+nMPd2EWwyll/wmftdZc2vC2LuL1nM/a7IBph7nQ1DsmAHhbnFyh0+yModLOb+AmsBOzktYAeE2sVnbvVYca0uc+8OPO4xx9y7MdgeLeZ+F2Lu3dDi7QEiq5E5mPK9FPLYKSmJlc1XFObeK4I5+sHgfwWh9lGC7+dENRLjxK8pzL1PBJuM5Td85l6lrPmEIObez2JuOQraDzB3gg1DsuAAhbnFygM+yMoDLOb+BmsBBzkt4ACE+pbP3OoD0QK6zP1d4PF/5pj7Owz2Py3mXgUx93fQ4v0PiKxG5mDKv6eQx0FJSaxsfqAw9/cimKMfDP4PEOoQJfh+TlQjMU78kcLch0SwyVj+xGfulcqajwpi7p9ZzL1SZAPMHWXDkCw4TGFusfKwD7LyMIu5f8JawBFOCzgMoX7hM7f6HlV2XeY+Gng8Zo65j2KwY1rMvRJi7qPQ4h0DIquROZjy4xTyOCIpiZXNrxTmPi6COfrB4P8KoX6jBN/PiWokxom/U5j7NxFsMpZ/8Jl7hbLmOwQx9wkWc68Q2QBzd7BhSBb8SWFusfJPH2Tlnyzm/gNrAX9xWsCfEOpvPnOvUILa6zL3ycDjP+aY+yQG+0eLuVdAzH0SWrx/gMhqZA6m/F8KefwlKYmVzSkKc/8rgjn6weCfglCnKcH3c6IaiXHiGQpznxbBJmN5ls/cy5U1nyPA3OEeFnMvF9kAc+ewYYC88CwU5hYrs/ggK7OwmPss1ALCs1JaQHgWCBXCZ271h2dxmswd7g08hhpj7nAvBgvVYu7lCHOHe6HFCwUiq5E5mPIwRnMJzyopiZVNNkbZhoeJYI5+MPjZIFQ4hbn9nKhGQpwYHsFg7vBwEWwylpF85gY+/A1i7uws5l4msiGDw6MonCz6o5IYZStsGx6JlW00p2yjIFSMxrICLolgJKyZTOKljpI4lpXES0U2lsRxlCQW/XGUJLbXMc5cEmdytZeo7Qha7Rys1V4isrEKzAHlRDwlJ8TKeGzl4imUKJkTDxF3eDRkZU5Kk5Yo5UzitN+cEOo6ypbVvx9RI7H9yPWU5nKdCMasxGKZi8XjuaBCClvstAXGpZxvgZAt3iKiBElX/N3Vk+DoRdfXd8Y9iYnNe+7zJFjhN1jhua3wPFb4jVZ4Xis8nxV+kxWe3wovYIXL/7egFX6zFV7ICi9shRexwota4cWs8OJWeAkrvKQVXsoKL22Fl7HCy1rh5azw8lZ4BSu8ohVeyQq/xQqvbIXfau7l+YZwCJYbg+XBYDdisLwYLB8GuwmD5cdgBTBYAgYriMFuxmCFMFhhDFYEgxXFYMUwWHEMVgKDlcRgpTBYaQxWBoOVxWDlMFh5DFYBg1XEYJUw2C0YrDIGuzXcOV+d4wiIr6oud7rx2ecpCBHxDdBAMbcSZVN/HhXq3AbhxoxRycfPofJmiPojJRWVLyPUgRP/oW7KAFXjoB+VP31UUs3zqALpojr6AqiE9FArOwWh0luhHquCUTenjard8wJUoTRRh+pciCqcFqrijxehiqSBKlbpYlTRS1FNi1+CKnYJqnGzS1HFL0b1aZIGqsRFqD5900KVvBC1rG+aqFIXoO5dnjaqdDCqQa10UGWCUCsapocqG0AVX5kuqtx51JQS6aPK+1Hlp2aAqvAf6kCFjFAVU1GdD2aIqnQOVS8xY9QtNqpFfQWqsqDKtVShbkVeN6DGmLlZRvityg65PWiWcRtplhF+q8gGDk632zBE3u2MWYZt5e0+yMrbna6c47NDe+UUoG26Z4dVAo9Vzb3+VMFgVXXODs8VlJrqq0DbhqpAZDUGMZjyaow5uD08uB0acYQthqysThnEVBPBPmP6M9kZKysTalJQZ7yD1RllBHEH0Bkn2TBE3p2UzihW3umDrLyTMeW187u6yfy+izOLvRNC3U2/eGIntwI0UZc87gk81jBHHvdgsBpa5FEZIo97oMWrAURWI3Mw5TUpLeguSUmsLd9LoYWaIthN/dVFcApGS5iVEKoW/e5F+C3KtF8SRHH3sShOBu33ARS3xIYh8mpTKE6srO2DrKzNOv+phVVBHQ551YZQdfnkdYsStFiXvO4PPD5gjrzux2APaJHXLRB53Q8t3gNAZDUyB1P+IKW51JGUxMqmHoU8HhTBHP1g8OtBqPqU61d+5lSJTmVONQpjzgaUiyT1RbDJiDfk83slZWcYEcTvjVj8LmfpjQB+H2HDEHkPUfhdrHzIB1n5EIvfG2KN4mFOo3gIQj3C5/dKStBwXX5/NPD4mDl+fxSDPabF75Ugfn8UWrzHgMhqZA6mvDGluTwsKYmVTRMKvzcWwRz9YPCbQKjHKcH3c6IaiXHiExTmflwEm4zlk3zmrqis+aBf/wtvymLuiiIb+vU/gSHymlGYW6xsBv36n61fIU6TuZ/EWsBTnBbQDEI9zWfuikqQ7q//hT8TeGxujrmfwWDNtZi7IsTcz0CL1xyIrEbmYMqfpTSXpyQlsbJpQWHuZ0UwRz8Y/BYQqiUl+H5OVCMxTmxFYe6WIthkLFvzmbuCsua3BTF3GxZzVxDZAHNvs2GIvOcozC1WPueDrHyOxdytsRbQltMCnoNQz/OZu4IStFWXuV8IPLYzx9wvYLB2WsxdAWLuF6DFawdEViNzMOXtKc2lraQkVjYdKMzdXgRz9IPB7wChOlKC7+dENRLjxE4U5u4ogk3GsjOfucsra755EHMnspi7vMgGmLu5DUPkdaEwt1jZxQdZ2YXF3J2xFtCV0wK6QKhufOYurwQ9o8vc3QOPL5pj7u4Y7EUt5i4PMXd3aPFeBCKrkTmY8h6U5tJVUhIrm54U5u4hgjn6weD3hFAvUYLv50Q1EuPElynM/ZIINhnLV/jMXU5Z87uDmLsXi7nLiWyAuXfbMERebwpzi5W9fZCVvVnM/QrWAl7ltIDeEKoPn7nLKUG7dJm7b+Cxnznm7ovB+mkxdzmIuftCi9cPiKxG5mDKX6M0l1clJbGy6U9h7tdEMEc/GPz+EGoAJfh+TlQjMU58ncLcA0SwyVgO5DN3WWXN1w1i7kEs5i4rsgHmrmvDEHmDKcwtVg72QVYOZjH3QKwFDOG0gMEQ6g0+c5dVguroMvfQwOMwc8w9FIMN02LushBzD4UWbxgQWY3MwZQPpzSXIZKSWNmMoDD3cBHM0Q8GfwSE4nR2PyeqkRgn+ijMnSSCTcYymc/cZZQ1vyiIuVNYzF1GZAPMvciGIfJGUphbrBzpg6wcyWLuZKwFjOK0gJEQajSfucsoQQt1mXtM4HGsOeYeg8HGajF3GYi5x0CLNxaIrEbmYMrHUZrLKElJrGzGU5h7nAjm6AeDPx5CTaAE38+JaiTGiRMpzD1BBJuM5SQ+c5dW1vyaIOaezGLu0iIbYO41NgyRN4XC3GLlFB9k5RQWc0/CWsBUTguYAqGm8Zm7tBK0Wpe53ww8vmWOud/EYG9pMXdpiLnfhBbvLSCyGpmDKZ9OaS5TJSWxsplBYe7pIpijHwz+DAg1kxJ8PyeqkRgnvk1h7pki2GQsZ/GZu5Sy5h8IYu7ZLOYuJbIB5n7AhiHy5lCYW6yc44OsnMNi7llYC3iH0wLmQKi5fOYupQTdr8vc8wKP880x9zwMNl+LuUtBzD0PWrz5QGQ1MgdTvoDSXN6RlMTKZiGFuReIYI5+MPgLIdQiSvD9nKhGYpy4mMLcMiZdbDKWS/jMXVJZ832CmHspi7lLimyAufvYMETeMgpzi5XLfJCVy1jMvQRrAcs5LWAZhFrBZ+6SStCrusy9MvC4yhxzr8Rgq7SYuyTE3CuhxVsFRFYjczDl71Kay3JJSaxsVlOY+10RzNEPBn81hFpDCb6fE9VIjBPXUphbxqRrTcZyHZ+5Szhi7vUs5i4hsjHmXg+5tYHC3GLlBoy5N7CYex3WAjZyWsAGCPUen7lL8Jj7/cDjB+aY+30M9oEWc5eAmPt9aPE+4DA3pvxDSnPZKCmJlc1HFOb+UARz9IPB/whCfUwJvp8T1UiMEz+hMPfHIthkLDfxmbu4suZnBzH3pyzmLi6yAeaebcMQeZ9RmFus/MwHWfkZi7k3YS1gM6cFfAahLD5zF1eCZuky95bA41ZzzL0Fg23VYu7iEHNvgRZvKxBZjczBlG+jNJfNkpJY2WynMPc2EczRDwZ/O4T6nBJ8PyeqkRgnfkFh7s9FsMlYfsln7mLKmp8exNw7WMxdTGQDzD3dhiHydlKYW6zc6YOs3Mli7i+xFrCL0wJ2QqjdfOYupgS9pcvcewKPe80x9x4MtleLuYslI8y9B1q8vUBkNTIHU/4VpbnskpTEymYfhbm/EsEc/WDw90GorynB93OiGolx4jcU5v5aBJuM5X4+cxdV1vyeIOY+wGLuoiIbYO49NgyRd5DC3GLlQR9k5UEWc+/HWsC3nBZwEEJ9x2fuokrQbl3m/l/g8XtzzP0/DPa9FnMXhZj7f9DifQ9EViNzMOU/UJrLt5KSWNkcojD3DyKYox8M/iEI9SMl+H5OVCMxTvyJwtw/imCTsfyZz9xFlDW/JYi5D7OYu4jIBph7iw1D5B2hMLdYecQHWXmExdw/Yy3gF04LOAKhjvKZu4gSZOky97HA43FzzH0Mgx3XYu4iEHMfgxbvOBBZjczBlP9KaS6/SEpiZfMbhbl/FcEc/WDwf4NQv1OC7+dENRLjxD8ozP27CDYZyxN85i6srPk8Qcz9J4u5C4tsgLnz2DBE3l8U5hYr//JBVv7FYu4TWAv4m9MC/oJQJ/nMXVgJyq3L3P8EHv81x9z/YLB/tZi7MMTc/0CL9y8QWY3MwZSfojSXvyUlsbI5TWHuUyKYox8M/mkIdYYSfD8nqpEYJ56lMPcZEWwwlhEePnMXUtb8qgBzR2RhMXchkQ0w9yobBsiLyEphbrEyqw+yMiuJuSM8UAuICKG0gIisEMrLZ+5CStBKTeaOCA08hhlj7ohQDBamxdyFEOaOCIUWLwyIrEbmYMqzMZpLRIikJFY24Yyyjcgmgjn6weCHQ6gISmf3c6IaiXFiJIO5IyJEsMlYZucz983Kmh8UxNxRLOa+WWQDzD3IhiHFEk1hbrEy2gdZGc1i7uxYC4jhtIBoCBXLZ+6blaCBuswdF3jMYY654zBYDi3mvhli7jho8XIAkdXIHEx5PIW5YyQlsbLJSWHueBHM0Q8GPyeEuo4SfD8nqpEYJ15PYe7rRLDJWObiM3dBZc3XCWLuG1jMXVBkA8xdx4YhWZCbwtxiZW4fZGVuFnPnwlpAHk4LyA2hbuQzd0ElqLYuc+cNPOYzx9x5MVg+LeYuCDF3Xmjx8gGR1cgcTPlNFPLIIymJlU1+CnPfJII5+sHg54dQBSjB93OiGolxYgKFuQuIYJOxLMhn7gRlzfuCmPtmFnMniGyAuX02DMmCQhTmFisL+SArC7GYuyDWAgpzWkAhCFWEz9zq+k3SZe6igcdi5pi7KAYrpsXcCRBzF4UWrxgQWY3MwZQXp5BHYUlJrGxKUJi7uAjm6AeDXwJClaQE38+JaiTGiaUozF1SBJuMZWk+cxdQ1nynIOYuw2JuWd8yAHN3smFIFpSlMLdYWdYHWVmWxdylsRZQjtMCykKo8nzmVr8fdNRl7gqBx4rmmLsCBquoxdwFIOauAC1eRSCyGpmDKa9EIY9ykpJY2dxCYe5KIpijHwz+LRCqMiX4fk5UIzFOvJXC3JVFsMlY3sZn7vzKml8XxNy3s5g7v8gGmHudDUOyoAqFucXKKj7Iyios5r4NawFVOS2gCoSqxmdu9VhxrS5zVw883mGOuatjsDu0mDs/xNzVocW7A4isRuZgyu+kkEdVSUmsbO6iMPedIpijHwz+XRDqbkrw/ZyoRmKceA+Fue8WwSZjWYPP3Dcpaz4hiLlrsphbjoJqAsydYMOQLLiXwtxi5b0+yMp7WcxdA2sBtTgt4F4IdR+fudUHogV0mbt24LGOOeaujcHqaDH3TRBz14YWrw4QWY3MwZTXpZBHLUlJrGzupzB3XRHM0Q8G/34I9QAl+H5OVCMxTnyQwtwPiGCTsazHZ+58ypqPCmLu+izmzieyAeaOsmFIFjSgMLdY2cAHWdmAxdz1sBbQkNMCGkCoRnzmVt+jyq7L3A8FHh82x9wPYbCHtZg7H8TcD0GL9zAQWY3MwZQ/QiGPhpKSWNk8SmHuR0QwRz8Y/Ech1GOU4Ps5UY3EOLExhbkfE8EmY9mEz9x5lTXfIYi5H2cxd16RDTB3BxuGZMETFOYWK5/wQVY+wWLuJlgLeJLTAp6AUE35zJ1XCWqvy9zNAo9PmWPuZhjsKS3mzgsxdzNo8Z4CIquROZjypynk8aSkJFY2z1CY+2kRzNEPBv8ZCNWcEnw/J6qRGCc+S2Hu5iLYZCxb8Jn7RmXN5whi7pYs5r5RZAPMncOGIVnQisLcYmUrH2RlKxZzt8BaQGtOC2gFodrwmVv94VmcLnM/F3hsa465n8NgbbWY+0aIuZ+DFq8tEFmNzMGUP08hj9aSkljZvEBh7udFMEc/GPwXIFQ7SvD9nKhGYpzYnsLc7USwyVh24DM38OFvEHN3ZDF3HpENGRzRicLJor9TEottO2Bl25lTtp0gVKLGsgIuiWAkrJlM4tyOkrgLK4lzi2wsibtSklj0d6Uksb2OXc0lcSZX+wa1HUGr3Y212jeIbKwCu0E50Z2SE2Jld2zlulMoUTKnO0bcnSErX2Tktx2lF5M47fdFCNWDsmvy70fUSGw/0pPSXHqIYMxKLJYvsXj8JaiQwhY7TaR9nnjb/SwZ/xsrbLugFCBBfY4YGX4D8rIXnluJOrd5UqGQ18vk48D4+I+U4+rj4QMn/kNldP2rxkE/KoPr3Uk1z6PS/3yroy+ASkBiX3UuhJoHoeZDqAUQaiGE2uM8vdNdrpWdgoKX3q/S9FgVjErnV+dq97wAlfbPFxyqcyEqzV+Nr/jjRai0/ipMsUoXo9L47L1p8UtQl/5V18bNLkVd8lfb+zRJA3Xxt1h9+qaFKnkhalnfNFGlLkDduzxtVOlgVINa6aDKBKFWNEwPFfSZavGV6aLKnUdNKZE+qrwfVX5qBqgK/6EOVMgIVTEV1flghqhK51D1EjNGnbtz36K+AlVZUOVaqlC3QsX5NoSaBaFmQ6g5EOodCLXXaWtJgTYELyObi6p7INRe+vtNxMuO3mZfIb3fRLwssjGDezHeXGz9vZI4CdEbIzpjOZvJhOjtKCFeZSVEb5GNGdyHkhCiv4/jYZI36FBonychGXobVKKyeFL3xgqQJ3VvrAB5UvfGCpAndW+sAHlS98YKkCd1b6wAeVL3xgqQJ3VvrAB5UvfGCpAndROoAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4HKd/tzm0Dlu3048sMKTttd2BKk3YUtRdpd2DKk3YUtR9pd2Aqk3YWtRNpd2Cqk3YW9i7S7sNVIuwtbg7S7sLVIuwtbh7S7sPVIuwvbgLS7sI1Iuwt7D2l3Ye8j7S7sA6TdhX2ItLuwj5B2F/Yx0u7CPkHaXdgmpN2FfYq0u7DPkHYXthlpd2EW0u7CtiDtLmwr0u7CtpkcZarbXdDGty94JNFHRrTQPhaa5CL3cfpqnJ3aA+c+yZiZ0EtPP6db51DfNS65BHSNS4JQ17jEj7rGJX7UVcwlQdc3Xws89gfHE/2kz3NuX/QV4dgZ/gCK/tdEMKb/dUOE+frmPhp29oftHGjIzoFp2AmskjgI2Vn1X431VB5C2foHYvpPOdQv2wToMH2JGKEEntspAMDUzYIa+N9+QQn0bxlUwPO7BgUwsHHIGBi0d8gQGLx9yAh4wQ4iA+CFm4j0gRftI9IFXryVSA94yW4iHeClG4q0gWnsKdIEprWtSAuY5s4iDWDam4tLgensLy4BprfFuBiY7i7jImD6G40LgRnsNS4AZrTdCAZmuOMIAma86QgAFfuO80DV1sMPVO4+/gOqNyCpQGAPIkDola7qvxAKac8XvNKFJWf4PcvFVOH0oAqg/6D39UGoWGRXg7D1IOWp16WtwSbLQRBZVotySJZJI5OVS2AbAO1oBptLK8gRJN6DL9odpenwxa6hDg8RVM4Knl0F9lfuWSrXrR0bdO+//5F5va97q8Sh2NxHu1XvfnJfR6kQQd1Uqd6EjQ89v3BY1djaFSO/6PXF689X2jlicL+Sv/dp3DOsULI5h4eIw5kdoVw7ffT4UddOH/2oa6ePftS100c/6oo8fQwaobwReBxqkumdzwWEwt/A5gLDDBHBMK35hdg5FLNzuCE7h+vOL4ZhW6IyrPnFcEy/0z/xAs4v7O9FoPmF/UkWNL+wP0CE5hf2rwdA8wv7B4Kg+YX9G4DQ/ML+mV9ofmH/kj80v7D/WA80v7D/Hh80v7D/5C40vwi/GZxfhBcC5xfhhcH5RXgRcH4RXhScX4QXA+cX4cXB+UV4CXB+EV4SnF+ElwLnF+GlwflFeBlwfhFeFpxfhJcD5xfh5cH5RXgFcH4RXhGcX4RXAucX4beA84vwyuD8IvxWdH5RDfoLYFB7vpzzC4D+g+YXIy73/GKE5vxiBEaWdwJm0uYXSQbT6k5D8U5izi98yPyiWllofmHKYd/F84uwZMIIkFuVyZe7KpM1qzIZq0rHf7RkFHZSDKGgzynAqSJWu3cZWpWUtGpX7fBIpN7OTRVN1a4ph0demz1emz36Uddmj37UtdmjH/X/afY4KvA4Ghxq+S9ZKZRkwS7SOh+q2fqxX8HoBzHZGMoodZQIxkaUYw3x2litUepo2M5xhuwcpzVKHSMOYvvA5pnPujRGqaJ/HKbf6W/dOhiljkFHqUqgf5SqAp4fpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY5BR6lj0FHqGHSUOgYdpY7BRqnNIRTSni/nKBWg/6ChzXhULLKrQdh6vM7QRshyPEaWiZxR6hhoRzPBYFolGor3BL1RKubwRGgc8yw0jjHl8EQD45hrX9N5/KhrX9P5Ude+pvOjrn1N50dd6V/TTQo8TjbJ9M7nAkLhk7C5wBRDRDBFa34hdk7G7JxqyM6puvOLKdiWKEVjPaH5xVRM/0jO/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPmF/SkbNL+wP2WD5hf2p2zQ/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPlF2AZwfmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNml/Yn7JB8wv7UzZofmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNml/Yn7JB8wv7UzZofmF/ygbNL+xP2cD5BfTHh6D2fDnnFwD9B80vpl3u+cU0zfnFNIwsp7s5v3jTYFpNNxTvN5nzi7eg+QV0NcWYw29l/ioYcgJIrcrpl7sqp2tW5XSsKmc4rUrsKhiWpDOwU0qDtTvD0KrM0LsKNhOqt2cN1q4ph2fqvMrZvzfWy+Tvjb3NeoF/O0krTksbduzSqm3Ljh0qNmyV2L5b1+Zd23bskDwyELewNwLP3mJBz8UDzyHDR1oRs6yI2VbEHCvincyqiZgVpKZEECZJ1My1IuZZEfOtiAUaf83RWwTqfNCfoohYyAl4xMKg53lBz/ODnhdIJBZZEZKd8qa9NJM/pe0tqfyrJ2eCCGQZ6ae0vXLSuwz4Q7VnbBiyjMsZP7htW7ncB1m5nFSRE4PKo2hQUiy6qCJlwCGjCxlKvKv3l32WY7O21YyWZod5NRbm1aQwvxkU5lJBYV5xUZhl9CJDFRmXrM9sHRZ1tJHbwKrDoiIb2yJupFSY6N+o85txEJsvN8nm71HYXMZf71H89+6xwuZgu2rKPsXW/w6mf5aJd+1LDAiD/i5LxPvQTvxtCDWLUaJ2Ir+PdecPDG2fP0jgxfvDyxrvCxMnGU3cedDCzBUgtjAfsQydjxo6HzP0Y6dDSMd/cj5sbsags2fPHkf/5Py5WULQKesngcdN5v7k/CcYbFOCxktKmOL1I/VvAkZ8Ai3eJiCyWjz6CecPQ0taLsDS8lOG/pAUMQHT/xnL/4WY/s1OGRITayFi67Vq3zGxZ90ObbumxO3zlJfFkHiISfLPr4T/zky1z2n4Q86FfzEWpy1AnGal2tGgU3JcCtJ7POhodos5UVsZNGTPJt6DgHLAvQYL+DaHiZnjKknMZLTjbkV3htuwL6a2QmHf7ijPc0B5nsWFPN9uvl3/1y9MvlB+Tog2HKLPzYn6wk0/LHOivuSQ7A5gG0oLzw5zonZywrNLKTYrLzy7zInazQmP+m9Nh/DCs8ecqL2c8HylFOvlhecrc6L2ccLztVJsKC88X5sT9Q0nPPuVYsN44dlvTtQBTngOKsVm44XnoDlR33LC851SbDgvPN+ZE/U/Tni+V4qN4IXne3OifuCE55BSbCQvPIfMifqRE56flGKz88LzkzlRP3PCc1gpNooXnsPmRB3hhOcXpdhoXnh+MSfqKCc8x5RiY3jhOWZO1HFOeH5Vio3lhedXc6J+44Tnd6XYOF54fjcn6g9OeE4oxebgheeEOVF/csLzl1JsPC88f5kT9TcnPCeVYnPywnPSnKh/OOFR/znI63jh+decqFOc8JxWir2eF57T5kSd4YTnrFJsLl54zhoTFemhhCcyi1LsDbTwAMphUVk54QlRis3NC0+IOVFeTnhClWLz8MITak5UGCc82ZRib+SFJ5s5UeGc8EQoxeblhSfCnKhITniyK8Xm44UnuzlRUZzwRCvF3sQLT7Q5UTGc8MQqxebnhSfWnKg4TnhyKMUW4IUnhzlR8Zzw5FSKTeCFJ6c5UddxwnO9UmxBXniuNycqFyc8NyjF3swLzw3mROXmhCePUmwhXnjymBN1Iyc8eZViC/PCk9ecqHyc8NykFFuEF56bzInKzwlPAaXYorzwFDAnKoETnoJKscV44SloTtTNnPAUUootzgtPIXOiCnPCU0QptgQvPEXMiSrKCU8xpdiSvPAUMyeqOCc8JZRiS/HCU8KcqJKc8JRSii3NC08pc6JKc8Kj/qvqZXjhKWNOVFlOeMopxZblhaecOVHlOeGpoBRbjheeCuZEVUTCE/SVZPy5ryS/tCJ2WhG7rYi9VsQ+K+IbK+KAFfGtFfE/K+IHK+JHK+JnK+KIFXHUijhuRfxmRfxhRfxpRfwtR/pybC1Hs3L8KEdscowkRyVyHCAjbxnryuhSxnMygpIxi4wS5HVZXgnltUe29rJ9lS2abEOEaoVOpGVKW5DUl+UVF9L7SlLpvf3x44fo55RfYF9JfgGlTyUg7IH0iTf7leTn5tKnksPqMvqVZFbwK8nIWwjRhkN0izlRlc1HO/Xnk97Dmt6tLsbR4Feakbe56Ye5zykjb3fTD3PfPUZWcdMPcx8oRlZ10w9zXxJGVnPTD3Of/EVWd9MPc9/mRd7hph/mPqKLvNNNP8x97RZ5l5t+mPssLfJuN/0w9/1Y5D1u+mHuQ6/IGm76Ye6LrMiabvph7tOpyHvd9MPcN06Rtdz0w9zHSJH3uemHua+GImu76Ye5z3si67jph7nvcCLruumHuQ9mIu930w9zX7ZEPuCmH+Y+QYl80E0/DH4rUs/N+ZnBjzrqu+mHwa8vGrjph8HPJBq66YfB7xkauemHwQ8PHnLTD4NfCDzsph8Gr/I/4qYfBu/cP+qmHwYvxz/mph8Gb7E3dtMPg9fNm7jph8F74Y+76YfBC9xPuOmHwZvWT7rph8Er0U3d9MPg3eVmbvph8JLxU276YfA28NNu+mHw2u4zbvph8H5tczf9MHgR9lk3/TB4Y7WFm34YvFra0k0/DN4BbeWmHwYva7YG/Ai+rJnTvqwZeZsVebsVWcWKrGpFVrMiq1uRd8hRvJxiywGwnJ3KsaOc2Mlhl5wTyRGLnE7IYF9m4jJOlkmsDDFl/iejM5k6ycBGZh0yJpA3bHk5lfc6eSWStwnZiMseVrZ/snOSTYfwtVCdsIQ0WOlNUtZSEZJMsg7iQmb+pEVkZfBWZ+St0GXNyMrQtbc2jtInp9HLmiavDzL8cOP63nNu+mHw+l5bN/0weH3veTf9MHh97wU3/TB4fa+dm34YvL7X3k0/DF7f6+CmHwav73V00w+D1/c6uemHwet7nd30w+D1vUQ3/TB4fa+Lm34YvL7X1U0/DF7f6+amHwav73V30w+D1/dedNMPg9f3erjph8Hrez3d9MPg9b2X3PTD4PW9l930w+D1vVfc9MPg9b1ebvph8Ppebxf9MHl971U3/TB4fa+Pm34YvL7X100/DF7f6+emHwav773mph8Gr+/1d9MPg9f3Brjph8Hre6+76YfB63sD3fTD4PW9QW76YfD63mA3/TB4fW+Im34YvL73hpt+GLy+N9RNPwxe3xvmph8Gr+8Nd9MPg9f3Rrjph8Hre0lu+mHw+p7PTT8MXt9LdtMPg9f3Utz0w+D1vZFu+mHw+t4oN/0weH1vtJt+GLy+Nwbw4+Kfb1PdTstiheaB7rp5yyCoKmsINhaBbSwL2biSYKPlLW+FhmJWllfcGjx29uw/4rKGlWrdR6ywRcnQrcWxiC9VlwNWvlMjsW27dm3b1Gzert3IuJS+Mx9u26FNu1aYxZFjJRTIjsMvFSjeBAfgLB5f3xn3JCY277nPk2BFjrMix1uRE6zIiVbkJCtyshU5xYqcakVOsyLftCLfsiKnW5EzrMiZVuTbVuQsK3K2FTnHinzHipxrRc6zIudbkQusyIVW5CIrcrEVucSKXGpFLrMil1uRK6zIldDNz74La7Rr3uKFGh173NetQws7qH1nPHRP/dq1kvu+3bht1w6tunQRO8Mh2HgMNgGDTcRgkzDYZAw2BYNNxWDTMNibGOwtDDYdg83AYDMx2NsYbBYGm43B5mCwdzDYXAw2D4PNx2ALMNhCDLYIgy3GYEsw2FIMtgyDLcdgKzDYyvALf057JERW49SUKlQyXomyCWcCorHaKof0rHTk2Dm2m5gxKvn4OdSkDFF/pKSiJkOOvGvUkQMn/lM+JQNUjYN+1NT0UUk1z6OmQY6sNudIR19A+ZvpoVZ2CkK9lQ6qx6pg1HTIkTWGHKnd8wLlM9JEHapzIWpmWqiKP16EehtyZK0JR4pVulj5rEtRTYtfgpp9Capxs0tRcyBH1mXakT5N0lD+zkWoPn3TQs29ELWsb5qoeZAj6zPnyL3L01Y+PxjVoFY6qAVBqBUN00MthBzZkAlHiq9MV/mi86gpJdJHnf/V+PJTM0AtgRzZqOvIgQoZKV+aiup8MEPUsnOoeokZo5ZDjrzHeF8NzSMvgOc4sUV9hZUrBFWupQq1EnmrrbYKQr0LoVZDqDUQai2EWgeh1kOoDRBqI4R6z+msIMYXeFHHRmQrldvA7edktu/UrpUVuQp733actZErRbZqymLbYsMQee+qC1DPynd9kJXvOl252GSNlVOAtjma2iQHlnl14HGNuQnLagy25qL3mRQsGtD7zGro3WgNENkLTMTmg5jytRr1pZRqs8K70KxVBseIlesY3BW5VgT7jOnPZGdcoUyoSUGdcT2rM8qUcz3QGSfZMETeBkpnFCs3+CArN2hkDpTf60zmt+NNJtYCNkCo94BEyiR5rFCCJuqSx/uBxw/Mkcf7GOwDLfJYAZHH+9DifQBEViNzMOUfUlrQRklJrC1/RKGFD0Wwm/rXieAUjJYwKyHUx067gHOKW65M+yVBFPcJi+LkLO8TgOKW2DBE3iYKxYmVm3yQlZtYL/YfY1XwKYe8NkGoz/jkpT5CX6xLXpsDj5Y58tqMwSwt8loOkddmaPEsILIamYMp30JpLp9KSmJls5VCHltEMEc/GPytEGob47XzPHOqRKcypxqFMed2xitG5DYRbDLin/P5fZmyM4wI4vcvWPy+TGQD/D7ChiHyvqTwu1j5pQ+y8ksWv3+ONYodnEbxJYTayef3ZUrQcF1+3xV43G2O33dhsN1a/L4M4vdd0OLtBiKrkTmY8j2U5rJDUhIrm70Uft8jgjn6weDvhVBfUYLv50Q1EuPEfRTm/koEm4zl13zmXqqs+YQg5v6GxdxLRTbA3Ak2DJG3n8LcYuV+H2TlfhZzf421gAOcFrAfQh3kM/dSJaiALnN/G3j8zhxzf4vBvtNi7qUQc38LLd53QGQ1MgdT/j9KczkgKYmVzfcU5v6fCOboB4P/PYT6gRJ8PyeqkRgnHqIw9w8i2GQsf+Qz9xJlzW8LYu6fWMwtY+ifAObeZsMQeT9TmFus/NkHWfkzi7l/xFrAYU4L+BlCHeEz9xIlaKsuc/8SeDxqjrl/wWBHtZh7CcTcv0CLdxSIrEbmYMqPUZrLYUlJrGyOU5j7mAjm6AeDfxxC/UoJvp8T1UiME3+jMPevIthkLH/nM/diZc03D2LuP1jMvVhkA8zd3IYh8k5QmFusPOGDrDzBYu7fsRbwJ6cFnIBQf/GZe7ES9Iwuc/8deDxpjrn/xmAntZh7McTcf0OLdxKIrEbmYMr/oTSXPyUlsbL5l8Lc/4hgjn4w+P9CqFOU4Ps5UY3EOPE0hblPiWCTsTzDZ+5FyprfHcTcZ1nMvUhkA8y924YB8rJ7KMy9SAT7ECtt/Qpxmsx9BmoB2bNQWkB2D4TKymfuRUrQLk3mzh4SePQaY+7sIRjMq8XcixDmzh4CLZ4XiKxG5mDKQxnNJbv8NytWNmGMss0eKoI5+sHgh0GobJTO7udENRLixOzhDObOnk0Em4xlBJ+5Fyprvm6AubNHsph7ocgGmLuuDUOKJTuFucXK7D7Iyuwk5s4egbWAKE4LyA6hovnMvVAJqqPL3DGBx1hzzB2DwWK1mHshxNwx0OLFApHVyBxMeRyFuaMkJbGyyUFh7jgRzNEPBj8HhIqnBN/PiWokxok5KcwdL4JNxvI6PnMvUNb8oiDmvp7F3AtENsDci2wYkgW5KMwtVubyQVbmYjH3dVgLuIHTAnJBqNx85l6gBC3UZe48gccbzTF3Hgx2oxZzL4CYG/pkPvuNQGQ1MgdTnpdCHjdISmJlk4/C3HlFMEc/GPx8EOomSvD9nKhGYpyYn8LcN4lgk7EswGfu+cqaXxPE3Aks5p4vsgHmXmPDkCwoSGFusbKgD7KyIIu5C2At4GZOCygIoQrxmXu+ErRal7kLBx6LmGPuwhisiBZzz4eYuzC0eEWAyGpkDqa8KIU8bpaUxMqmGIW5i4pgjn4w+MUgVHFK8P2cqEZinFiCwtzFRbDJWJbkM/c8Zc0/EMTcpVjMPU9kA8z9gA1DsqA0hbnFytI+yMrSLOYuibWAMpwWUBpCleUz9zwl6H5d5i4XeCxvjrnLYbDyWsw9D2LuctDilQciq5E5mPIKFPIoIymJlU1FCnNXEMEc/WDwK0KoSpTg+zlRjcQ48RYKc1cSwSZjWZnP3HOVNd8niLlvZTH3XJENMHcfG4ZkwW0U5hYrb/NBVt7GYu7KWAu4ndMCboNQVfjMPVcJelWXuasGHquZY+6qGKyaFnPPhZi7KrR41YDIamQOprw6hTxul5TEyuYOCnNXF8Ec/WDw74BQd1KC7+dENRLjxLsozH2nCDYZy7v5zP2OI+a+h8Xc74hsjLnvgbKgBoW5xcoaGHPXYDH33VgLqMlpATUg1L185n6Hx9y1Ao/3mWPuWhjsPi3mfgdi7lrQ4t3HYW5MeW0KedSUlMTKpg6FuWuLYI5+MPh1IFRdSvD9nKhGYpx4P4W564pgk7F8gM/cc5Q1PzuIuR9kMfcckQ0w92wbhmRBPQpzi5X1fJCV9VjM/QDWAupzWkA9CNWAz9xzlKBZuszdMPDYyBxzN8RgjbSYew7E3A2hxWsERFYjczDlD1HIo76kJFY2D1OY+yERzNEPBv9hCPUIJfh+TlQjMU58lMLcj4hgk7F8jM/cs5U1Pz2IuRuzmFvIrjHA3NNtGJIFTSjMLVY28UFWNmEx92NYC3ic0wKaQKgn+Mw9Wwl6S5e5nww8NjXH3E9isKZazD0bYu4nocVrCkRWI3Mw5c0o5PG4pCRWNk9RmLuZCOboB4P/FIR6mhJ8PyeqkRgnPkNh7qdFsMlYNucz9yxlze8JYu5nWcw9S2QDzL3HhiFZ0ILC3GJlCx9kZQsWczfHWkBLTgtoAaFa8Zl7lhK0W5e5Wwce25hj7tYYrI0Wc8+CmLs1tHhtgMhqZA6m/DkKebSUlMTKpi2FuZ8TwRz9YPDbQqjnKcH3c6IaiXHiCxTmfl4Em4xlOz5zv62s+S1BzN2exdxvi2yAubfYMCQLOlCYW6zs4IOs7MBi7nZYC+jIaQEdIFQnPnO/rQRZuszdOfCYaI65O2OwRC3mfhti7s7Q4iUCkdXIHEx5Fwp5dJSUxMqmK4W5ZV27cvSDwe8KobpRgu/nRDUS48TuFObuJoJNxvJFPnPPVNZ8niDm7sFi7pkiG2DuPDYMyYKeFOYWK3v6ICt7spj7RawFvMRpAT0h1Mt85p6pBOXWZe5XAo+9zDH3KxislxZzz4SY+xVo8XoBkdXIHEx5bwp5vCQpiZXNqxTm7i2COfrB4L8KofpQgu/nRDUS48S+FObuI4JNxrIfn7lnKGt+VRBzv8Zi7hkiG2DuVTYMyYL+FOYWK/v7ICv7s5i7H9YCBnBaQH8I9TqfuWcoQSt1mXtg4HGQOeYeiMEGaTH3DIi5B0KLNwiIrEbmYMoHU8hjgKQkVjZDKMw9WARz9IPBHwKh3qAE38+JaiTGiUMpzP2GCDYZy2F85p6urPlBQcw9nMXc00U2wNyDbBiSBSMozC1WjvBBVo5gMfcwrAUkcVrACAjl4zP3dCVooC5zBz2mmGPuZAyWosXc0yHmxpY4BYisRuZgqJEU8kiSlMTKZhSFuUeKYI5+MPijINRoSvD9nKhGYpw4hsLco0WwyViO5TP3W8qarxPE3ONYzP2WyAaYu44NQ7JgPIW5xcrxPsjK8SzmHou1gAmcFjAeQk3kM/dbSlBtXeaeFHicbI65J2GwyVrM/RbE3JOgxZsMRFYjczDlUyjkMUFSEiubqRTmniKCOfrB4E+FUNMowfdzohqJceKbFOaeJoJNxvItPnO/qax5XxBzT2cx95siG2Bunw1DsmAGhbnFyhk+yMoZLOZ+C2sBMzktYAaEepvP3Or6TdJl7lmBx9nmmHsWBputxdxvQsw9C1q82UBkNTIHUz6HQh4zJSWxsnmHwtxzRDBHPxj8dyDUXErw/ZyoRmKcOI/C3HNFsMlYzucz9zRlzXcKYu4FLOaW9V0AMHcnG4ZkwUIKc4uVC32QlQtZzD0fawGLOC1gIYRazGdu9ftBR13mXhJ4XGqOuZdgsKVazD0NYu4l0OItBSKrkTmY8mUU8lgkKYmVzXIKcy8TwRz9YPCXQ6gVlOD7OVGNxDhxJYW5V4hgk7FcxWfuqcqaXxfE3O+ymHuqyAaYe50NQ7JgNYW5xcrVPsjK1SzmXoW1gDWcFrAaQq3lM7d6rLhWl7nXBR7Xm2PudRhsvRZzT4WYex20eOuByGpkDqZ8A4U81khKYmWzkcLcG0QwRz8Y/I0Q6j1K8P2cqEZinPg+hbnfE8EmY/kBn7mnKGs+IYi5P2QxtxwFfQgwd4INQ7LgIwpzi5Uf+SArP2Ix9wdYC/iY0wI+glCf8JlbfSBaQJe5NwUePzXH3Jsw2KdazD0FYu5N0OJ9CkRWI3Mw5Z9RyONjSUmsbDZTmPszEczRDwZ/M4SyKMH3c6IaiXHiFgpzWyLYZCy38pl7srLmo4KYexuLuSeLbIC5o2wYkgXbKcwtVm73QVZuZzH3VqwFfM5pAdsh1Bd85lbfo8quy9xfBh53mGPuLzHYDi3mngwx95fQ4u0AIquROZjynRTy+FxSEiubXRTm3imCOfrB4O+CULspwfdzohqJceIeCnPvFsEmY7mXz9yTlDXfIYi5v2Ix9ySRDTB3BxuGZME+CnOLlft8kJX7WMy9F2sBX3NawD4I9Q2fuScpQe11mXt/4PGAOebej8EOaDH3JIi590OLdwCIrEbmYMoPUsjja0lJrGy+pTD3QRHM0Q8G/1sI9R0l+H5OVCMxTvwfhbm/E8EmY/k9n7knKms+RxBz/8Bi7okiG2DuHDYMyYJDFOYWKw/5ICsPsZj7e6wF/MhpAYcg1E985lZ/eBany9w/Bx4Pm2PunzHYYS3mnggx98/Q4h0GIquROZjyIxTy+FFSEiubXyjMfUQEc/SDwf8FQh2lBN/PiWokxonHKMx9VASbjOVxPnMDH/4GMfevLOaeILIhg7P/RuFk0f9bEottj2Nl+zunbH+DUH9oLCvgkghGwprJJB7vKIlPsJJ4vMjGkvhPShKL/j8pSWyv45/mkjiTqz1ObUfQav/FWu1xIhurwL+gnPibkhNi5d/Yyv1NoUTJnL8x4v4dsvIkI7/tKJ0k/XjVSQj1D2XX5N+PqJHYfuRfSnP5RwRjVmKxPMXi8VNQIYXmcdoC41LOt0DIFm9pUYKkK/7u6klw9KLr6zvjnsTE5j33eRKs7Ket7Ges7GetKI8VlcWKympFhVhRXisq1IoKs6KyWVHhVlSEFRVpRWW3oqKsqGgrKsaKirWi4qyoHFZUvBWV04q6zoq63orKZUXdYEXltqLyWFE3WlF5rah85l6eT4dDsDMY7CwEi/JgsCwYLCsGC8FgXgwWisHCMFg2DBaOwSIwWCQGy47BojBYNAaLwWCxGCwOg+XAYPEYLCcGuw6DXY/BcmGwGzBYbgyWB4PdiMHyYrB84c756hxHQHxV7ROnG599noIQEZ+GBopnlCib+s+qULbTUZ6MUcnHz6GyZIj6IyUVlTUj1IET/6FCMkDVOOhHedNHJdU8jwpNF9XRF0CFpYda2SkIlS0dVI9VwajwtFG1e16AikgTdajOhajItFAVf7wIlT0NVLFKF6OiLkU1LX4JKvoSVONml6JiLkb1aZIGKvYiVJ++aaHiLkQt65smKscFqHuXp42KD0Y1qJUOKmcQakXD9FDXBVDFV6aLuv48akqJ9FG5/KjyUzNA3fAf6kCFjFC5U1GdD2aIynMOVS8xY9SNNqpFfQUqr6DKtVSh8iGvG1BjzNwsIyqfskNuD8wyom4izTKi8ols4OB0uw1D5OVnzDJsK/P7ICvzO105x2eH9sopQNs0zw6jCgQeE4y9/kQVwGAJOmeH5wpKSfVRBZBtQ1QCEFnngxhQeUHGHFyGB1H5oRFHaB7IypsZI46ogiLYZ0x/JjtjXmVCTQrqjIVYnVFGEIWAzjjJhiHyClM6o1hZ2AdZWZgx5bXz+2aT+V2EMouNKgyhitIvntjJrQBN1CWPYoHH4ubIoxgGK65FHnkh8igGLV5xILIamYMpL0FpQUUkJbG2XJJCCyVEsJv6bxbBKRgtYVZCqFL0uxdRNyrTfkkQxZVmUZwM2ksDFLfEhiHyylAoTqws44OsLEM6/4kqhVVBWQ55lYFQ5fjkdaMStFiXvMoHHiuYI6/yGKyCFnndCJFXeWjxKgCR1cgcTHlFSnMpKymJlU0lCnlUFMEc/WDwK0GoWxivneeZUyU6lTnVKIw5KzNeMaJuEcEmI34rn9/zKDvDiCB+v43F78JctwH8PsKGIfJup/C7WHm7D7Lydha/34o1iiqcRnE7hKrK53f1/ZXhuvxeLfBY3Ry/V8Ng1bX4PQ/E79WgxasORFYjczDld1CaSxVJSaxs7qTw+x0imKMfDP6dEOouSvD9nKhGYpx4N4W57xLBJmN5D5+5cytrPujX/6JqsJg7t8iGfv1PYIi8mhTmFitrQr/+Z+tXiNNk7nuwFnAvpwXUhFC1+MydWwnS/fW/qPsCj7XNMfd9GKy2FnPnhpj7PmjxagOR1cgcTHkdSnO5V1ISK5u6FOauI4I5+sHg14VQ91OC7+dENRLjxAcozH2/CDYZywf5zH2Dsua3BTF3PRZz3yCyAebeZsMQefUpzC1W1vdBVtZnMfeDWAtowGkB9SFUQz5z36AEbdVl7kaBx4fMMXcjDPaQFnPfADF3I2jxHgIiq5E5mPKHKc2lgaQkVjaPUJj7YRHM0Q8G/xEI9Sgl+H5OVCMxTnyMwtyPimCTsWzMZ+5cyppvHsTcTVjMnUtkA8zd3IYh8h6nMLdY+bgPsvJxFnM3xlrAE5wW8DiEepLP3LmUoGd0mbtp4LGZOeZuisGaaTF3Loi5m0KL1wyIrEbmYMqfojSXJyQlsbJ5msLcT4lgjn4w+E9DqGcowfdzohqJcWJzCnM/I4JNxvJZPnNfr6z53UHM3YLF3NeLbIC5d9swRF5LCnOLlS19kJUtWcz9LNYCWnFaQEsI1ZrP3NcrQbt0mbtN4PE5c8zdBoM9p8Xc10PM3QZavOeAyGpkDqa8LaW5yEq2xsrmeQpztxXBHP1g8J+HUC9Qgu/nRDUS48R2FOZ+QQSbjGV7PnNfp6z5ukHM3YHF3NeJbIC569owRF5HCnOLlR19kJUdWczdHmsBnTgtoCOE6sxn7uuUoDq6zJ0YeOxijrkTMVgXLea+DmLuRGjxugCR1cgcTHlXSnPpJCmJlU03CnN3FcEc/WDwu0Go7pTg+zlRjcQ48UUKc3cXwSZj2YPP3DmVNb8oiLl7spg7p8gGmHuRDUPkvURhbrHyJR9k5Uss5u6BtYCXOS3gJQj1Cp+5cypBC3WZu1fgsbc55u6FwXprMXdOiLl7QYvXG4isRuZgyl+lNJeXJSWxsulDYe5XRTBHPxj8PhCqLyX4fk5UIzFO7Edh7r4i2GQsX+Mzd7yy5tcEMXd/FnPHi2yAudfYMETeAApzi5UDfJCVA1jM/RrWAl7ntIABEGogn7njlaDVusw9KPA42BxzD8Jgg7WYOx5i7kHQ4g0GIquROZjyIZTm8rqkJFY2b1CYe4gI5ugHg/8GhBpKCb6fE9VIjBOHUZh7qAg2GcvhfObOoaz5B4KYewSLuXOIbIC5H7BhiLwkCnOLlUk+yErW392JGo61AB+nBSRBqGQ+c+dQgu7XZe6UwONIc8ydgsFGajF3Doi5sd+bGglEViNzMOWjKM3FJymJlc1oCnOPEsEc/WDwR0OoMZTg+zlRjcQ4cSyFuceIYJOxHMdn7jhlzfcJYu7xLOaOE9kAc/exYYi8CRTmFisn+CArJ7CYexzWAiZyWsAECDWJz9xxStCrusw9OfA4xRxzT8ZgU7SYOw5i7snQ4k0BIquROZjyqZTmMlFSEiubaRTmniqCOfrB4E+DUG9Sgu/nRDUS48S3KMz9pgg2GcvpfOaOdcTcM1jMHSuyMeaeAbk1k8LcYuVMjLlnsph7OtYC3ua0gJkQahafuWN5zD078DjHHHPPxmBztJg7FmLu2dDizeEwN6b8HUpzeVtSEiubuRTmfkcEc/SDwZ8LoeZRgu/nRDUS48T5FOaeJ4JNxnIBn7ljlDU/O4i5F7KYO0ZkA8w924Yh8hZRmFusXOSDrFzEYu4FWAtYzGkBiyDUEj5zxyhBs3SZe2ngcZk55l6KwZZpMXcMxNxLocVbBkRWI3Mw5cspzWWxpCRWNisozL1cBHP0g8FfAaFWUoLv50Q1EuPEVRTmXimCTcbyXT5zRytrfnoQc69mMXe0yAaYe7oNQ+StoTC3WLnGB1m5hsXc72ItYC2nBayBUOv4zB2tBL2ly9zrA48bzDH3egy2QYu5oyHmXg8t3gYgshqZgynfSGkuayUlsbJ5j8LcG0UwRz8Y/Pcg1PuU4Ps5UY3EOPEDCnO/L4JNxvJDPnNHKWt+TxBzf8Ri7iiRDTD3HhuGyPuYwtxi5cc+yMqPWcz9IdYCPuG0gI8h1CY+c0cpQbt1mfvTwONn5pj7Uwz2mRZzR0HM/Sm0eJ8BkdXIHEz5Zkpz+URSEisbi8Lcm0UwRz8YfAtCbaEE38+JaiTGiVspzL1FBJuM5TY+c2dX1vyWIObezmLu7CIbYO4tNgyR9zmFucXKz32QlZ+zmHsb1gK+4LSAzyHUl3zmzq4EWbrMvSPwuNMcc+/AYDu1mDs7xNw7oMXbCURWI3Mw5bsozeULSUmsbHZTmHuXCOboB4O/G0LtoQTfz4lqJMaJeynMLS9be03G8is+c0cqaz5PEHPvYzF3pMgGmDuPDUPkfU1hbrHyax9k5dcs5v4KawHfcFrA1xBqP5+5I5Wg3LrMfSDweNAccx/AYAe1mDsSYu4D0OIdBCKrkTmY8m8pzeUbSUmsbL6jMPe3IpijHwz+dxDqf5Tg+zlRjcQ48XsKc/9PBJuM5Q985o5Q1vyqIOY+xGLuCJENMPcqG4bI+5HC3GLljz7Iyh9ZzP0D1gJ+4rSAHyHUz3zmjlCCVuoy9+HA4xFzzH0Ygx3RYu4IiLkPQ4t3BIisRuZgyn+hNJefJCWxsjlKYe5fRDBHPxj8oxDqGCX4fk5UIzFOPE5h7mMi2GQsf+Uzd7iy5gcFMfdvLOYOF9kAcw+yYYi83ynMLVb+7oOs/J3F3L9iLeAPTgv4HUKd4DN3uBI0UJe5/ww8/mWOuf/EYH9pMXc4xNx/Qov3FxBZjczBlP9NaS5/SEpiZXOSwtx/i2COfjD4JyHUP5Tg+zlRjcQ48V8Kc/8jgk3G8hSfubMpa75OEHOfZjF3NpENMHcdG4bIO0NhbrHyjA+y8gyLuU9hLeAspwWcQVDRHj5zZ1OCamsyd3SWwGNWY8wdnQWDZdVi7mwIc0dngRYvKxBZ55kDKg+hNJezkpJQ2UR7GWUbHSKCOfrB4HshVCgl+H5OVCMhTowOYzB3dKgINhnLbHzmDlPWvC/A3NHhLOYOE9kAc/tsGFIsERTmFisjfJCVESTmjs6GtYBITguIgFDZ+cytrt8kXeaOCjxGm2PuKAwWrcXcYRBzR0GLFw1EViNzMOUxjOYSHSkpiZVNLIW5Y0QwRz8Y/FgIFUcJvp8T1UiME3NQmDtOBJuMZTyfuUOVNd8piLlzsphb1jcnwNydbBiSBddRmFusvM4HWXkdi7njsRZwPacFXAehcvGZW/1+0FGXuW8IPOY2x9w3YLDcWswdCjH3DdDi5QYiq5E5mPI8FPK4XlISK5sbKcwtZXsjRz8Y/BshVF5K8P2cqEZinJiPwtx5RbDJWN7EZ26vsubXBTF3fhZze0U2wNzrbBiSBQUozC1WFvBBVhZgMfdNWAtI4LSAAhCqIJ+51WPFtbrMfXPgsZA55r4ZgxXSYm4vxNw3Q4tXCIisRuZgygtTyCNBUhIrmyIU5i4sgjn6weAXgVBFKcH3c6IaiXFiMQpzFxXBJmNZnM/cIcqaTwhi7hIs5pajoBIAcyfYMCQLSlKYW6ws6YOsLMli7uJYCyjFaQElIVRpPnOrD0QL6DJ3mcBjWXPMXQaDldVi7hCIuctAi1cWiKxG5mDKy1HIo5SkJFY25SnMXU4Ec/SDwS8PoSpQgu/nRDUS48SKFOauIIJNxrISn7mzKms+Koi5b2Exd1aRDTB3lA1DsqAyhbnFyso+yMrKLOauhLWAWzktoDKEuo3P3Op7VNl1mfv2wGMVc8x9OwarosXcWSHmvh1avCpAZDUyB1NelUIet0pKYmVTjcLcVUUwRz8Y/GoQqjol+H5OVCMxTryDwtzVRbDJWN7JZ+4syprvEMTcd7GYWxbuLoC5O9gwJAvupjC3LdgHWXk3i7nvxFrAPZwWcDeEqsFn7ixKUHtd5q4ZeLzXHHPXxGD3ajF3Foi5a0KLdy8QWY3MwZTXopDHPZKSWNncR2HuWiKYox8M/n0QqjYl+H5OVCMxTqxDYe7aIthkLOvymdujrPkcQcx9P4u5xdn7AebOYcOQLHiAwtxi5QM+yMoHWMxdF2sBD3JawAMQqh6fudUfnsXpMnf9wGMDc8xdH4M10GJuD8Tc9aHFawBEViNzMOUNKeTxoKQkVjaNKMzdUARz9IPBbwShHqIE38+JaiTGiQ9TmPshEWwylo/QmTs78OFvEHM/SmLu7GdFNmRw9GMMTrb1P5bEYttHsLJtzCnbxyBUE41lBVwSwUhYM5nEZxwl8eOsJD4jsrEkfoKSxKL/CUoS2+v4hLkkzuRqn1bbEbTaT7JW+7TIxirwSSgnmlJyQqxsiq1cUwolSuY0xYi7MWRlM0Z+21FqlsRpv80g1FOUXZN/P6JGYvuRpynN5SkRjFmJxfIZFo8/AxVSaB6nibTPE2+7nyXjf2NF2n9MTwES1ErEyOynkZe97GeUqHObJxUKeb1MPg6Mj/9IOa4+Hj5w4j9URte/ahz0ozK43p1U8zwq/c+3OvoCqDAk9tXWQSjor2tW2wChNkIo6E8+VTvsPL3zpSd4Zaeg4KX3qzQ9VgWj0vnVudo9L0Cl/fMFh+pciErzV+Mr/ngRKq2/ClOs0sWoND57b1r8EtSlf9W1cbNLUZf81fY+TdJAXfwtVp++aaHiLkQt65smKscFqHuXp42KD0Y1qJUOKmcQakXD9FBBn6kWX5ku6vrzqCkl0kfl8qPKT80A5f+88UCFjFC5U1GdD2aIynMOVS8xY9S5O/ct6itQeQVVrqUKlQ8qzlUQ6l0ItRpCQX8+utpaCHXEaWtJgTYEzZHNRbXDEOoI/f0murmjt9lnSe830c1FNmZwC8abi62/RRInIVpiRGcsZzOZEC0dJUQrVkK0FNmYwa0pCSH6WzseJnmDDoX2eRKwAYMSlcWTujdWgDype2MFyJO6N1aAPKl7YwXIk7o3VoA8qXtjBciTujdWgDype2MFyJO6N1aAPKmbQAXIk7oJVIA8qZtABciTuglUgDypm0AFyJO6CVSAPKmbQAXIk7oJVIA8qZtABciTuglUgDypm0AFyJO6CVSAPKmbQAXIk7oJVIA8qZtABciTuglUgDypm0AFyJO6CVSAPKmbQAXIk7oJVL7bn9sEKt/to5AfVnDa7iLHIe0ucjzS7iInIO0uciLS7iInIe0ucjLS7iKnIO0ucirS7iKnIe0u8k2k3UW+hbS7yOlIu4ucgbS7yJlIu4t8G2l3kbOQdhc5G2l3kXOQdhf5DtLuIuci7S5yHtLuIucj7S5yAdLuIhci7S5yEdLuIhcj7S5yCdLuIpci7S5yGdLuIpebHGWq213QxrcNeCTRWka00D4WmuQi93HaaJyd2gPn1smYmdBLz3NOt86hvmtccgnoGpcEoa5xiR91jUv8qKuYS4Kub7YNPD4Pjieekz7PuX3RRoRjZ/gvUPS3FcGY/naGCLPd5j4adj4P29nekJ3t07ATWCVxELKzerTGeioPoWz97TH9MQ71yzYBWanIcWKEEnhupwAAUzcLauB/+wUl0L9lUAHP7xoUwMDGIWNg0N4hQ2Dw9iEj4AU7iAyAF24i0gdetI9IF3jxViI94CW7iXSAl24o0gamsadIE5jWtiItYJo7izSAaW8uLgWms7+4BJjeFuNiYLq7jIuA6W80LgRmsNe4AJjRdiMYmOGOIwiY8aYjAFTsO84DVVsPP1C5+/gPqN6ApAKBPYgAoVe66tEQCmnPF7zShSVn+D3LxVTh9KAKoP+g9/UOqFhkV4OwdQflqdelrcEmyw4YWeZ3SJZJI5OVS2AbAO1oOhpMq/yG4t3xot1Rmg5f7BrqcCdB5azg2VVgf+WepXLd2rFB9/77H5nX+7q3ShyKzX20W/XuJ/d1lAoR1E2V6k3Y+NDzC4dVja1dMfKLXl+8/nylnSMG9yv5e5/GPcMKJZtzuJM4nNkRyrXTR48fde300Y+6dvroR107ffSjrsjTx6ARSufAY6JJpnc+FxAK74zNBboYIoIuWvMLsTMRs7OrITu76s4vumBbortY84uumH6nP30Dzi/s70Wg+YX9SRY0v7A/QITmF/avB0DzC/sHgqD5hf0bgND8wv6ZX2h+Yf+SPzS/sP9YDzS/sP8eHzS/iMoGzi+iwsH5RVQEOL+IigTnF1HZwflFVBQ4v4iKBucXUTHg/CIqFpxfRMWB84uoHOD8IioenF9E5QTnF1HXgfOLqOvB+UVULnB+EXUDOL+Iyg3OL6LygPOLqBvB+UVUXnB+EZUPnl9Av4wGtefLOb8A6D9oftHtcs8vumnOL7phZNkQMJM2v+huMK0aGop3d+b84kVofnE3NL8w5fCLF88vwpIJI0BuVfa43FXZQ7Mqe2BV6fjHXEZhJ8UQqid2SmmwdhsZWpWeadWu2uGXoHqLMVi7phx+6drs8drs0Y+6Nnv0o67NHv2o/0+zx5cDj6+AQy3/JSuFkizYRVrnQzVbP/YrGM9BTNaLMkp9WQRjI8rehnitt9Yo9RXYzlcN2fmq1ii1lziI7QO7ZD7r0hiliv5XMf1dHep3MErthY5SlUD/KFUFPD9K7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWOUnuho9Re6Ci1FzpK7YWNUrtAKKQ9X85RKkD/QUObPqhYZFeDsHUfnaGNkGUfjCz7c0apvaAdTV+DadXfULz76o1SMYf7QeOYrtA4xpTD/QyMY659Tefxo659TedHXfuazo+69jWdH3Wlf033WuCxv0mmdz4XEAp/DZsLDDBEBAO05hdiZ3/MztcN2fm67vxiALYlmsGaX7yO6Z/JmV/Yn7JB8wv7UzZofmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNml/Yn7JB8wv7UzZofmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNml/Yn7JB8wv7UzZofmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNml/Yn7JB8wv7UzZofmF/ygbNL+xP2aD5hf0pGzS/sD9lg+YX9qds0PzC/pQNnF/MgFBIe76c8wuA/oPmFwMv9/xioOb8YiBGlsvdnF8MMphWyw3FexBzfjEYml/MhOYXphwenPmrYMgJILUqh1zuqhyiWZVDsKpc4bQqsatgWJK+gZ1SGqzdFYZW5Q29q2BDoXrrarB2TTk8VOdVzv69sRYmf29sGOsFfliSVpyWNuzYpVXblh07VGzYKrF9t67Nu7bt2CF5ZCBuYW8Enr1lg57LBZ5Dho+0oodb0SOs6CQr2pdZNdHDg9SUD8IkiZpkKzrFipaHURp/zdFbGup82N+wGc0JePTooOeUoOdgzCgJwBgreqwVLW/a4zP5U9reCsq/enImiEAmkH5K21tBZAN/qPaMDUOWcSLjB7dtKyf6ICsnkipyYlB5lAlKijEXVaQMOGR0IUOJqXp/2WciNmubxmhpdpinYWGeRgrzm0FhrhgU5kkXhVlGLzJUkXHJjMzWYRlHG7mZrDosI7KxLeLblAoT/W/r/GYcxOYTTbL5LAqby/hrFuU387xHrIgPsV31Kob+sMVWxAeY/ned7uqxv3ExG9pjr4JQ7zKKz07R2VjfnWNoYzwnQSeS71zWSF642Mlosn+EZuVHWMjnsgz9GDX0Y8zQeU4Hh0F/Jh41OmwuZPRcsRtik7DFGYPOnj17HP3D8+cmCkFnrfMDjwvM/eH5+RhsQYJWqw6bi7XK9ZRW7V82tf4NOgMYtQGLk4G/jBg9HyqHBVAbWg+hNgBZqrUzmZ/E6i6fgt0lEvxB3YUsQz9DDW2LGbqIZehm1NDnMUMXk7ZbkeBP/y5h6cd+0jd6KUs/9pO+0ctY+rFfSYxeztLfEdO/gqW/E6Z/JUs/+BNXrNedSPCnq95l6cd+kip6NUs/9pNU0WtY+rFf+Yhey9LfHdO/jqX/RUz/epZ+7Pccojew9PfE9G9k6X8J0/8eS//LmP73WfpfwfR/wNIPfu/6IUs/9h1r9Ecs/dh3rNEfs/RjnwZFf8LS3xfTv4mlvx+m/1OWfvBe92cs/eB97c0s/dg97GiLpR+7hx29haUfu9oWvZWlfxCmfxtL/2BM/3aWfuwSU/TnLP1vYPq/YOkfiun/kqV/GKZ/B0v/cEz/Tpb+EZj+XSz9SZj+3Sz9Pkz/Hpb+ZEz/Xpb+FEz/Vyz9IzH9+1j6R2H6v2bpH43p/4alfwymfz+iv16r9h0Te9bt0LZrSt59nvJyDiATdpldy/hYJrgyRJU5powSZZonAzWZaclYSSY7MlyR+YaMGOQtX1605V1XXjfljU9euuS9R149ZPcvG3DZA8s2VHaCshmT/ZBsSWRXIMQs3Cj0JAwhTVr6pLQq6RZSsFIzkraSObJ4Ej9xYWaqfeob6Rf9J0R51vRfkA4gspBTpBDnh2bw5YED2IIfBPTPSg1og07JeVOQQ1MPerP8oDlR3zJOeOyrlbMg4DQr+k0s4N85rLB8V0mFJaPHm9+iGfwd9oNv30Jh/5+jPM8H5XkWF/L8fw7z3Gjj+/6yNj7NW1PfY3X4AyEh4FX8wZyoQy76EWGZ8+NHN/3YYc6Pn9z0Y5c5P35204895vw47KYfX5nz44ibfnxtzo9f3PRjvzk/jrrph8ENxTE3/fjOnB/H3fTje3N+/OqmH4fM+fGbm378ZM6P393047A5P/5w049fzPlxwk0/jpnz4083/fjVnB9/uenH7+b8+NtNP06Y8+Okm378Zc6Pf9z046Q5P/51049/zflxyk0/Tpvz47Sbfpw158cZF/2IzGLOj7Nu+hFiTFSMx00/Qs35kcVNP7KZ8yOrm35EmPMjxE0/spvzw+umH9Hm/Ah1049Yc36EuelHDnN+ZHPTj5zm/Ah304/rzfkR4aYfN5jzI9JNP/KY8yO7m37kNedHlJt+3GTOj2g3/Shgzo8YN/0oaM6PWDf9KGTOjzg3/Shizo8cbvpRzJwf8W76UcKcHznd9KOUOT+uc9OPMub8uN5NP8qZ8yOXm35UMOcHsOW84D7nTefuc/5oRf9kRf9sRR+2oo9Y0b9Y0UflKF5OseUAWM5O5dhRTuzksEvOieSIRU4nZLAvM3EZJ8skVoaYMv+T0ZlMnWRgI7MOGRPIG7a8nMp7nbwSyduEbMRlDyvbP9k5yaZD+FqoTlhCGqz0JilrqQhJJlkHcSG9+5xK7+37du+gFz8PYfc5DyHX92JyO0qfm8ze5zR3fQ/yg3WfMybPZb3PmVXrPmdMHug+Z8yNhISAV/FGc6LyOkwI+Kc0Z2FxzOdiHA3eJ425yU0/zN0njcnvph/m7pPGFHDTD3P3SWMS3PTD3H3SmIJu+mHuPmnMzW76Ye4+aUwhN/0wd580prCbfpi7TxpTxE0/zN0njSnqph/m7pPGFHPTD3P3SWOKu+mHufukMSXc9MPcfdKYkm76Ye4+aUwpN/0wd580prSbfpi7TxpTxk0/zN0njSnrph/m7pPGlHPTD3P3SWPKu+mHufukMRXc9MPcfdKYim76Ye4+aUwlF/0weJ805hY3/TB4n7Sym34YvE96q5t+GLxPepubfhi8T3q7m34YvE9axU0/DN4nreqmHwbvk1Zz0w+D90mru+mHwfukd7jph8H7pHe66YfB+6R3uemHwfukd7vph8H7pPe46YfB+6Q13PTD4H3Smm76YfA+6b1u+mHwPmktN/0weJ/0Pjf9MHiftLabfhi8T1rHTT8M3iet66YfBu+T3u+mHwbvkz7gph8G75M+CPgRfJ80v32fNOYmKya/FVPAikmwYgpaMTdbMYXkKF5OseUAWM5O5dhRTuzksEvOieSIRU4nZLAvM3EZJ8skVoaYMv+T0ZlMnWRgI7MOGRPIG7a8nMp7nbwSyduEbMRlDyvbP9k5yaZD+FqoTlhCGqz0JilrqQhJJlkHcSEzvw8akxe9GJgPuk8akxe69lbPUfrkN3qf1OT1QcQPp/dJs6D3Sesjssz8eU0bpHeftD52D7IBEEjgj77GNEhwnDduXJdsSMh/N65LNnLTD4PXJR9y0w+D1yUfdtMPg9clH3HTD4PXJR910w+D1yUfc9MPg9clG7vph8Hrkk3c9MPgdcnH3fTD4HXJJ9z0w+B1ySfd9MPgdcmmbvph8LpkMzf9MHhd8ik3/TB4XfJpN/0weF3yGTf9MHhdsrmbfhi8Lvmsm34YvC7Zwk0/DF6XbOmmHwavS7Zy0w+D1yVbu+iHyeuSbdz0w+B1yefc9MPgdcm2bvph8Lrk8276YfC65Atu+mHwumQ7N/0weF2yvZt+GLwu2cFNPwxel+zoph8Gr0t2ctMPg9clO7vph8Hrkolu+mHwumQXN/0weF2yq5t+GLwu2c1NPwxel+zuph8Gr0u+6KYfBq9L9nDTD4PXJXu66YfB65IvuemHweuSL7vph8Hrkq+46YfB65K93PTD4HXJ3m76YfC65KuAH7T7bn0u6323S3/3T2VhFiu0MnRJ0nsLgqpiEWwsAttYGbJxE8FGy3ubFVoQs/I2ReYcO3v2H3FZw0ql7tACVuTYZChz+yK+VPsEsPKdGolt27Vr28a+/jgyLqXvzIfbdmjTrhVmcUxfCQXQWM5LBbpQggNwFo+v74x7EhOb99znSbBi+lkxr1kx/a2YAVbM61bMQCtmkBUz2IoZYsW8YcUMtWKGWTHDrZgRVkySFeOzYpKtmBQrZqQVM8qKGW3FjLFixlox46yY8VbMBCtmohUzyYqZbMVMsWKmWjHToCvD0J3SfuEQ7DUM1h+DDcBgr2OwgRhsEAYbjMGGYLA3MNhQDDYMgw3HYCMwWBIG82GwZAyWgsFGYrBRGGw0BhuDwcZisHEYbDwGm4DBJmKwSRhsMgabgsGmYrBp4ZduxtRk1U9NqUIlrylRNuH0RzRW/1JnV5mh8nNsNyBjVPLxc6jXM0T9kZKKGgg5ssOoIwdO/Kd8UAaoGgf9qMHpo5JqnkcNgRzZac6Rjr6A8jfSQ63sFIQamg6qx6pg1DDIkV2GHKnd8wLlw9NEHapzIWpEWqiKP16ESoIc2W3CkWKVLlaextc5TYtfgrp0l9u42aWoFMiRPZl2pE+TNJRfjOrTNy3UqAtRy/qmiRoNObI3c47cuzxt5WOCUQ1qpYMaG4Ra0TA91DjIka8y4UjxlekqH38eNaVE+qgJflT5qRmgJkKO7NN15ECFjJRPSkV1PpghavI5VL3EjFFTIEe+pryvVpYXwHOBbFFfYeVUQZVrqUJNgyYtX0KoHRBqJ4TaBaF2Q6g9EGovhPoKQu2DUF87nRXE+AIv6tisb5pyG7j9nMz2ndq1smLexN63HWdtzDSRrZqy2LbYMETeW+oC1LPyLR9k5VtOVy42WWPlFKBtjqY2yYFlnh54nGFuwjIdg8246H0mBYsG9D4zHXo3mgFE9gITsfkgpnymRn2pfwNAWOEtaNYaWhmy8m0Gd8XMFME+Y/oz2RmnKhNqUlBnnMXqjDLlnAV0xkk2DJE3m9IZxcrZPsjK2YyzBDu/3zaZ33OcbjKxFjAbQr0DJFImyWOqEjRRlzzmBh7nmSOPuRhsnhZ5TIXIYy60ePOAyGpkDqZ8PqUFzZGUxNryAgotzBfBbup/WwSnYLSEWQmhFjrtAs4pbooy7ZcEUdwiFsXJWd4igOKW2DBE3mIKxYmVi32QlYtZL/YLsSpYwiEv7P7GUj55TVGCFuuS17LA43Jz5LUMgy3XIq8pEHktgxZvORBZjczBlK+gNBepx6VY2aykkMcKEczRDwZ/JYRaxXjtPM+cKtGpzKlGYcz5LuMVI2aVCDYZ8dV8fp+s7Awjgvh9DYvfJ4tsgN9H2DBE3loKv4uVa32QlWtZ/L4aaxTrOI1iLYRaz+f3yUrQcF1+3xB43GiO3zdgsI1a/D4Z4vcN0OJtBCKrkTmY8vcozWWdpCRWNu9T+P09EczRDwb/fQj1ASX4fk5UIzFO/JDC3B+IYJOx/IjP3JOUNZ8QxNwfs5hb5rUfA8ydYMMQeZ9QmFus/MQHWfkJi7k/wlrAJk4L+ARCfcpn7klKUAFd5v4s8LjZHHN/hsE2azH3JIi5P4MWbzMQWY3MwZRblOaySVISK5stFOa2RDBHPxj8LRBqKyX4fk5UIzFO3EZh7q0i2GQst/OZe6Ky5rcFMffnLOaeKLIB5t5mwxB5X1CYW6z8wgdZ+QWLubdjLeBLTgv4AkLt4DP3RCVoqy5z7ww87jLH3Dsx2C4t5p4IMfdOaPF2AZHVyBxM+W5Kc/lSUhIrmz0U5t4tgjn6weDvgVB7KcH3c6IaiXHiVxTm3iuCTcZyH5+5JyhrvnkQc3/NYu4JIhtg7uY2DJH3DYW5xcpvfJCV37CYex/WAvZzWsA3EOoAn7knKEHP6DL3wcDjt+aY+yAG+1aLuSdAzH0QWrxvgchqZA6m/DtKc9kvKYmVzf8ozP2dCOboB4P/Pwj1PSX4fk5UIzFO/IHC3N+LYJOxPMRn7vHKmt8dxNw/sph7vMgGmHu3DUPk/URhbrHyJx9k5U8s5j6EtYCfOS3gJwh1mM/c45WgXbrMfSTw+Is55j6CwX7RYu7xEHMfgRbvFyCyGpmDKT9KaS4/S0piZXOMwtxHRTBHPxj8YxDqOCX4fk5UIzFO/JXC3MdFsMlY/sZn7nHKmq8bxNy/s5h7nMgGmLuuDUPk/UFhbrHyDx9k5R8s5v4NawEnOC3gDwj1J5+5xylBdXSZ+6/A49/mmPsvDPa3FnOPg5j7L2jx/gYiq5E5mPKTlOZyQlISK5t/KMx9UgRz9IPB/wdC/UsJvp8T1UiME09RmPtfEWwylqf5zD1WWfOLgpj7DIu5x4psgLkX2TBE3lkKc4uVZ32QlWdZzH0aagGxHk4LOAspz8Jn7rFK0EJN5o7NGngMMcbcsVkxWIgWc49FmDs2K7R4IUBknWcOqNzLaC6xdkpiZRPKKNtYrwjm6AeDHwqhwiid3c+JaiTEibHZGMwdGyaCTcYynM/cY5Q1vybA3LERLOYeI7IB5l5jw5BiiaQwt1gZ6YOsjCQxd2w41gKyc1pAJISK4jP3GCVotS5zRwceY8wxdzQGi9Fi7jEQc0dDixcDRFYjczDlsRTmzi4piZVNHIW5Y0UwRz8Y/DgIlYMSfD8nqpEYJ8ZTmDuHCDYZy5x85h6trPkHgpj7OhZzjxbZAHM/YMOQLLiewtxi5fU+yMrrWcydE2sBuTgt4HoIdQOfuUcrQffrMnfuwGMec8ydG4Pl0WLu0RBz54YWLw8QWY3MwZTfSCGPXJKSWNnkpTD3jSKYox8Mfl4IlY8SfD8nqpEYJ95EYe58IthkLPPzmXuUsub7BDF3ARZzjxLZAHP3sWFIFiRQmFusTPBBViawmDs/1gIKclpAAoS6mc/co5SgV3WZu1DgsbA55i6EwQprMfcoiLkLQYtXGIisRuZgyotQyKOgpCRWNkUpzF1EBHP0g8EvCqGKUYLv50Q1EuPE4hTmLiaCTcayBJ+5Rzpi7pIs5h4psjHmLgllQSkKc4uVpTDmLsVi7hJYCyjNaQGlIFQZPnOP5DF32cBjOXPMXRaDldNi7pEQc5eFFq8cEFmNzMGUl6eQR2lJSaxsKlCYu7wI5ugHg18BQlWkBN/PiWokxomVKMxdUQSbjOUtfOZOUdb87CDmrsxi7hSRDTD3bBuGZMGtFOYWK2/1QVbeymLuW7AWcBunBdwKoW7nM7c6XLN0mbtK4LGqOeaugsGqajF3CsTcVaDFqwpEViNzMOXVKORxm6QkVjbVKcxdTQRz9IPBrw6h7qAE38+JaiTGiXdSmPsOEWwylnfxmVtd89ODmPtuFnMni2yAuafbMCQL7qEwt1h5jw+y8h4Wc9+FtYAanBZwD4SqyWduNegtXea+N/BYyxxz34vBamkxdzLE3PdCi1cLiKxG5mDK76OQRw1JSaxsalOY+z4RzNEPBr82hKpDCb6fE9VIjBPrUpi7jgg2Gcv7+cztU9b8niDmfoDF3D6RDfSfPTYMyYIHKcwtVj7og6x8kMXc92MtoB6nBTwIoerzmdunBO3WZe4GgceG5pi7AQZrqMXcPoi5G0CL1xCIrEbmYMobUcijnqQkVjYPUZi7kQjm6AeD/xCEepgSfD8nqpEYJz5CYe6HRbDJWD7KZ+4kZc1vCWLux1jMnSSyAebeYsOQLGhMYW6xsrEPsrIxi7kfxVpAE04LaAyhHucztzoLLV3mfiLw+KQ55n4Cgz2pxdxJEHM/AS3ek0BkNTIHU96UQh5NJCWxsmlGYe6mIpijHwx+Mwj1FCX4fk5UIzFOfJrC3E+JYJOxfIbP3COUNZ8niLmbs5h7hMgGmDuPDUOy4FkKc4uVz/ogK59lMfczWAtowWkBz0KolnzmHqEE5dZl7laBx9bmmLsVBmutxdwjIOZuBS1eayCyGpmDKW9DIY8WkpJY2TxHYe42IpijHwz+cxCqLSX4fk5UIzFOfJ7C3G1FsMlYvsBn7uHKml8VxNztWMw9XGQDzL3KhiFZ0J7C3GJlex9kZXsWc7+AtYAOnBbQHkJ15DP3cCVopS5zdwo8djbH3J0wWGct5h4OMXcnaPE6A5HVyBxMeSKFPDpISmJl04XC3IkimKMfDH4XCNWVEnw/J6qRGCd2ozB3VxFsMpbd+cw9TFnzg4KY+0UWcw8T2QBzD7JhSBb0oDC3WNnDB1nZg8Xc3bEW0JPTAnpAqJf4zD1MCRqoy9wvBx5fMcfcL2OwV7SYexjE3C9Di/cKEFmNzMGU96KQR09JSaxselOYu5cI5ugHg98bQr1KCb6fE9VIjBP7UJj7VRFsMpZ9+cw9VFnzdYKYux+LuYeKbIC569gwJAteozC3WPmaD7LyNRZz98VaQH9OC3gNQg3gM/dQJai2LnO/HngcaI65X8dgA7WYeyjE3K9DizcQiKxG5mDKB1HIo7+kJFY2gynMLTv5wRz9YPAHQ6ghlOD7OVGNxDjxDQpzDxHBJmM5lM/cbyhr3hfE3MNYzP2GyAaY22fDkCwYTmFusXK4D7JyOIu5h2ItYASnBQyHUEl85lbXb5Iucwele7I55vZhsGQt5n4DYm4sc5KByGpkDqY8hUIeIyQlMf0jKcydIoI5+sHgj4RQoyjB93OiGolx4mgKc48SwSZjOYbP3EOUNd8pqJWNZTG3rO9YgLk72TAkC8ZRmFusHOeDrBzHYu4xWAsYz2kB4yDUBD5zq98POuoy98TA4yRzzD0Rg03SYu4hEHNPhBZvEhBZjczBlE+mkMd4SUmsbKZQmHuyCOboB4M/BUJNpQTfz4lqJMaJ0yjMPVUEm4zlm3zmHqys+XVBzP0Wi7kHi2yAudfZMCQLplOYW6yc7oOsnM5i7jexFjCD0wKmQ6iZfOZWjxXX6jL324HHWeaY+20MNkuLuQdDzP02tHizgMhqZA6mfDaFPGZISmJlM4fC3LNFMEc/GPw5EOodSvD9nKhGYpw4l8Lc74hgk7Gcx2fuQcqaTwhi7vks5pajoPkAcyfYMCQLFlCYW6xc4IOsXMBi7nlYC1jIaQELINQiPnOrD0QL6DL34sDjEnPMvRiDLdFi7kEQcy+GFm8JEFmNzMGUL6WQx0JJSaxsllGYe6kI5ugHg78MQi2nBN/PiWokxokrKMy9XASbjOVKPnMPVNZ8VBBzr2Ix90CRDTB3lA1DsuBdCnOLle/6ICvfZTH3SqwFrOa0gHch1Bo+c6vvUWXXZe61gcd15ph7LQZbp8XcAyHmXgst3jogshqZgylfTyGP1ZKSWNlsoDD3ehHM0Q8GfwOE2kgJvp8T1UiME9+jMPdGEWwylu/zmft1Zc13CGLuD1jM/brIBpi7gw1DsuBDCnOLlR/6ICs/ZDH3+1gL+IjTAj6EUB/zmft1Jai9LnN/EnjcZI65P8Fgm7SY+3WIuT+BFm8TEFmNzMGUf0ohj48kJbGy+YzC3J+KYI5+MPifQajNlOD7OVGNxDjRojD3ZhFsMpZb+Mw9QFnzOYKYeyuLuQeIbIC5c9gwJAu2UZhbrNzmg6zcxmLuLVgL2M5pAdsg1Od85lZ/eBany9xfBB6/NMfcX2CwL7WYewDE3F9Ai/clEFmNzMGU76CQx3ZJSaxsdlKYe4cI5ugHg78TQu2iBN/PiWokxom7Kcy9SwSbjOUePnMDH/4GMfdeFnP3F9mQwbFfUThZ9H+VxGLbPVjZ7uOU7VcQ6muNZQVcEsFIWDOZxK85SuJvWEn8msjGkng/JYlF/35KEtvruN9cEmdytfup7Qha7QOs1e4nsrEKPADlxEFKToiVB7GVO0ihRMmcgxhx74Os/JaR33aUvk3itN9vIdR3lF2Tfz+iRmL7kf9Rmst3IhizEovl9ywe/x4qpNDKTltgXMr5FgjZ4q0kSpB0xd9dPQmOXnR9fWfck5jYvOc+T4IV+4MVe8iK/dGK/cmK/dmKPWzFHrFif7Fij1qxx6zY41bsr1bsb1bs71bsH1bsCSv2Tyv2Lyv2byv2pBX7jxX7rxV7yoo9bcWesWLPWnEeKy6LFZfVigux4rxWXKi5l+cfwiHYIQz2Iwb7CYP9jMEOY7AjGOwXDHYUgx3DYMcx2K8Y7DcM9jsG+wODncBgf2KwvzDY3xjsJAb7B4P9i8FOYbDTGOwMBjsLweI8GCwLBsuKwUIwmBeDhYY756tzHAHxVfXvnG589nkKQkT8AzRQPKRE2dT/owp1boPwU8ao5OPnUD9niPojJRV1OCPUgRP/oY5kgKpx0I/6JX1UUs3zqKPpojr6Aqhj6aFWdgpCHU8H1WNVMOrXtFG1e16A+i1N1KE6F6J+TwtV8ceLUH+kgSpW6WLUiUtRTYtfgvrzElTjZpei/roY1adJGqi/L0L16ZsW6uSFqGV900T9cwHq3uVpo/4NRjWolQ7qVBBqRcP0UKcDqOIr00WdOY+aUiJ91Fk/qvzU9FFxnv9QBypkhMqSiup8MENU1nOoeokZo0JsVIv6CpRXUOVaqlChyOsG1BgzN8uIC1V2yO2BWUZcGGmWERcqsoGD0+02DJGXjTHLsK3M5oOszOZ05RyfHdorpwBt0zw7jAsPPEYYe/2JC8dgETpnh+cKSkn1ceHItiEuAois80EMqDySMQeX4UFcNmjEEVoZsjI7Y8QRFymCfcb0Z7IzepUJNSmoM0axOqOMIKKAzjjJhiHyoimdUayM9kFWRjOmvHZ+ZzeZ3zGUWWxcNISKpV88sZNbAZqoSx5xgccc5sgjDoPl0CIPL0QecdDi5QAiq5E5mPJ4SguKkZTE2nJOCi3Ei2A39WcXwSkYLWFWQqjr6Hcv4kKUab8kiOKuZ1GcDNqvByhuiQ1D5OWiUJxYmcsHWZmLdP4Tdx1WBTdwyCsXhMrNJ68QJWixLnnlCTzeaI688mCwG7XIKwQirzzQ4t0IRFYjczDleSnN5QZJSaxs8lHII68I5ugHg58PQt3EeO08z5wq0anMqUZhzJmf8YoRd5MINhnxAnx+z6rsDCOC+D2Bxe9ylp4A8PsIG4bIK0jhd7GyoA+ysiCL3wtgjeJmTqOAztTiCvH5PasSNFyX3wsHHouY4/fCGKyIFr9nhfi9MLR4RYDIamQOprwopbncLCmJlU0xCr8XFcEc/WDwi0Go4pTg+zlRjcQ4sQSFuYuLYJOxLMln7izKmg/69b+4Uizmlv+Wgn79T2CIvNIU5rYFQ7/+Z+tXiNNk7pJYCyjDaQGlIVRZPnNnUYJ0f/0vrlzgsbw55i6HwcprMXcWiLnLQYtXHoisRuZgyitQmksZSUmsbCpSmLuCCOboB4NfEUJVogTfz4lqJMaJt1CYu5IINhnLynzm9ihrflsQc9/KYm5x9laAubfZMETebRTmFitv80FW3sZibuyOatztnBZwG4SqwmdujxK0VZe5qwYeq5lj7qoYrJoWc3sg5q4KLV41ILIamYMpr05pLrdLSmJlcweFuauLYI5+MPh3QKg7KcH3c6IaiXHiXRTmvlMEm4zl3XTmjj2rrPnmQcx9D4m57U/Q7gGYu7kNQ7KgBoO5bStr+CAra7CY+26sBdTktIAaEOpeOnPbaasAPaPL3LUCj/eZY+5aGOw+HeYOfDyQIXPXghbvPiCyGpmDKa9NIY+akpJY2dShMHdtEczRDwa/DoSqSwm+nxPVSIwT76cwd10RbDKWD/CZ+4yy5ncHMfeDLOY+I7IB5t5tw5AsqEdhbrGyng+ysh6LuR/AWkB9TguoB6Ea8Jn7jBK0S5e5GwYeG5lj7oYYrJEWc5+BmLshtHiNgMhqZA6m/CEKedSXlMTK5mEKcz8kgjn6weA/DKEeoQTfz4lqJMaJj1KY+xERbDKWj/GZ+7Sy5usGMXdjFnOfFtkAc9e1YUgWNKEwt1jZxAdZ2YTF3I9hLeBxTgtoAqGe4DP3aSWoji5zPxl4bGqOuZ/EYE21mPs0xNxPQovXFIisRuZgyptRyONxSUmsbJ6iMHczEczRDwb/KQj1NCX4fk5UIzFOfIbC3E+LYJOxbM5n7lPKml8UxNzPspj7lMgGmHuRDUOyoAWFucXKFj7IyhYs5m6OtYCWnBbQAkK14jP3KSVooS5ztw48tjHH3K0xWBst5j4FMXdraPHaAJHVyBxM+XMU8mgpKYmVTVsKcz8ngjn6weC3hVDPU4Lv50Q1EuPEFyjM/bwINhnLdnzm/ldZ82uCmLs9i7n/FdkAc6+xYUgWdKAwt1jZwQdZ2YHF3O2wFtCR0wI6QKhOfOb+VwlarcvcnQOPieaYuzMGS9Ri7n8h5u4MLV4iEFmNzMGUd6GQR0dJSaxsulKYW9a1K0c/GPyuEKobJfh+TlQjMU7sTmHubiLYZCxf5DP3P8qafyCIuXuwmPsfkQ0w9wM2DMmCnhTmFit7+iAre7KY+0WsBbzEaQE9IdTLfOb+Rwm6X5e5Xwk89jLH3K9gsF5azP0PxNyvQIvXC4isRuZgyntTyOMlSUmsbF6lMHdvEczRDwb/VQjVhxJ8PyeqkRgn9qUwdx8RbDKW/fjMfVJZ832CmPs1FnOfFNkAc/exYUgW9Kcwt1jZ3wdZ2Z/F3P2wFjCA0wL6Q6jX+cx9Ugl6VZe5BwYeB5lj7oEYbJAWc5+EmHsgtHiDgMhqZA6mfDCFPAZISmJlM4TC3INFMEc/GPwhEOoNSvD9nKhGYpw4lMLcb4hgk7Ecxmfuvx0x93AWc/8tsjHmHg5lwQgKc4uVIzDmHsFi7mFYC+D8scW4ERDKx2fuv3nMHfSYYo65kzFYihZz/w0xN7bEKUBkNTIHQ42kkEeSpCRWNqMozD1SBHP0g8EfBaFGU4Lv50Q1EuPEMRTmHi2CTcZyLJ+5/1LW/Owg5h7HYu6/RDbA3LNtGJIF4ynMLVaO90FWjmcx91isBUzgtIDxEGoin7n/UoJm6TL3pMDjZHPMPQmDTdZi7r8g5p4ELd5kILIamYMpn0IhjwmSkljZTKUw9xQRzNEPBn8qhJpGCb6fE9VIjBPfpDD3NBFsMpZv8Zn7T2XNTw9i7uks5v5TZAPMPd2GIVkwg8LcYuUMH2TlDBZzv4W1gJmcFjADQr3NZ+4/laC3dJl7VuBxtjnmnoXBZmsx958Qc8+CFm82EFmNzMGUz6GQx0xJSaxs3qEw9xwRzNEPBv8dCDWXEnw/J6qRGCfOozD3XBFsMpbz+cx9Qlnze4KYewGLuU+IbIC599gwJAsWUphbrFzog6xcyGLu+VgLWMRpAQsh1GI+c59QgnbrMveSwONSc8y9BIMt1WLuExBzL4EWbykQWY3MwZQvo5DHIklJrGyWU5h7mQjm6AeDvxxCraAE38+JaiTGiSspzL1CBJuM5So+c/+hrPktQcz9Lou5/xDZAHNvsWFIFqymMLdYudoHWbmaxdyrsBawhtMCVkOotXzm/kMJsnSZe13gcb055l6HwdZrMfcfEHOvgxZvPRBZjczBlG+gkMcaSUmsbDZSmHuDCOboB4O/EUK9Rwm+nxPVSIwT36cw93si2GQsP+Az9+/Kms8TxNwfspj7d5ENMHceG4ZkwUcU5hYrP/JBVn7EYu4PsBbwMacFfAShPuEz9+9KUG5d5t4UePzUHHNvwmCfajH37xBzb4IW71MgshqZgyn/jEIeH0tKYmWzmcLcn4lgjn4w+JshlEUJvp8T1UiME7dQmNsSwSZjuZXP3L8pa35VEHNvYzH3byIbYO5VNgzJgu0U5hYrt/sgK7ezmHsr1gI+57SA7RDqCz5z/6YErdRl7i8DjzvMMfeXGGyHFnP/BjH3l9Di7QAiq5E5mPKdFPL4XFISK5tdFObeKYI5+sHg74JQuynB93OiGolx4h4Kc+8WwSZjuZfP3L8qa35QEHN/xWLuX0U2wNyDbBiSBfsozC1W7vNBVu5jMfderAV8zWkB+yDUN3zm/lUJGqjL3PsDjwfMMfd+DHZAi7l/hZh7P7R4B4DIamQOpvwghTy+lpTEyuZbCnMfFMEc/WDwv4VQ31GC7+dENRLjxP9RmPs7EWwylt/zmfu4subrBDH3DyzmPi6yAeauY8OQLDhEYW6x8pAPsvIQi7m/x1rAj5wWcAhC/cRn7uNKUG1d5v458HjYHHP/jMEOazH3cYi5f4YW7zAQWY3MwZQfoZDHj5KSWNn8QmHuIyKYox8M/i8Q6igl+H5OVCMxTjxGYe6jIthkLI/zmfuYsuZ9Qcz9K4u5j4lsgLl9NgzJgt8ozC1W/uaDrPyNxdzHsRbwO6cF/Aah/uAzt7p+k3SZ+0Tg8U9zzH0Cg/2pxdzHIOY+AS3en0BkNTIHU/4XhTx+l5TEyuZvCnP/JYI5+sHg/w2hTlKC7+dENRLjxH8ozH1SBJuM5b985j6qrPlOQcx9isXcsr6nAObuZMOQLDhNYW6x8rQPsvI0i7n/xVrAGU4LOA2hzvKZW/1+0FGTuXN4Ao9ZjDF3DhCWRYu5jyLMncODLF6OLEBknWcOqDwrhTzOSEpCZZMjhFG2ObKKYI5+MPghEMpLCb6fE9VIiBNzhDKYO4dXBJuMZRifuX9R1vy6AHPnyMZi7l9ENsDc62wYUizhFOYWK8N9kJXhJObOEYa1gAhOCwiHUJF85laPFdfqMnf2wGOUOebOjsGitJj7F4i5s0OLFwVEViNzMOXRjOaSI0JSEiubGApzR4tgjn4w+DEQKpYSfD8nqpEYJ8ZRmDtWBJuMZQ4+cx9R1nxCEHPHs5j7iMgGmDvBhiFZkJPC3GJlTh9kZU4Wc+fAWsB1nBaQE0Jdz2du9YFoAV3mzhV4vMEcc+fCYDdoMfcRiLlzQYt3AxBZjczBlOemkMd1kpJY2eShMHduEczRDwY/D4S6kRJ8PyeqkRgn5qUw940i2GQs8/GZ+7Cy5qOCmPsmFnMfFtkAc0fZMCQL8lOYW6zM74OszM9i7nxYCyjAaQH5IVQCn7nV96iy6zJ3wcDjzeaYuyAGu1mLuQ9DzF0QWrybgchqZA6mvBCFPApISmJlU5jC3IVEMEc/GPzCEKoIJfh+TlQjMU4sSmHuIiLYZCyL8Zn7Z2XNdwhi7uIs5v5ZZAPM3cGGIVlQgsLcYmUJH2RlCRZzF8NaQElOCygBoUrxmftnJai9LnOXDjyWMcfcpTFYGS3m/hli7tLQ4pUBIquROZjyshTyKCkpiZVNOQpzlxXBHP1g8MtBqPKU4Ps5UY3EOLEChbnLi2CTsazIZ+6flDWfI4i5K7GY+yeRDTB3DhuGZMEtFOYWK2/xQVbewmLuilgLqMxpAbdAqFv5zK3+8CxOl7lvCzzebo65b8Ngt2sx908Qc98GLd7tQGQ1MgdTXoVCHlI2t2JlU5XC3FVEMEc/GPyqEKoaJfh+TlQjMU6sTmHuaiLYZCzv4DM38OFvEHPfyWLuH0U2ZHCOuyicLPrvSmKx7R1Y2d7NKdu7INQ9GssKuCSCkbBmMokPOUriGqwkPiSysSSuSUli0V+TksT2OtY0l8SZXO0f1HYErfa9rNX+QWRjFXgvlBO1KDkhVtbCVq4WhRIlc2phxH03ZOV9jPy2o3RfEqf93gehalN2Tf79iBqJ7UfqUJpLbRGMWYnFsi6Lx+tChRTq+K15n+fc5b0sGf8bK8b+Y3oKkKCmIUbG/oC87MUeUqLObZ5UKOT1Mvk4MD7+I+W4+nj4wIn/UBld/6px0I/K4Hp3Us3zqPQ/3+roC6COIbGvvgdC7YVQX0Eo6Bf0qn+NoO4Ic57e+dITvLJTUPDS+1WaHquCUb+mjard8wLUb2miDtW5EJXmr8ZX/PEiVFp/FaZYpYtRaXz23rT4JahL/6pr42aXoi75q+19mqSBuvhbrD5900KdvBC1rG+aqH8uQN27PG3Uv8GoBrXSQZ0KQq1omB4q6DPV4ivTRZ05j5pSIn3UWT+q/NT0UXH+zxsPVMgIlSUV1flghqis51D1EjNGnbtz36K+AuUVVLmWKlQoVMLQTxVX3wGhdkIo6Pfzqu+GWks2p60lBdoQ3I9sLu4Ig1DZ6O83Oe539Db7AOn9Jsf9Ihsz+EHGm4ut/8EkTkLUw4jOWM5mMiHqOUqI+qyEqCeyMYMbUBJC9DdwPEzyBh0K7fMkYAMGJSqLJ3VvrAB5UvfGCpAndW+sAHlS98YKkCd1b6wAeVL3xgqQJ3VvrAB5UvfGCpAndW+sAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4EKkCd1E6gAeVI3gQqQJ3UTqAB5UjeBCpAndROoAHlSN4EKkCd1E6h8tz+3CVS+28chP6zgtN3F9EPaXcxrSLuL6Y+0u5gBSLuLeR1pdzEDkXYXMwhpdzGDkXYXMwRpdzFvIO0uZijS7mKGIe0uZjjS7mJGIO0uJglpdzE+pN3FJCPtLiYFaXcxI5F2FzMKaXcxo5F2FzMGaXcxY5F2FzMOaXcx45F2FzMBaXcxE5F2FzMJaXcxk5F2FzPF5ChT3e6CNr4NwSOJBjKihfax0CQXuY/TUOPs1B44N0jGzIReeho53TqH+q5xySWga1wShLrGJX7UNS7xo65iLgm6vvlQ4PFhcDzRSPo85/ZFQxGOneE/QtH/kAjG9D9qiDAf3dxHw86HYTsfM2TnY2nYCaySOAjZeUdxjfVUHkLZ+h/D9Dv9dEy2CchKxfQTI5TAczsFAJi6WVAD/9svKIH+LYMKeH7XoAAGNg4ZA4P2DhkCg7cPGQEv2EFkALxwE5E+8KJ9RLrAi7cS6QEv2U2kA7x0Q5E2MI09RZrAtLYVaQHT3FmkAUx7c3EpMJ39xSXA9LYYFwPT3WVcBEx/o3EhMIO9xgXAjLYbwcAMdxxBwIw3HQGgYt9xHqjaeviByt3Hf0D1BiQVCOxBBAi90t0BfVkMtecLXunCkjP8nuViqnB6UAXQf9D7emNULLKrQdi6sfLU69LWYJNlY4wsqwBmXnBYOTJZuQS2AdCOponBtKpiKN5NLtodpenwxa6hDj8uqJwVPLsK7K/cs1SuWzs26N5//yPzel/3VolDsbmPdqve/eS+jlIhgrqpUr0JGx96fuGwqrG1K0Z+0euL15+vtHPE4H4lf+/TuGdYoWRzDj8uDmd2hHLt9NHjR107ffSjrp0++lHXTh/9qCvy9DFohPJE4PFJk0zvfC4gFP4ENhdoaogImmrNL8TOJzE7mxmys5nu/KIptiV6gjW/aIbpf5Izv7C/F4HmF/YnWdD8wv4AEZpf2L8eAM0v7B8IguYX9m8AQvML+2d+ofmF/Uv+0Pwi9ig4v4g9Bs4vYo+D84vYX8H5Rexv4Pwi9ndwfhH7Bzi/iD0Bzi9i/wTnF7F/gfOL2L/B+UXsSXB+EfsPOL+I/RecX8SeAucXsafB+UXsGXB+EXsWnF/EecD5RVwWcH4RlxWcX8SFgPOLOC84v4gLhecXT0AopD1fzvkFQP9B84unLvf84inN+cVTGFm+4Ob84mmDafWCoXg/zZxfPAPNL56E5hemHH7m4vlFWDJhBMityuaXuyqba1Zlc6wq2zmtylHYSTGEehY7pTRYu+0MrcqzadWu2uEWUL2VMFi7phxucW32eG326Eddmz36Uddmj/+h/l/NHlsGHluBQy3/JSuFkizYRVrnQzVbP/YrGI0gJmtNGaW2FMHYiLKNIV5rozVKbQXb+ZwhO5/TGqW2FgexfeBwyihV9D+H6R/BG6W2RkepSqB/lKoCnh+ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltkZHqa3RUWprdJTaGh2ltsZGqcMhFNKeL+coFaD/oKFNW1QssqtB2LqtztBGyLItRpZTOKPU1tCO5nmDaTXFULyf1xulYg6/AI1jRkDjGFMOv2BgHHPtazqPH3Xtazo/6trXdH7Uta/p/Kgr/Wu6doHH9iaZ3vlcQCi8HTYX6GCICDpozS/EzvaYnR0N2dlRd37RAdsSbWDNLzpi+jdy5hf2p2zQ/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPmF/SkbNL+wP2WD5hf2p2zQ/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPmF/SkbNL+wP2WD5hf2p2zQ/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPmF/SkbNL+wP2WD5hf2p2zQ/ML+lA2aX9ifskHzC/tTNmh+YX/KBs0v7E/ZoPmF/SkbNL+wP2UD5xcbIBTSni/n/AKg/6D5RafLPb/opDm/6ISR5XY35xedDabVdkPx7sycXyRC84uN0PzClMOJmb8KhpwAUquyy+Wuyi6aVdkFq8rPnVYldhUMS9Ku2Cmlwdr93NCqdNW7CtYNqrcRBmvXlMPddF7l7N8be9Dk7411Z73Ad0/SitPShh27tGrbsmOHig1bJbbv1rV517YdOySPDMQt7I3As7dy0POtgeeQ4bIbftHK0cPK0dPK8VJm1eR4MUjNbUGYJFHzspXjFStHLytHb42/5ujF/sLpy9BSvsoJeI5Xg55fCXruFfTcWyLRx8rR18ohb9qvZfKntL23K//qyZkgAulP+ilt7+0iG/hDtWdsGLKMAxg/uG1bOcAHWTmAVJETg8rjlqCk6HNRRcqAQ0YXMpQYrPeXfQZgs7YhjJZmh3kIFuYhpDC/GRTmKkFhfv2iMMvoRYYqMi4Zntk6vMXRRm4Eqw5vEdnYFjGJUmGiP0nnN+MgNh9gks19FDaX8ZeP82c381jRc7Bd9ZcU/QWs6Hcw/Tuc7uqxv3GBDWe+hFA7GMVnp2gy1ndTtPrepRvjlASdSI68rJG8cLGT0WSfi2blXCzko1iGzkMNnYcZOtrp4DDoz8SjRsc0AI2O6aPoZmfPnj2O/kn5c7OCoFPUMYHHseb+pPwYDDY2QasJxzTAmuBeUhOO6YPp/0pn4Kn8a4Y5xkApPBZqHXsh1FdA/mntJsYkkTpCTEO0IyzEOsI4lqGNUEMXYYaOZxn6EGroYszQCSxDH0YNXYIZOpFl6COooUsxQyexDH0UNXQZZuhklqGPoYYuxwydwjK0MWroCszQqSxDm6CGrsQMncYy9HHU0FWYoW+yDH0CNfRdzNC3WIY+iRq6GjN0OsvQpqihazBDZ7AMbYYauhYzdCbL0KdQQ9dhhr7NMvRp1ND1mKGzWIY+gxq6ATN0NsvQ5qihGzFD57AMfRY19D3M0HdYhrZADX0fM3Quy9CWqKEfYIbOYxnaCjX0Q8zQ+SxDW6OGfoQZuoBlaBvU0I8xQxeyDH0ONfQTzNBFLEPbooZuwgxdzDL0edTQTzFDl7AMfQE19DPM0KUsQ9uhhm7GDF3GMrQ9aqiFGbqcZWgH1NAtmKErWIZ2RA3dihm6kmVoJ9TQbZihq1iGdkYN3Y4Z+i7L0ETU0M8xQ1ezDO2CGvoFZugalqFdUUO/xAxdyzK0G2roDszQdSxDu6OG7sQMXc8y9EXU0F2YoRtYhvZADd2NGbqRZWhP1NA9mKHvsQx9CTV0L2bo+yxDX0YN/Qoz9AOWoa+ghu7DDP2QZWgv1NCvMUM/YhnaGzX0G8zQj1mGvooauh8z9BPE0Hqt2ndM7Fm3Q9uuKUX3ecrL4bkcS8uBrxylyiGlHP/JwZocWclhkByzyAGGHA3I0F3G2TIolhGsDDdlbCgDORl1yRBJxjMy+JCRgrysy2uwvGDKq5u8FMnrhmzkZYssm0/Z1smGSbYiQvJCn0JM0vKlmUqbkgYgpSVJK+kggRYXZqbap3Nra5P6ukQIdKkixPntEPj+GzhQ+BTQPys1VA06JRdNQW4HedCPoz41J+ozRu3YXwdgt02HWDnewAK+2WHtFLtKaicZve3zGZrBm7HfLP0MCrvlKM+LQXmexYU8txzmOdjStlzWlqZ5pRcc62wlLDW8PlvNidrmoh8Rljk/trvpxw5zfnzuph+7zPnxhZt+7DHnx5du+vGVOT92uOnH1+b82OmmH/vN+bHLTT8OmvNjt5t+fGfOjz1u+vG9OT/2uunHIXN+fOWmHz+Z82Ofm34cNufH12768Ys5P75x049j5vzY76Yfv5rz44Cbfvxuzo+Dbvpxwpwf37rpx1/m/PjOTT9OmvPjf2768a85P75304/T5vz4wU0/zprz45CLfkRmMefHj276EWLOj5/c9CPUnB8/u+lHNnN+HHbTjwhzfhxx04/s5vz4xU0/os35cdRNP2LN+XHMTT9ymPPjuJt+5DTnx69u+nG9OT9+c9OPG8z58bubfuQx58cfbvqR15wfJ9z04yZzfvzpph8FzPnxl5t+FDTnx99u+lHInB8n3fSjiDk//nHTj2Lm/PjXTT9KmPPjlJt+lDLnx2k3/Shjzo8zbvpRzpwfZ930o4IxUfEewI/gm5rFz93U3G7l+NzK8YWV40srxw4rx04rxy45ipdTbDkAlrNTOXaUEzs57JJzIjlikdMJGezLTFzGyTKJlSGmzP9kdCZTJxnYyKxDxgTyhi0vp/JeJ69E8jYhG3HZw8r2T3ZOsukQvhaqE5aQBiu9ScpaKkKSSdZBXEjvpqbSe/u+3Uj0Suc27KbmNuT6XnwWR+lT3OxNTXPX9yA/nN/UjM96WW9qZtW6qRmfFbqpGR9CWGp4fcxNiOO9Dpca/gVnHxbHUBfjaPCmaHyYm36Yuykan81NP8zdFI0Pd9MPczdF4yPc9MPcTdH4SDf9MHdTND67m36YuykaH+WmH+ZuisZHu+mHuZui8TFu+mHupmh8rJt+mLspGh/nph/mborG53DTD3M3RePj3fTD3E3R+Jxu+mHupmj8dW76Ye6maPz1bvph7qZofC43/TB3UzT+Bjf9MHdTND63m36Yuykan8dNP8zdFI2/0U0/zN0Ujc/rph/mborG53PRD4M3ReNvctMPg3PA/G76Ye6maHwBN/0wd1M0PsFNP8zdFI0v6KYf5m6Kxt/sph/mborGF3LTD3M3ReMLu+mHuZui8UXc9MPcTdH4om76Ye6maHwxN/0wd1M0vribfpi7KRpfwk0/zN0UjS/pph/mborGl3LTD3M3ReNLu+mHuZui8WXc9MPcTdH4sm76Ye6maHw5N/0wd1M0vrybfpi7KRpfwU0/zN0Uja/oph/mborGV3LTD3M3ReNvcdMPgzdFKwN+BN8ULWHfFI0Ps+KzWfHhVnyEFR9pxWe34qPkKF5OseUAWM5O5dhRTuzksEvOieSIRU4nZLAvM3EZJ8skVoaYMv+T0ZlMnWRgI7MOGRPIG7a8nMp7nbwSyduEbMRlDyvbP9k5yaZD+FqoTlhCGqz0JilrqQhJJlkHcSEzv+kZ70UvBoZCN0XjvdC1t1sdpU8JozdFTV4fRPzQuCl6G6LczN9+tkF6N0Vvw2443g6ECPhb4/G3JzjOCDcuQlYhZLYbFyGruumHwYuQ1dz0w+BFyOpu+mHwIuQdbvph8CLknW76YfAi5F1u+mHwIuTdbvph8CLkPW76YfAiZA03/TB4EbKmm34YvAh5r5t+GLwIWctNPwxehLzPTT8MXoSs7aYfBi9C1nHTD4MXIeu66YfBi5D3u+mHwYuQD7jph8GLkA+66YfBi5D13PTD4EXI+m76YfAiZAMX/TB5EbKhm34YnGg2ctMPgxchH3LTD4MXIR920w+DFyEfcdMPgxchH3XTD4MXIR9z0w+DFyEbu+mHwYuQTdz0w+BFyMfd9MPgRcgn3PTD4EXIJ930w+BFyKZu+mHwImQzN/0weBHyKTf9MHgR8mk3/TB4EfIZN/0weBGyuZt+GLwI+aybfhi8CNnCTT8MXoRs6aYfBi9CtnLTD4MXIVu76YfBi5Bt3PTD4EXI5wA/NG6ytb2sN9ku/a0+lYVZrNBG0MVGbzUEVeUbgo1FYBurQzbuJdhoee+0Qu/ArLxTkTnHzp79R1zWsFKpO7SaFdM3Gcrc5xFfqiN/Ee2dGolt27Vr28a+2DgyLqXvzIfbdmjTrhVmcfzzEgqgZZyXCvSXBAfgLB5f3xn3JCY277nPk2DFv2DFt7Pi21vxHaz4jlZ8Jyu+sxWfaMV3seK7WvHdrPjuVvyLVnwPK76nFf+SFf+yFf+KFd/Liu9txb9qxfex4vta8f2s+Nes+P5W/AAr/nUrfqAVP8iKH2zFD4Gu+UK3RV8Ih2DtMFh7DNYBg3XEYJ0wWGcMlojBumCwrhisGwbrjsFexGA9MFhPDPYSBnsZg72CwXphsN4Y7FUM1geD9cVg/TDYaxisPwYbgMFex2ADMdggDDYYgw0Jv3CbNRIiqxfUlCpU0k6JsgmnPaLxzjpO94sqR46dY7sOGaOSj59DdcwQ9UdKKqoT5Ehdo44cOPGf8s4ZoGoc9KMS00cl1TyP6gI5cr85Rzr6Asq7poda2SkI1S0dVI9VwajukCMPGHKkds8LlL+YJupQnQtRPdJCVfzxIlRPyJEHTThSrNLFyl+6FNW0+CWoly9BNW52KeoVyJF6mXakT5M0lPe6CNWnb1qo3heilvVNE/Uq5Ej9zDly7/K0lfcJRjWolQ6qbxBqRcP0UP0gRxpkwpHiK9NV/tp51JQS6aP6+1Hlp2aAGgA50lDXkQMVMlL+eiqq88EMUQPPoeolZowaBDnCeV9tJC+AE239LeorrBwsqHItVaghyFvtnXUgVF0IdT+EegBCPQih6kGo+hCqAYRqCKEaOZ0VxPgCL+rYFG+Ichu4/ZzM9p3atbLi38Detx1nbfwQka2asti22DBE3lB1AepZOdQHWTnU6crFJmusnAK0zdHUJjmwzMMCj8PNTViGYbDh4ZeOjVX6U9uU+n1mGPRuNByI7AUmYvNBTPkIjfpSf7cvrDAUmrXK4BixMonBXfEjRLDPmP5MdsbByoSaFNQZfazOKFNOH9AZJ9kwRF4ypTOKlck+yMpkjcyB8jvJZH6nOLQSbAEYaiSQSJkkj8FK0ERd8hgVeBxtjjxGYbDRWuQxGCKPUdDijQYiq5E5mPIxlBaUIimJteWxFFoYI4Ld1J8kgrHD6yTMSgg1zmkXcE5xg5RpvySI4sazKE7O8sYDFLfEhiHyJlAoTqyc4IOsnMB6sR+HVcFEDnlNgFCT+OQ1SAlarEtekwOPU8yR12QMNkWLvAZB5DUZWrwpQGQ1MgdTPpXSXCZKSmJlM41CHlNFMEc/GPxpEOpNxmvneeZUiU5lTjUKY863GK8Y8W+KYJMRn87n94HKzjAiiN9nsPh9oMgG+H2EDUPkzaTwu1g50wdZOZPF79OxRvE2p1HMhFCz+Pw+UAkarsvvswOPc8zx++z/Y+88w6Oqurc/SBEBFQgkJCGTRFSa9F6kI53QpAlKFUEggHQsQRGwQSZgBQTpiCi9NwuK5dCrgIANEAsK2JV3HcZhDiHJvmezb87/uV6eyw/nw/2svdY6a6/fnjV7AiZ7U4vv4yC+L4Be3ptAZjUqB1t8IaW5zJOSxLbNWxS+LxTDnPXB5L8FqRZRkh9golqJMfFtCrkXiWGTuXyHT+6xyj0f5yD3Yha5x4ptgNxxtgyxt4RCbvFyiQ/ycgmL3O9gLWAppwUsgVTL+OQeqxTF6pJ7efBxhTlyL8dkK7TIPRYi93Lo5a0AMqtROdjiKynNZamUJLZtVlHIvVIMc9YHk78KUq2mJD/ARLUSY+IaCrlXi2GTuVzLJ/fTyj2/w0HudSxyPy22AXLvsGWIvfUUcouX632Ql+tZ5F6LtYANnBawHlJt5JP7aaVouy65NwUfN5sj9yZMtlmL3E9D5N4EvbzNQGY1Kgdb/F1Kc9kgJYltm/co5H5XDHPWB5P/HqR6n5L8ABPVSoyJH1DI/b4YNpnLLXxyj1Hu+a4Ocn/IIvcYsQ2Qu6stQ+x9RCG3ePmRD/LyIxa5t2AtYCunBXwEqT7mk3uMUtRFl9yfBB8/NUfuTzDZp1rkHgOR+xPo5X0KZFajcrDFP6M0l61Skti2sSjk/kwMc9YHk29Bqm2U5AeYqFZiTNxOIfc2MWwylzv45H5KuecPOMi9k0Xup8Q2QO4Dtgyxt4tCbvFylw/ycheL3DuwFrCb0wJ2Qao9fHI/pRTt1yX33uDjPnPk3ovJ9mmR+ymI3Huhl7cPyKxG5WCL76c0l91Skti2OUAh934xzFkfTP4BSHWQkvwAE9VKjImUP6iV96AYNpnLQ3xyP6nc840c5D7MIveTYhsgdyNbhtg7QiG3eHnEB3l5hEXuQ1gL+ILTAo5AqqN8cj+pFDXUJfex4ONxc+Q+hsmOa5H7SYjcx6CXdxzIrEblYIt/SWkuX0hJYtvmKwq5vxTDnPXB5H8Fqb6mJD/ARLUSY+I3FHJ/LYZN5vJbPrlHK/f8Ege5T7DIPVpsA+ReYssQeycp5BYvT/ogL0+yyP0t1gJOcVrASUj1HZ/co5WixbrkPh18/N4cuU9jsu+1yD0aIvdp6OV9D2RWo3KwxX+gNJdTUpLYtvmRQu4fxDBnfTD5P0KqnyjJDzBRrcSYeIZC7p/EsMlc/swnd5Jyz693kPsXFrmTxDZA7vW2DLF3lkJu8fKsD/LyLIvcP2Mt4BynBZyFVOf55E5SitbpkvvX4ONv5sj9Kyb7TYvcSRC5f4Ve3m9AZjUqB1v8d0pzOScliW2bPyjk/l0Mc9YHk/8HpPqTkvwAE9VKjIl/Ucj9pxg2mcu/+eR+QrnnmzjI/Q+L3E+IbYDcTWwZYu9fCrnFy399kJf/ssj9N9YCLnBawL+IKszDJ/cTSlFjTXKHZQo+3mCM3GGZMNkNWuR+AiF3WCbo5d0AZDb0ygEXz0xpLhekJKFtE5aFsW3DMothzvpg8rNAqqyU5AeYqFZCTAzLxiB3WFYxbDKXN/LJ/bhyzycFyR2WnUXux8U2QO4kW4Zslpso5BYvb/JBXt5EInfYjVgLyMFpATdBqpx8cj+uFD2hS+5cwcebzZE7Fya7WYvcj0PkzgW9vJuBzGpUDrb4LYzmEpZDShLbNrdSyH2LGOasDyb/VkiVm5L8ABPVSoyJeSjkzi2GTeYyL5/cj4VE7jAWuR8T2xi5w6AqyEcht3iZDyN3Pha582ItID+nBeSDVOF8cj/GI3dE8LGAOXJHYLICWuR+DCJ3BPTyCnDIjS0eSYFHfilJbNtEUcgdKYY564PJj4JU0ZTkB5ioVmJMLEghd7QYNpnLGD65H1Xu+QUOcntZ5H5UbAPkXmDLkCqIpZBbvIz1QV7Gssgdg7WAOE4LiIVU8XxyP6oUzdcl923Bx0LmyH0bJiukRe5HIXLfBr28QkBmNSoHW/x2CjzipCSxbXMHhdy3i2HO+mDy74BUd1KSH2CiWokxsTCF3HeKYZO5LMIn9yjlnp/tIHdRFrlHiW2A3LNtGVIFxSjkFi+L+SAvi7HIXQRrAcU5LaAYpLqLT+5RStEsXXKXCD6WNEfuEpispBa5R0HkLgG9vJJAZjUqB1u8FAUexaUksW1TmkLuUmKYsz6Y/NKQqgwl+QEmqpUYE8tSyF1GDJvMZTk+uUcq9/xBB7nLs8g9UmwD5D5oy5AqqEAht3hZwQd5WYFF7nJYC6jIaQEVIFUlPrlHKkUHdMldOfhYxRy5K2OyKlrkHgmRuzL08qoAmdWoHGzxqhR4VJSSxLZNNQq5q4phzvpg8qtBquqU5AeYqFZiTLybQu7qYthkLmvwyT1Cuee3Ochdk0XuEWIbIPc2W4ZUQS0KucXLWj7Iy1osctfAWkBtTguoBanq8Mk9QimydMldN/hYzxy562KyelrkHgGRuy708uoBmdWoHGzx+hR41JaSxLbNPRRy1xfDnPXB5N8DqRpQkh9golqJMbEhhdwNxLDJXDbik3u4cs9HOsjdmEXu4WIbIHekLUOqoAmF3OJlEx/kZRMWuRthLaAppwU0gVTN+OQerhQV0CV38+BjgjlyN8dkCVrkHg6Ruzn08hKAzGpUDrZ4Cwo8mkpJYtumJYXcLcQwZ30w+S0hVStK8gNMVCsxJramkLuVGDaZyzZ8cg9T7vk1DnLfyyL3MLENkHuNLUOqoC2F3OJlWx/kZVsWudtgLaAdpwW0hVTt+eQephSt1iV3h+BjR3Pk7oDJOmqRexhE7g7Qy+sIZFajcrDF76PAo52UJLZtOlHIfZ8Y5qwPJr8TpOpMSX6AiWolxsT7KeTuLIZN5vIBPrmHKvf8eAe5u7DIPVRsA+Qeb8uQKuhKIbd42dUHedmVRe4HsBbQjdMCukKq7nxyD1WKxumSu0fwsac5cvfAZD21yD0UIncP6OX1BDKrUTnY4g9S4NFNShLbNr0o5H5QDHPWB5PfC1I9REl+gIlqJcbE3hRyPySGTeayD5/cQ5R7vqGD3A+zyD1EbAPkbmjLkCroSyG3eNnXB3nZl0XuPlgL6MdpAX0hVX8+uYcoRQ10yZ0YfBxgjtyJmGyAFrmHQOROhF7eACCzGpWDLT6QAo9+UpLYthlEIfdAMcxZH0z+IEj1CCX5ASaqlRgTB1PILVtvsMlcDuGTe7Byz/sc5B7KIvdgsQ2Q22fLkCoYRiG3eDnMB3k5jEXuIVgLGM5pAcMg1Qg+udX7N1mX3CODj6PMkXskJhulRe7BELlHQi9vFJBZjcrBFn+UAo/hUpLYtnmMQu5HxTBnfTD5j0GqxynJDzBRrcSY+ASF3I+LYZO5TOKT+xHlnh/gIPdoFrnl/Y4GyD3AliFV8CSF3OLlkz7IyydZ5E7CWsBTnBbwJKQawye3+vNBoi65nw4+jjVH7qcx2Vgtcj8Ckftp6OWNBTKrUTnY4uMo8HhKShLbNuMp5B4nhjnrg8kfD6meoSQ/wES1EmPisxRyPyOGTebyOT65Byn3/EYHuZ9nkXuQ2AbIvdGWIVXwAoXc4uULPsjLF1jkfg5rARM4LeAFSDWRT271WHGDLrmTg48+c+ROxmQ+LXIPgsidDL08H5BZjcrBFk+hwGOClCS2bSZRyJ0ihjnrg8mfBKkmU5IfYKJaiTHxRQq5J4thk7l8iU/ugco9H+cg98sscstXQS8D5I6zZUgVvEIht3j5ig/y8hUWuV/CWsCrnBbwCqR6jU9u9ReisbrknhJ8nGqO3FMw2VQtcg+EyD0FenlTgcxqVA62+DQKPF6VksS2zesUck8Tw5z1weS/DqmmU5IfYKJaiTFxBoXc08WwyVy+wSf3AOWez+Ug90wWuWXAPBMgdy5bhlTBLAq5xctZPsjLWSxyv4G1gNmcFjALUs3hk1t9jyqnLrnnBh/nmSP3XEw2T4vcAyByz4Ve3jwgsxqVgy0+nwKP2VKS2LZZQCH3fDHMWR9M/gJI9SYl+QEmqpUYExdSyP2mGDaZy7f45E5U7vn+DnIvYpE7UWwD5O5vy5AqeJtCbvHybR/k5dsscr+FtYB3OC3gbUi1mE/uRKWony65lwQfl5oj9xJMtlSL3IkQuZdAL28pkFmNysEWX0aBxztSkti2WU4h9zIxzFkfTP5ySLWCkvwAE9VKjIkrKeReIYZN5nIVn9z9lXs+j4Pcq1nkFtitBsidx5YhVbCGQm7xco0P8nINi9yrsBawltMC1kCqdXxyq394lluX3OuDjxvMkXs9JtugRe7+ELnXQy9vA5BZjcrBFt9IgcdaKUls22yikHujGOasDyZ/E6TaTEl+gIlqJcbEdynk3iyGTebyPT65gR/+Osj9Povc/cQ25HDYBxQmy/ofJLNo+x62bbdwtu0HkOpDjdcKhCSGkbReZRH3DamIP2IVcV+xjRXxVkoRy/pbKUVsv8et5or4Kt/2w2o/HG/7Y9bbflhsYzvwY6gmPqHUhHj5CfbmPqEgUSrnEwzcWyAvP2XUt52lT5M57fdTSPUZ5dQUOI+oldh5xKI0l8/EMOYllsttLI5vgzZS1pahtsDcky61QMiXLFVlEaRc8c+unriQPuj6Rs+pPWhQ1xGHPXFW2HYrbIcVttMK22WF7bbC9lhhe62wfVbYfivsgBV20Ar73Ao7ZIUdtsKOWGFfWGFHrbBjVthxK+xLK+wrK+xrK+wbK+xbK+yEFXbSCjtlhX1nhZ22wr63wn6wwn409+F5e3ZItgOT7cRkuzDZbky2B5PtxWT7MNl+THYAkx3EZJ9jskOY7DAmO4LJvsBkRzHZMUx2HJN9icm+wmRfY7JvMNm3mOwEJjuJyU5hsu8w2WlM9j0m+wGT/Zg9dF5dZATEqxoh/73tw554CMTboYHiDqXKRv9OleriAWFXxqqUMxdVuzNUnZvkV+3JSHXs/H+qvRmo6hwPqPalr0que0m1P11Voi+oOpCeavUAh+pgOqrha5yqz9NWNRhxmepQmqoTDS9XHU5LVfZkKtWRNFSFy6VWfXGlqlORK1RHr1C163yl6lhqVVL7NFTHU6mSRqel+vJy1YrRaaq+ukxVb2Xaqq+dqoT66ai+cahWtUhP9W1QVWR1uqoTl1TTi6avOhlQlZ6RgerUf6pjZTJSfedXDTyeoer0RVWzQRmrvrdV3ZsrVD+IqlQPlepH5OMG1BivbpYR9qOyQ+50zDJ+Is0ywn4U28AXpzttGWLvDGOWYXt5xgd5eSbUNxfyd4f2m1OIduh+d/hz8PEXcx9/fsZkv+h8d3hxQ6lR/zN0bPgFyKzGIAZb/CxjDm4PD85AI46sLSEvz1EGMWfFsM/Y+lfZGX9QFtQ0R2c8z+qMMoI4D3TGabYMsfcrpTOKl7/6IC9/ZUx57fo+Z7K+f+PMYn+FVL/TL57Yxa0QTdWFxx/Bxz/NweMPTPanFjx+gODxB/Ty/gQyq1E52OJ/UVrQb1KSWFv+m4KFv8Swm+ufE8PYbyDPYV5Cqn/ody/CvleW/TIH4v5lIU4G7f8CiFtmyxB7FyiIEy8v+CAvL7C+//kH2gX5PBx4XYAWz8SH1/dK0VJNeOW7IfiY2Ri88t2AyTJrwet7BF75boBeXmYgs6FXDrh4FkZzyWeXJLZtsjK2bb4sYpizPpj8rJAqG+X6VYCcKtN+cqpVEDnz3cj4iJEvmxg2mfHsfL6fVnaGiUG+57uJxffTYhvg+0RbhmypHBS+i5c5fJCXOUh8z5cdaxQ5OY0iB6TKxef7aaVogi7fbw4+3mKO7zdjslu0+H4a4vvN0Mu7BcisRuVgi99K4XtOKUls2+Sm8P1WMcxZH0x+bkiVh5L8ABPVSoyJeSnkziOGTeYyjE/u75R73vHX//LlY5H7O7EN/fU/kSFVkJ9CbvEyP/TX/+z1FeY0yR2GtYBwTgvID6ki+OT+TinS/et/+QoEHyPNkbsAJovUIvd3ELkLQC8vEsisRuVgi0dR4BEuJYltm2gKuaPEMGd9MPnRkKogJfkBJqqVGBNjKOQuKIZN5tLLJ/cp5Z7f4SB3LIvcp8Q2QO4dtgypgjgKucXLOB/kZRyL3F6sBcRzWkAcpLqNT+5TStF2XXIXCj7ebo7chTDZ7VrkPgWRuxD08m4HMqtROdjid1DgES8liW2bOynkvkMMc9YHk38npCpMSX6AiWolxsQiFHIXFsMmc1mUT+6Tyj3f1UHuYixynxTbALm72jKkCopTyC1eFvdBXhZnkbso1gLu4rSA4pCqBJ/cJ5WiLrrkLhl8LGWO3CUxWSktcp+EyF0SenmlgMxqVA62eGkKPO6SksS2TRkKuUuLYc76YPLLQKqylOQHmKhWYkwsRyF3WTFsMpfl+eQ+odzzBxzkrsAi9wmxDZD7gC1DqqAihdziZUUf5GVFFrnLYy2gEqcFVIRUlfnkPqEU7dcld5XgY1Vz5K6CyapqkfsERO4q0MurCmRWo3KwxatR4FFJShLbNtUp5K4mhjnrg8mvDqnupiQ/wES1EmNiDQq57xbDJnNZk0/ub5V7vpGD3LVY5P5WbAPkbmTLkCqoTSG3eFnbB3lZm0XumlgLqMNpAbUhVV0+ub9Vihrqkrte8LG+OXLXw2T1tcj9LUTuetDLqw9kVqNysMXvocCjjpQktm0aUMh9jxjmrA8mvwGkakhJfoCJaiXGxEYUcjcUwyZz2ZhP7m+Ue36Jg9xNWOT+RmwD5F5iy5AqaEoht3jZ1Ad52ZRF7sZYC2jGaQFNIVVzPrm/UYoW65I7IfjYwhy5EzBZCy1yfwOROwF6eS2AzGpUDrZ4Swo8mklJYtumFYXcsm1bcdYHk98KUrWmJD/ARLUSY2IbCrlbi2GTubyXT+6vlXt+vYPcbVnk/lpsA+Reb8uQKmhHIbd42c4HedmORe57sRbQntMC2kGqDnxyf60UrdMld8fg433myN0Rk92nRe6vIXJ3hF7efUBmNSoHW7wTBR7tpSSxbdOZQu5OYpizPpj8zpDqfkryA0xUKzEmPkAh9/1i2GQuu/DJ/ZVyzzdxkLsri9xfiW2A3E1sGVIF3SjkFi+7+SAvu7HI3QVrAd05LaAbpOrBJ/dXSlFjXXL3DD4+aI7cPTHZg1rk/goid0/o5T0IZFajcrDFe1Hg0V1KEts2D1HI3UsMc9YHk/8QpOpNSX6AiWolxsQ+FHL3FsMmc/kwn9xfKvd8koPcfVnk/lJsA+ROsmVIFfSjkFu87OeDvOzHIvfDWAvoz2kB/SBVIp/cXypFT+iSe0DwcaA5cg/AZAO1yP0lRO4B0MsbCGRWo3KwxQdR4NFfShLbNo9QyD1IDHPWB5P/CKQaTEl+gIlqJcbEIRRyDxbDJnM5lE/u4yGRexiL3MfFNkbuYVAVDKeQW7wcjpF7OIvcQ7EWMILTAoZDqpF8ch/nkXtU8PFRc+Qehcke1SL3cYjco6CX9yiH3Njij1HgMUJKEts2j1PI/ZgY5qwPJv9xSPUEJfkBJqqVGBOTKOR+QgybzOVoPrmPKff8Age5n2SR+5jYBsi9wJYhVfAUhdzi5VM+yMunWOQejbWAMZwW8BSkeppP7mNK0Xxdco8NPo4zR+6xmGycFrmPQeQeC728cUBmNSoHW3w8BR5jpCSxbfMMhdzjxTBnfTD5z0CqZynJDzBRrcSY+ByF3M+KYZO5fJ5P7qPKPT/bQe4XWOQ+KrYBcs+2ZUgVTKCQW7yc4IO8nMAi9/NYC5jIaQETIFUyn9xHlaJZuuR2lHuKOXL7MFmKFrmPQuTGKicFyKxG5WCLT6LAY6KUJLb+ZAq5J4lhzvpg8idDqhcpyQ8wUa3EmPgShdwvimGTuXyZT+4vlHv+oKOVvcIi9xdiGyD3QVuGVMGrFHKLl6/6IC9fZZH7ZawFvMZpAa9Cqil8cn+hFB3QJffU4OM0c+SeismmaZH7C4jcU6GXNw3IrEblYIu/ToHHa1KS2LaZTiH362KYsz6Y/OmQagYl+QEmqpUYE9+gkHuGGDaZy5l8ch9R7vltDnLPYpH7iNgGyL3NliFVMJtCbvFytg/ycjaL3DOxFjCH0wJmQ6q5fHIfUYosXXLPCz7ON0fueZhsvha5j0Dknge9vPlAZjUqB1t8AQUec6QksW3zJoXc8u3Zm5z1weS/CakWUpIfYKJaiTHxLQq5F4phk7lcxCf3YeWej3SQ+20WuQ+LbYDckbYMqYJ3KOQWL9/xQV6+wyL3IqwFLOa0gHcg1RI+uQ8rRQV0yb00+LjMHLmXYrJlWuQ+DJF7KfTylgGZ1agcbPHlFHgslpLEts0KCrmXi2HO+mDyV0CqlZTkB5ioVmJMXEUh90oxbDKXq/nkPqTc82sc5F7DIvchsQ2Qe40tQ6pgLYXc4uVaH+TlWha5V2MtYB2nBayFVOv55D6kFK3WJfeG4ONGc+TegMk2apH7EETuDdDL2whkVqNysMU3UeCxTkoS2zabKeTeJIY564PJ3wyp3qUkP8BEtRJj4nsUcr8rhk3m8n0+uT9X7vnxDnJ/wCL352IbIPd4W4ZUwRYKucXLLT7Iyy0scr+PtYAPOS1gC6T6iE/uz5Wicbrk3hp8/Ngcubdiso+1yP05RO6t0Mv7GMisRuVgi39CgceHUpLYtvmUQu5PxDBnfTD5n0KqzyjJDzBRrcSYaFHI/ZkYNpnLbXxyH1Tu+YYOcm9nkfug2AbI3dCWIVWwg0Ju8XKHD/JyB4vc27AWsJPTAnZAql18ch9Uihroknt38HGPOXLvxmR7tMh9ECL3bujl7QEyq1E52OJ7KfDYKSWJbZt9FHLvFcOc9cHk74NU+ynJDzBRrcSYeIBC7v1i2GQuD/LJfUC5530Ocn/OIvcBsQ2Q22fLkCo4RCG3eHnIB3l5iEXug1gLOMxpAYcg1RE+udX7N1mX3F8EH4+aI/cXmOyoFrkPQOT+Anp5R4HMalQOtvgxCjwOS0li2+Y4hdzHxDBnfTD5xyHVl5TkB5ioVmJM/IpC7i/FsMlcfs0n937lnh/gIPc3LHLL+/0GIPcAW4ZUwbcUcouX3/ogL79lkftrrAWc4LSAbyHVST651Z8PEnXJfSr4+J05cp/CZN9pkXs/RO5T0Mv7DsisRuVgi5+mwOOElCS2bb6nkPu0GOasDyb/e0j1AyX5ASaqlRgTf6SQ+wcxbDKXP/HJvU+55zc6yH2GRe59Yhsg90ZbhlTBzxRyi5c/+yAvf2aR+yesBfzCaQE/Q6qzfHKrx4obdMl9Lvh43hy5z2Gy81rk3geR+xz08s4DmdWoHGzxXynw+EVKEts2v1HI/asY5qwPJv83SPU7JfkBJqqVGBP/oJD7dzFsMpd/8sm9V7nn4xzk/otFbvkq6C+A3HG2DKmCvynkFi//9kFe/s0i959YC/iH0wL+hlT/8smt/kI0VpfcFy495veYI/cFSJbfo0XuvRC5LyAvL78HyKxG5WCLZ6LA4x8pSWjb5L+BsW3zy383cNbHkp//BkiVmZL8ABPVSoiJ+bMwyJ0/sxg2mcusfHLvUe75XEFy58/GIvcesQ2QO5ctQzbLjRRyi5c3+iAvbySRO39WrAVk57SAGyHVTXxyq+9R5dQkd/4cwcecxsidPwcmy6lF7j0IufPngF5eTiCzGpWDLZ6L0VzyZ5eSxLbNzRRySz+4mbM+mPybIdUtlOQHmKhWYky8lULuW8SwyVzm5pN7t3LP93eQOw+L3LvFNkDu/rYMqYK8FHKLl3l9kJd5WeTOjbWAME4LyAup8vHJvVsp6qdL7vzBx3Bz5M6PycK1yL0bInd+6OWFA5nVqBxs8QgKPMKkJLFtU4BC7ggxzFkfTH4BSBVJSX6AiWolxsQoCrkjxbDJXEbzyb1LuefzOMhdkEXuXWIbIHceW4ZUQQyF3OJljA/yMoZF7misBXg5LSAGUsXyyb1LKcqtS+644GO8OXLHYbJ4LXLvgsgdB728eCCzGpWDLX4bBR5eKUls2xSikPs2McxZH0x+IUh1OyX5ASaqlRgT76CQ+3YxbDKXd/LJDfzw10Huwixy7xTbkMP5i1CYLOsXSWbR9k5s2xblbNsikKqYxmsFQhLDSFqvsoh3hFTExVlFvENsY0V8F6WIZf27KEVsv8e7zBXxVb7t7Wo/HG+7BOttbxfb2A4sAdVESUpNiJclsTdXkoJEqZySGLiLQl6WYtS3naVSyZz2WwpSlaacmgLnEbUSO4+UoTSX0mIY8xLLZVkWx8tCGylry1AL6bDHnmXL58cM/2fltf8xPYVIVM8iToZtRz7she1Qqi4enlQq5ONlyhlgfHxu0hn118PHzv+nyuj6V53jAVUG17uT615Spf/zrURfUHUAyX2NZpCqOaRKgFQtIFVLSDUy9PIumJ7h1QMcyUvvr9IMX+NUpfNX5xqMuEyV9p8vONHwclWafzW+7MlUqrT+VZjC5VKr0vjZe6ciV6iu/Fdd23W+UnXFv9qe1D4NVerfYiWNTkv15eWqFaPTVH11mareyrRVXztVCfXTUX3jUK1qkZ7K8TPVIqvTVZ24pJpeNH3VyYCq9IwMVIGfNx4rk5HqO79q4PEMVacvqpoNylh18c599+YK1Q+iKtVDpfoR2pwNIVUjSNUYUjWBVE0h1ahQW8sk6EBQDjlc1BgJqUbRP9/kLxfSp9nypM83+cuJbczhCoxPLvb6FZI5BVERA52xmr3KgqgYUkFUYhVERbGNOVyZUhCyfuWQh0lZHF8KHfbEpUCfBpWqTB7/2Vgh8vjPxgqRx382Vog8/rOxQuTxn40VIo//bKwQefxnY4XI4z8bK0Qe/9lYIfL4D4EKkcd/CFSIPP5DoELk8R8CFSKP/xCoEHn8h0CFyOM/BCpEHv8hUCHy+A+BCpHHfwhUiDz+Q6BC5PEfAhUij/8QqBB5/IdAhcjjPwQqRB7/IVAh8vgPgQqRx38IVIg8/kOgQuTxHwKVn+0vHgKVn+3DkD+sEGq7y/sw0u7y9kXaXd5+SLvL2x9pd3kTkXaXdwDS7vIORNpd3kFIu8v7CNLu8g5G2l3eIUi7yzsUaXd5hyHtLu9wpN3lHYG0u7wjkXaXdxTS7vI+irS7vI8h7S7v40i7y/sE0u7yJiHtLu9opN3lfRJpd3mfQtpd3jFIu8v7NNLu8o5F2l3ecUi7yzve5ChT3e4cB98q4FcSlWVEC51joUkuch+nisZ3p/bAuXIK5ib0oadqqEfnrL7rLLlCdJ0lDtV1lgRU11kSUP0Ps8RxfbNa8LE6OJ6oKn2ec/uiihjHvsO/m7J+NTGMrV/DEDBrfJak4Wd12M+ahvysmYafwFuSACE/a0zVeJ/KL6Hs9Wti608LcX05JiBvKu/D4oRSePGkAAj9hwW18L/zglIYODKohJdODQph8OCQsdBxdshQ6Dw+ZCS87ASRgfDyQ0T6wlTniHSFqY8S6QmvOE2kI7zyQJG2MI0zRZrCtI4VaQnTPFmkIUz7cHGlMJ3zxRXC9I4YqYXpnjJSCdM/aFwuzOCscZkwo+OGU5jhicMhzPjQERQqzh2XhKqjR0CoPH38J1QfQPxC4AwiQugjXY2pkAppz5d9pMuWkuHvWVKjItQvqgD8Oz6v10LNIqcahNa1lN96XdkabFjWwmC5KERYJk9OUb4C2wHoRFPbYFktMpTv2qlOR2kGnDo0NOA6ogor49kfe7TCiOLhFRMTho452mbR4/lmFT1xa4Efh1Qf+sfhRNkhooop12zKu636LH6h6q0NyubY/djusX3K7Zv4zJPFzia1G5GtUIq5gOtIwFc7Qrn+7aMnoLr+7WNAdf3bx4Dq+rePAdX/yW8fHSOUusHHeiZJH/pcQBBeF5sL1DcEgvpa8wvxsx7m5z2G/LxHd35RHzsSbdN4n9D84h5s/e2c+YX9exFofmH/JAuaX9g/QITmF/ZfD4DmF/YfCILmF/bfAITmF2F7wflF2D5wfhG2H5xfhB0A5xdhB8H5Rdjn4Pwi7BA4vwg7DM4vwo6A84uwL8D5RdhRcH4RdgycX4QdB+cXYV+C84uwr8D5RdjX4Pwi7BtwfhH2LTi/CDsBzi/CToLzi7BT4Pwi7DtwfhF2GpxfhH0Pzi/CfgDnF2E/wvOLbZAKac/Xcn4B4N8xv2hwrecXDTTnFw0wWB4F3KTNLxoaLKujhvLdkDm/aATNL7ZD8wtTATdKPb/IlkIYAXJ3ZeNrvSsba+7KxtiuPBbqrnwR+6YYUmE/7plqcO8eM/RWmqS1d9UBN4X22zSDe9dUwE2vzx6vzx4Dquuzx4Dq+uwxoPr/afbYLPjYHBxqBS5ZKRbJhF2kDX2oZq+P/RWMqhDJEiij1GZiGBtRtjDEtRZao9TmsJ+m7ni31BqlJkiAkJ81b7j6qktjlCrrt8TWzxzi+iGMUhPQUapSGBilqoSXRqkJ6Cg1AR2lJqCj1AR0lJqAjlIT0FFqAjpKTUBHqQnoKDUBHaUmoKPUBHSUmoCOUhPQUWoCOkpNQEepCegoNQEdpSago9QEdJSagI5SE9BRagI6Sk1AR6kJ6Cg1AR2lJqCj1AR0lJoA4b7mDZAKac/XcpQK4N8xtGmFmkVONQitW+kMbQSWrTBYhnFGqdAfe8rf2mBZhRnKd2u9USoWcBtkHFMzMzKOMRZwGwPjmOu/pvMEVNd/TRdQXf81XUB1/dd0AdX/9V/T3Rt8bGuS9KHPBQTh92JzgXaGQNBOa34hfrbF/GxvyM/2uvOLdtiRqDxrftEeW78CZ35h/5QNml/YP2WD5hf2T9mg+YX9UzZofmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNmh+Yf+UDZpf2D9lg+YX9k/ZoPmF/VM2aH5h/5QNml/YP2WD5hf2T9mg+YX9UzZofmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNmh+Yf+UDZpf2D9lg+YX9k/ZoPmF/VM2aH5h/5QNml/YP2WD5hf2T9mg+YX9UzZofmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNnB+UR5SIe35Ws4vAPw75hcdrvX8ooPm/KIDBkvkHjxtftHRYFmZutDfkTm/uA+aX1SA5hemAr7v6q+CId8AUndlp2u9Kztp7spO2K68J9RdiV0Fw4q0M/YtpcG9a+pHLp31roLdD+23zAb3rqmA79f5KGf/vbEKJv/e2AOsD/APJGvlaXmLxEd69u6R2L9si56D+g0Z3HVw78T+KZODecv2XPA5S3XH893B58wTJlv5u1j5u1r5u1n5u1/tMvm7OJap4dAkyzI9rPzSxB608vfS+Nccs1SFOl8P6FU+xEl4/occzz0dzw86nntJJnpb+ftY+eWTdt+r/FPaWWoq/9WTfx0A6Uf6U9pZaopt4B+q/deWIa+xP+MPbtte9vdBXvYn7cipju1RzVEUvVPtSBlwyOhChhKD9P5ln/7YrO0RRkuz0/wIluZHSGme6UhzLUeaE1OlWUYvMlSRccmwq92H1UI6yA1n7cNqYhs7Io6g7DBZf4TO34yDaN7fJM1HUmgu46+RnH92s4KVZxJ2qm5IWb+alWcytn6jUE/12L9xMQo6Y0M/uwJczKTXd0dhffdRQwfjR+N0MvnYNc3k5S87BS32F9GqfBFL+eMsR19CHX0Jc/SJUAeHjn8mHnU6b2XQ6by9Fd3swoULZ9B/Uv7irMDxLWpS8HG0uX9SPgmTjY7TasJ5K2NNsDmpCeftja0f6rfNqhmC/18zzJ8ElfBoqHU0h1QJQP1pnSaSkkkdIW8VtCO8inWEJ1mOVkUdfQ1z9CmWo9VQR6dgjo5hOVoddXQq5ujTLEfvRh2dhjk6luVoDdTR1zFHx7EcrYk6Oh1zdDzL0VqoozMwR59hOVobdfQNzNFnWY7WQR2diTn6HMvRuqijszBHn2c5Wg91dDbm6AssR+ujjs7BHJ3AcvQe1NG5mKMTWY42QB2dhzlKO+Y1RB2djznqYznaCHV0AeZoCsvRxqijb2KOTmI52gR1dCHm6GSWo01RR9/CHH2R5Wgz1NFFmKMvsRxtjjr6NuboyyxHE1BH38EcfYXlaAvU0cWYo6+yHG2JOroEc/Q1lqOtUEeXYo5OYTnaGnV0GeboVJajbVBHl2OOTmM5ei/q6ArM0ddZjrZFHV2JOTqd5Wg71NFVmKMzWI62Rx1djTn6BsvRDqijazBHZ7Ic7Yg6uhZzdBbL0ftQR9dhjs5mOdoJdXQ95ugclqOdUUc3YI7OZTl6P+roRszReSxHH0Ad3YQ5Op/laBfU0c2YowtYjnZFHX0Xc/RNlqPdUEffwxxdyHK0O+ro+5ijb7Ec7YE6+gHm6CKWoz1RR7dgjr7NcvRB1NEPMUffYTnaC3X0I8zRxSxHH0Id3Yo5ugRxtFnPfomDRjTq33vwpDKHPaXly3P5Wlq+8JWvUuVLSvn6T75Yk6+s5Msg+ZpFvsCQrwZk6C7jbBkUywhWhpsyNpSBnIy6ZIgk4xkZfMhIQT6sy8dg+YApH93kQ5F83JCDvByR5fApxzo5MMlRRCAv+BQwScuXZiptShqAbC0pWikHSbSEMNfvn86traXqsWtm6FJF5tBvh8D338CBwjJg/fn+VCUMSCkzCbkd5EF/HLXMnKnljL1j/zpgJCR8xMo/GEv4ihD3Ttn/kb2Tgt72WY5W8Arsb5Yuh9K+MqQ6LwvVeSYX6nxliHUOtrRV17SlaV7pBcc6qwmvGn4/q82ZWuNiHDdZ5uJY62Yce83Fsc7NOPabi2O9m3EcNBfHBjfjOGQujo1uxnHEXByb3IzjqLk4NrsZx3FzcbzrZhxfmYvjPTfj+MZcHO+7GccJc3F84GYcp8zFscXNOE6bi+NDN+P4wVwcH7kZx0/m4tjqZhw/m4vjYzfjOGsujk/cjOO8uTg+dTOO38zF8ZmbcfxhLg7LzTj+MhfHNjfj+MdcHNvdjOOCuTh2uBhHjkzm4tjpZhyZzcWxy804spqLY7ebcdxoLo49bsZxk7k49roZR05zcexzM46bzcWx3804bjUXxwE348hjLo6DbsYRZi6Oz92MI7+5OA65GUeEuTgOuxlHpLk4jrgZR7S5OL5wM44Yc3EcdTOOWHNxHHMzjnhzcRx3M45C5uL40s047jAXx1duxlHYXBxfuxlHUXNxfONmHMXNxfGtm3GUMBfHCTfjKGUujpNuxlHGXBzAV42X3dQsd/Gm5lor/zor/3or/wYr/0Yr/yYr/2b5Kl6+xZYvgOW7U/naUb6xky+75Hsi+YpFvp2Qwb7MxGWcLJNYGWLK/E9GZzJ1koGNzDpkTCCfsOXDqXyuk49E8mlCDuJyhpXjn5yc5NAhvBbUCSWkwUpvkm0tO0KKSd6DhJDeTU1l9PZ9u8fQK51rsJuaa1KQ63vfhVQ+5cze1DR4fQ+JQ+Om5mn14gZvat6gd1PzNHZT83vCq4bfz/fmTP0Q4quG/4LzSCyPP7qYR5M3RX9yMw6DN0XPuBmHwZuiP7sZh8Gbor+4GYfBm6Jn3YzD4E3Rc27GYfCm6Hk34zB4U/RXN+MweFP0NzfjMHhT9Hc34zB4U/QPN+MweFP0TzfjMHhT9C834zB4U/RvN+MweFP0HzfjMHhT9F834zB4U/SCm3GYuyka7nEzDnM3RcMzuRmHuZui4Te4GYe5m6Lhmd2Mw9xN0fAsbsZh7qZoeFYX4zB4UzQ8m5txmLspGn6jm3GYuykant3NOMzdFA2/yc04zN0UDc/hZhzmboqG53QzDnM3RcNzuRmHuZui4Te7GYe5m6Lht7gZh7mbouG3uhmHuZui4bndjMPcTdHwPG7GYe6maHheN+Mwd1M0PMzNOMzdFA3P52Yc5m6Khud3Mw5zN0XDw92Mw9xN0fAIN+Mwd1M0vICbcZi7KRoe6WYc5m6Khke5GYe5m6Lh0W7GYe6maHhBN+Mwd1M0PMbNOMzdFA33AnE4b4qWv3hT9Ccr/xkr/89W/l+s/Get/Oes/Oflq3j5Flu+AJbvTuVrR/nGTr7sku+J5CsW+XZCBvsyE5dxskxiZYgp8z8ZncnUSQY2MuuQMYF8wpYPp/K5Tj4SyacJOYjLGVaOf3JykkOH8FpQJ5SQBiu9Sba17AgpJnkPEsJV/U3PH9CLgT9iN0V/QK69hceGVD7lzd4UNXd9EIoj9Jui4XHI4mb+7WdbpHVTNDwOuuEYDhz2kH9rPDw+LuSKcOEiZPhthMp24SJkeCE34zB3ETL8djfjMHcRMvwON+MwdxEy/E434zB3ETK8sJtxmLsIGV7EzTjMXYQML+pmHOYuQoYXczMOcxchw4u7GYe5i5Dhd7kZh7mLkOEl3IzD3EXI8JJuxmHuImR4KTfjMHcRMry0m3GYuwgZXsbNOMxdhAwv62YcBi9ClnMzDoMXIcu7GYfBi5AV3IzD4EXIim7GYfAiZCU34zB4EbKyi3GYvAhZxc04DF6ErOpmHAYvQlZzMw6DFyGruxmHwYuQd7sZh8GLkDXcjMPgRciabsZh8CJkLTfjMHgRsrabcRi8CFnHzTgMXoSs62YcBi9C1nMzDoMXIeu7GYfBi5D3uBmHwYuQDdyMw+BFyIZuxmHwImQjN+MweBGysZtxGLwI2cTNOAxehGzqZhwGL0I2czMOgxchm7sZh8GLkAluxmHwImQLN+MweBGyJRCHxk22Vtf0JtuVf6tP5WEmK2s/6GJjljqIqspPBB/vgH2sC/l4muCjlaW+lbUD5mV9ReX8dOHCnxKyhpfKtbO2s/L2SYEqtzUSS412gJcL6wzq3bdv7172xcbJuSeNntu6d/9efXtiHoe3llQALeOSVaC/xIUgzuTxjZ5Te9CgriMOe+Ks8DZW+L1WeFsrvJ0V3t4K72CFd7TC77PCO1nhna3w+63wB6zwLlZ4Vyu8mxXe3QrvYYX3tMIftMJ7WeEPWeG9rfA+VvjDVnhfK7yfFd7fCk+0wgdY4QOt8EFW+CPQNV/otmib7JDsXkzWFpO1w2TtMVkHTNYRk92HyTphss6Y7H5M9gAm64LJumKybpisOybrgcl6YrIHMVkvTPYQJuuNyfpgsocxWV9M1g+T9cdkiZhsACYbiMkGYbJHsl9+zJoMwaqNGqmCknuVKhs4bZEVa64P9byoCuSni7Rrl7Eq5cxFVfsMVecm+VUdoEA2GA3k2Pn/Fu+YgarO8YDqvvRVyXUvqTpBgWw0F0iiL7h45/RUqwc4VPenoxq+xql6AApkk6FAGoy4bPEuaapONLxc1TUtVdmTqVTdoEA2mwikcLnUi3e/UtWpyBWqHleo2nW+UtUTCuTdqw4kqX0aiz+YSpU0Oi1Vr8tVK0anqXoICuS9qwuk3sq0F+/tVCXUT0fVx6Fa1SI91cNQIO9fRSBFVqe7eN9LqulF01f1C6hKz8hA1R8K5APdQI6VyWjxRL9q4PEMVQMuqpoNylg1EApkC+XzqnxIaj3VXr97c4WXg0RVqodK9Qg0aVkPqTZAqo2QahOk2gyp3oVU70Gq9yHVB5BqS6izglt8wQ/q2BTvEeUxcOdFm/0G9JWP5YOxz9shV224nGMHq6Ysti+2DLE3RL0B9bwc4oO8HBLqm7s1RePNKUQ7QprapARf89Dg4zBzE5ahmGxY9ivHxqr1/W1K/XlmKPTZaBiQ2ctcxOaD2OLDNfaX+nf7QoUh0Kw1az/IyxEMdoUPF8M+Y+tfZWccpCyoaY7OOJLVGWXKORLojNNsGWJvFKUzipejfJCXoxjfJdj1PcJkfT8a6iETawGjINVjQCFdJTwGKUVTdeHxePDxCXPweByTPaEFj0EQPB6HXt4TQGY1KgdbPInSgh6VksTa8mgKFpLEsJvrjxDD2JfXIzAvIdWToXaB0BE3UFn2yxyIe4qFOPku7ykAcctsGWJvDAVx4uUYH+TlGNYH+yexXfA0B15jINVYPrwGKkVLdeE1Lvg43hy8xmGy8VrwGgjBaxz08sYDmdWoHGzxZyjN5WkpSWzbPEuBxzNimLM+mPxnIdVzjI+dl8ipMu0np1qFkfN5xkeM8OfEsMmMv8Dn+wBlZ5jo4PsEFt8HiG2A7xNtGWJvIoXv4uVEH+TlRBbfX8AaRTKnUUyEVD4+3wcoRRN0+e54nGSO7ymYbJIW3wdAfMde8SQgsxqVg6kmU5pLspQktm1epPB9shjmrA8m/0VI9RIl+QEmqpUYE1+mkPslMWwyl6/wyZ2o3PNxDnK/yiJ3otgGyB1nyxB7r1HILV6+5oO8fI1F7lewFjCF0wJeg1RT+eROVIpidck9Lfj4ujlyT8Nkr2uROxEi9zTo5b0OZFajcrDFp1OayxQpSWzbzKCQe7oY5qwPJn8GpHqDkvwAE9VKjIkzKeR+QwybzOUsPrn7K/f8Dge5Z7PI3V9sA+TeYcsQe3Mo5BYv5/ggL+ewyD0LawFzOS1gDqSaxyd3f6Vouy655wcfF5gj93xMtkCL3P0hcs+HXt4CILMalYMt/ialucyVksS2zUIKud8Uw5z1weQvhFRvUZIfYKJaiTFxEYXcb4lhk7l8m0/ufso939VB7ndY5BYmvQOQu6stQ+wtppBbvFzsg7xczCL321gLWMJpAYsh1VI+udU/e++iS+5lwcfl5si9DJMt1yJ3P4jcy6CXtxzIrEblYIuvoDSXJVKS2LZZSSH3CjHMWR9M/kpItYqS/AAT1UqMiasp5F4lhk3mcg2f3H2Ve/6Ag9xrWeTuK7YBch+wZYi9dRRyi5frfJCX61jkXoO1gPWcFrAOUm3gk7uvUrRfl9wbg4+bzJF7IybbpEXuvhC5N0IvbxOQWY3KwRbfTGku66UksW3zLoXcm8UwZ30w+e9CqvcoyQ8wUa3EmPg+hdzviWGTufyAT+6HlXu+kYPcW1jkflhsA+RuZMsQex9SyC1efuiDvPyQRe4PsBbwEacFfAiptvLJ/bBS1FCX3B8HHz8xR+6PMdknWuR+GCL3x9DL+wTIrEblYIt/SmkuH0lJYtvmMwq5PxXDnPXB5H8GqSxK8gNMVCsxJm6jkNsSwyZzuZ1P7j7KPb/EQe4dLHL3EdsAuZfYMsTeTgq5xcudPsjLnSxyb8dawC5OC9gJqXbzyd1HKVqsS+49wce95si9B5Pt1SJ3H4jce6CXtxfIrEblYIvvozSXXVKS2LbZTyH3PjHMWR9M/n5IdYCS/AAT1UqMiQcp5JYx6UGTufycT+7eyj2/3kHuQyxy9xbbALnX2zLE3mEKucXLwz7Iy8Mscn+OtYAjnBZwGFJ9wSd3b6VonS65jwYfj5kj91FMdkyL3L0hch+FXt4xILMalYMtfpzSXI5ISWLb5ksKuY+LYc76YPK/hFRfUZIfYKJaiTHxawq5vxLDJnP5DZ/cDyn3fBMHub9lkfshsQ2Qu4ktQ+ydoJBbvDzhg7w8wSL3N1gLOMlpAScg1Sk+uR9Sihrrkvu74ONpc+T+DpOd1iL3QxC5v4Ne3mkgsxqVgy3+PaW5nJSSxLbNDxRyfy+GOeuDyf8BUv1ISX6AiWolxsSfKOT+UQybzOUZPrl7Kfd8koPcP7PI3UtsA+ROsmWIvV8o5BYvf/FBXv7CIvcZrAWc5bSAXyDVOT65eylFT+iS+3zw8Vdz5D6PyX7VIncviNznoZf3K5BZjcrBFv+N0lzOSkli2+Z3Crl/E8Oc9cHk/w6p/qAkP8BEtRJj4p8Ucv8hhk3m8i8+uR8Midx/s8j9oNjGyP03FNY/FHKLl/9g5P6HRe6/sBbwL6cF/AOpLvDJ/SCN3BGe4GMmY+SOAGWZtMj9IELuCA/y8iIyUcgNLn4Dpbn8KyUJbZuIzIxtG3GDGOasDyY/M6TKQkl+gIlqJcTEiKwMckdkEcMmc5mNT+6eyj2/IEjuiBtZ5LZtA+ReYMuQzZKdQm7xMrsP8jI7idwR2bAWcBOnBWSHVDn45O6pFM3XJXfO4GMuc+TOiclyaZG7J0TunNDLywVkVqNysMVvZjSXiJukJLFtcwuF3DeLYc76YPJvgVS3UpIfYKJaiTExN4Xct4phk7nMwyd3D+Wen+0gd14WuXuIbYDcs20ZUgVhFHKLl2E+yMswFrnzYC0gH6cFhEGq/Hxy91CKZumSOzz4GGGO3OGYLEKL3D0gcodDLy8CyKxG5WCLF6DAI5+UJLZtIinkLiCGOeuDyY+EVFGU5AeYqFZiTIymkDtKDJvMZUE+ubsr9/xBB7ljWOTuLrYBch+0ZUgVeCnkFi+9PshLL4vcBbEWEMtpAV5IFccnd3el6IAuueODj7eZI3c8JrtNi9zdIXLHQy/vNiCzGpWDLV6IAo9YKUls29xOIXchMcxZH0z+7ZDqDkryA0xUKzEm3kkh9x1i2GQuC/PJ3U2557c5yF2ERe5uYhsg9zZbhlRBUQq5xcuiPsjLoixyF8ZaQDFOCygKqYrzyd1NKbJ0yX1X8LGEOXLfhclKaJG7G0Tuu6CXVwLIrEblYIuXpMCjmJQktm1KUchdUgxz1geTXwpSlaYkP8BEtRJjYhkKuUuLYZO5LMsnd1flno90kLsci9xdxTZA7khbhlRBeQq5xcvyPsjL8ixyl8VaQAVOCygPqSryyd1VKSqgS+5KwcfK5shdCZNV1iJ3V4jclaCXVxnIrEblYItXocCjgpQktm2qUshdRQxz1geTXxVSVaMkP8BEtRJjYnUKuauJYZO5vJtP7i7KPb/GQe4aLHJ3EdsAudfYMqQKalLILV7W9EFe1mSR+26sBdTitICakKo2n9xdlKLVuuSuE3ysa47cdTBZXS1yd4HIXQd6eXWBzGpUDrZ4PQo8aklJYtumPoXc9cQwZ30w+fUh1T2U5AeYqFZiTGxAIfc9YthkLhvyyf2Acs+Pd5C7EYvcD4htgNzjbRlSBY0p5BYvG/sgLxuzyN0QawFNOC2gMaRqyif3A0rROF1yNws+NjdH7maYrLkWuR+AyN0MennNgcxqVA62eAIFHk2kJLFt04JC7gQxzFkfTH4LSNWSkvwAE9VKjImtKORuKYZN5rI1n9z3K/d8Qwe527DIfb/YBsjd0JYhVXAvhdzi5b0+yMt7WeRujbWAtpwWcC+kascn9/1KUQNdcrcPPnYwR+72mKyDFrnvh8jdHnp5HYDMalQOtnhHCjzaSkli2+Y+Crk7imHO+mDy74NUnSjJDzBRrcSY2JlC7k5i2GQu7+eTu7Nyz/sc5H6ARe7OYhsgt8+WIVXQhUJu8bKLD/KyC4vc92MtoCunBXSBVN345Fbv32RdcncPPvYwR+7umKyHFrk7Q+TuDr28HkBmNSoHW7wnBR5dpSSxbfMghdxSSQ9y1geT/yCk6kVJfoCJaiXGxIco5O4lhk3msjef3J2Ue36Ag9x9WOSW99sHIPcAW4ZUwcMUcouXD/sgLx9mkbs31gL6clrAw5CqH5/c6s8Hibrk7h98TDRH7v6YLFGL3J0gcveHXl4ikFmNysEWH0CBR18pSWzbDKSQW/rBQM76YPIHQqpBlOQHmKhWYkx8hELuQWLYZC4H88l9n3LPb3SQewiL3PeJbYDcG20ZUgVDKeQWL4f6IC+Hssg9GGsBwzgtYCikGs4nt3qsuEGX3COCjyPNkXsEJhupRe77IHKPgF7eSCCzGpWDLT6KAo9hUpLYtnmUQu5RYpizPpj8RyHVY5TkB5ioVmJMfJxC7sfEsMlcPsEnd0flno9zkDuJRW75KigJIHecLUOqYDSF3OLlaB/k5WgWuZ/AWsCTnBYwGlI9xSe3+gvRWF1yjwk+Pm2O3GMw2dNa5O4IkXsM9PKeBjKrUTnY4mMp8HhSShLbNuMo5B4rhjnrg8kfB6nGU5IfYKJaiTHxGQq5x4thk7l8lk/uDso9n8tB7udY5O4gtgFy57JlSBU8TyG3ePm8D/LyeRa5n8VawAucFvA8pJrAJ7f6HlVOXXJPDD4mmyP3REyWrEXuDhC5J0IvLxnIrEblYIv7KPB4QUoS2zYpFHL7xDBnfTD5mGoSJfkBJqqVGBMnU8g9SQybzOWLfHK3V+75/g5yv8Qid3uxDZC7vy1DquBlCrnFy5d9kJcvs8j9ItYCXuG0gJch1at8crdXivrpkvu14OMUc+R+DZNN0SJ3e4jcr0EvbwqQWY3KwRafSoHHK1KS2LaZRiH3VDHMWR9M/jRI9Tol+QEmqpVYLNMp5H5dDJvM5Qw+udsp93weB7nfYJG7ndgGyJ3HliFVMJNCbvFypg/yciaL3DOwFjCL0wJmQqrZfHKrf3iWW5fcc4KPc82Rew4mm6tF7nYQuedAL28ukFmNysEWn0eBxywpSWzbzKeQe54Y5qwPJn8+pFpASX6AiWolxsQ3KeReIIZN5nIhn9zAD38d5H6LRe62YhtyOGIRhcmy/qJkFm0XYtv2bc62XQSp3tF4rUBIYhhJ61UW8b0hFfFiVhHfK7axIl5CKWJZfwmliO33uMRcEV/l226j9sPxtpey3nYbsY3twKVQTSyj1IR4uQx7c8soSJTKWYaB+23Iy+WM+raztDyZ036XQ6oVlFNT4DyiVmLnkZWU5rJCDGNeYrlcxeL4KmgjZe0XagvMPelSC4R8yVJbFkHKFf/s6okL6YOub/Sc2oMGdR1x2BNnRay2ItZYEWutiHVWxHorYoMVsdGK2GRFbLYi3rUi3rMi3rciPrAitlgRH1oRH1kRW62Ij62IT6yIT62Iz6wIy4rYZkVstyJ2WBE7rYhdVsRuK2KPFbHXithnRew39+F5dXZItgaTrcVk6zDZeky2AZNtxGSbMNlmTPYuJnsPk72PyT7AZFsw2YeY7CNMthWTfYzJPsFkn2KyzzCZhcm2YbLtmGwHJtuJyXZhst2YbA8m24vJ9mGy/dlD59VFRkC8qvlpqAefwx7s3w9cDQ0U1yhVNvrXqlQXDwjrMlalnLmoWp+h6twkv2pDRqpj5/9TbcxAVed4QLUpfVVy3UuqzemqEn1B1bvpqVYPcKjeS0c1fI1T9X7aqgYjLlN9kKbqRMPLVVvSUpU9mUr1YRqqwuVSqz66UtWpyBWqrVeo2nW+UvVxalVS+zRUn6RSJY1OS/Xp5aoVo9NUfXaZqt7KtFWWU5VQPx3VNodqVYv0VNuDqiKr01XtuKSaXjR91c6AqvSMDFS7/lMdK5ORardfNfB4hqo9F1XNBmWs2murujdXqPaJqlQPlWo/8nEDaoxXN8uI2K/skDsds4wDpFlGxH6xDXxxutOWIfYOMmYZtpcHfZCXB0N9cyF/d2i/OYVoh+53h58HHw+Z+/jzOSY7pPPd4cUNpUb959Cx4RCQWY1BDLb4YcYc3B4eHIRGHFn7QV4eoQxiDothn7H1r7Iz7lMW1DRHZ/yC1RllBPEF0Bmn2TLE3lFKZxQvj/ogL48yprx2fR8xWd/HOLPYo5DqOP3iiV3cCtFUXXh8GXz8yhw8vsRkX2nBYx8Ejy+hl/cVkFmNysEW/5rSgo5JSWJt+RsKFr4Ww26uf0QMT8KwhHkJqb6l372I2Kss+2UOxJ1gIU4G7ScAxC2zZYi9kxTEiZcnfZCXJ1nf/3yL7YJTHHidhFTf8eG1Vylaqguv08HH783B6zQm+14LXnsheJ2GXt73QGY1Kgdb/AdKczklJYltmx8p8PhBDHPWB5P/I6T6iXL9KkBOlWk/OdUqjJxnKBdJfhLDJjP+M5/ve5SdYaKD77+w+C7fpf8C8H2iLUPsnaXwXbw864O8PMvi+89YozjHaRRnIdV5Pt/3KEUTdPn+a/DxN3N8/xWT/abF9z0Q33+FXt5vQGY1Kgdb/HdKczknJYltmz8ofP9dDHPWB5P/B6T6k5L8ABPVSoyJf1HI/acYNpnLv/nk3q3c886//vcPi9y7xTb21//+gcL6l0Ju8fJf7K///csi999YC7jAaQH/IqoCHj65dytFun/9r0Cm4OMNxshdIBMmu0GL3LsRchfIBL28G4DMhl454OKZKc3lgpQktG0KZGFs2wKZxTBnfTD5WSBVVkryA0xUKyEmFsjGIHeBrGLYZC5v5JN7l3LP7wiSu0B2Frl3iW2A3DtsGbJZbqKQW7y8yQd5eROJ3AVuxFpADk4LuAlS5eSTe5dStF2X3LmCjzebI3cuTHazFrl3QeTOBb28m4HMalQOtvgtjOZSIIeUJLZtbqWQ+xYxzFkfTP6tkCo3JfkBJqqVGBPzUMidWwybzGVePrl3Kvd8Vwe5w1jk3im2AXJ3tWVIFeSjkFu8zOeDvMzHInderAXk57SAfJAqnE/unUpRF11yRwQfC5gjdwQmK6BF7p0QuSOgl1cAyKxG5WCLR1LgkV9KEts2URRyR4phzvpg8qMgVTQl+QEmqpUYEwtSyB0thk3mMoZP7h3KPX/AQW4vi9zyMdULkPuALUOqIJZCbvEy1gd5GcsidwzWAuI4LSAWUsXzyb1DKdqvS+7bgo+FzJH7NkxWSIvcOyBy3wa9vEJAZjUqB1v8dgo84qQksW1zB4Xct4thzvpg8u+AVHdSkh9golqJMbEwhdx3imGTuSzCJ/d25Z5v5CB3URa5t4ttgNyNbBlSBcUo5BYvi/kgL4uxyF0EawHFOS2gGKS6i0/u7UpRQ11ylwg+ljRH7hKYrKQWubdD5C4BvbySQGY1KgdbvBQFHsWlJLFtU5pC7lJimLM+mPzSkKoMJfkBJqqVGBPLUshdRgybzGU5Prm3Kff8Ege5y7PIvU1sA+ReYsuQKqhAIbd4WcEHeVmBRe5yWAuoyGkBFSBVJT65tylFi3XJXTn4WMUcuStjsipa5N4Gkbsy9PKqAJnVqBxs8aoUeFSUksS2TTUKuauKYc76YPKrQarqlOQHmKhWYky8m0Lu6mLYZC5r8MltKff8ege5a7LIbYltgNzrbRlSBbUo5BYva/kgL2uxyF0DawG1OS2gFqSqwye3pRSt0yV33eBjPXPkrovJ6mmR24LIXRd6efWAzGpUDrZ4fQo8aktJYtvmHgq564thzvpg8u+BVA0oyQ8wUa3EmNiQQu4GYthkLhvxyf2Zcs83cZC7MYvcn4ltgNxNbBlSBU0o5BYvm/ggL5uwyN0IawFNOS2gCaRqxif3Z0pRY11yNw8+Jpgjd3NMlqBF7s8gcjeHXl4CkFmNysEWb0GBR1MpSWzbtKSQu4UY5qwPJr8lpGpFSX6AiWolxsTWFHK3EsMmc9mGT+5PlXs+yUHue1nk/lRsA+ROsmVIFbSlkFu8bOuDvGzLIncbrAW047SAtpCqPZ/c6j9A/oQuuTsEHzuaI3cHTNZRi9yfQuTuAL28jkBmNSoHW/w+CjzaSUli26YThdz3iWHO+mDyO0GqzpTkB5ioVmJMvJ9C7s5i2GQuH+CT+5OQyN2FRe5PxDZG7i5QFXSlkFu87IqRuyuL3A9gLaAbpwV0hVTd+eT+hEfuHsHHnubI3QOT9dQi9ycQuXtAL68nh9zY4g9S4NFNShLbNr0o5H5QDHPWB5PfC1I9REl+gIlqJcbE3hRyPySGTeayD5/cHyv3/AIHuR9mkftjsQ2Qe4EtQ6qgL4Xc4mVfH+RlXxa5+2AtoB+nBfSFVP355P5YKZqvS+7E4OMAc+ROxGQDtMj9MUTuROjlDQAyq1E52OIDKfCQbdMf2zaDKOQeKIY564PJHwSpHqEkP8BEtRJj4mAKuWXrDTaZyyF8cm9V7vnZDnIPZZF7q9gGyD3bliFVMIxCbvFymA/ychiL3EOwFjCc0wKGQaoRfHJvVYpm6ZJ7ZPBxlDlyj8Rko7TIvRUi90jo5Y0CMqtROdjij1LgMVxKEts2j1HI/agY5qwPJv8xSPU4JfkBJqqVGBOfoJD7cTFsMpdJfHJ/pNzzBx3kHs0i90diGyD3QVuGVMGTFHKLl0/6IC+fZJE7CWsBT3FawJOQagyf3B8pRQd0yf108HGsOXI/jcnGapH7I4jcT0MvbyyQWY3KwRYfR4HHU1KS2LYZTyH3ODHMWR9M/nhI9Qwl+QEmqpUYE5+lkPsZMWwyl8/xyf2hcs9vc5D7eRa5PxTbALm32TKkCl6gkFu8fMEHefkCi9zPYS1gAqcFvACpJvLJ/aFSZOmSOzn46DNH7mRM5tMi94cQuZOhl+cDMqtROdjiKRR4TJCSxLbNJAq5U8QwZ30w+dC/Yl1gMiX5ASaqlRgTX6SQe7IYNpnLl/jk3qLc85EOcr/MIvcWsQ2QO9KWIVXwCoXc4uUrPsjLV1jkfglrAa9yWsArkOo1Prm3KEUFdMk9Jfg41Ry5p2CyqVrk3gKRewr08qYCmdWoHGzxaRR4vColiW2b1ynkniaGOeuDyX8dUk2nJD/ARLUSY+IMCrmni2GTuXyDT+4PlHt+jYPcM1nk/kBsA+ReY8uQKphFIbd4OcsHeTmLRe43sBYwm9MCZkGqOXxyf6AUrdYl99zg4zxz5J6LyeZpkfsDiNxzoZc3D8isRuVgi8+nwGO2lCS2bRZQyD1fDHPWB5O/AFK9SUl+gIlqJcbEhRRyvymGTebyLT6531fu+fEOci9ikft9sQ2Qe7wtQ6rgbQq5xcu3fZCXb7PI/RbWAt7htIC3IdViPrnfV4rG6ZJ7SfBxqTlyL8FkS7XI/T5E7iXQy1sKZFajcrDFl1Hg8Y6UJLZtllPIvUwMc9YHk78cUq2gJD/ARLUSY+JKCrlXiGGTuVzFJ/d7yj3f0EHu1Sxyvye2AXI3tGVIFayhkFu8XOODvFzDIvcqrAWs5bSANZBqHZ/c7ylFDXTJvT74uMEcuddjsg1a5H4PIvd66OVtADKrUTnY4hsp8FgrJYltm00Ucm8Uw5z1weRvglSbKckPMFGtxJj4LoXcm8WwyVy+xyf3u8o973OQ+30Wud8V2wC5fbYMqYIPKOQWLz/wQV5+wCL3e1gL2MJpAR9Aqg/55Fbv32Rdcn8UfNxqjtwfYbKtWuR+FyL3R9DL2wpkVqNysMU/psBji5Qktm0+oZD7YzHMWR9M/ieQ6lNK8gNMVCsxJn5GIfenYthkLi0+uTcr9/wAB7m3scgt73cbQO4Btgypgu0UcouX232Ql9tZ5LawFrCD0wK2Q6qdfHKrPx8k6pJ7V/Bxtzly78Jku7XIvRki9y7o5e0GMqtROdjieyjw2CEliW2bvRRy7xHDnPXB5O+FVPsoyQ8wUa3EmLifQu59YthkLg/wyb1Juec3Osh9kEXuTWIbIPdGW4ZUwecUcouXn/sgLz9nkfsA1gIOcVrA55DqMJ/c6rHiBl1yHwk+fmGO3Ecw2Rda5N4EkfsI9PK+ADKrUTnY4kcp8DgkJYltm2MUch8Vw5z1weQfg1THKckPMFGtxJj4JYXcx8WwyVx+xSf3RuWej3OQ+2sWuQV2XwPkjrNlSBV8QyG3ePmND/LyGxa5v8JawLecFvANpDrBJ7f6C9FYXXKfDD6eMkfuk5jslBa5N0LkPgm9vFNAZjUqB1v8Owo8vpWSxLbNaQq5vxPDnPXB5J+GVN9Tkh9golqJMfEHCrm/F8Mmc/kjn9wblHs+l4PcP7HIvUFsA+TOZcuQKjhDIbd4ecYHeXmGRe4fsRbwM6cFnIFUv/DJrb5HlVOX3GeDj+fMkfssJjunRe4NELnPQi/vHJBZjcrBFj9PgcfPUpLYtvmVQu7zYpizPpj8XyHVb5TkB5ioVmJM/J1C7t/EsMlc/sEn93rlnu/vIPefLHKvF9sAufvbMqQK/qKQW7z8ywd5+ReL3H9gLeBvTgv4C1L9wyf3eqWony65/w0+XjBH7n8x2QUtcq+HyP0v9PIuAJnVqBxo8UgPBR5/S0lC2yYyE2PbRtqGOetjyY/MBKluoCQ/wES1EmJiZGYGuSNvEMMmc5mFT+51yj2fJ0juyKwscq8T2wC589gyZLNko5BbvMzmg7zMRiJ3ZBasBdzIaQHZIFV2PrnVPzzLrUnuyJuCjzmMkTvyJkyWQ4vc6xByR94EvbwcQGY1KgdbPCejuUTeKCWJbZtcFHLnFMOc9cHk54JUN1OSH2CiWokx8RYKuW8WwyZzeSuf3MAPfx3kzs0i91qxDTkcmYfCZFk/TzKLtrdi2zYvZ9vmgVRhGq8VCEkMI2m9yiJeE1IR52MV8RqxjRVxfkoRy/r5KUVsv8f85or4Kt/2arUfjrcdznrbq8U2tgPDoZqIoNSEeBmBvbkIChKlciIwcOeFvCzAqG87SwWSOe23AKSKpJyaAucRtRI7j0RRmkukGMa8xHIZzeJ4NLSRsob8L2wf9ti1L58fM/yfFT5IVAqRqB5BnIxYjXzYi1ijVF08PKlUyMfLlDPA+PjcpDPqr4ePnf9PldH1rzrHA6oMrncn172kSv/nW4m+oOpdJPc1MdV7kOp9SAX9mr/mFkj1Y+jlXTA9w6sHOJKXXsDD1zhV6QTcYMRlqrQDPtHwclWaAZc9mUqV1r8KU7hcalUaP3vvVOQK1ZX/qmu7zleqrvhX25Pap6FK/VuspNFpqT69XLVidJqqzy5T1VuZtspyqhLqp6Pa5lCtapGeyvEz1SKr01XtuKSaXjR91c6AqvSMDFSBnzceK5ORardfNfB4hqo9F1XNBmWsunjnvntzhWqfqEr1UKn2Q5sT+rNJNTdAqo2QCvotf83NkOqnUFsL9AfzIwsih4uaP0Kqn+ifbyILhvRpNob0+SayoNjGHPYyPrnY63uTOQURi4HOWM1eZUHEhlQQcayCiBXbmMPxlIKQ9eNDHiZlcXwpdNgTlwJ9GlSqMnn8Z2OFyOM/GytEHv/ZWCHy+M/GCpHHfzZWiDz+s7FC5PGfjRUij/9srBB5/GdjhcjjPwQqRB7/IVAh8vgPgQqRx38IVIg8/kOgQuTxHwIVIo//EKgQefyHQIXI4z8EKkQe/yFQIfL4D4EKkcd/CFSIPP5DoELk8R8CFSKP/xCoEHn8h0CFyOM/BCpEHv8hUCHy+A+BCpHHfwhUfra/eAhUfraPQP6wQqjtLrwN0u7C70XaXXhbpN2Ft0PaXXh7pN2Fd0DaXXhHpN2F34e0u/BOSLsL74y0u/D7kXYX/gDS7sK7IO0uvCvS7sK7Ie0uvDvS7sJ7IO0uvCfS7sIfRNpdeC+k3YU/hLS78N5Iuwvvg7S78IeRdhfeF2l34f2QdhfeH2l34YlIuwsfgLS78IEmR5nqduc4+N4GfiURLyNa6BwLTXKR+zi3aXx3ag+c41MwN6EPPYVCPTpn9V1nyRWi6yxxqK6zJKC6zpKA6n+YJY7rm7cHH+8AxxOFpM9zbl/cJsax7/DvpKx/uxjG1i9sCJiFP0vS8PMO2M8ihvwskoafwFuSACE/a+XWeJ/KL6Hs9Ytg6+cJcX05JiBvKryNOKEUXjwpAEL/YUEt/O+8oBQGjgwq4aVTg0IYPDhkLHScHTIUOo8PGQkvO0FkILz8EJG+MNU5Il1h6qNEesIrThPpCK88UKQtTONMkaYwrWNFWsI0TxZpCNM+XFwpTOd8cYUwvSNGamG6p4xUwvQPGpcLMzhrXCbM6LjhFGZ44nAIMz50BIWKc8cloeroERAqTx//CdUHEL8QOIOIEPpIVys3pELa82Uf6bKlZPh7ltSoCPWLKgD/js/rRVGzyKkGoXVR5bdeV7YGG5ZFMVjGhwjL5MkpyldgOwCdaIoZLKt4Q/kulup0lGbAqUNDAy4uqrAynv2xRyuMKB5eMTFh6JijbRY9nm9W0RO3FvhxSPWhfxxOlB0iqphyzaa826rP4heq3tqgbI7dj+0e26fcvonPPFnsbFK7EdkKpZgLuLgEfLUjlOvfPnoCquvfPgZU1799DKiuf/sYUP2f/PbRMUK5K/hYwiTpQ58LCMLvwuYCJQ2BoKTW/EL8LIH5WcqQn6V05xclsSNRHdb8ohS2fl3O/ML+vQg0v7B/kgXNL+wfIELzC/uvB0Dzi4j14PwiYgM4v4jYCM4vIjaB84uIzeD8IuJdcH4R8R44v4h4H5xfRHwAzi8itoDzi4gPwflFxEfg/CJiKzi/iPgYnF9EfALOLyI+BecXEZ+B84sIC5xfRGwD5xcR28H5RcQOcH4RsROcX0TsAucXEbvB+UXEHnB+EbEXnF9E7APnFxH74flFHUiFtOdrOb8A8O+YX5S+1vOL0przi9IYLFu7Ob8oY7CsWhvKdxnm/KIsNL+oC80vTAVcNvX8IlsKYQTI3ZXlrvWuLKe5K8thu7JNqLvyReybYkhVHvuW0uDebWPorZRPa++qA64A7bc8BveuqYArXJ89Xp89BlTXZ48B1fXZY0D1/9PssWLwsRI41ApcslIskgm7SBv6UM1eH/srGIUgklWmjFIrimFsRFnFENeqaI1SK8F+VjXkZ1WtUWplCRA7Bw6ljFJl/arY+sN4o9TK6ChVKQyMUlXCS6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUyugotTI6Sq2MjlIro6PUytgodSikQtrztRylAvh3DG2qoWaRUw1C62o6QxuBZTUMluM4o9TK0ImmusGyGmco39X1RqlYwHdD45hh0DjGVMB3GxjHXP81nSeguv5ruoDq+q/pAqrrv6YLqP6v/5quRvCxpknShz4XEITXwOYCtQyBoJbW/EL8rIn5WduQn7V15xe1sCPRfNb8oja2/gLO/ML+KRs0v7B/ygbNL+yfskHzC/unbND8wv4pGzS/sH/KBs0v7J+yQfML+6ds0PzC/ikbNL+wf8oGzS/sn7JB8wv7p2zQ/ML+KRs0v7B/ygbNL+yfskHzC/unbND8wv4pGzS/sH/KBs0v7J+yQfML+6ds0PzC/ikbNL+wf8oGzS/sn7JB8wv7p2zQ/ML+KRs0v7B/ygbNL+yfskHzC/unbND8wv4pGzS/sH/KBs0v7J+yQfML+6ds4PxiPqRC2vO1nF8A+HfML+pc6/lFHc35RR0MlsA/qMGbX9Q1WFZrDOW7LnN+UQ+aXyyA5hemAq539VfBkG8Aqbuy/rXelfU1d2V9bFeuDXVXYlfBsCK9B/uW0uDeXWvordyjdxWsAbTfhhncu6YCbqDzUc7+e2Nek39vrCHrA3zDZK08LW+R+EjP3j0S+5dt0XNQvyGDuw7undg/ZXIwb9meCz5nqet4rhd8zjxhshXZyIpsbEU2sSKbXu0ykY0cy9R3aJJlmWZWZHMrMsGKbKHxrzlmqQ11vmbQq2zJSXhkS8dzc8dzguO5hWSilRXZ2oqUT9r3XuWf0s5yj/JfPfnXAZC2pD+lneUesQ38Q7X/2jLkNbZj/MFt28t2PsjLdqQdOdWxPeo4iqJVqh0pAw4ZXchQ4j69f9mnHTZr68RoaXaaO2Fp7kRK80xHmhs40tw+VZrlRCtDFRmXdLnafVgnpINcV9Y+rCO2sSNiN8oOk/W76fzNOIjm7UzSvDuF5jL+6s75ZzdbWvkfxU7V6ynrt7PyP4atvyHUUz32b1z0gM7Y6yHVBsbms0u0B9Z3exo6GPeM08nkg9c0k5e/7BS02B9Hq/JxLOW9WI4+gTr6BOboQ6EODh3/TDzqdHg86HR4K0U3u3Dhwhn0n5S/OCtwfIvaO/jYx9w/Kd8bk/WJ02rC4fFYE3yP1ITDW2Hrv68z8FT+a4aRvaES7gO1jvcg1ftA/WmdJnonkzpC+G1oR3gS6wgPsxwthDr6FOZoX5ajt6OOjsEc7cdy9A7U0acxR/uzHL0TdXQs5mgiy9HCqKPjMEcHsBwtgjo6HnN0IMvRoqijz2CODmI5Wgx19FnM0UdYjhZHHX0Oc3Qwy9G7UEefxxwdwnK0BOroC5ijQ1mOlkQdnYA5OozlaCnU0YmYo8NZjpZGHU3GHB3BcrQM6qgPc3Qky9GyqKMpmKOjWI6WQx2dhDn6KMvR8qijkzFHH2M5WgF19EXM0cdZjlZEHX0Jc/QJlqOVUEdfxhxNYjlaGXX0FczR0SxHq6COvoo5+iTL0aqoo69hjj7FcrQa6ugUzNExLEero45OxRx9muXo3aij0zBHx7IcrYE6+jrm6DiWozVRR6djjo5nOVoLdXQG5ugzLEdro46+gTn6LMvROqijMzFHn2M5Whd1dBbm6PMsR+uhjs7GHH2B5Wh91NE5mKMTWI7egzo6F3N0IsvRBqij8zBHad+KNEQdnY856mM52gh1dAHmaArL0caoo29ijk5iOdoEdXQh5uhklqNNUUffwhx9keVoM9TRRZijL7EcbY46+jbm6MssRxNQR9/BHH2F5WgL1NHFmKOvshxtiTq6BHP0NcTRZj37JQ4a0ah/78GTqh/2lJYvz+VrafnCV75KlS8p5es/+WJNvrKSL4Pkaxb5AkO+GpChu4yzZVAsI1gZbsrYUAZyMuqSIZKMZ2TwISMF+bAuH4PlA6Z8dJMPRfJxQw7yckSWw6cc6+TAJEcRgbzgU8AkLV+aqbQpaQCytaRopRwk0RLCXL9/Ore2pqg5khm6VJE59Nsh8P03cKAwFVh/vj9VCQNSqk9Cbgd50B9HTTVnahpj79i/DugOCTtZkZ2xhL8e4t65+39k76Sgt32moRX8OvY3S6dBaZ8eUp3fDdV5JhfqfHqIdQ62tBnXtKVpXukFxzpvEF41/H7eMGdqpotx3GSZi2OWm3HsNRfHbDfj2G8ujjluxnHQXBxz3YzjkLk45rkZxxFzccx3M46j5uJY4GYcx83F8aabcXxlLo6Fbsbxjbk43nIzjhPm4ljkZhynzMXxtptxnDYXxztuxvGDuTgWuxnHT+biWOJmHD+bi2Opm3GcNRfHMjfjOG8ujuVuxvGbuThWuBnHH+biWOlmHH99oBLBcaxSm+LF8Y+5OFa7GccFc3GscTGOHJnMxbHWzTgym4tjnZtxZDUXx3o347jRXBwb3IzjJnNxbHQzjpzm4tjkZhw3m4tjs5tx3GoujnfdjCOPuTjeczOOMHNxvO9mHPnNxfGBm3FEmItji5txRJqL40M344g2F8dHbsYRYy6OrW7GEWsujo/djCPeXByfuBlHIXNxfOpmHHeYi+MzN+MobC4Oy804ipqLY5ubcRQ3F8d2N+MoYS6OHW7GUcpcHDvdjKOMuTh2AXE4b2rWuHhTc5YVOduKnGNFzrUi51mR863IBfJVvHyLLV8Ay3en8rWjfGMnX3bJ90TyFYt8OyGDfZmJyzhZJrEyxJT5n4zOZOokAxuZdciYQD5hy4dT+VwnH4nk04QcxOUMK8c/OTnJoUN4LagTSkiDld4k21p2hBSTvAcJIb2bmsro7ft2D6JXOmdiNzVnQtf3dodUPjXM3tQ0eH0PiUPjpuaea3pT8wa9m5p7sJuaewmvGn4/Bm8G7gvxVcN/wbk7lsf9LubR5E3RA27GYbAeDroZh8Gbop+7GYfBm6KH3IzD4E3Rw27GYfCm6BE34zB4U/QLN+MweFP0qJtxGLwpeszNOAzeFD3uZhwGb4p+6WYcBm+KfuVmHAZvin7tZhwGb4p+42YcBm+KfutmHAZvip5wMw6DN0VPuhmHwZuip9yMw+BN0e/cjMPgTdHTbsZh8Kbo927GYfCm6A9uxmHwpuiPLsZh8qboT27GYfCm6Bk34zB4U/RnN+MweFP0FzfjMHhT9KybcRi8KXrOzTgM3hQ972YcBm+K/upmHAZviv7mZhwGb4r+7mYcBm+K/uFmHAZviv7pZhwGb4r+5WYcBm+K/u1mHAZviv7jZhwGb4r+62YcBm+KXnAzDnM3RaM8bsZh7qZoVCY34zB3UzTqBjfjMHdTNCqzm3GYuykalcXNOMzdFI3K6mYc5m6KRmVzMw5zN0WjgJHFZTdFa168KXrAijxoRX5uRR6yIg9bkUesyC/kq3j5Flu+AJbvTuVrR/nGTr7sku+J5CsW+XZCBvsyE5dxskxiZYgp8z8ZncnUSQY2MuuQMYF8wpYPp/K5Tj4SyacJOYjLGVaOf3JykkOH8FpQJ5SQBiu9Sba17AgpJnkPEsJV/U3PfejFwP3YTdF9yLW3qOwhlU9NszdFzV0Xg+II/aZo1E3I4mb+7WdbpHVTNOom6IZjVA4gRcC/NR6VIy7kinDhImRUTkJlu3ARMiqXm3GYuwgZdbObcZi7CBl1i5txmLsIGXWrm3GYuwgZldvNOMxdhIzK42Yc5i5CRuV1Mw5zFyGjwtyMw9xFyKh8bsZh7iJkVH434zB3ETIq3M04zF2EjIpwMw5zFyGjCrgZh7mLkFGRbsZh7iJkVJSbcZi7CBkV7WYc5i5CRhV0Mw5zFyGjYtyMw9xFyCivm3GYuwgZFetmHOYuQkbFuRmHuYuQUfEuxmHwImTUbW7GYe4iZFQhN+MwdxEy6nY34zB3ETLqDjfjMHcRMupON+MwdxEyqrCbcZi7CBlVxM04zF2EjCrqZhzmLkJGFXMzDnMXIaOKuxmHuYuQUXe5GYe5i5BRJdyMw9xFyKiSbsZh7iJkVCk34zB3ETKqtJtxmLsIGVXGzTjMXYSMKutmHAYvQpZzMw6DFyHLuxmHwYuQFdyMw+BFyIpuxmHwImQlN+MweBGysptxGLwIWcXNOAxehKwKxKFxk63aNb3JduXf6lN5mMnK+gx0sTFLI0RV1UPw8Q7Yx8aIqsrfBB+tLE2trEMwL5sqKuenCxf+lJA1vFSunfURK7x1ClS51ZFYaiJ/4XthnUG9+/bt3cu+2Dg596TRc1v37t+rb0/M46jqkgqgZVyyCvSXuBDEmTy+0XNqDxrUdcRhT5wVdbcVVcOKqmlF1bKialtRdayoulZUPSuqvhV1jxXVwIpqaEU1sqIaW1FNrKimVlQzK6q5FZVgRbWwolpaUa2sqNZWVBsr6l4rqq0V1c6Kam9FdbCiOlpR91lRnaBrvtBt0buzQ7IamKwmJquFyWpjsjqYrC4mq4fJ6mOyezBZA0zWEJM1wmSNMVkTTNYUkzXDZM0xWQIma4HJWmKyVpisNSZrg8nuxWRtMVk7TNYek3XAZB0x2X2YrFP2y49ZkyFY3a1GqqCkhlJlA6cmsmLt0qGeF1WB/HSRdrUyVqWcuaiqnaHq3CS/qg4USBmjgRw7/9/idTNQ1TkeUNVLX5Vc95KqPhRIWXOBJPqCi9+Tnmr1AIeqQTqq4WucqoZQIOUMBdJgxGWLN0pTdaLh5arGaanKnkylagIFUt5EIIXLpV48jfNzpyJXqJpdoWrX+UpVcyiQClcdSFL7NBZPSKVKGp2WqsXlqhWj01S1hAKpeHWB1FuZ9uKtnKqE+umoWjtUq1qkp2oDBVLpKgIpsjrdxe+9pJpeNH1V24Cq9IwMVO2gQCrrBnKsTEaLt/erBh7PUNXhoqrZoIxVHaFAqlA+rz4jHwCn2ut3b67w8j5RleqhUnVCPtXWLg2pykCqspCqHKQqD6kqQKqKkKoSpKoMqaqEOiu4xRf8oI5N8Topj4E7L9rsN6BvTyuqM/Z5O+SqjeoktlVTFtsXW4bYu1+9AfW8vN8HeXl/qG/u1hSNN6cQ7QhpapMSfM0PBB+7mJuwPIDJumS/cmysWt/fptSfZx6APht1ATJ7mYvYfBBbvKvG/lL/bl+ocD80a5XBMeJlNwa7orqKYZ+x9a+yM96nLKhpjs7YndUZZcrZHeiM02wZYq8HpTOKlz18kJc9GN8l2PXdzWR99wz1kIm1gB6Q6kGgkK4SHvcpRVN14dEr+PiQOXj0wmQPacHjPggevaCX9xCQWY3KwRbvTWlB8iYfxNpyHwoWeothN9fvJoaxL6+7YV5CqodD7QKhI66jsuyXORDXl4U4+S6vL4C4ZbYMsdePgjjxsp8P8rIf64P9w9gu6M+BVz9IlciHV0elaKkuvAYEHweag9cATDZQC14dIXgNgF7eQCCzGpWDLT6I0lz6S0li2+YRCjwGiWHO+mDyH4FUgxkfOy+RU2XaT061CiPnEMZHjKjBYthkxofy+d5B2RkmOvg+jMX3DmIb4PtEW4bYG07hu3g53Ad5OZzF96FYoxjBaRTDIdVIPt87KEUTdPk+Kvj4qDm+j8Jkj2rxvQPE91HQy3sUyKxG5WCLP0ZpLiOkJLFt8ziF74+JYc76YPIfh1RPUJIfYKJaiTExiULuJ8SwyVyO5pO7vXLPxznI/SSL3O3FNkDuOFuG2HuKQm7x8ikf5OVTLHKPxlrAGE4LeApSPc0nd3ulKFaX3GODj+PMkXssJhunRe72ELnHQi9vHJBZjcrBFh9PaS5jpCSxbUP5ZUfUeDHMWR9MPvZV1LOU5AeYqFZiTHyOQu5nxbDJXD7PJ3c75Z7f4SD3CyxytxPbALl32DLE3gQKucXLCT7Iywkscj+PtYCJnBYwAVIl88ndTinarktuR7mnmCO3D5OlaJG7HURurHJSgMxqVA62+CRKc5EZWDK2/mQKuSeJYc76YPKx39i8SEl+gIlqJcbElyjkflEMm8zly3xyt1Xu+a6OVvYKi9xtxTZA7q62DLH3KoXc4uWrPsjLV1nkfhlrAa9xWsCrkGoKn9xtlaIuuuSeGnycZo7cUzHZNC1yt4XIPRV6edOAzGpUDrb465Tm8pqUJLZtplPI/boY5qwPJn86pJpBSX6AiWolxsQ3KOSeIYZN5nImn9z3Kvf8AQe5Z7HIfa/YBsh9wJYh9mZTyC1ezvZBXs5mkXsm1gLmcFrAbEg1l0/ue5Wi/brknhd8nG+O3PMw2Xwtct8LkXse9PLmA5nVqBxs8QWU5jJHShLbNm9SyL1ADHPWB5P/JqRaSEl+gIlqJcbEtyjkXiiGTeZyEZ/cbZR7vpGD3G+zyN1GbAPkbmTLEHvvUMgtXr7jg7x8h0XuRVgLWMxpAe9AqiV8crdRihrqkntp8HGZOXIvxWTLtMjdBiL3UujlLQMyq1E52OLLKc1lsZQktm1WUMi9XAxz1geTvwJSraQkP8BEtRJj4ioKuVeKYZO5XM0nd2vlnl/iIPcaFrlbi22A3EtsGWJvLYXc4uVaH+TlWha5V2MtYB2nBayFVOv55G6tFC3WJfeG4ONGc+TegMk2apG7NUTuDdDL2whkVqNysMU3UZrLOilJbNtsppB7kxjmrA8mfzOkepeS/AAT1UqMie9RyP2uGDaZy/f55G6l3PPrHeT+gEXuVmIbIPd6W4bY20Iht3i5xQd5uYVF7vexFvAhpwVsgVQf8cndSilap0vurcHHj82Reysm+1iL3K0gcm+FXt7HQGY1Kgdb/BNKc/lQShLbNp9SyP2JGOasDyb/U0j1GSX5ASaqlRgTLQq5PxPDJnO5jU/ulso938RB7u0scrcU2wC5m9gyxN4OCrnFyx0+yMsdLHJvw1rATk4L2AGpdvHJ3VIpaqxL7t3Bxz3myL0bk+3RIndLiNy7oZe3B8isRuVgi++lNJedUpLYttlHIfdeMcxZH0z+Pki1n5L8ABPVSoyJByjk3i+GTebyIJ/cLZR7PslB7s9Z5G4htgFyJ9kyxN4hCrnFy0M+yMtDLHIfxFrAYU4LOASpjvDJ3UIpekKX3F8EH4+aI/cXmOyoFrlbQOT+Anp5R4HMalQOtvgxSnM5LCWJbZvjFHIfE8Oc9cHkH4dUX1KSH2CiWokx8SsKub8UwyZz+TWf3AkhkfsbFrkTxDZG7m+gsL6lkFu8/BYj97cscn+NtYATnBbwLaQ6ySd3Ao/cp4KP35kj9ylM9p0WuRMgcp+CXt53HHJji5+mNJcTUpLYtvmeQu7TYpizPpj87yHVD5TkB5ioVmJM/JFC7h/EsMlc/sQnd3Plnl/gIPcZFrmbi22A3AtsGWLvZwq5xcuffZCXP7PI/RPWAn7htICfIdVZPrmbK0Xzdcl9Lvh43hy5z2Gy81rkbg6R+xz08s4DmdWoHGzxXynN5RcpSWzb/EYh969imLM+mPzfINXvlOQHmKhWYkz8g0Lu38WwyVz+ySd3M+Wen+0g918scjcT2wC5Z9syxN7fFHKLl3/7IC//ZpH7T6wF/MNpAX9Dqn/55G6mFM3SJfeFS4/RHnPkvgDJoj1a5G4GkfsC8vKiPUBmNSoHWzwTpbn8IyUJbZvoGxjbNlr+u4GzPpb86BsgVWZK8gNMVCshJkZnYZA7OrMYNpnLrHxyN1Xu+YNBckdnY5G7qdgGyH3QliGb5UYKucXLG32QlzeSyB2dFWsB2Tkt4EZIdROf3E2VogOa5I7OEXzMaYzc0TkwWU4tcjdFyB2dA3p5OYHMalQOtnguRnOJzi4liW2bmynkziWGOeuDyb8ZUt1CSX6AiWolxsRbKeS+RQybzGVuPrmbKPf8Nge587DI3URsA+TeZsuQKshLIbd4mdcHeZmXRe7cWAsI47SAvJAqH5/cTZQiS5fc+YOP4ebInR+ThWuRuwlE7vzQywsHMqtROdjiERR4hElJYtumAIXcEWKYsz6Y/AKQKpKS/AAT1UqMiVEUckeKYZO5jOaTu7Fyz0c6yF2QRe7GYhsgd6QtQ6oghkJu8TLGB3kZwyJ3NNYCvJwWEAOpYvnkbqwUFdAld1zwMd4cueMwWbwWuRtD5I6DXl48kFmNysEWv40CD6+UJLZtClHIfZsY5qwPJr8QpLqdkvwAE9VKjIl3UMh9uxg2mcs7+eRupNzzaxzkLswidyOxDZB7jS1DqqAIhdziZREf5GURFrnvxFpAUU4LKAKpivHJ3UgpWq1L7uLBx7vMkbs4JrtLi9yNIHIXh17eXUBmNSoHW7wEBR5FpSSxbVOSQu4SYpizPpj8kpCqFCX5ASaqlRgTS1PIXUoMm8xlGT65Gyr3/HgHucuyyN1QbAPkHm/LkCooRyG3eFnOB3lZjkXuMlgLKM9pAeUgVQU+uRsqReN0yV0x+FjJHLkrYrJKWuRuCJG7IvTyKgGZ1agcbPHKFHiUl5LEtk0VCrkri2HO+mDyq0CqqpTkB5ioVmJMrEYhd1UxbDKX1fnkbqDc8w0d5L6bRe4GYhsgd0NbhlRBDQq5xcsaPsjLGixyV8daQE1OC6gBqWrxyd1AKWqgS+7awcc65shdG5PV0SJ3A4jctaGXVwfIrEblYIvXpcCjppQktm3qUchdVwxz1geTXw9S1ackP8BEtRJj4j0UctcXwyZz2YBP7nuUe97nIHdDFrnvEdsAuX22DKmCRhRyi5eNfJCXjVjkboC1gMacFtAIUjXhk1u9f5N1yd00+NjMHLmbYrJmWuS+ByJ3U+jlNQMyq1E52OLNKfBoLCWJbZsECrmbi2HO+mDyEyBVC0ryA0xUKzEmtqSQu4UYNpnLVnxy11fu+QEOcrdmkVveb2uA3ANsGVIFbSjkFi/b+CAv27DI3QprAfdyWkAbSNWWT27154NEXXK3Cz62N0fudpisvRa560Pkbge9vPZAZjUqB1u8AwUe90pJYtumI4XcHcQwZ30w+R0h1X2U5AeYqFZiTOxEIfd9YthkLjvzyV1Puec3Osh9P4vc9cQ2QO6Ntgypggco5BYvH/BBXj7AIndnrAV04bSAByBVVz651WPFDbrk7hZ87G6O3N0wWXctcteDyN0NenndgcxqVA62eA8KPLpISWLbpieF3D3EMGd9MPk9IdWDlOQHmKhWYkzsRSH3g2LYZC4f4pO7rnLPxznI3ZtFbvkqqDdA7jhbhlRBHwq5xcs+PsjLPixyP4S1gIc5LaAPpOrLJ7f6C9FYXXL3Cz72N0fufpisvxa560Lk7ge9vP5AZjUqB1s8kQKPh6UksW0zgELuRDHMWR9M/gBINZCS/AAT1UqMiYMo5B4ohk3m8hE+ueso93wuB7kHs8hdR2wD5M5ly5AqGEIht3g5xAd5OYRF7kewFjCU0wKGQKphfHKr71Hl1CX38ODjCHPkHo7JRmiRuw5E7uHQyxsBZFajcrDFR1LgMVRKEts2oyjkHimGOeuDyR8FqR6lJD/ARLUSY+JjFHI/KoZN5vJxPrlrK/d8fwe5n2CRu7bYBsjd35YhVZBEIbd4meSDvExikftxrAWM5rSAJEj1JJ/ctZWifrrkfir4OMYcuZ/CZGO0yF0bIvdT0MsbA2RWo3KwxZ+mwGO0lCS2bcZSyP20GOasDyZ/LKQaR0l+gIlqJcbE8RRyjxPDJnP5DJ/ctZR7Po+D3M+yyF1LbAPkzmPLkCp4jkJu8fI5H+TlcyxyP4O1gOc5LeA5SPUCn9zqH57l1iX3hODjRHPknoDJJmqRuxZE7gnQy5sIZFajcrDFKc0l+nkpSWzb+CjkThbDnPXB5GOLp1CSH2CiWokxcRKF3Cli2GQuJ/PJDfzw10HuF1nkrim2IYejX6IwWdZ/KZlF28nY236Zs21fglSvaLxWICQxjKT1Kou4RkhF/CqriGuIbayIX6MUsaz/GqWI7ff4mrkivsq3fbfaD8fbnsJ623eLbWwHToFqYiqlJsTLqdibm0pBolTOVAzcL0NeTmPUt52lacmc9jsNUr1OOTUFziNqJVYi0ynN5XUxjHmJ5XIGi+MzoCxlfSbUFph70qUWCPmSpaEsgpQr/tnVExfSB13f6Dm1Bw3qOuKwJ86KfsOKnmlFz7KiZ1vRc6zouVb0PCt6vhW9wIp+04peaEW/ZUUvsqLftqLfsaIXW9FLrOilVvQyK3q5Fb3Cil5pRa+yoldb0Wus6LVW9Dorer0VvcGK3mhFb7KiN5v78PxGdkg2E5PNwmSzMdkcTDYXk83DZPMx2QJM9iYmW4jJ3sJkizDZ25jsHUy2GJMtwWRLMdkyTLYck63AZCsx2SpMthqTrcFkazHZOky2HpNtwGQbMdkmTLY5e+i8usgIiFe1Q/7bX4c98RCI34AGijOVKhv9s1SqiweE2RmrUs5cVM3JUHVukl81NyPVsfP/qeZloKpzPKCan74que4l1YJ0VYm+oOrN9FSrBzhUC9NRDV/jVL2VtqrBiMtUi9JUnWh4uerttFRlT6ZSvZOGqnC51KrFV6o6FblCteQKVbvOV6qWplYltU9DtSyVKml0Wqrll6tWjE5TteIyVb2VaatWOlUJ9dNRrXKoVrVIT7U6qCqyOl3Vmkuq6UXTV60NqErPyEC17j/VsTIZqdb7VQOPZ6jacFHVbFDGqo22qntzhWqTqEr1UKk2Ix83oMZ4dbOM6M3KDrnTMct4lzTLiN4stoEvTnfaMsTee4xZhu3lez7Iy/dCfXMhf3dovzmFaIfud4fvBx8/MPfx531M9oHOd4cXN5Qa9e9Dx4YPgMxqDGKwxbcw5uD28OA9aMSR9RnIyw8pg5gtYthnbP2r7IyblAU1zdEZP2J1RhlBfAR0xmm2DLG3ldIZxcutPsjLrYwpr13fH5qs7485s9itkOoT+sUTu7gVoqm68Pg0+PiZOXh8isk+04LHJggen0Iv7zMgsxqVgy1uUVrQx1KSWFveRsGCJYbdXP9DMTwJwxLmJaTaTr97Eb1RWfbLHIjbwUKcDNp3AIhbZssQezspiBMvd/ogL3eyvv/Zju2CXRx47YRUu/nw2qgULdWF157g415z8NqDyfZqwWsjBK890MvbC2RWo3KwxfdRmssuKUls2+ynwGOfGOasDyZ/P6Q6QLl+FSCnyrSfnGoVRs6DlIskB8SwyYx/zuf7BmVnmOjg+yEW3+W79EMA3yfaMsTeYQrfxcvDPsjLwyy+f441iiOcRnEYUn3B5/sGpWiCLt+PBh+PmeP7UUx2TIvvGyC+H4Ve3jEgsxqVgy1+nNJcjkhJYtvmSwrfj4thzvpg8r+EVF9Rkh9golqJMfFrCrm/EsMmc/kNn9zrlXve+df/vmWRe73Yxv7637dQWCco5BYvT2B//e8Ei9zfYC3gJKcFnIBUp/jkXq8Uaf/1v++Cj6fNkfs7THZai9zrIXJ/B72800BmNSoHW/x7SnM5KSWJbZsfKOT+Xgxz1geT/wOk+pGS/AAT1UqMiT9RyP2jGDaZyzN8cq9T7vkdDnL/zCL3OrENkHuHLUPs/UIht3j5iw/y8hcWuc9gLeAspwX8AqnO8cm9Tinarkvu88HHX82R+zwm+1WL3Osgcp+HXt6vQGY1Kgdb/DdKczkrJYltm98p5P5NDHPWB5P/O6T6g5L8ABPVSoyJf1LI/YcYNpnLv/jkXqvc810d5P6bRe61Yhsgd1dbhtj7h0Ju8fIfH+TlPyxy/4W1gH85LeAfSHWBT+61SlEXTXIX9AQfMxkjd0FQlkmL3GsRchf0IC+vYCYgs6FXDrj4DZTm8q+UJLRtCmZmbNuCN4hhzvpg8jNDqiyU5AeYqFZCTCyYlUHuglnEsMlcZuOTe41yzx8IkrvgjSxyrxHbALkP2DJks2SnkFu8zO6DvMxOInfBbFgLuInTArJDqhx8cq9Rivbrkjtn8DGXOXLnxGS5tMi9BiJ3Tujl5QIyq1E52OI3M5pLwZukJLFtcwuF3DeLYc76YPJvgVS3UpIfYKJaiTExN4Xct4phk7nMwyf3auWeb+Qgd14WuVeLbYDcjWwZUgVhFHKLl2E+yMswFrnzYC0gH6cFhEGq/Hxyr1aKGuqSOzz4GGGO3OGYLEKL3KshcodDLy8CyKxG5WCLF6DAI5+UJLZtIinkLiCGOeuDyY+EVFGU5AeYqFZiTIymkDtKDJvMZUE+uVcp9/wSB7ljWOReJbYBci+xZUgVeCnkFi+9PshLL4vcBbEWEMtpAV5IFccn9yqlaLEuueODj7eZI3c8JrtNi9yrIHJDf2yr4G1AZjUqB1u8EAUesVKS2La5nULuQmKYsz6Y/Nsh1R2U5AeYqFZiTLyTQu47xLDJXBbmk3ulcs+vd5C7CIvcK8U2QO71tgypgqIUcouXRX2Ql0VZ5C6MtYBinBZQFFIV55N7pVK0TpfcdwUfS5gj912YrIQWuVdC5L4LenklgMxqVA62eEkKPIpJSWLbphSF3CXFMGd9MPmlIFVpSvIDTFQrMSaWoZC7tBg2mcuyfHKvUO75Jg5yl2ORe4XYBsjdxJYhVVCeQm7xsrwP8rI8i9xlsRZQgdMCykOqinxyr1CKGuuSu1LwsbI5clfCZJW1yL0CIncl6OVVBjKrUTnY4lUo8KggJYltm6oUclcRw5z1weRXhVTVKMkPMFGtxJhYnULuamLYZC7v5pN7uXLPJznIXYNF7uViGyB3ki1DqqAmhdziZU0f5GVNFrnvxlpALU4LqAmpavPJvVwpekKX3HWCj3XNkbsOJqurRe7lELnrQC+vLpBZjcrBFq9HgUctKUls29SnkLueGOasDya/PqS6h5L8ABPVSoyJDSjkvkcMm8xlQz65l4VE7kYsci8T2xi5G0FV0JhCbvGyMUbuxixyN8RaQBNOC2gMqZryyb2MR+5mwcfm5sjdDJM11yL3MojczaCX15xDbmzxBAo8ZAbWFNs2LSjkThDDnPXB5LeAVC0pyQ8wUa3EmNiKQu6WYthkLlvzyb1UuecXOMjdhkXupWIbIPcCW4ZUwb0UcouX9/ogL+9lkbs11gLaclrAvZCqHZ/cS5Wi+brkbh987GCO3O0xWQctci+FyN0eenkdgMxqVA62eEcKPNpKSWLb5j4KuTuKYc76YPLvg1SdKMkPMFGtxJjYmULuTmLYZC7v55N7iXLPz3aQ+wEWuZeIbYDcs20ZUgVdKOQWL7v4IC+7sMh9P9YCunJaQBdI1Y1P7iVK0SxdcncPPvYwR+7umKyHFrmXQOTuDr28HkBmNSoHW7wnBR5dpSSxbfMghdxSSQ9y1geT/yCk6kVJfoCJaiXGxIco5O4lhk3msjef3IuVe/6gg9x9WOReLLYBch+0ZUgVPEwht3j5sA/y8mEWuXtjLaAvpwU8DKn68cm9WCk6oEvu/sHHRHPk7o/JErXIvRgid3/o5SUCmdWoHGzxARR49JWSxLbNQAq5B4hhzvpg8gdCqkGU5AeYqFZiTHyEQu5BYthkLgfzyf2Ocs9vc5B7CIvc74htgNzbbBlSBUMp5BYvh/ogL4eyyD0YawHDOC1gKKQazif3O0qRpUvuEcHHkebIPQKTjdQi9zsQuUdAL28kkFmNysEWH0WBxzApSWzbPEoh9ygxzFkfTP6jkOoxSvIDTFQrMSY+TiH3Y2LYZC6f4JP7beWej3SQO4lF7rfFNkDuSFuGVMFoCrnFy9E+yMvRLHI/gbWAJzktYDSkeopP7reVogK65B4TfHzaHLnHYLKntcj9NkTuMdDLexrIrEblYIuPpcDjSSlJbNuMo5B7rBjmrA8mfxykGk9JfoCJaiXGxGco5B4vhk3m8lk+uRcp9/waB7mfY5F7kdgGyL3GliFV8DyF3OLl8z7Iy+dZ5H4WawEvcFrA85BqAp/ci5Si1brknhh8TDZH7omYLFmL3Isgck+EXl4ykFmNysEW91Hg8YKUJLZtUijk9olhzvpg8jHVJEryA0xUKzEmTqaQe5IYNpnLF/nkfku558c7yP0Si9xviW2A3ONtGVIFL1PILV6+7IO8fJlF7hexFvAKpwW8DKle5ZP7LaVonC65Xws+TjFH7tcw2RQtcr8Fkfs16OVNATKrUTnY4lMp8HhFShLbNtMo5J4qhjnrg8mfBqlepyQ/wES1EotlOoXcr4thk7mcwSf3QuWeb+gg9xssci8U2wC5G9oypApmUsgtXs70QV7OZJF7BtYCZnFawExINZtP7oVKUQNdcs8JPs41R+45mGyuFrkXQuSeA728uUBmNSoHW3weBR6zpCSxbTOfQu55YpizPpj8+ZBqASX5ASaqlRgT36SQe4EYNpnLhXxyv6nc8z4Hud9ikftNsQ2Q22fLkCpYRCG3eLnIB3m5iEXuhVgLeJvTAhZBqnf45Fbv32Rdci8OPi4xR+7FmGyJFrnfhMi9GHp5S4DMalQOtvhSCjzelpLEts0yCrmXimHO+mDyl0Gq5ZTkB5ioVmJMXEEh93IxbDKXK/nkXqDc8wMc5F7FIre831UAuQfYMqQKVlPILV6u9kFermaReyXWAtZwWsBqSLWWT27154NEXXKvCz6uN0fudZhsvRa5F0DkXge9vPVAZjUqB1t8AwUea6QksW2zkULuDWKYsz6Y/I2QahMl+QEmqpUYEzdTyL1JDJvM5bt8cs9X7vmNDnK/xyL3fLENkHujLUOq4H0KucXL932Ql++zyP0u1gI+4LSA9yHVFj651WPFDbrk/jD4+JE5cn+IyT7SIvd8iNwfQi/vIyCzGpWDLb6VAo8PpCSxbfMxhdxbxTBnfTD5H0OqTyjJDzBRrcSY+CmF3J+IYZO5/IxP7nnKPR/nILfFIrd8FWQB5I6zZUgVbKOQW7zc5oO83MYi92dYC9jOaQHbINUOPrnVX4jG6pJ7Z/Bxlzly78Rku7TIPQ8i907o5e0CMqtROdjiuynw2C4liW2bPRRy7xbDnPXB5O+BVHspyQ8wUa3EmLiPQu69YthkLvfzyT1XuedzOch9gEXuuWIbIHcuW4ZUwUEKucXLgz7Iy4Mscu/HWsDnnBZwEFId4pNbfY8qpy65Dwcfj5gj92FMdkSL3HMhch+GXt4RILMalYMt/gUFHp9LSWLb5iiF3F+IYc76YPKPQqpjlOQHmKhWYkw8TiH3MTFsMpdf8sk9R7nn+zvI/RWL3HPENkDu/rYMqYKvKeQWL7/2QV5+zSL3l1gL+IbTAr6GVN/yyT1HKeqnS+4TwceT5sh9ApOd1CL3HIjcJ6CXdxLIrEblYIufosDjGylJbNt8RyH3KTHMWR9M/neQ6jQl+QEmqpUYE7+nkPu0GDaZyx/45J6t3PN5HOT+kUXu2WIbIHceW4ZUwU8UcouXP/kgL39ikfsHrAWc4bSAnyDVz3xyq394lluX3L8EH8+aI/cvmOysFrlnQ+T+BXp5Z4HMalQOtvg5CjzOSEli2+Y8hdznxDBnfTD55yHVr5TkB5ioVmJM/I1C7l/FsMlc/s4nN/DDXwe5/2CRe5bYhhwu+CeFybL+n8ks2v6Obdu/ONv2T0j1t8ZrBUISw0har7KIZ4ZUxP+winim2MaK+F9KEcv6/1KK2H6P/5or4qt822+o/XC87Qust/2G2MZ24AUkrBgPpSbeEMPQm7PXV5jzaHWAGA8G7r8gLzMx6tvOUqZkSvuNyQSpbqCcmgLnEbUSOo/EZGYkP+YGMQx5CeYyC4njMVmgjZQ11L/Pm3zYk9cOP1PG/x8ryv7H9BQiUXVCnIx+A/mwFz1Tqbp4eFKpkI+XKWeA8fG5SWfUXw8fO/+fKqPrX3WOB1QZXO9OrntJlf7PtxJ9QdWbSO5rV4BUFSFVJUhVGVJVgVTdQi/vgukZXj3Akbz0/irN8DVOVTp/da7BiMtUaf/5ghMNL1el+Vfjy55MpUrrX4UpXC61Ko2fvXcqcoVqyRWqdp2vVC1NrUpqn4Yq9W+xkkanpVp+uWrF6DRVKy5T1VuZtmqlU5VQPx3VKodqVYv0VI6fqRZZna5qzSXV9KLpq9YGVKVnZKAK/LzxWJmMVOv9qoHHM1RtuKhqNihj1cU7992bK1SbRFWqh0q1GdqcpSFVGUhVFlKVg1TlIVX3UFvLJOhAkBU5XNTuBqm60z/fxGQN5dNsTDbS55uYrGIbc/hGxicXe/0bkzkFkR0DnbGavcqCyB5SQdzEKojsYhtzOAelIGT9HCEPk7I4vhQ67IlLgT4NKlWZPP6zsULk8Z+NFSKP/2ysEHn8Z2OFyOM/GytEHv/ZWCHy+M/GCpHHfzZWiDz+s7FC5PEfAhUij/8QqBB5/IdAhcjjPwQqRB7/IVAh8vgPgQqRx38IVIg8/kOgQuTxHwIVIo//EKgQefyHQIXI4z8EKkQe/yFQIfL4D4EKkcd/CFSIPP5DoELk8R8CFSKP/xCoEHn8h0CFyOM/BCo/2188BCo/20cjf1gh1HYXdTfS7qJqIO0uqibS7qJqIe0uqjbS7qLqIO0uqi7S7qLqIe0uqj7S7qLuQdpdVAOk3UU1RNpdVCOk3UU1RtpdVBOk3UU1RdpdVDOk3UU1R9pdVALS7qJaIO0uqiXS7qJaIe0uqjXS7qLaIO0u6l6k3UW1RdpdVDuk3UW1R9pdVAek3UV1NDnKVLc7x8E3J/aVREwOGdFC51hokgvcx4nJqfHdqT1wzpGCuQl96MkV6tE5q+86S64QXWeJQ3WdJQHVdZYEVP/DLAle34y5Ofh4CzieyCV9nnL7IianGMe+w7+Vsv7NYhhbP7chYOb+LEnDz1tgP/MY8jNPGn4Cb0kChPysPUbjfSq/hLLXz4Ot/3SI68sxAXlTUXeLE0rhxZMCIPQfFtTC/84LSmHgyKASXjo1KITBg0PGQsfZIUOh8/iQkfCyE0QGwssPEekLU50j0hWmPkqkJ7ziNJGO8MoDRdrCNM4UaQrTOlakJUzzZJGGMO3DxZXCdM4XVwjTO2KkFqZ7ykglTP+gcbkwg7PGZcKMjhtOYYYnDocw40NHUKg4d1wSqo4eAaHy9PGfUH0A8QuBM4gIoY90tcdAKqQ9X/aRLltKhr9nSY2KUL+oAvDv+LyeFzWLnGoQWudVfut1ZWuwYZkXg+WLgJuXfVk5OUX5CmwHoBNNmMGyetFQvsNSnY7SDDh1aGjA+UQVVsazP/ZohRHFwysmJgwdc7TNosfzzSp64tYCPw6pPvSPw4myQ0QVU67ZlHdb9Vn8QtVbG5TNsfux3WP7lNs38Zkni51NajciW6EUcwHnk4CvdoRy/dtHT0B1/dvHgOr6t48B1fVvHwOq/5PfPjpGKPmDj+EmSR/6XEAQnh+bC0QYAkGE1vxC/AzH/CxgyM8CuvOLCOxItFLjfULziwLY+qs48wv79yLQ/CJ6Jji/iJ4Fzi+iZ4Pzi+g54Pwiei44v4ieB84voueD84voBeD8IvpNcH4RvRCcX0S/Bc4voheB84vot8H5RfQ74PwiejE4v4heAs4vopeC84voZeD8Ino5OL+IXgHOL6JXgvOL6FXg/CJ6NTi/iF4Dzi+i14Lzi+h14Pwiej04v4jeAM4vojeC84voTeD8InozPL9YCamQ9nwt5xcA/h3zi8hrPb+I1JxfRGKw/Ahwkza/iDJYVh8ZyncUc34RDc0vVkHzC1MBR6eeX2RLIYwAubuy4LXelQU1d2VBbFduDXVXvoh9UwypYrBvKQ3u3a2G3kpMWntXHbAX2m9PG9y7pgL2Xp89Xp89BlTXZ48B1fXZY0D1/9PsMTb4GAcOtQKXrBSLZMIu0oY+VLPXx/4KRi6IZPGUUWqsGMZGlLcZ4tptWqPUONjPQob8LKQ1So2XALFz4HdXX3VpjFJl/ULY+qdDXD+EUWo8OkpVCgOjVJXw0ig1Hh2lxqOj1Hh0lBqPjlLj0VFqPDpKjUdHqfHoKDUeHaXGo6PUeHSUGo+OUuPRUWo8OkqNR0ep8egoNR4dpcajo9R4dJQaj45S49FRajw6So1HR6nx6Cg1Hh2lxqOj1Hh0lBqPjlLjsVHqd5AKac/XcpQK4N8xtLkdNYucahBa364ztBFY3o7BMuQ/5YmNUuOhE80dBsvqL0P5vkNvlIoFfCc0jjkNjWNMBXyngXHM9V/TeQKq67+mC6iu/5ouoLr+a7qA6v/6r+kKBx+LmCR96HMBQXhhbC5Q1BAIimrNL8TPIpifxQz5WUx3flEU8rNOQdb8ohi2fgxnfmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNmh+Yf+UDZpf2D9lg+YX9k/ZoPmF/VM2aH5h/5QNml/YP2WD5hf2T9mg+YX9UzZofmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNmh+Yf+UDZpf2D9lg+YX9k/ZoPmF/VM2aH5h/5QNml/YP2WD5hf2T9mg+YX9UzZofmH/lA2aX9g/ZYPmF/ZP2aD5hf1TNmh+Yf+UDZpf2D9lg+YX9k/ZoPmF/VM2bH5RpyCkQtrztZxfAPh3zC+KX+v5RXHN+UVxDJYl3Jxf3GWwrEoYyvddzPlFCWR+UScGmV8YC7jE1V8FQ74BpO7Kktd6V5bU3JUlsV1ZMtRdiV0Fw4q0FPYtpcG9W9LQWymldxWsNDQvPG1w75oKuLTORzn7743daPLvjZVhfYAvk6yVp+UtEh/p2btHYv+yLXoO6jdkcNfBvRP7p0wO5i3bc8HnLI0dz02Cz5knTLZiylox5ayY8lZMhatdJqasY5mmDk2yLFPRiqlkxVS2Yqpo/GuOWRpCnQ/6RyZiqnISHlPV8VzJ8VzZ8VxFMlHNiqluxcgn7RpX+ae0szRT/qsn/zoAUpP0p7SzyIe0msA/VPuvLUNeYy3GH9y2vazlg7ysRdqRUx3bo5GjKKql2pEy4JDRhQwl6un9yz61sFlbfUZLs9NcH0tzfVKaZzrS3NyR5tqp0iyjFxmqyLik0dXuw0YhHeQas/ahDHQaY0fEJpQdJus30fmbcRDNa5mkeVMKzWX81ZTzz272syJ7Yqfq0pT1H7EiH8TWD/WcBP4bF82gM3ZpSFWGsfnsEm2G9d3mhg7GzeN0MplwTTN5+ctOQYu9F1qVvbCUt2A5+hDq6EOYoy1DHRw6/pl41OmoHKDTUdUU3ezChQtn0H9S/uKswPEtaqvgY2tj/6R8TCtM1jpOqwlH5cCaYEVSE46qhq1fSWfgqfzXDGNaQSXcGmodFSFVJaD+tE4TrZJJHSEqJ9oRHsY6QhuWo7lQR/tijt7LcvRm1NF+mKNtWY7egjraH3O0HcvRW1FHEzFH27MczY06OgBztAPL0TyoowMxRzuyHM2LOjoIc/Q+lqNhqKOPYI52YjmaD3V0MOZoZ5aj+VFHh2CO3s9yNBx1dCjm6AMsRyNQR4dhjnZhOVoAdXQ45mhXlqORqKMjMEe7sRyNQh0diTnaneVoNOroKMzRHixHC6KOPoo52pPlaAzq6GOYow+yHPWijj6OOdqL5Wgs6ugTmKMPsRyNQx1NwhztzXI0HnV0NOZoH5ajt6GOPok5+jDL0UKoo09hjvZlOXo76ugYzNF+LEfvQB19GnO0P8vRO1FHx2KOJrIcLYw6Og5zdADL0SKoo+MxRweyHC2KOvoM5ugglqPFUEefxRx9hOVocdTR5zBHB7McvQt19HnM0SEsR0ugjr6AOTqU5WhJ1NEJmKPDWI6WQh2diDk6nOVoadTRZMzRESxHy6CO+jBHR7IcLYs6moI5OorlaDnU0UmYo4+yHC2POjoZc/QxlqMVUEdfxBx9nOVoRdTRlzBHn2A5Wgl19GXM0SSWo5VRR1/BHB3NcrQK6uirmKNPshytijr6GuboU4ijzXr2Sxw0olH/3oMnNTjsKS1fnsvX0vKFr3yVKl9Sytd/8sWafGUlXwbJ1yzyBYZ8NSBDdxlny6BYRrAy3JSxoQzkZNQlQyQZz8jgQ0YK8mFdPgbLB0z56CYfiuTjhhzk5Ygsh0851smBSY4iAnnBp4BJWr40U2lT0gBka0nRSjlIoiWEuX7/dG5tAX+UODN0qSJz6LdD4Ptv4EAB+Xf+5vtTlTAgpcEk5HaQB/1x1NPmTI1l7B371wFNIWF9K+YeLOHjQtw7Df9H9k4KettnLFrB47C/WToWSvv4kOq8IVTnmVyo8/Eh1jnY0p65pi1N80ovONZ5lvCq4ffzrDlTz7kYx02WuTiedzOOvebieMHNOPabi2OCm3EcNBfHRDfjOGQujmQ34zhiLg6fm3EcNRdHiptxHDcXxyQ34/jKXByT3YzjG3NxvOhmHCfMxfGSm3GcMhfHy27GcdpcHK+4GccP5uJ41c04fjIXx2tuxvGzuTimuBnHWXNxTHUzjvPm4pjmZhy/mYvjdTfj+MNcHNPdjOMvc3HMcDOOf8zF8YabcVwwF8dMF+PIkclcHLPcjCOzuThmuxlHVnNxzHEzjhvNxTHXzThuMhfHPDfjyGkujvluxnGzuTgWuBnHrebieNPNOPKYi2Ohm3GEmYvjLTfjyG8ujkVuxhFhLo633Ywj0lwc77gZR7S5OBa7GUeMuTiWuBlHrLk4lroZR7y5OJa5GUchc3EsdzOOO8zFscLNOAqbi2Olm3EUNRfHKjfjKG4ujtVuxlHCXBxr3IyjlLk41roZRxlzcawD4nDe1Gx08abm81bMC1bMBCtmohWTbMX4rJgU+SpevsWWL4Dlu1P52lG+sZMvu+R7IvmKRb6dkMG+zMRlnCyTWBliyvxPRmcydZKBjcw6ZEwgn7Dlw6l8rpOPRPJpQg7icoaV45+cnOTQIbwW1AklpMFKb5JtLTtCikneg4SQ3k1NZfT2fbsE9Ernc9hNzeeg63vrQyqfRmZvahq8vofEoXFTc8M1val5g95NzQ3YTc2NhFcNv5+N5kxtCvFVw3/BuSmWx80u5tHkTdF33YzD4E3R99yMw+BN0ffdjMPgTdEP3IzD4E3RLW7GYfCm6IduxmHwpuhHbsZh8KboVjfjMHhT9GM34zB4U/QTN+MweFP0UzfjMHhT9DM34zB4U9RyMw6DN0W3uRmHwZui292Mw+BN0R1uxmHwpuhON+MweFN0l5txGLwputvNOAzeFN3jZhwGb4rudTMOgzdF97kZh8GbovtdjMPkTdEDbsZh8KboQTfjMHhT9HM34zB4U/SQm3EYvCl62M04DN4UPeJmHAZvin7hZhwGb4oedTMOgzdFj7kZh8GbosfdjMPgTdEv3YzD4E3Rr9yMw+BN0a/djMPgTdFv3IzD4E3Rb92Mw+BN0RNuxmHwpuhJN+MweFP0lJtxGLwp+p2bcRi8KXrazTgM3hT93s04DN4U/cHNOAzeFP3RzTgM3hT9yc04DN4UPQPE4bwp2vjiTdF3rZj3rJj3rZgPrJgtVsyHVsxH8lW8fIstXwDLd6fytaN8Yydfdsn3RPIVi3w7IYN9mYnLOFkmsTLElPmfjM5k6iQDG5l1yJhAPmHLh1P5XCcfieTThBzE5Qwrxz85OcmhQ3gtqBNKSIOV3iTbWnaEFJO8Bwnhqv6m5yb0YuBm7KboJuja288hlU9jszdFDV4fROLQuCn6C7K4mX/72Rbp3RT9BbvhCHzJB/1b42fjQq4INy5CniNUthsXIc+7GYfBi5C/uhmHwYuQv7kZh8GLkL+7GYfBi5B/uBmHwYuQf7oZh8GLkH+5GYfBi5B/uxmHwYuQ/7gZh8GLkP+6GYfBi5AX3IzD3EVIr8fNOMxdhPRmcjMOcxchvTe4GYe5i5DezG7GYe4ipDeLm3GYuwjpzepmHOYuQnqzuRmHuYuQ3hvdjMPcRUhvdjfjMHcR0nuTm3GYuwjpzeFiHAYvQnpzuhmHuYuQ3lxuxmHuIqT3ZjfjMHcR0nuLm3GYuwjpvdXNOMxdhPTmdjMOcxchvXncjMPcRUhvXjfjMHcR0hvmZhzmLkJ687kZh7mLkN78bsZh7iKkN9zNOMxdhPRGuBmHuYuQ3gJuxmHuIqQ30s04zF2E9Ea5GYe5i5DeaDfjMHcR0lvQzTjMXYT0xrgZh7mLkF6vm3GYuwjpjXUzDnMXIb1xbsZh7iKkN97NOMxdhPTe5mYc5i5CeoEWrnGTzXv7Nb3JduXf6lN5mMnKOge62JilBaKqmofg4x2wjy0hH28m+GhlaW1l9WFetlZUzk8XLvwpIWt4qVw760QrqnoKVLl3ILHUrgl4ubDOoN59+/buZV9snJx70ui5rXv379W3J+ax1377QMu4ZBXoL3EhiDN5fKPn1B40qOuIw544y3un5S1seYtY3qKWt5jlLW5577K8JSxvSctbyvKWtrxlLG9Zy1vO8pa3vBUsb0XLW8nyVra8VSxvVctbzfJWt7x3W94alrem5a1leWtb3jqWt67lrWd560PXfJHbot47s0OywpisCCYrismKYbLimOwuTFYCk5XEZKUwWWlMVgaTlcVk5TBZeUxWAZNVxGSVMFllTFYFk1XFZNUwWXVMdjcmq4HJamKyWpisNiarg8nqYrJ6mKx+9suPWZMhWN2pRqqgpLBSZQOnCLJindmhnhdVgfx0kXZFM1alnLmoKpah6twkv6o4FMgco4EcO//f4ndloKpzPKAqkb4que4lVUkokLnmAkn0BRcvlZ5q9QCHqnQ6quFrnKoyUCDzDAXSYMRli5dNU3Wi4eWqcmmpyp5MpSoPBTLfRCCFy6VevMKVqk5FrlBVvELVrvOVqkpQIAuuOpCk9mksXjmVKml0Wqoql6tWjE5TVRUK5M2rC6TeyrQXr+ZUJdRPR1XdoVrVIj3V3VAgC68ikCKr0128xiXV9KLpq2oGVKVnZKCqBQXylm4gx8pktHhtv2rg8QxVdS6qmg3KWFUXCmQR5fPqHPkAONVev3tzhZf1RFWqh0pVH5q0zIZUcyDVXEg1D1LNh1QLINWbkGohpHoLUi0KdVZwiy/4QR2b4tVXHgN3XrTZb0Dfnpb3HuzzdshV660vtlVTFtsXW4bYa6DegHpeNvBBXjYI9c3dmqLx5hSiHSFNbVKCr7lh8LGRuQlLQ0zWKPuVY2PV+v42pf480xD6bNQIyOxlLmLzQWzxxhr7S/27faFCA2jWmnUO5GUTBru8jcWwz9j6V9kZ6ykLapqjMzZldUaZcjYFOuM0W4bYa0bpjOJlMx/kZTPGdwl2fTcxWd/NQz1kYi2gGaRKAArpKuFRTymaqguPFsHHlubg0QKTtdSCRz0IHi2gl9cSyKxG5WCLt6K0oOZSklhbbk3BQisx7Ob6TcQw9uV1E8xLSNUm1C4QOuLqKst+mQNx97IQJ9/l3QsgbpktQ+y1pSBOvGzrg7xsy/pg3wbbBe048GoLqdrz4VVXKVqqC68OwceO5uDVAZN11IJXXQheHaCX1xHIrEblYIvfR2ku7aQksW3TiQKP+8QwZ30w+Z0gVWfGx85L5FSZ9pNTrcLIeT/jI4a3sxg2mfEH+Hyvo+wMEx1878Liex2xDfB9oi1D7HWl8F287OqDvOzK4vsDWKPoxmkUXSFVdz7f6yhFE3T53iP42NMc33tgsp5afK8D8b0H9PJ6ApnVqBxs8QcpzaWblCS2bXpR+P6gGOasDya/F6R6iJL8ABPVSoyJvSnkfkgMm8xlHz65ayv3fJyD3A+zyF1bbAPkjrNliL2+FHKLl319kJd9WeTug7WAfpwW0BdS9eeTu7ZSFKtL7sTg4wBz5E7EZAO0yF0bInci9PIGAJnVqBxs8YGU5tJPShLbNoMo5B4ohjnrg8kfBKkeoSQ/wES1EmPiYAq5ZesNNpnLIXxy11Lu+R0Ocg9lkbuW2AbIvcOWIfaGUcgtXg7zQV4OY5F7CNYChnNawDBINYJP7lpK0XZdco8MPo4yR+6RmGyUFrlrQeQeCb28UUBmNSoHW/xRSnMZLiWJbZvHKOR+VAxz1geT/xikepyS/AAT1UqMiU9QyP24GDaZyyQ+uWsq93xXB7lHs8hdU2wD5O5qyxB7T1LILV4+6YO8fJJF7iSsBTzFaQFPQqoxfHKrf1DeRZfcTwcfx5oj99OYbKwWuWtC5H4aenljgcxqVA62+DhKc3lKShLbNuMp5B4nhjnrg8kfD6meoSQ/wES1EmPisxRyPyOGTebyOT65ayj3/AEHuZ9nkbuG2AbIfcCWIfZeoJBbvHzBB3n5Aovcz2EtYAKnBbwAqSbyyV1DKdqvS+7k4KPPHLmTMZlPi9w1IHInQy/PB2RWo3KwxVMozWWClCS2bSZRyJ0ihjnrg8nHbmBPpiQ/wES1EmPiixRyTxbDJnP5Ep/cdyv3fCMHuV9mkftusQ2Qu5EtQ+y9QiG3ePmKD/LyFRa5X8JawKucFvAKpHqNT+67laKGuuSeEnycao7cUzDZVC1y3w2Rewr08qYCmdWoHGzxaZTm8qqUJLZtXqeQe5oY5qwPJv91SDWdkvwAE9VKjIkzKOSeLoZN5vINPrmrK/f8Ege5Z7LIXV1sA+ReYssQe7Mo5BYvZ/kgL2exyP0G1gJmc1rALEg1h0/u6krRYl1yzw0+zjNH7rmYbJ4WuatD5J4Lvbx5QGY1KgdbfD6lucyWksS2zQIKueeLYc76YPIXQKo3KckPMFGtxJi4kELuN8WwyVy+xSd3NeWeX+8g9yIWuauJbYDc620ZYu9tCrnFy7d9kJdvs8j9FtYC3uG0gLch1WI+uaspRet0yb0k+LjUHLmXYLKlWuSuBpF7CfTylgKZ1agcbPFllObyjpQktm2WU8i9TAxz1geTvxxSraAkP8BEtRJj4koKuVeIYZO5XMUnd1Xlnm/iIPdqFrmrim2A3E1sGWJvDYXc4uUaH+TlGha5V2EtYC2nBayBVOv45K6qFDXWJff64OMGc+Rej8k2aJG7KkTu9dDL2wBkVqNysMU3UprLWilJbNtsopB7oxjmrA8mfxOk2kxJfoCJaiXGxHcp5N4shk3m8j0+uaso93ySg9zvs8hdRWwD5E6yZYi9DyjkFi8/8EFefsAi93tYC9jCaQEfQKoP+eSuohQ9oUvuj4KPW82R+yNMtlWL3FUgcn8EvbytQGY1Kgdb/GNKc9kiJYltm08o5P5YDHPWB5P/CaT6lJL8ABPVSoyJn1HI/akYNplLi0/uyiGRexuL3JXFNkbubVBY2ynkFi+3Y+TeziK3hbWAHZwWsB1S7eSTuzKP3LuCj7vNkXsXJtutRe7KELl3QS9vN4fc2OJ7KM1lh5Qktm32Usi9Rwxz1geTvxdS7aMkP8BEtRJj4n4KufeJYZO5PMAndyXlnl/gIPdBFrkriW2A3AtsGWLvcwq5xcvPfZCXn7PIfQBrAYc4LeBzSHWYT271P1o/X5fcR4KPX5gj9xFM9oUWuStB5D4CvbwvgMxqVA62+FFKczkkJYltm2MUch8Vw5z1weQfg1THKckPMFGtxJj4JYXcx8WwyVx+xSd3ReWen+0g99csclcU2wC5Z9syxN43FHKLl9/4IC+/YZH7K6wFfMtpAd9AqhN8cldUimbpkvtk8PGUOXKfxGSntMhdESL3SejlnQIyq1E52OLfUZrLt1KS2LY5TSH3d2KYsz6Y/NOQ6ntK8gNMVCsxJv5AIff3YthkLn/kk7uCcs8fdJD7Jxa5K4htgNwHbRli7wyF3OLlGR/k5RkWuX/EWsDPnBZwBlL9wid3BaXogC65zwYfz5kj91lMdk6L3BUgcp+FXt45ILMalYMtfp7SXH6WksS2za8Ucp8Xw5z1weT/Cql+oyQ/wES1EmPi7xRy/yaGTebyDz65yyv3/DYHuf9kkbu82AbIvc2WIfb+opBbvPzLB3n5F4vcf2At4G9OC/gLUv3DJ3d5pcjSJfe/wccL5sj9Lya7oEXu8hC5/4Ve3gUgsxqVAy0e66E0l7+lJKFtE5uJsW1jbcOc9bHkx2aCVDdQkh9goloJMTE2M4PcsTeIYZO5zMIndznlno8Mkjs2K4vc5cQ2QO5IW4ZslmwUcouX2XyQl9lI5I7NgrWAGzktIBukys4ndzmlqIAmuWNvCj7mMEbu2JswWQ4tcpdDyB17E/TycgCZ1agcbPGcjOYSe6OUJLZtclHInVMMc9YHk58LUt1MSX6AiWolxsRbKOS+WQybzOWtfHKXVe75NQ5y52aRu6zYBsi9xpYhVZCHQm7xMo8P8jIPi9y3Yi0gL6cF5IFUYXxyl1WKVuuSO1/wMb85cufDZPm1yF0WInc+6OXlBzKrUTnY4uEUeOSVksS2TQSF3OFimLM+mPwISFWAkvwAE9VKjImRFHIXEMMmcxnFJ3cZ5Z4f7yB3NIvcZcQ2QO7xtgypgoIUcouXBX2QlwVZ5I7CWkAMpwUUhFRePrnLKEXjdMkdG3yMM0fuWEwWp0XuMhC5Y6GXFwdkVqNysMXjKfCIkZLEts1tFHLHi2HO+mDyb4NUhSjJDzBRrcSYeDuF3IXEsMlc3sEnd2nlnm/oIPedLHKXFtsAuRvaMqQKClPILV4W9kFeFmaR+w6sBRThtIDCkKoon9yllaIGuuQuFnwsbo7cxTBZcS1yl4bIXQx6ecWBzGpUDrb4XRR4FJGSxLZNCQq57xLDnPXB5JeAVCUpyQ8wUa3EmFiKQu6SYthkLkvzyV1Kued9DnKXYZG7lNgGyO2zZUgVlKWQW7ws64O8LMsid2msBZTjtICykKo8n9zq/ZusS+4KwceK5shdAZNV1CJ3KYjcFaCXVxHIrEblYItXosCjnJQktm0qU8hdSQxz1geTXxlSVaEkP8BEtRJjYlUKuauIYZO5rMYnd0nlnh/gIHd1Frnl/VYHyD3AliFVcDeF3OLl3T7Iy7tZ5K6GtYAanBZwN6SqySe3+vNBoi65awUfa5sjdy1MVluL3CUhcteCXl5tILMalYMtXocCjxpSkti2qUshdx0xzFkfTH5dSFWPkvwAE9VKjIn1KeSuJ4ZN5vIePrlLKPf8Rge5G7DIXUJsA+TeaMuQKmhIIbd42dAHedmQRe57sBbQiNMCGkKqxnxyq8eKG3TJ3ST42NQcuZtgsqZa5C4BkbsJ9PKaApnVqBxs8WYUeDSSksS2TXMKuZuJYc76YPKbQ6oESvIDTFQrMSa2oJA7QQybzGVLPrnvUu75OAe5W7HILV8FtQLIHWfLkCpoTSG3eNnaB3nZmkXullgLaMNpAa0h1b18cqu/EI3VJXfb4GM7c+Rui8naaZH7LojcbaGX1w7IrEblYIu3p8CjjZQktm06UMjdXgxz1geT3wFSdaQkP8BEtRJj4n0UcncUwyZz2YlP7uLKPZ/LQe7OLHIXF9sAuXPZMqQK7qeQW7y83wd5eT+L3J2wFvAApwXcD6m68MmtvkeVU5fcXYOP3cyRuysm66ZF7uIQubtCL68bkFmNysEW706BxwNSkti26UEhd3cxzFkfTH4PSNWTkvwAE9VKjIkPUsgtm/1Bk7nsxSd3MeWe7+8g90MschcT2wC5+9sypAp6U8gtXvb2QV72ZpG7F9YC+nBaQG9I9TCf3MWUon665O4bfOxnjtx9MVk/LXIXg8jdF3p5/YDMalQOtnh/Cjz6SEli2yaRQm7pB4mc9cHkJ0KqAZTkB5ioVmJMHEgh9wAxbDKXg/jkLqrc83kc5H6ERe6iYhsgdx5bhlTBYAq5xcvBPsjLwSxyD8JawBBOCxgMqYbyya3+4VluXXIPCz4ON0fuYZhsuBa5i0LkHga9vOFAZjUqB1t8BAUeQ6QksW0zkkLuEWKYsz6Y/JGQahQl+QEmqpUYEx+lkHuUGDaZy8f45AZ++Osg9+MschcR25DDsU9QmCzrP5HMou1j2LZN4mzbJyDVaI3XCoQkhpG0XmURFw6piJ9kFXFhsY0V8VOUIpb1n6IUsf0enzJXxFf5tu9U++F422NYb/tOsY3twDFQTTxNqQnx8mnszT1NQaJUztMYuJMgL8cy6tvO0thkTvsdC6nGUU5NgfOIWomdR8ZTmss4MYx5ieXyGRbHn4E2UtY5obbA3JMutUDIlywJsghSrvhnV09cSB90faPn1B40qOuIw544K/ZZK/Y5K/Z5K/YFK3aCFTvRik22Yn1WbIoVO8mKnWzFvmjFvmTFvmzFvmLFvmrFvmbFTrFip1qx06zY163Y6VbsDCv2DSt2phU7y4qdbcVKqudasfOs2PlW7AJzH56fzQ7JnsNkz2OyFzDZBEw2EZMlYzIfJkvBZJMw2WRM9iImewmTvYzJXsFkr2Ky1zDZFEw2FZNNw2SvY7LpmGwGJnsDk83EZLMw2WxMNgeTzcVk8zDZfEy2IHvovLrICIhXdZaFevA57ImHQPwsNFB8Tqmy0f+8SnXxgPBCxqqUMxdVEzJUnZvkV03MSHXs/H+q5AxUdY4HVBm8iOS6l1TpHygTfUHVpPRUqwc4VJPTUQ1f41S9mLaqwYjLVC+lqTrR8HLVy2mpyp5MpXolDVXhcqlVr16p6lTkCtVrV6jadb5SNSW1Kql9GqqpqVRJo9NSTbtctWJ0mqrXL1PVW5m2arpTlVA/HdUMh2pVi/RUbwRVRVanq5p5STW9aPqqWQFV6RkZqGb/pzpWJiPVHL9q4PEMVXMvqpoNylg1z1Z1b65QzRdVqR4q1QLk4wbUGK9ulhG7QNkhdzpmGW+SZhmxC8Q28MXpTluG2FvImGXYXi70QV4uDPXNhfzdof3mFKIdut8dvhV8XGTu489bmGyRzneHFzeUGvVvQceGRUBmNQYx2OJvM+bg9vBgITTiyDoH8vIdyiDmbTHsM7b+VXbG+cqCmubojItZnVFGEIuBzjjNliH2llA6o3i5xAd5uYQx5bXr+x2T9b2UM4tdAqmWAYV0lfCYrxRN1YXH8uDjCnPwWI7JVmjBYz4Ej+XQy1sBZFajcrDFV1Ja0FIpSawtr6JgYaUYdnP9d8TwJAxLmJeQajX97kXsPGXZL3Mgbg0LcTJoXwMgbpktQ+ytpSBOvFzrg7xcy/r+ZzW2C9Zx4LUWUq3nw2ueUrRUF14bgo8bzcFrAybbqAWveRC8NkAvbyOQWY3KwRbfRGku66QksW2zmQKPTWKYsz6Y/M2Q6l3K9asAOVWm/eRUqzByvke5SPKuGDaZ8ff5fJ+r7AwTHXz/gMV3+S79A4DvE20ZYm8Lhe/i5RYf5OUWFt/fxxrFh5xGsQVSfcTn+1ylaIIu37cGHz82x/etmOxjLb7Phfi+FXp5HwOZ1agcbPFPKM3lQylJbNt8SuH7J2KYsz6Y/E8h1WeU5AeYqFZiTLQo5P5MDJvM5TY+ueco97zzr/9tZ5FbmLQd++t/26GwdlDILV7uwP763w4WubdhLWAnpwXsgFS7+ORW3zzV/ut/u4OPe8yRezcm26NF7jkQuXdDL28PkFmNysEW30tpLvI1+S5s2+yjkHuvGOasDyZ/H6TaT0l+gIlqJcbEAxRy7xfDJnN5kE/u2co9v8NB7s9Z5J4ttgFy77BliL1DFHKLl4d8kJeHWOQ+iLWAw5wWcAhSHeGTe7ZStF2X3F8EH4+aI/cXmOyoFrlnQ+T+Anp5R4HMalQOtvgxSnM5LCWJbZvjFHIfE8Oc9cHkH4dUX1KSH2CiWokx8SsKub8UwyZz+TWf3LOUe76rg9zfsMg9S2wD5O5qyxB731LILV5+64O8/JZF7q+xFnCC0wK+hVQn+eSepRR10SX3qeDjd+bIfQqTfadF7lkQuU9BL+87ILMalYMtfprSXE5ISWLb5nsKuU+LYc76YPK/h1Q/UJIfYKJaiTHxRwq5fxDDJnP5E5/cM5V7/oCD3GdY5J4ptgFyH7BliL2fKeQWL3/2QV7+zCL3T1gL+IXTAn6GVGf55J6pFO3XJfe54ON5c+Q+h8nOa5F7JkTuc9DLOw9kVqNysMV/pTSXX6QksW3zG4Xcv4phzvpg8n+DVL9Tkh9golqJMfEPCrl/F8Mmc/knn9xvKPd8Iwe5/2KR+w2xDZC7kS1D7P1NIbd4+bcP8vJvFrn/xFrAP5wW8Dek+pdP7jeUooa65L5w6THOY47cFyBZnEeL3G9A5L6AvLw4D5BZjcrBFs9EaS7/SElC2ybuBsa2jZP/buCsjyU/7gZIlZmS/AAT1UqIiXFZGOSOyyyGTeYyK5/cM5R7fkmQ3HHZWOSeIbYBci+xZchmuZFCbvHyRh/k5Y0kcsdlxVpAdk4LuBFS3cQn9wylaLEmueNyBB9zGiN3XA5MllOL3DMQcsflgF5eTiCzGpWDLZ6L0VzisktJYtvmZgq5c4lhzvpg8m+GVLdQkh9golqJMfFWCrlvEcMmc5mbT+7pyj2/3kHuPCxyTxfbALnX2zKkCvJSyC1e5vVBXuZlkTs31gLCOC0gL6TKxyf3dKVonS658wcfw82ROz8mC9ci93SI3PmhlxcOZFajcrDFIyjwCJOSxLZNAQq5I8QwZ30w+QUgVSQl+QEmqpUYE6Mo5I4UwyZzGc0n9+vKPd/EQe6CLHK/LrYBcjexZUgVxFDILV7G+CAvY1jkjsZagJfTAmIgVSyf3K8rRY11yR0XfIw3R+44TBavRe7XIXLHQS8vHsisRuVgi99GgYdXShLbNoUo5L5NDHPWB5NfCFLdTkl+gIlqJcbEOyjkvl0Mm8zlnXxyT1Pu+SQHuQuzyD1NbAPkTrJlSBUUoZBbvCzig7wswiL3nVgLKMppAUUgVTE+uacpRU/okrt48PEuc+Qujsnu0iL3NIjcxaGXdxeQWY3KwRYvQYFHUSlJbNuUpJC7hBjmrA8mvySkKkVJfoCJaiXGxNIUcpcSwyZzWYZP7qkhkbssi9xTxTZG7rJQFZSjkFu8LIeRuxyL3GWwFlCe0wLKQaoKfHJP5ZG7YvCxkjlyV8RklbTIPRUid0Xo5VXikBtbvDIFHuWlJLFtU4VC7spimLM+mPwqkKoqJfkBJqqVGBOrUchdVQybzGV1PrmnKPf8Age572aRe4rYBsi9wJYhVVCDQm7xsoYP8rIGi9zVsRZQk9MCakCqWnxyT1GK5uuSu3bwsY45ctfGZHW0yD0FIndt6OXVATKrUTnY4nUp8KgpJYltm3oUctcVw5z1weTXg1T1KckPMFGtxJh4D4Xc9cWwyVw24JP7NeWen+0gd0MWuV8T2wC5Z9sypAoaUcgtXjbyQV42YpG7AdYCGnNaQCNI1YRP7teUolm65G4afGxmjtxNMVkzLXK/BpG7KfTymgGZ1agcbPHmFHg0lpLEtk0ChdzNxTBnfTD5CZCqBSX5ASaqlRgTW1LI3UIMm8xlKz65X1Xu+YMOcrdmkftVsQ2Q+6AtQ6qgDYXc4mUbH+RlGxa5W2Et4F5OC2gDqdryyf2qUnRAl9ztgo/tzZG7HSZrr0XuVyFyt4NeXnsgsxqVgy3egQKPe6UksW3TkULuDmKYsz6Y/I6Q6j5K8gNMVCsxJnaikPs+MWwyl5355H5Fuee3Och9P4vcr4htgNzbbBlSBQ9QyC1ePuCDvHyARe7OWAvowmkBD0Cqrnxyv6IUWbrk7hZ87G6O3N0wWXctcr8Ckbsb9PK6A5nVqBxs8R4UeHSRksS2TU8KuXuIYc76YPJ7QqoHKckPMFGtxJjYi0LuB8WwyVw+xCf3y8o9H+kgd28WuV8W2wC5I20ZUgV9KOQWL/v4IC/7sMj9ENYCHua0gD6Qqi+f3C8rRQV0yd0v+NjfHLn7YbL+WuR+GSJ3P+jl9Qcyq1E52OKJFHg8LCWJbZsBFHInimHO+mDyB0CqgZTkB5ioVmJMHEQh90AxbDKXj/DJ/ZJyz69xkHswi9wviW2A3GtsGVIFQyjkFi+H+CAvh7DI/QjWAoZyWsAQSDWMT+6XlKLVuuQeHnwcYY7cwzHZCC1yvwSRezj08kYAmdWoHGzxkRR4DJWSxLbNKAq5R4phzvpg8kdBqkcpyQ8wUa3EmPgYhdyPimGTuXycT+4XlXt+vIPcT7DI/aLYBsg93pYhVZBEIbd4meSDvExikftxrAWM5rSAJEj1JJ/cLypF43TJ/VTwcYw5cj+FycZokftFiNxPQS9vDJBZjcrBFn+aAo/RUpLYthlLIffTYpizPpj8sZBqHCX5ASaqlRgTx1PIPU4Mm8zlM3xyT1bu+YYOcj/LIvdksQ2Qu6EtQ6rgOQq5xcvnfJCXz7HI/QzWAp7ntIDnINULfHJPVooa6JJ7QvBxojlyT8BkE7XIPRki9wTo5U0EMqtROdjilOYS97yUJLZtfBRyJ4thzvpg8rHFUyjJDzBRrcSYOIlC7hQxbDKXk/nknqTc8z4HuV9kkXuS2AbI7bNlSBW8RCG3ePmSD/LyJRa5J2OV8zKnBbwEqV7hk1udrmRdcr8afHzNHLlfxWSvaZF7EkTuV6GX9xqQWY3KwRafQoHHy1KS2LaZSiH3FDHMWR9M/lRINY2S/AAT1UosRa9TyD1NDJvM5XQ+udV7foCD3DNY5Jb3OwMg9wBbhlTBGxRyi5dv+CAv32CRezpW3zM5LeANSDWLT261KFGX3LODj3PMkXs2JpujRe4UiNyzoZc3B8isRuVgi8+lwGOmlCS2beZRyD1XDHPWB5M/D1LNpyQ/wES1EmPiAgq554thk7l8k09un3LPb3SQeyGL3PIxdSHQfzbaMqQK3qKQW7x8ywd5+RaL3G9iLWARpwW8Bane5pNbPVbcoEvud4KPi82R+x1MtliL3D6I3O9AL28xkFmNysEWX0KBxyIpSWzbLKWQe4kY5qwPJn8ppFpGSX6AiWolxsTlFHIvE8Mmc7mCT+5k5Z6Pc5B7JYvc8lXQSoDccbYMqYJVFHKLl6t8kJerWORegbWA1ZwWsApSreGTW12FsbrkXht8XGeO3Gsx2TotcidD5F4Lvbx1QGY1KgdbfD0FHqulJLFts4FC7vVimLM+mPwNkGojJfkBJqqVGBM3UcgtH7Y2mczlZj65Jyr3fC4Hud9lkXui2AbIncuWIVXwHoXc4uV7PsjL91jk3oy1gPc5LeA9SPUBn9zqe1Q5dcm9Jfj4oTlyb8FkH2qReyJE7i3Qy/sQyKxG5WCLf0SBx/tSkti22Uoh90dimLM+mPytkOpjSvIDTFQrMSZ+QiH3x2LYZC4/5ZN7gnLP93eQ+zMWuSeIbYDc/W0ZUgUWhdzipeWDvLRY5P4UawHbOC3AglTb+eSeoBT10yX3juDjTnPk3oHJdmqRewJE7h3Qy9sJZFajcrDFd1HgsU1KEts2uynk3iWGOeuDyd8NqfZQkh9golqJMXEvhdx7xLDJXO7jk/sF5Z7P4yD3fha5XxDbALnz2DKkCg5QyC1eHvBBXh5gkXsf1gIOclrAAUj1OZ/c6h+e5dYl96Hg42Fz5D6EyQ5rkfsFiNyHoJd3GMisRuVgix+hwOOglCS2bb6gkPuIGOasDyb/C0h1lJL8ABPVSoyJxyjkPiqGTebyOJ/cwA9/HeT+kkXu58U25HDcVxQmy/pfJbNoexzbtl9ztu1XkOobjdcKhCSGkbReZRE/F1IRf8sq4ufENlbEJyhFLOufoBSx/R5PmCviq3zbz6r9cLztk6y3/azYxnbgSagmTlFqQrw8hb25UxQkSuWcwsD9NeTld4z6trP0XTKn/X4HqU5TTk2B84haiZ1Hvqc0l9NiGPMSy+UPLI7/AG2krHNCLaTDnrx2+Jky/v9YXvsf01OIRFUfcTL2WeTDXuxzStXFw5NKhXy8TDkDjI/PTTqj/nr42Pn/VBld/6pzPKDK4KUm172kSn+zJ/qCqklI7ussgFRvQqqFkAr6ZUGdRZBqX+jlXTA9w6sHOJKX3l+lGb7GqUrnr841GHGZKu0/X3Ci4eWqNP9qfNmTqVRp/aswhculVqXxs/dORa5QXfmvurbrfKXqin+1Pal9GqrUv8VKGp2WatrlqhWj01S9fpmq3sq0VdOdqoT66ahmOFSrWqSncvxMtcjqdFUzL6mmF01fNSugKj0jA1Xg543HymSkmuNXDTyeoWruRVWzQRmrLt65795coZovqlI9VCqsaUA/4awzB1LNhVTQ7wrqzIdU+0NtLVC/jfsROVzU2Qep9tM/38T9GNKn2Z9In2/ifhTbmMNnGJ9c7PXPJHMK4mcMdMZq9ioL4ueQCuIXVkH8LLYxh89SCkLWPxvyMCmL40uhwx7kb5b5z8YKkcd/NlaIPP6zsULk8Z+NFSKP/2ysEHn8Z2OFyOM/GytEHv/ZWCHy+M/GCpHHfzZWiDz+Q6BC5PEfAhUij/8QqBB5/IdAhcjjPwQqRB7/IVAh8vgPgQqRx38IVIg8/kOgQuTxHwIVIo//EKgQefyHQIXI4z8EKkQe/yFQIfL4D4EKkcd/CFSIPP5DoELk8R8CFSKP/xCoEHn8h0DlZ/uLh0DlZ/tY5A8rhNruvHci7c5bGGl33iJIu/MWRdqdtxjS7rzFkXbnvQtpd94SSLvzlkTanbcU0u68pZF25y2DtDtvWaTdecsh7c5bHml33gpIu/NWRNqdtxLS7ryVkXbnrYK0O29VpN15qyHtzlsdaXfeu5F2562BtDtvTaTdeWsh7c5bG2l33jpIu/PWNTnKVLc7x8H3HPiVxFkZ0ULnWGiSi9zHOafx3ak9cD6bgrkJfeg5H+rROavvOkuuEF1niUN1nSUB1XWWBFT/wyxxXN/8Nfj4GzieOC99nnP74pwYx77D/52y/q9iGFv/D0PA/OOzJA0/f4P9/NOQn3+m4SfwliRAyM86Ou9T+SWUvf6f2Pp/hLi+HBOQN+W9U5xQCi+eFACh/7CgFv53XlAKA0cGlfDSqUEhDB4cMhY6zg4ZCp3Hh4yEl50gMhBefohIX5jqHJGuMPVRIj3hFaeJdIRXHijSFqZxpkhTmNaxIi1hmieLNIRpHy6uFKZzvrhCmN4RI7Uw3VNGKmH6B43LhRmcNS4TZnTccAozPHE4hBkfOoJCxbnjklB19AgIlaeP/4TqA4hfCJxBRAh9pKvzO6RC2vNlH+mypWT4e5bUqAj1iyrAH8fn9b9QswgFEVr/pfzW68rWYMPyLwiWdW8KEZbJaX3XkcZpATrR/G2urKBAkHz/nep0lGbAqUNDA/5HVGFlPPtjj1YYUTy8YmLC0DFH2yx6PN+soiduLfDjkOpD/zicKDtEVDHlmk15t1WfxS9UvbVB2Ry7H9s9tk+5fROfebLY2aR2I7IVSjEX8D8S8NWOUK5/++gJqK5/+xhQXf/2MaC6/u1jQPV/8ttHxwjl3+DjBZOkD30uIAj/F0J4vMcMCOI9WvML8fMC5mcmQ35m0pxfxHuwI1Ex0vwiPhO2fnHO/ML+vQg0v7B/kgXNL+wfIELzC/uvB0DzC/sPBEHzC/tvAELzC/vP/ELzC/sv+UPzC/sf64HmF/a/xwfNL+x/cheaX8S+CM4vYl8C5xexL4Pzi9hXwPlF7Kvg/CL2NXB+ETsFnF/ETgXnF7HTwPlF7Ovg/CJ2Oji/iJ0Bzi9i3wDnF7EzwflF7CxwfhE7G5xfxM4B5xexc8H5Rew8cH4ROx+cX8QuQOcXdYtBKqQ9X8P5BYL/4Pwi/oZrPL+Iv0FvfhF/AwbLai7OL+IzGyyraobynZk4v4jPgswv6haH5hemAs6Sen6RLYUwAuTuyqzXeldm1dyVWbFdWT3UXfki9k0xVKTZsG8pDe7d6obeSra09q464BuR/XZxqmhq75oK+Mbrs8frs8eA6vrsMaC6PnsMqP4/mj3GZw8+3gQOtQKXrBSLZMIu0oY+VLPXx/4KxnmIZDkYo9T47GIYG1HmNMS1nDqj1PibYD9zGfIzl84oNT6HBIidA+9njFLt9XNh6z9AG6XG5wBHqWrhf6NUpTAwSlUJL41SFcLgKDVjoWOUmqHQOUrNSHjZKDUD4eWj1PSFqUap6QpTj1LTE14xSk1HeOUoNW1hGqPUNIVpjVLTEqY5Sk1DmPYo9UphOqPUK4TpjVJTC9MdpaYSpj9KvVyYwSj1MmFGo1SnMMNRqkOY8Sg1KFSMUi8JVaPUgFA5Sv1PqB6l+oXAKPWiEBmlxufARqn3QyqkPV/LUSqAf8fQ5mbULHKqQWh9s8bQxoblzRgsEymjVKkY5Exxi8GySjSU71u0RqlgwLdC45gHoHGMqYBvNTCOuf5rOk9Adf3XdAHV9V/TBVTXf00XUP0f/zVdfO7gYx6TpA99LiAIz43NBfIaAkFerfmF+JkH8zPMkJ9huvOLvNiRSOenkdD8Igxb38eZX3jvBOcX3sLg/MJbBJxfeIuC8wtvMXB+4S0Ozi+8d4HzC28JcH7hLQnOL7ylwPmFtzQ4v/CWAecX3rLg/MJbDpxfeMuD8wtvBXB+4a0Izi+8lcD5hbcyOL/wVgHnF96q4PzCWw2cX3irg/ML793g/MJbA5xfeGuC8wtvLXB+4a0Nzi+8dcD5hbcuOL/w1gPnF9768PwiGVIh7flazi8A/DvmF/mu9fwin+b8Ih8GyzfcnF/kN1hWbxjKd37m/CIcml/4oPmFqYDDr/oqGPQNIHVXRlzrXRmhuSsjsF05M9RdCV0FA4u0APYtpcG9O9PQWymgdxUsEtpvDxjcu6YCjtT5KGf/vbEzBv/eWHwU6wN8VLJWnpa3SHykZ+8eif3Ltug5qN+QwV0H907snzI5mLdszwWfs7R0PLcKPmeeIN+KRlvxBa34GCvee7XLxEc7lmnt0CTLMrFWfJwVH2/F36bxrzlmSYA6Xyz0KgtxEh5fyPEc53iOdzzfJpm43Yq/w4qXT9qFr/JPaWdpo/xXT/51AKQI6U9pZ2kjtoF/qPZfW4a8xqKMP7hte1nUB3lZlLQjpzq2RwtHUdyeakfKgENGFzKUKKH1L/uow/Tvg5KMlmanuSSW5pKkNM90pPleR5qLpUqzjF5kqCLjkrJXuw9bhHSQK8fahy3ENnZELE/ZYbJ+eQOD0TRpHl/UJM0rUGgu468KnH928xkrpjl2qp5NWX+iFZOArR/yPxcG/RsX8RWhM/ZsSDWHsfnsEq2I9d1Khg7GleJ0Mln5mmby8pedghZ7C7QqW2Apr8JytCXqaEvM0aqhDg4d/0w87PRZ0Gnv7YpuduHChTPoPyl/cVbg+Ba1WvCxurF/Uj6+GiarHqfXhM9iTfBNUhP23o6tv1Bn4Kn81wzjq0ElXB1qHW9CqoVA/WmdJqolszrCObQjtME6wt0sR8+jjt6LOVqD5eivqKNtMUdrshz9DXW0HeZoLZajv6OOtsccrc1y9A/U0Q6Yo3VYjv6JOtoRc7Quy9G/UEfvwxytx3L0b9TRTpij9VmO/oM62hlz9B6Wo/+ijt6POdqA5egF1NEHMEcbkhz1elBHu2CONmI5mgl1tCvmaGOWozegjnbDHG3CcjQz6mh3zNGmLEezoI72wBxtxnI0K+poT8zR5ixHs6GOPog5msBy9EbU0V6Yoy1YjmZHHX0Ic7Qly9GbUEd7Y462YjmaA3W0D+Zoa5ajOVFHH8YcbcNyNBfqaF/M0XtZjt6MOtoPc7Qty9FbUEf7Y462Yzl6K+poIuZoe5ajuVFHB2COdmA5mgd1dCDmaEeWo3lRRwdhjt7HcjQMdfQRzNFOLEfzoY4OxhztzHI0P+roEMzR+1mOhqOODsUcfYDlaATq6DDM0S4sRwugjg7HHO3KcjQSdXQE5mg3lqNRqKMjMUe7sxyNRh0dhTnag+VoQdTRRzFHe7IcjUEdfQxz9EGWo17U0ccxR3uxHI1FHX0Cc/QhlqNxqKNJmKO9WY7Go46Oxhztw3L0NtTRJzFHH2Y5Wgh19CnM0b6Io8169kscNKJR/96DJ7U67CktX57L19Lyha98lSpfUsrXf/LFmnxlJV8Gydcs8gWGfDUgQ3cZZ8ugWEawMtyUsaEM5GTUJUMkGc/I4ENGCvJhXT4GywdM+egmH4rk44Yc5OWILIdPOdbJgUmOIgJ5waeASVq+NFNpU9IAZGtJ0Uo5SKIlhLl+/3RubfVTX5fIDF2qyBz67RD4/hs4UOgPrD/fn6qEASmtJiG3gzzoj6P6mzOVyNg79q8DKkDCklZ8KSzhA0LcO63/R/ZOCnrbJxGt4AEp2JuH0j4wpDpvDdV5JhfqfGCIdQ62tEHXtKVpXukFxzqPEF41/H4eMWdqsItx3GSZi2OIm3HsNRfHUDfj2G8ujmFuxnHQXBzD3YzjkLk4RrgZxxFzcYx0M46j5uIY5WYcx83F8aibcXxlLo7H3IzjG3NxPO5mHCfMxfGEm3GcMhdHkptxnDYXx2g34/jBXBxPuhnHT+bieMrNOH42F8cYN+M4ay6Op92M47y5OMa6Gcdv5uIY52Ycf5iLY7ybcfxlLo5n3IzjH3NxPOtmHBfMxfGci3HkyGQujufdjCOzuThecDOOrObimOBmHDeai2Oim3HcZC6OZDfjyGkuDp+bcdxsLo4UN+O41Vwck9yMI4+5OCa7GUeYuThedDOO/ObieMnNOCLMxfGym3FEmovjFTfjiDYXx6tuxhFjLo7X3Iwj1lwcU9yMI95cHFPdjKOQuTimuRnHHebieN3NOAqbi2O6m3EUNRfHjP/H3n/AR1V1+/84AYKiAiqKoCIwJZOZzGRKJqiIIt0GIqDYUBEiBkOCEFAsCFhRaSH23kDFgoq9Yi8sUREQQREbdkBs2PJf4Xm+dwbwcdbM89l+/vf3ur683v26r3PPXu999tmzy8r7MDmKcBy3MDkiOI5bmRxRHMdtTI44jsNk70zL1By4KVNzrHQYJx3OkA5nSofx0uEs6XC2HsXrKbYeAOvZqR476omdHnbpOZEesejphG7s6564bifrTqxuYur+n26d6a6TbtjoXoduE+gKWxenuq7TJZGuJnQirnNYnf7pzEknHfp7rT91+iuhA6yOTfpa6xuhnUmfgyL8p0zNjPT1+Xb7WFM6q22ZmtWm9L07suo+A7GZmsD0PUfy1dn/aKZmw9wyNWfbMjXnOHjU5uczB3erO7N81GaDc6mtHe8itiMyU/RuJgcwU3QukwOYKXoPkwOYKXovkwOYKXofkwOYKXo/kwOYKTqPyQHMFH2AyQHMFH2QyQHMFH2IyQHMFJ3P5ABmij7M5ABmij7C5ABmij7K5ABmij7G5ABmij7O5ABmij7B5ABmij7J5ABmij7F5ABmij7N5ABmij7D5ABmij7L5ABmij5H5EBmii5gcgAzRZ9ncgAzRV9gcgAzRV9kcgAzRV9icgAzRV9mcgAzRV9hcgAzRV9lcgAzRV9jcgAzRV9ncgAzRd9gcgAzRRcyOYCZosLkAGaKvsnkAGaKLmJyADNF32JyADNF32ZyADNF32FyADNFFzM5gJmi7zI5gJmiS5gcwEzRpUwOYKboMiYHMFP0PSYHMFPUkKqyWabokZsyRe+WDnOlwz3S4V7pcJ90uF86zNOjeD3F1gNgPTvVY0c9sdPDLj0n0iMWPZ3QjX3dE9ftZN2J1U1M3f/TrTPdddING93r0G0CXWHr4lTXdbok0tWETsR1DqvTP5056aRDf6/1p05/JXSA1bFJX2t9I7Qz6XNQhP/K6XmnNTHwLlum6J2mtLf3s+o+R2IzRYHpgxaOHDJFV1gqx3z7uf6i3DJFV9gyHFcamsjyrfGV7bPuEYxEyA8c9GxGIuSHTA5gIuQqJgcwEfIjJgcwEXI1kwOYCPkxkwOYCPkJkwOYCPkpkwOYCPkZkwOYCPk5kwOYCLmGyQFMhPyCyQFMhPySyQFMhPyKyQFMhPyayQFMhPyGyQFMhPyWyQFMhPyOyQFMhFzL5AAmQq5jcgATIdczOYCJkN8zOYCJkBuIHMhEyB+YHMBEyB+ZHMBEyJ+YHMBEyJ+ZHMBEyF+YHMBEyI1MDmAi5K9MDmAi5G9MDmAi5O9MDmAi5B9MDmAi5J9MDmAiZB2TA5cI6WnA5MAlQnrymBy4REhPQyYHLhHS04jJgUuE9DRmcuASIT35TA5cIqSnCZMDlwjp2YbJgUuE9GzL5MAlQnqaMjlwiZCe7ZgcuERIz/ZMDlwipGcHA0f2mWyeZv9oJluDSXO7jS6vqCgfXp9EVtuiZtLsAeWVwyvK/tUKGcNt/PcfWsnT/9kxdcsZGS9usCmAkaMqysTTPFVsYUpntGTFeVq0z+GpNJ7291fVrNvUJZqbnnALQ5NtFqLpSXiaGxooezGjV5rcY6t/x7+/aG1dXd3mna35zM07W8Zg6qvIcFGDmalOs5Ot02TdJp4d9d62gHfO3HC51b/zjCxHH9vTbmd+2oYNkL94Hef3qxpTVj6sqjLRr2z0yLHVQ6rLqypralOvZ5Pr017Vlqly09dT5UbTasWzi3h2FU8r8ezmtFO3dtHMTe7RB2irv42L+j2t9caZ6q9/Xx3V39hnbv/dHXWzW9O62e5p5V226GZ7iGdP8bQVz15bYWYMftNjNv0NQJN7TI3RLtuf821SI6y1YzZubxhZbkgNsu1TxQ6poidV9KaKvlTRnyoWpIqBVLEwVQymiqFUsShVDBt/P5rck1Nv2noO4bFNNfy2ywptlxXl5TIryLAAKR7U/JBcblv8H2/b7G9aMuN76YmkldunlTuklYv1vYyKJyaeuHgSW8/mGmTqBx6P6aqoqSVKclkGZK7ca7oqZgox6SZEn+mquCnEUjfjvKckrZxMK5emlRPanzqKZ2/x7COefXNpCb/pqo6mlujk5mEVmK7a2xTifm5CDJiu2scUYmdH/alTWnm/tHLntPK+2p/2F88B4ukingNzaYlC01X7m1qiq5uHFTRddYApxG5uQgyZrupiCrG7o/7UNa3cLa3cPa18oPanHuLpKZ5e4umdS0sUma7qYWqJgxy1xEFp5Z5p5V5p5d7aEgeL5xDxHCqew3KZt/T5++hHXH2I5BR9n7TywWnl8Bbrib7iOVw8/cRzxOYz9fys90L6Zn4OaXtp/VPFAcjZck5r3/62ZzUQNFsfuHBibnEOsMV5JCjOI/8iTtMic6Apzh675vA8t7jr8Vvc9V/tdKSt/lau+lNf0yK7x66mqyxRbvbqNqn52w3uLVss2/fc8Bak7Xke9U8vhY/KuIGat+V9Nz2zo2x9Zrdspwa1NRkfQQPrfssgYLfaDdTeg7YYJP4SeEs0K/DRelXLeINl7VaVji9q1bHq8HEXrBp474RdbguuadH6u7Gdx21cWaVviF7VtqTPdQv6j5g3tVOL3ontFp+7+KIRJUunT5kc2jBx0Pgm3hoc8NEKvPV19/UZW1FdPmDokIoho7VYO2vSnd2rKsdUD6msNmz5b31tw0UtTxjb5PbBQyOBZj3Xt9659vwuL06d3CUQzuK+DTb70Ukf2NM2Hu+ZJZ5jxHOseI77C6x5PUeeXDZsWNmw7mNHjyvrOmyYgqXuc0xa+di08nHpF3nTyr70zagtgjhePIPFc0L2X8tr3L7+BsafpuNn5NQNMk+4/tPmkGeLCdeJ4jlJPEPEc/LfHz5lfjlOfLF9aPCnExY3uD/waJO7b+l98u+9ph//eyuZ1Orr05rO+35Y51sfTxuIh+Z2+GQIQ+9d/3uXKZb6yyy/L8NyOKIyRTlspinKYdn+3m5bk+1P6ImGKoxn1Jv+qU095rJU8ZRUcXiqeKqxwYb9+0ikQSYa2C/38LzcZpvDkEca5U7Ot4brjV0NPGVp5VPSm3OLgWeEeE4TT4V4Rmavmap/fcpNpOVaUbZHweZvou5tunCudNjHNoJWugp0pTFQTzNboFWuAt3X2qL72gId5SrQTtZAO9kCPT3bebzttqP//raNmvz2Yfb8TV/Xo1bT29dGD4htgY5xMs6dqgOArf5qR6Ph6LTymLRy9Raj4VjxjBPPGeI587/NAWqdMW3hz7Rp2HhXOUCt9d41mVMo/qy/zHK/s5xkCmmUZ800RXnWf7859NfThbOQ04WzXW0hVSKjPAc0Qzun/eYvS9NZ2b4sY7OY+dp61Nn6ns/I4q7GQA1TgxnUfWuPPo+zbWPtuS7qbxySJg/a6p/gPhFzQlabkue5GoQn6L1tAU90Mrxq/RPdJGIWmJ/2JCdD4oPS9C1b/ZPdzCw2SwSdlFaevMXM4nzxXCCeC8VzkdOX6mJHzeyZaKv/EieD2sV6Y1siqJP6GxeZ23+Ko26Wngg6Ja18/hbd7FLxXCaey8UzNYdpUP1jtk0wHjQ1xrRs98yyTgR9UBoHsksEnZ4qzkgV034F0k6jZ6WKaXtpV6SKV6aKV6WKV6eK16SK16aK11mnCA+CZmgzbambtbbLrrJddm3ef51aOT2tPGOL1MrrxXODeG4Uz025pJrYfo6vN3Xzm93kBZneRM8NphBvcROi7aobTSHe6mjpf3Na+Za0cvqIepP2p9vEc7t47hDP7FxaotZ01W2mlpjj5mFdYbrqdlOId7oJ8UrTVXeYQrzLUX+ak1a+M618V1p5tvanu8WjO7m6Zr83l5a4ynTV3aaWuM/Nw7radNVcU4j3uwnxGtNVtt2SeY76031p5fvTyvPSyvdqf3pAPDo/e0g883NpiWtNVz1gaomHHbXEw2nlB9PKD6WV52tLPCKeR8XzmHge/69zIB9JK1+3xVT6CfE8KZ6nxPP0f5sDafiGfdqs85lU8VnkRDGnZd8ztmXPczl1ia3njM/llAOpcT5ri3MBKM4FOeVAapzP2fLJAjk8z8w5kFr/Alv9ha760xO2HEjT31iYovwncyANb0HaQvP5f3oV+HwuOZD6zJ639Zlgtr/hthxI21bDC8BuFQS19wu55UDagF805UAWmnIgUcAv/u/MgXwufWBP23N7cJZ4XhLPy+J5JescyJfSyi+nlV9Jvyg9iPT/e+0WQbwqntfE83oOOZCB+hsYf5pedZWK9J92cWZuMeF6QzwLxSPieTO33xZjjsEiF79tnjJz/W85qf8Uc/1vO6l/uLn+d5zUv0gb1lb/Ylf1v22r/11X9b9jq3+Jo9d8cVr53bTyki1e86XiWSae98SzPBfv1BummdhS070sH3n8L0+g389qSrjC1Qn0+3pvW8ArnZxAa/0rZ2Tb2tlnUL+RTcZHdhnUH6SKH6aKq1LFj4wZ1Cv/fZbYIBMNbN6/Ki+3tepK5Fngaiej3iq9satpywdp5Q/Tm3OL8exj8Xwink/F81kOGdQ651ltIl2tFWX9BqV58mzzxeXGhO76XLRMqet6Hr8uV6fe56niGpxT73PbZWva55AisNw6/+lR7GRv5R5z/dEs69+0bM0sFfzcNAysMa3Ai01XRQ39L/s/CdIX7fNsk6VmZBopm1c+oRvJ5aYmsnzQL/3L5aNWNuink1+df+oUUDzVegdpKv/f/vevvoxunEB+mblv5Zt6YH72r9JM61D/pW0qn923BkdBHbWWyq23+jrLLn/6/3X5LPrTB9qlbD8Nsf/+2OGvR9SvbaeUX5t6/TemX4dYVu/G6aZ3I4/wbnyT7W+RbRj89h8dBvNyGwa/tQ2D3zl41Obn8x3uVmuJHE0Fx7GOybEEx7GeybEMx/E9k2M5jmMDk2MFjuMHJscHOI4fmRyrcBw/MTlW4zh+ZnJ8guP4hcnxGY5jI5NjDY7jVybHlziO35gcX+M4fmdyfIvj+IPJsRbH8SeTYz2Oo47JsQF2K28DJsePOI48JsfPOI6GTI6NOI5GTI7fcByNmRx/4DjymRx1OI4mRI7t8nAc2zA5GuE4tmVy5OM4mjI5tsFxbMfkaIrj2J7JsT2OYwcmRzMcRzMmRwscR3Mmx044jhZMjpY4jh2ZHLviOHZicuyG49iZydEGx9GSybEHjmMXJkdbHMeuTI52OI5WTI4OOI7dmBxeHEdrJocfx9GGyRHAcezO5AjiOPZgchThOPZkckRwHG2ZHFEcx15MjjiOw/Lh4uzt3972GW8bc9Y8hsrNt+rgpnk8GW8bd9c8HtytvG6ax5fxtgl3zePD3crvpnkKMt62xF3zFOBuFXDTPJkVKUl3zVOIu1XQTfOEMt621F3zhHC3KnLTPOGMt+3ornnCuFtF3DRP5r/k29td8xTjbhV10zyxjLfdx13zxHC3irtpnkTG2+7rrnkSuFuVuGmeZMbbdnLXPEncrUrdNE/HjLfdz13zdMTdam83zbNPxtt2dtc8++Buta+b5umU8bb7u2ueTrhb7eemeTpnvO0B7pqnM+5W+7tpngMy3raLu+Y5AHerLm6a58CMtz3QXfMciLtVVzfN0y3jbbu6a55uuFt1d9M8PTLetpu75umBu1VPN83TK+Ntu7trnl64W/V20zwHZbxtD3fNcxDuVge7aZ5DMt62p7vmOQR3q0PdNM9hGW/by13zHIa7VR83zdM34217u2uevrhbHe6mefplvO1B7pqnH+5WR7hpnv4Zb3uwu+bpj7vVADfNMzDjbQ9x1zwDcbc60k3zHJXxtoe6a56jcLca5KZ5js5428PcNc/RuFsd46Z5js142z7umudY3K2Oc9M8x2e8bV93zXM87laD3TTPCRlve7i75jkBd6sTLc2TppkbvUkzt04868XzvXg2iOcH8fwonp/E87N4fhHPRvH8Kp7fxPO7eP4Qz5/iqROvNpjW1VC8jcTbWLz54m0i3m3Eu614m4p3O/FuL94dxNtMvM3F20K8O4p3J/HuLN6W4t1FvLuKt5V4dxNva/G2Ee/u4t1DvHuKt6149xJvO/F2EK9XvH7xBvRYXI9+9XhTj/D0mEqPYvS4QbfUddtYt0Z1+0+3uHQbR7cqdDmuS05dVunSQafHOgXUaY7+lOvPlQ7JOuzoq6XdR5sod83ch2bNXCLLbmrWzK21aebWmnr9SZZ7mVhS78ZorGYO5x7znpTt0GHSzHmHZK4cqJlrmJNmzjvENgye7OBRm5/PybhbDSVyADVz3mFMDpxmzlvG5MBp5rynMDlwmjnvcCYHTjPnPZXJgdPMecuZHDjNnHcEkwOnmfOexuTAaea8FUwOnGbOO5LJgdPMeSuZHDjNnLeKyYHTzHlHMTlwmjnv6UwOnGbOO5rJgdPMeccwOYCauWomB1AzN5bJAdTMjWNyADVzZzA5gJq5M5kcQM3ceCYHUDN3FpEDqZk7m8kB1Mydw+QAaubOZXIANXMTmBxAzdx5TA6gZm4ikwOomZvE5ABq5iYzOYCaufOZHEDN3AVMDqBm7kImB1AzdxGTA6iZu5jJAdTMXcLkAGrmpjA5gJq5S5kcQM3cZUwOoGbuciYHUDM3lckB1MxNY3IANXPTmRxAzdwMJgdQMzeTyQHUzNUwOYCauVlEDqQPrpbJARS3XcHkABrWrmRyAFVoVzE5gM6yq5kcQLnYNUwOoAXsWiYHUNd1HZMjhrvV9UyOBO5WNzA5gKaqG5kcQKXUTUwOoPvpZiYHUNJ0C5MDaFO6lckB1B7dxuQA+oluZ3IARUJ3MDmAxp/ZTA6gmmcOkwPo0LmTyQGU3dzF5ABaae5mcgD1MXOZHP1wt7qHydEfd6t7mRxAc8p9TA6g4uR+JgfQRTKPyQGUhjzA5ADaPR5kcgA1HA8ZONI1HGPqNRzeYeItE+8p4h0u3lPFWy7eEeI9TbwV4h0p3krxVol3lHhPF+9o8Y4Rb7V4x4p3nHjPEO+Z4h0v3rPEe7Z4zxHvueKdIN7zxDtRvJPEO1m854v3AvFeKN6LxHuxeC8R7xTxXqpH/XpKrgfMejarx5p6IqiHaXoOpUc4evqhBwe6567b1brTq5ukur+oW3O6q6UbQrqXotsQuoLXxa+uG3XJpasVnejrHFmnlzoz00mNzgf0p1R/hXQA17FPhw1947Sz6nPWJspdw7HKrOFIWp5DDhoO71CThsM71BKld77lXiaW1LsxBqrhQLoZ5mf5TIwajoczVw7UcDTKTcPxsKnbeh9x8KjNz+cR3K0eJXIgNRyPMTmAGo7HmRxADccTTA6ghuNJJgdQw/EUkwOo4XiayQHUcDzD5ABqOJ5lcgA1HM8xOYAajgVMDqCG43kmB1DD8QKTA6jheJHJAdRwvMTkAGo4XmZyADUcrzA5gBqOV5kcQA3Ha0wOoIbjdSYHUMPxBpMDqOFYyOQAajiEyQHUcLxJ5EBqOBYxOYAajreYHEANx9tMDqCG4x0mB1DDsZjJAdRwvMvkAGo4ljA5gBqOpUwOoIZjGZMDqOF4j8kB1HAsZ3IANRzvMzmAGo4VTA6ghmMlkwOo4fiAyQHUcHzI5ABqOFYxOYAajo+YHEANx2omB1DD8TGTA6jh+ITJAdRwfMrkAGo4PmNyADUcnzM5gBqONUQOpIbjCyYHUMPxJZMDqOH4iskB1HB8zeQAaji+YXIANRzfMjmAGo7vmBxADcdaJkcMd6t1TI4E7lbrmRxADcf3TA6ghmMDkwOo4fiByQHUcPzI5ABqOH5icgA1HD8zOYAajl+YHEANx0YmB1DD8SuTA6jh+I3JAdRw/M7kAGo4/mByADUcfzI5gBqOOiZHP9itfA2YHP1xHHlMDpyGw9eQyYHTcPgaMTlwGg5fYyYHTsPhy2dy4DQcviZMDpyGw2dI2dxMw1G9ScPxmHgfF+8T4n1SvE+J92nxPiPeZ8X7nHgXiPd58b4g3hfF+5J4XxbvK+J9Vbyvifd18b4h3oXiFfG+Kd5F4n1LvG+L9x3xLhbvu+JdIt6l4l0m3vfEu1y874t3hXhXivcD8X6oR/16Sq4HzHo2q8eaeiKoh2l6DqVHOHr6oQcHuueu29W606ubpLq/qFtzuqulG0K6l6LbELqC18Wvrht1yaWrFZ3o6xxZp5c6M9NJjc4H9KdUf4V0ANexT4cNfeO0s+pz1ibKXcPxkVnD0dHyHHLRcDxq03A8aonSt63lXiaW1LtRjdVw4NwMvm2zfCY2DYevaebKgRqOxjlpOHxNTd3Wt52DR21+PtvhbrU9kQOo4fDtwOTAaTh8zZgcOA2HrzmTA6fh8LVgcuA0HL4dmRw4DYdvJyYHTsPh25nJgdNw+FoyOXAaDt8uTA6chsO3K5MDp+HwtWJy4DQcvt2YHDgNh681kwOn4fC1YXLgNBy+3ZkcOA2Hbw8mB07D4duTyYHTcPjaMjlwGg7fXkwOnIbD147JgdNw+NozOXAaDl8HJgdOw+HzEDmAGg6fl8mB03D4fEwOnIbD52dy4DQcvgImB07D4QswOXAaDl8hkwOn4fAFmRw4DYcvxOTAaTh8RUwOnIbDF2Zy4DQcvgiTA6fh8BUzOXAaDl+UyYHTcPhiTA6chsMXZ3LgNBy+BJMDp+HwlTA5cBoOX5LJgdNw+EqZHDgNh68jkwOn4fDtzeTAaTh8+zA5cBoO375MDpyGw9eJyYHTcPj2I3IANRy+zkwOnIbDtz+TA6fh8B3A5MBpOHxdmBw4DYfvQCYHTsPh68rkwGk4fN2YHDgNh687kyOG4+jB5EjgOHoyOXAaDl8vJgdOw+HrzeTAaTh8BzE5cBoO38FMDpyGw3cIkwOn4fAdyuTAaTh8hzE5cBoOXx8mB07D4evL5MBpOHyHMzlwGg5fPyYHTsPhO4LJgdNw+PozOXAaDt8AJkc/HMdAJkd/HMeRTA6ghuMoJgdQwzGIyQHUcBzN5ABqOI5hcgA1HMcyOYAajuMMHOkajrH1Gg7fDuJrJr7m4mshvh3Ft5P4dhZfS/HtIr5dxddKfLuJr7X42ohvd/HtIb49xddWfHuJr5342ouvg/g84vOKzyc+v/gKxBcQX6H4guILia9IfGHxRcRXLL6o+GLii4svoUf9ekquB8x6NqvHmnoiqIdpeg6lRzh6+qEHB7rnrtvVutOrm6S6v6hbc7qrpRtCupei2xC6gtfFr64bdcmlqxWd6OscWaeXOjPTSY3OB/SnVH+FdADXsU+HDX3jtLPqc9Ym+k8aDosGw7d9Jg1G88onntIrTU9r+xqLG+H4rPrmWKgGA+lGsHDkoMEYbKncosHIs2gw8nLTYAyeaWIxjAST5nWrGDL0tG5VZ/YaWzm0+5CKikl39O/at3fPmklzBpVXV5aNGaP3ab9ZmDWWMBsvF0+l5cIm94jnHBvPiVk+cnOgVdZAq2yBnuTgHTP/HQrQ2zGEyQH0dpzM5AB6O4YyOYDejmFMDqC3o4zJAfR2nMLkAHo7hjM5gN6OU5kcQG9HOZMD6O0YweQAejtOY3IAvR0VTA6gt2MkkwPo7ahkcgC9HVVMDqC3YxSTA+jtOJ3JAfR2jGZyAL0dY5gcQG9HNZMD6O0Yy+QAejvGMTmA3o4ziBxIb8eZTA6gt2M8kwPo7TiLyQH0dpzN5AB6O85hcgC9HecyOYDejglMDqC34zwmB9DbMZHJAfR2TGJyAL0dk5kcQG/H+UwOoLfjAiYH0NtxIZMD6O24iMkB9HZczOQAejsuYXIAvR1TmBxAb8elTA6gt+MyJgfQ23E5kwPo7ZjK5AB6O6YxOYDejulMDqC3YwaRA+ntmMnkAHo7apgcQG/HLCYH0NtRy+QAejuuYHIAvR1XMjmA3o6rmBxAb8fVTI4YjuMaJkcCx3EtkwPo7biOyQH0dlzP5AB6O25gcgC9HTcyOYDejpuYHEBvx81MDqC34xYmB9DbcSuTA+jtuI3JAfR23M7kAHo77mByAL0ds5kcQG/HHCYH0NtxJ5OjH47jLiZHfxzH3UwOoLdjLpMD6O24h8kB9Hbcy+QAejvuY3IAvR33MzmA3o55Bo7N3Ag1NSZhheUq3wOZI8xFzPCghRwmZshRJDDKKhIYNdME/ZCrQE+3Bnq6LdD5WQZqUl00eVA8K231P+yifk+1eBbZ6n/ExYPyTBbPNNOFl4jnUlugj7poKN/D2gKmMcT3mOkFtXxgZWtzyfx+VWPKyodVVSb6lY0eObZ6SHV5VWVNbcpk4hmdZjV5NK38WKrcaFqt+B4X3xPie1J8T02a2210eUVF+fD6Gmqbz5w0e0B55fCKMuNQ7Ln47xtlbV3dn5vuOXJURZn4njbZdnLoyRfrvTM9oPpY6i+zPPBnMj/r3KJ8ZqYpymdy6MYZO6eON75nampMI5Opsz/raFT0nYiM8rmcXratNUHP5aAJqrcZnWAaYh7QKYBtiFvgZCzWQB+yBvqQLdDnXQU63xrofFugLxgC3WycbDory3HS97ihiv93S9tv0rM6xM/I4q7GQA0SqhnGezV5MNt2bVHzP+FaO0OTe4ydock9GVqrrq5uXaq1/v7ivPr/1KR+2F5MFV+y/cZZRpwXbZe91D6HUVbnvqtNb0ePg52M8vfoM7HVf0iW9c+o/fvb1qzb1CNeNA0NL5nmcwebrjrE0P9y+lF/cYajR+QZaxtAX3ZV/7m2+l9xVX+lrf5XLfWniUTPWNkgpq2mgev/rzSV/3/4969En8a9i9cyd/9GppekUfZvu3lO+ZrtUb6e1R7ZGdA9Mkvl1lu9kWWXPPN/SZessT7vx62j5xs1tgY1dZ+FWXWfM7H6WWD3WZjtj65tpJB/dKTIy22kENtI8aaDR21+Pm/ibrXIyZbZo7pCsbXjW8R2RNpk32ZyAG2y7zA5gDbZxUwOoE32XSYH0Ca7hMkBtMkuZXIAbbLLmBxAm+x7TA6gTXY5kwNok32fyQG0ya5gcgBtsiuZHECb7AdMDqBN9kMmB9Amu4rJAbTJfsTkANpkVzM5gDbZj5kcQJvsJ0wOoE32UyYH0Cb7GZMDaJP9nMkBtMmuIXIgbbJfMDmANtkvmRxAm+xXTA6gTfZrJgfQJvsNkwNok/2WyQG0yX7H5ADaZNcyOYA22XVMDqBNdj2TA2iT/Z7JAbTJbmByAG2yPzA5gDbZH5kcQJvsT0wOoE32ZyYH0Cb7C5MDaJPdyOQA2mR/ZXIAbbK/MTmANtnfmRxAm+wfTA6gTfZPJgfQJlvH5MDZZP0NDBzpmaLjN2WKvi2+d8S3WHzvim+J+JaKb5kexespth4A69mpHjvqiZ0eduk5kR6x6OmEbuzrnrhuJ+tOrG5i6v6fbp3prpNu2Oheh24T6ApbF6e6rtMlka4mdCKuc1id/unMSScd+nutP3X6K6EDrI5N+lrrG6GdSZ+DIvynTFFTAugia2LgW7ZM0UWWtDd/XlbdZzw2UxSXPmjiyD5T1N/wH80UbZhTpqi/oSnD0d/IwaM2Px/cDrG/MZEDmKnpz2dy4DI1/U2YHLhMTf82TA5cpqZ/WyYHLlPT35TJgcvU9G/H5MBlavq3Z3LgMjX9OzA5cJma/mZMDlympr85kwOXqelvweTAZWr6d2Ry4DI1/TsxOXCZmv6dmRy4TE1/SyYHLlPTvwuTA5ep6d+VyYHL1PS3YnLgMjX9uzE5cJma/tZMDlympr8NkwOXqenfncmBy9T070HkAGZq+vdkcgD34doyOXCZmv69mBy4TE1/OyYHLlPT357JgcvU9HdgcuAyNf0eJgcuU9PvZXLgMjX9PiYHLlPT72dy4DI1/QVMDlympj/A5MBlavoLmRy4TE1/kMmBy9T0h5gcuExNfxGTA5ep6Q8zOXCZmv4IkwOXqekvZnLgMjX9USYHLlPTH2Ny4DI1/XEmBy5T059gcuAyNf0lTA5gpqbhU72bZWqeVZ+p6c8XfxPxbyP+bcXfVPzbiX97PYrXU2w9ANazUz121BM7PezScyI9YtHTCd3Y1z1x3U7WnVjdxNT9P906010n3bDRvQ7dJtAVti5OdV2nSyJdTehEXOewOv3TmZNOOvT3Wn/q9FdCB1gdm/S11jdCO5M+B0X4r5yeJxpTOv2NTZmaepklfa80q+5zFjRTE5m+Z+HIIVOzo6VyjCK7/qLcMjU72jI19zY0kUHJ7t+7fdY9gpEIuY+Dns1IhNyXyQFMhOzE5AAmQu7H5AAmQnZmcgATIfdncgATIQ9gcgATIbswOYCJkAcyOYCJkF2ZHMBEyG5MDmAiZHcmBzARsgeTA5gI2ZPJAUyE7MXkACZC9mZyABMhD2JyABMhD2ZyABMhD2FyABMhD2VyABMhD2NyABMh+zA5gImQfYkcyETIw5kcwB3NfkwOYCLkEUwOYCJkfyYHMBFyAJMDmAg5kMkBTIQ8kskBTIQ8iskBTIQcxOQAJkIezeQAJkIew+QAJkIey+QAJkIex+QAJkIez+QAJkIOZnIAEyFPYHIAEyFPZHIAEyFPYnIAEyGHMDmAiZAnMzmAiZBDmRzARMhhTA5gImQZkwOYCHkKkwOYCDncwJFDJtup/2gmWw5fVW4cl/w2tky28r+/aG1dXd2kud1Gl1dUlA+vT2KrbT5z0uwB5ZXDK8qsT6E8M+Kme44cVVEm/hGmtMjs28Rfrve2BXxa5obLrf7TZjh52hHz065wUX9+G2n2ia3+kYb6t86bnN+vakxZ+bCqykS/stEjx1YPqS6vqqypTeVRNrk+LaeyIq08MlVuNK1W/JXirxL/KPGf7vSlGu2omf2n2eof46J+/2i9cab668cLR/U3Tpjbv9pRN7s1rWtVp5Urt+hmY8U/TvxniP/MrTAzBr/pMZvS0vPbmBpjvKExNhvht0mN8NaO2bjYMLLdkBrkz0oVz04Vz0kVz00VJ6SK56WKE1PFSani5FTx/FTxglTxwlTxIuPvV36bnHrT1sne5+SZLjvPdtlk22UX5uXS0z2RtFuclVY+O+2aYu3pF4v/EvFPEf+lW0+kMras/xzTVRebuvllucz1Mld+rumqS0whXu4mxAmmq6aYQpzqZuT0X5ZWvjytPDWtfKn2p2niny7+GeKfmUtLnGe6apqpJWrcPKyJpqumm0Kc5SbESaarZphCrHXUn9KHuFlp5fRrZmp/ukL8V4r/KvFfnUtLTDZddYWpJa5x87DON111pSnEa92EeIHpqqtMIV7nqD9dk1a+Nq18XVr5au1P14v/BvHfKP6bcmmJC01XXW9qiZsdtcTNaeUb0so3ppVv0pa4Rfy3iv828d+e0wSjT9rtbkkrX7TFVPoO8c8W/xzx37n5JDU/622IOzI3WE1qdnhXqng3cqKY07LvLtuyZy5oojp34cTc4rzbFuc9oDjv+Ys4TeuruaY4e/TP4Xlucdfjt7jrv9rpHlv9A1z1pztM68se/U1XWaLc7NVtUpN6df9i2bhli2X7nhvegrTtxnv/6VXgvRn3LvO2vO+mZ3avrc8MzPY3vLYm4yNoYN1quA/YrQaC2vu+LQaJvwTeEs0KfL9e1TLeYFm7VaXji1p1rDp83AWrBt47YZfbgmtatP5ubOdxG1dW6RuiV7Ut6XPdgv4j5k3t1KJ3YrvF5y6+aETJ0ulTJoc2TBw0vom3Bgd8vwJvfd19fcZWVJcPGDqkYshoLdbOmnRn96rKMdVDKjNvluX9xbUNF7U8YWyT2wcPjQSa9Vzfeufa87u8OHVyl0A4i/s22OxHJ31gT5Xz28wS/zzxPyD+B/8Ca17PkSeXDRtWNqz72NHjyroOG1abvhqYl1Z+IK38YPpF56aVJ6Tvw2wRxEPiny/+h7M3UjQurr+B8afpoRmO5nX/YRdHN902n3A9Iv5Hxf+Y+B/P/rfFUy6+B0y/LZ7VpvfrCVe/gE/YZipP/vczgK3v6nlL8W2j+SDEaL5VA3jeMsE/ZRqnY6arBjlpyLfNDXm0m4Z829SQT5uaKGG66mgnDfmOuSGPcdOQ75ga8hlTEyVNVx3jpCGrzQ15rJuGrDY15LOmJrIZe451MUb7n9TxxzZGP+eq/qdt9S9wVf8ztvqfdzRheC6tvCCt/PwWE4YXxP+i+F8S/8u55NI8YlrTvWC61yvZrkSzz2UxVJG2uHzVVS7LK3pvW8CvOcll0fpfm5Fta29bk21rP2Ko4u+2Erb8pzb1aF5PFd9IFRemimIb8f2v/TsroUEmGtgOwsK83Ha9XkNmFbzpZNRbqDd2tQB6Pa38RnpzbjGeLRL/W+J/W/zvZP+Z6PrV05sm0je1oqzfoBapN8i28vxGfAus0sQFGcKpq6tbZ33bNm1hpe2mL04V37WNiZYXYbHtsnfb55BsVN9ytoncYBdvwqYHYqv/hCzr3zSR/Jvb1mzapvYvNg0D75qmiINNV51g6H9ZD3z1L9piJ2mXntXiG2I69zOut5c4W0lnvGs9y8k2FtuSd6mzxWzGu9azDJ0FXHUuc7aezHjXepZhs4ALv/ecLOlMv43K4vnCCl1m20X8wgS93NWjOcW2QnvfVf3DbfWvcFX/qbb6V7qqv9xW/weu6h9hq/9DV/Ub08FXuaq/wlb/R67qH2mrf7Wr+itt9X/sqv4qW/2fuKp/lK3+T13Vf7qt/s9c1T/aVv/nruofY6t/jav6q231f+Gq/rG2+r90Vf84W/1fuar/DFv9X7uq/0xb/d+4qn+8rf5vXdV/lq3+71zVf7at/rWu6j/HVv86V/Wfa6t/vav6J9jq/95V/efZ6t/gqv6Jtvp/cFX/JFv9P7qqf7Kt/p9c1X++rf6fXdV/ga3+X1zVf6Gt/o2u6r/IVv+vruq/2Fb/b67qv8RW/++u6p9iq/8PV/Vfaqv/T1f1X2arv85V/Zeb6i9o4Kr+qbb681zVP81Wf0NX9U+31d/IVf0zbPU3dlX/TFv9+a7qr7HV38RV/bNs9W/jqv5aW/3buqr/Clv9TV3Vf6Wt/u1c1X+Vrf7tXdV/ta3+HVzVf42t/mau6r/WVn9zV/VfZ6u/hav6r7fVv6Or+m+w1b+Tq/pvtNW/s6v6b7LV39JV/Tfb6t/FVf232Orf1VX9t9rqb+Wq/tts9e/mqv7bbfW3dlX/Hbb627iqf7at/t1d1T/HVv8eruq/01b/nq7qt/1dfEFbV/Xb/t69YC9X9dv+jr2gnav6bX/HXtDeVf22v4ku6OCq/vts9Xtc1X+/rX6vq/rn2er3WepP+x79wktWNugn/iXiXyr+ZeJ/T/zLxf+++FeIf6X4PxD/h+JfJf6PxL9a/B+L/xPxf6rH/HrSrofdet6sR7566qoHn3r2qMd/egKnh2B6DqVHQXoaowcieiahxwK6M6+b47o/rVvEukurG6W6V6nbhbpjp5tmum+lW0e6e6MbKLqHodsIupLXxbSuZ3VJqas6XVjp2kaXFzrD10m2znN1qqmzPZ1w6ZxHpx36y68/vvr7pz9B+iugA7GOhToc6YigL6W+F9o1tXfoA9I2+qsP3tv+hqbA4KrKNyXh5mefTWzL639Tg7T1lQJD/Sn18MJLoO5hS+3WWwWy7fRT/q/TZ9GjXtdOZcuPL8uhR1vSygsCs2wdwdTvC02JudkJxhdOMb0deYS3ozDLh2IcCYP/6EiYl9tIGLSNhCEXz9r8gEK4WxUxQZoKDiRMBVmCA4lQQZbhQIqpIMtxIFEqyAocSIwK8gEOJE4FWYUDSVBBVuNASqggn+BAklSQz3AgpVSQNTiQjlSQL3Ege1NBvsaB7EMF+RYHsi8VZC0OpBMVZD0OZD8qyAYcSGcqyI84kP2pID/jQA6ggmzEgXShgvyGAzmQCvIHDqQrFaQOB9KNCbJdHg6kOxWkEQ6kBxUkHwfSkwqyDQ6kFxWkKQ6kNxVkexzIQVSQZjiQg6kgLXAgh1BBdsKBHEoFaYkDOYwKsisOpA8VZDccSF8qSBscyOFUkD1wIP2oIG1xIEdQQdrhQPpTQTrgQAZQQbw4kIFUED8O5EgqSAAHchQVJIgDGUQFKcKBHE0FieBAjqGCRHEgx1JB4jiQ45gg3vY4kOOpIB4cyGAqiA8HcgIVBJi/eiIVpBAHchIVBJhlOoQKEsaBnEwFKcaBDKWCxHAgw6ggCRxIGRUkiQM5hQrSEQcynAqyDw7kVCpIJxxIORWkMw5kBBXkABzIaVSQA3EgFVSQbjiQkVSQHjiQSipILxxIFRXkIBzIKCrIITiQ06kgh+FARlNB+uJAxlBB+uFAqqkg/XEgY6kgA3Eg46ggR+FAzqCCHI0DOZMKciwOZDwV5HgcyFlUkBNwIGcbQDYze1xab/YoCEtBRAqKpSAqBTEpiEtBQgpKpCApBaVS0FEK9paCfaRgXynoJAX7SUFnKdhfCg6Qgi5ScKAUdJWCblLQXQp6SEFPKeglBb2l4CApOFgKDpGCQ6XgMCnoIwV9peBwKdDqjpCC/lIwQE/T9RxaT3D17FNPDfW8TU+q9IxHT0f0XEF35HUvW3eBdf9Udx51z053u3SfSHdYdG9CV/W6HtaVpK7BdPWi836dMetcU2dpOr/RmYH+puqvkY7jOgLq2KFvnfZXfdLaRrmbPd4wmz0smyc5mT2KbGaPIkuUBedY7tUjy42gS7FmD+A+/DlZPhSj2ePczJUDzR4NczN72L5HUjDBxbM2P6AJuFudxwRBmj0mUkGAZo9JVBCg2WMyFQRo9jifCgI0e1xABQGaPS6kggDNHhdRQYBmj4upIECzxyVUEKDZYwoVBGj2uJQKAjR7XEYFAZo9LqeCAM0eU6kgQLPHNCoI0OwxnQoCNHvMoIIAzR4zqSBAs0cNFQRo9phFBQGaPWqpIECzxxVUEKDZ40omCNLscRUVBGj2uJoKAjR7XEMFAZo9rqWCAM0e11FBgGaP66kgQLPHDVQQoNnjRioI0OxxExUEaPa4mQoCNHvcQgUBmj1upYIAzR63UUGAZo/bqSBAs8cdVBCg2WM2FQRo9phDBQGaPe6kggDNHndRQYBmj7upIECzx1wqCNDscQ8VBGj2uJcKAjR73EcFAZo97meCIM0e86ggQLPHA1QQoNnjQSoI0OzxEBUEaPaYTwUBZhQ/TAUBmj0eoYIAzR6PUkFiOJDHqCAJHMjjVBCg2eMJKgjQ7PEkFQRo9niKCgI0ezxNBQGaPZ6hggDNHs9SQYBmj+eoIECzxwIqCNDs8TwVBGj2eIEKAjR7vEgFAZo9XqKCAM0eL1NBgGaPV6gg/XAgr1JB+uNAXqOCAM0er1NBgGaPN6ggQLPHQioI0OwhVBCg2eNNKgjQ7LHIALKZ2eOyTWaPiVIwSQomS8H5UnCBFFwoBRdJwcVScIkUTJGCS6XgMim4XAqmSsE0KZguBTOkYKYU1EjBLCmolYIrpOBKKbhKCq6Wgmuk4FopuE4KrpeCG6TgRim4SQpuloJbpOBWKbhNCm6XgjukYLYUzNHTdD2H1hNcPfvUU0M9b9OTKj3j0dMRPVfQHXndy9ZdYN0/1Z1H3bPT3S7dJ9IdFt2b0FW9rod1JalrMF296LxfZ8w619RZms5vdGagv6n6a6TjuI6AOnboW6f9VZ+0tlHuZo+FZrOHRcKZk9njPJvZ4zxLlAVvWe7VI0uh6GVYswfQ9vBWlg/FaPZ4O3PlQLNHo9zMHm+b+m3BOy6etfkBvYO71WImCNLs8S4VBGj2WEIFAZo9llJBgGaPZVQQoNnjPSoI0OyxnAoCNHu8TwUBmj1WUEGAZo+VVBCg2eMDKgjQ7PEhFQRo9lhFBQGaPT6iggDNHqupIECzx8dUEKDZ4xMqCNDs8SkVBGj2+IwKAjR7fE4FAZo91lBBgGaPL6ggQLPHl1QQoNnjKyYI0uzxNRUEaPb4hgoCNHt8SwUBmj2+o4IAzR5rqSBAs8c6KgjQ7LGeCgI0e3xPBQGaPTZQQYBmjx+oIECzx49UEKDZ4ycqCNDs8TMVBGj2+IUKAjR7bKSCAM0ev1JBgGaP36ggQLPH71QQoNnjDyoI0OzxJxUEaPaoo4LgzB6BBlQQnNkjkEcFwZk9Ag2pIDizR6AREwRo9gg0poLgzB6BfCoIzuwRaEIFwZk9AttQQXBmj8C2VBCc2SPQlAqCM3sEtqOC4Mwege2pIDEcyA5UkAQOpBkVBGf2CDSnguDMHoEWVBCc2SOwIxUEZ/YI7EQFwZk9AjtTQXBmj0BLKgjO7BHYhQqCM3sEdqWC4MwegVZUkF44kN2oIDizR6A1FQRn9gi0oYLgzB6B3akgOLNHYA8qSD8cyJ5UkP44kLZUEJzZI7AXFQRn9gi0o4LgzB6B9lQQnNkj0IEKgjN7BDxUEJzZI2A46d7c7HH5JrPHu1KwRAqWSsEyKXhPCpZLwftSsEIKVkrBB1LwoRSskoKPpGC1FHwsBZ9IwadS8JkUfC4Fa6TgCyn4Ugq+koKvpeAbKfhWCr6TgrVSsE4K1kvB91KwQQp+kIIfpeAnKfhZCn6Rgo1S8KsU/Kan6XoOrSe4evapp4Z63qYnVXrGo6cjeq6gO/K6l627wLp/qjuPumenu126T6Q7LLo3oat6XQ/rSlLXYLp60Xm/zph1rqmzNJ3f6MxAf1P110jHcR0BdezQt077qz5pbaPczR5iNnucZnkQuZg9FtvMHostUQZ8lnuZWNLejsuxZo93cG+HL8uHYjN7BPyZKweaPRrnZPYI+E39NlDg4lmbHxDwFCzABAGaPQKFVBCc2SMQpILgzB6BEBUEZ/YIFFFBcGaPQJgKgjN7BCJUEJzZI1BMBcGZPQJRKgjO7BGIUUFwZo9AnAqCM3sEElQQnNkjUEIFwZk9AkkqCM7sESilguDMHoGOVBCc2SOwNxUEZ/YI7EMFwZk9AvtSQXBmj0AnKgjO7BHYjwqCM3sEOlNBcGaPwP5UEJzZI3AAEwRo9gh0oYLgzB6BA6kgOLNHoCsVBGf2CHSjguDMHoHuVBCc2SPQgwqCM3sEelJBcGaPQC8qCM7sEehNBcGZPQIHUUFwZo/AwVQQnNkjcAgVBGf2CBxKBcGZPQKHUUFwZo9AHyoIzuwR6EsFwZk9AodTQXBmj0A/KgjO7BE4ggqCM3sE+lNBcGaPwAAqCNDsMZAKAjR7HEkFAZo9jqKCAM0eg5ggSLPH0VQQoNnjGCoI0OxxLBUEmNN4HBUEaPY4ngoCNHsMpoIAzR4nUEGAZo8TqSAxHMhJVJAEDmQIFQRo9jiZCgI0ewylggDNHsOoIECzRxkVBGj2OIUKAjR7DKeCAM0ep1JBgGaPcioI0OwxggoCNHucRgUBmj0qqCBAs8dIKgjQ7FFJBQGaPaqoIP1wIKOoIP1xIKdTQYBmj9FUEKDZYwwVBGj2qKaCAM0eY6kgQLPHOCoI0OxxhgFkM7PH1HqzR6BQAkEJhCRQJIGwBCISKJZAVAIxCcQlkJBAiQSSEiiVQEcJ7C2BfSSwrwQ6SWA/CXSWwP4SOEACXSRwoAS6SqCbBLpLoIcEekqglwR6S+AgCRwsgUMkcKgEDpNAHwn0lcDhepqu59B6gqtnn3pqqOdtelKlZzx6OqLnCrojr3vZugus+6e686h7drrbpftEusOiexO6qtf1sK4kdQ2mqxed9+uMWeeaOkvT+Y3ODPQ3VX+NdBzXEVDHDn3rtL/qk9Y2+k9mD4tZIxDIZNZoXvnEU3ql6XEFaiy2hTOz651ToWYNpG3BApKDWWO8pXKLWSPPYtbIy82sMX6mieUsQxPN61YxZOhp3arO7DW2cmj3IRUVk+7o37Vv7541k+YMKq+uLBujvf2s9puFWWMJs/E34jvRcmGTB8X3nI3n7CwfuTnQk6yBnmQL9BwXL5n5b1iAJpBzqSBAE8gEKgjQBHIeFQRoAplIBQGaQCZRQYAmkMlUEKAJ5HwqCNAEcgEVBGgCuZAKAjSBXEQFAZpALqaCAE0gl1BBgCaQKVQQoAnkUioI0ARyGRUEaAK5nAoCNIFMpYIATSDTqCBAE8h0KgjQBDKDCgI0gcykggBNIDVUEKAJZBYTBGkCqaWCAE0gV1BBgCaQK6kgQBPIVVQQoAnkaioI0ARyDRUEaAK5lgoCNIFcRwUBmkCup4IATSA3UEGAJpAbqSBAE8hNVBCgCeRmKgjQBHILFQRoArmVCgI0gdxGBQGaQG6nggBNIHdQQYAmkNlUEKAJZA4VBGgCuZMKAjSB3EUFAZpA7qaCAE0gc6kgQBPIPUwQpAnkXioI0ARyHxUEaAK5nwoCzLedRwUBmkAeoIIATSAPUkGAJpCHqCBAE8h8KkgMB/IwFSSBA3mECgI0gTxKBQGaQB6jggBNII9TQYAmkCeoIEATyJNUEKAJ5CkqCNAE8jQVBGgCeYYKAjSBPEsFAZpAnqOCAE0gC6ggQBPI81QQoAnkBSoI0ATyIhWkHw7kJSpIfxzIy1QQoAnkFSoI0ATyKhUEaAJ5jQoCNIG8TgUBmkDeoIIATSALDSCbuRZqakwGDMtVgcx/zp6Xi+jBJNWAiR5yExP4TzWKCfx7zzRBL3IUqO95q0HheVugb7kK9AVroC/YAn07y0BNjo/8NuJ/zVb/Oy7q9z8p/mdt9S928aD8I8U/3nThGPGPtQX6rouGCryjLWAa7AJLTCOJxW+5tbJlfr+qMWXlw6oqE/3KRo8cWz2kuryqsqY2pXDxjE7TubybVl6SKjeaViuBpRJYJoH3JLB80txuo8srKsqH19dQ23zmpNkDyiuHV5QZfzP8o/++UdbW1f256Z4jR1WUSeB9k2Yoh548Wu+d6QHVx1J/meWBr8j8rHOLcsVMU5QrcujGGTunjjeBFTU1ppHJ1NlXOhoVA2cjo/wgp5dtaz/SBzn4keo1TmeZhhjRuYptiPvQyVisgb5lDfQtW6CrXAX6tjXQt22BfmQIdLNxsumsLMfJwFJDFf/vlrbfpJU6xM/I4q7GQA32rRnGe+W3ybZdW9T8T7jmzrDI2hkWZWiturq6danW+vuL8+r/U5P6YVudKn5s+42zjDirbZd93D43v9wi09vRY6KLUX7TA7HVPynL+mfU/v1ta9ZtCmC1aWj42DSfm2i6apKh/+X0o756houRtn4d9bJ1ZbqPbaT9xFWgr1gD3dcW6KeuAn3VGmgnW6CfuXg76+vfz1b/567q72yrf42r+ve31f+Fq/oPsNX/pav6u9jq/8pV/Qfa6v/aVf1dbfV/46r+brb6v3VVf3db/d+5qr+Hrf61rurvaat/nav6e9nqX++q/t62+r93Vf9Btvo3uKr/YFv9P7iq/xBb/T+6qv9QW/0/uar/MFv9P7uqv4+t/l9c1d/XVv9GV/Ufbqv/V1f197PV/5ur+o+w1f+7q/r72+r/w1X9A2z1/+mq/oG2+utc1X+kqf7CBq7qP8pWf56r+gfZ6m/oqv6jbfU3clX/Mbb6G7uq/1hb/fmu6j/OVn8TV/Ufb6t/G1f1D7bVv62r+k+w1d/UVf0n2urfzlX9to9wFG7vqv4htvp3cFX/ybb6m7mqf6it/uau6h9mq7+Fq/rLbPXv6Kr+U2z17+Sq/uG2+ne21J/++bDpKxvE9CBAt9h181r3j3ULV3dRdSNT9xJ1O0931HRTS/eVdGtHd1d0g0P3GHSZryttXezqelOXfLrq0oWPrj10+q8zcJ0E6zxUp4I6G9MJkc5JdFqgv8z646i/T/oToaO0DpQ6VulwoW+svjTab7Xr6NPTBlSGv/q8ly3BsLBl5qOfRqYDokbZn3RZ8ykKW9qe5S6G+tMyWadDM1kttVtvtWu2nXLG/5JOWWN84oGlxrPDwl1rbC1q6kCtsutAM6CfnUN2oFZZvonGwWK3f3SwyMttsNjNNli0dvGszQ+oNe5WbVyMuoF3JbDS1pC7MxsS+Bm5wj2oILjPyBXuSQXBfUausC0VBPcZucK9qCC4z8gVtqOC4D4jV9ieCoL7jFxhByoI7jNyhR4qCO4zcoVeKgjuM3KFPioI7jNyhX4qCO4zcoUFVBDcZ+QKA1QQ3GfkCgupILjPyBUGqSC4z8gVhqggG3AgRVQQ3GfkCsNUENxn5AojVBDcZ+QKi6kguM/IFUapILjPyBXGqCC4z8gVxpkgwM/IFSaoILjPyBWWUEFwn5ErTFJBcJ+RKyylguA+I1fYkQqC+4xc4d5UENxn5Ar3oYLgPiNXuC8VBPcZucJOVJCWOJD9qCC4z8gVdqaC4D4jV7g/FQT3GbnCA6gguM/IFXahguA+I1d4IBUE9xm5wq5UENxn5Aq7UUFwn5Er7E4FwX1GrrAHFQT3GbnCnlQQ3GfkCntRQXCfkSvsTQXBfUau8CAqCO4zcoUHU0Fwn5ErNLjUN08unVmfXFq4hxTuKYVtpXAvKWwnhe2lsIOe2etpt54T6wmrnk3qqZ6eh+lJkp7B6OmF7vvrjrnuNesure5v6s6g7qnpbpTu4+gOiO4d6Kpb16u60tM1kq4udF6uM1qdC+osSucf+sutv3n6a6HjrI5Q+m7rW6H9SZ+EMvyn5FJTzmgbayrh7rbkUpPHrfDQ7DrQTGxyKTDh0AKSQ3LpYf9ocmnD3JJLbX/VXdjHxbM2P6A+uFv1ZYIgkzsPp4IAkzv7UUGAyZ1HUEGAyZ39qSDA5M4BVBBgcudAKggwufNIKggwufMoKggwuXMQFQSY3Hk0FQSY3HkMFQSY3HksFQSY3HkcFQSY3Hk8FQSY3DmYCgJM7jyBCgJM7jyRCgJM7jyJCgJM7hxCBQEmd55MBQEmdw6lggCTO4dRQYDJnWVMEGRy5ylUEGBy53AqCDC581QqCDC5s5wKAkzuHEEFASZ3nkYFASZ3VlBBgMmdI6kgwOTOSioIMLmzigoCTO4cRQUBJneeTgUBJneOpoIAkzvHUEGAyZ3VVBBgcudYKggwuXMcFQSY3HkGFQSY3HkmFQSY3DmeCgJM7jyLCgJM7jybCgJM7jyHCgJM7jyXCgJM7pxgANksubNmU3Ln4VLYTwqPkML+UjhACgdK4ZF6Zq+n3XpOrCesejapp3p6HqYnSXoGo6cXuu+vO+a616y7tLq/qTuDuqemu1G6j6M7ILp3oKtuXa/qSk/XSLq60Hm5zmh1LqizKJ1/6C+3/ubpr4WOszpC6butb4X2J30SyvBfmUPPtmaB9rUld/Y1Jfydl10HqsEmdwIT/iwgOSR32r4wCfkOZf1FuSV3TrQld1o0x4bvnhZOap99l2CkTk520bcZqZPnU0GAqZMXUEGAqZMXUkGAqZMXUUGAqZMXU0GAqZOXUEGAqZNTqCDA1MlLqSDA1MnLqCDA1MnLqSDA1MmpVBBg6uQ0KggwdXI6FQSYOjmDCgJMnZxJBQGmTtZQQYCpk7OoIMDUyVoqCDB18goqCDB18koqCDB18ioqCDB18momCDJ18hoqCDB18loqCDB18joqCDB18noqCDB18gYqCDB18kYqCDB18iYqCDB18mYqCDB18hYqCDB18lYqCDB18jYqCDB18nYqCDB18g4qCDB1cjYVBJg6OYcKAkydvJMKAkydvIsKAkydvJsKAkydnEsFAaZO3kMFAaZO3ksFAaZO3kcFAaZO3k8FAaZOzqOCAFMnHzCA5JD59uA/mvmWw6eeG+8j+aW2zLeH/v6itXV1dZPmdhtdXlFRPrw+6a22+cxJsweUVw6vKLM+hYcyI26658hRFWVSON+URpl9mxQ+pPe2Bfxw5obLrf6HZzh52knz037ERf35pbLTQlv9jxrq3zrPcn6/qjFl5cOqKhP9ykaPHFs9pLq8qrKmNpV32eT6tBzMR9LKj6bKjabVSuFjUvi4FD4hhU86famectTMhQ/b6n/aRf2FT+mNM9VfP144qr/xvub2f8ZRN7s1rWs9k1Z+bItu9qwUPieFC6Tw+a0wM+ex1z9mUx57fqmpMV4wNMZmI/w2qRHe2jEblxpGthtSg/yLqeJLqeLLqeIrqeKrqeJrqeLrqeIbqeLCVFFSxTdTxUWp4lvG36/80px609bJ4S/nmS57zXbZQttli/Jy6emeSNotXkwrv5R2TbH29Lel8B0pXCyF7249kcrYsoUvm65629TNl+Qy18tc+Sumq94xhbjUTYivmq5abApxmZuRs3BJWnlpWnlZWvld7U/vSeFyKXxfClfk0hKvma56z9QSK908rNdNVy03hfiBmxDfMF31vinEDx31p5Vp5Q/Syh+mlVdof1olhR9J4Wop/DiXllhoumqVqSU+cfOwxHTVR6YQP3UT4pumq1abQvzMUX/6JK38aVr5s7Tyx9qfPpfCNVL4hRR+mUtLLDJd9bmpJb5y1BJfpZXXpJW/SCt/qS3xtRR+I4XfSuF3OU0w+qTd7uu08ltbTKXXSuE6KVwvhd9vPknNz3obwpBAXJOaHW5IFX9AThRzWvZtsC17fsypS2w9Z/xx4cTc4vzBFudPoDh/+os4TeurH01x9piew/Pc4q7Hb3HXf7XTT7b6Z7jqT2tN68se001XWaLc7NVtUpN6df/i/3nLFsv2PTe8BWnbjT//06vAnzPuXeZted9Nz+xnW5+Zme1veG1NxkfQwLrV8AuwW80EtfcvWwwSfwm8JZoVeKNe1TLeYFm7VaXji1p1rDp83AWrBt47YZfbgmtatP5ubOdxG1dW6RuiV7Ut6XPdgv4j5k3t1KJ3YrvF5y6+aETJ0ulTJoc2TBw0vom3Bge8UYG3vu6+PmMrqssHDB1SMWS0FmtnTbqze1XlmOohlZnNUXl/cW3DRS1PGNvk9sFDI4FmPde33rn2/C4vTp3cJRDO4r4NNvvRSR/YU+X80llS+KsU/iaFv/8F1ryeI08uGzasbFj3saPHlXUdNkzBUvf5Na38W1r59/SLXkkrv5q+D7NFEH9I4Z9SWJe9wqJxaf0NjD9Nf8xwNK/7D7s4uum22YQr2ECCeRJsKMFG2f+2+J+QgJh+W/xvWt6vYGNHv4DBxqbRNJjvon7/U/9upcz1NzENlWVOonzaHOU2piiHO4nyGXOU25qiLHcS5bPmKJuaojzNRZTBfO1wtvdiO1f1b2Orf3tX9W9rq38HN4N0cLu08vZp5R22GKSbSbC5BFtIcMcc8heCDSx9LNjMdC9D9vh/mT9gqSI1oQ/u7Ch/ILiT3tsWcEsX+QP19bfMeq21bU22rd3AUMXfLd+2/Kc29Wh2SRV3TRVbpYq72ZbwwZb/PglukIkGtWoLtsrLaach2BJ4khts7WTUa6U3djTp1CeeKu+a3pxbjGdtJLi7BPeQ4J7Zf/63fsba2kTaWivK+g1qkXqDzMK6D00XttMLM4RTV1e3zvq2bdo2SO1gBtuminvZxkTLi9DWdtle7XPytQU+tO1yXOviTdj0QGz1X5dl/Zs2Hf7mtjWbtgaDbU3DwF6mKeK1pquuM/S/rAe++hetbbabl6Z33f+m+JeYZtxvSuBc20p0ianR27nCWWrFmWDDWWrCae8KZ5kV5zwbzjITTgdXOO9ZcSbacEy5B0GPK5zlVpxJNhxTnkLQ6wrnfSvOZBuOKach6HOFs8KKc74NZ4UJx+8KZ6UV5wIbzkoTToErnA+sOBfacD4w4QRc4XxoxbnIhvOhCafQFc4qK87FNhxTUk8w6ArnIyvOJTYcUwJQMOQKZ7UVZ4oNx5QsFCxyhfOxFedSG87HJpywK5xPrDiX2XA+MeFEXOF8asW53IbzqQmn2BXOZ1acqTacz0w4UVc4n1txptlwTNlywZgrnDVWnOk2nDUmnLgrnC+sODNsOF+YcBKucL604sy04XxpwilxhfOVFafGhvOVCSfpCudrK84sG87XJpxSVzjfWHFqbTjfmHA6usL51opzhQ3nWxPO3q5wvrPiXGnD+c6Es48rnLVWnKtsOGtNOPu6wllnxbnahrPOhNPJFc56K841Npz1Jpz9XOF8b8W51obzvQmnsyucDVac62w4G0w4+7vC+cGKc70N5wcTzgGucH604txgw/nRhNPFFc5PVpwbbTg/mXAOdIXzsxXnJhvOzyacrq5wfrHi3GzD+cWE080VzkYrzi02nI0mnO6ucH614txqw/nVhNPDFc5vVpzbbDi/mXB6usL53Ypzuw3ndxNOL1c4f1hx7rDh/GHC6e0K508rzmwbzp8mnINc4dRZcebYcOpMOAc7wiloYMW504RT0MCEc4grnDwrzl02nDwTzqGucBpace624TQ04RzmCqeRFWeuDaeRCaePK5zGVpx7bDiNTTh9XeHkW3HuteHkm3AOd4XTxIpznw2niQmnnyucbaw499twtjHhHOEKZ1srzjwbzrYmnP6ucJpacR6w4TQ14QxwhbOdFedBG852JpyBrnC2t+I8ZMPZ3oRzpCucHaw48204O5hwjnKF08yKY7MRFtj+XmyQK5zmVpxHbDjNTThHu8JpYcV51IbTwoRzjCucHa04j9lwdjThHOsKZycrzuM2nJ1MOMe5wtnZivOEDWdnE87xrnBaWnGetOG0NOEMdoWzixXnKRvOLiacE1zh7GrFedqGs6sJ50RXOK2sOM/YcFqZcE5yhbObFedZG85uJpwhrnBaW3Ges+G0NuGc7AqnjRVngQ2njQlnqCuc3a04z9twdjfhDHOFs4cV5wUbzh4mnDJXOHtacV604expwjnFFU5bK85LNhzbH+sOd4WzlxXnZRvOXiacU13htLPivGLDaWfCKXeF096K86oNp70JZ4QrnA5WnNdsOB1MOKe5wvFYcV634XhMOBWucLxWnDdsOF4TzkhXOD4rzkIbjs+EU2nB+ddHrw6uLK+etfDmlQ36SbCdBNtLsIMEPRL0StAnQb8ECyQYkGChBIMSDEmwSIJhCUYkWCzBqARjEoxLMCHBEgkmJVgqwY4S3FuC+0hwXwl2kuB+Euwswf0leIAEu0jwQAl2lWA3CXaXYA8J9pRgLwn21rN2PZ/WM109B9WzQz1v0zMqPdfRsxA9P9A9d92n1r1d3Q/VPUTdd9O9Kt3f0T0R3UfQtbeuV3WNp+siXUvo/FvnrDrP07mRzif0N1h/t3Ss1/FRxxR9D7Xv6vPWNpr9rwbIRTpVlflZ5ZusFfnZ6zdsIpzWGqRN/zXKUH/aB9Juhn4gzVK79VanZ9vpb/m/Tp9Fj9pFO5WpR/XsnEOPztxPtUefPsvWEUz9frTlXiaWtLfjFtPbkUd4O0Zn+VCMI+GYf3QkzMttJBxjGwmrXTxr8wOqxt1qLBOkqeBAxlFBluBAzqCCLMOBnEkFWY4DGU8FWYEDOYsK8gEO5GwqyCocyDlUkNU4kHOpIJ/gQCZQQT7DgZxHBVmDA5lIBfkSBzKJCvI1DmQyFeRbHMj5VJC1OJALqCDrcSAXUkE24EAuooL8iAO5mAryMw7kEirIRhzIFCrIbziQS6kgf+BALqOC1OFALmeCbJeHA5lKBWmEA5lGBcnHgUyngmyDA5lBBWmKA5lJBdkeB1JDBWmGA5lFBWmBA6mlguyEA7mCCtISB3IlFWRXHMhVVJDdcCBXU0Ha4ECuoYLsgQO5lgrSFgdyHRWkHQ7keipIBxzIDVQQLw7kRiqIHwdyExUkgAO5mQoSxIHcQgUpwoHcSgWJ4EBuo4JEcSC3U0HiOJA7mCDe9jiQ2VQQDw5kDhXEhwO5kwpSgAO5iwpSiAO5mwoSwoHMpYKEcSD3UEGKcSD3UkFiOJD7qCAJHMj9VJAkDmQeFaQjDuQBKsg+OJAHqSCdcCAPUUE640DmU0EOwIE8TAU5EAfyCBWkGw7kUSpIDxzIY1SQXjiQx6kgB+FAnqCCHIIDeZIKchgO5CkqSF8cyNNUkH44kGeoIP1xIM9SQQbiQJ6jghyFA1lABTkaB/I8FeRYHMgLVJDjcSAvUkFOwIG8ZADZzOxx6yazxzgJniHBMyU4XoJnSfBsCZ4jwXMlOEGC50lwogQnSXCyBM+X4AUSvFCCF0nwYgleIsEpErxUgpdJ8HIJTpXgNAlOl+AMCc6UYI0EZ0mwVoJXSPBKCV4lwasleI0Er5XgdRK8XoI36Gm6nkPrCa6efeqpoZ636UmVnvHo6YieK+iOvO5l6y6w7p/qzqPu2elul+4T6Q6L7k3oql7Xw7qS1DWYrl503q8zZp1r6ixN5zc6M9DfVP010nFcR0AdO/St0/6qT1rbKHezx65ms0e238kzmz3G2sweYy1RBl+23MvEkvZ23Io1ewBtDy9n+VCMZo9XMlcONHs0zM3s8Yqp3wZfdfGszQ/oVdytXmOCIM0er1NBgGaPN6ggQLPHQioI0OwhVBCg2eNNKgjQ7LGICgI0e7xFBQGaPd6mggDNHu9QQYBmj8VUEKDZ410qCNDssYQKAjR7LKWCAM0ey6ggQLPHe1QQoNljORUEaPZ4nwoCNHusoIIAzR4rqSBAs8cHVBCg2eNDKgjQ7LGKCgI0e3zEBEGaPVZTQYBmj4+pIECzxydUEKDZ41MqCNDs8RkVBGj2+JwKAjR7rKGCAM0eX1BBgGaPL6kgQLPHV1QQoNnjayoI0OzxDRUEaPb4lgoCNHt8RwUBmj3WUkGAZo91VBCg2WM9FQRo9vieCgI0e2ygggDNHj9QQYBmjx+pIECzx09UEKDZ42cqCNDs8QsVBGj22MgEQZo9fqWCAM0ev1FBgGaP36kgQLPHH1QQoNnjTyoI0OxRRwXBmT1CDaggOLNHKI8KEsOBNKSCJHAgjaggOLNHqDEVBGf2COVTQXBmj1ATKgjO7BHahgqCM3uEtqWC4MweoaZUEJzZI7QdFQRn9ghtTwXBmT1CO1BBcGaPUDMqCM7sEWpOBcGZPUItqCA4s0doRyoIzuwR2okK0g8HsjMVpD8OpCUVBGf2CO1CBcGZPUK7UkFwZo9QKyoIzuwR2o0KgjN7hFpTQXBmj5AhrWVzs8dtm8wer0vwDQkulKBI8E0JLpLgWxJ8W4LvSHCxBN+V4BIJLpXgMgm+J8HlEnxfgiskuFKCH0jwQwmukuBHElwtwY8l+IkEP5XgZxL8XIJrJPiFBL+U4FcS/FqC30jwWwl+J8G1ElwnwfV6mq7n0HqCq2efemqo5216UqVnPHo6oucKuiOve9m6C6z7p7rzqHt2utul+0S6w6J7E7qq1/WwriR1DaarF53364xZ55o6S9P5jc4M9DdVf410HNcRUMcOfeu0v+qT1jbK3ezRymz2ONDyIHIxe7xmM3u8ZokytLvlXiaWtLfjNqzZA2d7CO2e5UOxmT1Ce2SuHGj2aJST2SO0h6nfhvZ08azND2hP3K3aMkGAZo/QXlQQnNkj1I4KgjN7hNpTQXBmj1AHKgjO7BHyUEFwZo+QlwqCM3uEfFQQnNkj5KeC4MweoQIqCM7sEQpQQXBmj1AhFQRn9ggFqSA4s0coRAXBmT1CRVQQnNkjFKaC4MweoQgVBGf2CBVTQXBmj1CUCoIze4RiVBCc2SMUp4LgzB6hBBUEZ/YIlVBBcGaPUJIJAjR7hEqpIDizR6gjFQRn9gjtTQXBmT1C+1BBcGaP0L5UEJzZI9SJCoIze4T2o4LgzB6hzlQQnNkjtD8VBGf2CB1ABcGZPUJdqCA4s0foQCoIzuwR6koFwZk9Qt2oIDizR6g7FQRn9gj1oILgzB6hnlQQnNkj1IsKgjN7hHpTQXBmj9BBVBCc2SN0MBUEZ/YIHUIFwZk9QodSQXBmj9BhVBCc2SPUhwkCNHuE+lJBcGaP0OFUEJzZI9SPCoIze4SOoILgzB6h/lQQnNkjNIAKAjR7DKSCAM0eR1JBYjiQo6ggCRzIICoI0OxxNBUEaPY4hgoCNHscSwUBmj2Oo4IAzR7HU0GAZo/BVBCg2eMEKgjQ7HEiFQRo9jiJCgI0ewyhggDNHidTQYBmj6FUEKDZYxgVBGj2KKOC9MOBnEIF6Y8DGU4FAZo9TqWCAM0e5VQQoNljBBUEaPY4jQoCNHtUUEGAZo+RBpDNzB6315s9QntJqJ2E2kuog4Q8EvJKyCchv4QKJBSQUKGEghIKSahIQmEJRSRULKGohGISiksoIaESCSUlVCqhjhLaW0L7SGhfCXWS0H4S6iyh/SV0gIS6SOhACXWVUDcJdZdQDwn11NN0PYfWE1w9+9RTQz1v05MqPePR0xE9V9Aded3L1l1g3T/VnUfds9PdLt0n0h0W3ZvQVb2uh3UlqWswXb3ovF9nzDrX1Fmazm90ZqC/qfprpOO4joA6duhbp/1Vn7S2Ue5mj93MZg9LLk0uZo9QW5PZI9TWEmWo0nKvnlnmBd0ONXsgbQ+VWT4Uo9mjKnPlQLNH49zMHlWmfhsa5eJZmx/QKNytTmeCIM0eo6kgQLPHGCoI0OxRTQUBmj3GUkGAZo9xVBCg2eMMKgjQ7HEmFQRo9hhPBQGaPc6iggDNHmdTQYBmj3OoIECzx7lUEKDZYwIVBGj2OI8KAjR7TKSCAM0ek6ggQLPHZCoI0OxxPhUEaPa4gAoCNHtcSAUBmj0uooIAzR4XU0GAZo9LmCBIs8cUKgjQ7HEpFQRo9riMCgI0e1xOBQGaPaZSQYBmj2lUEKDZYzoVBGj2mEEFAZo9ZlJBgGaPGioI0OwxiwoCNHvUUkGAZo8rqCBAs8eVVBCg2eMqKgjQ7HE1FQRo9riGCgI0e1xLBQGaPa6jggDNHtdTQYBmjxuoIECzx41UEKDZ4yYqCNDscTMVBGj2uIUJgjR73EoFAZo9bqOCAM0et1NBgGaPO6ggQLPHbCoI0OwxhwoCNHvcSQUBmj3uooLEcCB3U0ESOJC5VBCg2eMeKgjQ7HEvFQRo9riPCgI0e9xPBQGaPeZRQYBmjweoIECzx4NUEKDZ4yEqCNDsMZ8KAjR7PEwFAZo9HqGCAM0ej1JBgGaPx6ggQLPH41SQfjiQJ6gg/XEgT1JBgGaPp6ggQLPH01QQoNnjGSoI0OzxLBUEaPZ4jgoCNHssMIBsZva4Y5PZY7SExkioWkJjJTROQmdI6EwJjZfQWRI6W0LnSOhcCU2Q0HkSmiihSRKaLKHzJXSBhC6U0EUSulhCl0hoioQuldBlErpcQlMlNE1C0yU0Q0IzJVQjoVkSqpXQFRK6UkJXSehqCV2jp+l6Dq0nuHr2qaeGet6mJ1V6xqOnI3quoDvyupetu8C6f6o7j7pnp7tduk+kOyy6N6Grel0P60pS12C6etF5v86Yda6pszSd3+jMQH9T9ddIx3EdAXXs0LdO+6s+aW2j/2T2MJk1Ts9k1mhe+cRTeqXpcZ1eY7EtPJ9d77wDa9YYheudFpAczBovWCq3mDXyLGaNvNzMGi/MNLG8aGiied0qhgw9rVvVmb3GVg7tPqSiYtId/bv27d2zZtKcQeXVlWVj9F1+sf1mYdZYwsxvI4EPTBe2k8DZNp6Xsnzk5kDPsQZ6ji3Ql128ZOa/YQGaQF6hggBNIK9SQYAmkNeoIEATyOtUEKAJ5A0qCNAEspAKAjSBCBUEaAJ5kwoCNIEsooIATSBvUUGAJpC3qSBAE8g7VBCgCWQxFQRoAnmXCgI0gSyhggBNIEupIEATyDIqCNAE8h4VBGgCWU4FAZpA3qeCAE0gK6ggQBPISioI0ATyARMEaQL5kAoCNIGsooIATSAfUUGAJpDVVBCgCeRjKgjQBPIJFQRoAvmUCgI0gXxGBQGaQD6nggBNIGuoIEATyBdUEKAJ5EsqCNAE8hUVBGgC+ZoKAjSBfEMFAZpAvqWCAE0g31FBgCaQtVQQoAlkHRUEaAJZTwUBmkC+p4IATSAbqCBAE8gPVBCgCeRHKgjQBPITEwRpAvmZCgI0gfxCBQGaQDZSQYAmkF+pIEATyG9UEKAJ5HcqCNAE8gcVBGgC+ZMKEsOB1FFBErBbFTWgguBMIEV5VBCcCaSoIRUEZwIpakQFwZlAihpTQXAmkKJ8KgjOBFLUhAqCM4EUbUMFwZlAiralguBMIEVNqSA4E0jRdlQQnAmkaHsqCM4EUrQDFQRnAilqRgXBmUCKmlNB+uFAWlBB+uNAdqSC4EwgRTtRQXAmkKKdqSA4E0hRSyoIzgRStAsVBGcCKdqVCoIzgRS1MoBs5lqoqTEZMCxXFWVODsrLQfRQZJJqwEQPuYkJCicZxQSFD840QbdxFGhgldWgsMoW6O6uAv3IGuhHtkD3yDJQk+Mjv1SCLW317+mi/mC+BJva6m/r4kEVPiqFL5gufFoKn7UFupeLhiraU1vANNgVtbOMJD0NWxZ/oWyZ369qTFn5sKrKRL+y0SPHVg+pLq+qrKlNKVw8o1Plor3Syu1S5UbTaqWovRR1kCKPFHknze02uryionx4fQ21zWdOmj2gvHJ4RZnxN6Pwqb9vlLV1dX9uuufIURVlUuQzaYayf0CFT+m9Mz2g+ljqL7M8cH/mZ51blP6Zpij9OXTjjJ1Tx5sif02NaWQydfYCR6Ni6CVklIGcXrat/EhFgRz8SPUapxdNQ8xuOlexDXGFLsZiDbRod2ugu9sCDboKdA9roHvYAjWc1m8+TjadleU4WWTI/vmfW9p+kwp0iJ+RxV2NZ8IG+9YM473yS7Nt1xY1/xOuuTO0sXaGNhlaq66ubl2qtf7+4rz6/9SkftiKUsWw7TfOMuIU2S4Lt8/JL1fUxvR29BzkZEq1m7n+o7Osf0bt39+2Zt2mAIpMQ0PYNJ8bZLrqaEP/y+lHvWiGi5G2fmU62bqO+sQ20kZcBXq+NdBPbYEWuwr0Amugn9kCjboK9EJroJ/bAo25CvQia6BrbIHGXQV6sTXQL2yBJlwFeok10C9tgZa4CnSKNdCvbIEmXQV6qTXQr22BlroK9DJroN/YAu3oKtDLrYF+awt0b1eBTrUG+p0t0H1cBTrNGuhaW6D7ugp0ujXQdbZAO7kKdIY10PW2QPdzFehMa6Df2wLt7CrQGmugG2yB7u8q0FnWQH+wBXqAq0BrrYH+aAu0i6tAr7AG+pMt0ANdBXqlNdCfbYF2dRXoVdZAf7EF2s1VoFdbA91oC7S7q0CvsQb6qy3QHq4CvdYa6G+2QHu6CvQ6a6C/2wLt5SrQ662B/mELtLerQG+wBvqnLdCDXAV6ozXQOlugB7sK9CZr+kYDW6CHuAr0ZmugebZAD3UV6C3WQBvaAj3MVaC3WgNtZAu0j6tAb7MG2tgWaF9Xgd5uDTTfFujhrgK9wxpoE1ug/VwFOtsa6Da2QI9wFegca6Db2gLt7yrQO62BGrOrBrgK9C5roNvZAh3oKtC7rYFubwv0SFeBzrUGuoMt0KNcBXqPNdBmtkAHuQr0XmugzW2BHu0q0PusgbawBXqMq0Dvtwa6oy3QY10FOs8a6E62QI9zFegD1kB3tgV6vCXQ9G9uzlnZIKan53ourSe+epaqp5R6/qcna3pmpadBes6iJxh6NqC77rqfrTvFugeru5u6b6g7crrXpbtIuj+jOx+6p6CrdV0H6wpT1266KtL1hs7kdY6ss0+d1+mMSeci+iuvv5/6y6Rjvo6mOk7pCKDvlvZa7Q/a0srwV9/ENGblD86cL9HIlFXRKPv0EGsSYtFg27M0/AFG+p9/zIH++UcR8M8/Tsy2U975v6RT1lifeHtrws2JNbYWNXWgk7LrQHdCv9WK7EAnZfkmGgeLIf/oYJGX22AxxDZYnOziWZsf0Mm4Ww11MeoW7SVFBbaGHMZsSOC3V4vKqCC4b68WnUIFwX17tWg4FQT37dWiU6kguG+vFpVTQXDfXi0aQQXBfXu16DQqCO7bq0UVVBDct1eLRlJBcN9eLaqkguC+vVpURQXBfXu1aBQVBPft1aLTqSC4b68WjaaC4L69WjSGCoL79mpRNRVkAw5kLBUE9+3VonFUENy3V4vOoILgvr1adCYVBPft1aLxVBDct1eLzqKC4L69WnQ2EwT47dWic6gguG+vFp1LBcF9e7VoAhUE9+3VovOoILhvrxZNpILgvr1aNIkKgvv2atFkKgju26tF51NBcN9eLbqACtISB3IhFQT37dWii6gguG+vFl1MBcF9e7XoEioI7turRVOoILhvrxZdSgXBfXu16DIqCO7bq0WXU0Fw314tmkoFwX17tWgaFQT37dWi6VQQ3LdXTfYldyC4b68WzaSC4L69WlRDBcF9e7VoFhUE9+3VoloDyGbJpXdtSi4tk6JTpGi4FJ0qReVSNEKKTtMzez3t1nNiPWHVs0k91dPzMD1J0jMYPb3QfX/dMde9Zt2l1f1N3RnUPTXdjdJ9HN0B0b0DXXXrelVXerpG0tWFzst1RqtzQZ1F6fxDf7n1N09/LXSc1RFK3219K7Q/6ZNQhv+UXGrKGR1qTSUcZksuHWrKk7siuw50Fza5FJhwaAHJIbn0yn80ubRhbsmlV9pyIq9y8azND+gq3K2uZoIgkzuvoYIAkzuvpYIAkzuvo4IAkzuvp4IAkztvoIIAkztvpIIAkztvooIAkztvpoIAkztvoYIAkztvpYIAkztvo4IAkztvp4IAkzvvoIIAkztnU0GAyZ1zqCDA5M47qSDA5M67qCDA5M67qSDA5M65VBBgcuc9VBBgcue9VBBgcud9VBBgcuf9TBBkcuc8KggwufMBKggwufNBKggwufMhKggwuXM+FQSY3PkwFQSY3PkIFQSY3PkoFQSY3PkYFQSY3Pk4FQSY3PkEFQSY3PkkFQSY3PkUFQSY3Pk0FQSY3PkMFQSY3PksFQSY3PkcFQSY3LmACgJM7nyeCgJM7nyBCgJM7nyRCgJM7nyJCgJM7nyZCgJM7nyFCgJM7nzVALJZcufdm5I7r5Gia6XoOim6XopukKIbpegmPbPX0249J9YTVj2b1FM9PQ/TkyQ9g9HTC9331x1z3WvWXVrd39SdQd1T090o3cfRHRDdO9BVt65XdaWnayRdXei8XGe0OhfUWZTOP/SXW3/z9NdCx1kdofTd1rdC+5M+CWX4b8yhoZesWaBX25I7rzYl/L2WXQe6G5vcCUz4s4DkkNz5uqVyzMeb6y/KLbnzdVty5xuGJrJ8LPyN9tl3CUbq5EIXfZuROilUEGDq5JtUEGDq5CIqCDB18i0qCDB18m0qCDB18h0qCDB1cjEVBJg6+S4VBJg6uYQKAkydXEoFAaZOLqOCAFMn36OCAFMnl1NBgKmT71NBgKmTK6ggwNTJlVQQYOrkB1QQYOrkh1QQYOrkKioIMHXyIyoIMHVyNRUEmDr5MRMEmTr5CRUEmDr5KRUEmDr5GRUEmDr5ORUEmDq5hgoCTJ38ggoCTJ38kgoCTJ38igoCTJ38mgoCTJ38hgoCTJ38lgoCTJ38jgoCTJ1cSwUBpk6uo4IAUyfXU0GAqZPfU0GAqZMbqCDA1MkfqCDA1MkfqSDA1MmfqCDA1MmfqSDA1MlfqCDA1MmNVBBg6uSvVBBg6qRh9zWXzLff/9HMtxw+9dy4i+QfYct8++PvL1pbV1c3aW630eUVFeXD65PeapvPnDR7QHnl8Ioy61MwbB1vuufIURVlUvSnKY0yh89f/6H3tgVcl7nhcqu/boaTp72f9WmHG7ioP/8I2fVhW/2GPeu/yLOc369qTFn5sKrKRL+y0SPHVg+pLq+qrKlN5V02uT5VDjdIK+elyo2m1Uq4oYQbSbixhPNdvlThJo6auajOVv82LuoPN9EbZ6q/frxwVH/jA83tv62jbnZrWtfaNq3ccItu1lTC20l4ewnvsBVm5jz2+sdsymPPP8LUGIYd181H+G1SI7y1YzbubBjZbvifQT7cPFVskSrumCrulCrunCq2TBV3SRV3TRVbpYq7pYqtU8U2qeLuxt+v/CNy6k1bJYeHd8wzXdbSdlkr22Vt8nLp6Z5I2i2ap5VbpF1TrD19DwnvKeG2Et5r64lUxpYN72i6ag9TN2+Xy1wvc+U7ma7a0xRiezch7my6qq0pxA5uRs5wu7Ry+7Ryh7TyXtqfPBL2StgnYX8uLdHSdJXH1BIFbh7WLqarvKYQA25C3NV0lc8UYqGj/lSQVg6klQvTyn7tT0EJhyRcJOFwLi3RynRV0NQSETcPazfTVSFTiMVuQmxtuqrIFGLUUX9K/70rTitH08ph7U8xCcclnJBwSS4t0cZ0VczUEklHLZFMK8fTyom0com2RKmEO0p4bwnvk9MEo0/a7UrTyrtvMZXeV8KdJLyfhDtvPknNz3YbIrxv5garSc0O908VD0BOFHNZ9oX3ty17uoAmql0WTswtzgNscR4IivPAv4jTsr4KdzHF2fO5HJ7nFnc9fou7/qudDrTVv8BVf9rXtL7s+ZzpKkuUm726TWpSr+5fLBu3bLFs33PDW5Dabgx3/adXgV0z7l3mbXnfTc+sq63PPJ/tb3htTcZH0MC61dAN2K2eB7V3ty0Gib8E3hLNCtxdr2oZb7Cs3arS8UWtOlYdPu6CVQPvnbDLbcE1LVp/N7bzuI0rq/QN0avalvS5bkH/EfOmdmrRO7Hd4nMXXzSiZOn0KZNDGyYOGt/EW4MD7q7AW193X5+xFdXlA4YOqRgyWou1sybd2b2qckz1kMpqw2771tc2XNTyhLFNbh88NBJo1nN9651rz+/y4tTJXQLhLO7bYLMfnfSBPVXOP2KWhHtIuKeEe/0F1ryeI08uGzasbFj3saPHlXUdNkzBUvfpkVbumVbulX7RTmnlndP3YbYIoreED5LwwdkrLBp3rr+B8aep9wxH87r/sIujm26bT7gOkfChEj5Mwn2y/20JNpai3Uy/LcHWpverr6tfwL62mcrhLuoPNvl3K2Wuv59pqOzsJMptzFEeYYryACdRbmuOsr8pygOdRNnUHOUAU5TdnBzwHK4dzvZeDHRVv/GA50hX9fe31X+Uo0F6YFr5yLTyUVsM0oMkfLSEj5HwsTnkL4QPMc2jB5nudVy2s/+s8wcsVaRN6I93lD8QPk7vbQt4sIv8gfr6B8/ItrW3rcm2tQ8xVPF3y7ct/6lNPZoTUsUTU8WTUsUhtiV8ePC/T4IbZKKBrdpOysttp2Ew8iT3ZCej3kl6Y1eTzhPSyiemN+cW49lQCQ+TsPaAU7L//G/9jPVkE+nJWlHWb1CL1BtkFdYVFZou3E8vzBBOXV3dOuvbtmnbIG0Hc3iqeKptTLS8CMNtl53aPjdfW6Ftl+MNF2/Cpgdiq39hlvVv2nT4m9vWbNoaDA83DQOnmqaIb5iuWmjof1kPfPUv2vBsU91M73qwtQTbmWbcrSX0im0l2s7U6OWucNpbcV614bQ34YxwhdPBivOaDaeDCec0VzgeK87rNhxb7kGFKxyvFecNG44tT2GkKxyfFWehDceW01DpCsdvxREbjt+EU+UKp8CK86YNp8CEM8oVTsCKs8iGEzDhnO4Kp9CK85YNp9CEM9oVTtCK87YNx5bUM8YVTsiK844Nx5YAVO0Kp8iKs9iGY0sWGusKJ2zFedeGEzbhjHOFE7HiLLHhREw4Z7jCKbbiLLXhFJtwznSFE7XiLLPhRE04413hxKw479lwbNlyZ7nCiVtxlttw4iacs13hJKw479twEiacc1zhlFhxVthwSkw457rCSVpxVtpwkiacCa5wSq04H9hwSk0457nC6WjF+dCG09GEM9EVzt5WnFU2nL1NOJNc4exjxfnIhrOPCWeyK5x9rTirbTj7mnDOd4XTyYrzsQ2nkwnnAlc4+1lxPrHh7GfCudAVTmcrzqc2nM4mnItc4exvxfnMhrO/CediVzgHWHE+t+EcYMK5xBVOFyvOGhtOFxPOFFc4B1pxvrDhHGjCudQVTlcrzpc2nK4mnMtc4XSz4nxlw+lmwrncFU53K87XNpzuJpyprnB6WHG+seH0MOFMc4XT04rzrQ2npwlnuiucXlac72w4vUw4zvIKeltx1tpweptwZrrCOciKs86Gc5AJp8YVzsFWnPU2nINNOLNc4RxixfnehnOICafWFc6hVpwNNpxDTThXuMI5zIrzgw3nMBPOla5w+lhxfrTh9DHhXOUKp68V5ycbTl8TztWucA634vxswznchHONK5x+VpxfbDj9TDjXusI5woqz0YZjy/S+zhVOfyvOrzac/iac613hDLDi/GbDGWDCucEVzkArzu82nIEmnBtd4RxpxfnDhnOkCecmVzhHWXH+tOEcZcK52RXOICuOzUYYtP292C2ucI424hQ1sOEcbcK51RXOMVacPBvOMSac21zhHGvFaWjDOdaEc7srnOOsOI1sOMeZcO5whXO8FaexDed4E85sVziDrTj5NpzBJpw5rnBOsOI0seGcYMK50xXOiVacbWw4J5pw7nKFc5IVZ1sbzkkmnLtd4Qyx4jS14Qwx4cx1hXOyFWc7G87JJpx7XOEMteJsb8MZasK51xXOMCvODjacYSac+1zhlFlxmtlwykw497vCOcWK09yGc4oJZ54rnOFWnBY2HNsf6z7gCudUK86ONpxTTTgPusIpt+LsZMMpN+E85ApnhBVnZxvOCBPOfFc4p1lxWtpwTjPhPOwKp8KKs4sNp8KE84grnJFWnF1tOCNNOI+6wqm04rSy4VSacB6z4Pzro1cHV5ZXz1r42MoG/SRcLuEREj5NwhUSHinhSglXSXiUhE+X8GgJj5FwtYTHSnichM+Q8JkSHi/hsyR8toTPkfC5Ep4g4fMkPFHCkyQ8WcLnS/gCCV8o4YskfLGEL5HwFAlfKuHLJHy5hKdKeJqEp0t4hoRn6lm7nk9LvZT6Cj071PM2PaPScx09C9HzA91z131q3dvV/VDdQ9R9N92r0v0d3RPRfQRde+t6Vdd4ui7StYTOv3XOqvM8nRvpfEJ/g/V3S8d6HR91TNH3UPuuPm9to9n/aoBcpFOPZ35W+SZrRX72+g2bCOdkDdKm/3rCUH/aB9Ieg34gzVK79VZPZtvpH/+/Tp9FjzpBO5WpR/UamUOPztxPtUc/aTPTP2nq909Z7mViSXs7Hje9HXmEt+OpLB+KcSR8+h8dCfNyGwmfto2Ez7h41uYH9AzuVs8yQZoKDuQ5KsgSHMgCKsgyHMjzVJDlOJAXqCArcCAvUkE+wIG8RAVZhQN5mQqyGgfyChXkExzIq1SQz3Agr1FB1uBAXqeCfIkDeYMK8jUOZCEV5FsciFBB1uJA3qSCrMeBLKKCbMCBvEUF+REH8jYV5GccyDtUkI04kMVUkN9wIO9SQf7AgSyhgtThQJYyQbbLw4Eso4I0woG8RwXJx4Esp4JsgwN5nwrSFAeyggqyPQ5kJRWkGQ7kAypICxzIh1SQnXAgq6ggLXEgH1FBdsWBrKaC7IYD+ZgK0gYH8gkVZA8cyKdUkLY4kM+oIO1wIJ9TQTrgQNZQQbw4kC+oIH4cyJdUkAAO5CsqSBAH8jUVpAgH8g0VJIID+ZYKEsWBfEcFieNA1jJBvO1xIOuoIB4cyHoqiA8H8j0VpAAHsoEKUogD+YEKEsKB/EgFCeNAfqKCFONAfqaCxHAgv1BBEjiQjVSQJA7kVypIRxzIb1SQfXAgv1NBOuFA/qCCdMaB/EkFOQAHUkcFORB2q0gDKkg3HEgeFaQHDqQhFaQXDqQRFeQgHEhjKsghOJB8KshhOJAmVJC+OJBtqCD9cCDbUkH640CaUkEG4kC2o4IchQPZngpyNA5kByrIsTiQZlSQ43EgzakgJ+BADDlsm5s9nthk9nhOwgsk/LyEX5DwixJ+ScIvS/gVCb8q4dck/LqE35DwQgmLhN+U8CIJvyXhtyX8joQXS/hdCS+R8FIJL5PwexJeLuH3JbxCwisl/IGEP5TwKgl/JOHVEv5Ywp9I+FMJfybhzyW8Rk/T9RxaT3D17FNPDfW8TU+q9IxHT0f0XEF35HUvW3eBdf9Udx51z053u3SfSHdYdG9CV/W6HtaVpK7BdPWi836dMetcU2dpOr/RmYH+puqvkY7jOgLq2KFvnfZXfdLaRrmbPU40mz2qLA8iF7PHszazx7OWKCM7Wu5lYkl7O57Amj1wtofIjlk+FJvZI7JT5sqBZo+GOZk9IjuZ+m1kZxfP2vyAdsbdqiUTBGj2iOxCBcGZPSK7UkFwZo9IKyoIzuwR2Y0KgjN7RFpTQXBmj0gbKgjO7BHZnQqCM3tE9qCC4MwekT2pIDizR6QtFQRn9ojsRQXBmT0i7aggOLNHpD0VBGf2iHSgguDMHhEPFQRn9oh4qSA4s0fERwXBmT0ifioIzuwRKaCC4MwekQAVBGf2iBRSQXBmj0iQCoIze0RCTBCg2SNSRAXBmT0iYSoIzuwRiVBBcGaPSDEVBGf2iESpIDizRyRGBcGZPSJxKgjO7BFJUEFwZo9ICRUEZ/aIJKkgOLNHpJQKgjN7RDpSQXBmj8jeVBCc2SOyDxUEZ/aI7EsFwZk9Ip2oIDizR2Q/KgjO7BHpTAXBmT0i+1NBcGaPyAFUEJzZI9KFCoIze0QOpILgzB6RrlQQnNkj0o0KgjN7RLozQYBmj0gPKgjO7BHpSQXBmT0ivaggOLNHpDcVBGf2iBxEBcGZPSIHU0FwZo/IIVQQnNkjcigVJIYDOYwKksCB9KGC4Mwekb5UEJzZI3I4FQRn9oj0o4LgzB6RI6ggOLNHpD8VBGf2iAygggDNHgOpIECzx5FUEKDZ4ygqCNDsMYgKAjR7HE0FAZo9jqGCAM0ex1JBgGaP46gg/XAgx1NB+uNABlNBgGaPE6ggQLPHiVQQoNnjJCoI0OwxhAoCNHucTAUBmj2GGkA2M3s8WW/2iOwikV0l0koiu0mktUTaSGR3iewhkT0l0lYie0mknUTaS6SDRDwS8UrEJxG/RAokEpBIoUSCEglJpEgiYYlEJFIskahEYhKJSyQhkRKJJCVSKpGOEtlbIvtIZF+JdJLIfnqarufQeoKrZ596aqjnbXpSpWc8ejqi5wq6I6972boLrPunuvOoe3a626X7RLrDonsTuqrX9bCuJHUNpqsXnffrjFnnmjpL0/mNzgz0N1V/jXQc1xFQxw5967S/6pPWNsrd7HGS2exxuuVB5GD2iLQ0mT0iLS1RRoZZ7mViSXs7noSaPZC2h2FZPhSj2aMsc+VAs0ej3MweZaZ+GznFxbM2P6BTcLcazgRBmj1OpYIAzR7lVBCg2WMEFQRo9jiNCgI0e1RQQYBmj5FUEKDZo5IKAjR7VFFBgGaPUVQQoNnjdCoI0OwxmgoCNHuMoYIAzR7VVBCg2WMsFQRo9hhHBQGaPc6gggDNHmdSQYBmj/FUEKDZ4ywqCNDscTYVBGj2OIcKAjR7nEsFAZo9JjBBkGaP86ggQLPHRCoI0OwxiQoCNHtMpoIAzR7nU0GAZo8LqCBAs8eFVBCg2eMiKgjQ7HExFQRo9riECgI0e0yhggDNHpdSQYBmj8uoIECzx+VUEKDZYyoVBGj2mEYFAZo9plNBgGaPGVQQoNljJhUEaPaooYIAzR6zqCBAs0ctFQRo9riCCgI0e1xJBQGaPa5igiDNHldTQYBmj2uoIECzx7VUEKDZ4zoqCNDscT0VBGj2uIEKAjR73EgFAZo9bqKCxHAgN1NBEjiQW6ggQLPHrVQQoNnjNioI0OxxOxUEaPa4gwoCNHvMpoIAzR5zqCBAs8edVBCg2eMuKgjQ7HE3FQRo9phLBQGaPe6hggDNHvdSQYBmj/uoIECzx/1UkH44kHlUkP44kAeoIECzx4NUEKDZ4yEqCNDsMZ8KAjR7PEwFAZo9HqGCAM0ejxpANjN7PLXJ7HGqRMolMkIip0mkQiIjJVIpkSqJjJLI6RIZLZExEqmWyFiJjJPIGRI5UyLjJXKWRM6WyDkSOVciEyRynkQmSmSSRCZL5HyJXCCRCyVykUQulsglEpkikUslcplELpfIVIlMk8h0PU3Xc2g9wdWzTz011PM2PanSMx49HdFzBd2R171s3QXW/VPdedQ9O93t0n0i3WHRvQld1et6WFeSugbT1YvO+3XGrHNNnaXp/EZnBvqbqr9GOo7rCKhjh7512l/1SWsb5W72GGI2e1j+2C0ns8dwm9ljuCXKyGOWe/XK8g/3nsKaPYC2h8eyfChGs8fjmSsHmj0a52b2eNzUbyNPuHjW5gf0BO5WTzJBkGaPp6ggQLPH01QQoNnjGSoI0OzxLBUEaPZ4jgoCNHssoIIAzR7PU0GAZo8XqCBAs8eLVBCg2eMlKgjQ7PEyFQRo9niFCgI0e7xKBQGaPV6jggDNHq9TQYBmjzeoIECzx0IqCNDsIVQQoNnjTSoI0OyxiAoCNHu8RQUBmj3epoIAzR7vMEGQZo/FVBCg2eNdKgjQ7LGECgI0eyylggDNHsuoIECzx3tUEKDZYzkVBGj2eJ8KAjR7rKCCAM0eK6kgQLPHB1QQoNnjQyoI0OyxigoCNHt8RAUBmj1WU0GAZo+PqSBAs8cnVBCg2eNTKgjQ7PEZFQRo9vicCgI0e6yhggDNHl9QQYBmjy+pIECzx1dUEKDZ42smCNLs8Q0VBGj2+JYKAjR7fEcFAZo91lJBgGaPdVQQoNljPRUEaPb4ngoCNHtsoILEcCA/UEESOJAfqSBAs8dPVBCg2eNnKgjQ7PELFQRo9thIBQGaPX6lggDNHr9RQYBmj9+pIECzxx9UEKDZ408qCNDsUUcFwZk9ihtQQXBmj+I8KgjO7FHckAqCM3sUN6KC9MOBNKaC9MeB5FNBcGaP4iZUEJzZo3gbKgjO7FG8LRUEZ/YobkoFwZk9irejguDMHsWGrMLNzR5PbzJ7PCWRpyXyjESelchzElkgkecl8oJEXpTISxJ5WSKvSORVibwmkdcl8oZEFkpEJPKmRBZJ5C2JvC2RdySyWCLvSmSJRJZKZJlE3pPIcom8L5EVElkpkQ8k8qFEVknkI4mslsjHEvlET9P1HFpPcPXsU08N9bxNT6r0jEdPR/RcQXfkdS9bd4F1/1R3HnXPTne7dJ9Id1h0b0JX9boe1pWkrsF09aLzfp0x61xTZ2k6v9GZgf6m6q+RjuM6AurYoW+d9ld90tpG/8nsYTJrPJnJrNG88omn9ErT1PjJGkOtxTtk1zufxpo1cLYFE0j2Zo3iZpbKLWaNPItZIy8ns0Zxs5kmluaGJprXrWLI0NO6VZ3Za2zl0O5DKiom3dG/a9/ePWsmzRlUXl1ZNmaM3qf9ZmHWWMLML5WigOnC/ST0ko2nRZaP3Bpo6GVroC/bAt3RxUtm/hsWnAmkeCcqCM4EUrwzFQRnAiluSQXBmUCKd6GC4EwgxbtSQXAmkOJWVBCcCaR4NyoIzgRS3JoKgjOBFLehguBMIMW7U0FwJpDiPaggOBNI8Z5UEJwJpLgtFQRnAineiwqCM4EUt6OC4Ewgxe2pIDgTSHEHKgjOBFLsoYLgTCDFXioIzgRS7KOC4EwgxX4qCM4EUlxABcGZQIoDTBCgCaS4kAqCM4EUB6kgOBNIcYgKgjOBFBdRQXAmkOIwFQRnAimOUEFwJpDiYioIzgRSHKWC4EwgxTEqCM4EUhynguBMIMUJKgjOBFJcQgXBmUCKk1QQnAmkuJQKgjOBFHekguBMIMV7U0FwJpDifaggOBNI8b5UEJwJpLgTFQRnAinejwqCM4EUd6aC4EwgxftTQXAmkOIDqCA4E0hxFyoIzgRSfCATBGgCKe5KBcGZQIq7UUFwJpDi7lQQnAmkuAcVBGcCKe5JBcGZQIp7UUFwJpDi3lQQnAmk+CAqSAwHcjAVJIEDOYQKgjOBFB9KBcGZQIoPo4LgTCDFfaggOBNIcV8qCM4EUnw4FQRnAinuRwXBmUCKj6CC4Ewgxf2pIDgTSPEAKgjOBFI8kAoCNIEcSQUBmkCOooIATSCDqCBAE8jRVJB+OJBjqCD9cSDHUkGAJpDjqCBAE8jxVBCgCWQwFQRoAjmBCgI0gZxIBQGaQE4ygGzmWqipMRkwLFcVD8kcYS6iB5NUAyZ6yE1MUPSGUUxQ9PtME/RQV4EGrYEGbYEOcxVoyBpoyBZoWZaBmhwf+UdIeLCt/lNc1B8+XMIDbPUPd/GgwvpvM9OF20i4qS3QU100VPEp2gKmwa643DKS9BpjiHJrZcv8flVjysqHVVUm+pWNHjm2ekh1eVVlTW1K4eIZnaZzOTWtXJ4qN5pWK8UjpPg0Ka6Q4pGT5nYbXV5RUT68voba5jMnzR5QXjm8osz4mxFu8veNsrau7s9N9xw5qqJMiitNmqEcenITvXemB1QfS/1llgdelflZ5xZl1UxTlFU5dOOMnVPHm+KqmhrTyGTq7KMcjYrFLZBRnp7Ty7a1H+n0HPxI9Rqn5qYhZojOVWxD3GgnY7EGOswa6DBboGNcBVpmDbTMFmi1IdDNxsmms7IcJ4tHGKr4f7e0/SaN0iF+RhZ3NQZq+EOWGcZ75R+Rbbu2qPmfcM2dYai1MwzN0Fp1dXXrUq319xfn1f+nJvXDNjZVHGf7jbOMOGNtl41rn5tfbqjp7eh1iZMp1RBz/VOyXZbW/v1ta9ZtCmCsaWgYZ5rPXWK6aoqh/+X0oz52houRtn4dtdC6jorYRtozXAUq1kCLbYGe6SrQN62BRm2BjncV6CJroDFboGe5CvQta6BxW6Bnuwr0bWugCVug57gK9B1roCW2QM91Fehia6BJW6ATXAX6rjXQUlug57kKdIk10I62QCe6CnSpNdC9bYFOchXoMmug+9gCnewq0Pesge5rC/R8V4EutwbayRboBa4Cfd8a6H62QC90FegKa6CdbYFe5CrQldZA97cFerGrQD+wBnqALdBLXAX6oTXQLrZAp7gKdJU10ANtgV7qKtCPrIF2tQV6matAV1sD7WYL9HJXgX5sDbS7LdCprgL9xBpoD1ug01wF+qk10J62QKe7CvQza6C9bIE62yn53Bpob1ugM10FusYa6EG2QGtcBfqFNdCDbYHOchXol9ZAD7EFWusq0K+sgR5qC/QKV4F+bQ30MFugV7oK9BtroH1sgV7lKtBvrYH2tQV6tatAv7MGergt0GtcBbrWGmg/W6DXugp0nTXQI2yBXucq0PXWQPvbAr3eVaDfWwM1Zlfd4CrQDdZAB9oCvdFVoD9YAz3SFuhNrgL90RroUbZAb3YV6E/WQAfZAr3FVaA/WwM92hbora4C/cUa6DG2QG9zFehGa6DH2gK93VWgv1oDPc4W6B2uAv3NGujxtkBnWwJN/+bmsysbxPT0XM+l9cRXz1L1lFLP//RkTc+s9DRIz1n0BEPPBnTXXfezdadY92B1d1P3DXVHTve6dBdJ92d050P3FHS1rutgXWHq2k1XRbre0Jm8zpF19qnzOp0x6VxEf+X191N/mXTM19FUxykdAfTd0l6r/UFbWhn+6puYxqz8OZkXjY1MWRWNsk8PMSchzrE9yzsN9af9+cez0D//sNRuvdVd2XbK5/6XdMoa6xMfYU24uavG1qKmDnR3dh3oOei3WpEd6O4s30TjYDH3Hx0s8nIbLObaBot7XDxr8wO6B3ere12MusWnSvEoW0Pex2xI5LdX76eCAL+9Oo8KAvz26gNUEOC3Vx+kggC/vfoQFQT47dX5VBDgt1cfpoIAv736CBUE+O3VR6kgwG+vPkYFAX579XEqCPDbq09QQYDfXn2SCgL89upTVBDgt1efpoIAv736DBVkAw7kWSoI8Nurz1FBgN9eXUAFAX579XkqCPDbqy9QQYDfXn2RCgL89upLTBDkt1dfpoIAv736ChUE+O3VV6kgwG+vvkYFAX579XUqCPDbq29QQYDfXl1IBQF+e1WoIMBvr75JBWmJA1lEBQF+e/UtKgjw26tvU0GA3159hwoC/PbqYioI8Nur71JBgN9eXUIFAX57dSkVBPjt1WVUEOC3V9+jggC/vbqcCgL89ur7VBDgt1dXUEGA315dSQUBfnv1AyoI8NurHxpANksuXbApufR+KZ4nxQ9I8YNS/JAUz5fih/XMXk+79ZxYT1j1bFJP9fQ8TE+S9AxGTy903193zHWvWXdpdX9TdwZ1T013o3QfR3dAdO9AV926XtWVnq6RdHWh83Kd0epcUGdROv/QX279zdNfCx1ndYTSd1vfCu1P+iSU4T8ll5pyRu+1phLeZ0suvdeUJ7cquw60AJtcCkw4tIDkkFz60T+aXNowt+TSj2w5katdPGvzAwIm5XzMBEEmd35CBQEmd35KBQEmd35GBQEmd35OBQEmd66hggCTO7+gggCTO7+kggB/R76iggCTO7+mggCTO7+hggCTO7+lggCTO7+jggCTO9dSQYDJneuoIMDkzvVUEGBy5/dUEGBy5wYqCDC58wcqCDC580cqCDC58ycqCDC582cqCDC58xcqCDC5cyMTBJnc+SsVBJjc+RsVBJjc+TsVBJjc+QcVBJjc+ScVBJjcWUcFwSV3RhtQQXDJndE8KgguuTPakAqCS+6MNqKC4JI7o42pILjkzmg+FQSX3BltQgXBJXdGt6GC4JI7o9tSQXDJndGmVBBccmd0OyoILrkzuj0VBJfcGd2BCoJL7ow2o4LgkjujzakguOTOaAsqCC65M7ojFQSX3BndiQqCS+6M7mwA2Sy58/lNyZ2fSPGnUvyZFH8uxWuk+Asp/lLP7PW0W8+J9YRVzyb1VE/Pw/QkSc9g9PRC9/11x1z3mnWXVvc3dWdQ99R0N0r3cXQHRPcOdNWt61Vd6ekaSVcXOi/XGa3OBXUWpfMP/eXW3zz9tdBxVkcofbf1rdD+pE9CGf4rc2gLaxbox7bkzo8tCX/Rltl1oOexyZ24RA0TSPbJndFdLJVjPt5cf1FOyZ3RXUzJnVHDYtXysfDoru2z7xKE1MloKxd9m5A6Gd2NCoJLnYy2poLgUiejbagguNTJ6O5UEFzqZHQPKggudTK6JxUE+IvclgqCS52M7kUFwaVORttRQXCpk9H2VBBc6mS0AxUElzoZ9VBBcKmTUS8VBJc6GfVRQXCpk1E/FQSXOhktoILgUiejASoILnUyWkgFwaVORoNUEFzqZDREBcGlTkaLqCC41MlomAkCTJ2MRqgguNTJaDEVBJc6GY1SQXCpk9EYFQSXOhmNU0FwqZPRBBUEmDpZQgUBpk4mqSDA1MlSKggwdbIjFQSYOrk3FQSYOrkPFQSYOrkvFQSYOtmJCgJMndyPCgJMnexMBQGmTu5PBQGmTh5ABQGmTnahggBTJw+kggBTJ7tSQYCpk92oIMDUye5UEGDqZA8qCDB1sqcBJIfMt17/aOZbDp96btxL8kfaMt96//1Fa+vq6ibN7Ta6vKKifHh90ltt85mTZg8orxxeUWZ9Cr0zI26658hRFWUSPciURpl9m0R7671tAR+cueFyq//gGU6edjfz0z7ERf35I6XNjbb6DzXUv3We5fx+VWPKyodVVSb6lY0eObZ6SHV5VWVNbSrvssn1aTmYh6SVD02VG02rlehhEu0j0b4SPdzpS9XPUTNHD7bVf4SL+qP99MaZ6q8fLxzV37i3uf37O+pmt6Z1rf5p5cO26GYDJDpQokdK9KitMDPnsdc/ZlMee/5IU2MMMjTGZiP8NqkR3toxG3c3jGw3pAb5o1PFY1LFY1PF41LF41PFwaniCaniianiSanikFTx5FRxaKo4zPj7lT8yp960dXL4sXmmywbbLjvJdtnQvFx6uieSdouj08rHpF1TrD1d2/EUiQ6X6KlbT6Qytmz0WNNVZaZuXp7LXC9z5ceZrjrFFOIINyEeb7pquCnE09yMnNHytPKItPJpaeVTtT9VSFTHv0qJVuXSEoNNV1WYWmKUm4d1gukq28h+upsQTzRdVWkKcbSj/jQqrXx6Wnl0WrlK+5P+r2qJjpXouFxa4iTTVWNMLXGGm4c1xHRVtSnEM92EeLLpqrGmEMc76k9npJXPTCuPTyuP0/50lkTPlug5Ej03l5YYarrqLFNLTHDUEhPSymenlc9JK5+rLXGeRCdKdJJEJ+c0weiTdrvz0srDtphKny/RCyR6oUQv2nySmp/1NsT5mRusJjU7vDhVvAQ5Ucxp2XexbdkzJacusfWcccrCibnFeYktzktBcV76F3Ga1ldTTHH2Wp/D89zirsdvcdd/tdOltvq/d9WfzjetL3utN11liXKzV7dJTerV/Ytl45Ytlu17bngL0rYbL/unV4GXZdy7zNvyvpue2WW2PrMh29/w2pqMj6CBdavhcmC32gBq78u3GCT+EnhLNCvwVL2qZbzBsnarSscXtepYdfi4C1YNvHfCLrcF17Ro/d3YzuM2rqzSN0SvalvS57oF/UfMm9qpRe/EdovPXXzRiJKl06dMDm2YOGh8E28NDniqAm993X19xlZUlw8YOqRiyGgt1s6adGf3qsox1UMqqw277Vtf23BRyxPGNrl98NBIoFnP9a13rj2/y4tTJ3cJhLO4b4PNfnTSB/ZUOX/kLIlOk+h0ic74C6x5PUeeXDZsWNmw7mNHjyvrOmyYgqXuMy2tPD2tPCP9ouPSysen78NsEcRMidZIdFb2CovG3etvYPxpmjnD0bzuP+zi6Kbb5hMu/fcKiV4p0auy/20J95XiIabflvDJpvfrale/gFfbZirXuKg/3O/frZS5/mtNQ6WTeWf4CHOU15mirHISZX9zlNebojzdSZQDzFHeYIpyjJMDnmu0w9neixtd1X+drf6bXNV/va3+mx0N0jemlW9KK9+8xSB9i0RvlehtEr09l/yFWtM8+hbTve7Idvafff6AoYq0Cf1sV/kDd+i9bQHPcZI/oPXPmZFta29bk21r1xqq+Lvl25b/1KYezZ2p4l2p4t2p4lzbEj46598nwQ0y0cBWbXfn5bbTMAd5knuPk1Hvbr2xq0nnnWnlu9Kbc4vx7F6J3ifR+yU6L/vP/9bPWO8xkd6jFWX9BrVIvUFmYd1o04WD9MIM4dTV1a2zvm2btg3SdjAfSBUftI2JlhfhAdtlD7bP7WO8o227HL+7eBM2PRBb/X9kWf+mTYe/uW3Npq3B6AOmYeBB0xTxd9NVfxj6X9YDX/2L9kC2qW6mdz18soTLTTPuk6V4J9tKtNzU6A+5whlhxdnZhjPChDPfFc5pVpyWNpzTTDgPu8KpsOLsYsOx5R484gpnpBVnVxuObd7yqCucSitOKxuOLafhMVc4VVac3Ww4VSacx13hjLLitLbhjDLhPOEK53QrThsbzukmnCdd4Yy24uxuwxltwnnKFc4YK84eNhxbUs/TrnCqrTh72nBsCUDPuMIZa8Vpa8OxJQs96wpnnBVnLxvOOBPOc65wzrDitLPhnGHCWeAK50wrTnsbzpkmnOdd4Yy34nSw4Yw34bzgCucsK47HhmPLlnvRFc7ZVhyvDedsE85LrnDOseL4bDjnmHBedoVzrhXHb8M514TziiucCVacAhvOBBPOq65wzrPiBGw455lwXnOFM9GKU2jDmWjCed0VziQrTtCGM8mE84YrnMlWnJANZ7IJZ6ErnPOtOEU2nPNNOOIK5wIrTtiGc4EJ501XOBdacSI2nAtNOItc4VxkxSm24VxkwnnLFc7FVpyoDediE87brnAuseLEbDiXmHDecYUzxYoTt+FMMeEsdoVzqRUnYcO51ITzriucy6w4JTacy0w4S1zhXG7FSdpwLjfhLHWFM9WKU2rDmWrCWeYKZ5oVp6MNZ5oJ5z1XONOtOHvbcKabcJa7wplhxdnHhjPDhPO+K5yZVpx9bTi2TNIVrnBqrDidbDi29OWVrnBmWXH2s+HYMmU/cIVTa8XpbMOpNeF86ArnCivO/jacK0w4q1zhXGnFOcCGc6UJ5yNXOFdZcbrYcK4y4ax2hXO1FedAG87VJpyPXeFcY8XpasO5xoTziSuca6043Ww415pwPnWFc50Vp7sN5zoTzmeucK634vSw4VxvwvncFc4NVpyeNpwbTDhrXOHcaMXpZcO50YTzhSucm6w4vW04N5lwvnSFc7MV5yAbzs0mnK9c4dxixbHZCMO2vxf72hXOrVacQ2w4t5pwvnGFc5sV51Abzm0mnG9d4dxuxTnMhnO7Cec7Vzh3WHH62HDuMOGsdYUz24rT14Yz24SzzhXOHCvO4TacOSac9a5w7rTi9LPh3GnC+d4Vzl1WnCNsOHeZcDa4wrnbitPfhnO3CecHVzhzrTgDbDhzTTg/usK5x4oz0IZzjwnnJ1c491pxjrTh3GvC+dkVzn1WnKNsOPeZcH5xhXO/FWeQDed+E85GVzjzrDhH23DmmXB+dYXzgBXnGBuO7Y91f3OF86AV51gbzoMmnN9d4TxkxTnOhvOQCecPVzjzrTjH23Dmm3D+dIXzsBVnsA3nYRNOnSucR6w4J9hwHrHgxBq4wnnUinOiDedRE06eK5zHrDgn2XAeM+E0tOD866NXB1eWV89a+NbKBv0k+pBE50v0YYk+ItFHJfqYRB+X6BMSfVKiT0n0aYk+I9FnJfqcRBdI9HmJviDRFyX6kkRflugrEn1Voq9J9HWJviHRhRIVib4p0UUSfUuib0v0HYkului7El0i0aUSXSbR9yS6XKLvS3SFnrXr+bSe6eo5qJ4d6nmbnlHpuY6ehej5ge656z617u3qfqjuIeq+m+5V6f6O7onoPoKuvXW9qms8XRfpWkLn3zpn1Xmezo10PqG/wfq7pWO9jo86puh7qH1Xn7e20ex/NUAO0qlYo8zPKt9krcjPXr9hE+Hco0GakjZijQ31p30g7S3oB9IstVtvlZ9tp3/7/zp9Fj3qTu1Uph7VOxehXuYfUO3R+bNsHcHU75tY7mViSXs73ja9HXmEt6NJlg/FOBJu84+OhHm5jYTb2EbCbV08a/MD2hZ3q6ZMkKaCA9mOCrIEB7I9FWQZDmQHKshyHEgzKsgKHEhzKsgHOJAWVJBVOJAdqSCrcSA7UUE+wYHsTAX5DAfSkgqyBgeyCxXkSxzIrlSQr3Egragg3+JAdqOCrMWBtKaCrMeBtKGCbMCB7E4F+REHsgcV5GccyJ5UkI04kLZUkN9wIHtRQf7AgbSjgtThQNozQbbLw4F0oII0woF4qCD5OBAvFWQbHIiPCtIUB+KngmyPAymggjTDgQSoIC1wIIVUkJ1wIEEqSEscSIgKsisOpIgKshsOJEwFaYMDiVBB9sCBFFNB2uJAolSQdjiQGBWkAw4kTgXx4kASVBA/DqSEChLAgSSpIEEcSCkVpAgH0pEKEsGB7E0FieJA9qGCxHEg+zJBvO1xIJ2oIB4cyH5UEB8OpDMVpAAHsj8VpBAHcgAVJIQD6UIFCeNADqSCFONAulJBYjiQblSQBA6kOxUkiQPpQQXpiAPpSQXZBwfSiwrSCQfSmwrSGQdyEBXkABzIwVSQA3Egh1BBuuFADqWC9MCBHEYF6YUD6UMFOQgH0pcKcggO5HAqyGE4kH5UkL44kCOoIP1wIP2pIP1xIAOoIANxIAOpIEfhQI6kghyNAzmKCnIsDmQQFeR4HMjRVJATcCDHGEA2M3u8U2/2iG0nse0ltoPEmkmsucRaSGxHie0ksZ0l1lJiu0hsV4m1kthuEmstsTYS211ie0hsT4m1ldheEmsnsfYS6yAxj8S8EvNJzC+xAokFJFYosaDEQhIrklhYYhGJFUssKrGYxOJ6mq7n0HqCq2efemqo5216UqVnPHo6oucKuiOve9m6C6z7p7rzqHt2utul+0S6w6J7E7qq1/WwriR1DaarF53364xZ55o6S9P5jc4M9DdVf410HNcRUMcOfeu0v+qT1jbK3exxl9nscbPlQeRi9mhqM3s0tUQZO9ZyLxNL2tvxDtbsAbQ9HJvlQzGaPY7LXDnQ7NEwN7PHcaZ+GzvexbM2PyDgkD6YCYI0e5xABQGaPU6kggDNHidRQYBmjyFUEKDZ42QqCNDsMZQKAjR7DKOCAM0eZVQQoNnjFCoI0OwxnAoCNHucSgUBmj3KqSBAs8cIKgjQ7HEaFQRo9qigggDNHiOpIECzRyUVBGj2qKKCAM0eo6ggQLPH6VQQoNljNBUEaPYYQwUBmj2qmSBIs8dYKgjQ7DGOCgI0e5xBBQGaPc6kggDNHuOpIECzx1lUEKDZ42wqCNDscQ4VBGj2OJcKAjR7TKCCAM0e51FBgGaPiVQQoNljEhUEaPaYTAUBmj3Op4IAzR4XUEGAZo8LqSBAs8dFVBCg2eNiKgjQ7HEJFQRo9phCBQGaPS6lggDNHpdRQYBmj8upIECzx1QmCNLsMY0KAjR7TKeCAM0eM6ggQLPHTCoI0OxRQwUBmj1mUUGAZo9aKgjQ7HEFFSSGA7mSCpLAgVxFBQGaPa6mggDNHtdQQYBmj2upIECzx3VUEKDZ43oqCNDscQMVBGj2uJEKAjR73EQFAZo9bqaCAM0et1BBgGaPW6kgQLPHbVQQoNnjdioI0OxxBxWkHw5kNhWkPw5kDhUEaPa4kwoCNHvcRQUBmj3upoIAzR5zqSDAPwO/hwoCNHvcawDZzOyxeJPZ4wSJnSixkyQ2RGInS2yoxIZJrExip0hsuMROlVi5xEZI7DSJVUhspMQqJVYlsVESO11ioyU2RmLVEhsrsXESO0NiZ0psvMTOktjZEjtHYudKbILEzpPYRIlNkthkiZ0vsQskdqGepus5tJ7g6tmnnhrqeZueVOkZj56O6LmC7sjrXrbuAuv+qe486p6d7nbpPpHusOjehK7qdT2sK0ldg+nqRef9OmPWuabO0nR+ozMD/U3VXyMdx3UE1LFD3zrtr/qktY1yN3vcbTZ7WOaKOZk9BtvMHoMtUcbus9yrd5bz3sVYswfwNb8vy4diNHvcn7lyoNmjUW5mj/tN/TY2z8WzNj+gebhbPcAEQZo9HqSCAM0eD1FBgGaP+VQQoNnjYSoI0OzxCBUEaPZ4lAoCNHs8RgUBmj0ep4IAzR5PUEGAZo8nqSBAs8dTVBCg2eNpKgjQ7PEMFQRo9niWCgI0ezxHBQGaPRZQQYBmj+epIECzxwtUEKDZ40UqCNDs8RIVBGj2eJkKAjR7vEIFAZo9XmWCIM0er1FBgGaP16kgQLPHG1QQoNljIRUEaPYQKgjQ7PEmFQRo9lhEBQGaPd6iggDNHm9TQYBmj3eoIECzx2IqCNDs8S4VBGj2WEIFAZo9llJBgGaPZVQQoNnjPSoI0OyxnAoCNHu8TwUBmj1WUEGAZo+VVBCg2eMDKgjQ7PEhFQRo9lhFBQGaPT6iggDNHquZIEizx8dUEKDZ4xMqCNDs8SkVBGj2+IwKAjR7fE4FAZo91lBBgGaPL6ggQLPHl1SQGA7kKypIAgfyNRUEaPb4hgoCNHt8SwUBmj2+o4IAzR5rqSBAs8c6KgjQ7LGeCgI0e3xPBQGaPTZQQYBmjx+oIECzx49UEKDZ4ycqCNDs8TMVBGj2+IUKAjR7bKSC9MOB/EoF6Y8D+Y0KAjR7/E4FAZo9/qCCAM0ef1JBgGaPOioI7k/+4w2oIDizR9yQQry52ePdTWaPByX2kMTmS+xhiT0isUcl9pjEHpfYExJ7UmJPSexpiT0jsWcl9pzEFkjseYm9ILEXJfaSxF6W2CsSe1Vir0nsdYm9IbGFEhOJvSmxRRJ7S2JvS+wdiS2W2LsSWyKxpRJbJrH3JLZcT9P1HFpPcPXsU08N9bxNT6r0jEdPR/RcQXfkdS9bd4F1/1R3HnXPTne7dJ9Id1h0b0JX9boe1pWkrsF09aLzfp0x61xTZ2k6v9GZgf6m6q+RjuM6AurYoW+d9ld90tpGuZs95prNHhbnWE5mjwdsZo8HLFHGG1ru1TtLf9q7WLPHPNzb0TDLh2Ize8QbZa4caPZonJPZI97I1G/jjV08a/MDaoy7VT4TBGj2iDehguDMHvFtqCA4s0d8WyoIzuwRb0oFwZk94ttRQXBmj/j2VBCc2SO+AxUEZ/aIN6OC4Mwe8eZUEJzZI96CCoIze8R3pILgzB7xnaggOLNHfGcqCM7sEW9JBcGZPeK7UEFwZo/4rlQQnNkj3ooKgjN7xHejguDMHvHWVBCc2SPehgqCM3vEd6eC4Mwe8T2oIDizR3xPJgjQ7BFvSwXBmT3ie1FBcGaPeDsqCM7sEW9PBcGZPeIdqCA4s0fcQwXBmT3iXioIzuwR91FBcGaPuJ8KgjN7xAuoIDizRzxABcGZPeKFVBCc2SMepILgzB7xEBUEZ/aIF1FBcGaPeJgKgjN7xCNUEJzZI15MBcGZPeJRKgjO7BGPUUFwZo94nAqCM3vEE1QQnNkjXkIFwZk94kkqCM7sES9lggDNHvGOVBCc2SO+NxUEZ/aI70MFwZk94vtSQXBmj3gnKgjO7BHfjwqCM3vEO1NBcGaP+P5UkBgO5AAqSAIH0oUKgjN7xA+kguDMHvGuVBCc2SPejQqCM3vEu1NBcGaPeA8qCM7sEe9JBcGZPeK9qCA4s0e8NxUEZ/aIH0QFwZk94gdTQXBmj/ghVBCc2SN+KBUEZ/aIH0YFwZk94n2oIP1wIH2pIP1xIIdTQXBmj3g/KgjO7BE/ggqCM3vE+1NBcGaP+AAqCNDsMZAKAjR7HGkA2czssaTe7BFvIvFtJL6txJtKfDuJby/xHSTeTOLNJd5C4jtKfCeJ7yzxlhLfReK7SryVxHeTeGuJt5H47hLfQ+J7SrytxPeSeDuJt5d4B4l7JO6VuE/ifokXSDwg8UKJByUekniRxMMSj+hpup5D6wmunn3qqaGet+lJlZ7x6OmInivojrzuZesusO6f6s6j7tnpbpfuE+kOi+5N6Kpe18O6ktQ1mK5edN6vM2ada+osTec3OjPQ31T9NdJxXEdAHTv0rdP+qk9a2+g/mT0sZo14fiazRvPKJ57SK02PK7/GYls4KrveuQRq1kDaFiwgOZg1Blkqt5g18ixmjbzczBqDZppYDD8zk+Z1qxgy9LRuVWf2Gls5tPuQiopJd/Tv2rd3z5pJcwaVV1eWjRmj92m/WZg1ljDzj5Di000XDpLiFjaeY7J85OZAd7QGuqMt0GNdvGTmv2EBmkCOo4IATSDHU0GAJpDBVBCgCeQEKgjQBHIiFQRoAjmJCgI0gQyhggBNICdTQYAmkKFUEKAJZBgVBGgCKaOCAE0gp1BBgCaQ4VQQoAnkVCoI0ARSTgUBmkBGUEGAJpDTqCBAE0gFFQRoAhlJBQGaQCqpIEATSBUVBGgCGUUFAZpATmeCIE0go6kgQBPIGCoI0ARSTQUBmkDGUkGAJpBxVBCgCeQMKgjQBHImFQRoAhlPBQGaQM6iggBNIGdTQYAmkHOoIEATyLlUEKAJZAIVBGgCOY8KAjSBTKSCAE0gk6ggQBPIZCoI0ARyPhUEaAK5gAoCNIFcSAUBmkAuooIATSAXU0GAJpBLqCBAE8gUKgjQBHIpEwRpArmMCgI0gVxOBQGaQKZSQYAmkGlUEKAJZDoVBGgCmUEFAZpAZlJBgCaQGipIDAcyiwqSwIHUUkGAJpArqCBAE8iVVBCgCeQqKgjQBHI1FQRoArmGCgI0gVxLBQGaQK6jggBNINdTQYAmkBuoIEATyI1UEKAJ5CYqCNAEcjMVBGgCuYUKAjSB3EoF6YcDuY0K0h8HcjsVBGgCuYMKAjSBzKaCAE0gc6ggQBPInVQQoAnkLioI0ARytwFkM9dCTY3JgGG5Kj43c4S5iB5MUg2Y6CE3MUF0V6OYINprpgn6XkeBFo+xGhTG2AK9z1Wg1dZAq22B3p9loCbHR/5Iic6x1T/PRf3RayR6g63+B1w8qOihEh1kulDfkQG2QB900VDxedoCpsEu/pBlJOltmR9urWyZ369qTFn5sKrKRL+y0SPHVg+pLq+qrKlNKVw8o9N0Lg+mlR9KlRtNq5X4fIk/LPFHJP7opLndRpdXVJQPr6+htvnMSbMHlFcOrygz/mZE+/19o6ytq/tz0z1Hjqook/hjJs1QDj25n9470wOqj6X+MssDfzzzs84tysdnmqJ8PIdunLFz6ngTf7ymxjQymTr7E45GxfgxyCifzOll29qP9GQOfqR6jdPRpiFmrs5VbEPcU07GYg30Pmug99kCfdpVoPdbA73fFugzhkA3GyebzspynIzPN1Tx/25p+016Qof4GVnc1Riowb41w3iv/JHZtmuLmv8J19wZ7rV2hnsztFZdXd26VGv9/cV59f+pSf2wPZsqPmf7jbOMOM/aLnuufW5+uXtNb0fvXH6LMta/6YHY6s/2V2ZG7d/ftmbdpgCeNQ0Nz5nmc4+brnrC0P9y+lF/doaLkbZ+ZdrKuo46wzbSLnAV6G7WQM+0Bfq8q0BbWwMdbwv0BVeBtrEGepYt0BddBbq7NdCzbYG+5CrQPayBnmML9GVXge5pDfRcW6CvuAq0rTXQCbZAX3UV6F7WQM+zBfqaq0DbWQOdaAv0dVeBtrcGOskW6BuuAu1gDXSyLdCFrgL1WAM93xaouArUaw30Alugb7oK1GcN9EJboItcBeq3BnqRLdC3XAVaYA30Ylugb7sKNGAN9BJboO+4CrTQGugUW6CLXQUatAZ6qS3Qd10FGrIGepkt0CWuAi2yBnq5LdClrgINWwOdagt0matAI9ZAp9kCfc9VoMXWQKfbAl3uKtCoNdAZtkDfdxVozBroTFugK1wFGrcGWmMLdKWrQBPWQGfZAv3AVaAl1kBrbYF+6CrQpDXQK2yBrnIVaKk10CttgX7kKtCO1kCvsgW62lWge1sDvdoW6MeuAt3HGug1tkA/cRXovtZAr7UF+qmrQDtZA73OFuhnrgLdzxro9bZAP3cVaGdroMbsqjWuAt3fGuiNtkC/cBXoAdZAb7IF+qWrQLtYA73ZFuhXrgI90BroLbZAv3YVaFdroLfaAv3GVaDdrIHeZgv0W1eBdrcGerst0O9cBdrDGugdtkDXugq0pzXQ2bZA11kCTf/m5rKVDWJ6eq7n0nriq2epekqp5396sqZnVnoapOcseoKhZwO666772bpTrHuwurup+4a6I6d7XbqLpPszuvOhewq6Wtd1sK4wde2mqyJdb+hMXufIOvvUeZ3OmHQuor/y+vupv0w65utoquOUjgD6bmmv1f6gLa0Mf/VNTGNW/vrM+RKNTFkVjbJPDzEnIa63PcvvDfWn/fnHMuiff1hqt95qQ7ad8r3/JZ2yxvrE51sTbjbU2FrU1IF+yK4DvYf9ViuwA/2Q5ZtoHCx+/EcHi7zcBosfbYPFTy6etfkB/YS71c8uRt34gxJ/wtaQvzAbEvnt1Y1UEOC3V3+lggC/vfobFQT47dXfqSDAb6/+QQUBfnv1TyoI8NurdVQQ3LdXEw2oILhvrybyqCC4b68mGlJBcN9eTTSiguC+vZpoTAXBfXs1kU8FwX17NdGECoL79mpiGyoI7turiW2pIBtwIE2pILhvrya2o4Lgvr2a2J4Kgvv2amIHKgju26uJZlQQ3LdXE82pILhvryZaMEGA315N7EgFwX17NbETFQT37dXEzlQQ3LdXEy2pILhvryZ2oYLgvr2a2JUKgvv2aqIVFQT37dXEblQQ3LdXE62pIC1xIG2oILhvryZ2p4Lgvr2a2IMKgvv2amJPKgju26uJtlQQ3LdXE3tRQXDfXk20o4Lgvr2aaE8FwX17NdGBCoL79mrCQwXBfXs14aWC4L69mvBRQXDfXk34qSC4b68mCqgguG+vJgJUENy3VxOGLztunly6fFNy6UaJ/yrx3yT+u8T/kPifEq/TM3s97dZzYj1h1bNJPdXT8zA9SdIzGD290H1/3THXvWbdpdX9Td0Z1D013Y3SfRzdAdG9A11163pVV3q6RtLVhc7LdUarc0GdRen8Q3+59TdPfy10nNURSt9tfSu0P+mTUIb/lFxqyhn92ZpK+IstufRnS55cIphdB1qOTS7FJRyaQLJPLk2E/tHk0oY5JZcmQqacyESRi2dtfkDA36EwEwSY3JmIUEFwyZ2JYioILrkzEaWC4JI7EzEqCC65MxGnguCSOxMJKgguuTNRQgUBJncmqSDA5M5SKggwubMjFQSY3Lk3FQSY3LkPFQSY3LkvFQSY3NmJCgJM7tyPCgJM7uxMBQEmd+5PBQEmdx5ABQEmd3ahggCTOw+kggCTO7tSQYDJnd2oIMDkzu5MEGRyZw8qCDC5sycVBJjc2YsKAkzu7E0FASZ3HkQFASZ3HkwFASZ3HkIFASZ3HkoFASZ3HkYFASZ39qGCAJM7+1JBgMmdh1NBgMmd/aggwOTOI6ggwOTO/lQQYHLnACoIMLlzIBUEmNx5JBUEmNx5FBUEmNw5iAoCTO48mgoCTKo5hgoCTO48lgoCTO48jgoCTO483gCyWXLn+/XJnYmIJIolEZWEluOSSEiiRM/s9bRbz4n1hFXPJvVUT8/D9CRJz2D09EL3/XXHXPeadZdW9zd1Z1D31HQ3SvdxdAdE9w501a3rVV3p6RpJVxc6L9cZrc4FdRal8w/95dbfPP210HFWRyh9t/Wt0P6kT0IZ/itz6DHGLNBE2JTcqZdZEv4GZ9eB3ocmdyIT/iwgOSR3nmCpHPPx5vqLckvuPMGW3HmioYkMHwtPnNg++y7BSJ08yUXfZqRODqGCAFMnT6aCAFMnh1JBgKmTw6ggwNTJMioIMHXyFCoIMHVyOBUEmDp5KhUEmDpZTgUBpk6OoIIAUydPo4IAUycrqCDA1MmRVBBg6mQlFQSYOllFBQGmTo6iggBTJ0+nggBTJ0dTQYCpk2OoIMDUyWoqCDB1ciwVBJg6OY4JgkydPIMKAkydPJMKAkydHE8FAaZOnkUFAaZOnk0FAaZOnkMFAaZOnksFAaZOTqCCAFMnz6OCAFMnJ1JBgKmTk6ggwNTJyVQQYOrk+VQQYOrkBVQQYOrkhVQQYOrkRVQQYOrkxVQQYOrkJVQQYOrkFCoIMHXyUioIMHXyMioIMD3pcioIMHVyKhUEmDo5jQoCTJ2cbgDJIfNtxj+a+ZbDp54b95H8KbbMt5l/f9Haurq6SXO7jS6vqCgfXp/0Vtt85qTZA8orh1eUWZ/CzMyIm+45clRFmSRqTGmU2bdJYqbe2xawId00t/pnzXDytA82P+1aF/XnT5G2F9vqv8JQ/9Z5lvP7VY0pKx9WVZnoVzZ65NjqIdXlVZU1tam8yybXp+Vgpv3fE1ekyo2m1UriSklcJYmrJXGN05fqWkfNnJhlq/86F/UnrtUbZ6q/frxwVH/jvub2v95RN7s1rWuld7krt+hmN0jiRkncJImbt8LMnMde/5hNeez5U0yNcYuhMTYb4bdJjfDWjtn4EMPIdkNqkL81VbwtVbw9VbwjVZydKs5JFe9MFe9KFe9OFeemivekivemivcZf7/yp+TUm7ZODr89z3TZHNtld9suuzcvl57uiaTdIr3X35Z2TbH29PslMU8SD0jiwa0nUhlbNnG76ar7Td38oVzmepkrv8N01TxTiPPdhDjbdNUDphAfdjNyJh5KK89PKz+cVn5Q+9MjknhUEo9J4vFcWmKO6apHTC3xhJuHdafpqkdNIT7pJsS7TFc9ZgrxKUf96Ym08pNp5afSyo9rf3paEs9I4llJPJdLS9xtuuppU0sscPOw5pquesYU4vNuQrzHdNWzphBfcNSfFqSVn08rv5BWfk7704uSeEkSL0vilVxa4l7TVS+aWuJVRy3xalr5pbTyy2nlV7QlXpPE65J4QxILc5pg9Em73Wtp5fu2mEqLJN6UxCJJvLX5JDU/620Iw5/P1aRmh2+niu8gJ4o5Lfveti17FoMmqosXTswtzndscb4LivPdv4jTtL5abIrzIE8Oz3OLux6/xV3/1U7v2ur3uupPYlpfHuQxXWWJcrNXt0lN6tX9i2Xjli2W7XtueAvSthuX/NOrwCUZ9y7ztrzvpme2xNZnfNn+htfWZHwEDaxbDUuB3coHau+lWwwSfwm8JZoVeJle1TLeYFm7VaXji1p1rDp83AWrBt47YZfbgmtatP5ubOdxG1dW6RuiV7Ut6XPdgv4j5k3t1KJ3YrvF5y6+aETJ0ulTJoc2TBw0vom3Bge8TIG3vu6+PmMrqssHDB1SMWS0FmtnTbqze1XlmOohlZnzyvP+4tqGi1qeMLbJ7YOHRgLNeq5vvXPt+V1enDq5SyCcxX0bbPajkz6wp8r5U2ZJ4j1JLJfE+3+BNa/nyJPLhg0rG9Z97OhxZV2HDVOw1H3eSysvTyu/n37RHWnl2en7MFsEsUISKyXxQfYKi8aH1N/A+NO0Yoajed1/2MXRTbfNJ1wfSmKVJD6SxOrsf1uiV0t8rum3JXqP6f362NUv4Me2mconLuqPXvvvVspc/6emM8QbnUR5nTnKz0xR3uwkyuvNUX5uivJWJ1HeYI5yjSnK250c8HyiHc72Xnzhqv7PbPV/6ar+z231f+VokP4irfxlWvmrLQbpryXxjSS+lcR3ueQvfGiaR39tupfhz3L/2/wBQxVpE/p1rvIH1uq9bQGvd5I/oPWvn5Fta29bk21rf2io4u+Wb1v+U5t6NN+nihtSxR9SxR9tS/jE+n+fBDfIRANbtf2Ql9tOw3rkSe5PTka9H/TGriad36eVN6Q35xbj2c+S+EUSGyXxa/af/62fsf5kIv1JK8r6DWqReoPMwrqnTBeO0QszhFNXV7fO+rZt2jZI28H8LVX83TYmWl6E32yX/d4+J19b/CnbLkfExZuw6YHY6i/Osv5Nmw5/c9uaTVuDid9Mw8Dvpv2TiOmqYkP/y3rgq3/Rfss21c30rkfvkehDphn3PRI/zrYSfcjU6H+4wplvxTnehjPfhPOnK5yHrTiDbTgPm3DqXOE8YsU5wYZjyj0oaeAK51Erzok2HFOeQkmeK5zHrDgn2XBMOQ0lDV3hPG7FGWLDedyE08gVzhNWnJNtOE+YcBq7wnnSijPUhvOkCSffFc5TVpxhNpynTDhNXOE8bcUps+GYknpKtnGF84wV5xQbjikBqGRbVzjPWnGG23BMyUIlTV3hPGfFOdWG85wJZztXOAusOOU2nAUmnO1d4TxvxRlhw3nehLODK5wXrDin2XBeMOE0c4XzohWnwoZjypYrae4K5yUrzkgbzksmnBaucF624lTacF424ezoCucVK06VDecVE85OrnBeteKMsuG8asLZ2RXOa1ac0204r5lwWrrCed2KM9qG87oJZxdXOG9YccbYcN4w4ezqCmehFafahrPQhNPKFY5YccbacMSEs5srnDetOONsOG+acFq7wllkxTnDhrPIhNPGFc5bVpwzbThvmXB2d4XzthVnvA3nbRPOHq5w3rHinGXDeceEs6crnMVWnLNtOItNOG1d4bxrxTnHhvOuCWcvVzhLrDjn2nCWmHDaucJZasWZYMNZasJp7wpnmRXnPBvOMhNOB1c471lxJtpw3jPheFzhLLfiTLLhLDfheF3hvG/FmWzDed+E43OFs8KKc74NZ4UJx+8KZ6UV5wIbzkoTToErnA+sOBfacD4w4QRc4XxoxbnIhvOhCafQFc4qK87FNpxVJpygK5yPrDiX2HA+MuGEXOGstuJMseGsNuEUucL52IpzqQ3nYxNO2BXOJ1acy2w4n5hwIq5wPrXiXG7D+dSEU+wK5zMrzlQbzmcmnKgrnM+tONNsOJ+bcGKucNZYcabbcNaYcOKucL6w4syw4Xxhwkm4wvnSijPThvOlCafEFc5XVpwaG85XJpykK5yvrTg2G2HU9PdiJaWucL6x4tTacL4x4XR0hfOtFecKG863Jpy9XeF8Z8W50obznQlnH1c4a604V9lw1ppw9nWFs86Kc7UNZ50Jp5MrnPVWnGtsOOtNOPu5wvneinOtDed7E05nVzgbrDjX2XA2mHD2d4XzgxXnehvODyacA1zh/GjFucGG86MJp4srnJ+sODfacH4y4RzoCudnK85NNpyfTThdXeH8YsW52YbziwmnmyucjVacW2w4G0043V3h/GrFudWG86sJp4crnN+sOLfZcEx/rFvS0xXO71ac2204v5twernC+cOKc4cN5w8TTm9XOH9acWbbcP404RzkCqfOijPHhlNnwjnYEU6sgRXnThNOrIEJ5xBXOHlWnLtsOHkmnENd4TS04txtw2lowjnMgvOvj14dXFlePWvhFysb9JPEH5L4UxJ1UlL/d85S0lBKGklJYynJl5ImUrKNlGwrJU2lZDsp2V5KdpCSZlLSXEpaSMmOUrKTlOwsJS2lZBcp2VVKWknJblLSWkraSMnuUrKHlOwpJW2lZC8paScl7aWkg5R4pMQrJT4p8etZu55P65munoPq2aGet+kZlZ7r6FmI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",
      "custom_attributes": [
        "abi_private",
        "abi_only_self"
      ],
      "debug_symbols": "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XBppI2vkjaJRNqqN4tVocVz1i9lIGmkja+SNolHfj+j7cZ/zhUajvh/Z9yP7ftznfCFv1LXKrlV2raprVX0/qu9H9f2ovh/V96P6flRzVHPU5pDXq9FoNBvJc4/kte+HvKyRN4pG2WjfDxmvRqPRbLQ4rgZ0aCNr5I2iUTaqje5zvrrgfc9lzkbSSBtZI28UjfY9l7nvucir0Wi077mINNJG1sgb7fshko36fmjfD+37oX0/VBppI2vkjZqjz7n0OZc+59LnXPqci/U9t77n1vfc+p5b33Pre259z73vufc973Mufc6lz7l433Pve+59z73vufc9v8/5QqPRbNTP1f15fj0b9+f5Qn3P+5xLZKPaKF+N+rnKfq7uc76QNrJG3ij23b8/zxeqjerVaDTq+9HnXPqcS59z6XMufc6lz7n0Odc+59rnXPuc60saaSNr5I2iUT5PifY51z7n2udc+5zrkEbayBp5o2iUjZpj7nuuczSajaSRNrJG3igaZaN6ng2VV6N9z1VmI2mkjayRN4pGW0u0P89VX41Go60l2p/n2p/nqtbIG/X96HOufc61z7n2Odc+59qf59qf59qf59qf59qf59qf59qf59qf5+rN4c3hW0u0z7n257n257n257n257n257n257lGP1fRz1X0cxXNEX3Po+959D2PvuextUSzn6vs5yr7ucp+rnJriaY16nuefc8zG20t0Xo16ueq+rmqrSVa2sgaeaOtJVrZaGuJvV6NRqN9P6zPufU5tz7n1ufc+pzbKxvte27j1Wg0ao7RHKM5RnOM5hjNMbaWWJ9zm69Go9FsJI20kTXyRtEoGzWH7HtuMhrNRtJIG1kjbxSNstHWEtNXo33PTWcjaaSNrJE3ikZbS0y3lpi9Go1GW0vMpJE2skbeqO9Hn3Prc259zq3PufU5N+977n3Pve+59z335vDm8OaI5ojmiOaIrSXW59yi73n0PY++59H3PPqeZz9X2c9V9nOV/Vxlc2Tf8+x7nn3Ps+95bi2x6ueq+rmqfq6qn6vaWmJljfqeV9/zykZbS/z1ajQazUZbS/yljayRN9pa4q9stLXEx6vRaLTvh/c59z7n3ufc+5x7n3Mf2Wjfc5+vRqNRc8zmmM0xm2M2x2yOubXE+5y7vBqNRrORNNJG1sgbRaNs1By677nraDQbSSNtZI28UTTKRltL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sClsCpvCprAZbAabwWawGWwGm8FmsBlsBpvD5rA5bA6bw+awOWwOG1piaImhJYaWGFpiaImhJYaWGFpiaImhJYaWGFpiaImhJYaWGFpiaImhJYaWGFpiaImhJYaWGFpiaImhJYaWGFpiaImhJYaWOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFriaImjJY6WOFrivdsX3rt94b3bF967feG92xfeu33hvdsX3rt94b3bF967feEKm8KmsClsCpvCprAZbAabwWawGWwGm8FmsBlsBpvD5rA5bA6bw+awOWwOm8PmsAVsAVvAFrAFbAFbwBawBWwBW8KWsCVsCVvCtt6XrF759r2uBvn2vV67iOG92xfeu33hvdsX3rt94b3bF967feG92xfeu33hvdsX3rt94QVb7/ZF9G5fRO/2RfRuX0Tv9kX0bl9E7/ZF9G5fRO/2RfRuX8QLtgHbgG3ANmAbsA3YBmwDtgHbgG3CNmGbsE3YJmwTtgnbhG3CNmET2AQ2ga29ahHtVYtoD33gew18r4HvNaK9ahHtVYtor1pEe9UC32vge41Q2NqrFtFetcD3GvheA99r4HsNfK+B7zWivWrx+F5jQdgMtva9Br7XiN7HCXyvge818L0GvtfA9xr4XgPfa+B7jXByu32v6yLb9xr4XgPfa+B7jQgqGbAFbAFbwJZUMsktyS3JLcktqWRSyaSSSSWTShaVLNgKtoKtYCsqWeRW5Fbk1vs48fheY8GuJL7XwPca+F4jex8n8L0GvtfA9xr4XgPfa+B7DXyvge81svdx4vG9rots32vgew18r4HvNbL3cQLfa+B7DXyvge818L0GvtfA9xr4XiMnuQmVFCopVBItwfcaiZbgew18r4HvNfC9Br7XwPca+F4D32ukkptSSbQE32vgew18r5FGJdGSREsSLcH3GmlU0sjNyM3IzcjNqaRTSaeSTiWdSjqVREsSLUm0JNGSDCoZ5BbkFuQW5BZUMqhkUMmgkkElk0qiJYmWJFqSaEkmlUxyS3JLcktyKypZVLKoZFHJopJFJdGSREsSLUm0pHofJ6r3caJ6Hyeq93Gieh8nbt/rusjq3b6o3u2L6t2+qN7ti+p9nCi0pNCSQksKLanex4nqfZyo3seJ6n2c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6JUceiWHXsmhV3LolRx6JYdeyaFXcuiVHHolh17JoVdy6JUceiWHXsmhV3LolRx6JYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeeqWHXumhV3rolR56pYde6aFXeuiVHnqlh17poVd66JUeenX428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv30c/vZx+NvH4W8fh799HP72cfjbx+FvH4e/fRz+9nH428fhbx+Hv/39yvDgPfTq8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPzt4/C3j8PfPg5/+zj87ePwt4/D3z4Of/s4/O3j8LePw98+Dn/7OPztw/FfDcd/NR5/+4PbfzVuf/vG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2KvFXi32arFXi71a7BW+PfDtgW8PfHvg2wPfHvj2WNdfxbr+Ktb1V7Guv4p1/VWs669iXX8V6/qrWNdfxePbPzfdQ/d+Xl/s+3l9se/n9cW+n9cXj2//3MXd3JN7cW9uuoPuoDvoDrqD7qA76A66g+6gG3SDbtANukE36AbdoBt0g27STbpJN+km3aSbdJNu0s3r616+/XsP7uDOr7V7+fbv3dzza+1evv17b+7zdXcv3/69x/fvq1++/W3qXr79exd3c0/u6+tevv17X1/38u3fe3AHd3IXd3NPbrqT7qT7+ry+x929fPv3jq/Be/n2t8F7+fa3u3v59u89v+7u5du/98vXvX/Mc+/XXn3u399Xj7t7fPvnfvm6fO7ibu7f31ePu3t8++f+7T4G7/Htj8F7fPtj8B7fnu9vv/9c9vj2z13czT25F/f1dY9vf+7Ht3/uwX193ePbP3dxN/fL1+3nXtwvT3ie+9z7tVfPn4X357eP576+7vHtn7u4m3tyL+7Nfd/NDu/th/f2w3v74b398N5+eG8/vLcf3tsP7+2H9/bDe/vhvf3w3n54bz+8tx/e2w/v7Yf39sN7++G9/fDefnhvP7y3H97bD+/th/f2w3v74b398N5+eG8/vLcf3tsP7+2H9/bDe/vhvf3w3n54bz+8tx/e2w/v7Yf39sN7++G9/fDefnhvP7y3H97bD+/th/f2w3v74b398N5+eG8/vLcf3tsP7+2H9/bDe/vhvf3w3n54bz+8tx/e2w/v7Yf39sN7++G9/fDefnhvP7y3H97bD+/th/f2w3v74b398N5+eG8/vLef+96eP/e9PX/ue3v+3Pf2fH9++/su7uae3It7c9MddAfdQXfQHXQH3UF30B10B92gG3SDbtANukE36AbdoBt0k27STbpJN+km3aSbdJNu0i26RbfoFt2iW3SLbtEtukW36Tbdptt0m27TbbpNt+k23Ul30p10J91Jd9KddCfdSXfSXXQX3UV30V10F91Fd9FddBfdTXfT3XQ33U130910N91Nd9M9dA/dQ/fQPXQP3UP30D102St8e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3zfv5Vvn37+57cLxdUz725vy4o8/qrzOuvMq+/yrz+KvP6q8zrrzKvv8q8/irz+qvMSXfRXXQX3UV30V10F91Fd9FddDfdTXfT3XQ33U130910N91N99A9dA/dQ/fQPXQP3UP30L2f15d1P68v635eX9b9vL58fPvnLu7mntyLe3PTHXQH3UF30B10B91Bd9AddAfdoBt0g27QDbpBN+gG3aAbdJNu0k26STfpJt2km3ST7rNXrz/jb9/+vsf3z/jj2z93cn+/jpOPb//cL18Xz724N/dvdz7f/7VXn3twx+drhfn49pe7y8e3f+5X9+e5J/fifn099On219fl27e/78Ed3Mld3M39/fp+1vUMWdczZF3PkHU9Q9b1DFnXM2Rdz5B1PUPW9QxZi+6iu+guupvuprvpbrqb7qa76W66m+6me+geuofuoXvoHrqH7qF76F5/lX39Vfb1V9nXX2Vff5V9/VX29VfZ119lX3+Vff1V9g/dQXfQHXQH3UF30B10B91Bd9ANukE36AbdoBt0g27QDbpBN+km3aSbdJNu0k26STfpJt2iW3SLbtEtukW36Bbdolt0m27TbbpNt+k23abbdJtu0510J91Jd9KddCdd9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq2avmr1q9qrZq8leTfZqsleTvZrs1WSvJns12avJXk32arJXk72a7NVkryZ7NdmryV5N9mqyV5O9muzVZK8me4VvT3x74tsT35749sS3J7495/VXOa+/ynn9Vc7rr3Jef5Xz+quc11/lvP4q5/VXOe9/X2rOolt0i27RLbpFt+gW3aJbdJtu0226TbfpNt2m23SbbtOddCfdSXfSnXQn3Ul30p10J91Fd9FddBfdRXfRXXQX3UV30d10N9399XX58u3fu7ibe36sXb58+/fe3Odj7fLl27/34I6Pu8uXb//e9f376pdvf0xdvnz7917cm/t875dvf8xbvnz79w7u5C7u5p7ci3tzn3sPuoPuoPv6vL6Xu8uXb//e/TF4+fLtj8HLl29/3F2+fPv3Ph93ly/f/r1fvu75MV979bmT+/f31c/za/Xaq8/98nX53It7c//+vhrPz+21V5/7tzuen9trr+JpvfYqnh//tVf5/vb7z2WPb//ci3tzn3s/e/W+v74uH9/+uZO7uL++Lh/f/rkX9+Z++brX7+3Ht3/ulyd8fs1fe/W5f7v1/j6vf/4dz/31dfn49s+9uDf3ufdrrz734L7vZov39sV7++K9ffHevnhvX7y3L97bF+/ti/f2xXv74r198d6+eG9fvLcv3tsX7+2L9/bFe/vivX3x3r54b1+8ty/e2xfv7Yv39sV7++K9ffHevnhvX7y3L97bF+/ti/f2xXv74r198d6+eG/fvLdv3ts37+2b9/bNe/vmvX3z3r55b9+8t2/e2zfv7Zv39s17++a9ffPevnlv37y3b97bN+/tm/f2zXv75r19896+eW/fvLdv3ts37+2b9/bNe/vmvX3z3r55b9+8t2/e2zfv7Zv39s17++a9ffPevnlv37y3b97bN+/tm/f2zXv75r19896+eW/fvLdv3ts37+2b9/bNe/vmvX3z9cHN1wc3Xx/cfH1w8/XBzdcHN18f3Hx9cLNXm73a7NVmrzZ7tdmrzV5t9mqzV5u92uzVZq82e7XZq81ebfZqs1ebvdrs1WavNnu12avNXm32arNXm73a7NVmrzZ7tdmrzV5t9mqzV5u92uzVZq82e7XZq8NeHfbqsFeHvTrs1WGvDnt12KvDXh326rBXh7067NVhrw57ddirw14d9uqwV/j2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sS3J7498e2Jb098e+LbE9+e+PbEtye+PfHtiW9PfHvi2xPfnvj2xLcnvj3x7YlvT3x74tsT35749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e437+Vf19u3v++tzKu7nX9Xj2z/31wVVXH9Vcf1VxfVXFddfVVx/VXH9VcX1VxXXX1Vcf1Ux6A66g+6gO+gOuoPuoBt0g27QDbpBN+gG3aAbdINu0k26STfpJt2km3STbtJNukW36Bbdolt0i27RLbpFt+g23abbdJtu0226TbfpNt2mO+lOupPupDvpTrqT7qQ76U66i+6iu+guuovuorvoLrqL7qK76W66z149f8afvXrfdf+MP170fU/u79dx6vHtn/vl6+J1v/bqcw/u3+58vv9rrz53cffna4X1+PaXu6vHt3/uV/fnuc/3fnz75359PTSe++vr6u3b33dxN/fkXtyb+/v1/crrGSqvZ6i8nqHyeobK6xkqr2eovJ6h8nqGyusZKgfdoBt0g27QDbpBN+gG3aAbdJNu0k26STfpJt2km3STbtItukW36Bbdolt0i27RLbpFt+k23abbdJtu0226TbfpNt1Jd9KddCfdSXfSnXQn3Ul30l10F91Fd9FddBfdRXfRXXQX3U130910N91Nd9PddDfdTXfTPXQP3UP30D10D91D99A9dK+/qrr+qur6q6rrr6quv6q6/qrq+quq66+qrr+quv6qir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir0q9qrYq2Kvir3Ctxe+vfDthW8vfHvh2wvfXnX9VdX1V1XXX1Vdf1V1/VXV9VdV119VXX9Vdf1V1f3vS63adDfdTXfT3XQ33U330D10D91D99A9dA/dQ/fQvZ/XV30/r6/6fl5f9f28vur7eX3V9/P6qu/n9VXfz+urvp/XV30/r6/6h+6gO+gOuoPuoDvoDrqD7qA76AbdoBt0g27Qja+vq5dv/96Le3Ofj7Wrl2//3oM7PtauXr79exd3f9xdvXz7917fv69++fbH1NXLt3/u1+f1fe7BHdxfX1cv3/69m3tyL+7Nfe7dP9yDO7jpNt2m+/q8vv38Orw+r+9z74/Bq5dvfwxevXz74+7q5du/d3zcXb18+/d++brnx3zt1eee3L+/r36eX6vXXn3ul697bdHj2z/34P79fTWen9trrz73b3c8P7fXXsXTeu1VPD/+a6/y/e33n8se3/6+9w/34A7u5P76unp8++ee3Iv76+vq8e3v+7VXn3twv3zd83v7tVef++UJn1/z11597t/u+8/C8/8/+PzePl9fV49vf+7Ht3/uwR3cyV3c991s8t4+eW+fvLdP3tsn7+2T9/bJe/vkvX3y3j55b5+8t0/e2yfv7ZP39sl7++S9ffLePnlvn7y3T97bJ+/tk/f2yXv75L198t4+eW+fvLdP3tsn7+2T9/bJe/vkvX3y3j55b5+8t0/e2yfv7ZP39sl7++S9ffLePnlvn7y3T97bJ+/tk/f2yXv75L198t4+eW+fvLdP3tsn7+2T9/bJe/vkvX3y3j55b5+8t0/e2yfv7ZP39sl7++S9ffLePnlvn7y3T97bJ+/tk/f2yXv75L198t4+eW+fvLdP3tsn7+2T9/bJe/vkvX3y3j55b5+8t0/e2yfv7ZP39sl7++S9ffLePnlvn7y3T74+OPn64OTrg4uvDy6+Prj4+uDi64OLrw8u9mqxV4u9WuzVYq8We7XYq8VeLfZqsVeLvVrs1WKvFnu12KvFXi32arFXi71a7NVirxZ7tdirxV4t9mqxV4u9WuzVYq8We7XYq8VeLfZqsVeLvVrs1WKvFnu12KvFXi32arFXi71a7NVirxZ7tdirxV4t9mqxV4u9WuzVYq8We7XYq8VeLfYK31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvL3x74dsL31749sK3F7698O2Fby98e+HbC99e+PbCtxe+vfDthW8vfHvh2wvfXvj2wrcXvr3w7YVvb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW/vn/v5V/327e87uF8uqJ67uL8uqH+uv+qf66/65/qr/rn+qn+uv+qf66/65/qr/rn+qn+uv+qfptt0m27TbbqT7qQ76U66k+6kO+lOupPupLvoLrqL7qK76C66i+6iu+guupvuprvpbrqb7qa76W66m+6me+geuofuoXvoHrqH7qF76N7P6+txP6+vx/28vh7Xi/a4XrTH9aI9rhftcb1oj+tFe1wv2uOH7qA76A66g+6gO+gOuoPuoDvoBt2gG3SDbtB99mo89+Re3z/jj2//3Ofe+f06Tj++/XO/fF08d3IX9293vr//5F7c+/O1wn58+8vd9ePbP/er+/PcwZ3cr6+HPt36+rp++/b3vbg397n38/dX73twf7++3+N6hh7XM/S4nqHH9Qw9rmfocT1Dj+sZelzP0ON6hh6T7qQ76U66k+6kO+lOuovuorvoLrqL7qK76C66i+6iu+luupvuprvpbrqb7qa76W66h+6he+geuofuoXvoHrqH7vVXHddfdVx/1XH9Vcf1Vx3XX3Vcf9Vx/VXH9Vcd1191/NAddAfdQXfQHXQH3UF30B10B92gG3SDbtANukE36AbdoBt0k27STbpJN+km3aSbdJNu0i26RbfoFt2iW3SLbtEtukW36TZd9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr0K9irYq2Cvgr1K9irZq2Svkr1K9irZq2Svkr1K9grf3vj2xrc3vr3x7Y1vb3x75/VXnddfdV5/1Xn9Vef1V53XX3Vef9V5/VXn9Ved978vtTPoBt2gG3STbtJNukk36SbdpJt0k27SLbpFt+gW3aJbdItu0S26RbfpNt2m23SbbtNtuk236TbdSXfSnXQn3Ul30p10J9359XX98u2f+/Xfl/q5B3d8rF2/fPv3Lu7+WLt++fbvvbj3x931y7d/7t+9ev999cu3P6auX779eyd3cTf319f1y7d/78197n1+uAd3cCd3cTc33UP30H19Xt/L3fXLt3/v8TF4/fLtj8Hrl29/3F2/fPv37o+765dv/94vX/f+MTf3ufdrr17urh/f/rlfvi6fO7mL+/f31Xh+bq+9+ty/3fH83F57Fe/WbzeeH/+1V/l8e9x/Lnt8++dO7uJu7sn99XX9+PbPfe792qvP/fV1/fj2z53cxf3ydfu5J/fLEz6/5q+9+ty/3efPwuPbXwavH9++n+9TwZ3cxd3ck3tx33ezuu/tXfe9veu+t3fd9/au+97edd/bu+57e9d9b++67+1dTbfpTrqT7qQ76U66k+6kO+lOupPuorvoLrqL7qK76C66i+6iu+huupvuprvpbrqb7qa76W66m+6he+geuofuoXvoHrqH7qHLe3vz3t68tzfv7c17e/Pe3ry3N+/tzXt7897evLc37+3Ne3vz3t68tzfv7c17e/Pe3ry3N+/tzXt7897evLc37+3Ne3vz3t68tzfv7c17e/Pe3ry3N+/tzXt7897evLc37+3Ne3vz3t68tzfv7c17exfdolt0i27RLbpFt+iyV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7FWzV81eNXvV7NVkryZ7NdmryV5N9grf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa3N7698e2Nb298e+PbG9/e+PbGtze+vfHtjW9vfHvj2xvf3vj2xrc3vr3x7Y1vb3x749sb39749sa399u3j+ce3MF9fd2+n3/VG3+18Vcbf7XxVxt/tfFXG3+18Vcbf7XxVxt/tfFXG3+18Vcbf3XwVwd/dfBXB3918FcHf3XwVwd/dfBXB3918FcHf3XwVwd/dfBXB3918FcHf3XwVwd/dfBXB3918FcHf3XwVyfoBt2gG3SDbtJNukk36SbdpJt0k27STbpFt+gW3aJbdPGiBy968KIHL3rwogcvevCiBy968KIHL3rwogcvevCiBy968KIHL3rwogcvevCiBy/69u3juSf39XWPb//c19c9vv35+svj2z/39XWPb//cxX193ePbP/fivr7u8e2PqXt8++e+vu7x7Z87ua+ve/v29z25F/fmvr7u7dvf9+C+X98/eIaDZzh4hoNnOHiGg2c41zPMn+sZ5s/1DPPneob5cz3D/LmeYf5czzB/rmeYP9czzJ/rGebPD91Bd9AddAfdQXfQHXQH3UF30A26QTfoBt2gG3SDbtANukE36SbdpJt0k27STbpJN+km3aJbdItu0S26RbfoFt2iW3SbbtNtuk236Tbdptt0m27TnXQn3Ul30p10J91Jd9KddCfdRXfRXXQX3UV30V10F91Fd9HddDfdTXfT3XQ33U130910N91D99A9dA/dQ/fQPXQP3UOXvRrs1WCvBns12KvBXg32arBXg70a7NVgrwZ7NdirwV4N9mqwV4O9GuzVYK8GezXYq8FeDfZqsFeDvRrs1WCvBns12KvBXg32arBXg70a7NVgrwZ7NdirwV4N9mqwV4O9GuzVYK8GezXYq8FeDfZqsFeDvRrs1WCvBns12Ct8+8S3T3z7xLfPcf3VHNdfzXH91RzXX81x/dUc11/Ncf3VHNdfzXH91RzXX80x6U66k+6ku+guuovuorvoLrqL7qK76C66m+6mu+luupvuprvpbrqb7qZ76B66h+6he+geuofuoXvo3s/rm3E/r2/G/by+Gffz+mbcz+ubcT+vb8b9vL4Z9/P6ZtzP65tv3/6+z72fvXrfgzu4k7u4m3tyL266g27QDbpBN+gG3aAbdINu0A26STfpJt2km3STbtJNukk36Rbdolt0i27RLbpFt+g+e9XPfe797NX7HtzBndzF3dyv7nzuxb25X931up+/v3rfgzu4k/vV3c/d3JN7cf/p/vm/gM99fu/n5/m7V3M8P+bvXn3v+L2fv/Z3r753cTf35F7cm/vc+3ev/vwOf+7fbr7v4P7tZj73bzefX7ffvfrek3txb+5z79+9+t6DO7iTm+6he+j+7tWfLyw/9+b+7b7+mX2+fPt8/XPxfPn27/3b7fncyV3czT25F/eru5773Hv8cA/u4E7uV3c/92+3np//715978W9uc+949U9zz24gzu5i7+WbtANur979eeL6v/219/87//0L//4n/7zP/3D//yb//B///zL//qv//3v/9c//vN/f//L//V//sfnf/Of/+Uf/+mf/vG//cf/8S///Pf/8F/+9V/+4T/+0z///e//7m9+fv/H76/U3475V4y/+/Odx/2m81fU7zfF+7v+7Z9HoL/+PJL83V9/8+ffwN/++T8Yu/7cr+/8553prz/vRb//cvz+y51//Xm++P2r8/NX//mP6q8//1bef/Wf54g/f4/9+cv//Jb5689/9J+//M9/8n/+5fr9y+vf/3z6+01Rf8X5/ab5/aasv/L1Tev3m35Lf/74/fXnj8I3tfKvP386f7/Lvj/Qb+/3m86/z42f74/053v158epn7/q9W9w3F+yGn/VfH1bfP+a8/vz+Xd/Tf7/fsx/+7e/+7f/Bw==",
      "is_unconstrained": false,
      "name": "recurse_subtract_balance_internal",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15985585764238192592": {
            "error_kind": "string",
            "string": "Function symbol can only be called statically"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          }
        },
        "parameters": [],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "value",
                "type": {
                  "kind": "field"
                }
              }
            ],
            "kind": "struct",
            "path": "compressed_string::field_compressed_string::FieldCompressedString"
          },
          "visibility": "public"
        }
      },
      "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAAQScCAQQAJwICBAAfCgABAAIARCUAAABCLQIBRCcCAgREJwIDBAE7DgADAAImJQAAAnseAgABAB4CAAIAHgIAAwApAgAEAMcy+XcnAgUAACsCAAYAAAAAAAAAAAIAAAAAAAAAAC0IAQcnAggEBQAIAQgBJwMHBAEAIgcCCC0KCAktDgQJACIJAgktDgMJACIJAgktDgUJACIJAgktDgYJLQsHAwAiAwIDLQ4DBy0IAQMnAgQEBQAIAQQBJwMDBAEAIgcCBAAiAwIFPw8ABAAFJwIEBAEAKgMEBi0LBgUeAgADACkCAAYAA21SfysCAAcAAAAAAAAAAAMAAAAAAAAAAC0IAQgnAgkEBQAIAQkBJwMIBAEAIggCCS0KCQotDgYKACIKAgotDgMKACIKAgotDgUKACIKAgotDgcKLQsIAwAiAwIDLQ4DCC0IAQMnAgUEBQAIAQUBJwMDBAEAIggCBQAiAwIJPw8ABQAJACoDBAgtCwgFMwoABQADJwIFAQEkAgADAAABoSUAAAKhHgIAAwkkAgADAAABsyUAAAKzHgIAAwAsAgAIABIhgrkzO03evej2xHwRTaXM3284FyA5abYAG4RT4jUnLQgBCScCCgQFAAgBCgEnAwkEAQAiCQIKLQoKCy0OBgsAIgsCCy0OAwsAIgsCCy0OCAsAIgsCCy0OBwstCwkDACIDAgMtDgMJLQgBAycCBgQFAAgBBgEnAwMEAQAiCQIGACIDAgc/DwAGAAcAKgMEBy0LBwYzCgAGAAMkAgADAAACZCUAAALFHgIAAwAnAgQAAy8qAAQAAwAFLQoFASYoAAAEBHhFDAAABAMkAAADAAACoCoBAAEF2sX11rRKMm08BAIBJioBAAEFBmE7PQudvTM8BAIBJioBAAEF3dg1jqv1b9A8BAIBJioBAAEFcjEMljOspz88BAIBJg==",
      "custom_attributes": [
        "abi_public",
        "abi_view"
      ],
      "debug_symbols": "tVjdbts8DH0XX+dCIilK6qsMRZG26RAgSIus+YAPRd59ZCwqdgYJWZ3dxMd0fEwekdTP1/C6eT7+fNru395/DQ8/vobnw3a32/582r2/rD+373uxfg1Of6IfHnA1RB4e4mpIcue9XOXWy30O49U7VwB4A/YI7RGahcxC1ZILCGggFcBgIBYQ7ROxeOGTEiYFZCAXkIUQnII4AnBgwCzeLN4sYBYQN0ACBkQDZiH9DymQt1AtgQuIZlG9RmCPsllysaDzBoKBXIAnA6kAQAPlE4hgwAhV3hEYocqLMoqo8o4gFcBmYbNEs0SzqKpICnIBqiqyArXIEJCjAlTMEYiHJBqSikniBmkmjEAcI3md1NUgnyBV7AxUsRFwAdksuViC8waCgVyAKjaCVIAqNoLyiaCKjcAIzY1ARqiKhSBAFRtBKoDNwmaJZolmUcUCK8gFqGIhKVBLXg2s6XcGqhgHBWJhkY5VMY6n02qwgnz6PGw2Wo+TCpW6/VgfNvvP4WF/3O1Ww3/r3fH8p18f6/35+rk+yFMZhM3+Va5C+LbdbRSdVpe3XftVkKwsbwNCqAQecUbhOxSOXDQOR+ArSeIZB3Q4YjKGTBcn8u1xcGJjiCk146A2BRKZFEh8keLKiXAHJfgfKkEuWz6QNM6mEqlNEZxW8ZkiOL5E4WEeRr6DFN4t1aIbiJsEQs1AfCc1I4F5EQN1OLDNkS9VlpGgcmD0c45OemZHaBwyxG2OToJiAMvwHCsDJJgz9NKTySiAg/sWB6Z4ccOl73Fk9JWDc5ujk6MUs40KJYRJgv2FG7XYBLZD6eUoVUUDMTTzC+AeLRj/ZbVhphrJdC65jqSTobLQrHJ45x01I+mMSsi13NjJx1ulAnF5yUJaXrKQl5Ys9rqoT3VgfebvcUCdG2XJjG0OWFxuPTduLbd+hl308A4gtjIMeyTkLdVlkxMWVwu3q6UnB8ZYVyyTUrme6rHjhmxGcu2kog005cg9TVOVw7v4nWXLPBZuxuJ6g4Lg66jI7qiShHm9UW+6x2QpFiXHLimG81CoN91HFWus+zhZdvzBQXdo6RSWtvRuKFyzI8dJrfwRSrxDT6e0vKdTXt7Tg1ve04Nf2tMDLO/pXY4be3qgxT2958atPb2fYTf29BCX9/Rbuwc53y6X7oaDQ91wdEqOe62Qa5Z65snYRppz9LIU2Nc8BUZs7mZ7oysHdFSnlxzaW2K8x76alvbCfiwp5Usskzn72o3ejiHUkcFw7cij3K5ftofZOe1JyQ7b9fNuU27fjvuXydPP/z/siZ3zfhzeXzavx8NGmS6HvV5+f3jZ0Mgx7qOcmXq9lRWsnOE+nvTzvwE=",
      "is_unconstrained": true,
      "name": "symbol"
    },
    {
      "abi": {
        "error_types": {
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16396082379857395965": {
            "error_kind": "string",
            "string": "Function total_supply can only be called statically"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          }
        },
        "parameters": [],
        "return_type": {
          "abi_type": {
            "kind": "integer",
            "sign": "unsigned",
            "width": 128
          },
          "visibility": "public"
        }
      },
      "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAAQScCAQQAJwICBAAfCgABAAIARCUAAABCLQIBRCcCAgREJwIDBAE7DgADAAImJQAAAdkeAgABAB4CAAIAHgIAAwApAgAEAMcy+XcnAgUAACsCAAYAAAAAAAAAAAIAAAAAAAAAAC0IAQcnAggEBQAIAQgBJwMHBAEAIgcCCC0KCAktDgQJACIJAgktDgMJACIJAgktDgUJACIJAgktDgYJLQsHAwAiAwIDLQ4DBy0IAQMnAgQEBQAIAQQBJwMDBAEAIgcCBAAiAwIFPw8ABAAFJwIEBAEAKgMEBi0LBgUeAgADACkCAAYAA21SfysCAAcAAAAAAAAAAAMAAAAAAAAAAC0IAQgnAgkEBQAIAQkBJwMIBAEAIggCCS0KCQotDgYKACIKAgotDgMKACIKAgotDgUKACIKAgotDgcKLQsIAwAiAwIDLQ4DCC0IAQMnAgUEBQAIAQUBJwMDBAEAIggCBQAiAwIGPw8ABQAGACoDBAYtCwYFMwoABQADJwIEAQEkAgADAAABoSUAAAH/HgIAAwkkAgADAAABsyUAAAIRHgIAAwAnAgQACC8qAAQAAwAFHAoFBAYcCgQDABwKAwQGLQoEASYoAAAEBHhFDAAABAMkAAADAAAB/ioBAAEF2sX11rRKMm08BAIBJioBAAEFBmE7PQudvTM8BAIBJioBAAEF44qWDedxAP08BAIBJg==",
      "custom_attributes": [
        "abi_public",
        "abi_view"
      ],
      "debug_symbols": "tVjbbuIwEP2XPPPgufjWX6mqitK0QkKAUlhpVfHvOwaPkyDZ6gJ9SU4mycnM8RnHyXf33r8dP1/X24/dV/f0/N29DevNZv35utmtlof1bivR786kjYfuiRadd92TX3RBjgBkL4cgx9Fe9mBMBggK9BTpKdIIa4RLJGZgSUHIwKECn4HXR/icBYREGBJgBTGDKIRoEvAXgAYVaAQ0AhpBjaCkgVIwEinQCKdrOAG5i1LEugy8RpJeF6CnokZijpABBVZBzABYQcgASUF+BBEqUMIk7wUoYZKXZBQpyXsBIQOnEacRrxGvkaQqcQIxg6QquQRSRIaADWeQxLwAyZBFQ05isqTByQkXIIlxuialyjEBm0HK0KZrUoZn4M6R02nRqTtfD0PfJ3NO7Com3i+HfnvonrbHzWbR/VlujueLvvbL7Xl/WA5yVjLqt++yF8KP9aZP6LQY7zb1W1GGKN+NhLYQANGMAhoUho1XDsMIhSS4GQc2OHxQhshjEvHndbjglMGHUK2D6xQkI5YpiN0oxVUS9gFKuF9Ugk1UP7DMIlUlQp3CmmTpM4U1bqwCcF5GfIAUYO7VolmImRTC1UKgYU3PqFl4yw0OqnPEscsiMRYO8jDnaNgzGiblkCGuczQMShbV4dEXBgw4Z2jZ07FSoLPmJg4KfkzDhNs4IkHhcLHO0fAo+6ijwoFwYrD/SKM0m8B6KS2PclHUssOqvxAfMQXTb3YbRS6VTN8l15U0HCqrriIHGDBcraQxKjaWdnNGHl5rFfT3tyyG+1sW470tS61ZFEIZWIjuNg4s70ZZP1KdA+9ut1YaP223tsNGPcAg+prDqEXCoFaXFb+9u1tcvVtacpD3ZcUyaZXrVz010pCVeSwzqWiDVTliS9NQ5ADjb1m2zGtx1VoaFCBvEy0F0guikNh5v3HDpQ5KKQ7N5MVCc4txYyYldFC6Fh1RTVNuLUflO4/LwERbndP5EStSvntJ2q4lhDjWMnH7dRotp9oym5JtJdIeGTMZGQ61RGzLZyHqtwZEGAdXvhNPpxc5XK7Ww+y/wymRDevl26bPhx/H7Wpy9vB3r2f0v8V+2K369+PQJ6bx5wXI9lnEjPwifwDkO/tZZtXoX07p0f8A",
      "is_unconstrained": true,
      "name": "total_supply"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "11661905180576082158": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 42 limbs"
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "1696631112994693812": {
            "error_kind": "string",
            "string": "Nullifier does not match value in witness"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "6777641107876391551": {
            "error_kind": "string",
            "string": "Proving nullifier inclusion failed"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "commitment",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "H4sIAAAAAAAA/+x9B3iURdd2IBsSkt3sLolKC4ReLDSxIghI70VBBTEUEYQEQ0Cwgg0sQDZgF6X33jvSBJWhWQBFBRvYEBQ7wn8WjLtAyNzPcA4D3/9yeX3XXO9355y5z5yZe55pG5kVeGn31Z06pTyY0a1Lp9T0Tj1SM7qlp6b06tupU0Z6Smrfe7qld+qT3qN/Ska3Thlpnbqk9e7dI6N3t9QMVfG7PVe0HzynTq+ULvfVSRtQv19ql7opvXoNnti6dvMG9bIGT27XIyO1W9++eZMBUGQeAORHLCXcDIAu3TwIQF0GoYoitUpCQMUQUHEElAzVvASEKgmhSkGo0kjly5Gp6XXSe/Tq1aN7EDAqIjNzZGbm+uSI3P/lGTytdt++3dIz7uiWnjYyM5C1Prly1+bp+6qMqbCkZb1Fgwe371i+2oGGA5f2CdTd9+vIQ/QnKnJE7mY/vPLL+0zMnr22UdmFHCKxoGVa3249uqalVm3ZLb13v4yUjB5pqVmj/osMVfe/cpn/SmXD/v+Zo1RkQEVmqciRKnLUqTUfmaUPYTkAQx6gGLygNRXhvILloQpmQRV8EaigSSO9EFZ+Maw8Mqw8ihrqJRX5sop8RUW+emocsgCOpSGGrwGdRt8hyU6y8xomQDV8XWMoT6tBUA1fv/nUMSNPYPCkNj1Su/fqdrLL6mqLxCrihM3efXp1U5GjsREJqfroPKdWvYhw1d9wPpgGRkLVINtYhd/Up4aZ/zczHQ46mOXRZHkklM+jIdSbEGqMQSsBNfyXC8Aaa0uIy1iRdqEWH42J0TjA/ym9MK/DXphH72BPhC/UC8eHihNCxYmh4qRQcXKoOCVUnBoqTgsVp4eKM0LFmaHirFBxdqg4J1ScGyrO4xvlpmKwGRhsNgabZzQnnJ875Uc6f/WgidkFZzXryi4YTTfmh5XHh5UnhZUX0HRjoYpcpCIXq8glzqddlKQQaiEUiaVCE6+lYeVFYeXFYeUlFIllKnK5ilyhIleatOOqs9Y+8pxqH96OE8PKy8LKq6j2q1XkWypyjYpca1L7dbnH/qp28Y1NzK4/q1nPOQVlXVh5clh5Slh5PQVlg4p8W0VuVJGbTJJ7KoTaAEXiHYnPHhriIdTbUBXflanidAi1Earie0JDxDth5XfDyu+FlTdRPm1WkUpFblGRW00iMQNCbYYisU2msWZCKAVVcbtMFWdBqC1QFXcI5dO2sPL2sPKOsPJWyqf3VeQHKvJDFfmRSSRmQ6j3oUjslGmsORDqA6iKu2SqOBdCfQhVcbdQPu0MK+8KK+8OK39E+fSxivxERe5RkZ+aRGIehPoYisRnQpH4LKz8SVh5T1j5U4rE5ypyr4rcpyK/MJm3fJl77Xu+3FgZ1f7LsPLnYeXVp03mvlKRX6vIb1Tk/lM/PyMdLwJ9pW+HrNCX3YFQ8VuDxXUszb6CmuDAmagOp6HI1rdOP+BdWaEI5sDvdA9Ow33A0Zrbd3wf0t/l0BRYkE93d7p/sg3Z+l4bzQiIyfe00WNA5VsIhVH54Uwqp/8RROWHHLe/ZjXr1yujR5suKb1S0qk4auTgKXXTUvtmpKRmAMlwJjbv1oS7+uWb0LHLleU89Q4XLDDqiVrrhz1eq9wVDuxGhFf7QFj5WyeVG6kif1SRB1XkTznQnlOvd+duXbt261q3X3r/brW7dh0VvvPxY1j5YFj5p3DQtLDy9PDlIYeVPKQiD6vIn8/cvdClRh5oEDjkdKKCidIvuZv9cW/J/kai9Mt/5TxnWScKStIRFfmrivxNRf5+bvsSeRyNkH/I7EpQI/2R6XC3AWylP3P3Htm79WNGrfRnjq105LRW+ktF/q0ij6rIf05tpagsp0p2BEhiwYY/xieNx/I436akTQSotY8z1fF48rn1qgg9JBRcV4RMr4ogy1BwCYag8gjsB1Id8wRQ7xpQxPlss7xibZYXi0deodZApndIvpRBOqwrUrpVIRdh7eoS2nd3RZJtrMJREvvuQf9RIvvurmCVoY8CVx4IFQWh8jn9GsaGwigIlU9ksuKKzt23p8rL8036dD7Me4zMGpErOqwcEzpxeurGpyu/csUqV5xyuU0WMV6Cmi0/FAePUBw8YeXYsHJcWNlNkYhXLq9y+ZTLf+rQl+8Fp0Mf0qKOTOblNkgtx27SFc9tsozeYCZauXwOx2Bw6CggYzbhrGbz/mf23I7IUnOFlQuElROoLyQq1yXKdalyXXZqX4jOGjyxdnp6ysCAtaSgyp3ntDglAjEvsOdwrkux4f82Dmh0mUCwnA4dxxkpBS2GVt5dBUPFQpxNCHx8ugomG0zC8tHfYTOcfFDHL8xEpvBpX9L5Hc/fCyHz938HA+UqIttazka2IrmMbEWVK0m5iilX8VNaOwtt7UIjoVkyOZKZ9ZPlIjoNmVKm6nAxxUvO3WyjTw7dYzRNS87h9sYpIhVc2XOVUK6SylVKuUqfmt+xjvO7hMXJBdzUhTnHljJMY0uZ08aWuNecDPfR/w4aLyLgiIsW5CQkEf+G5AVILs8vkWRsYcaJ3jsB53UWR7NqsM/jEIPlmOlki/GeiEHKVVa5yilXeeWqoFwVlety5bpCua5UrquUq5JyVVauKspVVbmqKdfVylVdua5RrmuV6zrlul65blCuG5WrhnLdpFw1lauWct2sXLWVq45y1VWuW5SrnnLVV64GytVQuRopV2PlaqJcTZWrmXI1V64WytVSuVopV2vlaqNcbZXrVuW6TbnaKVd75bpdue5QrjuVq4NydVSuu5Srk3LdrVwpytVZubooV1flosnfPcrVXbnuVa4eytVTue5Trl7K1Vu5UpUrTbn6KNf9ypWuXDQYZShXP+Xqr1wPKNcA5RqoXA8q10PK9bByPaJcjyrXY8pFARmsXI8r1xPK9aRyPaVcTyvXEOUaqlzPKNezyvWccj2vXMOUi2RzhHJlKhdNabKUa6Rykea8oFwvKtdLyvWycr2iXK8q12vK9bpyjVauN5TrTeUao1xjlWucco1XrgnKNZFt08ZVFoOVgy6YUhLEQLCrMK+VQK9XY16vwbxeC3qtgXmtiXmtBXq9BfNaH/PaAPTaFPPaHPPaAvTaFvN6G+a1Hei1A+b1LsxrJ9BrV8zrPZjX7qDXXpjXVMxrGug1A/PaH/P6AOj1Yczro5jXx0CvT2Jen8a8DgG9Po95HY55HQF6HYV5fRHz+hLo9XXM6xuY1zdBrxNiBk9r1q13WvrARqk9MkZe8r9ZkfVZ0aST7XHqt6M7bNqKfm2XRb5sMFPl+EyV5zNVgc9URT5Tl/OZuoLP1JV8pq7iM1WJz1RlPlNV+ExV5TNVjc/U1XymqvOZuobP1LV8pq7jM3U9n6kb+EzdyGeqBp+pm/hM1eQzVYvP1M18pmrzmarDZ6oun6lb+EzV4zNVn89UAz5TDflMNeIz1ZjPVBM+U035TDXjM9Wcz1QLPlMt+Uy14jPVms9UGz5TbflM3cpn6jY+U+34TLXnM3U7n6k7+EzdyWeqA5+pjnym7uIz1YnP1N18plL4THXmM9WFz1RXPlPd+Ezdw2eqO5+pe/lM9eAz1ZPP1H18pnrxmerNZyqVz1Qan6k+fKbu5zOVzmeqL5+pDD5T/fhM9ecz9QCfqQF8pgbymXqQz9RDfKYe5jP1CJ+pR/lMPcZnahCfqcF8ph7nM/UEn6kn+Uw9xWfqaT5TQ/hMDeUz9QyfqWf5TD3HZ+p5PlPD+EwN5zM1gs9UJp+pAJ+pLD5TI/lMjeIz9QKfqRf5TL3EZ+plPlOv8Jl6lc/Ua3ymXuczNZrP1Bt8pt7kMzWGz9RYPlPj+EyN5zM1gc/URL2pUf8dxeqjXJOUa7JyTVGuqco1TbmmK9cM5ZqpXLOUa7ZyzVGuuco1T7nmK9cC5VqoXIuUa7FyLVGupcq1TLmWK9cK5VqpXKuUa7VyvaVca5RrrXKtU671yrVBud5Wro3KtUm53lGud5XrPeXarFxKubYo11bl2qZc25Vrh3K9r1wfKNeHyvWRcu1Url3KtVu5PlauT5Rrj3J9qlyfKdfnyrVXufYp1xfK9aVyfaVcXyvXN8q1X7kOKNe3yvWdcn2vXD8o14/KdVC5flKuQ8p1WLl+Vq5flOuIcv2qXL8p1+/K9Ydy/alcfynX38p1VLn+Ua5jynVcRUWoqDwqKq+KilRRLhUVpaLyqahoFRWjovKrqFgVFaei3CrKo6LiVZRXRflUlF9FFVBRCSoqUUVd8t+11qhL/wsyYS5TUQVVVCEVVVhFFVFRRVVUkooqpqKKq6hkFVVCRZVUUaVUVGkVVUZFlQ0ZKcd3w2ASeKByOnaMcyZobh5mbgFobilmbjlo7i3M3FrQ3EbM3DuguS2YuW2guQ8xcztBc3swc5+B5r7EzH0NmvsOM/cDaO4wZu4X0NwfmLm/QHPHIXNReTBzUfkwczGgOQ9mzguaS8TMXZoMwS7DYAUxWCEMVhiDFcFgRTFYEgYrhsGKY7BkDFYCg5XEYKUwWGkMVgaDlcVg5ZINnl9ylcXONWcBt8OjygMTCud32K8hwwHIP3DoHYpkhWTnD9pSPaE6VnQYIwvNCJzSN2vGClAzlkuS8B9VkYhh/os59I+9qx11BdJE5ZIgVDGRnlaTKon1tCuZetqVRj2tJlTHq0x6mt5spfPajBFmzXgllunFRXraVRQkzH+yTE+rDAW/OIRKFulp9amSWE+rwtTTqhj1tPpQHavK9LRq57UZI8yasQqW6SVEelpVChLmv6RMT7saCn4JCFVSpKc1p0piPa06U0+rbtTTmkN1vEamp117XpsxwqwZq2OZXkqkp9Hs9VrMf2mZnnYdFPxSEKq0SE+7jSqJ9bTrmXra9UY97TaojjfI9LQbz2szRpg14/VYppcR6Wk3UJAw/2VleloNKPhlIFRZkZ52F1US62k3MfW0m4x62l1QHWvK9LRa57UZI8ya8SYs08uJ9DT6TqyF+S8v09NuhoJfDkLJrD3eQ5XEelptpp5W26in3QPVsY5MT6t7XpsxwqwZa2OZXkGkp9WhIGH+K8r0tFug4FeAUBVFeloqVRLrafWYelo9o56WCtWxvkxPa3BemzHCrBnrYZkusssQRSsyDTD/V8j0tIZQ8C+HUFeI9LT+VEmspzVi6mmNjHpaf6iOjWV6WpPz2owRZs3YCMv0K0V6WmMKEub/Kpme1hQK/pUQ6iqRnvYoVRLrac2Yelozo572KFTH5jI9rcV5bcYIs2ZshmV6JZGeRmufLTD/lWV6Wkso+NjGaGWRnvY0VRLraa2Yeloro572NFTH1jI9rc15bcYIs2ZshWV6FZGe1pqChPmvKtPT2kLBrwKhqor0tOFUSayn3crU02416mnDoTreJtPT2p3XZowwa8ZbsUyvJtLTaJehHeb/apme1h4KPnYE4WqRnvYiVRLrabcz9bTbjXrai1Ad75DpaXee12aMMGvG27FMry7S0+6gIGH+r5HpaR2g4FeHUNeI9LQ3qJJYT+vI1NM6GvW0N6A63iXT0zqd12aMMPhpPWrGjlCXoI23Tlh7X+q0S0A/thZ1KeQc2fU7t19YR/iFfmE96m6hX1iPupRsYxVOkfiF9aD/lEyn0S6a5TTal+UOOn78+CH097ryBP9P6FdPozqHil3YbnZGdcZgXUxunkRdlnsnyDp0AtUZ6ipdgMg6T4sUco+NE50djhMBzU+A/nT8+J8n7vamAANKjDaW/9YSeMtw8JSTP7HRok/WJSPBXwDEkp/vIcWobhdFtO8BOqFYtPkeiIzqflFEW//2ZF65aPM9fBnVQyzaIxmjnQKh9C9vRsq1Cd+zn1H3XeBtQvaOo22if3fUJdcmfI+eRvW+8NvkGNom+ldXo+TahO/J16i0i0Ip9K/J5pOLNt9TtlH3X/g94CjaA9K1DqPl2iSdz1Rf5jb5V21pyostLKSg82dHH9FZSC1d04KZA35WpWE/Sj8NSh6nww5GZ7oDOvdjdKZDdO4XoTPDAZ2+GJ0ZEJ2+InSmOqDTG6MzFaLTW6KHu6ZQRbFF+toG/iOQKN2HPTQxBYrSfdAycG2R1JjkIDW6Y6kxCSLdXSQ1JsOpUU8qNXpgqTEZilIPKDVEuJyQqEwRy9PFLM8QszxVzPIUMcuTxCxP5tgDONcdpeCyfh7TPYCMULEf3x5ABgbrl2yyqXgptAeQAdnqB0T2HDdwCspt4PQPFR/ga7z+GOwBow2cglDjYcf4HwAi61y7Msg91i37M2v3yY/pgsHchT6mC0K1BH6wRO4zme/XUqIGXhTRfhDohGLR5vsVmKiHLopo639gRnADh+/XbaIeEYv2SMZoY5Kq/3kdwQ0cvt/2iXrsAm+Tkxs4WJvof1xIcAOH75eNogZf+G1yDG0T/U8rCW7g8P2uU9QTF4VS6H8ySnADh+/3qqKeuvB7wFG0B+h/MEtwA4fv17qihjC3yb9qS1NebAMnA50/C2zgzA1mDvhZ9QS2cDoXSh6nww5GZ54DOk9hdOZBdJ4SoTPfAZ0hGJ35EJ0hInTmOKAzGKMzB6IzWKKHu2ZTRbFV+hYiq/QUpcewVfrZUJQeg1bpW4ikxkwHqfEQlhozIdIPiaTGLDg12kilxiNYasyCovQIlBoIl7OtxsKnIi7DRBU7F1RQv15rurg7NFR8hm9xdygGeybZYMYSPAY0ijO40FrxUMjWM0BDOb9dBTp/Fmg8o03WDGzHBDtPhU3anxPh8iwZDjD5jzBMXc5x4XmJUfnEZFtmI3OemOX5YpbniFmeLWZ5ppjlWaBl8a3ovKaCNyxUHM4neMMw2HDBrehhkK3hQGTPcSu6kNxW9IhQMZOv8UZgsEyjrehCUOONgBovE4isc1UcRu6xbjmCWRVPLgsWCuYutCxYCKol8EPfcgt+fL8yHpV1UUQbSDG5aI/kMzXqooi2/ofZBbei+X4VPupFsWiPZIw2Jqn6n6UX3Ip+ic/Uyxd4m5zcisba5BWbW9Gv8Jl69cJvk2Nom7xmcyv6NT5Tr18USjHa5lb0aD5Tb1z4PeAo2gPetLkV/SafqTEiq2P0HZKFrY4NQ+fPAlvRS4KZA35WvY5tAS2BksfpsIPRWeqAzhsYnaUQnTdE6CxzQGcMRmcZRGeMCJ3FDui8itFZDNF5VYTOIgd0XsboLILovCxCZ4EDOqMwOgsgOqNE6Cx0QOdFjM5CiI7Tj0Fw1wzT5LEGO03QDjC2sx41DvB/tgVZqF2Du+wF0e345zEBxk5DFgJ2Qw0XgseHihP4FoLHY7AJJtvWBeGzFiZviOnon2xczP89Trvji5w5Ay2Xj4dsTYCOg3SDUPcAuWwwRmFEJhqMUbo/oJGPBh9sjJokkpETybCMfzD4YyHUZIfBzxzF2B2mnLcUPvHPYEeYvocmy+w1LxWzvEzM8mIxy4vELC8Qs7wQtCx+WiDSdJ4xNVScxjfPmIrBpgmeFsCelJkGRPYcTwsUBva0DRtveqg4g6/xpmOwGUanBQpDjYe91jQDiKxz1Z5K7rFuOV1k5bZwMHehldvCUC1nArUUW5OdyWdq1kUR7dlAJxSL9mw+U3MuimjP1ZoSPC0wl8/UPLFoj2SMNiap87UOBU8LzOczteACb5OTpwWwNlmodSh4WmAhn6lFF36bHEPbZLHWoeBpgcV8ppZcFEqxVGtK8LTAUj5Tyy78HnAU7QHLtQ4FTwss5zO1grlN/lVbmvJimxVT0fmzwGmB1cHMAT+rlmB7aquh5HE67GB03nJAZxlG5y2IzjIROmsc0FmB0VkD0VkhQmeVAzqLMDqrIDqLROisdEBnAUZnJURngQid5Q7ozMHoLIfozBGhs8IBnXkYnRUQHacfg+BmEKbJKx1uBmFaFtyJw9YHx0KocRCXVeewMg/97GGQVyEIOJl2urBFxcL6FWDT5eLVoeJbfMvFqzHYW8kGa7GFKMTYnr7JI6J6/3CzlXvAaad9AcsGaLkcmzG9BW2i9odQDwBZajBGYUTWGIxRuj+gkY8GDKyLrhXJNZqrrZXxDwYfmzuscxh8cFNv/XlLzjPjg+310pfOOpld5LfELK8Rs7xKzPJKMcvLxSyvAC2LnwNwmc4NNoSKb/PNDTZgsLcFzwFsgGy9DUT2HM8BFAF2qw0bb2OouImv8TZisE1G5wCKQI23EWq8TUBknevxBnKPdcuNImuyRYK5C63JFoFq+Q5QS7HV1nf4TL17UUT7PaATikX7PT5Tmy+KaCutKcFzAIrP1BaxaI9kjDYmqVu1DgXPAWzlM7XtAm+Tk+cAsDbZrnUoeA5gO5+pHRd+mxxD2+R9rUPBcwDv85n64KJQig+1pgTPAXzIZ+qjC78HHEV7wE6tQ8FzADv5TO1ibpN/1ZamvNg5gA3o/FngHMDbwcwBP6s+wHbL3oaSx+mwg9HZ6IDORxgd7Fv2IxE6mxzQ2YXR2QTR2SVCZ4MDOjswOthItUOEznoHdLZhdNZDdLaJ0FnrgM5mjM5aiM5mETrrHNDZgtFZB9Fx+jEIbvNgmb7bYI8N2GKiPTZsfXAlhMJO73x8Divz2DkA4lUYAlIyrccWFYvoV4BNl4s/CRX38C0Xf4LB9picAyhMIcb24U1+REjvH262ckOddlrsHAC2XP4JZGsPtIk6BEINBbLUYIzCiHxqMEbp/oBGPhowsC76mUiufUqGZfyDwd8NoT53GHxwU2/veUvOM+OD7fXSl87nMrvIG8UsbxKzvEHM8noxy2vFLK8DLYufA4gynRvsCxW/4Jsb7MNgXwieA9gH2foCiOw5ngMoCuxWGzbel6HiV3yN9yUG+8roHEBRqPG+hBrvKyCyzvV4H7nHuuWXImuyRYO5C63JFoVq+TVQS7HV1q/5TH1zUUR7P9AJxaK9n8/UgYsi2t9qTQmeA/iWz9R3YtEeyRhtTFK/1zoUPAfwPZ+pHy7wNjl5DgBrkx+1DgXPAfzIZ+rghd8mx9A2+UnrUPAcwE98pg5dFEpxWGtK8BzAYT5TP1/4PeAo2gN+0ToUPAfwC5+pI8xt8q/a0pQXOwewD50/C5wDUMHMAT+rDmG7ZQpKHqfDDkZniwM6P2N0tkB0fhahs9UBnSMYna0QnSMidDY7oHMQo7MZonNQhM57Duj8gNF5D6LzgwiddxzQOYDReQeic0CEzrsO6HyH0XkXouP0YxDc5sE0+VeDPTZgi4n22LD1wd0Q6mOIy2/nsDKPnQMgXkUg4Oe004UtKhbVrwCbLhf/Hir+wbdc/DsG+8PkHEARCjG2D2/yW396/3CzlXvFaafFzgFgy+W/Q7b+gDZRX4ZQrwBZajBGYUT+NBijdH9AIx8NGFgX/Usk1+gz7C8Z/2Dwf4VQfzsMPripd/S8JeeZ8cH2eulL52+ZXeQtYpa3ilneLGb5PTHL74hZfhe0LH4OIJ/p3OCfUPEY39zgHwx2TPAcwD+QrWNAZM/xHEASsFtt2HjH/yvmi+BrvOMQLF+E0TmAJKjxjiONly8CiKxzPf6H3GPd8rjImmxSMHehNdkkKEp5gFpKrbYizlFTeS+KaEcCnVAs2pF8plwXRbSjtKbkzgEAzmFT+cSiPZIv2pik5ovWOpQ7BwA4h03FXOBtcvIcANYm+bUO5c4BAM5hU7EXfpscQ9skTutQ7hwA4Bw25b4olMKjNSV3DgBwDpuKv/B7wFG0B3i1DuXOAQDOYVM+5jb5V21pyoudA/gHnT8LnAP4IJg52GdVPje2W/YBlDxOhx2MzocO6MRjdD6E6MSL0PnIAR0fRucjiI5PhM77DujEYnTeh+jEitDZ4YBODEZnB0QnRoTONgd0XBidbRAdlwid7Q7o5MPobIfoOP0YBLd5ME32G+yxAVtMtMeGrQ/+CqF+g7gUOIeVeewcAPEqCgH/pp0ubFExSb8CbLhcnC8hVExkWy7Ol4DBEk3OARSlEGP78FMl9nfwZis3zWmnxc4BQMvl+RKg7pAIbaJCPzJVbhqQpc7HKJDIJQZjlO4PaOSjAQNq63yXSuRavkvIsIx/MPh+CHWZw+Bjm3r5Cp635DwzPthe7wfEXWYX+UMxyx+JWX5fzPIOMcvbxCxvBy2LnwOINp0bFAoVC/PNDQphsMJy5wDyFYKGn8JAZM/xHEAxYLfasPGKhIpF+RqvCAYranQOoBjUeNBbr/mQlxac63Ehco/pcRGRNdliwdyF1mSLQbVMAmopttqaxGeq2EUR7eJAJxSLdnE+U8kXRbRLaE0JngMowWeqpFi0RzJGG5PUUlqHgucASvGZKn2Bt8mJcwBgm5TROhQ8B1CGz1TZC79NjqFtUk7rUPAcQDk+U+UvCqWooDUleA6gAp+pihd+DziK9oDLtQ4FzwFczmfqCuY2+VdtacoLbS+diLYeVUzkHMAnwcwBP6vKY7tl0OOwjocdjM4eB3QqYnT2QHQqitD51AGdKzA6n0J0rhCh87EDOmUxOtDNYsfzDozObgd0SmN0oLd9HU9tMTo7HdBJxujshOgki9DZ5YBOSYzOLoiO049BcJsH0+QrDfbYgC0m2mOD1gdPbEbpUQUgLledw8o8dA6AeEUlQcDLaKcLW+svpl8BNl0urhQqVuZbLq6EwSqbnANIohBj+/DLJPZ38GYrt9xpp8XOAWDL5ZWg7lAZ2kRdBqGWA1lqMEZhRKoYjFG6P6CRjwYMbN2/qkiuVSHDMv7B4F8Joao5DD54DuDq85acZ8YH2+ulL51qMrvIe8Qsfypm+WMxy7vFLO8Us7wLtCx+DiDGdG5QPVS8hm9uUB2DXSN4DqA6NPxcA0T2HM8BFAd2qw0b79pQ8Tq+xrsWg11ndA6gONR410KNdx0QWed6XJ3cY3p8rciabPFg7kJrssWhWl4P1FJstfV6PlM3XBTRvhHohGLRvpHPVI2LIto3aU0JngO4ic9UTbFoj2SMNiaptbQOBc8B1OIzdfMF3iYnzwFgbVJb61DwHEBtPlN1Lvw2OYa2SV2tQ8FzAHX5TN1yUShFPa0pwXMA9fhM1b/we8BRtAc00DoUPAfQgM9UQ+Y2+VdtacqLnQOojs6fBc4BfBHMHPCz6hZst+wLKHmcDjsYnS8d0KmP0YF+485xv8bofOWATkOMzlcQnYYidPY5oFMHowO9lu543oHR2euAzs0Ynb0QnZtF6HzmgE4NjM5nEJ0aInQ+d0CnJkbnc4iO049BcJsH0+RGBntswBYT7bFh5wCuhFBXQVwan8PKPHYO4EraqYWA1WinC1vrL65fATZdLm4SKjblWy5ugsGampwDKEYhxvbh35PY38Gbrdxmp50WOweALZc3gbpDU2gT9T0ItRnIUoMxCiPSzGCM0v0BjXw0YGDr/s1Fcq0ZGZbxDwa/EYRq4TD44DmAluctOc+MD7bXS186LWR2kb8Us/yVmOV9Ypb3iln+TMzy56Bl8XMA+U3nBq1CxdZ8c4NWGKy14DmAVtDw0xqI7DmeA0gGdqsNG69NqNiWr/HaYLC2RucAkqHGawM1Xlsgss71uBW5x/S4jciabHIwd6E12WSolrcCtRRbbb2Vz9RtF0W02wGdUCza7fhMtb8oon271pTgOYDb+UzdIRbtkYzRxiT1Tq1DwXMAd/KZ6nCBt8nJcwBYm3TUOhQ8B9CRz9RdF36bHEPbpJPWoeA5gE58pu6+KJQiRWtK8BxACp+pzhd+DziK9oAuWoeC5wC68Jnqytwm/6otTXmxcwCt0PmzwDmAb4OZA35W3Y3tln0LJY/TYQej850DOp0xOt9BdDqL0PneAZ2uGJ3vITpdRegccEDnLozOAYjOXSJ09jug0wGjsx+i00GEztcO6LTH6HwN0WkvQucbB3TuwOh8A9Fx+jEIbvNgmtzNYI8N2GKiPTbsHEAjCNUY4nLPOazMY+cAGtFOLQRsQTtd2Fp/sn4F2HS5uHuoeC/fcnF3DHavyTmA4hRibB9+j8T+Dt5s5T512mmxcwDYcnl3qDvcC22i7oFQnwJZajBGYUR6GIxRuj+gkY8GDGzdv6dIrvUgwzL+weB3g1D3OQw+eA6g13lLzjPjg+310pfOfTK7yN+JWf5ezPIBMcv7xSx/LWb5G9Cy+DmAWNO5Qe9QMZVvbtAbg6UKngPoDQ0/qUBkz/EcQAlgt9qw8dJCxT58jZeGwfoYnQMoATVeGtR4fYDIOtfj3uQe0+M0kTXZEsHchdZkS0C1vB+opdhq6/18ptIvimj3BTqhWLT78pnKuCii3U9rSvAcQD8+U/3Foj2SMdqYpD6gdSh4DuABPlMDLvA2OXkOAGuTgVqHgucABvKZevDCb5NjaJs8pHUoeA7gIT5TD18USvGI1pTgOYBH+Ew9euH3gKNoD3hM61DwHMBjfKYGMbfJv2pLU17sHEBvdP4scA7gUDBzwM+qh7HdskNQ8jgddjA6hx3QeRSjcxii86gInZ8d0BmE0fkZojNIhM5PDug8iNH5CaLzoAidgw7oDMDoHIToDBCh84MDOhkYnR8gOhkidH50QKc/RudHiI7Tj0FwmwfT5MEGe2zAFhPtsWHnALpBqHsgLo+fw8o8dg6gG+3UQsD7aKcLW+svoV8BNl0ufiJUfJJvufgJDPakyTmAZAoxtg//o8T+Dt5s5Q467bTYOQBsufwJqDs8CW2i/gihDgJZajBGYUSeMhijdH9AIx8NGNi6/9MiufYUGZbxDwZ/MIQa4jD44DmAoectOc+MD7bXS186Q2R2kQ+LWf5ZzPJPYpYPiln+Qczyj6Bl8XMAcaZzg2dCxWf55gbPYLBnBc8BPAMNP88CkT3HcwAlgd1qw8Z7LlR8nq/xnsNgzxudAygJNd5zUOM9D0TWuR4/Q+4xPX5OZE22ZDB3oTXZklAthwG1FFttHcZnavhFEe0RQCcUi/YIPlOZF0W0A1pTgucAAnymssSiPZIx2pik6gdZwXMAI/lMjbrA2+TkOQCsTV7QOhQ8B/ACn6kXL/w2OYa2yUtah4LnAF7iM/XyRaEUr2hNCZ4DeIXP1KsXfg84ivaA17QOBc8BvMZn6nXmNvlXbWnKi50DeAadP+ucGuyW/R7MHPCz6mVst+x3KHmcDjsYnT8c0HkVo/MHROdVETp/OqDzOkbnT4jO6yJ0fnNA50WMzm8QnRdF6PzqgM4ojM6vEJ1RInR+cUAnE6PzC0QnU4TOEQd0sjA6RyA6Tj8GwW0eTJNHG+yx6a0G99iwcwCDIdTjEJc3zmFlHjsHMJh2aiHgENrpwtb6S+pXgE2Xi98MFcfwLRe/icHGmJwDKEEhxvbhj0ns7+DNVu64006LnQPAlsvfhLrDGGgT9RiEOg5kqcEYhREZazBG6f6ARj4aMLB1/3EiuTaWDMv4B4M/GkKNdxh88BzAhPOWnGfGB9vrpS+d8TK7yH+IWf5TzPJvYpZ/FbP8i5jlI6Bl8XMAbtO5wcRQcRLf3GAiBpskeA5gIjT8TAIie47nAEoBu9WGjTc5VJzC13iTMdgUo3MApaDGmww13hQgss71eCK5x/R4ssiabKlg7kJrsqWgWk4Faim22jqVz9S0iyLa04FOKBbt6XymZlwU0Z6pNSV4DmAmn6lZYtEeyRhtTFJnax0KngOYzWdqzgXeJifPAWBtMlfrUPAcwFw+U/Mu/DY5hrbJfK1DwXMA8/lMLbgolGKh1pTgOYCFfKYWXfg94CjaAxZrHQqeA1jMZ2oJc5v8q7Y05cXOAUxE588C5wCCwx36WbUA2y07BiWP02EHo3PcAZ1FGJ3jEJ1FEnSiIhzQWQLRiYqA6CwRaZ1/HNCZh7XOPxCdeSJ0jjqgMwejcxSiM0eEzl8O6MzA6PwF0ZkhQudvB3RmYXT+hug4/RgEt3kwTV5qsMcGbDHRHht2DmA0hHoD4rLsHFbmsXMAo2mnFgKOp50ubK2/lH4F2HS5eHmouIJvuXg5Blthcg6gJIUYClt5r8T+Dt5s5X1OOy12DgBbLl8OdYcVSNcq74VQPiBLDcYojMhKgzFK9wc08tGAga37rxLJtZVkWMY/GPylEGq1w+CD5wDeOm/JeWZ8sL1e+tJZLbOLfFzKcnD+L1Tnf8QsHxWz/JeY5b9By+LnADymc4M1oeJavrnBGgy2VvAcwBpo+FkLRPYczwGUBnarDRtvXai4nq/x1mGw9UbnAEpDjbcOarz1QGSd6/Eaco/p8TqRNdnSwdyF1mRLQ7XcANRSbLV1A5+pty+KaG8EOqFYtDfymdp0UUT7Ha0pwXMA7/CZelcs2iMZo41J6ntah4LnAN7jM7X5Am+Tk+cAsDZRWoeC5wAUn6ktF36bHEPbZKvWoeA5gK18prZdFEqxXWtK8BzAdj5TOy78HnAU7QHvax0KngN4n8/UB8xt8q/a0pQXOwewBp0/858DiIoKZg74WbUN22mOgpLH6bCD0cnngM4OjE4+iM4OETrRDuh8gNGJhuh8IELH5YDOFoyOC6KzRYROpAM6mzE6kRCdzSJ08jigswmjkweis0mETl4HdN7F6OSF6Dj9GAS3eTBN/tBgjw3YYqI9NuwcwFIItQzi8tE5rMxj5wCW0k4tBFxNO13YWn9p/Qqw6XLxzlBxF99y8U4MtsvkHEApCjG2D58ssb+DN1v5Ek47LXYOAFsu3wl1h13QJmoyhEJ+vcJgjMKI7DYYo3R/QCMfDRjYuv/HIrm2mwzL+AeD/yGE+sRh8MFzAHvOW3KeGR9sLKIvnU9kduvziVmOFrPsErMcKWY5j5jlvKBl8XMA8aZzg09Dxc/45gafYrDPBM8BfAoNP58BkT3HcwBlgN1qw8b7PFTcy9d4n2OwvUbnAMpAjfc51Hh7gcg61+NPyT2mx5+LrMmWCeYutCZbBqrlPqCWYqut+/hMfXFRRPtLoBOKRftLPlNfXRTR/lprSvAcwNd8pr4Ri/ZIxmhjkrpf61DwHMB+PlMHLvA2OXkOAGuTb7UOBc8BfMtn6rsLv02OoW3yvdah4DmA7/lM/XBRKIX+90MFzwH8yGfq4IXfA46iPeAnrUPBcwA/8Zk6xNwm/6otTXmxcwCfovNngXMA7mDmgJ9VP2C7ZW4oeZwOOxgdjwM6BzE6HojOQRE68Q7oHMLoxEN0DonQiXNA5zuMThxE5zsROrEO6BzA6MRCdA6I0IlxQOcrjE4MROcrETr5HdD5BqOTH6Lj9GMQ3ObBNPmwwR4bsMVEe2zYOYAPIdRHEJefz2FlHjsH8CHt1ELAT2inC1vrL6NfATZdLv4lVDzCt1z8CwY7YnIOoDSFGNuHryKxv4M3W/mqTjstdg4AWy7Hfj7lCLSJWgVCVQWy1GCMwoj8ajBG6f6ARj4aMLB1/99Ecu1XMizjHwz+YQj1u8Pgg+cA/jhvyXlmfLCxiL50fpfZRfaIWY4XsxwnZjlWzHKMmOX8oGXxcwBe07nBn6HiX3xzgz8x2F+C5wCw37H7C4jsOZ4DKAvsVhs23t+h4lG+xvsbgx01OgdQFmo87AG1o0Bknevxn+Qe0+O/RdZkywZzF1qTLQvV8h+glmKrrf/wmTp2UUT7ONAJxaJ9nM1UdMTFEO3oPFpTcucAAOewqbxi0R7JmNuQpEZHah3KnQMAnMOmXBd4m5w8B4C1SZTWodw5AMA5bCrfhd8mx9A2idY6lDsHADiHTcVcFEqRX2tK7hwA4Bw2FXvh94CjaA+I0zqUOwcAOIdNuZnb5F+1pSkvdg7gT3T+LHAOICGYOdhnVXQMtluWACWP02EHo5PogE4sRicRohMrQucSB3TcGJ1LIDpuEToFHNDJh9EpANHJJ0LH74COC6Pjh+i4ROh4HdCJwOh4IToRInR8Dujkxej4IDpOPwbBbR5Mkz0Ge2zAFhPtsWHnAA5DqJ8hLvHnsDKPnQM4TDu1EPB32unC1vrL6leADZeLo72hoo9tuTjai8F8yWf0QZ37E+dTD8PxxXYPoAXoaGzg8QFt5byngs79Bj1V9wfU/6nbQIkaXUBiRy3aT4bl/CPz2WgPtq+TIOI/EfafKOL/Etj/JSL+C8D+ZdrfD/v3i/j3wv69Iv59sH+f02kKZnaswLBCZlMQdciD1NA1GUGVqyfAowzIowzEYwrEo7ZEmrmmERPst7Sm6VHRZEy7KvXXmcmo1xjNGJ/v8LQiOUx+FrRM69utR9e01Kotu6X37peRktEjLTVrVNhkKCFUdk0JK08NlSNXjVLRpAY0IF+qoi87VzfRiWFupoW5WUBuCqroQiq6sIouYrCl75oELZIVhAJeFMg2k0gUDSsXCisXDisXoUgkqehiKrq4ik4+9cugSMDhsQ/XdP1OQSA0Hy+Bzced/2LJdLKtm3We2LUgGNKMJR2uIsK1LBmAalnSRHX0eZf7r7FFbOpcZZRR3pUK63WTw/73pNM6emkVXUZFl1XR5Qw0O4XCkoW1HhSM8hIz+2Abl8fauLxMG1fI3aznqf6PGLVxhbA2nhH2v5c+rY0rqujLVfQVKvrKcx1bJusDFDa2XCU1tkwm29gOSSWRUYP8V5I51xnsUdhyQgqUeli/qyzyRV+JDItEKfK4ckVhtyQaiIwo+ZSrDOa/odMRBWr8aOxYegMI1dBh42NrSWB+VhXJvCpkGBuaqxlN+85cZKxmcqA4+urz2owRztdBg9PSyhCwPMkMFvLqIl2ShuTKmP9rZL7zM/i+82dB38dtZL7zM/i+82dDPFqIfOfPJSbYd/5c6Ds/w+F3PlbLSfBqxCQot68V2cGjSCLOrwPG8lPmn0kj/5t/YuP6teQEmVGA21TBf8kOwHlocjuxdnp6ysA9Eckq+noVfYOKvlFF11DRN6nomiq6loq+WUXXVtF1VHRdFX2Liq6nouur6AYquqGKbqSiG6voJiq6qYpupqKbq+gWKrqlim6lolur6DYquq2KvlVF36ai26no9nz7ZNfHQLAbMNiNGKwGBrsJg9XEYLUw2M0YrDYGq4PB6mKwWzBYPQxWH4M1wGANMVgjDNYYgzXBYE0xWDMM1hyDtcBgLTFYKwzWGoO1wWBtMditGOw2DNYOg7WPOVWsRkEydL1+qYek5AYtKig4N0Ifec2dqq6OyE8n1K4GdGDgplxRR0aeRNWEiLRgJbL313+d18oFVWdfNurms6My6/6Hqg0RaclHJC0Qcl7nbKglfcJQdc+CGrA0HHULRKQVE5EGA09xXi9H1P6Gp6Lq54SqeuA0VAOISGsOIuWqne684ZmoDuXPQDU6A9Wu45moxhCRNudMZFD7HJw3OQ01aHBOqKanohYOzhHVDCLS9tyI3LIoZ+fNw1Et6p0F1SIMtbjl2VAtISK3ngOR8kvO6rzVf6g3K5wd1TobVXlMLqg2EJHbTInsrZKb87YnUffvyxV16wlUs/TcUbdBRNqJnNAKfv29HvTfpbmmlu0IVamrDtUeWldrDqFaQKiWEKoVhGoNodpAqLYQ6lYIdRuEQjLk3Paqottrp4Hbw/aqbhfaq4puT7aBffDtQRhi7w6JHa1gLe8IQLW8w2nLOX64IthyGtA2R6s2YSeR7wwVO/CtsNyJwTrEGJxyOTFM6b9n7oS+jToAkTU4N4w572jQv4BVR0pJ7AzCdVAt7xLRro5kOMDm/xxHxnbahBodNjJ2khoZaZWzEzAyjg7CEHt3i4yMVMu7A1At75bYyAjm912c+Z0iskUQfTeE6ux0i8C5eOhnFq+bikeXULErn3h0wWBdjcSjHSQeXaDG6wpE1iBzMOfdRIagFEpJbFi+R0QWKJPusen/LjKMHVW4C6slhOrudBRwLnG3adN+fpjE3SslcbSXdy8gcfODMMReDxGJo1r2CEC17CGShSRx3bFe0FNGvHpAqPvkxUu/AjTPVLx6hYq9+cSrFwbrbSRet0Hi1QtqvN5AZA0yB3OeKjK49KSUxLpNmki3TSXDMv7B4KdBqD4in53ZyqkzfVI59ShMOe8X+cToQ4Y5I54ur++3akeGEWH63ldK328l24C+jwjCEHsZIvpOtcwIQLXMkNL3dGyg6CczUGDn1/rL67t+q2q4qb4/ECoO4NP3BzDYACN9vxXS9wegxhsARNYgczDnA0UGl36Ukli3eVCk2w4kwzL+weA/CKEeEgl+tibqkZgmPiyi3A+RYc5YPiKv3G21fT45TLkflVLutmQbUO7kIAyx95iIclMtHwtAtXxMSrkfwYaAQTJDwGMQarC8cutPyxQ3Ve7HQ8Un+JT7cQz2hJFyt4WU+3Go8Z4AImuQOZjzJ0UGl0GUkli3eUqk2z5JhmX8g8F/CkI9LRL8bE3UIzFNHCKi3E+TYc5YDpVX7jbaPr8tTLmfkVLuNmQbUO5tQRhi71kR5aZaPhuAavmslHIPxYaA52SGgGch1PPyyq0/sLvVVLmHhYrD+ZR7GAYbbqTcbSDlHgY13nAgsgaZgzkfITK4PEcpiXUbkZcNomkNLlPGPxj8TAgVEAl+tibqkZgmZokod4AMc8ZypLxyt9b2+ZQw5R4lpdytyTag3ClBGGLvBRHlplq+EIBq+YKUco/EhoAXZYYA6Idio1+SV+7WWtDdpsr9cqj4Cp9yv4zBXjFS7taQcr8MNd4rQGQNMgdz/qrI4PIipSTWbV4T6bavkmEZ/2DwX4NQr4sEP1sT9UhME0eLKPfrZJgzlm/IK3crbZ/fFabcb0opdyuyDSj3riAMsTdGRLmplmMCUC3HSCn3G9gQMFZmCBgDocbJK7f+2vJOU+UeHypO4FPu8RhsgpFyt4KUezzUeBOAyBpkDuZ8osjgMpZSEus2k0S67UQyLOMfDD72ttNkkeBna6IeiWniFBHlnkyGOWM5VV65W2r7fKMw5Z4mpdwtyTag3I2CMMTedBHlplpOD0C1nC6l3FOxIWCGzBAwHULNlFdu/cspDU2Ve1aoOJtPuWdhsNlGyt0SUu5ZUOPNBiJrkDmY8zkig8sMSkms28wV6bZzyLCMfzD4cyHUPJHgZ2uiHolp4nwR5Z5HhjljuUBeuVto+/zcMOVeKKXcLcg2oNxzgzDE3iIR5aZaLgpAtVwkpdwLsCFgscwQsAhCLZFXbv3jbXNMlXtpqLiMT7mXYrBlRsrdAlLupVDjLQMia5A5mPPlIoPLYkpJrNusEOm2y8mwjH8w+Csg1EqR4Gdroh6JaeIqEeVeSYY5Y7laXrmba/v8ijDlfktKuZuTbUC5VwRhiL01IspNtVwTgGq5Rkq5V2NDwFqZIWANhFonr9z692OXmyr3+lBxA59yr8dgG4yUuzmk3OuhxtsARNYgczDnb4sMLmspJbFus1Gk275NhmX8g8HfCKE2iQQ/WxP1SEwT3xFR7k1kmDOW78ordzNtn28SptzvSSl3M7INKHeTIAyxt1lEuamWmwNQLTdLKfe72BCgZIaAzRBqi7xyN9OCGpsq99ZQcRufcm/FYNuMlLsZpNxbocbbBkTWIHMw59tFBhdFKYl1mx0i3XY7GZbxDwZ/B4R6XyT42ZqoR2Ka+IGIcr9Phjlj+aG8cjfV9vlBYcr9kZRyNyXbgHIPCsIQeztFlJtquTMA1XKnlHJ/iA0Bu2SGgJ0Qare8cjfVgh4zVe6PQ8VP+JT7Ywz2iZFyN4WU+2Oo8T4BImuQOZjzPSKDyy5KSazbfCrSbfeQYRn/YPA/hVCfiQQ/WxP1SEwTPxdR7s/IMGcs98ordxNHyr1PSrnpM3Ufptz7IFpfiCg31fILTLm/kFLuvdgQ8KXMEPAFhPpKXrmbyCn316HiN3zK/TUG+8ZIuZtAyv011HjfyCg35ny/yODyJaUk1m0OiHTb/WRYxj8Y/AMQ6luR4Gdroh6JaeJ3Isr9LRnmjOX38srdWNvnp4Yp9w9Syt2YbAPKPTUIQ+z9KKLcVMsfA1Atf5RS7u+xIeCgzBDwI4T6SV65G2tBU0yV+1CoeJhPuQ9hsMNGyt0YUu5DUOMdBiJrkDmY859FBpeDlJJYt/lFpNv+TIZl/IPB/wVCHREJfrYm6pGYJv4qotxHyDBnLH+TV+5G2j4/IUy5f5dS7kZkG1DuCUEYYu8PEeWmWv4RgGr5h5Ry/4YNAX/KDAF/QKi/5JW7kRY03lS5/w4Vj/Ip998Y7KiRcjeClPtvqPGOApE1yBzM+T8ig8uflJJYtzkm0m3/IcMy/sHgH4NQx0WCn62JeiSkiTERIsp9nAwzxjImj7xyN9T2+d0h5Y7JK6XcDck2oNy7gzDAXkykiHJTLSMDUC0jhZQ7Jg80BMS4RIaAmEgIFSWv3A21oF2Gyh2TL1SMZlPumHwYLNpIuRsiyh2TD2q8aCCyBpmDOY+RGFxiXJSSWLfJL9FtY2LIsIx/MPj5IVSsyMierYl6JKaJcRLKHRNLhjlj6ZZX7gbaPr8lTLk9UsrdgGwDyr0lCEM6S7yIclMt4wNQLeOllNuNDQFemSEgHkL55JW7gRakTJXbHyoW4FNuPwYrYKTcDSDl9kONVwCIrEHmYM4TRJTbSymJdZtEEeVOIMMy/sHgJ0KoS0SCn62JeiSmiZeKKPclZJgzlpfJK3d9bZ8vFKbcBaWUuz7ZBpS7UBCGZEEhEeWmWhYKQLUsJKXcl2FDQGGZIaAQhCoir9z1taCCpspdNFRM4lPuohgsyUi560PKXRRqvCQgsgaZgzkvJiIehSklsW5TXES5i5FhGf9g8ItDqGSR4Gdroh6JaWIJEeVOJsOcsSwpr9z1tH1+aZhyl5JS7npkG1DupUEYkgWlRZSbalk6ANWytJRyl8SGgDIyQ0BpCFVWXrnraUFLTJW7XKhYnk+5y2Gw8kbKXQ9S7nJQ45UHImuQOZjzCiLiUYZSEus2FUWUuwIZlvEPBr8ihLpcJPjZmqhHYpp4hYhyX06GOWN5pbxy36Lt80PDlPsqKeW+hWwDyj00CEOyoJKIclMtKwWgWlaSUu4rsSGgsswQUAlCVZFX7lu0oCGmyl01VKzGp9xVMVg1I+W+BVLuqlDjVQMia5A5mPOrRcSjMqUk1m2qiyj31WRYxj8Y/OoQ6hqR4Gdroh6JaeK1Isp9DRnmjOV18spdV9vnG4Yp9/VSyl2XbAPK3TAIQ7LgBhHlplreEIBqeYOUcl+HDQE3ygwBN0CoGvLKXVcLamCq3DeFijX5lPsmDFbTSLnrQsp9E9R4NYHIGmQO5ryWiHjcSCmJdZubRZS7FhmW8Q8G/2YIVVsk+NmaqEdimlhHRLlrk2HOWNaVV+462j4fCFPuW6SUuw7ZBpQ7EIQhWVBPRLmplvUCUC3rSSl3XWwIqC8zBNSDUA3klVvffzNNlbthqNiIT7kbYrBGRspdB1LuhlDjNQIia5A5mPPGIuJRn1IS6zZNRJS7MRmW8Q8GvwmEaioS/GxN1CMxTWwmotxNyTBnLJvLK3dtbZ/vE6bcLaSUm9q3BaDcfYIwJAtaiig31bJlAKplSynlbo4NAa1khoCWEKq1vHLrvw/STJW7TajYlk+522CwtkbKXRtS7jZQ47UFImuQOZjzW0XEoxWlJNZtbhNR7lvJsIx/MPi3Qah2IsHP1kQ9EtPE9iLK3Y4Mc8bydnnlvlnb51eFKfcdUsp9M9kGlHtVEIZkwZ0iyk21vDMA1fJOKeW+HRsCOsgMAXdCqI7yyq1fVlxpqtx3hYqd+JT7LgzWyUi5b4aU+y6o8ToBkTXIHMz53SLi0YFSEus2KSLKfTcZlvEPBj8FQnUWCX62JuqRmCZ2EVHuzmSYM5Zd5ZW7lrbPJ4cpdzcp5aatoG6AcicHYUgW3COi3FTLewJQLe+RUu6u2BDQXWYIuAdC3Suv3PoN0eKmyt0jVOzJp9w9MFhPI+WuBSl3D6jxegKRNcgczPl9IuLRnVIS6za9RJT7PjIs4x8Mfi8I1Vsk+NmaqEdimpgqoty9yTBnLNPklbumts+7w5S7j5Ry1yTbgHK7gzAkC+4XUW6q5f0BqJb3Syl3GjYEpMsMAfdDqL7yyq0/RxVnqtwZoWI/PuXOwGD9jJS7JqTcGVDj9QMia5A5mPP+IuKRTimJdZsHRJS7PxmW8Q8G/wEINUAk+NmaqEdimjhQRLkHkGHOWD4or9w3aft8aphyPySl3DeRbUC5U4MwJAseFlFuquXDAaiWD0sp94PYEPCIzBDwMIR6VF65b9KCepsq92Oh4iA+5X4Mgw0yUu6bIOV+DGq8QUBkDTIHcz5YRDweoZTEus3jIso9mAzL+AeD/ziEekIk+NmaqEdimvikiHI/QYY5Y/mUvHLX0PZ5f5hyPy2l3DXINqDc/iAMyYIhIspNtRwSgGo5REq5n8KGgKEyQ8AQCPWMvHLrL575TJX72VDxOT7lfhaDPWek3DUg5X4WarzngMgaZA7m/HkR8RhKKYl1m2Eiyv08GZbxDwZ/GIQaLhL8bE3UIzFNHCGi3MPJMGcsM+WVG7j4G6bcASnlvpFsQxWOyRLRZPKflSmltplYtx0p020x1CiDZgUokWEkrOeYxDc4SuIXpJL4BrKNJfGLIklM/l8USeJgO77Il8Tn2NrX6+sR1tovSbX29WQb61svQTnxskhOUC1fxlruZRFJpMx5GRPukVAtXxEZpClKr2TKDL+vQKhXRWZN2fMRPRKbj7wmMri8SoaxWmKxfF1Kx1/HfvDvOqdDYNLI/4ZAqC6umeQESVf82zUi2dGHbmDwxNrp6SkD90Qkq5jRKuYNFfOmihmjYsaqmHEqZryKmaBiJqqYSSpmsoqZomKmqphpKma6ipmhYmaqmFkqZraKmaNi5qqYeSpmvopZoGIWqphFKmaxilmiYpaqmGUqZrmKWcH38Tw6BoK9gcHexGBjMNhYDDYOg43HYBMw2EQMNgmDTcZgUzDYVAw2DYNNx2AzMNhMDDYLg83GYHMw2FwMNg+DzcdgCzDYQgy2CIMtxmBLMNhSDLYMgy3HYCtinOvVCY2A9Kp8R6cTnz0RJSAhHg0tKL6hRQWl/00d6sQEYUzuqKxDJ1Bjc0UdGXkSNS431N5f/0WNzwVVZ182asLZUZl1/0NNPCsqLRBCTTobakmfMNTks6AGLA1HTckZ1WDgKaipOaL2NzwVNS0nVNUDp6Gm54AqV+101IwzUR3Kn4GaeQaqXcczUbNORw1qnwNq9mmoQYNzQs05FbVwcI6ouaegblmUM2peOKpFvbOg5oehFrc8G2pBCFV+yVlRC/9DvVnh7KhF2ajKY3JBLf4XtbdKbqglJ1H378sVtfQEqll67qhlQVSX5hrUckJV6qpDrUA+N6CB8dzWMmJWaEfI7WFrGSuF1jJiVpBtYON0exCG2FslsZYRrOWqAFTLVU5bzvHeYbDlNKBtpnuHq0PFt/g+f1ZjsLdM9g5PdCi91K+Gpg1vAZE1WIjBnK+RWAcPLh6swn529zqolmtFFmLWkOEAm/9zHBmXaxNqdNjIuE5qZKQliHXAyDg6CEPsrRcZGamW6wNQLddLrPIG83stZ35vkFmLXQ+h3hY/eBJMbg3odVPx2BgqbuITj40YbJOReCyHxGMj1HibgMgaZA7m/B2RIWgDpSQ2LL8rIgvvkGGb/teSYWxzaC1WSwj1nvjZi5hl2rSfHyZxm6UkjhbaNwMSNz8IQ+wpEYmjWqoAVEsltf/zHtYLtsiIl4JQW+XFa5kWNM9UvLaFitv5xGsbBttuJF7LIPHaBjXediCyBpmDOd8hMrhsoZTEus37IuKxgwzL+AeD/z6E+kDk+FW2cupMn1ROPQpTzg9FDpJ8QIY5I/6RvL4v1Y4MI8L0faeUvtNe+k5A30cEYYi9XSL6TrXcFYBquUtK3z/CBordMgPFLgj1sby+L9WChpvq+yeh4h4+ff8Eg+0x0velkL5/AjXeHiCyBpmDOf9UZHDZTSmJdZvPRPT9UzIs4x8M/mcQ6nOR4Gdroh6JaeJeEeX+nAxzxnKfvHIv0fb58Nf/vpBS7iVkG3v97wuI1pciyk21/BJ7/e9LKeXehw0BX8kMAV9CqK/llXuJFmT8+t83oeJ+PuX+BoPtN1LuJZByfwM13n4gsgaZgzk/IDK4fEUpiXWbb0WU+wAZlvEPBv9bCPWdSPCzNVGPxDTxexHl/o4Mc8byB3nlXqzt89vClPtHKeVeTLYB5d4WhCH2DoooN9XyYACq5UEp5f4BGwJ+khkCDkKoQ/LKvVgL2mqq3IdDxZ/5lPswBvvZSLkXQ8p9GGq8n4HIGmQO5vwXkcHlJ0pJrNscEVHuX8iwjH8w+Ecg1K8iwc/WRD0S08TfRJT7VzLMGcvf5ZV7kbbPp4Qp9x9Syr2IbAPKnRKEIfb+FFFuquWfAaiWf0op9+/YEPCXzBDwJ4T6W165F2lBd5sq99FQ8R8+5T6Kwf4xUu5FkHIfhRrvHyCyBpmDOT8mMrj8RSmJdZvjIsp9jAzL+AeDfxxB5Y8QCX62JuqRkCbmzyOh3PmDhjljmVdeuRdq+/yukHLnj5RS7oVkG1DuXUEYYC+/S0S5qZauAFRLl5By588LDQH5o0SGgPwuCJVPXrkXakE7DZU7f3SoGMOm3PmjMViMkXIvRJQ7fzTUeDFAZA0yB3OeX2JwyR9FKYl1m1iJbps/PxmW8Q8GPxZCxYkEP1sTtUhQE90iyh1Hhjlj6ZFX7gXaPt8oTLnjpZR7AdkGlLtREIbki1dEuamW3gBUS6+UcnuwIcAnMwR4IZRfXrkXaEENTZW7QKiYwKfcBTBYgpFyL4CUuwDUeAlAZA0yB3OeKCIePkpJrNtcIqLciWRYxj8Y/Esg1KUiwc/WRD0S08TLRJT7UjLMGcuC8so9X9vn54YpdyEp5Z5PtgHlnhuEIVlQWES5qZaFA1AtC0spd0FsCCgiMwQUhlBF5ZV7vhY0x1S5k0LFYnzKnYTBihkp93xIuZOgxisGRNYgczDnxUXEowilJNZtkkWUuzgZlvEPBj8ZQpUQCX62JuqRmCaWFFHuEmSYM5al5JV7nrbPrwhT7tJSyj2PbAPKvSIIQ7KgjIhyUy3LBKBalpFS7lLYEFBWZggoA6HKySv3PC1oualylw8VK/Apd3kMVsFIuedByl0earwKQGQNMgdzXlFEPMpSSmLd5nIR5a5IhmX8g8G/HEJdIRL8bE3UIzFNvFJEua8gw5yxvEpeuedq+3yTMOWuJKXc9JlaCVDuJkEYkgWVRZSbalk5ANWyspRyX4UNAVVkhoDKEKqqvHLP1YIamyp3tVDxaj7lrobBrjZS7rmQcleDGu9qILIGmYM5ry4iHlUoJbFuc42IclcnwzL+weBfA6GuFQl+tibqkZgmXiei3NeSYc5YXi+v3HO0fX5QmHLfIKXcc8g2oNyDgjAkC24UUW6q5Y0BqJY3Sin39dgQUENmCLgRQt0kr9xztKDHTJW7ZqhYi0+5a2KwWkbKPQdS7ppQ49UCImuQOZjzm0XEowalJNZtaoso981kWMY/GPzaEKqOSPCzNVGPxDSxrohy1yHDnLG8RV65ZztS7npSyj2bbGPKXQ/Kgvoiyk21rI8pd30p5b4FGwIayAwB9SFUQ3nlni2n3I1CxcZ8yt0IgzU2Uu7ZkHI3ghqvsYxyY86biIhHA0pJrNs0FVFuWoNrKuMfDH5TCNVMJPjZmqhHYprYXES5m5Fhzli2kFfuWdo+PzVMuVtKKfcssg0o99QgDMmCViLKTbVsFYBq2UpKuVtgQ0BrmSGgFYRqI6/cs7SgKabK3TZUvJVPudtisFuNlHsWpNxtoca7FYisQeZgzm8TEY/WlJJYt2knoty3kWEZ/2Dw20Go9iLBz9ZEPRLTxNtFlLs9GeaM5R3yyj1T2+cnhCn3nVLKPZNsA8o9IQhDsqCDiHJTLTsEoFp2kFLuO7AhoKPMENABQt0lr9wztaDxpsrdKVS8m0+5O2Gwu42Ueyak3J2gxrsbiKxB5mDOU0TEoyOlJNZtOosodwoZlvEPBr8zhOoiEvxsTdQjMU3sKqLcXcgwZyy7ySv3DG2f3x2m3PdIKfcMsg0o9+4gDMmC7iLKTbXsHoBq2V1KubthQ8C9MkNAdwjVQ165Z2hBu0yVu2eoeB+fcvfEYPcZKfcMSLl7Qo13HxBZg8zBnPcSEY97KSWxbtNbRLl7kWEZ/2Dwe0OoVJHgZ2uiHolpYpqIcqeSYc5Y9pFX7unaPr8lTLnvl1Lu6WQbUO4tQRiSBekiyk21TA9AtUyXUu4+2BDQV2YISIdQGfLKPV0LUqbK3S9U7M+n3P0wWH8j5Z4OKXc/qPH6A5E1yBzM+QMi4kFxzcC6zQAR5X6ADMv4B4M/AEINFAl+tibqkZgmPiii3APJMGcsH5JX7mnaPl8oTLkfllLuaWQbUO5CQRiSBY+IKDfV8pEAVMtHpJT7IWwIeFRmCHgEQj0mr9zTtKCCpso9KFQczKfcgzDYYCPlngYp9yCo8QYDkTXIHMz54yLi8SilJNZtnhBR7sfJsIx/MPhPQKgnRYKfrYl6JKaJT4ko95NkmDOWT8sr91Rtn18aptxDpJR7KtkGlHtpEIZkwVAR5aZaDg1AtRwqpdxPY0PAMzJDwFAI9ay8ck/VgpaYKvdzoeLzfMr9HAZ73ki5p0LK/RzUeM8DkTXIHMz5MBHxeIZSEus2w0WUexgZlvEPBn84hBohEvxsTdQjMU3MFFHuEWSYM5YBeeWeou3zQ8OUO0tKuaeQbUC5hwZhSBaMFFFuquXIAFTLkVLKHcCGgFEyQ8BICPWCvHJP0YKGmCr3i6HiS3zK/SIGe8lIuadAyv0i1HgvAZE1yBzM+csi4jGKUhLrNq+IKPfLZFjGPxj8VyDUqyLBz9ZEPRLTxNdElPtVMswZy9fllXuyts83DFPu0VLKPZlsA8rdMAhDsuANEeWmWr4RgGr5hpRyv44NAW/KDAFvQKgx8so9WQtqYKrcY0PFcXzKPRaDjTNS7smQco+FGm8cEFmDzMGcjxcRjzcpJbFuM0FEuceTYRn/YPAnQKiJIsHP1kQ9EtPESSLKPZEMc8ZysrxyT9L2+UCYck+RUu5JZBtQ7kAQhmTBVBHlplpODUC1nCql3JOxIWCazBAwFUJNl1duff/NNFXuGaHiTD7lnoHBZhop9yRIuWdAjTcTiKxB5mDOZ4mIxzRKSazbzBZR7llkWMY/GPzZEGqOSPCzNVGPxDRxrohyzyHDnLGcJ6/cE7V9vk+Ycs+XUm5q3/mAcvcJwpAsWCCi3FTLBQGolguklHseNgQslBkCFkCoRfLKrf8+SDNV7sWh4hI+5V6MwZYYKfdESLkXQ423BIisQeZgzpeKiMdCSkms2ywTUe6lZFjGPxj8ZRBquUjwszVRj8Q0cYWIci8nw5yxXCmv3BO0fX5VmHKvklLuCWQbUO5VQRiSBatFlJtquToA1XK1lHKvxIaAt2SGgNUQao28cuuXFVeaKvfaUHEdn3KvxWDrjJR7AqTca6HGWwdE1iBzMOfrRcTjLUpJrNtsEFHu9WRYxj8Y/A0Q6m2R4Gdroh6JaeJGEeV+mwxzxnKTvHKP1/b55DDlfkdKuWkr6B1AuZODMCQL3hVRbqrluwGolu9KKfcmbAh4T2YIeBdCbZZXbv2GaHFT5Vah4hY+5VYYbIuRco+HlFtBjbcFiKxB5mDOt4qIx3uUkli32Sai3FvJsIx/MPjbINR2keBna6IeiWniDhHl3k6GOWP5vrxyj9P2eXeYcn8gpdzjyDag3O4gDMmCD0WUm2r5YQCq5YdSyv0+NgR8JDMEfAihdsort/4cVZypcu8KFXfzKfcuDLbbSLnHQcq9C2q83UBkDTIHc/6xiHh8RCmJdZtPRJT7YzIs4x8M/icQao9I8LM1UY/ENPFTEeXeQ4Y5Y/mZvHKP1fb51DDl/lxKuceSbUC5U4MwJAv2iig31XIvoNypJ/xrzBkq92fYELBPZgjYC6G+kFfusVpQb1Pl/jJU/IpPub/EYF8ZKfdYSLm/hBrvKyCyBpmDOf9aRDz2UUpi3eYbEeX+mgzL+AeD/w2E2i8S/GxN1CMxTTwgotz7yTBnLL+VV+4x2j7vD1Pu76SUewzZBpTbH4QhWfC9iHJTLb8PQLX8Xkq5v8WGgB9khoDvIdSP8sqtv3jmM1Xug6HiT3zKfRCD/WSk3GMg5T4INd5PQGQNMgdzfkhEPH6glMS6zWER5T5EhmX8g8E/DKF+Fgl+tibqkZgm/iKi3D+TYc5YHpFXbuDib5hy/yql3G+SbajC+X8T0WTy/1umRLcNqu0RrNv+LtNtf4NQfxg0K0CJDCNhPcckfsNREv8plcRvkG0sif8SSWLy/5dIEgfb8S++JD7H1h6tr0dYa/8t1dqjyTbWA/+GcuKoSE5QLY9iLXdURBIpc45iwv07VMt/JPI7GKV/MmWG338g1DGRWVP2fESPxOYjx0UGl2NkGKslFMvYCCEdj42AOlL0dU4TaU9EgSD9PLn/jYoO/pieBkSo9kglY0YjH3sxb2hRJyZPOhTyeZl1CFg+PjLykH57eO+v/6JyO/5VZ182Kpfj3Zl1/0Od/fpWWiCEmoTEvnwbCAX9Lnb5WyHUbRAK+rHG8oOcp3fRsxle0icseGd7lWbA0nDUWV6dazDwFFTOzxfsb3gqKsdX46seOA2V06/ClKt2OiqHa+8dyp+BOvNXXdt1PBN1xq+2D2qfA+r0u1iDBueEmnMqauHgHFFzT0Hdsihn1LxwVIt6Z0HND0Mtbnk2VNg11fJLzopa+B/qzQpnRy3KRlUekwsq+3rj3iq5oZacRN2/L1fU0hOoZum5o06cue/SXINaTqhKXXWoFVDnbA6hWkColhCqFYRqDaEGOx1aoJdBY/Mgk4vygyDUYPHvm9g8Tr5mY/MKfd/E0n95sQpHSny5BP1HZsokhAsTOracPceEcDlKiCiphHCRbazC+UQSgvznc7yY5AnbFNoTkZwFfQ1qUXkiTs6NNaCIk3NjDSji5NxYA4o4OTfWgCJOzo01oIiTc2MNKOLk3FgDijg5N9aAIk7OjTWgiJOTQA0o4uQkUAOKODkJ1IAiTk4CNaCIk5NADSji5CRQA4o4OQnUgCJOTgI1oIiTk0ANKOLkJFADijg5CdSAIk5OAjWgiJOTQA0o4uQkUAOKODkJ1IAiTk4CNaCIk5NADSji5CRQA4o4OQnUgCJOTgK13/YnJoHab/sY5GEFp8Nd9PXIcBd9AzLcRd+IDHfRNZDhLvomZLiLrokMd9G1kOEu+mZkuIuujQx30XWQ4S66LjLcRd+CDHfR9ZDhLro+MtxFN0CGu+iGyHAX3QgZ7qIbI8NddBNkuItuigx30c2Q4S66OTLcRbdAhrvolshwF90KGe6iWyPDXXQbZLiLbosMd9G3IsNd9G2cS5n64S5s4huNbUnE5qMlWmgeC63kAudxYqMN9k6DC875srBqQh89MU6nzpGB/2nJGaD/aUkY6n9ako36n5Zkoy5iLQkd34zNHyrGgssTMTTOi5y+iI0m49DWY2yciP/8ZBjz72YSTPfmQQb1jIXr6WGqpyeHegKtRAShepYfZ9Ce2k2ooH8P5n+8Q/80TYA206+nSmiBJ2YKAPDkZEEP/He+oAVmTxl0wP9mDRpgaOKQOzBs7pArMHz6kBvwlBlELsBTJxFnB542jzgr8PSpxNmAZ8wmzgI8c0KRMzCHOUWOwJymFTkBc5xZ5ADMeXJxJvAs84szgGebYpwOPOss4zTg2ScapwJzmWucAsxtuhEOzHXGEQbMfdIRAmrmHf8BdVOPbKB29vEvUD8BOQkE5iAEhD7pyo+DUMjwfMonnSsr1/ssp0uF040qQP7DvtfjUbPIrAZR63jtrteZQ0NQLOMxsZzvUCwzR2VpmyBYAWhG42VMq/lM8faeNjvKkfDp1FDCPkIlVInYWfzz6gMvv/SatBb9n/y87cxHE8dX2O8teLBfjf5/7kmjHkKopGrNXlvTuuecYTd4G1SNff+R95/uWe2jEc88XvGXQe0G5iuVxUfYR4TPdQnlf7uPEdmo/+0+ZqP+t/uYjfrf7mM26oLcfQxbQvGHigU4ld75ugBJuB9bF0hgEoIEo/ULqmcBrJ6JTPVMNF2/SMCmRB9IrV8kYv6dPloHrl/EjAbXL2LeANcvYt4E1y9ixoDrFzFjwfWLmHHg+kXMeHD9ImYCuH4RMxFcv4iZBK5fxEwG1y9ipoDrFzFTwfWLmGng+kXMdHD9ImYGuH4RMxNcv4iZBa5fxMwG1y9i5oDrFzFzwfWLmHng+kXMfHD9ImYBuH4RsxBcv4hZBK5fxCwG1y9iloDrFzFLwfWLmGXg+kXMcnD9ImYFvH4BvWkKDc/nc/0CkP+w9YtLzvf6xSWG6xeXYGL5NVBNsfWLSxnT6mumeF8quX5xGbR+8SG0fsFF+LLT1y9cWQJLgLK9suD57pUFDXtlQaxXOn6G7QVspxhCFcJ2KRn77jdMrVIop76rJ1wY6m/jGfsuF+HC/1t7/N/aYzbqf2uP2aj/rT1mo/5/WnssEioWBRe1sg9ZaZzkwQ7SOl9UC/rPwvxDSpYkspRahAxjS5TFmHStmNFSalG4nsWZ6lncaCk1iQhC9azAkHU5LKWS/+KY//xyS6lJ6FKqFpi9lKoD/reUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmoQupSahS6lJ6FJqErqUmgTJfYUYCIUMz+dzKRWQ/7BFm2TULDKrQdQ62WTRhsQyGRPLQjJLqUnQjKYEY1oVYop3CbOlVIxwSWQ5pkJ+ZDmGjXBJhuWY/92mi8hG/e82XTbqf7fpslH/u02XjbrQb9OVChVLcyq983UBkvBS2LpAGSYhKGO0fkH1LI3VsyxTPcuarl+UwaZEN0itX5TF/N8os34RvMoGrV8Er7JB6xfBq2zQ+kXwKhu0fhG8ygatXwSvskHrF8GrbND6RfAqG7R+EbzKBq1fBK+yQesXwats0PpF8CobtH4RvMoGrV8Er7JB6xfBq2zQ+kXwKhu0fhG8ygatXwSvskHrF8GrbND6RfAqG7R+EbzKBq1fBK+yQesXwats0PpF8CobtH4RvMoGrV8Er7JB6xfBq2zQ+kXwKhu0fhG8ygatXwSvskHrF8GrbND6RfAqG7h+cQOEQobn87l+Ach/2PpFufO9flHOcP2iHCaWTWyuX5RnTKsmTPEuL7l+UQFav7gRWr/gIlzh3I+CITuAor2y4vnulRUNe2VFrFc2ddorsaNgWJJeju1SMvbdpkytcrnZUbAroP6Wn7HvchG+wuRTLvjeWCTne2NXSn3AX5lpFKcFLdP6duvRNS21astu6b37ZaRk9EhLzRoVilt0Qqjsmh1WnhMqR64apWKvUrGVVGxlFVvlXN3EXhXmZm6YmwXkpqqKraZir1ax1Q1+zdE1Exr5qkJNeY1MwGOvCStXCytfHVauTpG4VsVSdtKX9g3n+JS2a572V0+OhQnIjUJPabtoX/ZG4IdqjwVhSDPWkHhwO1jLGgGoljWEemSpsO4xKywprj2tR9ICBy1d0KLEzWa/7FMDW2urLTGkBcNcGwtzbaEwVwgL8/ywMN90Wphp6YUWVWi5pN659sNZjiZy9aX64SyyjU0RG4j0MPLfwOTNOEjNa3CqeUMRNaflr4Yib+ZFpajoq7FZdXMJ/9FVVXQ1zH8Lp7N67DcuGkFz7OYQqoVE5wumaCNs3G3MNDFunGwSySbnNZKnNnYWNIzko3wHgdFVsZAj3yLn9uvr0VVzBx0/fvwQ+uvrJz6rwzYcm4WKzdl+fT22GQZrnmwwX4/WzMRP/jxebDOo8ZoDkTWSlGaZUoNldSwtW0j5x8QitqWU/2sw/60Q/8269U5LH9gotUfGyNJ7Iug7lXZHaN+jlXIVuBD+m3Syfk7jFHkiTtdhcWoNxGnKyXq06JNVeiQySESgy4mt+Uy1kdCL4Pd0QwhIm7J1sIC3dZiYZS6SxMxCh8Y26JynLXbLB/qR0NhbHeV5GSjP81jI81v5x9V/xwvOj6DbBKINh+g2PlPtLPJwFeDj0d5h1mRiY9ntwHxRrJlv5zN1h0x47tSazSsXnjv5THWQCU9H/cgkF56OfKbukglPJ61Zl1x4OvGZulsmPClas1Fy4UnhM9VZJjxdtGbzyYWnC5+prjLh6aY1Gy0Xnm58pu6RCU93rdkYufB05zN1r0x4emjN5pcLTw8+Uz1lwnOf1mysXHju4zPVSyY8vbVm4+TC05vPVKpMeNK0Zt1y4UnjM9VHJjz3a8165MJzP5+pdJnw9NWajZcLT18+Uxky4emnNeuVC08/PlP9ZcLzgNasTy48D/CZGiATnoFas3658AzkM/WgTHge0potIBeeh/hMPSwTnke0ZhPkwvMIn6lHZcLzmNZsolx4HuMzNUgmPIO1Zi+RC89gPlOPy4TnCa3ZS+XC8wSfqSdlwvOU1uxlcuF5is/U0zLhGaI1W1AuPEP4TA2VCc8zWrOF5MLzDJ+pZ2XC85zWbGG58DzHZ+p5mfAM05otIheeYXymhsuEZ4TWbFG58IzgM5UpE56A1mySXHgCfKayZMKjP95STC48I/lMjZIJzwtas8XlwvMCn6kXZcLzktZsslx4XuIz9bJMeF7Rmi0hF55X+Ey9KhOe17RmS8qF5zU+U6/LhGe01mwpufCM5jP1hkx43tSaLS0Xnjf5TI2RCc9YrdkycuEZy2dqnEx49L9oX1YuPOP5TE2QCc9ErdlycuGZyGdqkkx4JmvNlpcLz2Q+U1NkwjNVa7aCXHim8pmaJhOe6VqzFeXCM53P1AyZ8MzUmr1cLjwz+UzNkgnPbK3ZK+TCM5vP1ByZ8MzVmr1SLjxz+UzNkwnPfK3Zq+TCM5/P1AKZ8CzUmq0kF56FfKYWIeEJuyVZ9sQtyfYq9g4V20HF3qVi71axnVVsVxV7j4q9V8X2VLG9VGyqiu2jYtNVbIaK7a9iB6jYB1Xsw7SlT9vWtDVL24+0xUbbSLRVQtsBtORNy7q0dEnLc7QERcsstJRAn8v0SUifPTS1p+krTdFoGkJSS3JCQyYNC5T61LxE4Wy3JLXsg5cfm6DXKdthtyTbQemzGAh7KH3K8t6SZLy3t9hh72K9JZkXvSW5RCDacIiW8Jlayh/tk0/+NMQGvWUW48h5S3O5zXxgvE65wiYPxnuPK23yYLyguMomD8abhKtt8mC88veWTR6Md/PW2OTBeIlurU0ejLfd1tnkwXgtbb1NHoz3xzbY5MF40ettmzwYb2RttMmD8erUJps8GO84vWOTB+NlpHdt8mC8NfSeTR6M13s22+TBeA9H2eTBeGFmi00ejDdbttrkwXgFZZtNHox3Rbbb5MF4qWOHTR6Mty/et8mD8ZrEBzZ5MN5n+NAmD8aLBx/Z5MF4Q2CnTR6MR/l32eTBeOZ+t00ejIfjP7bJg/EU+yc2eTAeN99jkwfjufBPbfJgPMD9mU0ejCetP7fJg/FI9F6bPBjPLu+zyYPxkPEXNnkwngb+0iYPxmO7X9nkwXi+9mubPBgPwn5jkwfjidX9NnkwHi09YJMH4xnQb23yYDys+R3AI/ywZrkThzWXq9gVKnalil2lYler2LdU7BraiqddbNoApr1T2nakHTva7KJ9Itpiod0JWtinNXFaTqaVWFrEpPU/WjqjVSdasKG1DlomoC9s+jil7zr6JKKvCZqI0xyWpn80c6JJB+k1SR2pBA2wNDZRt6YeQclE7UAUzuknLZaipzqXYYc1l0LH3r53lD7leA9rMh4flOBh4/jeDxZ5cB7f+9EmD8bjewdt8mA8vveTTR6Mx/cO2eTBeHzvsE0ejMf3frbJg/H43i82eTAe3ztikwfj8b1fbfJgPL73m00ejMf3frfJg/H43h82eTAe3/vTJg/G43t/2eTBeHzvb5s8GI/vHbXJg/H43j82eTAe3ztmkwfj8b3jNnnwHd+Li7DJg+/4Xlwemzz4ju/F5bXJg+/4XlykTR58x/fiXDZ58B3fi4uyyYPv+F5cPps8+I7vxUXb5MF3fC8uxiYPvuN7cflt8uA7vhcXa5MH3/G9uDibPPiO78W5bfLgO74X57HJg+/4Xly8TR58x/fivDZ58B3fi/PZ5MF3fC/Ob5MH3/G9uAI2efAd34tLsMmD7/heXKJNHnzH9+IuscmD7/he3KU2efAd34u7zCYPvuN7cQVt8uA7vhdXyCYPvuN7cYVt8uA7vhdXBOAxvU56j169enSvm9Kr16iiWYMntemR2r1Xt5MutEfVonIfSvJEBH9X9T+TmVpwxIkK9O7Tq5uKKxoqJkEn3AbPqdMrpct9ddIG1O+X2iVIaPDE1rWbN6iXNXhyux4Zqd369iVTyae+vjkSo5k7KuvQiXgXRWzFJQEhc/5AaFxRIEDO3+qbrqKrYv6L5Q766fjx46cmW5HAqcmmrUzQhQYUEQglTXEsaRzHJK4Y2cYqnKwPnJn/ZGDAMWjtyXBrlwD8n9kdF7RM69utR9e01Kotu6X37peRktEjLTVrVKh7RpcK66olQuXYFqFy5KpRKq6kiiul4kqruDKiSV1WIszRVakBMf/lJPzHlSXDOv/B/irk3zUDjn95oTSrEJZm5cPKJU9LswoqrqKKu1zFXXEGTf358WAzQ8fCo6tCwbjSqZzHh0ZYNDFdU4CRZXRokL0qVKwUKlYOFauEilVDxWqh4tWhYvVQ8ZpQ8dpQ8bpQ8fpQ8QZQP6KrGmXTmXOIythUoxoGuwaDXZ/HJNMj14WZuCqsXCkMs54y/UYVV0PF3aTiap45P9JGNq4yhLoRSvNaDsccsIpVIFQNqIo3y1SxKoS6CapibZmRM65WWPnmsHLtsHJNyqc6Kq6uirtFxdUziUQ1CFUHikR9mca6GkLVharYQKaK1SHULVAVGwrlU/2wcoOwcsOwcj3Kp0YqrrGKa6LimppE4hoI1QiKRDOZxroWQjWGqthcporXQagmUBVbCOVTs7By87By2AdEXFPKp5YqrpWKa63i2phE4noI1RKKRFuhSLQNK7cKK7cOK7ehSNyq4m5Tce1UXHujCcaXYeZuDSvfcNpU+nYVd4eKu1PFdTh1khrpeBkAuBEXtozUMVS8i3OiaPTZ1xH77OlklBJnzhk7bR5kVs+7sHrezVTPu3OoJ/R91QmqZ4U7DdrzNKsdTrN6Mk53Y/47SOXT7dD3ZYU7IRRSy1O6risr17Xd0yPmtJ8DvSBsuS/lfH8FpmjXDvOcbvdEm6VgOdPRqYaPytI2QQS61NCZMa06MsW782mDRI6ET6eGEu5CqIQqETuLf1594OWXXpPWov+Tn7ed+Wji+Ar7vQUP9qvR/889adRDCJVUrdlra1r3nDPsBm+DqrHvP/L+0z2rfTTimccr/jKo3cB8pbL4CHchwmfiZjXr1yujR5suKb1S0qk4auTgKXXTUvtmpKRmAKvdZ2Lzbk24q1++CR27XFnOU+9wwQKjnqi1ftjjtcpd4cBuxCmiEz6wh625VR2p4rqqOOqq9+RAa0693p27de3arWvdfun9u9Xu2pWIhex0DSt3CyvfEw6qElauGr4Oc1oluqu4e1VcD+c/3+WaEjQASlP3TKF53VlWcWjR7dQJV08Vd5+K66Xieue+76LvHD3XJ1fs+NWj70fMLrc437SxDTofrT+iw9FL1eBLv78v/5yfu9YYtzRsIE4123cBqkG2g3qnq0sQhuhLmsHuDFTLtABUyzSneuvNciqhPQEX4PbsiX+jQs3cJ1S8P1RMDxX7ggFL+3c3IELHhk250/OYzTbTOFfzMyTmhHHpZFhq4OkTVr4/PJynDTz9VFx/FfeAihvg/NGdYPfJgJhmkCOnu6DQKB+VcfJHGrXA4Ls/jbERdKBQRU/IkRaI/r5hHvD3DeMelIp7UzTuTbG4P+SwoqAgPpy72ch8f3/mnH9sC9rig1K/HG1MYhV9RGSQoT6fgfl/VGgoejis/EhY+dHThqLHVNwgFTdYxT1+rmdPymq3y4+FzYGekDp7Qlv3T2Tpt+6PBWGIvSdFTqhQLZ8MQLV88txXZnLW6ic5tfopiW4UrOVAzlo+zTQ9ejr51M7iG+m0swB3u52dTIh7ivp5pgOrYEUBXc7kXFfK9bSl1oVOzo4fP37I9LTlkFBxKN9pyyEYbGiyySbMQ9ChzCFQ3xkKRNZoHBoic1Ivn3KVwCT4GSn/hTH/zyL+w94QrR58QzTuGeUqQH8b/L8XwH85vSGK/rJ43ENYnID75WGHzquzHjqPY7zc/rzD9r7mImnvLFTTH0OHhuezsIBC6TPMUfpcw/pmLGf6DOMfrv7thpxTreEC0YZDNJzP1AgJcYh7hOZr2KCXaTGOjC8ExwUs8mB8ITguyyYPvheC40ba5MH3QnDcKJs8+F4IjnvBJg++F4LjXrTJg++F4LiXbPLgeyE47mWbPPheCI57xSYPvheC4161yYPvheC412zy4HshOO51mzz4XgiOG22TB98LwXFv2OTRl4/HmzZ58L0QHDfGJg++F4LjxtrkwfdCcNw4mzz4XgiOG2+TB98LwXETbPJgfCF4ok0ejC8ET7LJg/GF4Mk2eTC+EDzFJg/GF4Kn2uTB+ELwNJs8GFfBp9vkwfhC8AybPBhfCJ5pkwfjC8GzbPJgfCF4tk0ejC8Ez7HJg/GF4Lk2eTC+EDzPJg/GF4Ln2+TB+ELwAps8GF8IXmiTB+MLwYts8mB8IXixTR6MLwQvscmD8YXgpTZ5ML4QvMwmD8YXgpfb5MH4QvAKmzwYXwheaZMH4wvBq2zyYHwheLVNHowvBL8F8Ag/rHnticOaARWXpeJGqrhRKu4FFfeiinuJtuJpF5s2gGnvlLYdaceONrton4i2WGh3ghb2aU2clpNpJZYWMWn9j5bOaNWJFmxorYOWCegLmz5O6buOPonoa4Im4jSHpekfzZxo0kF6TVJHKkEDLI1N1K2pR1AyUTsQhbMd1oTOYI5AT3VmYoc1R0DH3tY4Sp9reQ9rMh4fRHiIHdbMix7WXCsQbThEa/lMrbPIg/Ow5HqLPDgPS26wyYPxsOTbNnkwHpbcaJMH42HJTTZ5MB6WfMcmD8bDku/a5MF4WPI9mzwYD0tutsmD8bCkssmD8bDkFps8GA9LbrXJg/Gw5DabPBgPS263yYPxsOQOmzwYD0u+b5MH42HJD2zyYDws+aFNHoyHJT+yyYPxsOROmzwYD0vussmD8bDkbps8GA9LfmyTB+NhyU9s8mA8LLnHJg/Gw5Kf2uTBeFjyM5s8GA9Lfm6TB+Nhyb02eTAeltxnkwfjYckvbPJgPCz5pU0ejIclv7LJg/Gw5Nc2eTAelvzGJg/Gw5L7bfJgPCx5wCYPxsOS39rkwXhY8jubPBgPS35vkwfjYckfbPJgPCz5o00ejIclD9rkwXhY8iebPBgPSx6yyYPxsORhmzwYD0v+bJMH42HJXwAe4YclrztxWHK9itug4t5WcRtV3CYV946Ke5e24mkXmzaAae+Uth1px442u2ifiLZYaHeCFvZpTZyWk2kllhYxaf2Pls5o1YkWbGitg5YJ6AubPk7pu44+iehrgibiNIel6R/NnGjSQXpNUkcqQQMsjU3UralHUDJROxCFc3rZciB6qnIddlhyHXR874ij9LmO97Ak4/E9hIfRI+KsL1v+CtQSedL512THjWLjLOJvAsll4yzi7zZ5MJ5F/MMmD8aziH/a5MF4FvEvmzwYzyL+bZMH41nEozZ5MJ5F/McmD8aziMds8mA8i3jcJg++s4juCJs8+M4iuvPY5MF3FtGd1yYPvrOI7kibPPjOIrpdNnnwnUV0R9nkwXcW0Z3PJg++s4juaJs8+M4iumNs8uA7i+jOb5MH31lEd6xNHnxnEd1xNnnwnUV0u23y4DuL6PbY5MF3FtEdb5MH31lEt9cmD76ziG6fTR58ZxHdfps8+M4iugvY5MF3FtGdYJMH31lEd6JNHnxnEd2X2OTBdxbRfalNHnxnEd2X2eTBdxbRXdAmD76ziO5CNnnwnUV0F7bJg+8soruITR58ZxHdRW3y4DuL6E6yyYPvLKK7mE0efGcR3cVt8uA7i+hOtsmD7yyiu4RNHnxnEd0lbfLgO4voLmWTB99ZRHdpmzz4ziK6ywA8nP+q+zwVfV0AOSbmLps76Kfjx48Pnl4nvUevXj26B0+IjSoSGDypTY/U7r26oRTL6imesNm7T69uyl0OOvbnPCbusmQbq3B5feDM/JfPFGntWXBrV5DwH32dim2L+a8I+D/zUOKClml9u/XompZatWW39N79MlIyeqSlZo0KHVKMLhUquyuElSuGypGrRin35cp9hXJfqdxXiXaqSkJhdpfH/FeW8O+uRIZ1/oPjhZB/13w4/lWE0iw8taqElS8/Lc2qKnc15b5auaufQVN/7DrYzNhB4OugYFwDBOOUET4+NMKjiemaDYxso0OD/LWh4nWh4vWh4g2h4o2hYo1Q8aZQsWaoWCtUvDlUrB0q1gkV64L6FX2dUTadcZLafX0eCFYDg9XCYHXymGR65LowE9eGla8Lw6ynTL9Fuespd33lbnBKpmeOhIT2egh1C5TmDR2OOWAVb4BQ9aAqNpKp4o0Qqj5UxcYyI6e7YVi5UVi5cVi5AeVTE+VuqtzNlLu5SSRqQKgmUCRayDTWTRCqKVTFljJVrAmhmkFVbCWUTy3Cyi3Dyq3Cys0pn1ordxvlbqvct5pEohaEag1F4jaZxroZQrWBqthOpoq1IVRbqIrthfLptrByu7By+7DyrZRPtyv3Hcp9p3J3MIlEHQh1OxSJjkKR6BhWviOsfGdYuQNF4i7l7qTcdyt3itEE48swc3eFleueNpXurNxdlLurcnc7dZIa6XgZorM+YFmh2eE9oWJ3zomi0WffPdhnz71ME9V7Nw8yq2d3rJ49mOrZI4d6Qt9X90L1rHC/QXueZrXDaVZPxqkH5j9dKp86Q9+XFe6HUEgtT+m6rqxQ183hs/H0iDnt50AvCFtu7Hm+vwJ7atcu85xu90Sb9cRypq9TDR+VpW2CCHSp4T7GtOrLFO/7ThskciR8OjWUcC9CJVSJ2Fn88+oDL7/0mrQW/Z/8vO3MRxPHV9jvLXiwX43+f+5Jox5CqKRqzV5b07rnnGE3eBtUjX3/kfef7lntoxHPPF7xl0HtBuYrlcVHuBcRPhM3q1m/Xhk92nRJ6ZWSTsVRIwdPqZuW2jcjJTUDWG0/E5t3a8Jd/fJN6NjlynKeeocLFhj1RK31wx6vVe4KB3YjThGd8IE9bM3tupHK3Vu5U5U7LQdac+r17tyta9duXev2S+/frXbXrkQsZKd3WDk1rJwWDrohrHxj+DrMaZXoo9z3K3e68xcXXLODBkBp6pMpNK87yyoOLbqdOuGi/ylDufspd38jbYnLwOYAD0hoW1wf2P8AEf/3w/4HivhPh/0/KLJF8AAFFvP/kJT/gZj/h6X8P4j5f0Somz8UVn44rPzIad38UeV+TLkHKffgMz9k9bXvC83EHoVsPe50/uh8B/pxR1PCJ6R2oB8n21iFnxTZgSb/T2Y6jbY3y2m0kYlMbh8Ap/8bFWqap0LFp0PFIaHiUOwj0P3kv3uJETo2bPP+IXnMvlWf5NwLfEZk1BtChqWmLU+FlZ8OD+dp49mzyv2ccj+v3MOc/35ocM7zDMT0GXLkuAcVDfUgaL4YlUIqjr4ZlaGpDu3HH0J724kPz7A1sOGh4ghsTEQ6wnAMNiLZeSaeiBz2nSwy/zvRIJh/p/O/E5+tuZjNOrG45B4ODQMjoC/wARBqIJB/jge+YEcb7vSwlPaXfeNTl62gBoJCBDkPeyOw/p6IljT5pfknTQFVHE2vMpWrwP/t/3J6gxCcQALaGwVlYJTzrhRAh/oANpXPAvyHjqLWZz2KijhHTY10mPIN/pfy+CKQ+6mTcwxo6BuZhTUYlJ6jHKVnA9ZnNznTc5RTOcDC88J5HYnymI1EL2Aj0YsCTQ23z4t8pl6yyIPxUVL3yxZ5MD5K6n7FJg++R0ndr9rkwfcoqfs1mzz4HiV1v26TB9+jpO7RNnnwPUrqfsMmD75HSd1v2uTB9yipe4xNHnyPkrrH2uTB+CjpOJs8GB8lHW+TB+OjpBNs8mB8lHSiTR6Mj5JOssmD8VHSyTZ5MD5KOsUmD8ZHSafa5MH4KOk0mzwYHyWdbpMH46OkM2zyYHyUdKZNHoyPks6yyYPxUdLZNnkwPko6xyYPxkdJ59rkwfgo6TybPBgfJZ1vkwfjo6QLbPJgfJR0oU0ejI+SLrLJg/FR0sU2eTA+SrrEJg/GR0mX2uTB+CjpMps8GB8lXW6TB+OjpCts8mB8lHSlTR6Mj5KussmD8VHS1TZ5MD5K+pZNHoyPkq6xyYPxUdK1NnkwPkq6ziYPxkdJ19vkwfgo6QabPBgfJX3bJg/GR0k3AjxOOWqHHU/bpDVbWe542iY+U+/IhOddrdkqcuF5l8/UezLh2aw1W1UuPJv5TCmZ8GzRmq0mF54tfKa2yoRnm9bs1XLh2cZnartMeHZozVaXC88OPlPvy4TnA63Za+TC8wGfqQ9lwvOR1uy1cuH5iM/UTpnw7NKavU4uPLv4TO2WCc/HWrPXy4XnYz5Tn8iEZ4/W7A1y4dnDZ+pTmfB8pjV7o1x4PuMz9blMePZqzdaQC89ePlP7ZMLzhdbsTXLh+YLP1Jcy4flKa7amXHi+4jP1tUx4vtGarSUXnm/4TO2XCc8Brdmb5cJzgM/UtzLh+U5rtrZceL7jM/W9THh+0JqtIxeeH/hM/SgTnoNas3XlwnOQz9RPMuE5pDV7i1x4DvGZOiwTnp+1ZuvJhednPlO/yITniNZsfbnwHOEz9atMeH7Tmm0gF57f+Ez9LhOeP7RmG8qF5w8+U3/KhOcvrdlGcuH5i8/U3zLhOao121guPEf5TP0jE55jWrNN5MJzjM/UcZHweCK0ZpuKhQdwDpvKIxOevFqzzeTCk5fPVKRMeFxas83lwuPiMxUlE558WrMt5MKTj89UNBKesJfeGp546e1l5X5FuV9V7teU+3XlHq3cbyj3m8o9RrnHKvc45R6v3BOUe6JyT1Luyco9RbmnKvc05Z6u3DOUe6Zyz1Lu2co9R7nnKvc85Z6v3AuUe6FyL1Luxcq9RLmXKvcy5V6u3CuUe6Vyr1Lu1cr9lnKvUe61yr1Oudcr9wblflu5Nyr3O8r9nnIr5d5K2+K09Uvbm7SFR9tUtBVD2w20pE7LxrQ0Sst/tMRFyzi0VEGf4/TJSZ9V9OlA02OaAtI0h6Sc5IqGZBp2qGtR+lCIzF96e9rBS28vYS+9vQSlZwzQrKH0bMj70hvf818QD+cvvXny650zvvSW1+ilN09+bCSKFWhquH1i+UzFWeTB+NKbx22RB+NLbx6PTR58L7154m3y4HvpzeO1yYPvpTePzyYPvpfePH6bPPheevMUsMmD76U3T4JNHnwvvXkSbfLge+nNc4lNHnwvvXkutcmD76U3z2U2efC99OYpaJMH30tvnkI2efC99OYpbJMH30tvniI2efC99OYpapMH30tvniSbPPheevMUs8mD76U3T3GbPPheevMk2+TB99Kbp4RNHnwvvXlK2uTB99Kbp5RNHnwvvXlK2+TB99Kbp4xNHnwvvXnK2uTB99Kbp5xNHnwvvXnK2+TB99Kbp4JNHnwvvXkq2uTB99Kb53KbPPheevNcYZMH30tvnitt8uB76c1zlU0efC+9eSrZ5MH30punsk0efC+9earY5MH30punqk0efC+9earZ5MH30pvnaps8+F5681S3yYPvpTfPNTZ58L305rnWJg++l94819nkwffSm+d6mzz4Xnrz3GCTB99Lb54bLfJgfJLNU8MmD7630zw32eTB98iZp6ZNHnyvkXlq2eSxjY/HzTZ57ODjUdsmD76HuDx1bPLgezHLU9cmD76nrTy32OTB9waVp55NHnyPRXnq2+TB96qTp4FNHnzPL3ka2uTB906Sp5FNHnwPGnka2+TB9/KQp4lNHnxPBHma2uTB95aPp5lNHnyP7nia2+TB9zqOp4VNHof4eLS0yeNnPh6tbPLgexjG09omD74XXDxtbPLge2rF09YmD743UTy32uTB93iJ5zabPPheGfG0s8iD8zmQ9jZ5ML7bcbtNHowPbNxhkwfjSxjAleNTXsJoFHwJw+NWHo/yxCuPV3l8yuNXngLKk6A8icpzifJcqjyXKU9B5SmkPIWVp4jyFFWeJOUppjzFlSdZeUooT0nlKaU8pZWnjPKUVZ5yylNeeSooT0XluVx5rlCeK5XnKuWppDyVlaeK8lSlrX7aJacNZtqbpW1N2hGkzTTah6ItHNr9oI0DWnOn5Wpa6aVFUlpfpKU5WtWiBSFaS6FlCPqCp49f+m6kTy76WqGJPs2RaXpJMzOa1NB8gKSUVIgGcBr7aNigHkfJSu1MITJ/CWMI/hKGJw56CYNgyPMIHRylZyPWlzA4n0dAeBi8hNFR75zxJYxIs5cwOgYgLncJNDXcPnfxmepkkQfnSxh3W+TB+RJGik0ejC9hdLbJg/EljC42eTC+hNHVJg/GlzC62eTB+BLGPTZ5ML6E0d0mD8aXMO61yYPxJYweNnkwvoTR0yYPxpcw7rPJg/EljF42eTC+hNHbJg/GlzBSbfJgfAkjzSYPxpcw+tjkwfgSxv02eTC+hJFukwfjSxh9bfJgfAkjwyYPxpcw+tnkwfgSRn+bPBhfwnjAJg/GlzAG2OTB+BLGQJs8GF/CeNAmD8aXMB6yyYPxJYyHbfJgfAnjEZs8GF/CeNQmD8aXMB6zyYPxJYxBNnkwvoQx2CYPxpcwHrfJg/EljCds8mB8CeNJmzwYX8J4yiYPxpcwnrbJg/EljCE2eTC+hDHUJg/GlzCescmD8SWMZ23yYHwJ4zmbPBhfwnjeJg/GlzCG2eTB+BLGcJs8GF/CGGGRB+dLGJk2eTC+hBGwyYPxJYwsmzwYX8IYaZPHNj4eo2zy2MHH4wWbPBhfwnjRJg/GlzBessmD8SWMl23yYHwJ4xWbPBhfwnjVJg/GlzBes8mD8SWM123yYHwJY7RNHowvYbxhkwfjSxhv2uTB+BLGGJs8GF/CGGuTB+NLGONs8mB8CWO8TR6H+HhMsMnjZz4eE23yYHwJY5JNHowvYUy2yYPxJYwpNnkwvoQx1SYPxpcwptnkwfgSxnSLPDhfwphhkwfjSxgzbfJgfAljlk0ejC9hAFt0p7yE0fjESxh3K0+K8nRWni7K01V5uinPPcrTXXnuVZ4eytNTee5Tnl7K01t5UpUnTXn6KM/9ypOuPH2VJ0N5+ilPf+V5QHkGKM9A5XlQeR5SnoeV5xHleVR5HlOeQcozWHkeV54nlOdJ5XlKeZ6mrX7aJacNZtqbpW1N2hGkzTTah6ItHNr9oI0DWnOn5Wpa6aVFUlpfpKU5WtWiBSFaS6FlCPqCp49f+m6kTy76WqGJPs2RaXpJMzOa1NB8gKSUVIgGcBr7aNigHkfJSu1MIcrpJQzsPYOhyv1MsB207xlUQM6Pne4femCj00goDzohtfTMQWxVcHYWrjHvMxyMbzPMcdgm4DMcc/XOGZ/hcJk9wzEXSlvPPIGmhttnHp+p+RZ5cD7DscAiD85nOBba5MH4DMcimzwYn+FYbJMH4zMcS2zyYHyGY6lNHozPcCyzyYPxGY7lNnkwPsOxwiYPxmc4VtrkwfgMxyqbPBif4VhtkwfjMxxv2eTB+AzHGps8GJ/hWGuTB+MzHOts8mB8hmO9TR6Mz3BssMmD8RmOt23yYHyGY6NNHozPcGyyyYPxGY53bPJgfIbjXZs8GJ/heM8mD8ZnODbb5MH4DIeyyYPxGY4tNnkwPsOx1SYPxmc4ttnkwfgMx3abPBif4dhhkwfjMxzv2+TB+AzHBzZ5MD7D8aFNHozPcHxkkwfjMxw7bfJgfIZjl00ejM9w7LbJg/EZjo9t8mB8huMTmzwYn+HYY5MH4zMcn9rkwfgMx2c2eTA+w/G5TR6Mz3DstcmD8RmOfTZ5MD7D8YVNHozPcHxpkQfnMxxf2eTB+AzH1zZ5MD7D8Y1NHozPcOy3yWMbH48DNnns4OPxrU0ejM9wfGeTB+MzHN/b5MH4DMcPNnkwPsPxo00ejM9wHLTJg/EZjp9s8mB8huOQTR6Mz3ActsmD8RmOn23yYHyG4xebPBif4ThikwfjMxy/2uTB+AzHbzZ5MD7D8btNHof4ePxhk8fPfDz+tMmD8RmOv2zyYHyG42+bPBif4ThqkwfjMxz/2OTB+AzHMZs8GJ/hOG6RB+MzHPERNnnwPcMRn8cmD75nOOLz2uTB9wxHfCTAI/wZjiYnnuFYoDwLlWeR8ixWniXKs1R5linPcuVZoTwrlWeV8qxWnreUZ43yrFWedcqzXnk2KM/byrNReTYpzzvK867yvKc8m5VHKc8W5dmqPNuUZ7vy7FCe95XnA+X5UHk+Up6dyrNLeXYrz8e01U+75LTBTHuztK1JO4K0mUb7ULSFQ7sftHFAa+60XE0rvbRISuuLtDRHq1q0IERrKbQMQV/w9PFL3430yUVfKzTRpzkyTS9pZkaTGpoPkJSSCtEATmMfDRvU4yhZqZ0pRGd7hgN6BmO+7hmM+NRlKwgJNfz8LMBrvMtRbjbhfQZjHl9uIjycP4MRH4U4R57ByIM8g5HH6BmM+KgAxAUYCQbPqdMrpct9ddIG1O+X2qVuSq9egye2rt28Qb2swZPb9chI7da3L9lJPqWaWUg1o1JU3EAEGF1VxT2N8Yl22ORwRR9EK/ogVtEYgT6GdgzGdzvi81vkwfhuR3ysTR5873bEx9nkwfduR7zbJg++dzviPTZ58L3bER9vkwffux3xXps8+N7tiPfZ5MH3bke83yYPvnc74gvY5MH3bkd8gk0efO92xCfa5MH3bkf8JTZ58L3bEX+pTR5873bEX2aTB9+7HfEFbfLge7cjvpBNHnzvdsQXtsmD792O+CI2efC92xFf1CYPvnc74pNs8uB7tyO+mE0efO92xBe3yYPv3Y74ZJs8+N7tiC9hkwffux3xJW3y4Hu3I76UTR5873bEl7bJg+/djvgyNnnwvdsRX9YmD753O+LL2eTB925HfHmbPPje7YivYJMH37sd8RVt8uB7tyP+cps8+N7tiL/CJg++dzvir7TJg+/djvirbPLge7cjvpJNHnzvdsRXtsmD792O+Co2efC92xFf1SYPvnc74qvZ5MH3bkf81TZ58L3bEV/dJg++dzvir7HJg+/djvhrbfLge7cj/jqLPBjf7Yi/3iYPvnc74m+wyYPv3Y74G23y4Hu3I76GTR7b+HjcZJPHDj4eNW3y4Hu3I76WTR5873bE32yTB9+7HfG1bfLge7cjvo5NHnzvdsTXtcmD792O+Fts8uB7tyO+nk0efO92xNe3yYPv3Y74BjZ58L3bEd/QJg++dzviG9nkwfduR3xjmzz43u2Ib2KTB9+7HfFNbfI4xMejmU0eP/PxaG6TB9+7HfEtbPLge7cjvqVNHnzvdsS3ssmD792O+NY2efC92xHfxiYPvnc74tta5MH5bsetNnkwvttxm00ejO92tLPJg/HdjvYAj1PeRsjKgh6sQFDx+nvbeUweZrgDYc72MEOE84cZgg8JPBRAuFR4WsJ/8H2CX6GGjL8TipJYLR/CatnBYi2vU+4nobaM7yjhP+5R5X4A83+XQ//Qoxjuisp9DQSsrNxVsYp2kghUfEeKAJZOd0PpNAio5Zlvpixomda3W4+uaalVW3ZL790vIyWjR1pq1qjQGypxD4e9p9IprHx3qBy5apSKT1HxnVV8FxXfdfD0Ouk9evXq0T3oYVSRwOBJbXqkdu/VDZ1vVco9KD8dP37shM3efXp1U/HdoHd+DJ6rqUS2dQ0UrEsQhjT4Pfq2NqvlPQGolvcYpLE2OWm8ib8nKwsamaBk7y40KsZHc9byXqPOduYDRfcaPFAUfEcpHzTE3E6TD2yI6yEyFlNFO6AV7YBVtCdQ0VOGH99Ih8NPPPA8yX8msaG+O42cmQ6sghUFXpXKBG1FX+c0rkWz/qsunAx3oslwpyZax48fPxSKVu7gPMH/kxXSi/tCxV6YdCAd+T4M1ivZ7N20O7HpeabE4HmiQTD/AYf+M0flbjbr0IkK3AcNDb2gaVImhAoA+WeklfdlSoy0wS+4Z9CPmN+wkba3RC4F/f+O+U+VCtSzaEX/wCqaJhWoPzH/faT8/4X5v1/K/9+Y/3Qp/0cx/32l/P+D+c+Q8n8M899Pyv9xzH9/If/uCMz/A1L+82D+B0j5z4v5HyjlPxLz/6CUfxfm/yEp/+BjuQ9L+c+H+X9Eyn805v9RKf8xmP/HpPznx/wPkvIfi/kfLOU/DvP/uJR/N+b/CSn/Hsz/k1L+4zH/T0n592L+pXZ73D7M/xAp/37M/1Ap/wUw/89I+U/A/D8r5T8R8/+clP9LMP/PS/m/FPM/TMr/ZZj/4VL+C2L+R0j5L4T5z5TyXxjzH5DyXwTznyXlvyjmf6SU/yTM/ygp/8Uw/y9I+S+O+X9Ryn8y5v8lKf8lMP8vS/kvifl/Rcp/Kcz/q1L+S2P+X5PyXwbz/zriP+y3rprtiahMy/u0wk5r17R8TCu4tIhK65i0lEirebSgRmtatKxEKzu0uELrG7TEQF/59KFN37r0uUlffPTRRd899OlBs3+agNMcmKahNBOkyRjNh2hKQrMCEmbSRpInUggapGmcpKGKRgvqsNRnKG0pc6jxKH5EIaffogKP143Wj/+R0LZPpPP9K/jwwWisKd8A/IeOcTZjPcaJOEdNvekwJZtfJCmZhbZ3Crof+GYWFlAofcY4Sp/mrL+Qxpk+Yxx2Q3CkGHteR4o8ZiPFWGykGCfQ1HD7jOMzNV5ixI3vpOK7Y3GcYDGOnD94NtEiD84fPJtkkwfjD55NtsmD8QfPptjkwfiDZ1Nt8mD8wbNpNnkw/uDZdJs8GH/wbIZNHow/eDbTJg/GHzybZZMH4w+ezbbJg/EHz+bY5MH4g2dzbfJg/MGzeTZ59OXjMd8mD8YfPFtgkwfjD54ttMmD8QfPFtnkwfiDZ4tt8mD8wbMlNnkw/uDZUps8GH/wbJlNHow/eLbcJg/GHzxbYZMH4w+erbTJg/EHz1bZ5MH4g2erbfJg/MGzt2zyYPzBszU2eTD+4NlamzwYf/BsnU0ejD94tt4mD8YfPNtgkwfjD569bZMH4w+ebbTJg/EHzzbZ5MH4g2fv2OTB+INn79rkwfiDZ+/Z5MH4g2ebbfJg/MEzZZMH4w+ebbHJg/EHz7ba5MH4g2fbbPJg/MGz7TZ5MP7g2Q6bPBh/8Ox9mzwYf/AM+A2fU06KtjhxUnSiip+k4ier+CkqfqqKn6bip9NWPO1i0wYw7Z3StiPt2NFmF+0T0RYL7U7Qwj6tidNyMq3E0iImrf/R0hmtOtGCDa110DIBfWHTxyl919EnEX1N0ESc5rA0/aOZE006SK9J6kglaIClsYm6NfUISiZqB6JwtpOi0AHQ8ejBwAnYSdHx0LG3Dx2lTwvek6KMxwcRHgYnRT86rydF85qdFP0IO+G4U6Cp4fbZyWdql0UenCc1d1vkwXlS82ObPBhPan5ikwfjSc09NnkwntT81CYPxpOan9nkwXhS83ObPBhPau61yYPxpOY+mzwYT2p+YZMH40nNL23yYDyp+ZVNHownNb+2yYPxpOY3NnkwntTcb5MH40nNAzZ5MJ7U/NYmD8aTmt/Z5MF4UvN7mzwYT2r+YJMH40nNH23yYDypedAmD8aTmj/Z5MF4UvOQTR6MJzUP2+TBeFLzZ5s8GE9q/mKTB+NJzSM2eTCe1PzVJg/Gk5q/2eTBeFLzd5s8GE9q/mGTB+NJzT9t8mA8qfmXTR6MJzX/tsmD8aTmUZs8GE9q/mOTB+NJzWM2eTCe1DxukwffSU1vhE0efCc1vXls8uA7qenNa5MH30lNb6RNHnwnNb0umzz4Tmp6o2zy4Dup6c1nkwffSU1vtE0efCc1vTEAj/CTmi1PnNTcreI/VvGfqPg9Kv5TFf+Ziv+ctuJpF5s2gGnvlLYdaceONrton4i2WGh3ghb2aU2clpNpJZYWMWn9j5bOaNWJFmxorYOWCegLmz5O6buOPonoa4Im4jSHpekfzZxo0kF6TVJHKkEDLI1N1K2pR1AyUTsQhXN60zMaPdK5CzupuQs5vufN7yh9WvKe1OQ7vgfxcH5S0xuLOOf50ccgyOikphf7IR1vHBAi4EdGvXHJjjPCwkFIr1sgsy0chPR6bPLgOwjpjbfJg+8gpNdrkwffQUivzyYPvoOQXr9NHnwHIb0FbPLgOwjpTbDJg+8gpDfRJg++g5DeS2zy4DsI6b3UJg++g5Dey2zy4DsI6S1okwffQUhvIZs8+A5Cegvb5MF3ENJbxCYPvoOQ3qI2efAdhPQm2eTBdxDSW8wmD76DkN7iNnnwHYT0JtvkwXcQ0lvCJg++g5DekjZ58B2E9JayyYPvIKS3tE0efAchvWVs8uA7COkta5MH30FIbzmbPPgOQnrL2+TBdxDSW8EmD76DkN6KNnnwHYT0Xm6TB99BSO8VNnnwHYT0XmmTB99BSO9VNnnwHYT0VrLJg+8gpLeyTR58ByG9VWzy4DsI6a1qkwfjQchqNnkwHoS82iYPxoOQ1W3yYDwIeY1NHowHIa+1yYPxIOR1NnkwHoS83iYPxoOQN9jkwXgQ8kaAh8FJthrn9SSbwa8quyap6KpZEJebkFqW7yhRy+B5u5uw83Y1Af/IebuamwcZRhOrZy2gntPrpPfo1atH92AVRxXNGjypTY/U7r26YadbozLICRrcmkilz1zDynNGlbOrmEM3PwN8glDvPr26Ke/NoWJt6LAr1IY3Y7DapzV1JtYfakOoOmdyOX7aP6iSdUzy8UQOQPlYYbRUv62J+X/D6QD8ApKxZ2I6nIahsf9muLm1hCuMhlBvAD3pFLKjzMjmQKOuKI2IXGlAOeO9mSqJjaG3MI31t5w+AGDiXu88h/IUOSgSCI212BSnnt5FIDQM18eGYefNW49sYxVuoG8EM/8NMg0SV58PlLgNYGaO/J/o/zqzWP9viKmBzJiNCSs2HjcSyc6GZBgbfBozDT6NafA5E7egZVrfbj26pqVWbdktvXe/jJSMHmmpWaNCfxc54r9ymXBrYYhVo5S3ifI2Vd5mytv81OHDnzV4Yu309JSBWdjwAewno+MQEjiHQ1sTvclM1FYjpyNxzAvOqpvHCX/NSHVZk4k3CATL8ZfGiXt0WmDwHt29mdzND9xVDvvSaBEqtuRMCaSrt0g+50+6+J5ooHtqAk0fHn+geXZidhoWxFahYmu+z7VWGKx1stGHUHxP7ENkjNCHEOp/rFNR1XwbZJ38yGkFiVpraLI6BkKNBfLP+SSrEVHJFGgiWrzJhwl/GwHvZWDvbU3mXLmhNw5odBl5h5zfKrIEmU+5EjHyt0n5L4T5byfhP/I43PjtpfgXxPzfjvgPey6g9Z4I+ihqQ1lLuRN05L2Ngkg8yJRyFbgo/svpeQFwgeAO/TgZA42mMc5lAfvcodH0DqzpgTvJYRs9rVk3eryMF6I7OEzhNv9HUxjTRPBjuMI4g+yEtL7DSKxVoRzuCM1bxjnK9Dasj3NwZrrTnThwULvrvA5qecwGtbuwQa2TQFPD7cP4qsDdFnlwvh6SYpEH5+shnW3yYBxCutjkwfh6SFebPBj7eTebPBhfD7nHJg/G10O62+TB+HrIvTZ5ML4e0sMmD8bXQ3ra5MH4esh9Nnkwvh7SyyYPxtdDetvkwfh6SKpNHoyvh6TZ5MH4ekgfmzwYXw+53yYPxtdD0m3yYHw9pK9NHoyvh2TY5MH4ekg/mzwYXw/pb5MH4+shD9jkwfh6yACbPBhfDxlokwfj6yEP2uTB+HrIQzZ5ML4e8rBNHoyvhzxikwfj6yGP2uTB+HrIYzZ5ML4eMsgmD8bXQwbb5MH4esjjNnkwvh7yhE0ejK+HPGmTB+PrIU/Z5MH4esjTNnkwvh4yxCYPxtdDhtrkwfh6yDM2eTC+HvKsTR6Mr4c8Z5MH4+shz9vkwfh6yDCbPBhfDxlukwfj6yEjbPJgfD0k0yIP9yY+HgGbPN7l45Flk8dmPh4jbfLYwsdjlE0e2/h4vGCTxw4+Hi/a5PEBH4+XbPL4iI/HyzZ57OLj8YpNHh/z8XjVJo89fDxes8njMz4er9vksZePx2ibPL7g4/GGTR5f8fF40yaPb/h4QHfWwy61tT1xqS1FeTsrbxfl7aq83ZT3HuXtrrz3Km8P5e2pvPcpby/l7a28qcqbprx9lPd+5U1X3r7Km6G8/ZS3v/I+QFv3tOtNG8a010rblLTDR5tjtK9EWzK0m0EbAbSGTsvPtHJLi560XkhLbbRKRQs8tDZCywr0RU4fs/QdSJ9Q9PVBE3ea89J0kWZaNEkhfSdpJFWhAZnGMhoGqAdR8lG7EeWzXWqDrpXdjV0ruzsLsTcWseXwWllb3mtljHcQHL9PgF0rG6d3znitLK/ZtbJxAYjLeIGmhtuHcXl/gkUenNfKJlrkwXmtbJJNHozXyibb5MF4rWyKTR6MQ/pUmzwYr5VNs8mD8VrZdJs8GK+VzbDJg/Fa2UybPBivlc2yyYPxWtlsmzwYr5XNscmD8VrZXJs8GK+VzbPJg/Fa2XybPBivlS2wyYPxWtlCmzwYr5UtssmD8VrZYps8GK+VLbHJg/Fa2VKbPBivlS2zyYPxWtlymzwYr5WtsMmD8VrZSps8GK+VrbLJg/Fa2WqbPBivlb1lkwfjtbI1NnkwXitba5MH47WydTZ5MF4rW2+TB+O1sg02eTBeK3vbJg/Ga2UbbfJgvFa2ySYPxmtl79jkwXit7F2bPBj3nd+zyYPxWtlmmzwYr5UpmzwYr5VtscmD8VrZVps8GK+VbbPJg/Fa2XabPBivle2wyYPxWtn7NnkwXiv7wCIPzmtlH9rkwXit7CObPBivle20yYPxWtkumzy28fHYbZPHDj4eH9vkwXit7BObPBivle2xyYPxWtmnNnkwXiv7zCYPxmtln9vkwXitbK9NHozXyvbZ5MF4rewLmzwYr5V9aZMH47UyICSnXCu79cS1sonKO0l5JyvvFOWdqrzTlHe68s5Q3pnKO0t5ZyvvHOWdq7zzlHe+8i5Q3oXKu0h5FyvvEuVdqrzLlHc5bd3TrjdtGNNeK21T0g4fbY7RvhJtydBuBm0E0Bo6LT/Tyi0tetJ6IS210SoVLfDQ2ggtK9AXOX3M0ncgfULR1wdN3GnOS9NFmmnRJIX0naSRVIUGZBrLaBigHkTJR+1GlM/pWtkE3bWy4O81ExKK/oQsxOvXjnLtVt5rZYxrvggPg2tl3+idM14rizS7VvZNAOKyX6Cp4fbZz2fqgEUenNfKvrXIg/Na2Xc2eTBeK/veJg/Ga2U/2OTBeK3sR5s8GK+VHbTJg/Fa2U82eTBeKztkkwfjtbLDNnkwXiv72SYPxmtlv9jkwXit7IhNHozXyn61yYPxWtlvNnkwXiv73SYPxmtlf9jkwXit7E+bPBivlf1lkwfjtbK/bfJgvFZ21CYPxmtl/9jkwXit7JhNHozXyo7b5MF3rcwXYZMH37UyXx6bPPiulfny2uTBd63MF2mTB9+1Mp/LJg++a2W+KJs8+K6V+fLZ5MF3rcwXbZMH37UyX4xNHnzXynz5bfLgu1bmi7XJg+9amS/OJg++a2U+t00efNfKfB6bPPiulfnibfLgO2Lg89rkwXetzOezyYPvWpnPb5MH37UyXwGbPPiulfkSbPLgu1bmS7TJg+9ame8Smzz4rpX5LrXJg+9ame8ymzz4rpX5ClrkwXitzFfIJg++a2W+wjZ58F0r8xWxyYPvWpmvqE0e2/h4JNnksYOPRzGbPPiulfmK2+TBd63Ml2yTB9+1Ml8Jmzz4rpX5StrkwXetzFfKJg++a2W+0jZ58F0r85WxyYPvWpmvrE0efNfKfOVs8uC7VuYrD/AIv1Z224lrZd8q73fK+73y/qC8PyrvQeX9SXkPKe9h5f1ZeX9R3iPK+6vy/qa8vyvvH8r7p/L+pbx/K+9R5f1HeY8p73Hauqddb9owpr1W2qakHT7aHKN9JdqSod0M2gigNXRafqaVW1r0pPVCWmqjVSpa4KG1EVpWoC9y+pil70D6hKKvD5q405yXpos006JJCuk7SSOpCg3INJbRMEA9iJKP2o0o53StLAu4HxSpvI3Q22cHsqBjGAeyAHu+Co6S7Tbee2V8l40gHs7vlfkq6p0z3itzGd0r81UMQFwuF2hquH0u5zN1hUUejPfKfFda5MF4r8x3lU0efPfKfJVs8uC7V+arbJMH370yXxWbPPjulfmq2uTBd6/MV80mD757Zb6rbfLgu1fmq26TB9+9Mt81Nnnw3SvzXWuTB9+9Mt91Nnnw3SvzXW+TB9+9Mt8NNnnw3Svz3WiTB9+9Ml8Nmzz47pX5brLJg+9ema+mTR5898p8tWzy4LtX5rvZJg++e2W+2jZ58N0r89WxyYPvXpmvrk0ejPfKbrHJg/FeWT2bPBjvldW3yYPxXlkDmzwY75U1tMmD8V5ZI5s8GO+VNbbJg/FeWRObPBjvlTW1yYPxXlkzmzwY75U1t8mD8V5ZC5s8GO+VtbTJg/FeWSubPBjvlbW2yYPxXlkbmzwY75W1tcmD8V7ZrTZ5MN4ru80mD8Z7Ze1s8mC8V9beJg/Ge2W32+TBeK/sDps8GO+V3WmTB+O9sg4WeXDeK+tokwfjvbK7bPJgvFfWySYPxntld9vksY2PR4pNHjv4eHS2yYPxXlkXmzwY75V1tcmD8V5ZN5s8GO+V3WOTB+O9su42eTDeK7vXJg/Ge2U9bPJgvFfW0yYPxntl99nkwXivrBfAI/xeWbvgvTLflcp3lfJVUr7KyldF+aoqXzXlu1r5qivfNcp3rfJdp3zXK98Nynej8tVQvpuUr6by1VI++tvayldH+erS1j3tetOGMe210jYl7fDR5hjtK9GWDO1m0EYAraHT8jOt3NKiJ60X0lIbrVLRAg+tjdCyAn2R08csfQfSJxR9fdDEnea8NF2kmRZNUkjfSRpJVWhAprGMhgHqQZR81G5E2fRe2YkLY03Am2W+K6CbZQRDrhv1dpRu7VhvlnFeN0J4GNwsS9U7Z7xZFmV2syw1AHFJE2hquH0YTwz3sciD82bZ/RZ5cN4sS7fJg/FmWV+bPBhvlmXY5MF4s6yfTR6MN8v62+TBeLPsAZs8GG+WDbDJg/Fm2UCbPBhvlj1okwfjzbKHbPJgvFn2sE0ejPPER2zyYLxZ9qhNHow3yx6zyYPxZtkgmzwYb5YNtsmD8WbZ4zZ5MN4se8ImD8abZU/a5MF4s+wpmzwYb5Y9bZMH482yITZ5MN4sG2qTB+PNsmds8mC8WfasTR6MN8ues8mD8WbZ8zZ5MN4sG2aTB+PNsuE2eTDeLBthkwfjzbJMmzwYb5YFbPJgvFmWZZMH482ykTZ5MN4sG2WTB+PNshds8mC8WfaiTR6MN8tessmD8WbZyzZ5MN4se8UmD8abZa/a5MF4s+w1mzwYb5a9bpMH482y0TZ5MN4se8MmD8abZW/a5MF4s2yMRR6cN8vG2uTBeLNsnE0ejDfLxtvkwXizbIJNHtv4eEy0yWMHH49JNnkw3iybbJMH482yKTZ5MN4sm2qTB+PNsmk2eTDeLJtukwfjzbIZNnkw3iybaZMH482yWTZ5MN4sm22TB+PNsjkAj/CbZe1P3Cy7X/nSla+v8mUoXz/l6698DyjfAOUbqHwPKt9Dyvew8j2ifI8q32PKN0j5Bivf48r3hPI9qXxPKd/TyjeEtu5p15s2jGmvlbYpaYePNsdoX4m2ZGg3gzYCaA2dlp9p5ZYWPWm9kJbaaJWKFnhobYSWFeiLnD5m6TuQPqHo64Mm7jTnpekizbRokkL6TtJIqkIDMo1lNAxQD6Lko3YjyjndLEPvB3lbBuOqvR9UAdGz0/1DF9b6jITatQ9SS99cxFYFZ9rcnvdaG+MZ1rkO2wS81jZP75zxWls+s2tt86C09c0XaGq4fRiXhxY4bGroYmlUhoqPRoDR16n4e7GAL7QYcM77d4ss8uC8f7fYJg/G+3dLbPJgvH+31CYPxvt3y2zyYLx/t9wmD8b7dyts8mC8f7fSJg/G+3erbPJgvH+32iYPxvt3b9nkwXj/bo1NHozfLmtt8mC8f7fOJg/G+3frbfJgvH+3wSYPxvt3b9vkwXj/bqNNHoz37zbZ5MF4/+4dmzwY79+9a5MH4/2792zyYLx/t9kmD8b7d8omD8b7d1ts8mC8f7fVJg/G+3fbbPJgvH+33SYPxvt3O2zyYLx/975NHoz37z6wyYPx/t2HNnkw3r/7yCYPxvt3O23yYLx/t8smD8b7d7tt8mC8f/exTR6M9+8+scmD8f7dHps8GO/ffWqTB+P9u89s8mC8f/e5TR6M9+/22uTBeP9un00ejPfvvrDJg/H+3Zc2eTAesPrKJg/G+3dfW+TBef/uG5s8GO/f7bfJg/H+3QGbPBjv331rk8c2Ph7f2eSxg4/H9zZ5MN6/+8EmD8b7dz/a5MF4/+6gTR6M9+9+ssmD8f7dIZs8GO/fHbbJg/H+3c82eTDev/vFJg/G+3dHbPJgvH/3K8Aj/P7d7Sfu3y1SvsXKt0T5lirfMuVbrnwrlG+l8q1SvtXK95byrVG+tcq3TvnWK98G5Xtb+TYq3yble0f53lW+95RvM23d0643bRjTXittU9IOH22O0b4SbcnQbgZtBNAaOi0/08otLXrSeiEttdEqFS3w0NoILSvQFzl9zNJ3IH1C0dcHTdxpzkvTRZpp0SSF9J2kkVSFBmQay2gYoB5EyUftRpTP9stu0P23BeiNp4XYL7styEKu6fzmKN1u570Cx/jZjvAwuAL3u9454xW4aLMrcL8HIC5/CDQ13D5/8Jn60yIPzptlf1nkwXmz7G+bPBhvlh21yYPxZtk/Nnkw3iw7ZpMH482y4zZ58N0s80fY5MF3s8yfxyYPvptl/rw2efDdLPNH2uTBd7PM77LJg+9mmT/KJg++m2X+fDZ58N0s80fb5MF3s8wfY5MH380yf36bPPhulvljbfLgu1nmj7PJg+9mmd9tkwffzTK/xyYPvptl/nibPPhulvm9Nnnw3Szz+2zy4LtZ5vfb5MF3s8xfwCYPvptl/gSbPPhulvkTbfLgu1nmv8QmD76bZf5LbfLgu1nmv8wmD76bZf6CNnnw3SzzF7LJg+9mmb+wTR58N8v8RWzy4LtZ5i9qkwffzTJ/kk0efDfL/MVs8uC7WeYvbpMH380yf7JNHnw3y/wlbPLgu1nmL2mTB9/NMn8pmzz4bpb5S9vkwXezzF/GJg++m2X+sjZ58N0s85ezyYPviJq/vE0efDfL/BUs8mC8WeavaJMH380y/+U2efDdLPNfYZMH380y/5U2eWzj43GVTR47+HhUssmD72aZv7JNHnw3y/xVbPLgu1nmr2qTB9/NMn81mzz4bpb5r7bJg+9mmb+6TR58N8v819jkwXezzH+tTR58N8v819nkwXezzH89wCP8ZtkdJ26W/aV8fyvfUeX7R/mOKd9x5Y9Q/uApWuWPVH6X8kcpfz7lj1b+GOXPr/yxyh+n/G7l9yh/vPJ7ld9HW/e0600bxrTXStuUtMNHm2O0r0RbMrSbQRsBtIZOy8+0ckuLnrReSEtttEpFCzy0NkLLCvRFTh+z9B1In1D09UETd5rz0nSRZlo0SSF9J2kkVaEBmcYyGgaoB1HyUbsR5bPdLNNGK/jLbi3QK2h/YjfL/swC7PlvcJRud/DeLOO7bgTxcH6zzH8j4hy5WZYHuVmWx+hmmf/GAMSlBhCiOXV6pXS5r07agPr9UrvUTenVa/DE1rWbN6iXNXhyux4Zqd369iU7yWY/XdgCyltvI4jMTUxkbko2+yG2GPSH2GKwxqnpMH/hivZAK9oDq2gtoYp6a4AV9cZhFb1ZYGRDhyPGC4j+2hZ5MF5A9NexyYPvAqK/rk0efBcQ/bfY5MF3AdFfzyYPvguI/vo2eTBeQGxgkwfjBcSGNnkwXkBsZJMH4wXExjZ5MF5AbGKTB+MFxKY2eTBeQGxmkwfjBcTmNnkwXkBsYZMH4wXEljZ5MF5AbGWTB+MFxNY2eTBeQGxjkwfjBcS2NnkwXkC81SYPxguIt9nkwXgBsZ1NHowXENvb5MF4AfF2mzwYLyDeYZMH4wXEO23yYLyA2MEmD8YLiB1t8mC8gHiXTR6MFxA72eTBeAHxbps8GC8gptjkwXgBsbNNHowXELvY5MF4AbGrTR6MFxC72eTBeAHxHps8GC8gdrfJg/EC4r02eTBeQOxhkwfjBcSeNnkwXkC8zyYPxguIvWzyYLyA2NsmD8YLiKk2eTBeQEyzyYPxAmIfizw4LyDeb5MH4wXEdJs8GC8g9rXJg/ECYoZNHtv4ePSzyWMHH4/+NnkwXkB8wCYPxguIA2zyYLyAONAmD8YLiA/a5MF4AfEhmzwYLyA+bJMH4wXER2zyYLyA+KhNHowXEB+zyYPxAuIggIfBjbDBiHO2G2ERg6fXSe/Rq1eP7sH7S6PyBwZPatMjtXuvbmAUvC31LgKDJ9ZOT08ZGFD+x1GzyKHiM69fLWiZ1rdbj65pqVVbdkvv3S8jJaNHWmrWqNB1rMgRYVezHg+VXQXCygmjlP8J5X9S+Z9S/qfPuIuG3KH0PwHRrDDVaQMVzXLYQP7HARf/mTyzp+U5HXyiAr379Oqm/ENCxaHQvU3oxtyQRyHY0M2DTu1eWVD3GgqhcjjWcfy0f1Alnzm9kiOxNjuzkh1OqyShhmCEnQ5T0C1K0PmzZ5ryvjZ3WLEtnT5qMHtZo0cfnTwOiuOzj57aDYqcNk7pa5LDgaPT/ygQSufnsHR2PDT4h5DtnAJ8+l8GYUgzPK93albL5wNQLZ93mF3QZV7/UDKcU5Qu23zZ4qfrj0hdUSy2l5f6YBCG8BlmpCZnpuGwRw1uJt+svLdAOVphiUQwg2o0FPO/VGZGMxySwiUQaqlTwSzidEbjH47MaP4bKUaYjRS6P6BqkG2swpkGYwDkH5l4nxrtAplhoQmgY7PZzEE72YtO+K9cJqwTB8Kmg6toqpel/COVnwovnKMTMhUqx3YLc7OArL+o/C8p/8vK/8qpfWgU1MYvQoF89Tz3NIN4+V8NK78UVn45rPwKxes15X9d+Ucr/xunpljCS846NPKOay7z39P/RTsdTgK8/iOyP6bAh1+C6gPLRKaTumL0X3NgEmXkW4gyuglglMk5TJlMD3wLMXleJjU9uAnzv1xmevAmNBwtg1DLHTYR+NGYCaHGiMwD3iTDWH6ONRqxz5zljk02acZx57UZDd6AoZ7mr4l2iZpYyMdLVbQWWtFaWEUnSFX0ZrSiN2MVnShV0cFoRWtgFZ0k/yUyztGXyGSpL5FxZBur8BSRLxHyPyVTQvv8Ywwsg8PhVJsfvUkj/0s1MBBlHE399OBkB+A8/+0Q7IlIVv5pyj9d+Wco/0zln6X8s5V/jvLPVf55yj9f+Rco/0LlX6T8i5V/ifIvVf5lyr9c+Vco/0rlX6X8q5X/LeVfo/xrlX+d8q9X/g3K/7byb1T+Tcr/Dt869bQYCDYdg83AYDMx2CwMNhuDzcFgczHYPAw2H4MtwGALMdgiDLYYgy3BYEsx2DIMthyDrcBgKzHYKgy2GoO9hcHWYLC1GGwdBluPwTZgsLcx2EYMtgmDvRPjWCrLkETQ4Awp3zQN6qfjx0lxpmtRQV2aoUOdUK+ZuaOyTm6XzcoVdeTfTbXZuaH2Zm+9zckFVee/Dbq5Z0dlhrbx5p0VlRa22Tf/bKgl4VuCC86CGnDKxuHCnFENTt1eXJQjav9pm5CLc0JVPX2rckkOqHJnbGguhbY9l52BatfxTNTy01GD2ueAWnEaatDgnFArT0UtHJwjatUpqFsW5YxaHY5qUe8sqLfCUItbng21JoQqv+SsqLX/od6scHbUumxU5TG5oNb/i9pbJTfUhpOo+/flinr7BKpZeu6ojUFUl+Ya1CZCVeqqQ70j/8n2jnbs2x72yfau1CfbO2Q7K0tflyAMsfeeyIcd1fK9AFTL9+TPyeiTY5ujb5qwczKbQ0XF9/2xGYOpGJMTKO9AIr4ZmhAoILIGi7KY8y0G/QtY6qWUxM7JjIFquVVkeWMLGQ6w+T/HkXGTNqFGh42M26RGRloD2AaMjKODMMTedpGRkWq5PQDVcrtB5kD5vZUzv3eYHELTm90Ood4HEukcxUN/HfB1U/H4IFT8kE88PsBgHxqJxyZIPD6AGu9DILIGmYM5/0hkCNpBKYkNyztFZOEjMmzT/1YyjC2ib8VqCaF2OR0FnEvcRm3azw+TuN1SEkcr3bsBiZsfhCH2PhaROKrlxwGolh+LZCFJ3C6sF3wiI14fQ6g98uK1UQuaZypen4aKn/GJ16cY7DMj8doIidenUON9BkTWIHMw55+LDC6fUEpi3WavSLf9nAzL+AeDvxdC7RP57MxWTp3pk8qpR2HK+YVBQwIRIsOcEf9SXt/f1o4MI8L0/SspfafN7K8AfR8RhCH2vhbRd6rl1wGoll9L6fuX2EDxjcxA8TWE2i+v729rQcNN9f1AqPgtn74fwGDfGun725C+H4Aa71sgsgaZgzn/TmRw+YZSEus234t02+/IsIx/MPjfQ6gfRIKfrYl6JKaJP4oo9w9kmDOWB+WVe4O2zyeHKfdPUsq9gWwDyp0chCH2DokoN9XyUACq5SEp5T6IDQGHZYaAQxDqZ3nl3qAFFTdV7l9CxSN8yv0LBjtipNwbIOX+BWq8I0BkDTIHc/6ryOBymFIS6za/iXTbX8mwjH8w+L9BqN9Fgp+tiXokpol/iCj372SYM5Z/yiv3em2f3xam3H9JKfd6sg0o97YgDLH3t4hyUy3/DkC1/FtKuf/EhoCjMkPA3xDqH3nlXq8FbTVV7mOh4nE+5T6GwY4bKfd6SLmPQY13HIisQeZAzgtEiAwuRykloW5TII9Ety0QNCzjHwt+gTwQKq9I8LM1UY+ENLFApIRyF8hLhjlj6ZJX7nXaPp8SUu4CUVLKvY5sA8qdEoQhnSWfiHJTLfMFoFrmE1LuAi5sCIiWGQLyQagYeeVepwXdbajcBfKHirFsyl0gPwaLNVLudYhyF8gPNV4sEFmDzMGcx0kMLgWiKSWxbuMWUe44MizjHwy+G0J5RIKfrYl6JKaJ8SLK7SHDnLH0yiv3Wm2f3xWm3D4p5V5LtgHl3hWEIVngF1FuqqU/ANXSL6XcXmwIKCAzBPghVIK8cq/VgnaaKndiqHgJn3InYrBLjJR7LaTciVDjXQJE1iBzMOeXiohHAUpJrNtcJqLcl5JhGf9g8C+DUAVFgp+tiXokpomFRJS7IBnmjGVheeVeo+3zjcKUu4iUcq8h24ByNwrCkCwoKqLcVMuiAaiWRaWUuzA2BCTJDAFFIVQxeeVeowU1NFXu4qFiMp9yF8dgyUbKvQZS7uJQ4yUDkTXIHMx5CRHxSKKUxLpNSRHlLkGGZfyDwS8JoUqJBD9bE/VITBNLiyh3KTLMGcsy8sr9lrbPzw1T7rJSyv0W2QaUe24QhmRBORHlplqWC0C1LCel3GWwIaC8zBBQDkJVkFfut7SgOabKXTFUvJxPuStisMuNlPstSLkrQo13ORBZg8zBnF8hIh7lKSWxbnOliHJfQYZl/IPBvxJCXSUS/GxN1CMxTawkotxXkWHOWFaWV+7V2j6/Iky5q0gp92qyDSj3iiAMyYKqIspNtawagGpZVUq5K2NDQDWZIaAqhLpaXrlXa0HLTZW7eqh4DZ9yV8dg1xgp92pIuatDjXcNEFmDzMGcXysiHtUoJbFuc52Icl9LhmX8g8G/DkJdLxL8bE3UIzFNvEFEua8nw5yxvFFeuVdp+3yTMOWuIaXcq8g2oNxNgjAkC24SUW6q5U0BqJY3SSn3jdgQUFNmCLgJQtWSV+5VWlBjU+W+OVSszafcN2Ow2kbKvQpS7puhxqsNRNYgczDndUTEoyalJNZt6ooodx0yLOMfDH5dCHWLSPCzNVGPxDSxnohy30KGOWNZX165V2r7/KAw5W4gpdwryTag3IOCMCQLGoooN9WyYQCqZUMp5a6PDQGNZIaAhhCqsbxyr9SCHjNV7iahYlM+5W6CwZoaKfdKSLmbQI3XFIisQeZgzpuJiEcjSkms2zQXUe5mZFjGPxj85hCqhUjwszVRj8Q0saWIcrcgw5yxbCWv3CscKXdrKeWmBebWmHK3hrKgjYhyUy3bYMrdRkq5W2FDQFuZIaANhLpVXrlXyCn3baFiOz7lvg2DtTNS7hWQct8GNV47GeXGnLcXEY+2lJJYt7ldRLnbk2EZ/2Dwb4dQd4gEP1sT9UhME+8UUe47yDBnLDvIK/dybZ+fGqbcHaWUeznZBpR7ahCGZMFdIspNtbwrANXyLinl7oANAZ1khoC7INTd8sqt/y3xKabKnRIqduZT7hQM1tlIuZdDyp0CNV5nILIGmYM57yIiHp0oJbFu01VEubuQYRn/YPC7QqhuIsHP1kQ9EtPEe0SUmzr7PZyx7C6v3Mu0fX5CmHLfK6Xcy8g2oNwTgjAkC3qIKDfVskcAqmUPKeXujg0BPWWGgB4Q6j555V6mBY03Ve5eoWJvPuXuhcF6Gyn3Mki5e0GN1xuIrEHmYM5TRcSjJ6Uk1m3SRJQ7lQzL+AeDnwah+ogEP1sT9UhME+8XUe4+ZJgzlunyyr1U2+d3hyl3XynlXkq2AeXeHYQhWZAhotxUy4wAVMsMKeVOx4aAfjJDQAaE6i+v3Eu1oF2myv1AqDiAT7kfwGADjJR7KaTcD0CNNwCIrEHmYM4HiohHP0pJrNs8KKLcA8mwjH8w+A9CqIdEgp+tiXokpokPiyj3Q2SYM5aPyCv3Em2f3xKm3I9KKfcSsg0o95YgDMmCx0SUm2r5WACq5WNSyv0INgQMkhkCHoNQg+WVe4kWpEyV+/FQ8Qk+5X4cgz1hpNxLIOV+HGq8J4DIGmQO5vxJEfEYRCmJdZunRJT7STIs4x8M/lMQ6mmR4Gdroh6JaeIQEeV+mgxzxnKovHIv1vb5QmHK/YyUci8m24ByFwrCkCx4VkS5qZbPBqBaPiul3EOxIeA5mSHgWQj1vLxyL9aCCpoq97BQcTifcg/DYMONlHsxpNzDoMYbDkTWIHMw5yNExOM5Skms22SKKPcIMizjHwx+JoQKiAQ/WxP1SEwTs0SUO0CGOWM5Ul65F2n7/NIw5R4lpdyLyDag3EuDMCQLXhBRbqrlCwGoli9IKfdIbAh4UWYIeAFCvSSv3Iu0oCWmyv1yqPgKn3K/jMFeMVLuRZByvww13itAZA0yB3P+qoh4vEgpiXWb10SU+1UyLOMfDP5rEOp1keBna6IeiWniaBHlfp0Mc8byDXnlXqjt80PDlPtNKeVeSLYB5R4ahCFZMEZEuamWYwJQLcdIKfcb2BAwVmYIGAOhxskr90ItaIipco8PFSfwKfd4DDbBSLkXQso9Hmq8CUBkDTIHcz5RRDzGUkpi3WaSiHJPJMMy/sHgT4JQk0WCn62JeiSmiVNElHsyGeaM5VR55V6g7fMNw5R7mpRyLyDbgHI3DMKQLJguotxUy+kBqJbTpZR7KjYEzJAZAqZDqJnyyr1AC2pgqtyzQsXZfMo9C4PNNlLuBZByz4IabzYQWYPMwZzPERGPGZSSWLeZK6Lcc8iwjH8w+HMh1DyR4Gdroh6JaeJ8EeWeR4Y5Y7lAXrnna/t8IEy5F0op93yyDSh3IAhDsmCRiHJTLRcFoFouklLuBdgQsFhmCFgEoZbIK7e+/2aaKvfSUHEZn3IvxWDLjJR7PqTcS6HGWwZE1iBzMOfLRcRjMaUk1m1WiCj3cjIs4x8M/goItVIk+NmaqEdimrhKRLlXkmHOWK6WV+552j7fJ0y535JSbmrftwDl7hOEIVmwRkS5qZZrAlAt10gp92psCFgrMwSsgVDr5JVb/32QZqrc60PFDXzKvR6DbTBS7nmQcq+HGm8DEFmDzMGcvy0iHmspJbFus1FEud8mwzL+weBvhFCbRIKfrYl6JKaJ74go9yYyzBnLd+WVe662z68KU+73pJR7LtkGlHtVEIZkwWYR5aZabg5AtdwspdzvYkOAkhkCNkOoLfLKrV9WXGmq3FtDxW18yr0Vg20zUu65kHJvhRpvGxBZg8zBnG8XEQ9FKYl1mx0iyr2dDMv4B4O/A0K9LxL8bE3UIzFN/EBEud8nw5yx/FBeuedo+3xymHJ/JKXctBX0EaDcyUEYkgU7RZSbarkzANVyp5Ryf4gNAbtkhoCdEGq3vHLrN0SLmyr3x6HiJ3zK/TEG+8RIuedAyv0x1HifAJE1yBzM+R4R8dhFKYl1m09FlHsPGZbxDwb/Uwj1mUjwszVRj8Q08XMR5f6MDHPGcq+8cs/W9nl3mHLvk1Lu2WQbUG53EIZkwRciyk21/CIA1fILKeXeiw0BX8oMAV9AqK/klVt/jirOVLm/DhW/4VPurzHYN0bKPRtS7q+hxvsGiKxB5mDO94uIx5eUkli3OSCi3PvJsIx/MPgHINS3IsHP1kQ9EtPE70SU+1syzBnL7+WVe5a2z6eGKfcPUso9i2wDyp0ahCFZ8KOIclMtfwxAtfxRSrm/x4aAgzJDwI8Q6id55Z6lBfU2Ve5DoeJhPuU+hMEOGyn3LEi5D0GNdxiIrEHmYM5/FhGPg5SSWLf5RUS5fybDMv7B4P8CoY6IBD9bE/VITBN/FVHuI2SYM5a/ySv3TG2f94cp9+9Syj2TbAPK7Q/CkCz4Q0S5qZZ/BKBa/iGl3L9hQ8CfMkPAHxDqL3nl1l8885kq99+h4lE+5f4bgx01Uu6ZkHL/DTXeUSCyBpmDOf9HRDz+pJTEus0xEeX+hwzL+AeDfwxCHRcJfrYm6pGQJiZEiCj3cTLMGMuEPPLKDVz8DSl3Ql4p5Z5BtqEKJ0SKaDL5j8wUUtuEPFC3TXCJdNuESAgVZdCsACUyjIT1HJN4uqMkzieVxNPJNpbE0SJJTP6jRZI42I7RfEl8jq09TV+PsNaOkWrtaWQb64ExUE7kF8kJqmV+rOXyS0hiMHPyQ8Kd4IJqGSsySFOUYmVenk2IhVBxIrOm7PmIHonNR9wig0scGcZSBIulR0rHPVBH8o9xOgQmjXQ0BEZjLvAP14hkR1+5gcETa6enpwzcE5GsEuJVglcl+FSCXyUUUAkJKiFRJVyiEi5VCZephIIqoZBKKKwSiqiEoiohSSUUUwnFVQL9YQmVUFIllFIJpVVCGZVQViWUUwnlVUIFlVBRJVyuEq5QCVeyfTknxMdAMC8G82EwPwYrgMESMFgiBrsEg12KwS7DYAUxWCEMVhiDFcFgRTFYEgYrhsGKY7BkDFYCg5XEYKUwWGkMVgaDlcVg5TBYeQxWAYNVxGCXY7ArMNiVp63l7YkogUkEpJXxyJpfgleLCqqzT4c6oeH+3FFZh06gCuSKOjLyJCohN9TeX/9FJeaCqrMvG3XJ2VGZdf9DXXpWVFoghLrsbKglfcJQBc+CGrA0HFUoZ1SDgaegCueI2t/wVFSRnFBVD5yGKpoDqly101FJZ6I6lD8DVewMVLuOZ6KKn44a1D4HVPJpqEGDc0KVOBW1cHCOqJKnoG5ZlDOqVDiqRb2zoEqHoRa3PBuqTAhVfslZUWX/Q71Z4eyoctmoymNyQZX/F7W3Sm6oCidR9+/LFVXxBKpZeu6oy4OoLs01qCsIVamrDnWl+EJC0IVm7NsetpBwldBCQsKVZBvYtdwehCH2KkksJARrWSkA1bKS05ZzvHEHJMc2w427hMqhYhW+z4/KGKyKycZdwpWQiFeGJgRVgMgarIJgzqtKLEIHv9wrQesL4JypmsgqSFUyHGDzf44j4xXahBodNjJeLTUy0hLA1cDIODoIQ+xVFxkZqZbVA1Atq0sssQbzuxpnfl8jsxBaHUJdK37qI5jcGtDrpuJxXah4PZ94XIfBrjcSjysg8bgOarzrgcgaZA7m/AaRIegaSklsWL5RRBZuIMM2/VcjwyMxWcJqCaFqiB98SLhcm/bzwyTuJimJo4XumwCJmx+EIfZqikgc1bJmAKplTanNlxpYL6glI141IdTN8uJ1uRY0z1S8aoeKdfjEqzYGq2MkXpdD4lUbarw6QGQNMgdzXldkcKlFKYl1m1tExKMuGZbxDwb/FghVT+TsU7Zy6kyfVE49ClPO+iKnOOqRYc6IN5DX94rakWFEmL43lNJ32stuCOj7iCAMsddIRN+plo0CUC0bSel7A2ygaCwzUDSCUE3k9b2iFjTcVN+bhorN+PS9KQZrZqTvFSF9bwo1XjMgsgaZgzlvLjK4NKaUxLpNCxF9b06GZfyDwW8BoVqKBD9bE/VITBNbiSh3SzLMGcvW8spdQdvnw57eS2gjpdwVyDb09B7BEHttRZSbatkWenov6F9jzlC5W2NDwK0yQ0BbCHWbvHJX0IJMn95LaBcqtudT7nYYrL2RcleAlLsd1HjtgcgaZA7m/HaRweVWSkms29whoty3k2EZ/2Dw74BQd4oEP1sT9UhMEzuIKPedZJgzlh3llbu8ts9vC1Puu6SUuzzZBpR7WxCG2OskotxUy04BqJadpJS7IzYE3C0zBHSCUCnyyl1eC9pqqtydQ8UufMrdGYN1MVLu8pByd4YarwsQWYPMwZx3FRlc7qaUxLpNNxHl7kqGZfyDwe8Goe4RCX62JuqRmCZ2F1Hue8gwZyzvlVfucto+nxKm3D2klLsc2QaUOyUIQ+z1FFFuqmXPAFTLnlLKfS82BNwnMwT0hFC95JW7nBZ0t6ly9w4VU/mUuzcGSzVS7nKQcveGGi8ViKxB5mDO00QGl/soJbFu00dEudPIsIx/MPh9INT9IsHP1kQ9EtPEdBHlvp8Mc8ayr7xyl9X2+V1hyp0hpdxlyTag3LuCMMRePxHlplr2C0C17Cel3H2xIaC/zBDQD0I9IK/cZbWgnabKPSBUHMin3AMw2EAj5S4LKfcAqPEGApE1yBzM+YMig0t/Skms2zwkotwPkmEZ/2DwH4JQD4sEP1sT9UhMEx8RUe6HyTBnLB+VV+4y2j7fKEy5H5NS7jJkG1DuRkEYYm+QiHJTLQcFoFoOklLuR7EhYLDMEDAIQj0ur9xltKCGpsr9RKj4JJ9yP4HBnjRS7jKQcj8BNd6TQGQNMgdz/pTI4DKYUhLrNk+LKPdTZFjGPxj8pyHUEJHgZ2uiHolp4lAR5R5Chjlj+Yy8cpfW9vm5Ycr9rJRylybbgHLPDcIQe8+JKDfV8rkAVMvnpJT7GWwIeF5mCHgOQg2TV+7SWtAcU+UeHiqO4FPu4RhshJFyl4aUezjUeCOAyBpkDuZcZnB5nlIS6zYBEeXOJMMy/sHgY86zRIKfrYl6JKaJI0WUO4sMc8ZylLxyl9L2+RVhyv2ClHKXItuAcq8IwhB7L4ooN9XyxQBUyxellHsUljkvyQwBL0Kol+WVu5QWtNxUuV8JFV/lU+5XMNirRspdClLuV6DGexWIrEHmYM5fExlcXqKUxLrN6yLK/RoZlvEPBv91CDVaJPjZmqhHYiF6Q0S5R5Nhzli+Ka/cJbV9vkmYco+RUu6SZBtQ7iZBGGJvrIhyUy3HBqBajpVS7jex/B4nMwSMhVDj5ZW7pBbU2FS5J4SKE/mUewIGm2ik3CUh5Z4ANd5EILIGmYM5nyQyuIyjlMS6zWQR5Z5EhmX8g8GfDKGmiAQ/WxP1SEwTp4oo9xQyzBnLafLKXULb5weFKfd0KeUuQbYB5R4UhCH2ZogoN9VyRgCq5Qwp5Z6GDQEzZYaAGRBqlrxyl9CCHjNV7tmh4hw+5Z6NweYYKXcJSLlnQ403B4isQeZgzueKDC4zKSWxbjNPRLlp92yejH8w+PMg1HyR4Gdroh6JaeICEeWeT4Y5Y7lQXrmTHSn3IinlTibbmHIvgmgtFlFuquViTLkXSyn3QmwIWCIzBCyGUEvllTtZTrmXhYrL+ZR7GQZbbqTcyZByL4Mab7mMcmPOV4gMLksoJbFus1JEuWn3bKWMfzD4KyHUKpHgZ2uiHolp4moR5V5Fhjlj+Za8chfX9vmpYcq9Rkq5i5NtQLmnBmGIvbUiyk21XBuAarlWSrnfwoaAdTJDwFoItV5euYtrQVNMlXtDqPg2n3JvwGBvGyl3cUi5N0CN9zYQWYPMwZxvFBlc1lFKYt1mk4hybyTDMv7B4G+CUO+IBD9bE/VITBPfFVHud8gwZyzfk1fuYto+PyFMuTdLKXcxsg0o94QgDLGnRJSbaqkCUC2VlHK/hw0BW2SGAAWhtsordzEtaLypcm8LFbfzKfc2DLbdSLmLQcq9DWq87UBkDTIHc75DZHDZQimJdZv3RZR7BxmW8Q8G/30I9YFI8LM1UY/ENPFDEeX+gAxzxvIjeeVO0vb53WHKvVNKuZPINqDcu4MwxN4uEeWmWu4KQLXcJaXcH2FDwG6ZIWAXhPpYXrmTtKBdpsr9Sai4h0+5P8Fge4yUOwlS7k+gxtsDRNYgczDnn4oMLtQfP8a6zWciyv0pGZbxDwb/Mwj1uUjwszVRj8Q0ca+Icn9OhjljuU9euYtq+/yWMOX+Qkq5i5JtQLm3BGGIvS9FlJtq+WUAquWXUsq9DxsCvpIZAr6EUF/LK3dRLUiZKvc3oeJ+PuX+BoPtN1LuopByfwM13n4gsgaZgzk/IDK4fEUpiXWbb0WU+wAZlvEPBv9bCPWdSPCzNVGPxDTxexHl/o4Mc8byB3nlLqLt84XClPtHKeUuQrYB5S4UhCH2DoooN9XyYACq5UEp5f4BGwJ+khkCDkKoQ/LKXUQLKmiq3IdDxZ/5lPswBvvZSLmLQMp9GGq8n4HIGmQO5vwXkcHlJ0pJrNscEVHuX8iwjH8w+Ecg1K8iwc/WRD0S08TfRJT7VzLMGcvf5ZW7sLbPLw1T7j+klLsw2QaUe2kQhtj7U0S5qZZ/BqBa/iml3L9jQ8BfMkPAnxDqb3nlLqwFLTFV7qOh4j98yn0Ug/1jpNyFIeU+CjXeP0BkDTIHc35MZHD5i1IS6zbHRZT7GBmW8Q8G/ziCSowQCX62JuqRkCYm5pFQ7sSgYc5Y5pVX7kLaPj80pNyJkVLKXYhsA8o9NAgD7CW6RJSbaukKQLV0CSl3Yl5oCEiMEhkCEl0QKp+8chfSgoYYKndidKgYw6bcidEYLMZIuQshyp0YDTVeDBBZg8zBnOeXGFwSoyglsW4TK9FtE/OTYRn/YPBjIVScSPCzNVGLBDXRLaLccWSYM5YeeeUuqO3zDcOUO15KuQuSbUC5GwZhSL54RZSbaukNQLX0Sim3BxsCfDJDgBdC+eWVu6AW1MBUuQuEigl8yl0AgyUYKXdBSLkLQI2XAETWIHMw54ki4uGjlMS6zSUiyp1IhmX8g8G/BEJdKhL8bE3UIzFNvExEuS8lw5yxLCiv3Jdp+3wgTLkLSSn3ZWQbUO5AEIZkQWER5aZaFg5AtSwspdwFsSGgiMwQUBhCFZVXbn3/zTRV7qRQsRifcidhsGJGyn0ZpNxJUOMVAyJrkDmY8+Ii4lGEUhLrNskiyl2cDMv4B4OfDKFKiAQ/WxP1SEwTS4oodwkyzBnLUvLKfam2z/cJU+7SUspN7VsaUO4+QRiSBWVElJtqWSYA1bKMlHKXwoaAsjJDQBkIVU5eufXfB2mmyl0+VKzAp9zlMVgFI+W+FFLu8lDjVQAia5A5mPOKIuJRllIS6zaXiyh3RTIs4x8M/uUQ6gqR4Gdroh6JaeKVIsp9BRnmjOVV8sp9ibbPrwpT7kpSyn0J2QaUe1UQhmRBZRHlplpWDkC1rCyl3FdhQ0AVmSGgMoSqKq/c+mXFlabKXS1UvJpPuathsKuNlPsSSLmrQY13NRBZg8zBnFcXEY8qlJJYt7lGRLmrk2EZ/2Dwr4FQ14oEP1sT9UhME68TUe5ryTBnLK+XV+5EbZ9PDlPuG6SUm7aCbgCUOzkIQ7LgRhHlplreGIBqeaOUcl+PDQE1ZIaAGyHUTfLKrd8QLW6q3DVDxVp8yl0Tg9UyUu5ESLlrQo1XC4isQeZgzm8WEY8alJJYt6ktotw3k2EZ/2Dwa0OoOiLBz9ZEPRLTxLoiyl2HDHPG8hZ55U7Q9nl3mHLXk1LuBLINKLc7CEOyoL6IclMt6wegWtaXUu5bsCGggcwQUB9CNZRXbv05qjhT5W4UKjbmU+5GGKyxkXInQMrdCGq8xkBkDTIHc95ERDwaUEpi3aapiHI3IcMy/sHgN4VQzUSCn62JeiSmic1FlLsZGeaMZQt55S6g7fOpYcrdUkq5C5BtQLlTgzAkC1qJKDfVslUAqmUrKeVugQ0BrWWGgFYQqo28chfQgnqbKnfbUPFWPuVui8FuNVLuApByt4Ua71YgsgaZgzm/TUQ8WlNKYt2mnYhy30aGZfyDwW8HodqLBD9bE/VITBNvF1Hu9mSYM5Z3yCu3X9vn/WHKfaeUcvvJNqDcJ2BIFnQQUW5y3yEA1bKDlHLfgQ0BHWWGgA4Q6i555dZfPPOZKnenUPFuPuXuhMHuNlJuP6TcnaDGuxuIrEHmYM5TRMSjI6Uk1m06iyh3ChmW8Q8GvzOE6iIS/GxN1CMxTewqotxdyDBnLLvJKzdw8TdMue+RUm4f2YYqnNhdRJPJf/dMKbXthnXbe2W6bXcI1cOgWQFKZBgJ6zkmsddREveUSmIv2caS+D6RJCb/94kkcbAd7+NL4nNs7Xh9PcJau5dUa8eTbawH9oJyordITlAte2Mt11tEEilzemPCfS9Uy1SJ/A5GKTVTZvhNhVBpIrOm7PmIHonNR/qIDC5pZBirJRbL+6V0/H6oI/nHOB0Ck0b+NwSidfEHkHTFv10jkh196AYGT6ydnp4ycE9EskpMV4n0zZmhEvupxP4q8QGVOEAlDlSJD6rEh1TiwyrxEZX4qEp8TCUOUomDVeLjKvEJlfikSnxKJT6tEoeoxKEq8RmV+KxKfE4lPq8Sh6nE4SpxhErMVIkBvo/n9BgI1heDZWCwfhisPwZ7AIMNwGADMdiDGOwhDPYwBnsEgz2KwR7DYIMw2GAM9jgGewKDPYnBnsJgT2OwIRhsKAZ7BoM9i8Gew2DPY7BhGGw4BhuBwTIxWCDGQK8CJBM0PEOKmQ6t/PXVooIanaFDnVDyfrmjsg6dQPXPFXVk5EnUA7mh9v76L2pALqg6+7JRA8+Oyqz7H+rBs6LSAiHUQ2dDLekThnr4LKgBS8NRj+SMajDwFNSjOaL2NzwV9VhOqKoHTkMNygFVrtrpqMFnojqUPwP1+Bmodh3PRD1xOmpQ+xxQT56GGjQ4J9RTp6IWDs4R9fQpqFsW5YwaEo5qUe8sqKFhqMUtz4Z6JoQqv+SsqGf/Q71Z4eyo57JRlcfkgnr+X9TeKrmhhp1E3b8vV9TwE6hm6bmjRgRRXZprUJmEqtRVhwqILycEXWjGvu1hywlZQssJiQGyDexdbg/CEHvA17lZLUcGoFqOdNpyjrfvgOTYZrp9NypUfIHvC2QUBnvBZPsuEWgWQo2CJgQvAJE1WAvBnL8osRQd/H4fCfUc/xioli+JrIW8SIYDbP7PcWTM1CbU6LCR8WWpkZFWAV4GRsbRQRhi7xWRkZFq+UoAquUrEgutwfx+iTO/X5VZDn0FQr0mfvYjUZ+rr5uKx+uh4mg+8Xgdg402Eo9MSDxehxpvNBBZg8zBnL8hMgS9SimJDctvisjCG2TYpv+XyPBITJawWkKoMU5HAecSN0Kb9vPDJG6slMTRWvdYQOLmB2GIvXEiEke1HBeAajlOagtmDNYLxsuI1zgINUFevEZoQfNMxWtiqDiJT7wmYrBJRuI1AhKviVDjTQIia5A5mPPJIoPLeEpJrNtMERGPyWRYxj8Y/CkQaqrICahs5dSZPqmcehSmnNNEznJMJcOcEZ8ur+/DtSPDiDB9nyGl77SdPQPQ9xFBGGJvpoi+Uy1nBqBazpTS9+nYQDFLZqCYCaFmy+v7cC1ouKm+zwkV5/Lp+xwMNtdI34dD+j4Hary5QGQNMgdzPk9kcJlFKYl1m/ki+j6PDMv4B4M/H0ItEAl+tibqkZgmLhRR7gVkmDOWi+SVe5i2z4c/wLdYSrmHkW3sAb7FEK0lIspNtVyCPcC3REq5F2FDwFKZIWAJhFomr9zDtCDjB/iWh4or+JR7OQZbYaTcwyDlXg413gogsgaZgzlfKTK4LKWUxLrNKhHlXkmGZfyDwV8FoVaLBD9bE/VITBPfElHu1WSYM5Zr5JX7eW2f3xam3GullPt5sg0o97YgDLG3TkS5qZbrAlAt10kp9xpsCFgvMwSsg1Ab5JX7eS1oq6lyvx0qbuRT7rcx2EYj5X4eUu63ocbbCETWIHMw55tEBpf1lJJYt3lHRLk3kWEZ/2Dw34FQ74oEP1sT9UhME98TUe53yTBnLDfLK/dz2j6fEqbcSkq5nyPbgHKnBGGIvS0iyk213BKAarlFSrk3Y0PAVpkhYAuE2iav3M9pQXebKvf2UHEHn3Jvx2A7jJT7OUi5t0ONtwOIrEHmYM7fFxlctlJKYt3mAxHlfp8My/gHg/8BhPpQJPjZmqhHYpr4kYhyf0iGOWO5U165n9X2+V1hyr1LSrmfJduAcu8KwhB7u0WUm2q5OwDVcreUcu/EhoCPZYaA3RDqE3nlflYL2mmq3HtCxU/5lHsPBvvUSLmfhZR7D9R4nwKRNcgczPlnIoPLx5SSWLf5XES5PyPDMv7B4H8OofaKBD9bE/VITBP3iSj3XjLMGcsv5JX7GW2fbxSm3F9KKfczZBtQ7kZBGGLvKxHlplp+FYBq+ZWUcn+BDQFfywwBX0Gob+SV+xktqKGpcu8PFQ/wKfd+DHbASLmfgZR7P9R4B4DIGmQO5vxbkcHla0pJrNt8J6Lc35JhGf9g8L+DUN+LBD9bE/VITBN/EFHu78kwZyx/lFfuodo+PzdMuQ9KKfdQsg0o99wgDLH3k4hyUy1/CkC1/ElKuX/EhoBDMkPATxDqsLxyD9WC5pgq98+h4i98yv0zBvvFSLmHQsr9M9R4vwCRNcgczPkRkcHlEKUk1m1+FVHuI2RYxj8Y/F8h1G8iwf9/7F1nmFTFtgXJSZLDMAPd09M9ZFCCOSMiIIIYwYCKgAqSkyAiICIoEpooSXIWSSIgwYCoKJuoAoICJsREFpH0qvWOfVSYWnPc69b98d7H976691t37VqrdtU6fbrnnPRMtCOxTDxGSe5fDLGml7/yk7ufdc+v8CT3cVZy9zPcQHKviMEQvt8oyW1m+VsUmuVvrOT+FTsCTnCOgN8g1El+cvezgpb7Te5T8eFpveQ+hcFO+0ruflByn4IW7zTgrI/OwYqfoRwuJ0xLQtsmIQsluc8YYk59zPyELBAqK8X89Ey0I6FMTDiPkdwJWQ2xppfZ+Mn9nHXP140nd0J2VnI/Z7iB5K4bgwF8CTkoyW1mmSMKzTIHKbkTsmFHQE7OEZADQuXiJ/dzVtDNPpM7IXd8mEctuRNyY7A8vpL7OSS5E3JDi5cHcNZH52DF8zIOl4ScpiWxbZOPsW0T8hpiTn3Q/HwQKj/F/PRMtCOxTCxASe78hljTy/P5yd3Xuud7eZK7ICu5+xpuILl7xWBIFxSiJLeZZaEoNMtCrOQ+HzsCCnOOgEIQqgg/uftaQT39JnfR+PACveQuisEu8JXcfaHkLgot3gWAsz46ByueQAmPwqYlsW1TjJLcCYaYUx80vxiESqSYn56JdiSWicUpyZ1oiDW9TOIn97OZSu5kVnI/a7ix5E6GuqAEJbnNLEtgyV2CldxJ2BFQknMElIBQAX5yP8tL7mB8mKKX3EEMluIruZ+FkjsILV4KJ7mx4iFKeJQ0LYltm1RKcocMMac+aH4qhApTzE/PRDsSy8QIJbnDhljTyzR+cvex7vlZnuQuxUruPoYbSO5ZMRjSBaUpyW1mWToKzbI0K7nTsCOgDOcIKA2hyvKTu48VNNNvcpeLD8vrJXc5DFbeV3L3gZK7HLR45QFnfXQOVrwCJTzKmJbEtk1FSnJXMMSc+qD5FSFUJYr56ZloR2KZeCEluSsZYk0vL+In9zPWPT/Vk9yVWcn9jOEGkntqDIZ0QRVKcptZVolCs6zCSu6LsCOgKucIqAKhqvGT+xkraIrf5L44PrxEL7kvxmCX+EruZ6DkvhhavEsAZ310Dlb8Ukp4VDUtiW2byyjJfakh5tQHzb8MQl1OMT89E+1ILBOvoCT35YZY08sr+cnd27rnt3uS+ypWcvc23EByb4/BkC64mpLcZpZXR6FZXs1K7iuxI+AazhFwNYS6lp/cva2gbX6T+7r48Hq95L4Og13vK7l7Q8l9HbR41wPO+ugcrHh1SnhcY1oS2zY3UJK7uiHm1AfNvwFC1aCYn56JdiSWiTdSkruGIdb0siY/uXtZ9/x6T3LfxEruXoYbSO71MRjSBbUoyW1mWSsKzbIWK7lrYkdAbc4RUAtC1eEndy8rSPwm983xYV295L4Zg9X1ldy9oOS+GVq8uoCzPjoHK34LJTxqm5bEtk09SnLfYog59UHz60Go+hTz0zPRjsQy8VZKctc3xJpeNuAnd0/rnk/yJPdtrOTuabiB5E6KwZAuuJ2S3GaWt0ehWd7OSu4G2BFwB+cIuB1C3clP7p5WUHG/yX1XfHi3XnLfhcHu9pXcPaHkvgtavLsBZ310Dla8ISU87jAtiW2bRpTkbmiIOfVB8xtBqHso5qdnoh2JZeK9lOS+xxBrenkfP7mftu75ZZ7kvp+V3E8bbiC5l8VgSBc0piS3mWXjKDTLxqzkvg87Ah7gHAGNIdSD/OR+2gpa6je5H4oPm+gl90MYrImv5H4aSu6HoMVrAjjro3Ow4g9TwuMB05LYtmlKSe6HDTGnPmh+UwjVjGJ+eibakVgmNqckdzNDrOnlI/zk7mHd8/09yf0oK7l7GG4gufvHYEgXPEZJbjPLx6LQLB9jJfcj2BHQgnMEPAahWvKTu4cV1M9vcj8eH7bSS+7HMVgrX8ndA0rux6HFawU466NzsOKtKeHRwrQktm3aUJK7tSHm1AfNbwOh2lLMT89EOxLLxHaU5G5riDW9bM9P7qese762J7k7sJL7KcMNJHftGAzpgo6U5Daz7BiFZtmRldztsSOgE+cI6AihOvOT+ykrqJbf5O4SHz6hl9xdMNgTvpL7KSi5u0CL9wTgrI/OwYp3pYRHJ9OS2LbpRknuroaYUx80vxuEepJifnom2pFYJnanJPeThljTy6f4yd3duuejnuTuwUru7oYbSO5oDIZ0wdOU5DazfDoKzfJpVnI/hR0BPTlHwNMQqhc/ue37d4jf5O4dHz6jl9y9MdgzvpK7O5TcvaHFewZw1kfnYMX7UMKjp2lJbNs8S0nuPoaYUx80/1kI1Zdifnom2pFYJj5HSe6+hljTy3785H7SuufbeZK7Pyu5zfr2B5K7XQyGdMHzlOQ2s3w+Cs3yeVZy98OOgBc4R8DzEGoAP7ntnw/a+k3uF+PDgXrJ/SIGG+gruZ+EkvtFaPEGAs766Bys+CBKeLxgWhLbNoMpyT3IEHPqg+YPhlCUk/3PTLQjsUyMUpJ7iCHW9HIoP7m7Wff8Kk9yD2MldzfDDST3qhgM6YLhlOQ2sxwehWY5nJXcQ7EjYATnCBgOoUbyk9t+W3Gl3+QeFR++pJfcozDYS76SuxuU3KOgxXsJcNZH52DFR1PCY4RpSWzbjKEk92hDzKkPmj8GQo2lmJ+eiXYklonjKMk91hBrejmen9xdrXs+5Enul1nJbb4KehlI7lAMhnTBBEpym1lOiEKznMBK7vHYETCRcwRMgFCT+Mlt/0I0xW9yT44Pp+gl92QMNsVXcneFknsytHhTAGd9dA5WfColPMy2mYRtm2mU5J5qiDn1QfOnQajpFPPTM9GOxDJxBiW5pxtiTS9n8pP7Ceuez+9J7lms5H7CcAPJnT8GQ7pgNiW5zSxnR6FZzmYl90zsCJjDOQJmQ6hX+Mlt/x1VPr/JPTc+fFUvuedisFd9JfcTUHLPhRbvVcBZH52DFZ9HCY85piWxbTOfktzzDDGnPmj+fAi1gGJ+eibakVgmLqQk9wJDrOnlIn5yd7Hu+Tae5H6NldxdDDeQ3G1iMKQLFlOS28xycRSa5WJWci/CjoDXOUfAYgi1hJ/cXayg1n6Te2l8uEwvuZdisGW+krsLlNxLocVbBjjro3Ow4m9QwuN105LYtllOSe43DDGnPmj+cgi1gmJ+eibakVgmrqQk9wpDrOnlKn5yd7bu+cKe5H6TldydDTeQ3IVjMKQL3qIkt5nlW1Folm+xknsVdgS8zTkC3oJQ7/CT2/6HZ4X8Jvfq+PBdveRejcHe9ZXcnaHkXg0t3ruAsz46Byu+hhIeb5uWxLbNe5TkXmOIOfVB89+DUO9TzE/PRDsSy8QPKMn9viHW9HItP7mBP/z1JPeHrOTuZLihCSd8RMlkU/+jIay0XYtt23WcbfsRhBIfywpIMsSIrf+yiTtmqonXs5rYJO96rIk3UJrY1N9AaeLYOm7Qa+J/udod7PPwrPZG1mp3MNzYDtwI9cQmSk+YWW7CVm4TJRJN52zCgnsdNMvNjP6OubR5COf43QyhtlCumtKvR+xI7HrkY8rhssUQY7PEvPyEleOfQBup8ERS/cKzsI38aWaP4MCwP49gbMU+NdNBtgv+2TlLKFMftKO9p1Xv0KFJt51ZQpKwVRK2ScJ2SfhMEnZIwk5J+FwSvpCEXZKwWxL2SMKXkvCVJHwtCd9IwreSsFcSvpOEfZLwvST8IAk/SsJPkvCzJOyXhAOScFASDknCYUk4IglHJeEXvQ/vW3NDsG0YbDsG+wyD7cBgOzHY5xjsCwy2C4PtxmB7MNiXGOwrDPY1BvsGg32LwfZisO8w2D4M9j0G+wGD/YjBfsJgP2Ow/RjsAAY7iMEOYbDDGOwIBjuKwX7J7S8vPzXHM5RYW6E7j9usqFg2bbehfk+wzzJGDT3wO2pHhqgjw/5A7cwItfvof1CfZ4C6YU866otzo4bU+BO165yottE4ave5UEvbeVB7zoHqusyL+vLsqFrd/oL66qyovbX/ivr6bKiq3/0N9c1ZUGWq/R317T9R95f9B2rvP1ANG/8T9d3fUb0anQW172+oXr3Phvr+r6jFvc+K+uEvqBtfPzvqRy/q1prnQP3kQS1pcC7Uz3FU2aXnRO3/EzWh3LlRB9JRlSdmgDr4H9TuKhmhDv2Bar8nQ9Th31H1OmSMOhJDNa1vQR01qIua2VC/0G9nxEpYzr5NntsZx0i3MxJ+MdzAd6ebYjCE71fG7YzYLH+NQrP8NbMrl+mvD4Hm2Oj368Pj8eFvep9AjmOw3/x8fZjwCxTix6ELgt8AZ33ci8GKn2DcCo9dD/0K3eUoPBGa5UnKvZgThjiqVv9fnoxHrQ013nMynmKdjOYuwCngZBwfgyF8pykno5nl6Sg0y9OMG72x/j6p2d9nOLdjTyOoYlnovz2JNbcFNM5neBTLGh+epxYexbJisPN8hcdRJDyKZYUW7zzA2cx3Dlg8G+UIOmNaEjqWi2VnxEKxbIbYYf2Ek4Z4GBZL2CwhVA76zy8SjljbflE84orlZEXcEcMNRNyiGAzpl1yUiDOzzBWFZpmL9BVMsRzYLshNCa9iuSBUHn54HbGCFvoNr7zxYT698MqLwfL5Cq8jUHjlhRYvH+Csj87BiudnHC7FcpuWxLZNAUp45TfEnPqg+QUg1PmUX2ClJ6eN+o/ktKLA5CzI+IhR7HxDrOl4IX6+H7aeDIM9+V6Yle+HDTeQ74NjMKQLilDy3cyySBSaZRFWvhfCDoqinIOiCIS6gJ/vh62gQX7zPSE+LKaX7wkYrJivfD8M5XsCtHjFAGd9dA5WPJGS70VNS2Lbpjgl3xMNMac+aH5xCJVEMT89E+1ILBOTKcmdZIg1vSzBT+5D1j3veQBgsZKs5D5kuKEHABoY0gUBSnKbWQagBwDG6lvofCZ3CewICHKOgACESuEn9yEryO8DAIuF4sNUveQOYbBUX8l9CEpu6EdKxVIBZ310DlY8TAmPoGlJbNtEKMkdNsSc+qD5EQiVRjE/PRPtSCwTS1GSO80Qa3pZmp/cB617fqMnucuwkvug4QaSe2MMhnRBWUpym1mWjUKzLMtK7tLYEVCOcwSUhVDl+cl90Ara4De5K8SHFfWSuwIGq+gruQ9CyV0BWryKgLM+OgcrXokSHuVMS2Lb5kJKclcyxJz6oPkXQqiLKOanZ6IdiWViZUpyX2SINb2swk/uA9Y938ST3FVZyX3AcAPJ3SQGQ7qgGiW5zSyrRaFZVmMldxXsCLiYcwRUg1CX8JP7gBX0kN/kvjQ+vEwvuS/FYJf5Su4DUHJfCi3eZYCzPjoHK345JTwuNi2JbZsrKMl9uSHm1AfNvwJCXUkxPz0T7UgsE6+iJPeVhljTy6v5yb3fuue3eZL7GlZy7zfcQHJvi8GQLriWktxmltdGoVley0ruq7Ej4DrOEXAthLqen9z7raCtfpO7enx4g15yV8dgN/hK7v1QcleHFu8GwFkfnYMVr0EJj+tMS2Lb5kZKctcwxJz6oPk3QqiaFPPTM9GOxDLxJkpy1zTEml7W4if3z9Y9X8eT3LVZyf2z4QaSu04MhnRBHUpym1nWiUKzrMNK7lrYEXAz5wioA6Hq8pP7Zyuott/kviU+rKeX3LdgsHq+kvtnKLlvgRavHuCsj87BitenhMfNpiWxbXMrJbnrG2JOfdD8WyFUA4r56ZloR2KZeBsluRsYYk0vb+cn90/WPb/Ak9x3sJL7J8MNJPeCGAzpgjspyW1meWcUmuWdrOS+HTsC7uIcAXdCqLv5yf2TFTTfb3I3jA8b6SV3QwzWyFdy/wQld0No8RoBzvroHKz4PZTwuMu0JLZt7qUk9z2GmFMfNP9eCHUfxfz0TLQjsUy8n5Lc9xliTS8b85P7R+ueX+FJ7gdYyf2j4QaSe0UMhnTBg5TkNrN8MArN8kFWcjfGjoCHOEfAgxCqCT+5f7SClvtN7ofjw6Z6yf0wBmvqK7l/hJL7YWjxmgLO+ugcrHgzSng8ZFoS2zbNKcndzBBz6oPmN4dQj1DMT89EOxLLxEcpyf2IIdb08jF+cv9g3fN1PcndgpXcPxhuILnrxmBIF7SkJLeZZcsoNMuWrOR+DDsCHuccAS0hVCt+cv9gBd3sN7lbx4dt9JK7NQZr4yu5f4CSuzW0eG0AZ310Dla8LSU8HjctiW2bdpTkbmuIOfVB89tBqPYU89Mz0Y7EMrEDJbnbG2JNLzvyk/t7657v5UnuTqzk/t5wA8ndKwZDuqAzJbnNLDtHoVl2ZiV3R+wI6MI5AjpDqCf4yf29FdTTb3J3jQ+76SV3VwzWzVdyfw8ld1do8boBzvroHKz4k5Tw6GJaEts23SnJ/aQh5tQHze8OoZ6imJ+eiXYklok9KMn9lCHW9PJpfnLvy1Ry92Ql9z7DjSV3T6gLelGS28yyF5bcvVjJ/TR2BPTmHAG9INQz/OTex0vuPvHhs3rJ3QeDPesrufdByd0HWrxnOcmNFe9LCY/epiWxbfMcJbn7GmJOfdD85yBUP4r56ZloR2KZ2J+S3P0MsaaXz/OT+zvrnp/lSe4XWMn9neEGkntWDIZ0wQBKcptZDohCsxzASu7nsSPgRc4RMABCDeQn93dW0Ey/yT0oPhysl9yDMNhgX8n9HZTcg6DFGww466NzsOKUw6XYi6YlsW0TpST3EEPMqQ+ajxUfSjE/PRPtSCwTh1GSe6gh1vRyOD+591r3/FRPco9gJfdeww0k99QYDOmCkZTkNrMcGYVmOZKV3MOxzhnFOQJGQqiX+Mm91wqa4je5R8eHY/SSezQGG+MrufdCyT0aWrwxgLM+OgcrPpYSHqNMS2LbZhwluccaYk590PxxEGo8xfz0TLQjMYtepiT3eEOs6eUEfnJ/a93z2z3JPZGV3N8abiC5t8dgSBdMoiS3meWkKDTLSazknoD192TOETAJQk3hJ/e3VtA2v8k9NT6cppfcUzHYNF/J/S2U3FOhxZsGOOujc7Di0ynhMdm0JLZtZlCSe7oh5tQHzZ8BoWZSzE/PRDsSy8RZlOSeaYg1vZzNT+5vrHt+vSe557CS+xvDDST3+hgM6YJXKMltZvlKFJrlK6zkno0dAXM5R8ArEOpVfnJ/YwWJ3+SeFx/O10vueRhsvq/k/gZK7nnQ4s0HnPXROVjxBZTwmGtaEts2CynJvcAQc+qD5i+EUIso5qdnoh2JZeJrlOReZIg1vVzMT+6vrXs+yZPcr7OS+2vDDSR3UgyGdMESSnKbWS6JQrNcwkruxdgRsJRzBCyBUMv4yf21FVTcb3K/ER8u10vuNzDYcl/J/TWU3G9Ai7cccNZH52DFV1DCY6lpSWzbrKQk9wpDzKkPmr8SQq2imJ+eiXYklolvUpJ7lSHW9PItfnJ/Zd3zyzzJ/TYrub8y3EByL4vBkC54h5LcZpbvRKFZvsNK7rewI2A15wh4B0K9y0/ur6ygpX6Te018+J5ecq/BYO/5Su6voOReAy3ee4CzPjoHK/4+JTxWm5bEts0HlOR+3xBz6oPmfwCh1lLMT89EOxLLxA8pyb3WEGt6+RE/ub+07vn+nuRex0ruLw03kNz9YzCkC4SS3GaWEoVmKazk/gg7AtZzjgCBUBv4yf2lFdTPb3JvjA836SX3Rgy2yVdyfwkl90Zo8TYBzvroHKz4Zkp4mG+vNmDbZgsluTcbYk590PwtEOpjivnpmWhHYpn4CSW5PzbEml5+yk/uPdY9X9uT3FtZyb3HcAPJXTsGQ7pgGyW5zSy3RaFZbmMl96fYEbCdcwRsg1Cf8ZN7jxVUy29y74gPd+ol9w4MttNXcu+BknsHtHg7AWd9dA5W/HNKeGw3LYltmy8oyf25IebUB83/AkLtopifnol2JJaJuynJvcsQa3q5h5/cu617PupJ7i9Zyb3bcAPJHY3BkC74ipLcZpZfRaFZfsVK7j3YEfA15wj4CkJ9w09u+/4d4je5v40P9+ol97cYbK+v5N4NJfe30OLtBZz10TlY8e8o4fG1aUls2+yjJPd3hphTHzR/H4T6nmJ+eibakVgm/kBJ7u8NsaaXP/KTe5d1z7fzJPdPrOQ26/sTkNztYjCkC36mJLeZ5c9RaJY/s5L7R+wI2M85An6GUAf4yW3/fNDWb3IfjA8P6SX3QQx2yFdy74KS+yC0eIcAZ310Dlb8MCU89puWxLbNEUpyHzbEnPqg+Ucg1FGK+emZaEdimfgLJbmPGmJNL4/xk/sL655f5UnuX1nJ/YXhBpJ7VQyGdMFxSnKbWR6PQrM8zkruY9gR8BvnCDgOoU7wk9t+W3Gl3+Q+GR+e0kvukxjslK/k/gJK7pPQ4p0CnPXROVjx05Tw+M20JLZtzlCS+7Qh5tQHzT+DoBKzUMxPz0Q7EsrExKyM5E6MEWt6eR4/uT+37vlQPLkTs7GS+3PDDSR3KAYD+BKzU5LbzDJ7FJpldlJyJ54HHQGJOShHQGJ2CJWTn9z2L0RTfCZ3Yq74MLdacifmwmC5fSX350hyJ+aCFi834KyPzsGK52EcLok5TEti2yYvY9sm5jHEnPqg+XkhVD6K+emZaEWCmZifktz5DLGmlwX4yb3Tuufze5L7fFZy7zTcQHLnj8GQfilISW4zy4JRaJYFWcldADsCCnGOgIIQqjA/ue2/o8rnN7mLxIdF9ZK7CAYr6iu5d0LJXQRavKKAsz46Byt+ASU8CpmWxLZNAiW5LzDEnPqg+QkQqhjF/PRMtCOxTEykJHcxQ6zpZXF+cu+w7vk2nuROYiX3DsMNJHebGAzpgmRKcptZJkehWSazkrs4dgSU4BwByRCqJD+5d1hBrf0mdyA+DOoldwCDBX0l9w4ouQPQ4gUBZ310DlY8hRIeJUxLYtsmREnuFEPMqQ+aH4JQqRTz0zPRjsQyMUxJ7lRDrOllhJ/cn1n3fGFPcqexkvszww0kd+EYDOmCUpTkNrMsFYVmWYqV3BHsCCjNOQJKQagy/OS2/+FZIb/JXTY+LKeX3GUxWDlfyf0ZlNxlocUrBzjro3Ow4uUp4VHatCS2bSpQkru8IebUB82vAKEqUsxPz0Q7EsvESpTkrmiINb28kJ/cwB/+epL7IlZybzfc0IQTK1My2dSvPISVthdi27YKZ9tWhlBVfSwrIMkQI7b+yybelqkmrsZq4m2GG2viiylNbOpfTGni2DperNfE/3K1t9rn4VntS1irvdVwYzvwEqgnLqX0hJnlpdjKXUqJRNM5l2LBXQWa5WWM/o65dNkQzvF7GYS6nHLVlH49Ykdi1yNXUA6Xyw0xNkvMyytZOX4ltJEKT8zsEXjBEM8Hx6viw6vBExGq+M/Pja/W69yqU4s7mjZp1aSDGQ4f1ntmjbZtOnZq0qYT0I3/xJ63oegDnXNObdy0UpkCNQ8WLzK8z3XvDnzmujIVM8Gbxfsx9irP+Or4uPDEYZJ4jSReK4nX/cssSbz23VDxqmWuaPfSxgt2lg3vuP6tVy4cnnQk7eqdS2tPOvDb2l8NyJMl15OyJCbl+tgWsM0lBkP4qjOyJDbL6lFoltUzuwUKDPWxctYS3ns3lkl7LxluALOtumlF5gb9542dG3xchMdOrupDsWlC52sNhfP17+4baYYYu1C5UcnMG9f1ss7z712TmXnWVJpnzb/NE7udl3jjP1FZ/w4z5JCUmyjBj1tZK5P1hw6zb/g/6kMb/SYzg0x/jM0+NMN7x3+rkjWz5x+wCzxHWm2UtpZS09b2c7vgRlMfaojyOf59Q55lM9Qy88bq58xk/SHDh1pbIDYBaDfUQVayfA4IlVNpveuc5TAFjkh4wXNpGP73MqjhNxtUoFq9sW/f3nL+wCsL1qqad0uPLc+1rPbp4OefKX+4V8NuOSNDjZWQ4bmUDL/ZGP6X8yZblHAJ5flgUjc+vEXzNMl8bphtWhfLjXpKZtcDLhXOOs9bsHnWV5pnfV+70MyzHrYL8/hYz7+x3v/34Pu9fn2sPufvUK6NnQPQ5s0DofL+j10q1MvUpcKt/+1LhVuz+ovqW7GeyecyqhsotlU+Jb8b/P3zhGZU3mZQRatk2Zqy65JuFYpd2vbWLs/uunPu0xdMKbe3YPGfO1/d5fjOtmaHQIGqJfi2v0dl9qGEq23urrz9v70rb/e5K2/HdmVm/1xtyAjsgyKEugP7jKG4d/MrrcodZ9u7dsF3YtfYintXS/Cd/+3L3Lviw7vB66f0+xj2qfi5dYbVx75AqQF1S0PKVdZdhhi7Gm6k1DuNfF213w3P8x6led7j66q9oRGInbUF/33XneWq3dS/B6tfiNJP5qq9IXbVXhBCIbP8b161N8rU9cG9KG1Dpaa918/1gemZe7GeKZzZ6wPsqr0htLHvU2yrwkp+3+fvqh0TfD+U/IWg5NcSfP/fBZ9ts//zpj4muLHSJBsjk/znl0jYJB9QmuQDfvOlMbZXi7Dy5QGsftHMnhXDhiJfDzWE9ncRCFX0fyxcGmcqXB78b4fLgz7D5UGsYS5wGS4PKbbVBUp+P8QMlyZQuBSFwkVLcJN/f0sI+ZRC3ZUP/7d35cM+d+XD2K7M9KMisFtCWJM2xT5JKe7dBKVVaervllAzaL8VUty7WoKb+flYH/sVVEPGj+NL/edHYHbHm1M+BpuDoDlW/5HMXoMkxG+1YXN5xMxliPWPCA947rY9Gh8+xv216z/76FE/v9R8zPzD7G7BWO5YGz+K1W/JardHsPqP2xvhH7/ZstdvYYRBH19amhnw//QoptJWwhPZrVg/IH7ccGMTbk35abCp39rP6Qr9evVRzV+vtqFsi9aGOLP64YZvM8y6lU7+vgRtKEsQO/NaYnu+rf3H4f92w7XN1IZrx9pwbQ03NuH2lA1n6rfP9PFWYGhmfhKfNZPpb07cx4ZkanU6gA3Y/j8NCMxB6dqgg5+frxoD2mPfw7WEdlPHzK5vtihnyTwXbJ3iw85gkZidnD9L7WDIsYOpC6V+J0OM1X9CqS+f8PWVZmd4nl2V5tnV1zzxoOlGCbouxmDsXkWJf1//LLe8Tf2uWP2SlH429bthX6mWgFAlM3uAke96P5GpdHoSpe2itGme9HN/zazZk1jPBDPZM+Bd7y7Qhu2u2FZBJb+7+7vrjQl+CrpzVhK6c6Yl+CkfX6lmRQX3UJpkD39fqWKTfFppkk/7+krV7NUe2F5NYeXL01j9TD/8EfhK9T+dZKE1+zsFQoX+x8KlR6bCped/O1x6+gyXnljDpLoMl16KbZWq5HcvZrj0hsIlBIWLluDe//4rVeRTEnVXPvPf3pXP+NyVz2C7MrMPqAW/UsWatA/2SUpx74aVVqWPv69Un4X2W0nFvasl+Fn75cz9//yBVOz2C3YF2RHyr6+Smr7AxVmhrG8XzBOa+NSjyzYvnXfdHVvOreafl5qYmueU1Dzn7/EPfYciR8lzkJR+lLst5zL8n1oww/v7+P7F/ivA2CwhOf3MDLCn42T6vi75yrVvpjLyeZS2v9IGeN7Pvfi+/1kNewCV9tHcfxf79/+BKW7mjdUvk9mMxq6c+0N75gUoV0tDqDJK6/2Cr8/Wz8ELXlbD8H9euWOGD4ByvQxkeFklwwf8+7+xA+7He75EejE+HKh5mmT+jrfZpi9i3zgMUjJ7kK9vRsw8B2LzHKw0z8G+dqGZ5yBsF5b/99cUZ7nDZeoPxupzHtLeLXYOQJu3PISq8D92qTAoU5cKQ/7blwpDsvqL6iFYz1R0GdVRxbaqqOR31N9NLkzwUOiDcgUoULUED/33N7mQT7nUXTnsv70rh/nclcOwXZnZdzmAN7mwJoXuDIEX0NjeraS0KsP93eSCzCtfVnHvagke4evKqyX6uSJxJOUuSUv0igL8UdmozO4W7DHn3SDUSz5u0WSxCjcXXSMh4CgzA2wtR2f2uqvYsAyvu/72f9l6T6veoUOTbjuz3ITA70NATRDQkwioEwKCdDZFQJUQUBsE1AEBNUZAIQRUXc1MPcdbI6B2/905NVNzHJpTW7VyzdU6s6la+3b77y5wSK3pIDM7qoGg4/BRtYlDPj2i1r4d1ObURK3HoXIt1Mp1UVPXSm3ieiddB7XObKqmrp0ak97BqneIlUVA3RFQZQTUAwGV+891YhT9yA78jfEQ+IOH5tst/nKxbG4Mxm9HjIkPx8aH45zMEvkYOc7nOzhaav4V43jKB6nmf/xxrR04xswA+yD1MmWi5kPxaAg4Fp7oBMr3AePg+lrvcIo36sue8QTPeCL6jqVJkjhZEqf89XYApmZqxmqaf/TmkLOoea1B247NWzRr26Zqg+YdWnfu1KRTi7Zthg73THGqZzzJM54cH2d7bbgkTpPE6ZI4QxJnZv63M1mhk3Ya5MMsX6tq92GWZzzdM57hGc80PsyWxDmS+IokzvWziq9mPPvTxxaX8TX7Vz3j2fFx9iKecVEz+3mSOF8SF0jiQj+zX2SdfVlfs18Ezv41SVwsia9L4pK/pl9gWCb/SnOe2Y7IH1Bm4gZUKFPvNY/+ebsqJIlLJXGZJL4hicslcYUkrpTEVZL4piS+JYlvS+I7krhaEt+VxDWS+J4kvi+JH0jiWkn8UBI/ksR1kiiSuF4SN0jiRkncJImbJXGLJH4siZ9I4qeSuFXvXelLc0OwZRjsDQy2HIOtwGArMdgqDPYmBnsLg72Nwd7BYKsx2LsYbA0Gew+DvY/BPsBgazHYhxjsIwy2DoMJBluPwTZgsI0YbBMG24zBtmCwjzHYJxjsUwy2Nbe/5wLNM8czFIxLh1qfJ2JSZ5kVFcumN2yo3xNsecaooX/8eGdFhqgj//mJz8qMULvTfwi0KgPUDX/+XOjNc6OGxH9U9NY5UW09Pz16+1yopd4fKL1zDlTXv/yMafXZUbX++mOnd8+K2vu3n0StORuq6t9/OPXeWVBl/vHzqveHIj/C+uAfqIaN/4la+3dUr0ZnQX34N1Sv3mdDffRX1OLeZ0Wt+wvqxtfPjhIv6taa50Ct96CWNDgXakMcVXbpOVEb/0RNKHdu1KZ0VOWJGaA2/we1u0pGqC1/oNrvyRD18e+oeh0yRn0SQzWtb0F9alAXNbOhtmb2TlLmnx+01Xr2bfL8VmYb6/lBWw330KH2ucRgCN92+8Hvb5bbo9Ast2d25UoO9bFyFtDGTH2q8fwg+bP4cIfeJ5DPMNiO3H7+vmcrFOKfQRcEOwBnffwmBCu+08f+gm64bte84fo55fbgTkMcVav/L0/GT60NNd5zMn7BOhnNXYAvgJNxfAyG8O2inIxmlrui0Cx3+egcqL8/1+zv3ZmcJXgE7IJQe4BG+pfh8akVNM5veHwZH36lFx5fYrCvfIXHp1B4fAkt3leAsz46Byv+NeUI2m1aEjuWv6HEwteG2GX9zw3xMCyWsFlCqG8zewpkPuI+sbb9Ik/E7WVFnLnXvReIuEUxGML3HSXizCy/i0Kz/I7RhbGI+xbbBfs44fUdhPqeH16fWEEL/YbXD/Hhj3rh9QMG+9FXeH0ChdcP0OL9CDjro3Ow4j9RDpd9piWxbfMzJTx+MsSc+qD5P0Oo/YyPnX8mp436j+S0o7DkPMD4iJG43xBrOn6Qn+8fW0+GwZ58P8TKd/N19iEg3wfHYAjfYUq+m1kejkKzPMzK94PYQXGEc1AchlBH+fn+sRU0yG++/xIfHtPL918w2DFf+f4xlO+/QIt3DHDWR+dgxX+lHC5HTEti2+Y4Jd9/NcSc+qD5xyHUbxTz0zPRjsQy8QQluX8zxJpenuQn9xbrng95kvsUK7m3GG4guUMxGMJ3mpLcZpano9AsT7OS+yR2BJzhHAGnEVTxLPzk3mIFpfhM7uJZ48Pz1JK7eFYMdp6v5N6CJHfxrNDinQc4m/nOAYtnoxwuZ0xLQtumeHbGti2ezRBz6oPmZ4dQOSjmp2eiHQllYvGcjOQunsMQa3qZi5/cm617fmM8uYvnZiX3ZsMNJPfGGAzZLHkoyW1mmScKzTIPKbmL58KOgLycIyAPhMrHT+7NVtAGv8mdPz4soJfc+TFYAV/JvRlK7vzQ4hUAnPXROVjx8xmHS/G8piWxbVOQktznG2JOfdD8ghCqEMX89Ey0I7FMLExJ7kKGWNPLIvzk3mTd8008yV2UldybDDeQ3E1iMKQLLqAkt5nlBVFolhewkrsIdgQkcI6ACyBUMX5yb7KCHvKb3InxYXG95E7EYMV9JfcmKLkTocUrDjjro3Ow4kmU8EgwLYltm2RKcicZYk590PxkCFWCYn56JtqRWCaWpCR3CUOs6WWAn9wbrXt+mye5g6zkNh9Tg0Byb4vBkC5IoSS3mWVKFJplCiu5A9gREOIcASkQKpWf3ButoK1+kzscH0b0kjuMwSK+knsjlNxhaPEigLM+OgcrnkYJj5BpSWzblKIkd5oh5tQHzS8FoUpTzE/PRDsSy8QylOQubYg1vSzLT+4N1j1fx5Pc5VjJvcFwA8ldJwZDuqA8JbnNLMtHoVmWZyV3WewIqMA5AspDqIr85N5gBdX2m9yV4sML9ZK7Ega70Fdyb4CSuxK0eBcCzvroHKz4RZTwqGBaEts2lSnJfZEh5tQHza8MoapQzE/PRDsSy8SqlOSuYog1vazGT+711j2/wJPcF7OSe73hBpJ7QQyGdMEllOQ2s7wkCs3yElZyV8OOgEs5R8AlEOoyfnKvt4Lm+03uy+PDK/SS+3IMdoWv5F4PJffl0OJdATjro3Ow4ldSwuNS05LYtrmKktxXGmJOfdD8qyDU1RTz0zPRjsQy8RpKcl9tiDW9vJaf3GLd8ys8yX0dK7nFcAPJvSIGQ7rgekpym1leH4VmeT0rua/FjoDqnCPgegh1Az+5xQpa7je5a8SHN+oldw0MdqOv5BYouWtAi3cj4KyPzsGK16SER3XTkti2uYmS3DUNMac+aP5NEKoWxfz0TLQjsUysTUnuWoZY08s6/OReZ93zdT3JfTMrudcZbiC568ZgSBfUpSS3mWXdKDTLuqzkroMdAbdwjoC6EKoeP7nXWUE3+03u+vHhrXrJXR+D3eoruddByV0fWrxbAWd9dA5WvAElPG4xLYltm9soyd3AEHPqg+bfBqFup5ifnol2JJaJd1CS+3ZDrOnlnfzk/si653t5kvsuVnJ/ZLiB5O4VgyFdcDcluc0s745Cs7ybldx3YkdAQ84RcDeEasRP7o+soJ5+k/ue+PBeveS+B4Pd6yu5P4KS+x5o8e4FnPXROVjx+yjh0dC0JLZt7qck932GmFMfNP9+CNWYYn56JtqRWCY+QEnuxoZY08sH+cn9YaaS+yFWcn9ouLHkfgjqgiaU5DazbIIldxNWcj+IHQEPc46AJhCqKT+5P+Qld7P4sLlecjfDYM19JfeHUHI3gxavOeCsj87Bij9CCY+HTUti2+ZRSnI/Yog59UHzH4VQj1HMT89EOxLLxBaU5H7MEGt62ZKf3Gute36WJ7kfZyX3WsMNJPesGAzpglaU5DazbBWFZtmKldwtsSOgNecIaAWh2vCTe60VNNNvcreND9vpJXdbDNbOV3KvhZK7LbR47QBnfXQOVrw9JTxam5bEtk0HSnK3N8Sc+qD5HSBUR4r56ZloR2KZ2ImS3GbrddL0sjM/uT+w7vmpnuTuwkruDww3kNxTYzCkC56gJLeZ5RNRaJZPsJK7M3YEdOUcAU9AqG785P7ACpriN7mfjA+76yX3kxisu6/k/gBK7iehxesOOOujc7DiT1HCo6tpSWzb9KAk91OGmFMfNL8HhHqaYn56JtqRWCb2pCT304ZY08te/OR+37rnt3uSuzcrud833EByb4/BkC54hpLcZpbPRKFZPsNK7l7YEdCHcwQ8A6Ge5Sf3+1bQNr/J3Tc+fE4vuftisOd8Jff7UHL3hRbvOcBZH52DFe9HCY8+piWxbdOfktz9DDGnPmh+fwj1PMX89Ey0I7FMfIGS3M8bYk0vB/CT+z3rnl/vSe4XWcn9nuEGknt9DIZ0wUBKcptZDoxCsxzISu4B2BEwiHMEDIRQg/nJ/Z4VJH6Te0h8GNVL7iEYLOorud+DknsItHhRwFkfnYMVH0oJj0GmJbFtM4yS3EMNMac+aD70Fuviwynmp2eiHYll4ghKcg83xJpejuQn9xrrnk/yJPcoVnKvMdxAcifFYEgXvERJbjPLl6LQLF9iJfdI7AgYzTkCXoJQY/jJvcYKKu43ucfGh+P0knssBhvnK7nXQMk9Flq8cYCzPjoHKz6eEh6jTUti2+ZlSnKPN8Sc+qD5L0OoCRTz0zPRjsQycSIluScYYk0vJ/GT+13rnl/mSe7JrOR+13ADyb0sBkO6YAoluc0sp0ShWU5hJfck7AiYyjkCpkCoafzkftcKWuo3uafHhzP0kns6BpvhK7nfhZJ7OrR4MwBnfXQOVnwmJTymmpbEts0sSnLPNMSc+qD5syDUbIr56ZloR2KZOIeS3LMNsaaXr/CTe7V1z/f3JPdcVnKvNtxAcvePwZAueJWS3GaWr0ahWb7KSu5XsCNgHucIeBVCzecn92orqJ/f5F4QHy7US+4FGGyhr+ReDSX3AmjxFgLO+ugcrPgiSnjMMy2JbZvXKMm9yBBz6oPmvwahFlPMT89EOxLLxNcpyb3YEGt6uYSf3O9Y93xtT3IvZSX3O4YbSO7aMRjSBcsoyW1muSwKzXIZK7mXYEfAG5wjYBmEWs5P7nesoFp+k3tFfLhSL7lXYLCVvpL7HSi5V0CLtxJw1kfnYMVXUcLjDdOS2LZ5k5Lcqwwxpz5o/psQ6i2K+emZaEdimfg2JbnfMsSaXr7DT+63rXs+6knu1azkfttwA8kdjcGQLniXktxmlu9GoVm+y0rud7AjYA3nCHgXQr3HT277/h3iN7nfjw8/0Evu9zHYB76S+20oud+HFu8DwFkfnYMVX0sJjzWmJbFt8yEludcaYk590PwPIdRHFPPTM9GOxDJxHSW5PzLEml4KP7nfsu75dp7kXs9KbrO+64HkbheDIV2wgZLcZpYbotAsN7CSW7AjYCPnCNgAoTbxk9v++aCt3+TeHB9u0UvuzRhsi6/kfgtK7s3Q4m0BnPXROVjxjynhsdG0JLZtPqEk98eGmFMfNP8TCPUpxfz0TLQjsUzcSknuTw2xppfb+Mn9pnXPr/Ik93ZWcr9puIHkXhWDIV3wGSW5zSw/i0Kz/IyV3NuwI2AH5wj4DELt5Ce3/bbiSr/J/Xl8+IVecn+Owb7wldxvQsn9ObR4XwDO+ugcrPguSnjsMC2JbZvdlOTeZYg59UHzd0OoPRTz0zPRjsQy8UtKcu8xxJpefsVP7lXWPR/yJPfXrOQ2Yfc1kNyhGAzpgm8oyW1m+U0UmuU3rOT+CjsCvuUcAd9AqL385LZ/IZriN7m/iw/36SX3dxhsn6/kXgUl93fQ4u0DnPXROVjx7ynh8a1pSWzb/EBJ7u8NMac+aP4PEOpHivnpmWhHYpn4EyW5fzTEml7+zE/uldY9n9+T3PtZyb3ScAPJnT8GQ7rgACW5zSwPRKFZHmAl98/YEXCQcwQcgFCH+Mlt/x1VPr/JfTg+PKKX3Icx2BFfyb0SSu7D0OIdAZz10TlY8aOU8DhoWhLbNr9QkvuoIebUB83/BUIdo5ifnol2JJaJv1KS+5gh1vTyOD+5V1j3fBtPcv/GSu4VhhtI7jYxGNIFJyjJbWZ5IgrN8gQruY9jR8BJzhFwAkKd4if3Ciuotd/kPh0fntFL7tMY7Iyv5F4BJfdpaPHOAM766ByoeFIWSnicNC0JbZukrIxtmxQj5tTHzE/KCqHOo5ifnol2JJSJSdkYyZ10niHW9DI7P7mXW/d84XhyJ+VgJfdyww0kd+EYDNksOSnJbWaZMwrNMicpuZOyY0dALs4RkBNC5eYnt/0Pzwr5TO6kPPFhXrXkTsqDwfL6Su7lSHIn5YEWLy/grI/OwYrnYxwuSblMS2LbJj8lufMZYk590Pz8EKoAxfz0TLQjsUw8n5LcBQyxppcF+ckN/OGvJ7kLsZL7DcMNTTipMCWTTf3CQ1hpWxDbtkU427YwhCrqY1kBSYYYsfVfNvGyTDXxBawmXma4sSZOoDSxqZ9AaeLYOiboNfG/XO2l9nl4VrsYa7WXGm5sBxaDeiKR0hNmlonYyiVSItF0TiIW3EWgWRZn9HfMpeJDOMdvcQiVRLlqSr8esSOx65FkyuGSZIixWWJelmDleAloIxWemNkjMDDszyMQa9fXTBGkXfHPrllCmfqgG+09rXqHDk267cwSkqSSkhSQpKAkpUiS+Y+pkhSWpIgkpUlSKUkqLUllJKmsJJWTpPKSVEGSKkpSJUm6UJIukqTKklRFkqpKUjVJuliSLpGkSyXpMkm6XJKukKQrJekqvQ/PJXNDsAAGC2KwFAwWwmCpGCyMwSIYLA2DlcJgpTFYGQxWFoOVw2DlMVgFDFYRg1XCYBdisIswWGUMVgWDVcVg1TDYxRjsEgx2KQa7DINdjsGuwGBXYrCrcvvKq8TXzPEMJWZJ6M5fwIqKZXTQhvo9yVMyRg098Dsq49kfGfYHKjUj1O6j/0GFM0DdsCcdFTk3akiNP1Fp50S1jcZRpc6FWtrOgyp9DlTXZV5UmbOjanX7C6rsWVF7a/8VVe5sqKrf/Q1V/iyoMtX+jqrwT9T9Zf+BqvgPVMPG/0RV+juqV6OzoC78G6pX77OhLvoranHvs6Iq/wV14+tnR1Xxom6teQ5UVQ9qSYNzoarFUWWXnhN18Z+oCeXOjbokHVV5YgaoS/+D2l0lI9Rlf6Da78kQdfnvqHodMkZdEUM1rW9BXWlQFzWzoa6i306IlbCcfZs8txOuJt1OSLrKcAPfXW6KwRC+axi3E2KzvCYKzfKazK5cpr++A5pjo9+v766ND6/T+wRyLQa7zs/Xd0lXQSF+LXRBcB3grI97IVjx6xm3omOf36+B7jIUngjNsjrlXsj1hjiqVv9fnoxXWhtqvOdkvIF1Mpq7ADcAJ+P4GAzhq0E5Gc0sa0ShWdZg3GiN9Xd1zf6+kXM7tAaEqkn/7UesuS2gcX7D46b4sJZeeNyEwWr5Co8rofC4CVq8WoCzPjoHK16bcgTdaFoSO5brUGKhtiF2Wb+6IR6GxRI2Swh1M/3nD0lXWNt+kSfi6rIiztzrrgtE3KIYDOG7hRJxZpa3RKFZ3sL6CuZmbBfU44TXLRCqPj+8rrCCFvoNr1vjwwZ64XUrBmvgK7yugMLrVmjxGgDO+ugcrPhtlMOlnmlJbNvcTgmP2wwxpz5o/u0Q6g7KL6DSk9NG/Udy2lFYct5J+S3HHYZY0/G7+Pl+ufVkGOzJ97tZ+W6+zr4byPfBMRjC15CS72aWDaPQLBuy8v0u7KBoxDkoGkKoe/j5frkVNMhvvt8bH96nl+/3YrD7fOX75VC+3wst3n2Asz46Byt+P+VwaWRaEts2jSn5fr8h5tQHzW8MoR6gmJ+eiXYklokPUpL7AUOs6eVD/OS+zLrnPQ/gS2rCSu7LDDf0AD4DQ/gepiS3meXD0AP4YvUtdD6T+yHsCGjKOQIehlDN+Ml9mRXk9wF8Sc3jw0f0krs5BnvEV3JfBiV3c2jxHgGc9dE5WPFHKYdLU9OS2LZ5jJLcjxpiTn3Q/McgVAuK+emZaEdimdiSktwtDLGml4/zk/tS657f6EnuVqzkvtRwA8m9MQZD+FpTktvMsnUUmmVrVnI/jh0BbThHQGsI1Zaf3JdaQRv8Jne7+LC9XnK3w2DtfSX3pVByt4MWrz3grI/OwYp3oBwubUxLYtumIyW5OxhiTn3Q/I4QqhPF/PRMtCOxTOxMSe5OhljTyy785L7EuuebeJL7CVZyX2K4geRuEoMhfF0pyW1m2TUKzbIrK7m7YEdAN84R0BVCPclP7kusoIf8Jnf3+PApveTujsGe8pXcl0DJ3R1avKcAZ310Dla8B+Vw6WZaEts2T1OSu4ch5tQHzX8aQvWkmJ+eiXYklom9KMnd0xBretmbn9wXW/f8Nk9yP8NK7osNN5Dc22IwhK8PJbnNLPtEoVn2YSV3b+wIeJZzBPSBUH35yX2xFbTVb3I/Fx/200vu5zBYP1/JfTGU3M9Bi9cPcNZH52DF+1MOl2dNS2Lb5nlKcvc3xJz6oPnPQ6gXKOanZ6IdiWXiAEpyv2CINb18kZ/c1ax7vo4nuQeykrua4QaSu04MhvANoiS3meWgKDTLQazkfhE7AgZzjoBBEGoIP7mrWUG1/Sa3p92H6iV3FIMN9ZXc1aDkxjpnKOCsj87Big+jHC6DTUti9YdTknuYIebUB80fDqFGUMxPz0Q7EsvEkZTkHmGINb0cxU/uqtY9v8BzlL3ESu6qhhtI7gUxGMI3mpLcZpajo9AsR7OSexR2BIzhHAGjIdRYfnJXtYLm+03ucfHheL3kHofBxvtK7qpQco+DFm884KyPzsGKv0w5XMaYlsS2zQRKcr9siDn1QfMnQKiJFPPTM9GOxDJxEiW5zck6SdPLyfzkrmLd8ys8yT2FldxVDDeQ3CtiMIRvKiW5zSynRqFZTmUl92TsCJjGOQKmQqjp/OSuYgUt95vcM+LDmXrJPQODzfSV3FWg5J4BLd5MwFkfnYMVn0U5XKaZlsS2zWxKcs8yxJz6oPmzIdQcivnpmWhHYpn4CiW55xhiTS/n8pO7snXP1/Uk96us5K5suIHkrhuDIXzzKMltZjkvCs1yHiu552JHwHzOETAPQi3gJ3dlK+hmv8m9MD5cpJfcCzHYIl/JXRlK7oXQ4i0CnPXROVjx1yiHy3zTkti2WUxJ7tcMMac+aP5iCPU6xfz0TLQjsUxcQknu1w2xppdL+cl9kXXP9/Ik9zJWcl9kuIHk7hWDIXxvUJLbzPKNKDTLN1jJvRQ7ApZzjoA3INQKfnJfZAX19JvcK+PDVXrJvRKDrfKV3BdByb0SWrxVgLM+Ogcr/iblcFluWhLbNm9RkvtNQ8ypD5r/FoR6m2J+eibakVgmvkNJ7rcNsaaXq/nJfWGmkvtdVnJfaLix5H4XkrWGktxmlmuw5F7DSu7V2BHwHucIWAOh3ucn94W85P4gPlyrl9wfYLC1vpL7Qii5P4AWby0nubHiH1IOl/dMS2Lb5iNKcn9oiDn1QfM/glDrKOanZ6IdiWWiUJJ7nSHW9HI9P7krWff8LE9yb2AldyXDDST3rBgM4dtISW4zy41RaJYbWcm9HjsCNnGOgI0QajM/uStZQTP9JveW+PBjveTegsE+9pXclaDk3gIt3seAsz46Byv+CeVw2WRaEts2n1KS+xNDzKkPmv8phNpKMT89E+1ILBO3UZJ7qyHW9HI7P7krWvf8VE9yf8ZK7oqGG0juqTEYwreDktxmljui0Cx3sJJ7O3YE7OQcATsg1Of85K5oBU3xm9xfxIe79JL7Cwy2y1dyV4SS+wto8XYBzvroHKz4bsrhstO0JLZt9lCSe7ch5tQHzd8Dob6kmJ+eiXYklolfUZL7S0Os6eXX/OSuYN3z2z3J/Q0ruSsYbiC5t8dgCN+3lOQ2s/w2Cs3yW1Zyf40dAXs5R8C3EOo7fnJXsIK2+U3uffHh93rJvQ+Dfe8ruStAyb0PWrzvAWd9dA5W/AfK4bLXtCS2bX6kJPcPhphTHzT/Rwj1E8X89Ey0I7FM/JmS3D8ZYk0v9/OTu7x1z6/3JPcBVnKXN9xAcq+PwRC+g5TkNrM8GIVmeZCV3PuxI+AQ5wg4CKEO85O7vBUkfpP7SHx4VC+5j2Cwo76SuzyU3EegxTsKOOujc7Div1AOl0OmJbFtc4yS3L8YYk590PxjEOpXivnpmWhHYpl4nJLcvxpiTS9/4yd3Oeue9z5U6gQrucsZbiC5k2IwhO8kJbnNLE9GoVmeZCX3b9gRcIpzBJyEUKf5yV3OCiruN7nP/DlMzqKX3GcgWHIWX8ldDkruM8jiJWcBnPXROVjxrJTD5ZRpSWjbJJ/H2LbJ5t95nPqY+cnnQahsFPPTM9GOhDIxOTsjuZOzGWJNL3Pwk7usdc8viyd3ck5Wcpc13EByL4vBkM2Si5LcZpa5otAsc5GSOzkHdgTk5hwBuSBUHn5yl7WClvpM7uS88WE+teROzovB8vlK7rJIcifnhRYvH+Csj87BiudnHC7JuU1LYtumACW58xtiTn3Q/AIQ6nyK+emZaEdimViQktznG2JNLwvxk7uMdc/39yR3YVZylzHcQHL3j8GQLihCSW4zyyJRaJZFWMldCDsCinKOgCIQ6gJ+cpexgvr5Te6E+LCYXnInYLBivpK7DJTcCdDiFQOc9dE5WPFESngUNS2JbZvilORONMSc+qD5xSFUEsX89Ey0I7FMTKYkd5Ih1vSyBD+5S1v3fG1PcpdkJXdpww0kd+0YDOmCACW5zSwDUWiWAVZyl8COgCDnCAhAqBR+cpe2gmr5Te5QfJiql9whDJbqK7lLQ8kdghYvFXDWR+dgxcOU8AialsS2TYSS3GFDzKkPmh+BUGkU89Mz0Y7EMrEUJbnTDLGml6X5yV3KuuejnuQuw0ruUoYbSO5oDIZ0QVlKcptZlo1CsyzLSu7S2BFQjnMElIVQ5fnJbd+/Q/wmd4X4sKJeclfAYBV9JXcpKLkrQItXEXDWR+dgxStRwqOcaUls21xISe5KhphTHzT/Qgh1EcX89Ey0I7FMrExJ7osMsaaXVfjJnWbd8+08yV2VldxmfasCyd0uBkO6oBoluc0sq0WhWVZjJXcV7Ai4mHMEVINQl/CT2/75oK3f5L40PrxML7kvxWCX+UruNCi5L4UW7zLAWR+dgxW/nBIeF5uWxLbNFZTkvtwQc+qD5l8Boa6kmJ+eiXYklolXUZL7SkOs6eXV/OSOWPf8Kk9yX8NK7ojhBpJ7VQyGdMG1lOQ2s7w2Cs3yWlZyX40dAddxjoBrIdT1/OS231Zc6Te5q8eHN+gld3UMdoOv5I5AyV0dWrwbAGd9dA5WvAYlPK4zLYltmxspyV3DEHPqg+bfCKFqUsxPz0Q7EsvEmyjJXdMQa3pZi5/cYeueD3mSuzYruc1XQbWB5A7FYEgX1KEkt5llnSg0yzqs5K6FHQE3c46AOhCqLj+57V+IpvhN7lviw3p6yX0LBqvnK7nDUHLfAi1ePcBZH52DFa9PCY+bTUti2+ZWSnLXN8Sc+qD5t0KoBhTz0zPRjsQy8TZKcjcwxJpe3s5P7lTrns/vSe47WMmdariB5M4fgyFdcCcluc0s74xCs7yTldy3Y0fAXZwj4E4IdTc/ue2/o8rnN7kbxoeN9JK7IQZr5Cu5U6HkbggtXiPAWR+dgxW/hxIed5mWxLbNvZTkvscQc+qD5t8Loe6jmJ+eiXYklon3U5L7PkOs6WVjfnKHrHu+jSe5H2Alt/mY+gCQ3G1iMKQLHqQkt5nlg1Folg+ykrsxdgQ8xDkCHoRQTfjJHbKCWvtN7ofjw6Z6yf0wBmvqK7lDUHI/DC1eU8BZH52DFW9GCY+HTEti26Y5JbmbGWJOfdD85hDqEYr56ZloR2KZ+CgluR8xxJpePsZP7hTrni/sSe4WrOROMdxAcheOwZAuaElJbjPLllFoli1Zyf0YdgQ8zjkCWkKoVvzktv/hWSG/yd06Pmyjl9ytMVgbX8mdAiV3a2jx2gDO+ugcrHhbSng8bloS2zbtKMnd1hBz6oPmt4NQ7Snmp2eiHYllYgdKcrc3xJpeduQnN/CHv57k7sRK7qDhhiac3JmSyaZ+5yGstO2IbdsunG3bGUI94WNZAUmGGLH1XzZxIFNN3JXVxAHDjTVxN0oTm/rdKE0cW8duek38L1e7pH0entV+krXaJQ03tgOfhHqiO6UnzCy7YyvXnRKJpnO6Y8HdBZrlU4z+jrn01BDO8fsUhOpBuWpKvx6xI7Hrkacph0sPQ4zNEvOyJyvHe0IbqfDEzDYStj97ZUx7+tjicmf5cPhag7Ydm7do1rZN1QbNO7Tu3KlJpxZt2wwd7vmw2Cs+TpwdH2cv4hkXHS7JvSX5GUnuI8nP+pl9X+vsy/uafV9w9s9Jcj9J7i/Jz/81fgLD/owfrFt7mwVGjgr8vkGWUKZuMkR7T6veoUOTbjuzhCT5BUkeIMkvSvJASR4kyYMleYgkRyV5qCQPk2Sje4Qkj5TkUZL8kiSPluQxkjxWksdJ8nhJflmSJ0iy6etJkjxZkqdI8lRJnibJ0yV5hiTPlORZejcuXsgNwQZgsBcx2EAMNgiDDcZgQzBYFIMNxWDDMNhwDDYCg43EYKMw2EsYbDQGG4PBxmKwcRhsPAZ7GYNNwGATMdgkDDYZg03BYFMx2DQMNh2DzcBgMzHYrNz+rhV6m+MZCsYXoLuuA6yoWDa9aEP9nmADM0YNPfA7alCGqCPD/kANzgi1++h/UEMyQN2wJx2VwYXEkBp/os591d02GkcNOxdqaTsPavg5UF2XeVEjzo6q1e0vqJFnRe2t/VfUqLOhqn73N9RLZ0GVqfZ31Oh/ou4v+w/UmH+gGjb+J2rs31G9Gp0FNe5vqF69z4Ya/1fU4t5nRb38F9SNr58dNcGLurXmOVATPaglDc6FmhRHlV16TtTkP1ETyp0bNSUdVXliBqip/0HtrpIRatofqPZ7MkRN/x1Vr0PGqBkxVNP6FtRMg7qomQ01i34rJ1bCcvZt8tzKmU26lZM8y3AD3xtvisEQvjmMWzmxWc6JQrOck9mVy/RXp0BzbPT71ekr8eFcvU8gr2CwuX6+Ok2eBYX4K9AFwVzAWR/3obDirzK+BohdD82B7vAUngjNch7lPtSrhjiqVv9fnowzrQ013nMyzmedjOYuwHzgZBwfgyF8Cygno5nlgig0ywWMm9yx/p6n2d8LObeiF0CoRfTf3cSa2wIa5zc8XosPF+uFx2sYbLGv8JgJhcdr0OItBpz10TlY8dcpR9BC05LYsbyEEguvG2KX9ecZ4mFYLGGzhFBL6T89SZ5hbftFnohbxoo4c697GRBxi2IwhO8NSsSZWb4RhWb5Buvrr6XYLljOCa83INQKfnjNsIIW+g2vlfHhKr3wWonBVvkKrxlQeK2EFm8V4KyPzsGKv0k5XJablsS2zVuU8HjTEHPqg+a/BaHepvz6LD05bdR/JKcdhSXnO5Tf0bxtiDUdX83P9+nWk2GwJ9/fZeW7+Tr7XSDfB8dgCN8aSr6bWa6JQrNcw8r31dhB8R7noFgDod7n5/t0K2iQ33z/ID5cq5fvH2Cwtb7yfTqU7x9Ai7cWcNZH52DFP6QcLu+ZlsS2zUeUfP/QEHPqg+Z/BKHWUcxPz0Q7EstEoST3OkOs6eV6fnJPs+5578MPN7CSe5rhxh5+uAGStZGS3GaWG7GHH25kJfd67AjYxDkCNkKozfzknmYF+X744Zb48GO95N6CwT72ldzToOTeAi3ex4CzPjoHK/4J5XAxX5NvxrbNp5Tk/sQQc+qD5n8KobZSzE/PRDsSy8RtlOTeaog1vdzOT+6p1j2/0ZPcn7GSe6rhBpJ7YwyG8O2gJLeZ5Y4oNMsdrOTejh0BOzlHwA4I9Tk/uadaQRv8JvcX8eEuveT+AoPt8pXcU6Hk/gJavF2Asz46Byu+m3K47DQtiW2bPZTk3m2IOfVB8/dAqC8p5qdnoh2JZeJXlOT+0hBrevk1P7mnWPd8E09yf8NK7imGG0juJjEYwvctJbnNLL+NQrP8lpXcX2NHwF7OEfAthPqOn9xTrKCH/Cb3vvjwe73k3ofBvveV3FOg5N4HLd73gLM+Ogcr/gPlcNlrWhLbNj9SkvsHQ8ypD5r/I4T6iWJ+eibakVgm/kxJ7p8MsaaX+/nJPdm657d5kvsAK7knG24gubfFYAjfQUpym1kejEKzPMhK7v3YEXCIcwQchFCH+ck92Qra6je5j8SHR/WS+wgGO+oruSdDyX0EWryjgLM+Ogcr/gvlcDlkWhLbNscoyf2LIebUB80/BqF+pZifnol2JJaJxynJ/ash1vTyN35yT7Lu+Tqe5D7BSu5JhhtI7joxGMJ3kpLcZpYno9AsT7KS+zfsCDjFOQJOQqjT/OSeZAXV9pvcZ/4clsiil9xnIFiJLL6SexKU3GeQxSuRBXDWR+dgxbNSDpdTpiWhbVPiPMa2LWH+ncepj5lf4jwIlY1ifnom2pFQJpbIzkjuEtkMsaaXOfjJPdG65xfEk7tETlZyTzTcQHIviMGQzZKLktxmlrmi0CxzkZK7RA7sCMjNOQJyQag8/OS2Pxpyvs/kLpE3Psynltwl8mKwfL6SeyKS3CXyQouXD3DWR+dgxfMzDpcSuU1LYtumACW58xtiTn3Q/AIQ6nyK+emZaEdimViQktznG2JNLwvxk3uCdc+v8CR3YVZyTzDcQHKviMGQLihCSW4zyyJRaJZFWMldCDsCinKOgCIQ6gJ+ck+wgpb7Te6E+LCYXnInYLBivpJ7ApTcCdDiFQOc9dE5WPFESngUNS2JbZvilORONMSc+qD5xSFUEsX89Ey0I7FMTKYkd5Ih1vSyBD+5X7bu+bqe5C7JSu6XDTeQ3HVjMKQLApTkNrMMRKFZBljJXQI7AoKcIyAAoVL4yf2yFXSz3+QOxYepeskdwmCpvpL7ZSi5oUdXl0gFnPXROVjxMCU8gqYlsW0ToSR32BBz6oPmRyBUGsX89Ey0I7FMLEVJ7jRDrOllaX5yj7fu+V6e5C7DSu7xhhtI7l4xGNIFZSnJbWZZNgrNsiwruUtjR0A5zhFQFkKV5yf3eCuop9/krhAfVtRL7goYrKKv5B4PJXcFaPEqAs766ByseCVKeJQzLYltmwspyV3JEHPqg+ZfCKEuopifnol2JJaJlSnJfZEh1vSyCj+5x2Uquauyknuc4caSuyrUBdUoyW1mWQ1L7mqs5K6CHQEXc46AahDqEn5yj+Ml96Xx4WV6yX0pBrvMV3KPg5L7UmjxLuMkN1b8ckp4XGxaEts2V1CS+3JDzKkPmn8FhLqSYn56JtqRWCZeRUnuKw2xppdX85N7rHXPz/Ik9zWs5B5ruIHknhWDIV1wLSW5zSyvjUKzvJaV3FdjR8B1nCPgWgh1PT+5x1pBM/0md/X48Aa95K6OwW7wldxjoeSuDi3eDYCzPjoHK16DEh7XmZbEts2NlOSuYYg59UHzb4RQNSnmp2eiHYll4k2U5K5piDW9rMVP7jHWPT/Vk9y1Wck9xnADyT01BkO6oA4luc0s60ShWdZhJXct7Ai4mXME1IFQdfnJPcYKmuI3uW+JD+vpJfctGKyer+QeAyX3LdDi1QOc9dE5WPH6lPC42bQktm1upSR3fUPMqQ+afyuEakAxPz0T7UgsE2+jJHcDQ6zp5e385B5t3fPbPcl9Byu5RxtuILm3x2BIF9xJSW4zyzuj0CzvZCX37dgRcBfnCLgTQt3NT+7RVtA2v8ndMD5spJfcDTFYI1/JPRpK7obQ4jUCnPXROVjxeyjhcZdpSWzb3EtJ7nsMMac+aP69EOo+ivnpmWhHYpl4PyW57zPEml425if3S9Y9v96T3A+wkvslww0k9/oYDOmCBynJbWb5YBSa5YOs5G6MHQEPcY6AByFUE35yv2QFid/kfjg+bKqX3A9jsKa+kvslKLkfhhavKeCsj87BijejhMdDpiWxbdOcktzNDDGnPmh+cwj1CMX89Ey0I7FMfJSS3I8YYk0vH+Mn9yjrnk/yJHcLVnKPMtxAcifFYEgXtKQkt5llyyg0y5as5H4MOwIe5xwBLSFUK35yj7KCivtN7tbxYRu95G6Nwdr4Su5RUHK3hhavDeCsj87BirelhMfjpiWxbdOOktxtDTGnPmh+OwjVnmJ+eibakVgmdqAkd3tDrOllR35yj7Tu+WWe5O7ESu6RhhtI7mUxGNIFnSnJbWbZOQrNsjMruTtiR0AXzhHQGUI9wU/ukVbQUr/J3TU+7KaX3F0xWDdfyT0SSu6u0OJ1A5z10TlY8Scp4dHFtCS2bbpTkvtJQ8ypD5rfHUI9RTE/PRPtSCwTe1CS+ylDrOnl0/zkHmHd8/09yd2TldwjDDeQ3P1jMKQLelGS28yyVxSaZS9Wcj+NHQG9OUdALwj1DD+5R1hB/fwmd5/48Fm95O6DwZ71ldwjoOTuAy3es4CzPjoHK96XEh69TUti2+Y5SnL3NcSc+qD5z0GofhTz0zPRjsQysT8lufsZYk0vn+cn93Drnq/tSe4XWMk93HADyV07BkO6YAAluc0sB0ShWQ5gJffz2BHwIucIGAChBvKTe7gVVMtvcg+KDwfrJfcgDDbYV3IPh5J7ELR4gwFnfXQOVpxyuJR40bQktm2ilOQeYog59UHzseJDKeanZ6IdiWXiMEpyDzXEml4O5yf3MOuej3qSewQruYcZbiC5ozEY0gUjKcltZjkyCs1yJCu5h2OdM4pzBIyEUC/xk9tu1xC/yT06Phyjl9yjMdgYX8k9DEru0dDijQGc9dE5WPGxlPAYZVoS2zbjKMk91hBz6oPmj4NQ4ynmp2eiHYlZ9DIluccbYk0vJ/CT277n23mSeyIruc36TgSSu10MhnTBJEpym1lOikKznMRK7glYf0/mHAGTINQUfnLbQW39JvfU+HCaXnJPxWDTfCX3UCi5p0KLNw1w1kfnYMWnU8JjsmlJbNvMoCT3dEPMqQ+aPwNCzaSYn56JdiSWibMoyT3TEGt6OZuf3FHrnl/lSe45rOQ2H1PnAOfPqhgM6YJXKMltZvlKFJrlK6zkno0dAXM5R8ArEOpVfnLbbyuu9Jvc8+LD+XrJPQ+DzfeV3FEouedBizcfcNZH52DFF1DCY65pSWzbLKQk9wJDzKkPmr8QQi2imJ+eiXYklomvUZJ7kSHW9HIxP7mHWPd8yJPcr7OS23wV9DqQ3KEYDOmCJZTkNrNcEoVmuYSV3IuxI2Ap5whYAqGW8ZPb3oUpfpP7jfhwuV5yv4HBlvtK7iFQcr8BLd5ywFkfnYMVX0EJj6WmJbFts5KS3CsMMac+aP5KCLWKYn56JtqRWCa+SUlu82HrTU0v3+In92Drns/vSe63Wck92HADyZ0/BkO64B1KcptZvhOFZvkOK7nfwo6A1Zwj4B0I9S4/ue2/o8rnN7nXxIfv6SX3Ggz2nq/kHgwl9xpo8d4DnPXROVjx9ynhsdq0JLZtPqAk9/uGmFMfNP8DCLWWYn56JtqRWCZ+SEnutYZY08uP+Mk9yLrn23iSex0ruQcZbiC528RgSBcIJbnNLCUKzVJYyf0RdgSs5xwBAqE28JN7kBXU2m9yb4wPN+kl90YMtslXcg+CknsjtHibAGd9dA5WfDMlPNablsS2zRZKcm82xJz6oPlbINTHFPPTM9GOxDLxE0pyf2yINb38lJ/cA617vrAnubeyknug4QaSu3AMhnTBNkpym1lui0Kz3MZK7k+xI2A75wjYBqE+4ye3/Q/PCvlN7h3x4U695N6BwXb6Su6BUHLvgBZvJ+Csj87Bin9OCY/tpiWxbfMFJbk/N8Sc+qD5X0CoXRTz0zPRjsQycTcluXcZYk0v9/CTG/jDX09yf8lK7hcNNzThEl9RMtnU/2oIK233YNv2a862/QpCfeNjWQFJhhix9V828YBMNfG3rCYeYLixJt5LaWJTfy+liWPruFevif/lar9gn4dntb9jrfYLhhvbgd9BPbGP0hNmlvuwldtHiUTTOfuw4P4amuX3jP6OufT9EM7x+z2E+oFy1ZR+PWJHYtcjP1IOlx8MMTZLzMufWDn+E7SRCk/M7BEYGPbnEYi163OmCNKu+GfXLKFMfdCN9p5WvUOHJt12ZglJiZ+lxH4pcUBKHJQSh6TEYSlxREoclRK/SIljUuJXKXFcSvwmJU5IiZNS4pSUOC0lzkjJLFIyq5Q8T0pmk5LZpWQOKZlTSuaSkrmlZB4pmVdK5pOS+aVkAb0Pzz/nhmD7MdgBDHYQgx3CYIcx2BEMdhSD/YLBjmGwXzHYcQz2GwY7gcFOYrBTGOw0BjsDwUpmwWBZMdh5GCwbBsuOwXJgsJwYLBcGy43B8mCwvBgsHwbLj8EK5PaVV8nPmeMZSsyfoTt/+62oWEYfsKF+T/KDGaOGHvgddShD1JFhf6AOZ4TaffQ/qCMZoG7Yk446em7UkBp/on45J6ptNI46di7U0nYe1K/nQHVd5kUdPzuqVre/oH47K2pv7b+iTpwNVfW7v6FOngVVptrfUaf+ibq/7D9Qp/+Batj4n6gzf0f1avRPVMksf0P16n02VNa/ohb3PivqvL+gbnz97KhsXtStNc+Byu5BLWlwLlSOOKrs0nOicv6JmlDu3Khc6ajKEzNA5f4PaneVjFB5/kC135MhKu/vqHodMkbli6Ga1reg8hvURc1sqAL02wmxEpazb1P8dkLJ80m3E0oWMNzAd5ebYjCEryDjdkJslgWj0CwLZnblMv31HdAcG31+fVeyUHxYWO0TSMlCGKywn6/vShZAQrxkIeSCoGRhwNnM3wsBixdh3Io210MlC0J3GQpPhGZZlHGXoWQRQxxVq/8vT8b81oYa7zkZL2CdjOYuwAXAyTg+BkP4Eigno5llQhSaZQLjRmusv4tq9ncxyu3QkgkQKpH+249Yc1tA4/yGR/H4MEkvPIpjsCRf4ZEfCo/i0OIlAc766ByseDLlCCpmWhI7lktQYiHZELusX9QQD8NiCZslhCpJ//lDyXzWtl/kibgAK+LMve4AEHGLYjCEL0iJODPLYBSaZZD0FUzJktguSOGEVxBChfjhlc8KWug3vFLjw7BeeKVisLCv8MoHhVcqtHhhwFkfnYMVj1AOlxTTkti2SaOER8QQc+qD5qdBqFKMj51/JqeN+o/ktKOw5CzN+IhRspQh1nS8DD/f81pPhsGefC/LynfzdXZZIN8Hx2AIXzlKvptZlotCsyzHyvcy2EFRnnNQlINQFfj5ntcKGuQ33yvGh5X08r0iBqvkK9/zQvleEVq8SoCzPjoHK34h5XApb1oS2zYXUfL9QkPMqQ+afxGEqkwxPz0T7UgsE6tQkruyIdb0sio/ufNY97znAXwlq7GSO4/hhh7AZ2AI38WU5DazvBh6AF+svoXOZ3JXxY6ASzhHwMUQ6lJ+cuexgvw+gK/kZfHh5XrJfRkGu9xXcueBkvsyaPEuB5z10TlY8Ssoh8slpiWxbXMlJbmvMMSc+qD5V0Koqyjmp2eiHYll4tWU5L7KEGt6eQ0/uXNb9/xGT3Jfy0ru3IYbSO6NMRjCdx0luc0sr4tCs7yOldzXYEfA9Zwj4DoIVZ2f3LmtoA1+k/uG+LCGXnLfgMFq+Eru3FBy3wAtXg3AWR+dgxW/kXK4XG9aEts2NSnJfaMh5tQHza8JoW6imJ+eiXYklom1KMl9kyHW9LI2P7lzWfd8E09y12Eldy7DDSR3kxgM4buZktxmljdHoVnezEru2tgRUJdzBNwMoW7hJ3cuK+ghv8ldLz6sr5fc9TBYfV/JnQtK7nrQ4tUHnPXROVjxWymHS13Tkti2aUBJ7lsNMac+aH4DCHUbxfz0TLQjsUy8nZLctxliTS/v4Cd3Tuue3+ZJ7jtZyZ3TcAPJvS0GQ/juoiS3meVdUWiWd7GS+w7sCLibcwTcBaEa8pM7pxW01W9yN4oP79FL7kYY7B5fyZ0TSu5G0OLdAzjro3Ow4vdSDpe7TUti2+Y+SnLfa4g59UHz74NQ91PMT89EOxLLxMaU5L7fEGt6+QA/uXNY93wdT3I/yEruHIYbSO46MRjC9xAluc0sH4pCs3yIldwPYEdAE84R8BCEepif3DmsoNp+k7tpfNhML7mbYrBmvpI7B5TcTaHFawY466NzsOLNKYeLuQf2MLZtHqEkt+mkRzj1QfMfgVCPUsxPz0Q7EsvExyjJ/agh1vSyBT+5s1v3/AJPcrdkJXd2ww0k94IYDOF7nJLcZpaPR6FZPs5K7hbYEdCKcwQ8DqFa85M7uxU0329yt4kP2+oldxsM1tZXcmeHkrsNtHhtAWd9dA5WvB3lcGllWhLbNu0pyd3OEHPqg+a3h1AdKOanZ6IdiWViR0pydzDEml524id3NuueX+FJ7s6s5M5muIHkXhGDIXxdKMltZtklCs2yCyu5O2FHwBOcI6ALhOrKT+5sVtByv8ndLT58Ui+5u2GwJ30ldzYoubtBi/ck4KyPzsGKd6ccLk+YlsS2zVOU5O5uiDn1QfOfglA9KOanZ6IdiWXi05Tk7mGINb3syU/u86x7vq4nuXuxkvs8ww0kd90YDOHrTUluM8veUWiWvVnJ3RM7Ap7hHAG9IVQffnKfZwXd7De5n40P++ol97MYrK+v5D4PSu5nocXrCzjro3Ow4s9RDpdnTEti26YfJbmfM8Sc+qD5/SBUf4r56ZloR2KZ+DwlufsbYk0vX+And1brnu/lSe4BrOQ2/wYAyd0rBkP4XqQkd4w4Cs3yRVZyv4AdAQM5R8CLEGoQP7mzWkE9/Sb34PhwiF5yD8ZgQ3wld1YouQdDizcEcNZH52DFo5TDZaBpSWzbDKUkd9QQc+qD5mOoYRTz0zPRjsQycTgluYcZYk0vR/CTO0umknskK7mN2JFYco+EZI2iJLeZ5SgsuUexknsEdgS8xDkCRkGo0fzkzsJL7jHx4Vi95B6Dwcb6Su4sUHKPgRZvLCe5seLjKIfLS6YlsW0znpLc4wwxpz5o/ngI9TLF/PRMtCMxLRMoyf2yIdb0ciI9uUucse75WZ7knkRK7tjbPicByT0rBkO6YDIjuWOznByFZjmZldwTsSNgCucImAyhptKTO9a2FtBMv8k9LT6crpfc0zDYdD/J/c/X4p01uadBizcdcNZH52DFZ1DCY4ppSWzbzKQk9wxDzKkPmj8TQs2imJ+eiXYklomzKcltjuzZml7O4Sf3aeuen+pJ7ldYyX3acAPJPTUGQ7pgLiW5zSznRqFZzmUl9xzsCHiVcwTMhVDz+Ml92gqa4je558eHC/SSez4GW+AruU9DyT0fWrwFgLM+OgcrvpASHq+alsS2zSJKci80xJz6oPmLINRrFPPTM9GOxDJxMSW5XzPEml6+zk/uU9Y9v92T3EtYyX3KcAPJvT0GQ7pgKSW5zSyXRqFZLmUl9+vYEbCMcwQshVBv8JP7lBW0zW9yL48PV+gl93IMtsJXcp+Ckns5tHgrAGd9dA5WfCUlPJaZlsS2zSpKcq80xJz6oPmrINSbFPPTM9GOxDLxLUpyv2mINb18m5/cJ617fr0nud9hJfdJww0k9/oYDOmC1ZTkNrNcHYVmuZqV3G9jR8C7nCNgNYRaw0/uk1aQ+E3u9+LD9/WS+z0M9r6v5D4JJfd70OK9Dzjro3Ow4h9QwuNd05LYtllLSe4PDDGnPmj+Wgj1IcX89Ey0I7FM/IiS3B8aYk0v1/GT+4R1zyd5kltYyX3CcAPJnRSDIV2wnpLcZpbro9As17OSex12BGzgHAHrIdRGfnKfsIKK+03uTfHhZr3k3oTBNvtK7hNQcm+CFm8z4KyPzsGKb6GExwbTkti2+ZiS3FsMMac+aP7HEOoTivnpmWhHYpn4KSW5PzHEml5u5Sf3b9Y9v8yT3NtYyf2b4QaSe1kMhnTBdkpym1luj0Kz3M5K7q3YEfAZ5wjYDqF28JP7Nytoqd/k3hkffq6X3Dsx2Oe+kvu3oUhy74QW73PAWR+dgxX/ghIen5mWxLbNLkpyf2GIOfVB83dBqN0U89Mz0Y7EMnEPJbl3G2JNL7/kJ/dx657v70nur1jJfdxwA8ndPwZDuuBrSnKbWX4dhWb5NSu5v8SOgG84R8DXEOpbfnIft4L6+U3uvfHhd3rJvReDfecruY9Dyb0XWrzvAGd9dA5WfB8lPL4xLYltm+8pyb3PEHPqg+Z/D6F+oJifnol2JJaJP1KS+wdDrOnlT/zk/tW652t7kvtnVnL/ariB5K4dgyFdsJ+S3GaW+6PQLPezkvsn7Ag4wDkC9kOog/zk/tUKquU3uQ/Fh4f1kvsQBjvsK7l/hZL7ELR4hwFnfXQOVvwIJTwOmJbEts1RSnIfMcSc+qD5RyHULxTz0zPRjsQy8RgluX8xxJpe/spP7mPWPR/1JPdxVnIfM9xAckdjMKQLfqMkt5nlb1Folr+xkvtX7Ag4wTkCfoNQJ/nJbd+/Q/wm96n48LRecp/CYKd9JfcxKLlPQYt3GnDWR+dgxc9QwuOEaUlo2wSyUJL7jCHm1MfMD2SBUFkp5qdnoh0JZWLgPEZyB7IaYk0vs/GT+xfrnm8XT+5AdlZy/2K4geRuF4MBfIEclOQ2s8wRhWaZg5TcgWzYEZCTcwTkgFC5+Mlt/3zQ1mdyB3LHh3nUkjuQG4Pl8ZXcvyDJHcgNLV4ewFkfnYMVz8s4XAI5TUti2yYfY9sG8hpiTn3Q/HwQKj/F/PRMtCOxTCxASe78hljTy/P5yX3UuudXeZK7ICu5jxpuILlXxWBIFxSiJLeZZaEoNMtCrOQ+HzsCCnOOgEIQqgg/ue23FVf6Te6i8eEFesldFINd4Cu5j0LJXRRavAsAZ310DlY8gRIehU1LYtumGCW5Ewwxpz5ofjEIlUgxPz0T7UgsE4tTkjvREGt6mcRP7iPWPR/yJHcyK7mPGG4guUMxGNIFJSjJbWZZIgrNsgQruZOwI6Ak5wgoAaEC/OS2fyGa4je5g/Fhil5yBzFYiq/kPgIldxBavBTAWR+dgxUPUcKjpGlJbNukUpLbnAepnPqg+akQKkwxPz0T7UgsEyOU5A4bYk0v0/jJfdi65/N7krsUK7kPG24gufPHYEgXlKYkt5ll6Sg0y9Ks5E7DjoAynCOgNIQqy09u+++o8vlN7nLxYXm95C6Hwcr7Su7DUHKXgxavPOCsj87BileghEcZ05LYtqlISe4KhphTHzS/IoSqRDE/PRPtSCwTL6QkdyVDrOnlRfzkPmTd8208yV2ZldyHDDeQ3G1iMKQLqlCS28yyShSaZRVWcl+EHQFVOUdAFQhVjZ/ch6yg1n6T++L48BK95L4Yg13iK7kPQcl9MbR4lwDO+ugcrPillPCoaloS2zaXUZL7UkPMqQ+afxmEupxifnom2pFYJl5BSe7LDbGml1fyk/ugdc8X9iT3VazkPmi4geQuHIMhXXA1JbnNLK+OQrO8mpXcV2JHwDWcI+BqCHUtP7ntf3hWyG9yXxcfXq+X3NdhsOt9JfdBKLmvgxbvesBZH52DFa9OCY9rTEti2+YGSnJXN8Sc+qD5N0CoGhTz0zPRjsQy8UZKctcwxJpe1uQnN/CHv57kvomV3AcMNzThQC1KJpv6tYaw0rYmtm1rc7ZtLQhVx8eyApIMMWLrv2zi/Zlq4ptZTbzfcGNNXJfSxKZ+XUoTx9axrl4T/8vV/tk+D89q38Ja7Z8NN7YDb4F6oh6lJ8ws62ErV48SiaZz6mHBXRuaZX1Gf8dcqj+Ec/zWh1C3Uq6a0q9H7EjseqQB5XC51RBjs8S8vI2V47dBG6nwRKD+Pz/Fza1e844qVS+v2aZph27tOg3fmWV+75k12rbp2KlJm04A4f9j/x/7/9j/x/4/Vg/75w21wms94w884/c94/c84zWe8bue8WrP+B3P+G3P+C3P+E3PeJVnvNIzXuEZL/eM3/CMl3nGSz3jJZ7x657xYs/4Nc94kWe80DNe4BnP94znecavesZzPeNXPOM5nvHs+LhoJc+4omdcwTMu7xmX84zLesZlPOPSnnEpzzjNM454xmHPONUzDnnGKZ5x0DMOeMYlPeMSnnGyZ5zkGRf3jBM942KecYJnfIFnXNQzLuIZF/aMC3nGBT3j8+PjC6Ke8RDPeLBnPMgzHugZv+gZD/CMX/CMn/eM+3vG/Tzj5zzjvp7xs55xH8/4Gc+4t2fcyzPu6Rk/7Rn38Iyf8oy7e8ZPesbdPOOunvETnnEXz7izZ9zJM+7oGXeIjxN+8YyPesZHPOPDnvEhz/igZ3zAM97vGf/sGf/kGf/oGf/gGX/vGe/zjL/zjPd6xt96xt94xl97xl95xl96xns8492e8S7P+AvP+HPPeKdnvMMz/swz3u4Zb/OMt2YiKwr9P/b/sf9r2J1ZPEd7kid2kjxxlOSJqSRPfCV5Yi3JE3dJnhhM8sRjkic2kzxxmuSJ2SRP/CZ5YjnJE9dJnhhPqvAXCYmeK5dEzxVNoudKJ9FzBZTouTJK9FwxJXqupBI9V1iJniuvRM8VWaLnSi3RcwWX6LmyS/Rc8SV6rgQT3zcf5CVwuwTukMCdErhLAndLoKEEGkngHgncK4H7JHC/BBpL4AEJPCiBhyTQRAIPS6CpBJpJwNzAfEQCj0rgMQm0kEBLCTwugVYSaC2BNhJoK4F2EmgvgQ4SMF/7dpJAZwl0kcATEugqgW4SeFIC3SXwlAR6SOBpCfSUQC8J9JbAMxLoI4FnJdBXAs9JoJ8E+kvgeQm8IIEBEnhRAgMlMEgCgyUwRAJRCQyVwDAJDJfACAmMlMAoCbwkgdESGCOBsRIYJ4HxEnhZAhMkYG6TTJLAZAlMkcBUCUyTwHQJzJDATAnMksBsCcyRwCsSmCuBVyUwTwLGnAUSWCiBRRJ4TQKLJfC6BJZIYKkElkngDQksl8AKCayUwCoJvCmBtyTwtgTekcBqCbwrgTUSeE8C70vgAwmslcCHEvhIAuskIBJYL4ENEtgogU0S2CyBLRL4WAKfSOBTCWyVwDYJbJfAZxLYIYGdEvhcAl9IYJcEdktgjwS+lMBXEvhaAt9I4FsJ7JXAdxLYJ4HvJfCDBH6UwE8SMPcMzQ1388XRQQkcksBhCRyRwFEJ/CKBYxL4VQLHJfCbBE5I4KQETkngtATOSDCLnPUv3v5x96cQ6VNNZu4qnf//2P/H+sX+5egu4bnALOG58CzhuSAt4blQLeG5gC3hubAt4bngLeG5EC7huUAuccwz/tUzPu4Z/+YZn/CMT3rGp/4iIdnzeSXZ8zkm2fP5JtnzuSfZ83ko2fM5Kdnz+SnZ87kq2fMDnuRhnvFwz3iEZzzSMx7lGb/kGY82EiR4ngSzSTC7BHNIMKcEc0kwtwTzSDCvBPNJML8EC0jwfAkWlKABF/7rlxzQLe9gkYz7Id99t9xylkPvtQZtOzZv0axtm6oNmndo3blTk04t2rYZ6tEb9HxmTfTcD8ju+e+zFx0uwaISvECCCRIs5mf2idbZ1/M1+0Rw9sUlmCTBZAmW8DP7ktbZ1/c1+5Lg7AMSDEowRYIhP7NPtc7+Vl+zTwVnH5ZgRIJpEizlZ/alrbNv4Gv2pcHZl5FgWQmWk2B5P7OvYJ39bb5mXwGcfUUJVpLghRK8yM/sK1tnf7uv2VcGZ19FglUlWE2CF//1Bw1FhsR/fRC8BPxRA/Sl4bnLXPrfKXPZf6fM5f+dMlf8d8pc+d8pcxWtTPEh8d81B6+OD6/RrAj8rDl4dVZf39sHr9b73v4vxiRl9gfnQeQH9ZmjTGyemd++Ba/VXDMfh/Z1GdM26v9Wf1+H9nWe8bUZHNrXS7C6BG+QYA0frTRECk+GZJbvTPoJSuFJWP0umV29YdDq3Yi0TvnOEMo+RZ+7/UasE2sqHUo1Q36cvOm/6uRfF3so2uxT0K6cglleizXRqehEp2ITrc2a6DR0otOwidZhTXQ6OtHp2ERv5sRJ3YxpS1XuvjXTv1nNItmzIj9HhB6FHLzF1zFjD7y6f449nxWDt8TH2VaZuKsnwfoSvFWCvj6GZovfMcvqKVLvb0Vuk+DtErxDgnf+9fIoeWeWxMxdzWTXvjzKoU2YU5swlzZhbm3CPNqEebUJ82kT5tcmLKBNeL42YUFtwkLahIW1CYtoExbVJrxAmzBBm7CYNmGiNmFxbcIkbUKToHbKEfHP8HfFh3fHhw3jw0a9p1Xv0KFJt51ZykvwHgneK8H7JHi/BBtL8AEJPijBhyTYRIIPS7CpBJtJ0PxvHpHgoxJ8TIItJNhSgo9LsJUEW0uwjQTbSrCdBNtLsIMETfx3kmBnCXaR4BMS7CrBbhJ8UoLdJfiUBHtI8GkJ9pRgLwn2luAz2J9e/bs/BwvenakbIH1Ifw4WvNtwYxN+lvGHXrH6z/L/1DLYMFNu92W53dBwYxN+juK2qf/cf8HtRplyux/L7UaGG5twf4rbpn5/yh+2Bp8164h91Hye9EHubs+4oWfc6G+fsl6Q4AAJvijBgZn/K8xgfzN/TOagzB7YgWGZbeq7MhOg9mUvnxnweVFvNg6W4BAJRiU4VILDJGhcHiHBkRIcJcGXJDhagmMkOFaC4yQ4XoIvS3CCBM0NxkkSnCzBKRKcKsFpEpwuwRkSnCnBWRKcLcE5EnxFgnMl+KoE50lwvgQXSHChBBdJ8DUJLpbg6xJcIsGlag+FCQ7GYEMwWBSDDcVgwzDYcAw2AoONxGCjMNhLGGw0BhuDwcZisHEYbDwGexmDTcBgEzHYJAw2GYNNwWBTMdg0DDYdg83AYDMx2CwMNhuDzcFgr2CwuRjsVQw2D4PNx2ALMNhCDLYIg72GwRZjsNcx2BIMtvSvV4RDdmapgMU4dD0x2P5QsTMmm+yoUyaa7KjjJpnsqIMmmOyoPSaX7Ki3TSzZUebT8Ejk8WrBUVbUaYN6yYo6aVCjrahfDWqMFXXAoMZaUbsNapwV9ZZBjbeiehnUy1ZUrAsn2FCnY6iJNtTJGGqSDfVrDDXZhjoQQ02xoXbHUFNtqLdiqGk2VK8YaroN9fuunWFB/fw7aqYF9ePvqFkW1He/o2ZbULt/R82xoDb+jnrFgpr/O2quBdXud9SrGaOGHvgdNS9jVPQP1PyMUYP/QC3IGDXgD9TCjFF9/kAtyhjV8Q/Uaxmj7vgDtThjVNE/UK9niDoy7A/UkgxRh/+DWprZr4OhZ+1Yw+YP1DLKPRLz+XwQ9hH7DcaX9rH7vIMh4DIzA2yiy1kTXQYBB8MTXUG6N+P5Y8Lgigx+VbZSgqsk+KYE3/LROObuPPZrh/KjfNwCs5tn7oCsxOq/lNldOxy6kFwJrfHb0G+hRkEokpB7ISHvYGuttiJ+Gt/z16/BdzJo/NUSfFeCayT4no/GN99JRbHGG01pfHPfbzVWfwynX1ZD/fI+1NKjIRRJyH2QkA+wtVZbET+N73mgT/CDDBp/rQQ/lOBHElzno/HNN7FDscYbS2l8c7d7LVZ/HKdf1kL9IlBLj4VQJCH3Q0LWY2uttiJ+Gl884/UZNP4GCW6U4CYJbvbR+I3NfRes8cZTGn+YmT9W/2VOv2yA+mUL1NLjIRRJSGNIyMfYWqutiJ/G3+IZf5xB438iwU8luFWC23w0/gPmViLWeBMojR+bP1Z/IqdfPoH6ZTvU0hMgFEnIA5CQz7C1VlsRP43vee5V8LMMGn+HBHdK8HMJfuGj8R80d8exxptEaXzzff4OrP5kTr/sgPplF9TSkyAUSciDkJDd2FqrrYifxvc8OC64O4PG3yPBLyX4lQS/9tH4D5kvfLDGm0Jp/JFm/lj9qZx+2QP1yzdQS0+BUCQhD0FCvsXWWm1F/DS+58mLwW8zaPy9EvxOgvsk+L2Pxm9ivsPEGm8apfFHmflj9adz+mUv1C8/QC09DUKRhDSBhPyIrbXaivhpfM+jS4M/ZtD4P0nwZwnul+ABH43/sPlaHmu8GZTGf8nMH6s/k9MvP0H9chBq6RkQiiTkYUjIIWyt1VbET+N7HqkWPJRB4x+W4BEJHpXgLz4av6kER2ONN4vS+KPN/LH6szn9chjql2NQS8+CUCQhTSEhv2JrrbYifhrf8wzA4K8ZNP5xCf4mwRMSPOmj8ZtJcAzWeHMojT/GzB+r/wqnX45D/XIKauk5EIokpBkk5DS21mor4qfxT3nGpzNo/DOSkkVSskrKeT4av7kEx2KNN5fS+GPN/LH6r3L65QxSPCUb1NJzIRRJSHNISHZsrdVWxEfjp2TzjLOfu/FTckhKTknJJSm5fTT+IxIchzXePErjjzPzx+rPp/RLSg6oX/JALT0PQnGEBB+BhOTF1lptRfw0fh7POG8GjZ9PUvJLSgFJOd9H4z8qwfFY4y2gNP54M3+s/kJO4+eD+qUg1NILIBRHSPBRSEghbK3VVsRP43teVpRSKIPGLywpRSSlqKRc4KPxH5Pgy1jjLaI0/stm/lj91ziNXxjqlwSopRdBKI6Q4GOQkGLYWqutiJ/G97ztK6VYBo2fKCnFJSVJUpJ9NH4LCU7AGm8xpfEnmPlj9V/nNH4i1C8loJZeDKE4QoItICElsbVWWxE/je95XV5KyQwaPyApQUlJkZSQj8ZvKcGJWOMtoTT+RDN/rP5STuMHoH5JhVp6CYTiCAm2hISEsbVWWxE/je95m0FKOIPGj0hKmqSUkpTSPhr/cQmCjxdeRmn8SWb+WP03OI0fgfqlDNTSyyAUR0jwcUhIWWyt1VbET+N73hiXUjaDxi8nKeUlpYKkVPTR+K0kCD7Xezml8Seb+WP1V3AavxzUL5Wgll4OoThCgq0gIRdia622In4a3/PG45QLM2j8iySlsqRUkZSqPhq/tQSxR3eXX0lp/Clm/lj9VZzGvwjql2pQS6+EUBwhwdaQkIuxtVZbET+NX80zvjiDxr9EUi6VlMsk5XIfjd9Ggtij4Mu/SWn8qWb+WP23OI1/CdQvV0At/SaE4ggJtoGEXImttdqK+Gn8KzzjKzNo/Ksk5WpJuUZSrvXR+G0liL1aoPzblMafZuaP1X+H0/hXQf1yHdTS2J+kc4QE20JCrsfWWm1F/DS+5909Kddn0PjVJeUGSakhKTf6aPx2EsReVVF+NaXxp5v5Y/Xf5TR+dahfakItvRpCcYQE20FCbsLWWm1F/DR+Tc/4pgwav5ak1JaUOpJys4/Gby/BGVjjraE0/gwzf6z+e5zGrwX1S12opddAKI6QYHtIyC3YWqutiJ/Gr+sZ35JB49eTlPqScqukNPDR+B0kOBNrvPcpjT/TzB+r/wGn8etB/XIb1NLYQ0g4QoIdICG3Y2uttiJ+Gv82z/j2DBr/Dkm5U1LukpS7fTR+7OGwWOOtpTT+LDN/rP6HnMa/A+qXhlBLr4VQHCHBjpCQRthaq62In8b3PNk+pVEGjX+PpNwrKfdJyv0+Gr+TBGdjjfcRpfFnm/lj9ddxGv8eqF8aQy39EYTiCAl2goQ8gK212or4afzGnvEDGTT+g5LykKQ0kZSHfTR+ZwnOwRpPKI0/x8wfq7+e0/jQwwlSmkItjT12iiMk2BkS0gxba7UV8dP4TT3jZhk0fnNJeURSHpWUx3w0fhcJvoI13gZK479i5o/V38hpfOzvN1pALb0BQnGEBLtAQlpia622In4av4Vn3DKDxn9cUlpJSmtJaeOj8Z+Q4Fys8TZRGn+umT9WfzOn8bGfuLSFWnoThOIICT4BCWmHrbXaivhp/LaecbsMGr+9pHSQFAPq5KPxu0rwVazxtlAa/1Uzf6z+x5zGx+4CYm+Oxx40yBES7AoJ6YKttdqK+Gn8zp5xlwwa/wlJ6Sop3STlSR+N302C87DG+4TS+PPM/LH6n3IaHzsou0Mt/QmE4ggJdoOEPIWttdqK+Gn87p7xUxk0fg9JeVpSekpKLx+N/6QE52ONt5XS+PPN/LH62ziN3wPql95QS2+FUBwhwSchIc9ga622In4av7dn/EwGjd9HUp6VlL6S8pyPxu8uwQVY422nNP4CM3+s/mecxu8D9Us/qKWxR8tyhAS7Q0L6Y2uttiJ+Gr+fZ9w/g8Z/XlJekJQBkvKij8Z/SoILscbbQWn8hWb+WP2dnMZ/HuqXgVBL74BQHCFB6CImZRC21mor4qfxB3rGgzJo/MGSMkRSopIy1Efj95DgIqzxPqc0/iIzf6z+F5zGh17glTIMaunPIRRHSBC7ZhuOrbXaivhp/GGe8fAMGn+EpIyUlFGS8pKPxn9agq9hjbeL0vivmflj9XdzGn8E1C/YS36wh4lzhASfhoSMwdZabUX8NP5oz3hMBo0/VlLGScp4SXnZR+P3lOBirPH2UBp/sZk/Vv9LTuNDb71JwV75sAdCcYQEe0JCJmJrrbYifhp/gmc8MYPGnyQpkyVliqRM9dH4vST4OtZ4X1Ea/3Uzf6z+15zGh96BkII9APwrCMUREuwFCZmOrbXaivhp/Gme8fQMGn+GpMyUlFmSMttH4/eW4BKs8b6hNP4SM3+s/recxoeeiJ2CPQ4We30ER0iwNyTkFWyt1VbET+PP8YxfyaDxzbf+5vtP803QfB+N/4wEl2KNt5fS+EvN/LH633EaH3o+asoCqKX3QiiOkCB0hz5lIbbWaivip/EXeMYLM2h8c2PEfEQ0F8uv/9WvoYBf0DNEUxZldqmwN6JDf90RvDuzxaF9lGJ5PtbanDve8rVqS/4cl85gzcx+XyYpb0jK8swfVoWHSPAm7LDY5+OwstefKMGaWP3vM7t2w6C1WwEdMPsglH2KWc/SB9Nur16/Vs2hnnVfEeo954YOLVq1avFoDDG85NDe0+9o0ebRVs3/6EjrTApb3qV35syZA3HKIRmCs8b+3+8TaN2uVXNJWRkfrrL9b3HJq0L/XDwbsZGZ8RIPPfB7HkHP+UhZBVjm42xYydo212P13yTVT7wGq5/Zx2HszBI62wyy/vU/xmYQuP2sU836T+AdZ9eU9R/AO88hPuvfgXedy6WsfwPefU47s/4V2PDcvmf9C7BRBguU1Qu8J6OVzOoB3pvhkmeNA+8bZj8pfgfeb2mirOnAxrZuy/of4APWtsz6B/BBsH8DD8WAWTNG/r7RzvudMasdmO2P0lmtwOz/mWNWGzBHupisFmDOP1VnzRiYK25P1gyBuT0+Zs0ImMdreNYMgHn/sjJZzw3M99clzHpOYP6/rXXWcwEL/L0psp4DeP4/uifr2YEF/9lmWc8KLHSWfsx6NmBh9OAvih28b/s7eIEdEWgC7ojAw+COCDQFd0SgGbgjAs3BHRF4BNwRgUfBHRF4DNwRgRbgjgi0BHdE4HFwRwRagTsi0BrcEYE24I4ItAV3RKAdeiHQHr0Q6IBeCHRELwQ6oRcCndELgS7ohcAT6IVAV/RCoBt6IfAkeiHQHb0QeAq9EOiBXgg8jV4I9EQP3uLYwfsO7+DthR68vdGD9xn04O2DHrzPogdvX/TgfQ49ePuhB29/9OB9Hj14X0AP3gHowfsievAORA/eQejBOxg9eIegB28UPXiHogfvMPTgHY4evCPQg3ckevCOQg/el9CDdzR68I5BD96x6ME7Dj14x6MH78vowYu9JiBlNe/gnYAevBPRg3cSevBORg/eKejBOxU9eKehB+909OCdgR68M9GDdxZ68M5GD9456MH7CnrwzkUP3lfRg3ceevDORw/eBejBuxA9eBehB+9r6MG7GD14X0cP3iXowbsUPXiXoQfvG+jBuxw9eFegB+9K9OANYwfvu7yDdxV68L6JHrxvoQfv2+jB+w568K5GD9530YN3DXrwvocevO+jB+8H6MG7Fj14P0QP3o/Qg3cdevAKevCuRw/eDejBuxE9eDehB+9m9ODdgh68H6MH7yfowfspevBuRQ/ebejBux09eD9DD94d6MG7Ez14y2AH7xrewfs5evB+gR68u9CDdzd68O5BD94v0YP3K/Tg/Ro9eL9BD95v0YN3L3rwfocevPvQg/d79OD9AT14f0QP3p/Qg/dn9ODdjx68B9CD9yB68B5CD97D6MF7BD14j6IH7y/owXsMPXh/RQ/e4+jB+xt68J5AD96K2MGb2Sdfj0KP3ZPosXsKPXZPo8fuGfDYDWYBj91gVtT1Kpjrfp5fDdXH3lGT8gGr/qVY/bWs+pdh9T9k1b8cq/8Rq/4VWP11rPpXYvWFVR97VU1Kpp8FCvxsuJAUhv5WLGUDSXxh7JWIKRtZ5mO/v03J7PMNwd8nbrbS3u+HdouVtrEfWvuTzR7wQ2t/ktiDfmjtj6Nq64fW/vindn5o7c8Qau+H1v7Mng5+aO0PfnnGD639QSt9/NDan9bxrB9a+9Mx+vqhtT9iYYQfWvsjDUb6obX/XfwoP7T2v0N/yQ+t/Y+ZZ/qhtf/x8Cw/tPa/QJ3th9b+F59z/NDa/2xwuR9a+5/prfBDa/9br5V+aO1/p7PKD639b1vW+6H9wUq7wQ/tj1bajX5of7LSbvJD+7OVdo8f2v1W2i/90B6w0n7lh/aglfZrP7SHrLRH/NAettIe9UN7xEr7ix/ao1baY35of7Hepsvlh/aYlTa3H9pfrbR5/NAet9Lm9UP7m5U22Q/tCSttCT+0J620Jf3QnrLSBvzQnrbSVvJDe8ZKe6EP2lAWK+1FvWfXa966bYduddq06DRs3ZydWa6X7EUk7xOSt5vk7S55e0je8ZJ3guSdJHmnSP6PJf+nkn+b5P9M8v8m+U9K/tNSIHYvwHxuN5+xzedh89nVfM40nwnN5zfzWct8LjKfYcznDfPZwFzHm2tuc31srmXNdae5RjTXc+bay1wnmWsac/1hrhVMrpsMNnlpss3kkMkMc76bs9icm+aMM+eROTvMPjd70uwf0+umL00PmfU2a2N8NJqn/yEo07eTsoO3k0JZgdspM/+YxK3thq6bMwz5W9cs4N/nItVRqvMAIX9pj1d2Zq0sKW9KyluS8rakvCMpqyXlXfNlsvlaw9xjN7e5zZ1mc7PX3G81tzzNXUdz48/cfjN3wMxNqFhf/f+////3//9U/6Ufd54T5xXoxMmqeEyAVClLkRMns08PMTOEzu1sdiqii9nUXMzbnONiNsjF7E5dzK7lYhmOh9khD3M49TCHWidmL8JxMQfkYk6nLub8n3cxJ+RiLqcu5vqfdzEX5GJupy7m/p93MTfkYh6nLub5n3cxD+RiXqcu5v2fdxF62lwon1MX8/3Pu5gPcjG/Uxfz/8+7mB9ysYBTFwv8z7tYAHLxfKcunv8/7+L5kIsFnbpY8H/exYKQi4Wculjof97FQpCLhZ26WPh/3sWskItFMuei8vcZRfSoigIuZrodNNcQFXKBSyF579ETkuBUyH16Qoo5FdJYT0iiUyEP6gkp7lRIEz0hSU6FNNUTkuxUSHM9ISWcCnlUT0hJp0Ja6AkJOBXyuJ6QoFMhrfWEpDgV0lZPSMipkPZ6QlKdCumoJyTsVEhnPSERp0Ke0BOS5lRINz0hpZwK6a4npLRTIT30hJRxKqSnnpCyToX01hNSzqmQPnpCyjsV0ldPSAWnQvrpCanoVMjzekIqORUyQE/IhU6FDNQTcpFTIYP1hFR2KiSqJ6SKUyHD9IRUdSpkhJ6Qak6FjNITcrFTIaP1hFziVMhYPSGXOhUyXk/IZU6FTNATcrlTIZP0hFzhVMgUPSFXOhUyTU/IVU6FzNATcrVTIbP0hFzjVMgcPSHXOhUyV0/IdU6FzNMTcr1TIQv0hFR3KmSRnpAbnApZrCekhksh+T/QE3KjUyEf6gmp6VTIOj0hNzkVsl5PSC2nQjbqCantVMhmPSF1nAr5WE/IzU6FfKonpK5TIdv0hNziVMhnekLqORWyU09IfadCvtATcqtTIbv1hDRwKuRLPSG3ORXytZ6Q250K+VZPyB1OhXynJ+ROp0K+1xNyl1MhP+oJudupkJ/1hDR0KuSAnpBGToUc0hNyj1MhR/SE3OtUyC96Qu5zKuRXPSH3OxXym56Qxk6FnNQT8oBTIaf1hDzoUkiBLHpCHnIqRO/ZjKEmToVk1xPysFMhes+FCwF/m+nnqdDNrLQNeP4A1WGq5hx/HrHS3kb05xE9qkc5/jxmpb2d6M9jelQtOP60tNLeQfSnpR7V4xx/Wllp7yT600qPqjXHnzZW2ruI/rTRo2rL8aedlfZuoj/t9Kjac/zpYKVtSPSngx5VR44/nay0jYj+dNKj6szxp4uV9h6iP130qJ7g+NPVSnsv0Z+uelTdOP48aaW9j+jPk3pUwN9r84QAr9eFhTzlVMgWPSE9nApR/O3N006FfKInpCfnDOllpX2IeIb00qPqzfHnGSttE6I/z+hR9eH486yV9mGiP8/qUfXl+POclbYp0Z/n9Kj6cfzpb6VtRvSnvx7V8xx/XrDSNif684Ie1QCOPy9aaR8h+vOiHtVAjj+DrLSPEv0ZpEc1mOOPXexjRH8UqaIcf+y1WxD9GapHNYzjz3ArbUuiP8P1qEZw/BlppX2c6M9IPapRHH9estK2Ivrzkh7VaI4/Y6y0rYn+jNGjGsvxZ5yVtg3Rn3F6VMCjRYg3ahT/SOplp0K26gmZ4FSI4l97TXQqZLuekEmcM2SylbYj8QyZrEc1hePPVCttJ6I/U/WopnH8mW6l7Uz0Z7oe1QyOPzOttF2I/szUo5rF8We2lfYJoj+z9ajmcPx5xUrblejPK3pUczn+vGql7Ub051U9qnkcf+ZbaZ8k+jNfj2oBx5+FVtruRH8W6lEt4vjzmpX2KaI/r+lRLeb487qVtgfRn9f1qJZw/FlqpX2a6M9SPaplHH/esNL2JPrzhh7Vco4/K6y0vYj+rNCjWsnxZ5WVtjfRn1V6VG86vVGj+Fiet5wK2aEn5G2nQhSfL/SOUyGf6wlZzTlD3rXSPkc8Q97Vo1rD8ec9K20/oj/v6VG9z/HH/pDP/kR/FB8xupbjj/3Zoc8T/VF8culHHH/sjyR9geiP4gNRheOP/UmnA4j+KD5ndQPHn41W2heJ/mzUo9rE8WezlXYg0Z/NelRbOP7Y/+RkENEfxT94+YTjj/0HEoOJ/ij+PGMrxx/7zxWGEP1R/LHEdo4/9g/XUaI/ih/td3D8sX/UHUr0R/GD9uccf+xP6B1G9Efx+cC7OP7YH/w7nOiP4mOH9zi9UaO40F86FbJLT8hXToUottbXToXs0RPyDecMsT/heTTxDFF8vvRejj/2B0ePIfqj+NjqfRx/7M+jHkv0R/Fp2D9w/LE/5noc0R/Fh2z/xPHH/vTs8UR/FJ/dvZ/jzwEr7ctEfw7oUR3k+HPISjuB6M8hParDHH/sjxCfSPRH8QHmRzn+2J9MPonoj+Jz0Y9x/LE/8Hwy0R/Fx60f5/hjf476FKI/ik9xP8Hxx/549qlEfxQfDn+K44/9qe/TiP4oPnP+DMWfVPvD5Kfz/EnVe5R9alaOP/Zn1M8g+qP3hPzUbE5v1Oi9eiw1u1MhX+kJyeFUiN471FJzOhXyjZ6QXJwzJLeV9hXiGZJbjyoPx5+8Vtq5RH/y6lHl4/iT30r7KtGf/HpUBTj+nG+lnUf053w9qoIcfwpZaecT/SmkR1WY408RK+0Coj9F9KiKcvy5wEq7kOjPBXpUCRx/illpFxH9KaZHlcjxp7iV9jWiP8X1qJI4/iRbaRcT/UnWoyrB8aeklfZ1oj8l9agCHH+CVtolRH+CelQpHH9CVtqlRH9CelSpHH/CVtplRH/CelQRjj9pVto3iP6k6VGVcnqjRu/HSKmlnQrZqyekjFMhej9/Si3rVMg+PSHlOGdIeSvtm8QzpLweVQWOPxWttG8R/amoR1WJ48+FVtq3if5cqEd1Ecefylbad4j+VNajqsLxp6qVdjXRn6p6VNU4/lxspX2X6M/FelSXcPy51Eq7hujPpXpUl3H8udxK+x7Rn8v1qK7g+HOllfZ9oj9X6lFdxfHnaivtB0R/rtajuobjz7VW2rVEf67Vo7qO48/1VtoPif5cr0dVnePPDVbaj4j+3KBHVYPjz41W2nVEf27Uo6rJ8ecmK60Q/blJj6qW0xs1en9QllrbqZAf9ITUcSpE70/YUm92KuQnPSF1OWfILVbazcQz5BY9qnocf+pbabcQ/amvR3Urx58GVtqPif400KO6jePP7VbaT4j+3K5HdQfHnzuttJ8S/blTj+oujj93W2m3Ev25W4+qIcefRlbabUR/GulR3cPx514r7XaiP/fqUd3H8ed+K+1nRH/u16NqzPHnASvtDqI/D+hRPcjx5yEr7U6iPw/pUTXh+POwlfZzoj8P61E15fjTzEr7BdGfZnpUzTn+PGKl3UX05xE9qkc5/jxmpd1N9OcxPaoWTm/U6D0UKLWlUyH79YQ87lTIAT0hrZwKOagnpDXnDGljpf2GeIa00aNqy/GnnZX2W6I/7fSo2nP86WCl3Uv0p4MeVUeOP52stN8R/emkR9WZ408XK+0+oj9d9Kie4PjT1Ur7PdGfrnpU3Tj+PGml/YHoz5N6VN05/jxlpf2R6M9TelQ9OP48baX9iejP03pUPTn+9LLS/kz0p5ceVW+OP89YafcT/XlGj6oPx59nrbQHiP48q0fVl+PPc1bag0R/ntOj6sfxp7+V9hDRn/56VM9z/HnBSnuY6M8LelQDnN6oOaQn5EWnQg7rCRnoVIjeo6RTBzkVclRPyGDOGWIX+yvxDFGkinL8sdc+TvRnqB7VMI4/w620vxH9Ga5HNYLjz0gr7QmiPyP1qEZx/HnJSnuS6M9LelSjOf6MsdKeIvozRo9qLMefcVba00R/xulRjef487KV9gzRn5f1qCZw/Jloo81KvD60V8epJnH8mWz1JyvRn8l6VFM4/ky1+nMe0Z+pelTTOP5Mt/qTjejPdD2qGRx/Zlr9yU70Z6Ye1SyOP7Ot/uQg+jNbj2oOx59XrP7kJPrzih7VXKc3avRezpX6qlMhx/SEzHMqRO91YKnznQo5ridkAecMWWg9Q/IRz5CFelSLOP68ZvUnP9Gf1/SoFnP8ed3qTwGiP6/rUS3h+LPU6s/5RH+W6lEt4/jzhtWfgkR/3tCjWs7xZ4XVn0JEf1boUa3k+LPK6k9hoj+r9Kje5PjzltWfIkR/3tKjepvjzztWf4oS/XlHj2o1x593rf5cQPTnXT2qNRx/3rP6k0D05z09qvc5/nxg9acY0Z8P9KjWcvz50OpPItGfD/WoPuL4s87qT3GiP+v0qITjz3qrP0lEf9brUW1weqNG7wXrqRudCjmhJ2STUyF6r3RP3exUyCk9IVs4Z8jH1jMkSDxDPtaj+oTjz6dWf1KI/nyqR7WV4882qz8hoj/b9Ki2c/z5zOpPKtGfz/SodnD82Wn1J0z0Z6ce1eccf76w+hMh+vOFHtUujj+7rf6kEf3ZrUe1h+PPl1Z/ShH9+VKP6iuOP19b/SlN9OdrPapvOP5YX5iYtQzRH8XXNe7l+GN9fWHWskR/FF+euI/jj/Vh+1nLEf1RfNT/Dxx/rI++z1qe6I/ig/d/4vhjfVBb1gpEfxQfE7ef488Bqz8Vif4c0KMCHptGvFFzWk/IIadCzugJOexSSCiLnpAjyNb7Q0idNi06DVv36s6slSV0gYQSJFRMQokSKi6hJAklS6iEhEpKKCChoIRSJBSSUKqEwhKKSChNQqUkVFpCZSRUVkLlJFReQhUkVFFClSR0oYQukpChrSKhqhKqJqGLJXSJhC6V0GUSulxCV0joSgldJaGrJXSNhK6V0HUSul5C1SV0g4RqSOhGCdWU0E0SqiWh2hKqI6GbJVRXQrdIqJ6E6kvoVgk1kNBtErpdQndI6E4J3SWhuyXUUEKNJHSPhO6V0H0Sul9CjSX0gIQelNBDEmoioYcl1FRCzSX0qIRaSOhxCbWWUFsJtZdQRwl1ltATEuomoe4SekpCPST0tIR6Sqi3hPpIqK+E+knoeQkNkNBACQ2WUFRCwyQ0QkKjJDRaQmMlNF5CL0togoQmSmiShKZIaJqEZkholoTmSGiuhOZJaIGEFklosYSWSGiZhJZLaKWE3pTQWxJ6W0LvSGi1hNZI6H0JrZXQRxISCW2Q0CYJbZHQJxLaKqHtEtohoc8ltEtCeyT0pYS+ktDXEvpGQnsltE9CP0joJwntl9BBCR2W0FEJHZPQcQmdkNApCZ2RVNMr2SQ1u6TmkNSckppLUvNIaj5JLSCpBSW1sKQWldQESU2U1CRJLSGpAUlNkdRUSY1IailJLS2pZSS1rKSWk9QKklpJUi+S1CqSWk1SL5HUyyT1Ckm9SlKvkdTrJLW6pNaQ1JqSWktSa0tqHUm9WVLrSmo9Sb1VUm+T1Dsk9S5JbSip90jqfZLaWFIflNQmktpUUptL6qOS2kJSW0rq45LaSlJbS2pbSW0vqR0ltbOkPiGp3SS1u6T2kNSektpbUvtIal9J7Sepz0vqAEl9UVIHSuogSR0sqVFJHSapIyR1lKSOltSxkjpeUidI6iRJnSKp0yR1hqTOktQ5kjpXUl+V1HmSOl9SF0jqIkldLKlLJHWZpC6X1JWS+qakvi2pq8037uZLZfO9qflq0Hz7Zb7gMV+NmC8VzO14cyPb3Ks1tyPNHTdzU8ncNzG3BsynX/MBz3yGMZfp5krUXGyZ6wkTmSYVzHlqTiKzh6f/sUG9J86r0ImTFT1xiqqdOHkz/XD2odAMi0CXBPaHD/zlT7fm6F4SKD764JfMBdCrqkKyF9ETcsylkLz36An51amQ+/SEHHcqpLGekN+cCnlQT8gJp0Ka6Ak56VRIUz0hp5wKaa4n5LRTIY/qCTnjVEgLNapwFqdCHtcTktWpkNZ6Qs5zKqStnpBsToW01xOS3amQjnpCcjgV0llPSE6nQp7QE5LLqZBuekJyOxXSXU9IHqdCeugJyetUSE89IfmcCumtJyS/UyF99IQUcCqkr56Q850K6acnpKBTIc/rCSnkVMgAPSGFnQoZqCekiFMhg/WEFHUqJKon5AKnQobpCUlwKmSEnpBiToWM0hOS6FTIaD0hxZ0KGasnJMmpkPF6QpKdCpmgJ6SEUyGT9ISUdCpkip6QgFMh0/SEBJ0KmaEnJMWpkFl6QkJOhczRE5LqVMhcPSFhp0Lm6QmJOBWyQE9ImlMhi/SElHIqZLGekNIuheTXe95LuIxTIXoPZgmXdSpE7wkq4XJOheg96iRc3qmQjXpCKjgVsllPSEWnQvSegBGu5FSI3qMqwhc6FaL3TInwRU6F6D38IVzZqRC9pzSEqzgVovc4hXBVp0L0nnsQruZUiN4DCsIXOxWi9ySB8CVOhej9yX/4UqdC9P42P3yZUyF6f0QfvtypEL2/dg9f4VSI3p+lh690KuSAnpCrnAo5pCfkaqdC9F7BHL7GqRC9N/uEr3UqRO+FOOHrnArRe85q+HqnQvQeTxqu7lSI3lMvwje4FFJA72ER4RpOhZynJ+RGp0Ky6wmp6VRITj0hN7kUEmqmJ6SWUyGP6Amp7VTIY3pC6jgV0lJPyM1OhbTSE1LXqZA2ekJucSqknZ6Qek6FdNATUt+pkE56Qm51KqSLnpAGToV01RNym1MhT+oJud2lkJTNekLucCpki56QO50KUfye/S6nQj7RE3K3083eS09IQ6dCntET0sipkGf1hNzjVMhzekLudSqkv56Q+5wKeUFPyP1OhbyoJ6SxUyGD9IQ84FSIHlX4QadChuoJecipkOF6Qpo4FTJST8jDToW8pCekqVMhY/SENHMqZJyekOYuhaQo/u73EadCtuoJedSpEMUfMD/mVMh2PSEtnG72yXpCWjoVMlVPyONOhUzXE9LKqZCZekJaOxUyW09IG6dCXtET0tapkFf1hLRzKmS+npD2ToUs1BPSwamQ1/SEdHQq5HU9IZ2cClmqJ6SzUyFv6Anp4lTICj0hTzgVskpPSFeXQlIU/6Cym1MhO/SEPOlUiOJfhnZ3KuRzPSFPOd3s7+oJ6eFUyHt6Qp52KkTxuSg9nQpRfC5KL6dCFJ+L0tupEMXnojzjVMhGPSF9nArZrCfkWadCFH+v1depEMXvR55zKkTxa4V+ToUoXsb3dypE8er3eadCFJ+L8oJTIYrPRRngUkiK4oq86FTILj0hA50KUWytQU6F7NETMtjpZld8Us0Qp0IUn1QTdSpE8Uk1Q50KUXxSzTCnQhSfVDPcqZADekJGOBVySE/ISKdCFJ9UM8qpEMUn1bzkVIjik2pGOxWi+KSaMU6FKD6pZqxTIYpPqhnnUkiq4pNqxjsVovikmpedfh5RfAToBKdCvtITMtGpEMVnmU5yKuQbPSGTnW723HpCpjgVkldPyFSnQvLrCZnmVMj5ekKmOxVSSE/IDKdCiugJmelUyAV6QmY5FVJMT8hsp0KK6wmZ41RIsp6QV5wKKaknZK5TIUE9Ia86FRLSEzLPqZCwnpD5ToWk6QlZ4FJIiuI3VgudCtmrJ2SRUyGKX7295lTIPj0hi51u9vJ6Ql53KqSinpAlToVcqCdkqVMhlfWELHMqpKqekDecCrlYT8hyp0Iu1ROywqmQy/WErHQq5Eo9IaucCrlaT8ibToVcqyfkLadCrtcT8rZTITfoCXnHqZAb9YSsdirkJj0h77oUkqL4U8A1ToX8oCfkPadCFH/T+L5TIT/pCfnA6Wa/RU/IWqdC6usJ+dCpkAZ6Qj5yKuR2PSHrnAq5U0+IOBVyt56Q9U6FNNITssGpkHv1hGx0KuR+PSGbnAp5QE/IZqdCHtITssWpkIf1hHzsVIji2/c+cSpE8e17nzoVovj2va0uhaQo/o3VNqdC9usJ2e5UyAE9IZ85FXJQT8gOp5td8X2IO50Kaacn5HOnQjroCfnCqRDF9yHucipE8X2Iu50KUXwf4h6nQhTfh/ilUyFP6Qn5yqmQp/WEfO1UiOLb975xKkTx7XvfOhWi+Pa9vU6FKL597zunQhTfvrfPqRDFt+9971JIyiE9IT84FXJYT8iPToUoPoXjJ6dCjuoJ+dnpZtejCu93KmSonpADToUovg/xoFMhiu9DPORUiOL7EA87FaL4PsQjToUovg/xqFMhL+sJ+cWpkIl6Qo45FaL49r1fnQpRfPvecadCFN++95tTIYpv3zvhVIji2/dOOhWi+Pa9U04/jyg+FfC0UyHH9ISccSpE7/GGkSxOhRzXE5LV6WZfqCfkPKdC9N6HGMnmVIje+xAj2Z0K0XsfYiSHUyF670OM5HQqRO99iJFcToXovQ8xktupkLf0hORxKuQdPSF5nQrRe/teJJ9TIXpv34vkdypE7+17kQJOhei9fS9yvlMhem/fixR0KkTv7XuRQk4/j+g9bj1S2KmQE3pCijgVovfc+EhRp0JO6Qm5wOlm13sfYiTBqRC99yFGijkVovc+xEiiUyF670OMFHcqRO99iJEkp0L03r4XSXYqRO+ldZESToXovSQiUtKpEL13K0QCToXoPcs0EnQqRO8RoJEUp0L0HrkTCTkVovekmkiqUyF6fxkaCTsVckBPSMTp5xG991hF0pwKOaMnpJRLISG9F3JFSgNCZv8hpE6bFp2GrZu/M2tlST0mqb9K6nFJ/U1ST0jqSUk9JamnJfWMhLNI2HztfZ6Es0k4u4RzSDinhHNJOLeE80g4r4TzSTi/hAtI+HwJF5RwIQkXlnARCReV8AUSTpBwMQknSri4hJMknCzhEhIuKeGAhIMSTpFwSMKpEg5LOCLhNAmXknBpCZeRcFkJl5NweQlXkHBFCVeS8IUSvkjClSVcRcJVJVxNwhdL+BIJXyrhyyR8uYSvkPCVEr5KwldL+BoJXyvh6yR8vYSrS/gGCdeQ8I0SrinhmyRcS8K1JVxHwjdLuK6Eb5FwPQnXl/CtEm4g4dskfLuE75DwnRK+S8J3S7ihhBtJ+B4J3yvh+yR8v4QbS/gBCT8o4Yck3ETCD0u4qYSbSbi5hB+R8KMSfkzCLSTcUsKPS7iVhFtLuI2E20q4nYTbS7iDhDtKuJOEO0u4i4SfkHBXCXeT8JMS7i7hpyTcQ8JPS7inhHtJuLeEn5FwHwk/K+G+En5Owv0k3F/Cz0v4BQkPkPCLEh4o4UESHizhIRKOSniohIdJeLiER0h4pIRHSfglCY+W8BgJj5XwOAmPl/DLEp4g4YkSniThyRKeIuGpEp4m4ekSniHhmRKeJeHZEp4j4VckPFfCr0p4noTnS3iBhBdKeJGEX5PwYgm/LuElEl4q4WUSfkPCyyW8QsIrJbxKwm9K+C0Jvy3hdyS8WsLvSniNhN+T8PsS/kDCayX8oYQ/kvA6CYuE10t4g4Q3SniThDdLeIuEP5bwJxL+VMJbJbxNwtsl/JmEd0h4p4Q/l/AXEt4l4d0S3iPhLyX8lYS/lvA3Ev5Wwnsl/J2E90n4ewn/IOEfJfyThH+W8H4JH5DwQQkfkvBhCR+R8FEJ/yLhYxL+VcLHJfybhE9I+KSET0n4tITPSCSLRGLfzZtvtc33weabVPMdpPn2znzvZb4xMt+1mG8pzP19c2fc3FM2d2PNfUxzB9DcOzN3ncz9GnOnw9wjMJ+uzedS84nOfBYynyLM9be5cjXXfOZqyVxnmIQ22WZSwZyn5iQye3j6HxvUe+LMh06crGiY6f2yJztyl3B29Y4dm3fodG/zDm2HDRkKzfCoQVVuVr/DnioTyy1tUPP13r0bNS5b7bva3Za1i9bYc3TYAQOTSBk7ldfFOarnNlAdpiqbuQCaryoEWUNUSDmXQvLeoyekvFMh9+kJqeBUSGM9IRWdCnlQT0glp0Ka6Am50KmQpnpCLnIqpLmekMpOhTyqJ6SKUyEt9IRUdSrkcT0h1ZwKaa0n5GKnQtrqCbnEqZD2ekIudSqko56Qy5wK6awn5HKnQp7QE3KFUyHd9IRc6VRIdz0hVzkV0kNPyNVOhfTUE3KNUyG99YRc61RIHz0h1zkV0ldPyPVOhfTTE1LdqZDn9YTc4FTIAD0hNZwKGagn5EanQgbrCanpVEhUT8hNToUM0xNSy6mQEXpCajsVMkpPSB2nQkbrCbnZqZCxekLqOhUyXk/ILU6FTNATUs+pkEl6Quo7FTJFT8itToVM0xPSwKmQGXpCbnMqZJaekNudCpmjJ+QOp0Lm6gm506mQeXpC7nIqZIGekLudClmkJ6ShUyGL9YQ0cikkv+Jf9N/jVIjiX/Tf61SI4l/03+dUiOJf9N/vVMhGPSGNnQrZrCfkAadCFP9+/EGnQhT/fvwhp0IU/368iVMhin8//rBTIYp/P97UqRDFvx9v5lSI4t+PN3cqRPHvxx9xKkTx78cfdSpE8e/HH3MqRPHvx1s4FaL49+MtnQpR/Pvxx50KUfz78VZOhRzQE9LaqZBDekLaOBWi996oSFunQvT+mjPSzqkQxcebt3cqRPFxgh2cClF8Cl9Hp0IUn3rRyaWQAooPi+jsVMh5ekK6OBWSXU/IE06F5NQT0tWlkFAzPSHdnAp5RE/Ik06FPKYnpLtTIS31hDzlVEgrPSE9nAppoyfkaadC2ukJ6elUSAc9Ib2cCumkJ6S3UyFd9IQ841RIVz0hfZwKeVJPyLMuhaRs1hPS16mQLXpCnnMqRPF79n5OhXyiJ6S/083eS0/I806FPKMn5AWnQp7VEzLAqZDn9IS86FRIfz0hA50KeUFPyCCnQl7UEzLYqZBBekKGOBWi+OzKqFMhQ/WEDHUqZLiekGFOhYzUEzLcqZCX9ISMcCpkjJ6QkU6FjNMTMsqlkBTF3/2+5FTIVj0ho50KUfwB8xinQrbrCRnrdLNP1hMyzqmQqXpCxjsVMl1PyMtOhczUEzLBqZDZekImOhXyip6QSU6FvKonZLJTIfP1hExxKmShnpCpToW8pidkmlMhr+sJme5UyFI9ITOcCnlDT8hMp0JW6AmZ5VTIKj0hs10KSVH8g8o5ToXs0BPyilMhin8ZOtepkM/1hLzqdLO/qydknlMh7+kJme9UiOJzURY4FaL4XJSFToUoPhdlkVMhis9Fec2pkI16QhY7FbJZT8jrToUo/l5riVMhit+PLHUqRPFrhWVOhShexr/hVIji1e9yp0IUn4uywqkQxeeirHT6eURxRVY5FbJLT8ibToUottZbToXs0RPyttPNrvikmnecClF8Us1qp0IUn1TzrlMhik+qWeNUiOKTat5zKuSAnpD3nQo5pCfkA6dCFJ9Us9apEMUn1XzoVIjik2o+cipE8Uk165wKUXxSjTgVovikmvUuhaQqPqlmg1Mhik+q2ehSSIriI0A3ORXylZ6QzU6FKD7LdItTId/oCfnY6WbPrSfkE6dC8uoJ+dSpkPx6QrY6FXK+npBtToUU0hOy3amQInpCPnMq5AI9ITucCimmJ2SnUyHF9YR87lRIsp6QL5wKKaknZJdTIUE9IbudCgnpCdnjVEhYT8iXToWk6Qn5yqWQFMVvrL52KmSvnpBvnApR/OrtW6dC9ukJ2et0s5fXE/KdUyEV9YTscyrkQj0h3zsVUllPyA9OhVTVE/KjUyEX6wn5yamQS/WE/OxUyOV6QvY7FXKlnpADToVcrSfkoFMh1+oJOeRUyPV6Qg47FXKDnpAjToXcqCfkqFMhN+kJ+cWlkBTFnwIecyrkBz0hvzoVovibxuNOhfykJ+Q3p5v9Fj0hJ5wKqa8n5KRTIQ30hJxyKuR2PSGnnQq5U0/IGadC7lajSsviVEgjPSFZnQq5V0/IeU6F3K8nJJtTIQ/oCcnuVMhDekJyOBXysJ6QnE6F6L19Ly2XUyF6b99Ly+1UiN7b99LyOP08ovc3Vml5nQrZryckn1MhB/SE5Hcq5KCekAJON7ve+xDTzncqpJ2ekIJOhXTQE1LIqRC99yGmFXYqRO99iGlFnArRex9iWlGnQvTeh5h2gVMhT+kJSXAq5Gk9IcWcCtF7+15aolMhem/fSyvuVIje2/fSkpwK0Xv7XlqyUyF6b99LK+FUiN7b99JKuhSSckhPSMCpkMN6QoJOheg9hSMtxamQo3pCQk43ux5VWqpTIUP1hISdCtF7H2JaxKkQvfchpqU5FaL3PsS0Uk6F6L0PMa20UyF670NMK+NUyMt6Qso6FTJRT0g5p0L03r6XVt6pEL2376VVcCpE7+17aRWdCtF7+15aJadC9N6+l3ahUyF6b99Lu8jp5xG9pwKmVXYq5JiekCpOheg93jCtqlMhx/WEVHO62RfqCbnYqRC99yGmXeJUiN77ENMudSpE732IaZc5FaL3PsS0y50K0XsfYtoVToXovQ8x7UqnQt7SE3KVUyHv6Am52qkQvbfvpV3jVIje2/fSrnUqRO/te2nXORWi9/a9tOudCtF7+15adadC9N6+l3aDSyEpeo9bT6vhVMgJPSE3OhWi99z4tJpOhZzSE3KT082u9z7EtFpOhei9DzGttlMheu9DTKvjVIje+xDTbnYqRO99iGl1nQrRe/te2i1Ohei9tC6tnlMhei+JSKvvVIjeuxXSbnUqRO9ZpmkNnArRewRo2m1Oheg9ciftdqdC9J5Uk3aHUyGKfxl6p1MhB/SE3OX084jee6zS7nYq5IyekIYuhYT0XsiVBjyZpPfsP4TUadOi07B1C3dmrSyRchIpL5EKEqkokUoSuVAiF0nE/PdVJFJVItUkcrFELpHIpRK5TCKXS+QKiVwpkaskcrVErpHItRK5TiLXS6S6RG6QSA2J3CiRmhK5SSK1JFJbInUkcrNE6krkFonUk0h9idwqkQYSuU0it0vkDoncKZG7JHK3RBpKpJFE7pHIvRK5TyL3S6SxRB6QyIMSeUgiTSTysESaSqSZRJpL5BGJPCqRxyTSQiItJfK4RFpJpLVE2kikrUTaSaS9RDpIpKNEOkmks0S6SOQJiXSVSDeJPCmR7hJ5SiI9JPK0RHpKpJdEekvkGYn0kcizEukrkeck0k8i/SXyvERekMgAibwokYESGSSRwRIZIpGoRIZKZJhEhktkhERGSmSURF6SyGiJjJHIWImMk8h4ibwskQkSmSiRSRKZLJEpEpkqkWkSmS6RGRKZKZFZEpktkTkSeUUicyXyqkTmSWS+RBZIZKFEFknkNYkslsjrElkikaUSWSaRNySyXCIrJLJSIqsk8qZE3pLI2xJ5RyKrJfKuRNZI5D2JvC+RDySyViIfSuQjiayTiEhkvUQ2SGSjRDZJZLNEtkjkY4l8IpFPJbJVItsksl0in0lkh0R2SuRziXwhkV0S2S2RPRL5UiJfSeRriXwjkW8lslci30lkn0S+l8gPEvlRIj9J5GeJ7JfIAYkclMghiRyWyBGJHJXILxI5JpFfJXJcIr9J5IRETkrklEROS+SMpGWRtNhzZCQtm6Rll7QckpZT0nJJWm5JyyNpeSUtn6Tll7QCkna+pBWUtEKSVljSikhaUUm7QNISJK2YpCVKWnFJS5K0ZEkrIWklJS0gaUFJS5G0kKSlSlpY0iKSliZppSSttKSVkbSyklZO0spLWgVJqyhplSTtQkm7SNIqS1oVSasqadXMd/PmW23zfbD5JtV8B2m+vTPfe5lvjMx3LeZbCnN/39wZN/eUzd1Ycx/T3AE0987MXSdzv8bc6TD3CMyna/O51HyiM5+FzKcIc/1trlzNNZ+5WjLXGSahTbaZVDDnqTmJzB6e/scG7T27eseOzTt0urd5h7bDhgwz+79ys/od9lSZWG5pg5qv9+7dqHHZat/V7rasXbTGnqPDDpitLWn3IKdE+X0QKpNPql4IHYpZwZMsUlbvULwHEDL/hlZNmj5+Q9uuN3Vu07RGk1ater/WoG3H5i2atW1TtUHzDq07d2rSqUXbNkOH957RsEWnNs07dpRcRf8cl47/t3mbx8fZXhsuafdK2n2Sdr+kNf7ngtrmXgbSdy/UGg9wXEh7wDO+zzO+3zNubHx4UNIekrQmkvbwX30YCoX9CkhjUzvVWTROu716/Vo1h3rm2zTUe84NHVq0atXi0RhieMmhvaff0aLNo62aD4sOA6ZbeIgUngg1Z2HLb5zPnDlz4M/alv2VNfb/fp9p63atmktas/iwObQ3IW+ah/6yfrgfwzA/Ml7ooQd+b/lmUDs0B7z9Sy9GIdpmyEVWpi0a+5+Wsdd/JLMXea/vzGLC7xFJ2SjZi5D+nS20AOHn/dEbwCFwnrU3/mPPo5nLrddVcwupjlI9yBCCVs9eRE/IYy6F5L1HT0gLp0Lu0xPS0qmQxnpCHncq5EE9Ia2cCmmiJ6S1UyFN9YS0cSqkuZ6Qtk6FKAZiO6dCWugJae9UyON6Qjo4FdJaT0hHp0La6gnp5FRIez0hnZ0K6agnpItTIZ31hDzhVMgTekK6OhXSTU9IN6dCuusJedKpkB56Qro7FdJTT8hTToX01hPSw6mQPnpCnnYqpK+ekJ5OhfTTE9LLqZDn9YT0dipkgJ6QZ5wKGagnpI9TIYP1hDzrVEhUT0hfp0KG6Ql5zqmQEXpCgJP8r9+DLfn9e7DHzH18cwfc3Ds2d13N/Upzp8/cIzN3l8x9GXNHw9wLMJ+izedP88nNfOYxnxbMdba5QjXXduaqyFxPmCQ2GWZOf3NumhPH7FXT5aY/jLNmTmf98Qb0HXfao9DXW/ZHwmb1Lt8S3a+39B5Im7ICWT5f3zRDdoPfJj4P2I18bf78335SkDUa/1ofsx64tR2Nf+P/gt43/i9kzfw6ZJsk2SZjX2cD8f9X60pk2roBmbLuRcy6THuSNsBwYxMeaDfOX/2BQzLr9t9++2Jdzz9X3j6fjDv695+z+P3ty6D4cLDeThiEwQb/8ycymG3DMNugn8gMgjbfYGAJMt9oA2PlofrYLDnb8QVDjB1RUUZUZRsr2cBf/Az1Ud/OiusfxvA/ExEx/F8cWkOwRmwKbb2hvBNrRHw4Uu/EGoHBRv71xBoyXNMz6LgaAVUcSTmuzEYYgf2++gUIhWkZ5WNTQZt6BBYjL0AoTMtLmTyghkLrEjXNAwGHmiMKO0lGUyba1MwVAg4zZxk20TGZnCj2GTPbeKzNM3eLYInqLQLNXx6OdSlE85eH45wKUfzl4XinQhR/efiyUyGKvzyc4FSI4i8PJzoVovjLw0lOhSj+8nCyUyGKvzyc4lSI4i8PpzoVovjLw2lOhSj+8nC6UyGKvzyc4VSI4i8PZzoVovjLw1lOhSj+8nC2UyGKvzyc41SI4i8PX3EqRPGXh3OdClH85eGrToUo/vJwnlMhir88nO9UiOIvDxc4FaL4y8OFToUo/vJwkVMhir88fM2pEMVfHi52KkTxl4evOxWi+MvDJU6FKP7ycKlTIYq/PFzmVIjiLw/fyJyQOf+z348sz5yQhapCkOooVWZ/TAj+JHM59HXZSjsV0cWVelSrOC6uhFx806mLb+pRvcVx8U3Ixbeduvi2HtU7HBffhlxc7dTF1XpU73JcXA25uMapi2v0qN7juLgGcvF9py6+r0f1AcfF9yEX1zp1ca0e1YccF9dCLn7k1MWP9KjWcVz8CHJRnLooelTrOS4K5OIGpy5u0KPayHFxA+TiJqcubtKj2sxxcRPk4hanLm7Ro/qY4+IWyMVPnLr4iR7VpxwXP4Fc3OrUxa16VNs4Lm6FXNzu1MXtelTAu9V49yo1fwK9I3NClFdkhx7VTqcrovhb7s+drsjnelRfOF0RxR+l73K6Irv0qHY7XRHFX9fvcboie/SogPcP+knjPVAaf+U0jb/So/qa4+JXkIvfOHXxGz2qbzkufgO5uNepi3v1qL7juLgXcnGfUxf36VF9z3FxH+TiD05d/EGP6keOiz9ALv7k1MWf9Kh+5rj4E+Tifqcu7tejOsBxcT/k4kGnLh7UozrEcfEg5OJhpy4e1qM6wnHxMOTiUacuHtWj+oXj4lHIxWNOXTymR/Urx8VjkIvHnbp4XI/qN46LxyEXTzh18YQe1UmOiycgF085dfGUHtVpjounIBfPOHVR7+3hpYD3dxPvVeo9QKNU1swJ0V0RpDpKdZ7TFdF7EkipbE5XJJseVXanK6L3SJNSOZyuSA49qpxOV0Tv2SylcjldkVx6VLkpaVwqF5LGpfK4TGOgOkyVl+NiHsjFfE5dzKdHlZ/jYj7IxQJOXSygR3U+x8UCkIsFnbpYUI+qEMfFgpCLhZ26WFiPqgjHxcKQi0WdulhUj+oCjotFIRcTnLqYoEdVjONiAuRiolMXE/WoinNcTIRcTHLqYpIeVTLHxSTIxRJOXSyhR1WS42IJyMWAUxcDelRBjosByMUUpy6m6FGFOC6mQC6mOnUxVY8qzHExFXIx4tTFiB5VGsfFCORiKacultKjKg24yLtXqff45VJlMidEeUXK6FGVdboies+RLlXO6YqU06Mq73RF9B6IXaqC0xWpoEdV0emK6D3Zu1QlpytSSY/qQk4aV4LS+CKnaXyRHlVljosXQS5WcepiFT2qqhwXq0AuVnPqYjU9qos5LlaDXLzEqYuX6FFdynHxEsjFy5y6eJke1eUcFy+DXLzCqYtX6FFdyXHxCsjFq5y6eJUe1dUcF6+CXLzGqYvX6FFdy3HxGsjF65y6eJ0e1fUcF6+DXKzu1MXqelQ3cFysDrlYw6mLNfSobuS4WANysaZTF2vqUd3EcbEm5GItpy7W0qOqzXGxFuRiHacu1tGjupnjYh3IxbpOXayrR3UL4CLvXqXey/tK1cucEOUVqadHVd/piui9hbDUrU5X5FY9qgZOV0TvdYqlbnO6IrfpUd3udEX03gtZ6g6nK3KHHtWdnDS+A0rju5ym8V16VHdzXLwLcrGhUxcb6lE14rjYEHLxHqcu6j12tdS9HBfvgVy8z6mLeo9KLXU/x8X7IBcbO3VR7/GmpR7guNgYcvFBpy7qPZK01EMcFx+EXGzi1EXFhyU8zHGxCeRiU6cuKj7goBnHxaaQi82duqj4UIJHOC42h1x81KmLig8SeIzj4qOQiy2cuqj4E+eWHBdbQC4+7tRFxZ8lt+K4+DjkYmunLir+lLgNx8XWkIttnbqo+PPfdhwX20IutnfqouIXEx0AF3n3KrvpCemYOSHKK6L4xUQnpyvSXU9IZ6crovjFRBenK9JDT8gTTldE8YuJrk5XpKeekG5OV0Tx+H2Sk8bdoDS2H1rMNFY8Mp/iuNgdcrGHUxcVj7mnOS72gFzs6dRFxaOpF8fFnpCLvZ262FuP6hmOi70hF/s4dbGPHtWzHBf7QC72depiXz2q5zgu9oVc7OfUxX56VP05LvaDXHzeqYvP61G9wHHxecjFAU5dHKBH9SLHxQGQiwOdujhQj2oQx8WBkIuDnbo4WI9qCMfFwZCLUacuRvWohnJcjEIuDnPq4jA9quEcF4dBLo5w6uIIPaqRHBdHQC6OcuriKD2qlwAXefcqFT/Kjs6cEOUVGa1HNcbpiih+LB7rdEXG6lGNc7oiih+xxztdkfF6VC87XRHFj+sTnK7IBD2qiZw0ngCl8SSnaTxJj2oyx8VJkItTnLo4RY9qKsfFKZCL05y6OE2PajrHxWmQizOcujhDj2omx8UZkIuznLo4S49qNsfFWZCLc5y6OEeP6hWOi3MgF+c6dXGuHtWrHBfnQi7Oc+riPD2q+RwX50EuLnDq4gI9qoUcFxdALi5y6uIiParXOC4uglxc7NTFxXpUr3NcXAy5uMSpi0v0qJZyXFwCubjMqYvL9Kje4Li4DHJxuVMXl+tRreC4uBxycaVTF1fqUa0CXOTdq1T8UcybmROivCJv6lG95XRFFH9g87bTFXlbj+odpyui+GOd1U5XZLUe1btOV0Txhz9rnK7IGj2q9zhpvAZK4/edpvH7elQfcFx8H3JxrVMX1+pRfchxcS3k4kdOXfxIj2odx8WPIBfFqYuiR7We46JALm5w6uIGPaqNHBc3QC5ucuriJj2qzRwXN0EubnHq4hY9qo85Lm6BXPzEqYuf6FF9ynHxE8jFrU5d3KpHtY3j4lbIxe1OXdyuR/UZx8XtkIs7nLq4Q49qJ8fFHZCLnzt18XM9qi84Ln4OubjLqYu79Kh2c1zcBbm4x6mLe/SovuS4uAdy8SunLn6lR/U14CLvXqXin9d9kzkhyivyjR7Vt05XRPFP9fY6XZG9elTfOV0RxT/72+d0RfbpUX3vdEUU/4TwB6cr8oMe1Y+cNP4BSuOfnKbxT3pUP3Nc/Alycb9TF/frUR3guLgfcvGgUxcP6lEd4rh4EHLxsFMXD+tRHeG4eBhy8ahTF4/qUf3CcfEo5OIxpy4e06P6lePiMcjF405dPK5H9RvHxeOQiyecunhCj+okx8UTkIunnLp4So/qNMfFU5CLZ5y6eEaNqnQWjotnEBdLZ3XpIlAdpjqP4mLprJCL2Zy6mE2PKjvHxWyQizmcuphDjyonx8UckIu5nLqYS48qN8fFXJCLeZy6mEePKi/gIu9epd7DtUrny5wQ5RXJp0eV3+mK6D1cq3QBpytSQI/qfKcrovdwrdIFna5IQT2qQk5XRO/hWqULO12RwnpURThpXBhK46JO07ioHtUFHBeLQi4mOHUxQY+qGMfFBMjFRKcuJupRFee4mAi5mOTUxSQ9qmSOi0mQiyWculhCj6okx8USkIsBpy4G9KiCHBcDkIspTl1M0aMKcVxMgVxMdepiqh5VmONiKuRixKmLET2qNI6LEcjFUk5dLKVHVZrjYinIxTJOXSyjR1WW42IZyMVyTl0sp0dVnuNiOcjFCk5drKBHVZHjYgXIxUpOXaykR3Uhx8VKkIsXOXXxIj2qyoCLvHuVeo+wL10lc0KUV6SKHlVVpyui9zj80tWcrkg1PaqLna6I3qP1S1/idEUu0aO61OmK6D2mv/RlTlfkMj2qyzlpfBmUxlc4TeMr9Kiu5Lh4BeTiVU5dvEqP6mqOi1dBLl7j1MVr9Kiu5bh4DeTidU5dvE6P6nqOi9dBLlZ36mJ1PaobOC5Wh1ys4dTFGnpUN3JcrAG5WNOpizX1qG7iuFgTcrGWUxdr6VHV5rhYC3KxjlMX6+hR3cxxsQ7kYl2nLtbVo7qF42JdyMV6Tl2sp0dVn+NiPcjFW526eKseVQOOi7dCLt7m1MXb9Khu57h4G+TiHU5dvEOP6k6Oi3dALt7l1MW79KjuBlzk3avUexlm6YaZE6K8Ig31qBo5XRG9F2uWvsfpityjR3Wv0xXRe0ln6fucrsh9elT3O10RvRd+lm7sdEUa61E9wEnjxlAaP+g0jR/Uo3qI4+KDkItNnLrYRI/qYY6LTSAXmzp1sakeVTOOi00hF5s7dbG5HtUjHBebQy4+6tTFR/WoHuO4+CjkYgunLrbQo2rJcbEF5OLjTl18XI+qFcfFxyEXWzt1sbUeVRuOi60hF9s6dbGtHlU7jottIRfbO3WxvR5VB46L7SEXOzp1saMeVSeOix0hFzs7dbGzHlUXjoudIRefcOriE3pUXTkuPgG52M2pi930qJ7kuNgNcrG7Uxe761E9BbjIu1e5QE9Ij8wJUV6RHnpUTztdkUV6Qno6XZGeelS9nK7IYj0hvZ2uSG89qmdcrkj+D/SE9HG6In30qJ7lpHEfKI37Ok3jvnpUz3Fc7Au52M+pi/30qPpzXOwHufi8Uxef16N6gePi85CLA5y6OECP6kWOiwMgFwc6dXGgHtUgjosDIRcHO3VxsB7VEI6LgyEXo05d1HvhZ+mhHBejkIvDnLqo95LO0sM5Lg6DXBzh1EW9F2uWHslxcQTk4iinLuq9DLP0SxwXR0EujnbqouJj+sdwXBwNuTjWqYuKj9Yfx3FxLOTieKcuKj4O/2WOi+MhFyc4dVHxEfYTOS5OgFyc5NRFxYdrTQZc5N2r/FBPyJTMCVFeEcWHa011uiLr9IRMc7oiig/Xmu50RdbrCZnhdEUUH6410+mKbNQTMsvpiij+CeFsThrPgtLY/od3zDRW/LO/VzguzoFcnOvURcU/1XuV4+JcyMV5Tl1U/PO6+RwX50EuLnDqouIPfxZyXFwAubjIqYuKP9Z5jePiIsjFxU5dVPyBzescFxdDLi5x6uISPaqlHBeXQC4uc+riMj2qNzguLoNcXO7UxeV6VCs4Li6HXFzp1MWVelSrOC6uhFx806mLb+pRvcVx8U3Ixbeduvi2HtU7HBffhlxc7dTF1XpU73JcXA25uMapi2v0qN7juLgGcvF9py6+r0cF/B6beK9ys56QtZkTorwia/WoPnS6Ih/rCfnI6Yp8pEe1zumKfKonRJyuiOhRrXe6Itv0hGxwuiIb9KiAb538pPEGKI03OU3jTXpUmzkuboJc3OLUxS16VB9zXNwCufiJUxc/0aP6lOPiJ5CLW526uFWPahvHxa2Qi9udurhdj+ozjovbIRd3OHVxhx7VTo6LOyAXP3fq4ud6VF9wXPwccnGXUxd36VHt5ri4C3Jxj1MX9+hRfclxcQ/k4ldOXfxKj+prjotfQS5+49TFb/SovuW4+A3k4l6nLu7Vo/qO4+JeyMV9Tl3cp0f1PcfFfZCLPzh18Qc9qh85Lv4AufiTUxd/0qP6GXCRd6/yMz0h+zMnRHlF9utRHXC6Ijv1hBx0uiIH9agOOV2RL/SEHHa6Iof1qI44XZHdekKOOl2Ro3pUv3DS+CiUxsecpvExPapfOS4eg1w87tTF43pUv3FcPA65eMKpiyf0qE5yXDwBuXjKqYun9KhOc1w8Bbl4xqmLZ9SoymThuHgGcbFMVpcuAtVhqvMoLpbJCrmYzamL2fSosnNczAa5mMOpizn0qHJyXMwBuZjLqYu59Khyc1zMBbmYx6mLefSo8nJczAO5mM+pi/n0qPJzXMwHuVjAqYsF9KjO57hYAHKxoFMXC+pRFeK4WBBysbBTFwvrURXhuFgYcrGoUxeL6lFdALjIu1f5pZ6QhMwJUV6RBD2qYk5X5Gs9IYlOVyRRj6q40xX5Vk9IktMVSdKjSvZz9ttO9SxA6XKMwlmBwuUZhc8DCldgFM4GFK7IyPdKSLpnG5XZ0kjXXsgwMjtQ+CJG4RxA4cqMwjmBwlUYhXMBhasyCucGCldjFM4DFL6YUTgvUPgSRuF8QOFLGYXzA4UvYxQuABS+nFH4fKDwFYzCBYHCVzIKFwIKX8UoXBgofDWjcBGg8DWMwkWBwtcyCl8AFL6OUTgBKHw9o3AxoHB1RuFEoPANjMLFgcI1GIWTgMI3MgonA4VrMgqXAArfxChcEihci1E4ABSuzSgcBArXYRROAQrfzCgcAgrXZRROBQrfwigcBgrXYxSOAIXrMz5038ogbcC4M3EbdGdiHGN10oDp3c7QfAeiOa1pJksPHQaxStooCPiSpI1GuuJOyjSHZ2KaY5Bp3sWYZo5OkvdWBJjrcsn7IzLNu1nTbIBO8ydkmg1Z07wNnebPyDQbZXKaUbT6fqT6PazqB5Dq97KqH0Sq38eqfgipfj+r+mGkemNW9SNI9QdY1Y8i1R9kVf8Fqf4Qq/oxpHoTVvVfkeoPs6ofR6o3ZVX/DanejFX9BFK9Oav6SaT6I6zqp5Dqj7Kqn0aqP8aqfgap3oJUPV8WpHpLVvWsSPXHWdXPQ6q3YlXPhlRvzaqeHanehlU9B1K9Lat6TqR6O1b1XEj19qzquZHqHVjV8yDVO7Kq50Wqd2JVz4dU78yqnh+p3oVVvQBS/QlW9fOR6l1Z1Qsi1buxqhdCqj/Jql4Yqd6dVb0IUv0pVvWiSPUerOoXINWfZlVPQKr3ZFUvhlRf14tVPhEq35tVvjhU/hlW+SSofB9W+WSo/LOs8iWg8n0Zt7QLD5FgLQg40QCheT7HmGe2I5Lt9DB7dcn2mwEi33Gt6wd9sUd5Ksi6/lDtsYSGMw5Bdy7WPc/4hnbdCxTWARTWFymsAymsgyisgymsQyisUQrrUArrMArrcArrCArrSAor5e9D1r1EYR1NYR1DYR1LYR1HYR1PYX2ZwjqBwjqRwjqJwjqZwjqFwjqVwjqNwjqdwjqDwjqTwjqLwjqbwjqHwvoKhXUuhfVVCus8Cut8CusCCutCCusiCutrFNbFFNbXKaxL7J/f/3HrxEYq+btK/ueReyz5n5fz80C3L5Yity/yZ/bLEUxNt0yoyQupWQap6UZR82Qm1OSD1LwBqXmSoSbf05lQkx9SsxxRk+9pyto8L/mHoGoKQGpWQGuT2fsjUXSS0Fea61ayykPfaa5bxSpfCCr/Jqs89K3murdY5aGvNde9zSoPfa+57h1WeeiLzXWrWeWhbzbXvcsqj321uYZVHvtq8z1WeeyrzfdZ5bGvNj9glce+2lzLKo99tfkhq3xJqPxHrPIBqPw6VvkgVF5Y5VOg8utZ5UNQ+Q2s8qlQ+Y2s8mGo/CZW+QhUfjOrfBpUfgurfCmo/Mes8qWh8p+wypeByn/KKl8WKr+VVb4cVH4bq3x5qPx2VvkKUPnPWOUrQuV3sMpXgsrvZJW/ECr/Oav8RVD5L1jlK0Pld7HKV4HK72aVrwqV38MqXw0q/yWr/MVQ+a9Y5S+Byn/NKn8pVP4bVvnLoPLfsspfDpXfyyp/BVT+O1b5K6Hy+1jlr4LKf88qfzVU/gdW+Wug8j+yyl8Llf+JVf46qPzPrPLXQ+X3s8pXh8ofYJW/ASp/kFW+BlT+EKv8jVD5w6zyNaHyR1jlb4LKH2WVx/4M5BdW+dpQ+WOs8nWg8r+yyt8MlT/OKl8XKv8bq/wtUPkTrPL1oPInWeXrQ+VPscrfCpU/zSrfACp/hlX+NqS8ZM3Cqn87Vj8rq/4dWP3zWPXvxOpnY9W/C6ufnVX/bqx+Dlb9hlj9nKz6jbD6uTJZH/4r2droX8nWxiaamzHRgtdLwTsgYB0pXB2baB7WRO9EJ3oDNtG8rInehU60BjbRfIyJZs9p5opO9EZsovlZjt6NTrQmNtECrIk2RCd6EzbR81kTbYROtBY20YKsid6DThQ8RwsxAidWvw5WvzCr/s1Y/SKs+nWx+kVZ9W/B6l/Aql8Pq5/Aql8fq1+MVf9WrH4iq34DrH5xVn3wA18Sqz74gS+ZVR/8wFeCVR/8wFeSVR/8wBdg1Qc/8AVZ9cEPfCms+uAHvhCr/j1Y/VRW/Xux+mFW/fuw+hFW/fux+mms+o2x+qVY9R/A6pdm1X8Qq1+GVf8hrH5ZVv0mWP1yrPoPY/XLs+o3xepXYNVvhtWvyKrfHKtfiVX/Eaz+haz6j2L1L2LVfwyrX5lVvwVWvwqrfkusflVW/cex+tVY9Vth9S9m1W+N1b+EVb8NVv9SVv22WP3LWPXbYfUvZ9Vvj9W/glW/A1b/Slb9jlj9q1j1O2H1r2bV74zVv4ZVvwtW/1pW/Sew+tex6nfF6l/Pqt8Nq1+dVf9JrP4NrPrdsfo1WPWfwurfyKrfA6tfk1X/aaz+Taz6PbH6tVj1e2H1M/vSbfgHHzejP/gAv6jL9Eu6MdqbObR1ObS3cGjrcWjrc2hv5dA24NDexqG9nUN7B4f2Tg7tXRzauzm0DTm0jTi093Bo7+XQ3sehvZ9D25hD+wCH9kEO7UMc2iYc2oc5tE05tM04tM05tI9waB/l0D7GoW3BoW3JoX2cQ9uKQ9uaQ9uGQ9uWQ9uOQ9ueQ9uBQ9uRQ9uJQ9uZQ9uFQ/sEh7Yrh7Ybh/ZJDm13Du1THNoeHNqnObQ9ObS9OLS9ObTPcGj7cGif5dD25dA+x6Htx6Htz6F9nkP7Aod2AIf2RQ7tQA7tIA7tYA7tEA5tlEM7lEM7jEM7nEM7gkM7kkM7ikP7Eod2NId2DId2LId2HId2PIf2ZQ7tBA7tRA7tJA7tZA7tFA7tVA7tNA7tdA7tDA7tTA7tLA7tbA7tHA7tKxzauRzaVzm08zi08zm0Czi0Czm0izi0r3FoF3NoX+fQLuHQLuXQLuPQvsGhXc6hXcGhXcmhXcWhfZND+xaH9m0O7Tsc2tUc2nc5tGs4tO9xaN/n0H7AoV3Lof2QQ/sRh3Ydh1Y4tOs5tBs4tBs5tJs4tJs5tFs4tB9zaD/h0H7Kod3Kod3God3Oof2MQ7uDQ7uTQ/s5h/YLDu0uDu1uDu0eDu2XHNqvOLRfc2i/4dB+y6Hdy6H9jkO7j0P7PYf2Bw7tjxzanzi0mX03zpChEO3+ocBfLqaN5RQ/ABUfxyl+ECo+nlP8EFT8ZU7xw1DxCZziR6DiEznFj0LFJ3GK/wIVn8wpfgwqPoVT/Feo+FRO8eNQ8Wmc4r9Bxadzip+Ais/gFD8JFZ/JKX4KKj6LU/w0VHw2p/gZqPgcSvHzskDFX+EUzwoVn8spfh5U/FVO8WxQ8Xmc4tmh4vM5xXNAxRdwiueEii/kFM8FFV/EKZ4bKv4ap3geqPhiTvG8UPHXOcXzQcWXcIrnh4ov5RQvABVfxil+PlT8DU7xglDxzP69CfRgoxyd5PzWCDDX5VIwP3QX4//ae9LAuoqqM3PfnveyN03a0p20bIWWHVEobdJ9oQs7hNf2tQ2kSchSWtYGkM2CbQBZFBVayo6KoICouCAC71hEZTMiuH6CIioouMB307z37tw7y5v77p00aSd/Mu/cmXPOnDlz5sxyZnCZKkZbZBlNyDFarorRVllGS+QYrVDFaJsso6VyjFaqYvQ8WUbL5BitUsVouyyj5XKMDlPFaIcsoxVyjFarYrRTltFKOUaHq2K0S5bRKjlGa1Qxul6W0WFyjNaqYvR8WUar5RgdoYrRDbKMDpdjdKQqRjfKMlojx+goVYxeIMtorRyj+6hi9EJZRkfIMTpaFaMXyTI6Uo7RMaoYvViW0VFyjI5VxeglsozuI8foOFWMXirL6Gg5RserYnSTLKNj5BidoIrRbllGx8oxOlEVo5fJMjpOjtF9VTF6uSyj4+UYrVPF6BWyjE6QY3SSKkY/LcvoRDlGJ6ti9EpZRveVY3Q/VYxeJctonRyj+6ti9GpZRifJMXqAKkavkWV0shyjB6pi9FpZRveTY/QgVYx+RpbR/eUYnaKK0c2yjB4gx+jBqhi9TpbRA+UYPUQVo9fLMnqQHKNTVTH6WVlGp8gxOk0Vo1tkGT1YjtFDVTG6VZbRQ+QYPUwVoz2yjE6VY/RwVYzeIMvoNDlGj1DF6I2yjB4qx+iRqhi9SZbRw+QYPUoVo5+TZfRwOUaPVsXozbKMHiHH6DGqGL1FltEj5Rj9hCpGb5Vl9Cg5Ro9VxehtsoweLcfoJ1Ux+nlZRo+RY/RTqhj9giyjn5Bj9DgVjPY9RDRH9iGiOXKMun0xTS6YAU9Xg/YENWhnqEE7Uw3aejVoG9SgnaUG7Ww1aNW8y4XVvMuF1bzLhdW8y4XVvMuF1bzLhdW8y4XVvMuF1bzLhZeoQbtUDVo173JhNe9yYTXvcmE173JhNe9yYdfvcskdqjxN6lDlk2qIny5F/DtqiJ8hRfwpNcTPlCL+fTXEz5Ii/kM1xBuliP9IDfGzpYj/WA3xpBTx59QQXyFFPK2G+Eop4j9RQ3yVFPEX1BBPSRF/UQ3x1VLEf66G+Bop4i+pIb5Wivgraog3SRF/TQ3xc6SI96ohfq4U8dfVEG+WIv6GGuLrpIj/Rg3xFiniv1NDvFWK+B/UEG+TIv5/aoifJ0X8LTXE26WI/1kN8Q4p4mquacGdUsTfVUO8S4r439UQXy9F/D01xM+XIv5PNcQ3SBH/QA3xjVLE/62G+AVSxP+rhviFUsQ/UkP8Ihni+xapIX6xFHGshvglUsQDaohfKkU8pIb4JiniETXEu6WIx9QQv0yKeFwN8culiJeoIX6FFPEyNcQ/LUW8Qg3xK6WIV6khfpUU8Wo1xK+WIl6jhvg1UsRHqCF+rRTxUWqIf0aK+Gg1xDdLER+rhvh1UsTHqyF+vRTxiWqIf1aKeJ0a4lukiE9WQ3yrFPH91RDvkSJ+oBriN0gRn6KG+I1SxA9RQ/wmKeLT1BD/nBTxw9QQv1mK+BFqiN8iRfwoNcRvlSJ+jBrit0kRP1YN8c9LEf+UGuJfkCJ+vBrit0sRP0EN8S9KEZ+phviXpIg3qCH+ZSnis9UQv0OK+Fw1xO+UIj5fDfFtUsQXqiG+XYr4YjXE75IivkQN8R1SxJepIX63FPGT1BC/R4r4KWqI3ytF/DQ1xO+TIn6GGuL3SxE/Sw3xB6SIn62G+INSxFeoIf6QFPFVaoh/RYr4ajXEvypFfK0a4l+TIn6OGuIPSxFvVkP861LEW9QQf0SKeJsa4o9KEW9XQ/wbUsQ71RD/phTx9WqIPyZFfIMa4o9LEb9ADfEnpIhfpIb4t6SIX6KG+JNSxDepIf5tKeKXqSH+HSniV6gh/l0p4leqIf6UFPGr1RD/nhTxa9UQ/74U8c1qiP9Aivj1aoj/UIr4FjXEn5Yi3qOG+I+kiN+ohvgzUsQ/p4b4j6WI36KG+LNSxG9TQ/w5KeJq3snDz0sRV/NUHU5LEVfzWhwGKeJqHmzDP5EirubNNLxTiriaZ8vwC1LE1bwchn8qRVzN4134RSniit7P+pkUcUVPWP1ciriiV6R+IUX8YTXEX5IirugtpZeliCt6zugVKeKKXhR6VYq4okd9XpMirij+/JdSxBXFn/dKEVcUf/4rKeKK4s9flyKuKP7811LEFcWfvyFFXFH8+ZtSxBXFn/9Girii+PPfShFXFH/+OyniiuLPfy9F/EU1xP8gRVxR/PkfpYgrij//PyniiuLP/yRFXFH8+VtSxBXFn78tRVxR/PmfpYgrij//ixRxRfHn70gRVxR//lcp4oriz9+VIq4o/vxvUsQVxZ//XYq4ovjzf0gRVxR//p4UcUXx5+9LEf+7GuL/lCKuKP78X1LEFcWffyBFXFH8+YdSxBXFn/9birii+PP/SBFXFH/+XxnidYriz/8nRVxR/PlHUsQVxZ9/LEVcTfy5USRFXE38uYGkiKuJPzewFHE18eeGIUVcTfy5EZAirib+3AhKEa9QQzwkRVxN/LkRliKuJv7ciEgRVxN/bkSliKuJPzdiUsTVxJ8bxVLE1cSfG3Ep4mriz42EFHE18edGiRRxNfHnRqkUcTXx50aZFHE18edGuRRxNfHnRoUUcTXx50alFHE18edGlRRxNfHnxjAp4tPUEK+WIq4m/twYLkVcTfy5USNFXE38uVErRVxN/LkxQoq4mvhzY6QUcTXx58YoKeJq4s+NfaSIq4k/N0ZLEVcTf26MkSKuJv7cGCtFXE38uTFOiria+HNjvBRxNfHnxgQp4mriz42JUsTVxJ8b+0oRX6KGeJ0UcTXx58YkKeJq4s+NyVLE1cSfG/tJEVcTf27sL0VcTfy5cYAUcTXx58aBUsTVxJ8bB0kRVxN/bkyRIq4m/tw4WIq4mvhz4xAp4mriz42pUsTVxJ8b06SIq4k/Nw6VIq4m/tw4TIq4mvhz43Ap4u1qiB8hRVxN/LlxpBRxNfHnxlFSxNXEnxtHSxFXE39uHCNFXE38ufEJKeJq4s+NY6WIq4k/Nz4pRVxN/LnxKSniauLPjeOkiKuJPzeOlyKuJv7cmC5FXE38uXGCFHE18efGDCniauLPjZlSxNXEnxv1UsR71BBvkCKuJv7cmCVFXE38uTFbiria+HNjjhRxNfHnxlwp4mriz415UsTVxJ8b86WIq4k/NxZIEVcTf24slCKuJv7cWCRFXE38ubFYiria+HPjRCniauLPjSVSxNXEnxtLpYiriT83lkkRVxN/biyXIv6wGuInSRFXE39unCxFXE38uXGKFHE18efGqVLE1cSfG1Lvn9epiT83pN4/r1MTf25IvX9epyb+3JB6/7xOTfy5IfX+eZ2a+HND6v3zOjXx54bU++d1auLPDan3z+vUxJ8bUu+f16mJPzek3j+vUxN/bki9f16nJv7ckHr/vO5FNcSl3j+vUxN/bki9f16nJv7ckHr/vE5N/Lkh9f55nZr4c0Pq/fM6NfHnhtT753Vq4s8NqffP69TEnxtS75/XqYk/N6TeP69TE39uSL1/Xqcm/tyQev+8Tk38uSH1/nmdmvhzo12KuJr4c0Pq/fM6NfHnhtT753Vq4s8NqffP6/6uhrjU++d1auLPDan3z+vUxJ8bUu+f16mJPzek3j+vUxN/bki9f16nJv7ckHr/vE5N/Lkh9f75JDXx54bU++eT1MSfG1Lvn09SE39uSL1/PklR/LnU++eTFMWfS71/PklR/LnU++eTFMWfS71/PklR/LnU++eTFMWfS71/PqlCDXGp988nKYo/l3r/fJKi+HOp988nKYo/l3r/fJKi+HOp98/Lv5w/k534Vinin3FbJzm0m9WgvU4NWqljQAtS61rbN85paeq8If14r7F6v/0POPCgKQcfMnXaoYcdfsSRRx19zCeO/eSnjjt++gkzZtY3zJo9Z+68+QsWLlp84pKly5afdPIpp552+hlnntV4dnLFylWp1WvWNp1zbvO6lta289o7OrvWn79h4wUXXnTxJZemN6W705elL09fkf50+sr0Vemr09ekr01/Jr05fV36+vRn01vSW9M96RvSN6ZvSn8ufXP6lvSt6dvSn09/IX17+ovpL6W/nL4jfWd6W3p7+q70jvTd6XvS96bvS9+ffiD9YPqh9FfSX01/Lf1w+uvpR9KPpr+R/mb6sfTj6SfS30o/mf52+jvp76afSn8v/f30D9I/TD+d/lH6mfSP08+mn0s/n06nIf2T9M70C+mfpl9M/yz98/Qv0i+lX06/kn41/Vr6l+ne9K/Sr6d/nX4j/Wb6N+nfpn+X/n36D+k/pv8v/af0W+m3039O/yX9Tvqv6XfTf0v/Pf2P9Hvp99P/TP8r/UH6w/S/0/9J/zf9v/RH6Y8BFQFCgDAgA1AAUBBQCFAYUARQFFAMUDGgOKAEoBJApYDKAJUDqgBUCagK0DBA1YCGA6oBVAtoBKCRgEYB2gfQaEBjAI0FNA7QeEATAE0EtC+gOkCTAE0GtB+g/QEdAOhAQAcBmgLoYECHAJoKaBqgQwEdBuhwQEcAOhLQUYCOBnQMoE8AOhbQJwF9CtBxgI4HNB3QCYBmAJoJqB5QA6BZgGYDmgNoLqB5gOYDWgBoIaBFgBYDOhHQEkBLAS0DtBzQSYBOBnQKoFMBnQbodEBnADoT0FmAGgGdDSgJaAWglYBWAUoBWg1oDaC1gJoAnQPoXEDNgNYBagHUCqgN0HmA2gF1AOoE1AVoPaDzAW0AtBHQBYAuBHQRoIsBXQLoUkCbAHUDugzQ5YCuAPRpQFcCugrQ1YCuAXQtoM8A2gzoOkDXA/osoC2AtgLqAXQDoBsB3QToc4BuBnQLoFsB3Qbo84C+AOh2QF8E9CVAXwZ0B6A7AW0DtB3QXYB2ALob0D2A7gV0H6D7AT0A6EFADwH6CqCvAvoaoIcBfR3QI4AeBfQNQN8E9BigxwE9AehbgJ4E9G1A3wH0XUBPAfoeoO8D+gGgHwJ6GtCPAD0D6MeAngX0HKDnAaUBAaCfANoJ6AVAPwX0IqCfAfo5oF8AegnQy4BeAfQqoNcA/RJQL6BfAXod0K8BvQHoTUC/AfRbQL8D9HtAfwD0R0D/B+hPgN4C9DagPwP6C6B3AP0V0LuA/gbo74D+Aeg9QO8D+iegfwH6ANCHgP4N6D+A/gvof4A+AvQx4CLACDAGbAAOAA4CDgEOA44AjgKOAS4GHAecAFwCuBRwGeBywBWAKwFXAR4GuBrwcMA1gGsBjwA8EvAowPsAHg14DOCxgMcBHg94AuCJgPcFXAd4EuDJgPcDvD/gAwAfCPggwFMAHwz4EMBTAU8DfCjgwwAfDvgIwEcCPgrw0YCPAfwJwMcC/iTgTwE+DvDxgKcDPgHwDMAzAdcDbgA8C/BswHMAzwU8D/B8wAsALwS8CPBiwCcCXgJ4KeBlgJcDPgnwyYBPAXwq4NMAnw74DMBnAj4LcCPgswEnAa8AvBLwKsApwKsBrwG8FnAT4HMAnwu4GfA6wC2AWwG3AT4PcDvgDsCdgLsArwd8PuANgDcCvgDwhYAvAnwx4EsAXwp4E+BuwJcBvhzwFYA/DfhKwFcBvhrwNYCvBfwZwJsBXwf4esCfBbwF8FbAPYBvAHwj4JsAfw7wzYBvAXwr4NsAfx7wFwDfDviLgL8E+MuA7wB8J+BtgLcDvgvwDsB3A74H8L2A7wN8P+AHAD8I+CHAXwH8VcBfA/ww4K8DfgTwo4C/AfibgB8D/DjgJwB/C/CTgL8N+DuAvwv4KcDfA/x9wD8A/EPATwP+EeBnAP8Y8LOAnwP8POA0YAD8E8A7Ab8A+KeAXwT8M8A/B/wLwC8BfhnwK4BfBfwa4F8C7gX8K8CvA/414DcAvwn4N4B/C/h3gH8P+A+A/wj4/wD/CfBbgN8G/GfAfwH8DuC/An4X8N8A/x3wPwC/B/h9wP8E/C/AHwD+EPC/Af8H8H8B/w/wR4A/BqMIDHNMxmAYYATACIIRAiMMRgSMKBgxMIrBiIORAKMEjFIwysAoB6MCjEowqsAYBkY1GMPBqAGjFowRYIwEYxQY+4AxGowxYIwFYxwY48GYAMZEMPYFow6MSWBMBmM/MPYH4wAwDgTjIDCmgHEwGIeAMRWMaWAcCsZhYBwOxhFgHAnGUWAcDcYxYHwCjGPB+CQYnwLjODCOB2M6GCeAMQOMmWDUg9EAxiwwZoMxB4y5YMwDYz4YC8BYCMYiMBaDcSIYS8BYCsYyMJaDcRIYJ4NxChingnEaGKeDcQYYZ5q79OZeubljbe4bm7u35h6quZNp7ieau3rm3pq5w2XuM5m7Peaei7nzYe4/mLsA5lq8uSJurkubq8PmGq25UmquV5qrhubanbmCZq5jmatJ5pqOubJirm+YqwzmXN+ccZvzXnP2ac4BzZmYOR8yZyXm3MD00E0/2fRWTZ/R9O9MX8z0m+5bkursam+ZmexM9hbtV4SwEQiGwpForDieKCktK6+orBpWPbymdsTIUfuMHjN23PgJE/etmzR5y5Ze9FBP9/bpK5vaa3p2vhB++73nf7Rmy5YMaAQNmtWz88HiF0/49pciZ2VBc2jQ4p6dV9736OXTLn+9Iws6icbVSoPae3aufe1PjenX19+dBXX07Lxm0cKZB13TG8iCNtAF028wYH9kwN5hwN5nwP5Lw0xHiAWMsYDlLGANCziGBaxjAQ9iAQ9jAT/BAn6qZ+d/L3t146JfxMos4HE9Oz939qk/i0+4/wgLaDbyf4Owef6Kx9MW8NSenRsvvfK5eyt/2GwBT2MBT2cBz2ABz2QBz2IBG1nAs1nAJAu4omfnozW3Pvrx386+1wKuZAFXsYApFnA1C7iGBVzLAp7HEvLlLOavYAE/zQJeyQJexQJezQJewwJeywJ+hgXs6dm55K5R37vy6i98zwLeyKr7TSzg51jAm1nAW1jAW1nA21jAbSzJP8qq0TdYwG+ygI+xgI+zgE+wgN9iAX/EkuezrBo9xwI+zwKmWUBgAX/CAu5kAV9hyfMtVo3eZgH/zAL+hQV8hwX8Kwv4Lgv4H5Y8P2LV6GMGEBexgIgFxCygwQIGWMAEQ554DKNGeCwLOI4FHM8CTmABJ7KA+7KAhzDkiQ9l1egwFvBwFvAIFvBIFvAoFvBoFvAEljyXsWq0nAU8iQU8mQU8hQVkjZuYNW7iFEuerLEDN7GA57CA57KAzSzgOhawhQU8nyVP1tiBWWMHZo0deDMLeB0LeD0L+FkW8DaWPG9n1eiLLOCXWMAvs4B3sIB3soDbWMAHWPL8DqtG32UBn2IBv8cCfp8F/AEL+EMWcCdLni+yavQzFvDnLOAvWMCXWMCXWcBXWMA3WfL8B6tG77GA77OA/2QB/8UCfsACfsgAGgGGPI0wo0ZGhAWMsoAxFrCYBYyzgAkWsJohT2Myq0b7sYD7s4AHsIAHsoAHsYBTWMCjWfI8llWjT7KAn2IBj2MBj2cBp7OAJ7CA81jyZE2FDNZUyGBNhQzWVMhgTYWMFSzgShawhSXP81g1amcBO1jAThawiwVczwKezwJuYsmzh1WjG1jAG1nAm1jAz7GAN7OAt7CA21jy3MGq0d0s4D0s4L0s4H0s4P0s4AMs4KMseT7DqtGPWcBnWcDnWMDnWcA0Cwgs4Cssef6SVaNeFvBXLODrLOCvWcA3WMA3WcC3WPL8L6tG/2MBP2IBP2YAA0UsIGIBMQuYYMgzUMaoUaCcBaxgAStZwCoWcBgLWM0CjmHIMzCVVaNpLOChLOBhLODhLOARLOCRLOAJLHnWs2rUwALOYgFns4BzWMC5LOA8FnAZS56rWTVawwKuZQGbWMBzWMBzWcBmFrCLJU/WMBFgDROBDSzgRhbwAhbwQhbwIhbw4p6d33780Y8nLS9tt4CX9Oy8fN6HIycuWHSjBby0Z+etbzx60fjbF/zaAprD2cF49R23f3PBqRbQnB99eMZPTvzr7ZOLLKA5nPWESq96Ea982gLeylj7DdzOov5FFvUvsaibc4Rf/uCAJS/Vh8ZYwB+ygE+zgD9iAZ9hAX/MAj7LAj7HAj7PAqZZQGAAQw+xgF9hACOX0nseEOlmAa9hAT/DAl7PAm5hAW9hAW9jAb/EAt7BAt7FAt7NAn6FBfwaC/gIC/gNFvA7LOBTLODTLOAzLKCpNg/dv+qjiYdc/ZYF/BmjH0VeZfSjyOuMfhT5fc/Orx9+4DGJU+o25YBRU73HPVW84qTeW0+3gG8yWIr+lgV8mwX8CwtormpelG6/+6Py+/9gAc355hPd7+z8+x+uf8IC/rtn570vXLDtxVHvHJUDxsKMGsUSjBrFLmPlfJJRzdjLDD5jr7KALIHEWAKJ/YFRzdi/GNWMfcioZnERo0bxKxg1iv+BBXyXUTxxMyNn4nkW0BTIyCdTLxzX+1avBTT9zyvaN33/ignFDRbwDVbOtxnUS//EIFT6NgNYNo3eP4WyE1k5zRXIyF/XL695dukyC3gxw9ZVnMUAVh3HAFaPYwCHv8Vo4uF/ZgHfZwE/YAH/wwL+jwGsCbKAYRYwzgKWsIAVLGAVCziKBRzNAo5lAcezgPuzgAeygFNZwENZQNP7/d3lf13a2rnkFAtorpxMOfK1g5/5WeSc3qJDu++r39DWnuroaGptuWFL/ivTlrktsNZtgZTbAmPdFljptkCz2wJJtwWa3BZYp1ysq9wWaHRboMNtgfPcFmh3W6BTufJdqLwDudalFuVSuli5WJuUK99Y5WJtHXza2tk99M39XmlmXOvSauUsbRh8tnWDckOG7QWk4mWGS70+4B7tufnR5rxEc9vrqt98/MrmC2vfsVxHc+Vzv0M+kX6z9NbneouO3xtdxz1hMNYuy+BwWVYpt+mu+4N2ipQ0nOt2WKdcSi3KVcN1O7j2opLKWVI/oKh3sJODrwMNQj9NTzgHh2oklVNQPx3sUl7pduWGbKjOWxaw1sEXsYCnsICnsYBnsIBnsYCrWcC1LOA6FrCVBTyPBexgAS9iAVlb2jWXsYBXsICbWUDWlnbNDSzgTSwgazt/xAMM4KitDODodgZw7Lyendfuv/qki8c9emKv+7WMpcr7k2vbrN7JbFdualcrH5DU16FTuTFfM/g8Ce3cDA7XIzX46nD+4FvFa1FeafUT+CblLd2pnKUW5ZZvEE4n2pQPWa7bYf3euJDSrHx8cK2tU5RXWr3fqn5AaRp8LK1wW2CjcpZWKu/TzcoL7AkDytl7gM/XOPjqsCdMj12LdRBOjxuVK98gnB5PVj6wqy+wn3JD5pql3KLs2KWMk+pjzaXBO15e+2HzlWutEybjzLXSs0oDD95Wct+lFrCpZ+fwz9yFq/585yMWkHHLGIzrYByzrzuAkbPuYFbOU1g523p23j/sqTNnTvj4jF73w/Bi5dPl5OCz5uq9G/VSUu97qBer+kFS/URw5eBjaZXyhlN/nEP9Wn6X8jqoV42mPaDhzldeafVnWNSvyulhV4mU1Jv7cwffqtwc5bZ1EB4zG4RbhoOQJdf9YYNyy7dXemQHKm/pLuXKp358mOC2wOl7wCq1axfOtYPVqLxP7wneTKNyu7RXLiKc6XoZr7dodM+rk5O7Xn1qXNm6ri3Z2bSiOdXY2p5caf5bn2rvQ9V4fnuyrS3V3ltU3X3XjNaWjs4bunfMbGpPrezE3XfPaelMrUm1b1t+6LS8BJGzPHJVftNMZ/kid/Rndm+fkWxu3lqcw3PPklSzWen1KXecFBXRGLBbDA/08bIq2Zmc0dq2MVelmSRPBPJ+zhOeOZ/pA+fbl3a2tm3t4XDqaKMZdzU0pZpX5UVbvaP/SYxMTcu6729obU81rWnp+3nTq5OSF3SmVjZ2dTY39ivsjJy+Ltqlrif1a+uWLVu7H+x/cWz6qlV9vSHHyNbuHUub1rU1p/o5ytJz8BtwJY0NM7vvP6GpJdn3vlnnorabsliMe+abpJetTbb0YbH0NUdkx9yudW1zVvfkCgzrfnBOy6p+Trmd5IjD+Ay99vT7Lz0yd9q67u3LzA67tccqn+2tmRr3vDq2qaMxtSG1squzr383tTS2p8zO3t/529YmO1K9RbW7ua83eOzrDRk9KvGs74jGYPje1zGJ3OScqPhMK0FS7d62oHW9rQ/msvXXvDSTIwOuJ7N6lUm9Z5kg2oqQMrAbg0qHMajrNwZt7esbmzrqs4o8p2VJTo0X92kxZQksUjlbkOP6zuVT+fkRnZ/dBhYFf8xLg1/mpWbgzMt31qT63ImWTtMud5rWpaMz2bIyZSY6U+0tyebeoiN2s21Z7tG2LM+o5aghaFvyWY19BFbD9qWBJGD7Mouml/ky2/oSsH+ZY30J2r/Mtb6E7F/mWV/C9i/zrS8R+5cF1peo/ctC60vM/mWR9aXY/mWx9SVu/3Ki9SVh/7LE+lJi/7LU+uKw3cusL2W0xpR7tt0V7jCU0ba7nEBmt92H2G33ty0/zjQTMzJWYk7GSPSauLk2m/vF4H4JcL8EuV9C3C9h7pcI90uU+yXG/VLM/RLnfklwv5Rwv5Ryv/BbobyviWx+tL+/yPF4sOWX8Q8ypQWOgfObyDwbtMEkAJTJJACU0SQAlNkkAJThJACU6SQAlPEkAJT5JACUASUAlAklAJQRJQCUGSUAhIo7vpURSu6P87bcL+ft8IFz3h5alepbCWrtSDWuNT02c4loNztrszw6a7OG8ETQyxSP76x5rQXDgXDXMYow7UCQls7uQNRk58OsvJYybV8+ddpRVFZSnBnT/GB/n9z1Y1HbjUSGbUu7VnBsNr3sll3Wqpxa9PKYXx++8YDqI1oXrb/i18sevKRq235/LK15p+vY9R/2tvLpBbYt6Grm1Kqw8SPgj92a5Zfd2mfg7NY9zZ1Zi3XgnmuxDLf9zGtPlbBYIh+FsFiU1uaMFtOWNfi5XNUwsMtV4wV9fkf9eV3J5g5O1871IKvAPt3b+4DmGhhVh6C7OjA8wZyC8v1AJPADMdtQFG0zHWS7jSB47pfRZHtzEzmKBI5uWOgg9wtqrGiPxPTiJdqaTwTliPAttDHIrPCkAbPC+fXf4l5ucGOItecRc/eipau5uWl1U6q9sS1l1q1lze7fsdBmfy83+45diifJTYqFWX1d3K+u/KUEg7k10cNfeuAvmPUIFziGjgEbwL2LV/dNrWvqbEx2da5tbW+6ILlrgzTZ0di6evXKtUlzpzS1erWZv7fo/t1sbRZ4tDYLMkpbTveRkDtMQRpD2B9rM5vkiUBu3x+dYyWk9kdnc23SHHrgz21CUD5JbhOCWnrLbUL0S3i45zMbCwb8zEah4w1zpzpvecNZvr7Q0zi5UcRbX5wleWalyD4ApK+m/ehc76aaMOK2mzGtKXL62oik4LSbhfZQ5CBukciRp+uM7ePh49Z4aO78zE52rF1sflyXXGPu0987O5Vsm97entxITjQCW7vv6gc6ltcDMsNnZphzrgiR05dMFk7dooK6NXRvn9+aXMX2C6I8jDEBxhkURtuiOgdjsQDjTAqjbSmeUshidzoR4PGUYPFEUHFyZVvop8cSmb64ZOfYMfTeAr/vJdxVtdh930vw+16xT32PIediq+/xd0VMIZuDQXuK/TXMI1dCkyuxyIlQBvxHGfQfJfIfZcR/lIb/KLH/KKP+o4z5jzLO9RG9zz0LMBmYbzKQTyYD07JCXJNh2DxEpxwN67gPh5hBEzMEDaMRaoSDDCFvooikOzefDCa7IN8OeSeErFmV1+WwmGhhsaCl9RCxHrhrYT3Fa8WgfdmIwEC2HLV/EmzLIF5L+Z0BsjEE7jzXmqLMZo6dISxmCK3Lzhav5+KlFTbAmVQ9aR2n61u4WpRZpqrftUrVFwvBnFmhGG9mFcvOaDmshYU+p5tJItGATtkHSQ/K+TEsarWIRKtFOYoUEbdbdEO23bbal6wNkjdPK6am05AhcSN9wCqDMehibhnN2zJxulCMlAhlTOISLniQRhqx5s08xXoo2yqsPhUhydJtE05fnpXcPUJLG2WZx4JqFLJqxD9fF8wZNW8r6Qv8WklPXzdwe4EeCV0x4wcH/eaPX79AOaHfRRbX40c3j5HY3ey3NhlwyDIAzNYJk6ODswym2iacviWjLenb7AYmaBHKZLibk8G1uxBgF4g6CxhWARvlmJXBBi/mmasMOM6QTQ5XlJJNPL3DIfyIVSrbo52kI2zSMWfdYjwrmUXoLEAMeJn2+BJPB12e0EA+qXT2rjuZUMCOVGfjWnMx1lyY7V+NzYb/5sJ+p+whoYA1Q3BjXUG4b8Bt6/E2xZDnE0nY/SJJkL9IYvi0SBIUzhd5vp/jxC3jdH7OJhBN0a+ZtaLN+LxHKCZ61pIG1RuM7FlFduTjjjYOyUU4o000z3AWY4w2OVxharSJTeCN9BHnYBO1sjApR5xVi+QZbKiRN+ocbEbZ9xwnu1j1QJxJJLEz12Hfmeu7LZU5gzSEx07Yc0ukIv7etwDZgwYwQHalKXVT3E3rk52pxtVdLSszcfjZANmDdvOIO9/jiJs9+jBsEB8uqWfO2JyHSxqshO1wiT3XbCshyMU4qNIXhMZb+6vnGv4G7pA8i3tOZTb3nMqcnHvEi7tF3Lhb78Ekc1UHk+zmsy3Ibq4ncRdAkWdNN9x7U2G+NxXyyZsKC9ZOMDM2uG8c6rOQi/sNZEPGPnLWMsOYt5aJbyrk0KS/UcY35Ykq7W8X6Sw2wyG/xxeylNe5Yuq8ZCh/oBVp2e5hLXpzDt4gnnPpwoMJWb1YsGDv0/nV+X65FgcOnGuxvdmUyp4zZa/cA4M2qwrbnN/9UZuIO/fF3LmvkXfuu89Qu4xosmBb2PsCk+sh3OAP4dinIZxhiHH+qaTcIU8D8YZv5M91C0Nr6WHSYF56GLv3Ttlf3beltbNp9cbGle0p0yddRQSgZZbL29pbN2zc/Xdk1nscebOLivE9cOT1fntm/UAtlLIvwRxrWdd+dZzRr4256DLG7Zdco+lPZ64fgvdfPtx3QZ0pwFSHteZmvLabO+7rHjvu6xmdYez4xN1hqvJ8Xp7XceeSPBHI7etk86wEOd21Z5pvJaxMRzkyLbAS/EwLrQQ/0yIrwc90opUQLAMusRL86i21Enx6y6wEP9NyK8HPdJKV4Gc62UoIqneKlRDkOtVKCHKdZiX4ojrDSmQz2e6CyXw900qQVeSNGXM9W/p5nrtRiL4Siz/TKHGHO+x+plHCn2nE3dpK+bP8ccseu59+lnCnn4mMuZwvuE4nzl1nP9HzZHqJZ+0IKtSO0B6kHQE/tSMg0I6gZR95i/yncANET6WvWcnZPt5Z0NPpq/ZyppAXDHdmpmYn755VqLM8d5xNSlah5ns292d5ls0m8SqUuo0scxx07966jNE2PMZol1Ex2m5dUkf52R7d+zluY8SHxgLUSYN5AWqRfXoMxiPUNlCC7DzygbMJwsQJzo8nRPQCPtELkNmoi09zI6/7yCC+UyBjAYpoTkXXsJYKvJEy5aviZXxvpNQnb6SMbtVSpzeS+1JOskbJsVwgxzIvLe4kVEby6qLBypU3WLn6Bit302AVJGuUHCsEDVbuZ4OVF9hgFcobrEJ9g1W4abBKkjVKjpWCBqvws8EqCmywSuUNVqm+wSrdNFgVyRolx6qcn0U3tI/NVVlgc1Upb64q9c1V5aa5hpGsUXIcJuhfVX42WBXJq9MZK5Vw/kqFlRY5f6W0GpS6jH6mEAxzuy5DYah2e2sPhWG4X+tOs7LxULfzhF/Dib2Nk/NcOr6zBoy1WdxfdhOPElfeTePq41HiEvEolqhI1ihtrhF007if3TROL75INViN8garUd9gNW4arJZkjZJjraDBavxssJoCG6xWeYPVqm+wWjcNNoJkjZLjCEGD1frZYLUFNtgI5Q02Qn2DjXDTYCNJ1ig5jhQ02Ag/G2wEyavTc7HtV/hzj01AoCCYGrKBS5UzZBOOEetKBgOMqVncL4iqmxDdy1ImuhukXLQYV0F9LCO9fufHctLDdH6sIMc1we2FNdTHSrK/Oj9Wkbrh/FgjoRCMcaZGTiFqRPSCPtELStJL+EQvIUmvzCd6ZZL0yn2iVy5Jr8InehWS9OI+0YtL0qv0iV6lzfPy6ImGXfgWAd5GiGh8C+YtNFK4zcApNIouVJa30D50ofK8hUbThSryFhoj3PLnFBpLF6rMW2gcXaiK61KMFzhYE9wpTrl7B2sC38Ea7/FyhwmCik10hzvivmIT+RWbUOh2baHsc33PfWlFGU9SoezMvmQttLw5f1jLe0DlbWh5D6i8A1reAyrvoJb3gMo7pOU9oPIOa3kPqLwjWt4DKu+olveAyjum5T2g8i7W8h5Qece1vAdU3gkt7wGVd4mW94DKu1TLe0DlXaZG3hykE1lIrS0E8laGh60nONakOhf2XSvAuTR1Yhn3coYJxKWp7OtwwmXMm+F6iyq4SCPcL9ECbsYz2JWqRWz4CA58JAc+igPfhwMfzYGP4cDHcuDj+DUOcb+EuV+KnV8yStPALVHT14Ss+/1EjzfT+Y+i9Ib8iHz9mr3Pd+AouvkqdYEiE9gnRfnSgstkdl1AIBFR5eLclssw2fPcW/uA+nNbAfERJidZl9fJt7m40d0WA+z1luIwHbxNYOcwFRW+eGN7A4nxGhGg6+lYcqIINeqFST2Vv6s1LDhAEbZiNDTCghHmkiUDxmOE9UITofz95/YAXcS9TtqPA5GiA4qGn4SI67EFxwnHu7IefGrjyWz5zl0CupVLNv/BywmsB+8AP5tD/gWRTZUJWSlSeF919xC8r9rrK+6bCuuSYZpw1O3sjwr3ILDzAtdlH2WLMxQxAegJ+hoSogjVc4pJLeWwxHjwvFjQGYslRj3XKPOZV43QRbOUDBiPcdZZQqI/ZY3mDtqx8nEwEr58GSJHR8HjlsIAgpBPAQS2l1W9Xm4TkRgKn+YxHso/FLKc5BDgZA75j0VxBmE9zOlhruBh7g96mNMIh9ww9yL3/jo/hrkgaVf4xtU7oRCp+vnHmHd4YkPcMSa3gst4zBvQP3Ko/yZ6XCWY52FttG1BVzN3dDNc2NP80SVRoRFGoie3oyKvhOt4WE9u99/Myioc43cQUzJ96+FsfuhGKQb032yj4LNcDIA5NZvtorPmF3ec1cOJyjglGiU7rjwjOe5ncMe5QrgvYUUVERURxEOWFMJ9vQtG8nPPuKSrRMQ9UbUyV9znktUuWMnPfzkrPEvAP1G58sL4H+6Clfz8V7AixQT8E5WrKIz/YS5Yyc9/JStoTcA/UbnKwvivccFKfv6rWKFwAv6JytFx0DbHlXcLa7G3BwXM6VL2cscnuDc/BV1VN5+MalmRf0TTiK5eKOXKoVKdHFBeOYgMrBtdsY1ToruYoi44CVvDLP8xZWXCC+cVXqVwu6XAjiYSXpzvFPLnBnzhhdUJrziv8OLC6Yy8xOPCHlhJjtgFOXi7wXyhQoSXv9smhMIL57m1dc/ptvFCuq1YeMVC4ZXt7d024bbbJiS8U91t83fbCuF6CxLqJX8Gzh3Dw471UT4KxJiOhwGfkZPuT/Is4OSdtjP6FnaqB/GFRm2uALnadYmS+eQXVKJyS1bR/EsmLpajooDX5kT9Uz63oqWmGhdaHvKo5VHRFCPhgpFo3pWbskK4F8++46LVg/JCuJ/hgpH83Ivn3vGC5t4i7utdMBIqxCesEHEvM/Nmcp9LVrtgJT//4glBXDzzLoj/4S5Yyc+/eFYcF191VhD/w3Yr/1GSf8EIEeZXTryCz3NdQupcl6q8rgtTSvlEy7idqpYUrejqQ27YTIg1UuT1+6rUCS9eiPDiHoUXEgqv2MV0LZRfeHF1wgsVslTntVMXC5fq3PgTEtO10O6criUKma5VCXdy4sIlqjJ/u23x7uy2iUK6bZlQeCHh7ZDle1C3TRTSbcvy7CGKhFext3fbMrfdtkzCE9bdNn+3jQoPb8ZdiFZqhSJEnIMU+J/jXdANCRYhxtuyscIIfpJrrZ/zaAYLWaUwUf80/yoFozrj8zY381QjwZUg/CMsEnrQJ6HbTkXJ1yFo6Y9wZpJ58TgHsZ3NscUmUlnJ4LFMjKkzi42UHZv86aSgtdYhOGYUcbHSFrTWHwRnk9xsUBKtVC2aJxa7GJoInMNFq15xF+aPwDlMdA4n4cI6Ci/ttm1+ONXDtjJGRtQ6MxIkyjiqFidz23DxO3BAtKDFPUBXzrFgZSILVg743ZwFe5m/aEctCNiuDOeNskGPo+x5/FG2opDN74pCZhaVpPsrmllw7WCQtXyZ10WpUCe8/M5xQcu0lcJl2qBw8ztc2CCiyjkWCC9YiPDy33kuXuMOCy+1j7gY1CU2vxV22/yb35FCNr/LheeAQ8IXCKIuuq3EnDa8O7ttpJBuKz5Ezei2Mo7DEOy2kUK6rVh4YaHw4nt7t4267bZRCVcwyNrqzAmPJ3Fh4FSZTSMY0XnGgaJzAQGhQthaUL5OUjPxIBGc7/QpR5IMcugyHuIYKZgUBmzZWC8pHZF/Jm7sYDUBEQDDRHx0/nn4SMGx49miMNSRPIyjBBhniAQ+iodxHwFGelY4iijIwziahTGXpGeF+xBFeTjHCHHSs8LRRFF289VnFdVYLWqJONf4GR6NH+YbvzF5jR/jmZYxlmZR3WQsqROix4PGiGRRsztkMTKvLMYITAZDFmNIbRa95ThSJIvawSmLUe5kYevOog1AoSxG7GmyGC3cSR5JWA5e0ORs621Ap+Bqyezye7W1glEQ27KxngBel38UrGGOgnHRKGgibss/CtYKXQnBY2W1Ls4BYP4oWEu2ovxIjfmj4IjCRmosGgULHKuxaBQscLQmcA4Tj9ZMlbgk1z8eFj9d6Fy5HE3ms10X6EQzhvSUeUNkRp/7lj5Z9EsY3I8F4wpCoXlmbYw6s1ZTyNBfk3few3ihbazQ3o0j+4+H5xt5IqxRJ8LaQjyG2rwiZLpcIhGOJQ2GaD2oVvwi5aAU4YhCRMiQ+wihCMcI/dYKSRFW7kEiHOlWhCOFLl6lpAirtAgzI6poP6aWFXmSYWcmMSryzm/kvMbbvQl1w+uOumebzb5hl4EWWURyI2K2ABiPU/cpZb4hgqUjDuOz9NrT77/0yNxppge6rD3ZtrXHKp9tqOz1Hhn9y4BDlrIxKxMm/VVnGUxVJQzGd3JN8JRdnYMWqWwO4ORwfe1KgF0g6ixgWAVslGNWBhuce2IqA44zxJPDFaXEEwcj7WiAiFUsq9ZO2px78WPOysV4nTKL0FmAONqVbZGneYro8qZjlFU3j3r9Qvjt957/0Zot+fXaI6HfRRbX40c3j1FOKPH0Y4ve/KCtTjmhrx9+4DGJU+o25SXU8/CaVGfjytbm5mRbR6pxbVNLZ0cvmue0jrjQBxUYfOcv303RL3JV3uS/f8g7mb6yzWVNNnm+W7Co+4E+XlYlO5MzWts25qo0hzkdNLJztlyuXIK8fd+eaa6VYJ6jynxdZCUYJ2Ay3060EnyCS6yEiODJVoJP8FQrwSd4mpUQEWy0EnyCSSvBJ7jCSogIrrESfIJNVoJP8BwrISLYaiX4BM+zEnyC7VZCRPB8K8EnuNFK8AleYCVEBC+1EnyC6W4ixSeZvoxIiYimryJSArLXECkB2WuJlJDsZ4mUgOxWIiUg20OkhGRvJlICsrcSKQHZ24iUkOyXiJSA7B1ESkD2TiIlJHs3kRKQvZdICcjeR6SEZL9CpARkv0akBGQfJlJCst8kUgKyjxMpAdkniJSQ7HeJlIDs94iUgOz3iZSQ7DNEiiQreP5EatSe43nc38TduvD+fkoBt/YK3k9x7dxxpv0BwRI/FlzLYvsSIFl2zBDtXpLp351FX4dBkO7P0+TiAAZ5lafHu42f9Xw1c5vgVBBPZCGuyMIOkWVyADqaFJm8qAzfRIWO8SyqsoER1VxSN72+B/SsZxW7rHu7uWrQN7sjeCCQOeZQM9wuGzrKz3RXntqZrnfbpo7yDW7nXY7yszzOYWf3hwPkJ8y+TDeDJcxdlnKoasTKYINHLV1mLw0xlqVyuMLUslRsLW9VMOJclIpaWZiUI86qRSwbIbdER9xL078olcytXPYvYaMDROOy7MNmguHX9B3cPzsTFIzsLvt0AS+jhfgje9CnkT0kPEbrfaCTP3AcZhm4HMjlQwDUwwoxEjsvJEt4rDRMImPc/mxOLx00o2QJ0elYw8WRW9EFT/mvI9II8yMkbMdA8RijEcZI3e83mV2KXyujXCtCEj4SCljDvjprW74XWtuyQq0t/xVJ/tVzsraS+YqkuZxEqUXEUgv5qIWI061I3zRQrz4EBdrrnVDQkoZXtYh4Hk0Dnt/HCdIYYu4wMHyCYrc+AYWBDBieKtGtees+DVntu4cbRp3vxoJ61hs/6a9mEd8veuSDfpYLk+ZW+GaX4HWqfG+HJIQ3j3FjREuFqzPyIeOlBCeiBwnKGJItSX8jF2wzmUeT+QRFbsopz2j+2okvfCyhakdUvbwQ7t1c+Jife3EwbElBFz6KuJ/pgpH83IsvfCwp6MJH8eMlEResFHR9fqWIf6JyVYXxH3XBSn7+hwnvVisRXfg4rDD+Yy5Yyc9/NV1omIh/onLVhfFfvFv5T5D8C8wuPSgNI0cZHjeccXKYaJysTr+cW0aayq8nNVoNI2XKW2cu8StQFx3m9B+GWwuEvMASunGG523RWtYpd6LRxA+LyKtktTUY8oQ3XJ3wSvMKr5rlM+QTXg2rnqQyCKLeylw4BSX5hVeqTnglhQivJK/whguFV0YLb7iEI1PKco7yCk9hty3LK7xyActuDHG5TRmcwqsuzI8qzS+8st3ZbcsL6bb5fFBRAETlHtRtywvptmLhlQmFV7W3d9sKt922gvSluFNrhlOWb+pZIlyTG0aSZcyIAVXmZDdbuDxcJrxLIiHyGEMij5HbLqUcp7BE5BSWAhpBeIU8hUt4VLhyL6aurBBTl2+xQBQu5+bBjJL8ax1ChSsRK1wZoH1FChcSdqKgTeHyreQkBOeXZgluZElY63qetGTjPN+CitAhAxdUNFChCqqjl9BRORU5Jl/0Epq110UvoYZBHb2Ejhuq0Us9X1ndd66osdns5I2dZi/vLardvfE3m2Z5i78pmpUx2SWeT9Fiz2dlefE3M5leS4A+UZrLz9vXqc/U1vHcagOJxGscUoNnSSL6tCAZd2Q/aFXZ/WB/P9x15G1R241EztxoRNaPwMk/kpsj4i32dpZfw2TNgA2SPa9O6Iuza+ta0dy0svHc1MaOxmTLqsa2ZHtnU7K5MblqVbvJey8av5s7/skeO/7JGf2p9azwaMAD73gdf06mTmPt3XsumdX2ZR7dGzJf5tP0Ml8W0CYo82Uh6c7aviwi3WDbl8XWl7D9y4nWl4j9yxLrS9T+Zan1JWb/ssz64lgaX259cVzwdhJrVnWPNR1w1cZzaQyl7jAkaLNYIlilGWKHqJHHQ9Rxj4eoiz0fos7O/cqd/bPcMnGUDlS447LE/TGwCv4xsHKfjoExl4wsP7nB9Lib1rT0ieemVycnL+hMrWzs6mxuNMeZxbuGmXnmKDO9ZdXi/jFmev8Q09P94ILUutb2jZnf5OrAvbNTybbp7e3JjeQ6VMLsuUub1rU1p2wBW3f1Z9ya/djfromtXPzIkVXUanLnbBirBcdkpgP709jLXGEvEsz3y7gnLGdzj0TOps+B8fGFuKXC3C8RAb4ot1SM+6VYgC/OLZXgfikR4Cu1SvU3X4eLsw/lhBvOP0JS6eI0Qrll7AXHCqpc7K+XW+ZfsNE/jO90D8vM1slylqQXtpKKTmLc1VOdPWGY23N98vt45SQVZ1WJnajhnrlysxku5IrYXKzxzFXIxW67kCvbJY0u1KKGqxY1PqtF2MWVUcKq2m6P9MpVxMWdVEKubDdQeuUq6uIOSyFXtouyXKjFSK5ajPRZLWIurtYUVlXmas19BKZ2luhkkZvLOsst31l4VSe3OUZTzbEPtzlIjMzmGO12eiN/2WI5SUVwIehYgW9UQftG/HE/QA6sfP+oivaPiDGF8pAIy873kWoEYVi1grCwEQI/aSTtJxHaTHlKhF7yfaV9aF+JaJKstyR0dvMHNC6mEZS7QtBFI6h0hWAFjaDKFYJmkeGSQdBEI6h2hWAljWC4KwRjaQQ1rhCcSyOodYUgRSMY4QrBRhrBSFcIGKo8yhWCFhrBPq4QtIpMrgyCThrBGFcI2mkEY10hWEMjGOcKAWNuPt4VgtU0ggmuECRpBBNdIbiQRrCvKwQXOw1vnWC9aZK7QXmq+/WmSfz1pjqf1psm0R5BnbXe5JDGZJI16tzFZHIk4pCbTJObbJEToSz3H2Wl/yir/Ec5zH+U1f6jHO4/yhr/Udb6j3KE/yhHDonmGeU/yn38Rzl6SMhyzJBQ9bFDwriNHBJKVLu3KtG4IdEhxw8J4zZmSMhywpBwYKqHRIuXD4lxfGgMuhOHhKqPGxIoh8bYM3JIoNyXsbIreYCGdTwCAzJES71S6weHOpcCKgULI1VucbteGKE2B6pIzriLJlWSJzyLvn3t0Xg0esDF8YEq3mH2XI5hwpUWwTq0lBAP4UYxDeNehlrFvQy1OncCy/ue/SGupEhQET0JVFZY04hQosJQZg8BE/pHdDLBsWjBnllQsC8WFux9RQX7W8WCPayEYJ+qVLDvFxDs7YUE+3cRwR5dTLAPFxfstZX4c8z8ZP+isaoHLhqLHQvFjSbaTZfOAho3mK+dBTQie3D/ib5z++emNjauTzY3rTL1q7WlsT11Xleqo7O3aMxuPq4/1+Nx/bkZ416+V8XpVAjidGxfZpFIbF9m09Y782UOyaPXO8IbPN9wGRDfEW4/ZV3rOFU8znaqeF5q40m5PrCkvwvcyD3ua3C/BLhfgtwvoRsdh4eZv2wHlG05+MeeEfcL7hHS9Gk8lx1D/RnT5vo1po0ewNCpiS2tnU2rNza2dDU3N61uSq1qNAGpxtb25MrmVOP5ZvG2VPueEzRZ6tmUGp4Nj4QxJq+AdLzK0mAlSKoFmWzeUfuGjLTKPD/1MstzrFoRbWTJiEhnaKXNyH6738a2ta9v7FfzhVktX2gq+ZYtNxRiufhW+QZXdrSv9ntxzObYDtP3W5vsWGs2T6ppXXINbXSm7CFGp8azB2gMuAfotePP9MwxFty17tUEG+7XwoL89S7XweKcFRDxS0C8hSf+G09B7sJTIOeUuvC0sHN4mDh0hoehMXOfMJjn7aPsQy33ph9DfAUqOT4/bo3P5mgw2xwMFmfGgi1betghkwYWzSnYgZPY/nOQDboHDdygu6M92bKqdV1vUfVuHlnrPY6s2dWGuGcLVOSDBco7sjJezkvYLYkts1eOZg7sfSZl9k79mG1hY8kujdvV7+TDl7ds8aeP1vvVR4cNoGM8PjMjX9meSnby5uOH7eYO7PER8aLsI+KjfXhnyuvLGBIdOEIiz/s+uIL5OC/0fZZnV3i2Z/khepuJ76jH3E4CXDvqMb6jHvHJUWc8FhXJ76jzn8uMcR31aKafjBFsVUa4VxzM4V5xkN2c2N/zADpPu/CkC7/fYHbhx9sH7ik8/Y7Q+h3kuPDfci6xzegftvoX2G72d4FNsO3BnCxE+FRC3C/hm2WW8Zi/2NMPNGALgb7dcXroAPo7B6xJtaTaTZ0x54Cmz9O/Iby6tb2xrbWjqa9BiJvdeovO3EPWBBODeOZSL5y5ON6DrueuRDWQZb3OSOp9WE+khhnmimeGe8+XkWXPEtZMm3R02y0vVPVOHv/L4596YMqNte9NPLb3sdl3vPvvZz8ocl7GxQgXR9KnEmmFcBTFOyvP6gptP3PlQZMS9X+rqbjx8uN+eN1lx006UNQ+BV3pFPBvsTbg62JtwCcfkLFYG3D6gMRoQ7AmumfbzbuVxIXLIpTYf5SGQEkrpxa9PObXh288oPqI1kXrr/j1sgcvqdq23x9La97pOnb9h72tIqsldzVZxpfxrFchrt9cxNa4IqfGFTm2ac3+e5LdBhI5igQnF8LZSSVb2tlq7XqDm8pKnjnJuBjc61JC25Z2rWCyEBTcStv3bhNHXZ1XmYTI7uCP4olPO/LNjMtHOgvYEwrzzUzIJzMTFsqKf74zzHrelWhsec8/ImiaiGC7KCxomojyESDCb5qwT00TEY4AnEJRYXvKrzeErUL3nNCcXHnuCa0buh8y+2ln09KVyeZku5m8gWwpgzyvjMmDv4aLCoYt90jQ872/dxvlXrNYxL1mcabg6HXIvUWPZCz6qfIWPc8D9eFFmbFrvmDbVXSIzVp4dwyBu3kLa/nAHcHOesnqthyyFFRe0t6zo7Gx47z2zt7g7j5YN9/jfHY+/zWCIX8p+bCCLiX3Wou5g3ymW+Tx2m1KY+tlr62m7tuWLBikLtrOFtz/2Oi7d117yaeL3rj77ev/uf+Txx9UPnp6+ZSff/6lkS3tp9e+S92w7a6qjiMTEEwIzjTJujiWN0apifxCgeBtMeHJerm1AMHB+oJeeffRlfx4qLiSYa6XH7U5Ws6WjEp4+QwnNCrw8jVKjVKj1Cg1So1So9QoBwxlSKPcy1DutXqpO6RucW02tF5qlFqJtKprlHrs0S2uK66VSA+62l5qJdJKpCuuZalbXOulrrhWIt082gTrgUIrkbZE2l5qvdTNo42bVnXdIbVeai41St3HdfNolNoE64rriuuKa+OmZalR6j6uUe4tY48ex7Veai41So1S9x7dIXXzaFlqe6m9YK3qWol08+jm0c2jhzMtS90hNcq9Som8Xpr5kec34v7HffVuRuYya8DjeFWP2S+kJnAQFaKv245B4IMc8onUfeUxK2mI3j6wPZhAFArwCxXbH0yQpJR5aYxAk5VRPffOc8aFqMXKL0Qt5l+IGvPpQtRiWttjlrY7pBEnWaN6Qlyic8VpcnFB59IolaAMDgmUuuJ7myz3Wi41yr2tj2tLpFFqvdRjj1YiLUtdcY1SD2da1bUSaVlqvdQo9QipBwpdcY1Sj5AapVZ1LUuNUttL3TzaEmlZanup9VJzqVVdo9R9XKPUeql7j664rri26lqWGqVuca2XWon0cKYrro2btkQapdZLbS+1Eunm0RXXzbM39x7dx7US6ebRzaMrrmWp+7jWS61EWok0So1So9QoNUqNUqPUKJWh9Hpp5kjGdaMGBLZmrxsNHMi/5zNuvxwUZXlucF5rmfvivCUzC84JIJePX33i+s4AdRVqwkrGeOJO0OJOCOjFyGyOihnZcrm7XwOHc8ly7n41rCTr7tcEBC7KIT+KqnCIFIyPYuc2esTe6CEyyS0UtReKkMrsYDrip64QhKJ87mLcKsWF6hdz8h7yk/cQybuDUNRPQjlksyTUey5PvWP51buYfbXxiTnkCyj1NgTqjUk76PgWJlFk0T/KN8BLu1aQ4ppNFueakWwh2mrP5BUqeSgrpf4rkkmiM22IKEmVQOCk7u0zks3NWyFYyb1HeWauuqdwq8tpKpuloxmIQ2B9DvnpVFPFyaYS2GWBmSihLo5OkMaeKZOVOZbOFlGN0gIjsmVRpAS5AkQubg0SdlMSJzGJTElCdKl3VHoIjgnpRUnGBPQi3dsWtpI+BSHHkjuXT+3TQpvPUUp8v2sXk1SWEgJbJousEEtItgWSME0ek6WENKWY0PJHSJQic53g2kja8zCsfksZX4Ivy/wKup2oZ3H1Mi6sSokLnzXGrYpNrpZ5EnRXJF2VhITcGaY6KmHhS1nGmtU+UYZpKoXAZYS55pHgmOKEzSFiIf90Dnk1D3mZoI0wr1A5XahMZKeIjlZO9XqiGqX5en0pt10Fvb7M/qhBQLLX80xFmTR7JUJjgEjs8tMQKWOQIKYajlxBP93CoG3o41udmE/TWpuRyO+I3urWu8kzzzK9m9/mkH+BqnCEFIyPYi9gyhSRnslESY1UO4UgmlHWWYmQ3InULz5Q6wkxxZNRF/Osh/yfZz2WQ/41Sr2RQL0x6Rnw51mImGdR7UUg42MP71iS6uxqbxnq07Rvu5qmfdf/adqvcsi/L7LcwUI9sAKmac/lWHpGRDUiNU1LS03T0j5N04Ii9ycmZZddTdNsq2PCaaGepsWFY1Eiz5xb2TTtIfHqiD/TNETKXtk07btiC1JAF4vnt++sxjRcGWtW+0TZpulP+adpJRxTHLeN7izkf84/TSstZJrGmNuViuwG0TvLqF4fpw1DASqKRJMn3jRN3lSUkDUtYHUgLrTsbnqQlDGIEzOVwh7sKxYMGlzLJepBXGWKC3sQFvcg09/4KH8PknBm2LOyIMrfgxhT6XDeHlTC2gYkbTnf7JVQPYg0nfl6EN8ZQCJzyutBMdF00NaD4lKDrYO94m6Rr2JImHXGcIq5PQgzhlM8LrfNnSkWcLXJvWE+e/Zm2HUyAy2yiOT0MVsAghXUi5G5mZ/F0hGH8Vl67en3X3pk7rR13duXtSfbtvbQM8fsLMgjoZFPpl44rvetXuWEfhdZXI8f3TwmL6Geh5tb1zS2tidXNqcazzfztqXae4sudzYudvvy5l18vvOX37TZWb7IHf3NGft0Ln0Ww52aFs2mMQTdYSjqfqCPl1XJzuSM1raNNzDmrAESecaM5XLlElmqdy4/ypGp3krwMzVYCX6mWVaCn2m2leBnmmMl+JnmWgl+pnlWgp9pvpXgZ1pgJfiZFloJfqZFVoKfabGV4Gc60UrwMy2xEvxMS60EP9MyK8HPtNxK8DOdZCX4mU62EvxMp1gJfqZTrQQ/02lWgp/pdCvBz3SGleBnOtNK8DOdZSX4mRqtBD/T2VaCnylpJfiZVlgJfqaVVoKfaZWV4GdKWQl+ptVWgp9pjZXgZ1prJfiZmqwEP9M5VoKf6Vwrwc/UbCX4mdZZCX6mFivBz9RqJfiZ2qwEP9N5VoKfqd1K8DN1WAl+pk4rwc/UZSX4mdZbCX6m860EP9MGK8HPtNFK8DNdYCX4mS60EvxMF1kJfqaLrQQ/0yVWgp/pUivBz5TeRKQE2bqJlCDbZURKkO1yIiXIdgWREmT7NJESZLuSSAmyXUWkBNmuJlKCbNcQKUG2a4kUmY23YTeTdnFduvv1np1k6nhyIMsdonGH3OGeJb1PSFBwzr/uKXD+gHgz8BA9A8/VObshl/lpkA1j+xIgWbZ9CTqmFOZkaJ1gXh+gpWy4q+hnPOsAUqgDeA/SAcNPHTBI0v15NtDSdjd9L9rs2aIUdW83l7X6Fi4IHghkjuWBGS4bhL2pnUEWdiqFYQnUJt+IlcEGj1pNwyQQ20HvYOdwhakVrtj52XXPDCBkFcou/jkph9iUI86qRSx1YxaIOgtErQL9K4FtWVn2K8/FPF0PCFYcuevBQcFCv1mowax705qWPsI3PZi8oDO1srGrs7nRXNHasuXG7gcXpNa1tm80MbSbS4qkIt07O5Vsm97entxIWpsGZ4mccjHzB9GN3TuWNq1ra7bPau7qz7iV9bGBAu6qnLNI/2p1Tku9LbRu9muh1XTDBmqdteeR9mTLqtZ1jcn+pmhsa21q6ewN3b2b1yUXeVyXXJTpJSWeTWyRDyaWvS45n2Ny+zmvsZs6W2bblwVcp2Uh2Zm9rs/O9+x2GPRQY1uP9TbUFDnLz/SosfX9xsE94YZswZppk45uu+WFqt7J4395/FMPTLmx9r2Jx/Y+NvuOd//97AeMgrMkKVKimp0tuP+x0XfvuvaSTxe9cffb1/9z/yePP6h89PTyKT///EsjW9pPr33XWXCOOxmNcpYnV5OnupfUPFfFkX0ABLRF1LnNQSAvxmWivi2DYK3Im5dBkBL1SxkEY0XdUgbBSpHLL4OgmUYQdoUgSSOIuELQRCOIukKwjkYQc4VglSgUWQZBI40g7gpBB40g4QrBeTSCElcI2mkEpa4QdNIIylwhuJBGUO4KQQuNoMIVgotpBJWuELTSCKpcIVhNIxjmCsEG58S1WrA4MNzd+DHV/eLAcP7iQLVPiwPD6blPtXNxIPelhmSNOhFSQ45EHHI1NLkai5wIJfYfpeE/yoD/KIP+owz5jzLsP8qI/yijQ0KJYv6jLPYfZdx/lAn/UZb4j7J0SJiNsiFhghX08fIh0eIVQ0KJIkPCbASGhBJV7q2WqHRIWKKh4QzqQXdQN4+CPl41JCo+bG/1iYapcA08rmp2CW4n83pr4Kfcr2IU81cxQj6tYhTTwg5xVzGqSNaohiC+cslV0eSqBG1bJTFwFY7S8B9lYEhUPOI/ynL/UZYOieYp0y0+mFu8YkgoUcx/lJVDwl7Gh0TzlA+J5hka9jI2JPQyOiRavHxIdEgFelniP8rwkKj40HBZS4eETzQ0WnxouKzD9lbPLaJ9Iu0TDUJLFBgSepnwH2VwSDRPiQrXgD7WKnkyuJxxoFWyaDbMBFC16ECn1CLlcOd64/Du3DF+5tppkXPttIiknT3v+zn78XYiTxF9K20uWcO/7Sdsv+3HFsYl+wZIWKpQ2H6Dkf32V/7ZU8/S5p9eC7tviViuJW6Vb4kISZ26hjeXrC3kXl/WjVwRQAtyqry/oBmpezxzt2bVc9fYM2X67pckKpg7DE9zUwxoSlZqoc+6UKoMzlnUTVzElVQhF3sBxQLbEyKz8W9kowSW5/oys+5zRceapZR7ulNnEoKNnBK3uF1v5JQ42bFdhc7d5CmRjNva75BPpN8svfU5XsMyrm0rsRqWU6hUuDMkOHMtJcRPcsNnS7nhsyXc8NmyXGfpER0nl+TMjRQJKlQHIb7iwppGhDLqP8pwYSiz0YKEShP9lndv91xuOHl9zhCfK7pTnnu1YYTmNiIQQDWZzYXhj9kML2tEWet50/gwp5DiAjuWcIvbtR1L0GaV4IxrxxKSdmzKka8d/MzPIufwGlb8Cp287lYL7JhLa3EI146VcO1YgmvHSkV2rMQtZ26kSFChOkhCwo65fCAwIWHHCkcZLgwlZcfiZL/l2bF5tB0j6mZZMtabkag9l2Ed/UwAz1BGLEPJe6CinnuJ/twcxSs9e1muphCZL9RNMrWk5FxPLuK5HnO7/OSi2MYXywO9JCeli8Q3cmRydYuuJO6bw+XahSjMR1xMIOapxTzBlCkomDIZUqpBSyUM6JpchquJaT8z62YfIuipWwgIVPzXMiKCa3Siopvo/bnOYRFbhwu4NxfdNHD35lqx0bZLOx6zLu1Yk+pcsuvOh10avpV/e4fjlowtW2gaPFNayIsxVBy05MIVEl7MHBC8V+T1rqOP3ftdgruOgj4dBGTcdRS0xMx/wiZEy5EYuTjEwjSxsGBo1wg1Qo1QI9QINUKNUCMsAOE8jXAvQLgX6qHuerqVtXHQeqgRaj3Uiq0VW3OoW1lXWSPUg5RWbK02Wm20HmqEetTTQ4CustZDbbE1Qq3YWoYaoZ486irrIUC3skao9VBzqBHqvqz1UCPUBlZXWVdZV1mbLy1D3cqaQ41QLwTpcVkbB90oGqHuKdoearXRjaKrrBtF9xTdl7Xa6EbRjaKrrGWou55GqNVGospeL078yPMLI/+j7wbNcDcje6GpsY1X8Yj9Ck8CB1Eh1j3goQtyyHeILjQ3+JfIGtyHQAL8QlH76xCSlKh7zvmXCucuImZcihlVfilmlH8pZsSnSzGjtK4TN8lT9+gSrFH9IJa3Y8VoYjFBx9IIfUQ4d9Aj1FXeG2S4F3KoEe4NfVlbG41Q66EeU7TaaBnqKutG0YOUVmytNrrKWoa6lTVC3ShaD3WjaAOrhwCtNtp8aXuo9VA3ijZfWrH1MKr1UPcUjVD3Zd3KWg91T9FV1lXWnoOWoUaoW1nroVYbPUjpnqJbWVsbjVD3FN31dKNoGWo91IqtfRutNrpRdKPoRtGDlK6ylqFGqNVGI9QINUKNUCPUCDVCjXDQIPR6ceJIxpWTBoQqs1dOBh/i3/UYs18QibJczXJebZj74rwpMQvOVT+Xj1954grHAHUdZrGVjPCEXUwLu1hAL0Jmc1TMyJbL3f8Z/CaXLOf+T8NKsu7/LIbgRznkT1AVDpGC8VHs3EYP2xs9RCa5hSL2QmFSlR1Mh/3UlTDZjFzuirlVignVj1KHkJ+8h0je+TeneieUQzZbQr3TXBOWX72jDPWOQfBnOeQ7KfU2BOqNLSvo+BIkEWSQh47k24OlXStIYc0hi3MKxXOFaCMyk1co8VBWRv2X5JJEZ9oQUXJKQPCV7u0zks3NZlXuoO+OzWHJyvI1t3aIuH82zrZDH+SQ/0pkeBH1MS5lJBLU1cFx0tQzZfL7HEu/EVGNCC7bjedQ/FGQK0Dk4tYgbjckxbKGJE7xHivEcMWE9GzjmIBeuHvbwlbSoyDkmLhz+dQ+LbR5HCXE97t2MUllSRDYMllkhZgg2RZIwjR4TJbi0pRiJCXRUBIXGuu4CyfPsPotZXoJvizjK+h2op7F1ctiYVUSLlyoGLcqNrla5kloQQroYsX57TurMQ1XxprVPmGmaQoFCHPNI8ExxcVil9BEHs4h385DXkK3EXH5OKdQKV2oRGQ3iN5ZSvX6YtowFKCiMX6hEvu19oFCTEWCrKkse3FhD0KF9SApY1BMTDR4ToAfTqF96Btss6zQSN9nWaFUDvlo0SzL1wmL7IRJbpYV4z7YgBRPIGQ6K3+WhYSjbfFArSbEFE/n5GdZoUN8n2WFjskhP5RSb2Tz/jizrHmCWRYiZllUaxGoKNwWsh1LUp1d7S1DfJIWOs7NJC003fdJWqgxh3ymyG6HRdMl5OskLTQ/x9Ic8dRQYpIWWigzSTNz+TNJs3n9gklTyKdJWkjkbNkmhXqSViwcieJ5ZtyqJmmm7S5sZuNqklagi+lukmaaJ0FVYnvCJO1clZO0lr1nkoaG3CQtVlgPcjdJM+cphT3Yxn97jTvhigh7EFeZYsIehMU9yPQrN+XvQTynNSLuQSbyy/P3IEYbBfP2oDhrckrwJRh541QPIqc/+XqQaIom6Ay8HhQRzSBtPSgm1e0c7EVJSlQPso1+XKWkBI25PQjbmiD3nqLzmb7cZMva6D7iMP5G91W/+fiVzRfWvtO9fVl7sm1rDz1ZY089Ml/DzklezgIEM/xnfkasDDZ47v3DAJtAbAc9z8jhIjpdNjuEvpDVzwwoZBXLNpKTdohNO+KsHHfwySJ0FohaBbI276asPDN9F20RPBeZMw1M3wYLZpNGloxH/Rj5ZOqF43rf6s2vHx4J/S6yuB4/unlMXkI9X1+T6mzsSLWsSrU3rm5tb+xMrunoLRqeO+yRE7nLZyrv4jOev/ymBmf5Inf0GzIKkaAPrbjjpKiIxoDdYnigj5dVyc7kjNa2jTcwJvg2NeznvMTes22ZbV/qybIUr4Y7XmfSGALuMJj8m3ahT+VYxjtg76/l3fc3mDakaU1L38+bnkhe0Jla2djWvr7R1Mqlu5TS/L7MVMme7gcXpNa1tm80bUK72Y1tgxnnCzZltLRpXVtzKleFvulqBtY/fG7ZkuXIoXDuqr2hgW3DDLs7klPmHBGnyTWqvXb9155+/6VH5k5bl7/rP9HX9VtSGzobk21tfR2/MdmRMQW9RbW72QLM8mgBZuX6kdc+gT33CQkLQPYR7iL0TO6CaX2mtqV229BAIvFqxxo8SxLRtgEzBtn+qlTabcN3bbZhoam109vaTMswvaPfTmzlmgFjq73LezMlGa/b/kvCc/BmXmb5ZV5qBs68vDp2l33pam5uWt1kehfrUutWpNo71ja1NZ7f1NliMt6L1u9mK3OdRytzXUZZp9J9o8YdpuE0hlp/rMxskicCeWZumcm13EqQVB25TrYSpLo4cp1mJbK5ti+fOu0oR7bTrYQ9G8/+zebavzncjS7qwF5AsMmU+TKfuzu3gLsju5C77bnI+SU3j1nM3bY50fklt5e0xPklnv2y1Pklkf2yzPmlxGpsx5fS7JeTnF/KrKZ3fCnPfjnF+aUi++VU55dKS0UcX6osrXB8GZb9cobzS3X2y5nOL8OzX87K9NQj7SNkI9evPpueGma+JEk1s32xrZxwlilCwkUkygiE3RmBlTSGiDsM+9urZDvMYPsSIJm0fQnaFlcyM/N5NGchd5w1epbOFNoBCZHIHIPBjEIdxZy/5qq84SxfX+hUNef+eRtMZ/W7N/kJO1dhTqIWLmsJ48PZEyT2Fco4WcoIA8LJUklYErZ3VmX5CpQ+jXA7aMse1iAoOB0wgjGXzcWxMCNoC1NlWRiHNEaSrFHrriNJ88ghN5ImN1JwOGUkaVd9R2n4jzLgP8qg/yhD/qMM+48y4j/KqP8oY/6jLPYfZdx/lAn/Udb6j7LUf5Ql/qMs9x9lhf8oy/xHWek/ymH+o6z29agntbQm4zn9u+Kfb3LnrcjzqmONe+ckwHdODJ+ck4DgnAMWHPsM0K0ZlPAkguLZFo0y6/pqhBqhRqgRaoQa4eBFKDqsa3je8av2vOM3XOTFmJvxEn6EwyWosRbH+g8Bpe/lipVzFrCGFAh9FjAI6Ogs7gcG7BIMemkzjws5PJsQxFt5vbEl6N6FjPJdyIhPLmRUeJCZf9g8KrjdZpbf1+UMYoSWigntR8TzcnuYu8OW67zf457m5HTeIMkN3Xkj6feyqH9I9d0AWU8O3TAtzYC1nu7EaONG/lxqiLRATpxyF8lg+5lbGyO8DZyAt1MIpjnILvCfwW3ZoAvBBi3BiqKhsIu5ZNDau3HKFZOCkGcyRA5+Ao0KC06e2tvKxgivrYLq2grnbauA4Cj1DLqtAiIRGRINaQgXBSh65KEhhQsoBYx+u2cBBVuykvcwCQHfc0JzcuW5J7Ru6H5kcWtHqmlVa8u0xan2dV2dZs7Wlh6yqQNkpw/kcUA53GABNw2iiGEsCJv2Olgd4L61w/zWDvnU2kyDZLU2eULu1Un9R+S6Opt3HZHLHrxakDt3dXL/saub+Mfc+IfouF8C3C/B7ntnp5Jt09vbkxtJy77/TcLDdKJfd/Ujc5zo27+QI33DCz3SJwotNwSRWgH6JBIhKv7KZyi3u84P70IunMMIv6tFSTeRi3FBVzNn0J3pIcbcYMWYp/+TG8baXARYhfIaxARdKE6yJQhGTYiCUW0DfZQszxvoI+oG+mjegZ4R0RYVOGXFpLQKQDlDpMPFhQQXN3C1QhhraAtRo/UuDqg4J9YOLon80boGG3lJfq1OFKLVjBBfW7i84EaEEukAWVvgO0+ro+q0OpJXq+MCo8dwX+OF6WDEsnoCO1qQVs9QpdWj82t1rDCtjgEat1tstfDuioS0VtuGvkFpq2MCwzpTuM5TLDK7URfrFhHBpMwWwOtiSTKmfFIWU78kKWobXIhNcTUpi5GTsuJAnlU9+eYm1mf47mkk71IeY/JZk3f8DgsPMcrXIUwSFSzmR0TrcMjDKiXLWEYATSeMJc/chD2amxovg2i0kOtCmP2AkIrISoXy6C21EUTg5WwFZdgdfHH1aPmgjqtHC/0JW7vOr7A1QKcPWOAar2UMjnIx2p7waZxVCQM6OyfmFc64iRypbI5WTg7XO4wBSWUwrAI2yjFO1yjmGZIMOM4QT4zQPId4TB/V2QARq5ijaxRbWdjd0lm5WJ6uUewsUEx3jTU8RQy69CUG+qoHr4ReCL/93vM/WrMlf+TnV/vJmJa5sallfaq981anHRnmMTKlym1kDDs0ssjiJ4fYGZAqGwNDzTSy/SV7i6GTJm0bDGp+gSSpIx71om0zm9ZTLVWUi4PKVTsriJ4nyMbbJeLG87paO5tSLZ23ONmLeQyQKva5GWMWYo488H0ZgoRYiiz5cEqhXXcVWe2WN3vfJUo0dpvhJPTA0Rg5oxPredhqjM7WxvbkqqYNvUXlTjEG3YrRUT7ksTe63Gkx8jVj2KqYPWIYsWyWaa0d/Lg85RKT9BqjeRveEGkX5pUKkNplSGRnaVeA6zcG3LqBIY6ichygCNObixKN6TBzkbDnBnP0GKtl/h+2hocfxSIeAA==",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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jVcbrzZebbzaeLXxauPVxquNVxuvNl5tvNp4tfFq49XGK/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bc3/fam397025t+e9Nvb/rtTb+96bf3u9/+/W/O9Lvf/v1vy/S73/6aX17tvubBfOWe63NfXr3nYN7MV+65cl9evedi7nt+efWeB/NkXszBvJnJLXKL3CK3yW1ym9wmt8ltcpvcJrfJ7Tv33W9/z4N5Mi/mYN7MhzmZi5ncQe4gd5A7yB3kvrw665oP8yt3X3Mxv3LP9/zy6j0P5sn8ys1rDubNfJhfuXXN9eNr9d1vP9f88uo931/P7357Pq55MQfzZj58bjKTu8h9eZXjmq/cvHb48uo9L+Zg3syHOZmLue/55dV7JneTu8nd5G5yN7mb3E3uJveQe8g95B5yD7mH3EPuIfeQe8hNcpPcJDfJTXKT3CQ3yU1yk9wit8gtcovcIrfILXKL3CK3yG1ym9wmt8ltcpvcJrfJbXL7zn3329/zYJ7MizmYN/NhTuZiJneQO8gd5A5yB7mD3EHuIHeQO8id5E5yJ7mT3EnuJHeSO8md5E5yF7mL3EXuIneRu8hd5C5yF7mL3CAXrxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8ar/r2ajweN1jfL4Yvpi+WL8IX2xfHF+mL8oUnGJ5geILhCYYnGJ5geILhCYYnGJ5geILpCaYnmJ5geoLpCaYnmJ5geoLpCaYnWJ5geYLlCZYnWJ5geYLlCZYnWJ5geYLwBOEJwhOEJwhPEJ4gPEF4gvAE4Qm2J9ieYHuC7Qm2J9ieYHuC7Qm2J9ie4HiC4wmOJzie4HiC4wmOJzie4HiC4wnSE6QnSE+QniA9QXqC9ATpCdITpCcoT1CeoDxBeYLyBOUJyhOUJyhPUJ6gPUF7gvYE7QnaE7QnaE/QnqA9gSYOTRyaODRxaOLQxKGJQxOHJg5NHJo4NHFo4tDEoYlDE4cmDk0cmjg0cWji0MShiUMThyYOTRyaODRxaOLQxKGJQxOHJg5NHJo4NHFo4tDEoYlDE4cmDk0cmjg0cWji0MShiUMThyYOTRyaODRxaOLQxKGJQxOHJg5NHJo4NHFo4tDEoYlDE4cmDk0cmjg0cWji0MShiUMThyYOTRyaODRxaOLQxKGJQxOHJg5NHJo4NHFo4tDEoYlDE4cmDk0cmjg0cWji0MShiUMThyYOTRyaODRxaOLUxKmJUxOnJk5NnJo4NXFq4tTEqYlTE6cmTk2cmjg1cWri1MSpiVMTpyZOTZyaODVxauLUxKmJUxOnJk5NnJo4NXFq4tTEqYlTE6cmTk2cmjg1cWri1MSpiVMTpyZOTZyaODVxauLUxKmJUxOnJk5NnJo4NXFq4tTEqYlTE6cmTk2cmjg1cWri1MSpiVMTpyZOTZyaODVxauLUxKmJUxOnJk5NnJo4NXFq4tTEqYlTE6cmTk2cmjg1cWri1MSpiVMTpyZOTZyaODVxauLUxKmJUxOnJi5NXJq4NHFp4tLEpYlLE5cmLk1cmrg0cWni0sSliUsTlyYuTVyauDRxaeLSxKWJSxOXJi5NXJq4NHFp4tLEpYlLE5cmLk1cmrg0cWni0sSliUsTlyYuTVyauDRxaeLSxKWJSxOXJi5NXJq4NHFp4tLEpYlLE5cmLk1cmrg0cWni0sSliUsTlyYuTVyauDRxaeLSxKWJSxOXJi5NXJq4NHFp4tLEpYlLE5cmLk1cmrg0cWni0sSliUsTlyYuTVyauDRxaeLSxKWJSxOXJi5NXJq4NHFpYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJoYmhiaGJ8TPzl6zf/9fuf//z7P/z0p//8zb/8z/Plv//jL3/8+5//+pf3y7//998+P/KHn//8009//o9//dvPf/3jn/7tHz//6V9/+usfv3/sN4/v//n+P/hvx/ma43fPnzzuD/XXjO8PzR8fivra6/tD68eHZnzN/v5Q/PjQiq91fWj/86913rG/ff4pzdfzjyx+9/X+Cet8Pf9M6PvluI7z/NF8fH9Gfn/G+k7aX2t/fn48vmJ//3Ddsf0VV0b/+Iz+Psj//Yzxa089Pud6vtX39Xwr7HfXM/42z1edz6/wfDfx6/mu4OeMzzeuvp5vUl2fPj+f/vzm8uv5ndb70zu+nr9nn89/frf7tV4vx/VTnw/0yOvz1z9vasSPx8jnx+rHgzyvIV/Pm8T1c+4Nf2/n2tc4v/Jr/T9LHPUrK/mxxjW+Xr8z1+ecr339+LzXWI+v1x4mXz3Pm8LX83/qx2/p9+M//xTy9cnz84s//6D26/lHpT++Dp4HHK8HmevHzzk1n18sPe+DP0/+2PdXS+f3j19fdPP+Qhz5Nef1sV/5Spw/vhSf3wh+rfP5PXt+z/u17ud9fs/5fJk/ftPy+aPPL49ffvnld7/8Lw==",
      "is_unconstrained": false,
      "name": "transfer_private_to_commitment",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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ndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlNndfUeU2d19R5TZ3X1HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5S5231HlLnbfUeUudt9R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnffUeU+d99R5T5331HlPnc/WpPl23+xNmm/yzeakG1miM8rV9T0CTSVf6LyqMZHe71TN/qP5Tt9sQLrRuN/umy1I8/292YN0o5qoJer3e3mzD+lGmsgSeaIRaL5peKGSqN9v981eo/mO2+womm/3zZYiuY4Xa4l6IknkN5o9Q/MNuNk0dKN2v403m4Tm232zA2i+yTdbgG7UEvX7vbzZBXQjTWQR73zu7383As03CC9UEtV7bLMb6EY9kSTKcZzP+HX15zN+oxzbfJ7nFcw3CNtEer+hN3t+buSJRqDzeb5RSVQTtftNvtn6cyNJpPfbfbP7R69j3Px+u2/2/8y3+2YD0HzqZgfQjWoiud/kmy0/N7JEoY/86lnJz56V2eUz3/6aTT12/bvzyZ5/dz7ZFxr3232zsceuw19KopqoJer3e3mzu+dGmsgSeaIRaL5peKGSqN9v980OnvmO22zGmW/3zW6c+bbbbMe5kSXyG83+mxudTa7HRJLobHQtE52trWc2ZvPMfJNvds/cSBOdLbHXETeeaATKtwVnD83972qilqgnkntss5HmRpbIA7Ucx3wd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pIkskSeKey6XzicqiWqiuOdSeyJJpIksUdwPSZ1L6lxS55I6l9S5pM4ldS6pc0mdS/6eS/6eS/6eS/6eS/6eS/6ey/V7Pk4U91xS55I6l/w9l/w9l/w9l/w9l/w9l/w9l9S5pM4ldS6S91zynkvecz0S5XOl+Vxdv+fnc3D9nk+U91zznmvec817ruElYkeikijvubVEPZEkyntuec/NE8Xvh/iRKO9H6lxS55I6l9S5pM4ldS6pc0mdS+pcRnKM5BjJMZJjJMdIjqnz+USkziV1rqlzPUqimqgl6okkkSaKe66pc02dazkSlUQ1UUvUE0kivZ8DLZYo7rmWuOdaj0QlUU3UEvVEcc+1aiJL5Ininms7EpVENVFLFPdDU+eaOtfUuabONXWuqXNNnWvqXFPnmnW7Zt2uPTl6cvTk6MkxdX4+EZo619S5ps4163bNul0l77lYIk+Uz1XqXFPnmjpXzXuuec8177lqonyuNJ+r6/f8fA7sSJT33PKeW95zy3tukkgTWaK85xa/H+pHopIo77nnPfeeSBJporwfqXNNnWvqXFPnmjrX1LmmzjV1rqlzHckxkmMEhx1HopKoJmr3E2Gpc0udW+rcDkvkieKeWzkSlUQ1UdxzS51b6tyKJrJEnii8xOqRqCSq93NgtSWKe25VEmkiS+SJwkusHYninluriVqinijuuTVNZIk8UXiJpc4tdW6pc0udW+rcUueWOrfUuaXOLXVukhySHJIckhySHJIcEmsAljq31Lmlzk3znmvec817ri1RPleaz1Xq3FLnljo3zXtuec8t77nVRPlcWT5XFnNOM02U99zynlvec8977iVRTdQS5T13SaSJLFHec897Po5EJVFNlPcjdW6pc0udW+rcUueWOvfUuafOPXXuR0vUE0kiTWSJPNG4nwhPnXvq3FPnXlqinkgSaSJL5Ininnvq3FPnXmuilqgnkkSayBLFnNNr/H546txbSVQTtUQ9kSTSRHHPvXmi+P3wfiSKe+69JmqJeiJJlPcjde6pc0+de+rcU+eeOvfUuafOPXXukhySHJIckhyaHJocU+fziUide+rcU+euec8177nmPdfwErd8riyfq9S5p849de6W99zynlvec/NE+Vx5Plcec073mijvuec997znnvfcLZEnCi/xkfd8lEQ1UUuU93zkPR+ayBJ5orgfI3U+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",
      "is_unconstrained": false,
      "name": "transfer_private_to_private",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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6KlBTw16atBTg54a9NSgpwY9NeipQU8NemrQU4OeGvTUoKcGPTXoqUFPDXpq0FODnhr01KCnBj016KlBTw16atBTg54a9NSgpwY9NeipQU8NemrQU4OeGvTUoKcGPTXoqUFPDXpq0FODnhr01KCnBj016PW6lXrfSr1wpd64Uq9cqXeu1EtX6q0reO1KRk4NemrQU4OeGvTUoKcGPTXoqUFPDXpq0FODkRqM1GCkBiM1GKnBSA1GajBSg5EajNRgpAYjNRipwUgNRmowUoORGozUYKQGIzUYqcFIDUZqMFKDkRqM1GCkBtfQ5XoR9lKT3SOW6wXWS02RI5bHf45Y3uA/Ryz/c8TyP0cs/781YlkcWhxaHFocWhxWHFYcNaZ21JjaUWNqhxWHFYcVhxWHFYcXhxeHF4cXhxeHF4cXhxeHF4cXRxRHFEcURxRHFEcURxRHFEcUR+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+m8lc5b6byVzlvpvJXOW+n8q3HU4iidt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeSudt9J5K5230nkrnbfSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330nkvnffSeS+d99J5L5330vkonY/S+Sidj9L5KJ2P0vkonY/S+Sidj9L5KJ2P0vkonY/S+Sidj9L5KJ2P0vkonY/S+Sidj9L5KJ2P0vko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",
      "is_unconstrained": false,
      "name": "transfer_private_to_public",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "10522114655416116165": {
            "error_kind": "string",
            "string": "Can't read a transient note with a zero contract address"
          },
          "10835759466430049078": {
            "error_kind": "string",
            "string": "Collapse hint vec length mismatch"
          },
          "11088061827347467743": {
            "error_kind": "string",
            "string": "Note owner mismatch."
          },
          "12236415031589006904": {
            "error_kind": "string",
            "string": "Obtained invalid key validation request"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12586264626308614378": {
            "error_kind": "string",
            "string": "Return notes not sorted in descending order."
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "13049348927268151465": {
            "error_kind": "string",
            "string": "Dirty collapsed vec storage"
          },
          "13439285339951107770": {
            "error_kind": "string",
            "string": "Infinite public key points are not allowed"
          },
          "13671158251341025138": {
            "error_kind": "string",
            "string": "Got more notes than limit."
          },
          "13682507011217565545": {
            "error_kind": "string",
            "string": "unexpected encrypted message length"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15015303112667403944": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 17
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "17968463464609163264": {
            "error_kind": "string",
            "string": "Note is not in stage SETTLED"
          },
          "18160147074902047180": {
            "error_kind": "string",
            "string": "Out of bounds index hint"
          },
          "18195344559583857168": {
            "error_kind": "string",
            "string": "Wrong collapsed vec length"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2431956315772066139": {
            "error_kind": "string",
            "string": "Note is not in stage PENDING_PREVIOUS_PHASE"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "3387382714057837913": {
            "error_kind": "string",
            "string": "Note storage slot mismatch."
          },
          "53350748051603884": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            ],
            "length": 48
          },
          "5955197699778714817": {
            "error_kind": "string",
            "string": "Wrong collapsed vec order"
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "8754864405609694316": {
            "error_kind": "string",
            "string": "Wrong collapsed vec content"
          },
          "8992688621799713766": {
            "error_kind": "string",
            "string": "Invalid public keys hint for address"
          },
          "9460929337190338452": {
            "error_kind": "string",
            "string": "Note contract address mismatch."
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9543832133280402246": {
            "error_kind": "string",
            "string": "Balance too low"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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nNWSs9xmuc1ym+U2qyWj7i3q3qLuLereoloyqiWjWjKqJaNaEt84TJVLqHIJVS6hyiWEbxwm9EuY0C9hQr+ECf0SJnzjMOEbhwnfOEz4xmHCNw4TvnGYKpdQ5RKqXEKVSwjfOExc98Z1b1z3xnVv+MZhwjcOE75xmPCNw4RvHCaulqxcQpVLqHIJVS4hqZaUujepe5O6N6l7k2pJrZbUakmtltRqSa2WrFxCWvemdW9a96bVkpVLqHIJVS6hUfc26t4ql1Dlkmvdq121BmfJ0+1cbczXutdbUkkuKSW15Olmy2Llklt6yVlyua2WXLnkllTydDtXovK17tWXxcoltxwlT7fzNCi+1r3e8nTzK1hArlxyy9PtrOnKa91rytMtrlqLWnKUPN1iXdnKJbc83WJdzsolsa5h5ZJbnm6xbn7lklvKWdh9GZ+5JOUoaaeUJb3kyy1oGZ+55JJr3WtKOqUuySVPt3ORMq91rylPt1WTea17TeklT7ezEjevda+3PHNJyFV28nSTZXzmkpRSUlcV/CVHydNNrmBecpY83c4DbXmte015up1D7bzWvaaUkqfbXQZzlDzdxrqcM5es44h4rXtNebqN1SRnLkl5ui3m17rXlFLydDtPF+G17jXl6ebL+MwlKWfJ02294Gvda8rTbb3Va91rytPtrDnMa91rylHydJvrYZ25JOXpNldLnrnklmsN/S3pXhfP17rX9cpd615veRJwrGtYueSWVvIk4HrlVi653qiVSy65csn1Gq1ccr0wK5fcUkquVe3LeOWSW+aqdr7Wvd5ylgzIaw39JankclsX6asl11viWnKUtJJecrXketwekGcuSUkluaSU1JKjpJX0kuU2yy3KLcotyi3KLcotyi3KLcotyi3gtta9pqSSXFJKaslR0kp6yVmy3KjcqNyo3KjcqNyo3KjcqNyo3KjcuNy43LjcuNy43LjcuNy43LjcuNyk3KTcpNyk3KTcpNyk3KTcpNyk3LTctNy03LTctNy03LTctNy03LTcRrmNchvlNsptlNsot1Fuo9xGuY1ys3KzcrNys3KzcrNys3KzcrNys3LzcvNy83LzcvNy83LzcvNyq1wilUukcolULpHKJVK5RCqXSOUSqVwilUukcolULpHKJVK5RCqXSOUSqVwilUukcolULpHKJVK5RCuXaOUSrVyilUu0colW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2vKVtnylLV9py1fa8pW2fKUtX2nLV9rylbZ8pS1factX2vKVtnylLV9py1fa8pU61qqI+mw6Ss+jaWqam5amtenRtDXdfGfznc03mm8032i+0Xyj+UbzjeYbzTeab629klFrr2TU2isZtfZKRq29klFrr2TU2isZtfZKRq29klFrr2QczZeaLzVfar7UfKn5UvOl5kvNl5ovNV9uvtx8ufly8+Xmy82Xmy83X26+9/jV2cce9/jVpalpbvr67taltenRtDXtTc+mo/Q9fnXpy3cszU1L05fvuv57/OrS1rQ3PZu+fM/+/7jHry5NTXPTy/fcnCz32nZf13nlK18xr3x16+Xrc+nZdJS+8tWtqWluWpq+fGPp0bQ17U3PpqP0la9uTU1z09J08/Xm683Xm683X2++s/nO5jub72y+s/nO5jub72y+s/nO5hvNN5pvNN9ovtF8o/lG843mG803yvde235rapqblqa16dG0Ne1Nz6abLzVfar7UfKn5UvOl5kvNl5ovNV9qvtx8ufly8+Xmy82Xmy83X26+3Hy5+UrzleYrzVearzRfab7SfKX5SvOV5qvNV5uvNl9tvtp8tflq89Xmq81Xm+9ovqP5juY7mu9ovqP5juY7mu9ovqP5WvO15mvN15pvy1fW8pW1fGUtX1nLV9bylbV8ZS1fWctX1vKVtXxlLV9Zy1fW8pW1fGUtX1nLV9bylbV8ZS1fWctX1vKVtXxlLV9Zy1fW8pW1fGUtX1nLV9bylbV8ZS1fWctX1vKVtXxlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX3nLV97ylbd85S1fectX3vKVt3zlLV95y1fe8pW3fOUtX82Wr2bLV7Plq9ny1Wz5arZ8NVu+mi1fzZavZstXs+Wr2fLVbPlq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Zj4fbD4fbPbBZh9s9kH67dHwquFVw6tmH2zmq2a+ot8e9Nuj2QebfbDZB5t9sNkHm32Qfns0vGp41fCq2Qf7ma/O65mvDv32Q7/9vJ598LyeffC8nn3wvJ598LyeffC8nn3w0G8/r4HvwHfg++yD5/XMV+f1zFeHfvuh335ezz54Xs8+eF7PPnhezz54Xs8+eF7PPnjot5/XxHfiO/F99sHzmtx3cd/FfRf3XeS8yHmR8yLnRc6LnBe+G9+N78Z3k/Pmvpv7bu67ue8m503OQc5BzkHOQc6Bb+Ab+Aa+Qc7BfQ/3Pdz3cN9DzoecDzkfcj7kfMj54Jv4Jr6Jb5Jzct/kvsl9k/smOSc5FzkXORc5FzkXvoVv4Vv4FjkX923u29y3uW+Tc5Nzk3OTc5NzkzO8Gs98dei3H/rtZzz74KHffui3nwGv6Lcf+u2Hfvuh336+/fZ19US/fePqt29ffX3z/fMHnejr+/PfBT6ffvtbv3n10de37pnfvPro61vz6o2+vnW//5tXH53o61t5dT/6zau+vm9effREL/T1/fk3yc+n3/7RB/3ju173zJdX63XPeXn10ZdX67WvHuh59T3b5dVXb3RcfTO/vPrq6zvuGS6vvroffXm15j3b5dVXX995z3Z59dXXd93Xw+XVVx/09V33tXF59dXXd93cLq/Wume4vPrqib6++57n8uqrr+++3/Py6qsTfX33/bO+vProy6sVN9vLq6+e6Osb95yXV199feNme3n11df3/R65vPrq63vu97y8+uqBvr7nfv/Lq6++vu/3yOXVVx/09c37Gri8+urrm/dsl1dffX3rZnt59dULfX375nx59dXv9++91+XV6pvz5dXqe5fLq9U/Z3j327/6x3ff1/+73/7VC73RcfW8+qATXeh+9OXVvu+dd799j3H1RC/0Rl/f8f4+B53o6zvi6us77h0vr756oN++ffVCX9/7nnr327/6oBN9fee91+XVR19e7fv+evfbv3qir++6Z768+urre99r7377V1/f+15799u/+vre99e73/7VA31973vt3W//6ut731/vfvtXH/T1ve+1d7/9q69v3LNdXn319T0358urr17o63v//+jdb//q65v3zJdXX3197/vr3W//6Murndf38uqrJ/r63v9vevfbv/r61vW9vPrqRBf6+vZ9TV5effVAX9/7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7hvc93Dfw30POR9yPuR8yPmQ8yFneDXg1YBXA17Rby/67UW/vei3F/32GknOSc5JzkXORc5FzvBqwKsBrwa8ot9e9NuLfnvRby/67TWanJucm5ybnJucm5zh1YBXE15NeEW/vei3F/32ot9e9NtrPvtgzWcfrPnsgzWffbDmsw8W/faa8GrCqwmvJryi317024t+e9FvL/rtNZ99sOazD9Z89sGazz5Y89kHi357TXhFv73otxf99qLfXhNeTXg14RX99qLfXvTbi357ffvtffVAX9+ffz+8Pv32vne/vDo//wZ+vfvtX33QiS50P/ry6qsHeqIXGt/AN/ANfOPte88f/ejzQg/0RC/0Rr99b27noN++N7fLq/Pz386od7/99yfCP/ry6quv77rnvLz66oXe6EAf9PX9+bf9691v/+p+9OXVV1/ffV8nl1dfvdDXN+75L6+++vrG+/tc33j//kL3oy+vvvr6xr375dU59/yXV78/Ob36+ubN+fLq5M328urkzfby6tT791/f9/vx8ur3J4+/9bvf/tXX9+ffe693v/2rF3qjr+99nb/77V+d6EL3o8cLPdATvdAbje/Ad+A78B34TnwnvhPfie/Ed+I78Z34Tnwnvgvfhe/Cd+G78F34LnwXvgvfhe/Gd+O78d34bnw3vhvfje/Gd+Mb+Aa+gW/gG/gGvoFv4Bv4Br4H34Pvwffge/A9+B58D74H34Nv4pv4Jr6Jb+Kb+Ca+iW/im/gWvoVv4Vv4Fr6Fb+Fb+Ba+hW/j2/g2vo1v49v4Nr6Nb+Pbj+9+vdADPdELvdGBPuhEFxpfeLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXh1YZXG15teLXhVcCrgFcBrwJeBbwKeBXwKuBVwKuAVwGvAl4FvAp4FfAq4FXAq4BXAa8CXgW8CngV8CrgVcCrgFcBrwJeBbwKeBXwKuBVwKuAVwGvAl4FvAp4FfAq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tzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99qbf3vTbm357029v+u1Nv73ptzf99n732/OVVxe6H315lT9/d7Xf/fYc++qJXlefqzc60Aed6EJf33F95ws90BO90Bsd6INOdKHxXfgufBe+C9+F78J34bvwXfgufDe+G9+N78Z347vx3fhufDe+G9/AN/ANfAPfwDfwDXwD38A38D34HnwPvgffg+/B9+B78D34HnwT38Q38U18E9/EN/FNfBPfxLfwLXwL38K38C18C9/Ct/AtfBvfxrfxbXwb38a38W18G99+fN/99q8e6Ile6I0O9EEnutD4DnwHvgPfge/Ad+A78B34Dnzh1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1YFXB14deHXg1fnwqq5e6Ou7xtXXd+2rr+86Vyf6+q739+xHv3n10QN9fdf1evPqozc60G/fvvp933ueN6/26+p+9IdX9/e8ebXvXd68+uiF3ujgaw8a38b3zav9M9u8++2519UDPdELvdGBPuhEF7ofPfAd+A58B74D34HvwHfgO/Ad+E58J74T34nvxHfiO/Gd+E58J74L34Xvwnfhu/Bd+C58F74L34Xvxnfju/Hd+G58N74b343vxnfjG/gGvoFv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",
      "is_unconstrained": false,
      "name": "transfer_private_to_public_with_commitment",
      "verification_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB74AAAAAAAAAAAAAAAAAAAAb8BDbZnuY200NHOxlpYsLH8AAAAAAAAAAAAAAAAAAAAAACUym7QtB/JGv1GaWYMWggAAAAAAAAAAAAAAAAAAAND/aURYf5YWDGfHJH6YIyEPAAAAAAAAAAAAAAAAAAAAAAAMOdK6/gXTveZsLR/puzgAAAAAAAAAAAAAAAAAAABvd7OvEq6vJCZv47rkzNML9gAAAAAAAAAAAAAAAAAAAAAAKmgz6CwWH52ct5xoHIzSAAAAAAAAAAAAAAAAAAAAEj7iBaujcIL9ZkDIipsxuAcAAAAAAAAAAAAAAAAAAAAAACgQIUgpiO6csudHHwrCcwAAAAAAAAAAAAAAAAAAADlfXmpqYeZs7XMswvW5qsI7AAAAAAAAAAAAAAAAAAAAAAAM1VJUgYG5MpP49/1elUMAAAAAAAAAAAAAAAAAAADrSHffTGjIeAbfrx2hQDo3xAAAAAAAAAAAAAAAAAAAAAAAI2Pnj9f+nGtoOtYD8VQEAAAAAAAAAAAAAAAAAAAAH/rGECPcmMpAQwGH2YmLwU4AAAAAAAAAAAAAAAAAAAAAAAkTif6lcaCIgjstc6K18gAAAAAAAAAAAAAAAAAAAMqNZqxggIKY+Ri7aTIBLP2VAAAAAAAAAAAAAAAAAAAAAAABfxzEWkxyjtQAwRMdKUIAAAAAAAAAAAAAAAAAAABmHKPJrDhE8IAG8AK7CSoTugAAAAAAAAAAAAAAAAAAAAAAFP2VcE0yFRBIcMJLQMQcAAAAAAAAAAAAAAAAAAAA9bt2KhTB/T3T8Bak8n0zmZQAAAAAAAAAAAAAAAAAAAAAAA+V4YH8HXFCUuBHHb7Z0wAAAAAAAAAAAAAAAAAAAOsoZattPo5b2yl6p/3TZf2RAAAAAAAAAAAAAAAAAAAAAAAVrIjoQp/dLDdrw0WTMsAAAAAAAAAAAAAAAAAAAACQVerZGOnWlVOsjlgIxiEoRgAAAAAAAAAAAAAAAAAAAAAAFR7MrC0CRzyfvvveTmbdAAAAAAAAAAAAAAAAAAAA34RD4CY/7x6vQarrV/2yyVwAAAAAAAAAAAAAAAAAAAAAAAot+yK0pCzlx7efA+XTYQAAAAAAAAAAAAAAAAAAADKV5Skq5e58zJPucpMJ/0oEAAAAAAAAAAAAAAAAAAAAAAAlPhj9v98Uc9CgAq5ucpwAAAAAAAAAAAAAAAAAAAC8k+mZtUTlk/RUGVTMCWOrtAAAAAAAAAAAAAAAAAAAAAAADKSacQH0ad9pK8Fl2sy1AAAAAAAAAAAAAAAAAAAAR4YTw2D8Ndgz12kbwtz4JvsAAAAAAAAAAAAAAAAAAAAAABVnqqPcCP/yj0+2kLR91wAAAAAAAAAAAAAAAAAAABiKpeZe4M6powIoD/PpaoQFAAAAAAAAAAAAAAAAAAAAAAARXEQ6sYvMSRviGapklN8AAAAAAAAAAAAAAAAAAACLPqQLd4aZEN+AVkzex5Z8GQAAAAAAAAAAAAAAAAAAAAAABnCMIHYy1cg5BBbimLGoAAAAAAAAAAAAAAAAAAAA17dekxuU5U5dW0B9x4vIvDEAAAAAAAAAAAAAAAAAAAAAAAIcTCt4cwRnHts2glPTWwAAAAAAAAAAAAAAAAAAAN8kBdluN3c/CSjOhboFF6akAAAAAAAAAAAAAAAAAAAAAAAu2AcaJmoUic4oNUkhQfAAAAAAAAAAAAAAAAAAAAAxLJptbhPigx5UZQwH5mT9IQAAAAAAAAAAAAAAAAAAAAAAJ77FaaEgHQx9WezZbcxBAAAAAAAAAAAAAAAAAAAAO9TCtK6It+o7ivGEI3DOGUIAAAAAAAAAAAAAAAAAAAAAAB12wg0iyMXm1PQscjIJRwAAAAAAAAAAAAAAAAAAANulVp6vxkWbhJD7yu+5BniKAAAAAAAAAAAAAAAAAAAAAAAAwmFRp9qP9Bqp/zTuCwoAAAAAAAAAAAAAAAAAAACqcIFtmqsrZ9yGzgHDT2aBqgAAAAAAAAAAAAAAAAAAAAAADrzcALefr06ADzwPlaRaAAAAAAAAAAAAAAAAAAAAKGLeyGQe5xCWNotgQUclJbQAAAAAAAAAAAAAAAAAAAAAACBNnX0XXUDzfezpPmEvgAAAAAAAAAAAAAAAAAAAAHTIlMnKmWZip0fr92byPu36AAAAAAAAAAAAAAAAAAAAAAAuRtF3zj4AS80jsOHjXLUAAAAAAAAAAAAAAAAAAACmq08hK++APCKgSxYXKHa+XAAAAAAAAAAAAAAAAAAAAAAALhD40HKJvz+NDSf4uptRAAAAAAAAAAAAAAAAAAAAYu/D5NFIcpf1weFdpqKcauUAAAAAAAAAAAAAAAAAAAAAABRQEDFWugZfMhz2sMo8jAAAAAAAAAAAAAAAAAAAABnx20nYehetCSmy9db19aZdAAAAAAAAAAAAAAAAAAAAAAAlsv29oeTAQH/ky/8zr+UAAAAAAAAAAAAAAAAAAADsn/kb530+UGbsWubkfWaDLAAAAAAAAAAAAAAAAAAAAAAAK71mt2PNaI6GSwn3/uuCAAAAAAAAAAAAAAAAAAAAkXj2r6tPy0W7YbPfrZDKrLEAAAAAAAAAAAAAAAAAAAAAABm2ZMHU+0ie8JYbEpd2FQAAAAAAAAAAAAAAAAAAADWGvpGAaBgIjwVJrN2sEhraAAAAAAAAAAAAAAAAAAAAAAAtrSXUiD/2tXW6a04xoOsAAAAAAAAAAAAAAAAAAABCNaKL+CmiR0O/Q/JEtz+CoQAAAAAAAAAAAAAAAAAAAAAAEyt51PGlGSxoFZIMx5BdAAAAAAAAAAAAAAAAAAAAMezJIRuXRRyrK1D7tiejTioAAAAAAAAAAAAAAAAAAAAAACiUxJoe36u8DzndMUC5IwAAAAAAAAAAAAAAAAAAAKdTHC4W5pdCQWQr0VPuEMXEAAAAAAAAAAAAAAAAAAAAAAAbOFbUQuVeJDJEKqOVmXIAAAAAAAAAAAAAAAAAAACzBi+XwzzIfeRHqt3R8DQJbAAAAAAAAAAAAAAAAAAAAAAAIYi32cPVFIoZHDgOFtPVAAAAAAAAAAAAAAAAAAAA9un6/sDnOuzLIQBYIYGLyNAAAAAAAAAAAAAAAAAAAAAAAAf/5BTnuyW26uLJoimupAAAAAAAAAAAAAAAAAAAADhrRF7xWRsHMmNYp2VxtPYUAAAAAAAAAAAAAAAAAAAAAAAp8cnVUZ//ASiyLes5bkMAAAAAAAAAAAAAAAAAAAAa68Q4/PGTftpfdzMbcwzzqAAAAAAAAAAAAAAAAAAAAAAADtWqqoKrjea5O/cnv/TLAAAAAAAAAAAAAAAAAAAAn/LgxoYNmpqCoJrfKb7LUh0AAAAAAAAAAAAAAAAAAAAAABfxyrtCPSppev5SYqBRtwAAAAAAAAAAAAAAAAAAAEfeJ/nk2f3kNynt+l34M/tYAAAAAAAAAAAAAAAAAAAAAAAkwBhMiHmAKDSLAsCtQQQAAAAAAAAAAAAAAAAAAACHjQWj5O0edd8uMoq0lFzOqQAAAAAAAAAAAAAAAAAAAAAAG4KxWC8qxT0pXDUJUXr/AAAAAAAAAAAAAAAAAAAAmTiAJpX27ZG6CMFkBTfBTwQAAAAAAAAAAAAAAAAAAAAAACVXNaqGGKMK1i/DwO69XQAAAAAAAAAAAAAAAAAAAJOs5W0FMxfGMQSi8B4gq9AwAAAAAAAAAAAAAAAAAAAAAAAL3f4s15t2Azt4ju50K6IAAAAAAAAAAAAAAAAAAADzN81VIKuFMTjVyXWHrM4//gAAAAAAAAAAAAAAAAAAAAAAAPB4D9fBHHNut+DNHdKwAAAAAAAAAAAAAAAAAAAAiY43FQVoK+GHcOF8ZNryaJgAAAAAAAAAAAAAAAAAAAAAAAt0C2gb1sPuh9IK3g/ziwAAAAAAAAAAAAAAAAAAAOjouREL0Hzse/YhyytYtiazAAAAAAAAAAAAAAAAAAAAAAAJKCvnOXD/P8XnT96DnBUAAAAAAAAAAAAAAAAAAABEDR2hQ+vpm8dG86C3jZnFiwAAAAAAAAAAAAAAAAAAAAAAL+JJNoonD7kw5YDtCsxFAAAAAAAAAAAAAAAAAAAAC8yPjCtmlw1XoPuP9NGghQsAAAAAAAAAAAAAAAAAAAAAAC6aR/KHc984nAIyZ+avKwAAAAAAAAAAAAAAAAAAAO95RBSmpN011CFOhrQ4/evzAAAAAAAAAAAAAAAAAAAAAAAi1yeyx7cmMxmyg0V3PNYAAAAAAAAAAAAAAAAAAABifkrpO2tDrn4zHzf1XzJbOAAAAAAAAAAAAAAAAAAAAAAAHYjgIxfACrkCO1PwAutiAAAAAAAAAAAAAAAAAAAAJ26a4VDvFApd5ph+sQq3zVIAAAAAAAAAAAAAAAAAAAAAAAItIHFKLhh4/WHSYcinWwAAAAAAAAAAAAAAAAAAAMElznsi5IriwFA3QnPLhl4BAAAAAAAAAAAAAAAAAAAAAAAgJO7Smc4lgau7Ove/9PsAAAAAAAAAAAAAAAAAAABgiDOd0alsQ5arUU9DJe3SEwAAAAAAAAAAAAAAAAAAAAAAA2eTDLnQR9J0XC/+SoGzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADnA60PM68XrhrBCIJ6GY79jwAAAAAAAAAAAAAAAAAAAAAAEfu4ZL7fafbNTtx5yad4AAAAAAAAAAAAAAAAAAAAlVc0izz69wJAXxKZENwCI1AAAAAAAAAAAAAAAAAAAAAAAAMEbK40YbgkRXf8i9PtGwAAAAAAAAAAAAAAAAAAAGvMegX/lalrKJQkxfczZw2WAAAAAAAAAAAAAAAAAAAAAAAAxDcm91tv2g3iLODg36sAAAAAAAAAAAAAAAAAAAAdCgnXF47JO614WPluZPC0jQAAAAAAAAAAAAAAAAAAAAAAL5tuC04sAZaN5cMkgqp9AAAAAAAAAAAAAAAAAAAAF6UyFPM7GtAJ5GGyaZJyGb4AAAAAAAAAAAAAAAAAAAAAABQQfUvkU8gEqOKRhpGbPgAAAAAAAAAAAAAAAAAAAJKHn2GoKCaTAlYbtX87FVfPAAAAAAAAAAAAAAAAAAAAAAAoRQUJTjXTtVikNALK2uI="
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "13884764065023066770": {
            "error_kind": "string",
            "string": "Invalid partial note or completer"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "26387131971136782": {
            "error_kind": "string",
            "string": "Invalid response from registry"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "7613585609636476352": {
            "error_kind": "string",
            "string": "Cannot complete a PartialUintNote with a value of 0"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          }
        },
        "parameters": [
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "commitment",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "tZzvTiW3DsDfhc98SJw4f/oqV1VFt7RCQuyK7l7pqtp3v7EntgeqmIEZvsAPn3McJ3Ecx5nDPzd/3P/+46/fHp7+/Pr3zS//+efm9+eHx8eHv357/Prl7vvD16ch/ecm0I/Yx690O37jzS/19gbC+DtGgiGIJIlZoE/IQUBeyvISigRFUkRS2oQKAnVCiwJlQpcmupjRSWG7vUkhCbQJcSiEQFAmQBQQSRJJEkkWSR5mwOhyQhAQSaH3ZILxqUSSihP6lGQasQ3mSzmKJIoERAJZoE1ISaBOyCAgTWAUEIU0vAxFFNLwpjGTmYZ3gzqhiaSJpIukTwnSqKZM0CbQqKZCQJIxBQhpAg3mBsPCDANoMDO9mWzGMapINiO9hGVCCfOlghMqSagtGlWGJpLWJvQkMEzF0UShtkogGJrL0FyorQ1wvkRtbUCS8fFCbW3QJrQkMDSX0Z1Cw7JB2aCGKCCSKJIoEprT0gj6BJrTGgjahEySTFAnkLNtIJIikiISGpZKCmlYNsgCfUIXSW8bNJrKDeoEmsoNhs1tDFQDnJBFgkFAXioiKSKpIqlZoE2gwdygTqDB3GA20WkwN0CBPiFmAVI4+t4BBOqEJJIkkiySLBIkM5CgTaBRbYWgTkmNAmVCE0nDCRR/NiDDKkHfIAYa39aYmshohCdVIVAZRaGNaOVMoqY6UxeieDppaO6RiPxkUhUqKisqqyqrKqNJ6cDUhGhaOlkfaTomoRCFrkkqA5WByboQ+fqkJpS1DZqYjVBbo4CwUVHNFMYmqeZKgT4ExqpIwUzQpN2kXaUQwJA2i0CjAjEZ8ntpXABApTRdE2m+BE3KG+BENKQdKtBmCpgMm2LhJpCxKNZoaNJm0mbSbtKtm8OxY9q6uSG9N1KPE02gYFekYCVo0mTSZFIKWoJVkRxS0FqjnVKQG6ZBTTUoNlaWGVkZ28sdok18IArmLQnZMBs2RZ7CiSZN9rFkyrJJsynjydoQTRmasmLSYlLOXTbkFIVSk4HZsAvylhopw4i8qU6kSCFYFClhETQp94ISkYjci4lNkU0HYGyK7GeQGKtiRcXGSL1A7kXij/EEJAo/hUd9YlfkUZ/YFMGkYNJkUgrXE2nrFiyKGAzNBrSGi5lTrAmei4nWBC+cHBlRkbs5UaU1BEOTRpPyDFGCEyvP0ER+L7lyZZebaFJeOBPJXkp2YuXJQtbAqwX5DRwJNqwm5UiAtNArd2iiSdnlJtJAUfoTeesXbIrschOLIndoIplOqdDArshBYSIrI4dp3LcaGTnHJxvalvdXxq7Ia2h7w5b9M3Jcr52xKW6pPyMHhYlkGe3s46BCQ837LucP4ychT9ZEk4JJ2Sc3ZJ/sFHc4cxAsirRHCZq0mLSYlEPbxGzYFZu11ppit4Y5ghOOQ1c0RMUYDLmJxtgUeelNNGkyaTJpNinPW+98yMuGjc5DQEjzBoGlFEAmVjA0aTNpM2mPhigYaQoFs2FXjMmwKQIYFsUUDakJPrVG2r4mUrQXNCmaFE1aTEoTC7RnDURDfm8mbCxFPhEnQ7KXojIA5d0T6bQgWBTBpGDSZFLu0MSuyB2aaK1RWBG0hmkPEOQmqBfAfZuIhtwE9Q1aMmyK3aRdpXwQFzRpZCORsSsCv7cy8ntp3lJKhibNJs0m5cP5xKpYTFpMWqNhUWzBEBW7SXs21IZzSIbaRI5gSE3QGRwyT+xENOyKFFMFTZr5vVxIYfec2BR5QU40aTVpNSkvyIlFkRfkRG0NeUFOzIZdMSbDqghgyE3QOGAKhqiYTZpNiiZFk27llsBYFNlpaT8GzmFE2hXpUCxoUnbaiU2wUK4MtI0PLIq8TCdyE5mxK0I2NGkyaTJpNil3MyMjGvJ7KRQXnljKCYCTEUFUjCaNO2lXZMsmmjSZlFfWhtla46LXhryyJpqU52KiNVzNnGpNVGu4WRPNGu7cRGasgi1EQ1TcerzhJv358/ZGSpe/fX++v6fK5a6WOSqc3+6e75++3/zy9OPx8fbmv3ePP/hNf3+7e+Lf3++ex6vDA+6f/hi/h8I/Hx7viX7e2qfD+qMjxuH89AhhqArGgemFiuioCCOAiI4wYoUqaeWFDnB0UBln09CzGdGP96NQMWTTMGZo2Y+8VpFylqFIudhQvDICLxiJ8okjkUMXfxiHyLAcibZWMYJmnCowFOvFSFNeqOgXDEUMZ8fC7UjYdSQvOxId16wZxIqK2dGR1jq6rbKeMqiOsaO/1OG4Zx+prugYU7zW4ThoorC1eXivqgEavNTguWfJooK2gQ/pGIUSMyO0j+noKaqO0tc6HB/Ntcus5JZg52DvMEMX28B1VzwfzTqi45YBlv4FcEUITp+52kamqT3Z7yWve+J46DhL6XCM+mPIy544szKqPzKxIzEqy6VCifvZJQvt/JKFfnbJJi+KcnVhm9hx7P6YDtC9kQ5Tax1werl5Zhxdbr6H2XjQZUZdeVjylOQorj6qq3h6tZT1anGGY1wKmBmj4mNhEF86WHLsGLU8Cx0p7ex42ZXkOWnHal5adznHy77kcEEMy/FsDPO6MkrsMqQjHyzrrqTTmWTOV4wGfuZojBMMFSw3HS3stLzysOyE0lFUKJqR4no4mhfDMCYNYriL6a+Hw/PSLF1JZT0cb5ihmTHV2dLKDIyeGWijYZsCfmw8dz15fVBxPLQWGc1RklcFGd7lGNEco7aVYyCeHAnfimhu0cZdxdIKZzhHNb6JYwxniKaktJdKrnBQPO2geIWDlrMO+o4RBViNaDnroq4VI/1Cs2J3jn1tBbqJT8ia+Yyj4HJAvUNTbqoDYZ0tvGFI6WZIWybGbyjJYacEl0rcjFS9tNqYjtv698yMDghddeFqZmp0K1dB+5LCesVV7+AUQfPaWNdlo5rOz65vR9dj9Sier+3wJpdvMqeOXVrbX42p46gdipjRocflgaU6kzsu2bsevtCGNB234uDRq/bzR68Wzh69Wjx/9HJ1HDx6tXT66OWagdm8HOFjXdnrqO1jOg4WoA7raB/TcbSI5eo4WMTq4VOn9uip+o0tX1fLCOlxGdK7F0nHXbvtcTG3pZJ8Pnp0PB89ejkbPXo9Hz1cHQejRz9fJ3XNOBg9Dutwooen4+iqdXUcLT2H/Kljesmy7fzEnSzb3fn+1YqLwdXSLQUaVy6w1uIVonLrakvu61Q7hu6lHylp+pHLIv14w5BuBweMsMySY3SvRa36MmqEy7TQNwUhVjUFUlmb4sXVUqrtd+3DptihDlNc3+hFtyRli7iWj5tScGcKrE3x4knToiX0ED5qSrJq8jh7O6a4B/+oZ6qcs2OK15/AD+7MVQi5fmgtj09qZBr14PXZ7D1adoezV1r86naROtcoRodl7TFCPl/ejt6dwdH6dvRupY5fiXv3Usdqum5vjpa4o3svdazGHdMVJf+Y4qeOyMi0QMNSbLsa9WtXS06YxaixDfdbKby+UE7ZLayqp1l4HEWoVyrwfAYcUzmfAsdUTz9vkNr5JNhXcjALjvn8Scs15GjO5vtZ6DIkCLsA/S8/8+6osu1boya4U5Lgw+umlOW68a6pStTssUDoa1Oyd9yCEtXZoKRl5Tt6Vysp9iS2JHpwfq2lXRHXvOuqg3HN707TnG10p6wzWffCCjUUjNqvZ4o/P2E3P3md3Xv3VqPMUOy4YnNMiddHvXa3n/8rsXC1dLTacW9r38dywZ6B9fSe4V0cHd4z8IKiayynq66xXFB29ZUc3TPK+cLrexytL69ao3f1U3vQ+7RR218HWe8iK2V7MnSwEx6LVy6wQaHvc60X8Rum6MXc4PX1T3TvslKqElBSyml9fKuey5aa7UpsfdT3Djuwu6yEUMJykr1rpINPWkT3OuvoTXas+exV9luGHLvLjrWcvMw+Pqjrxy1ibScvs3330MLlqNjF9VnYu9A6fBb2bwsOnoXbFQ+sxnb6iVW3N4fPwg3Pn4XbJdWBVj91RACw6bIbSds6EjUvFQB9unGkFmZKfuXzvhLU01Ivu6dI/qWkO/0Zp23LGUcwcmzpcEGC5F1wHU6QvAuugwlSxwsSpI4XJEjeJcbRBKnjBYdq19da1fkdd5lLJ4FwRUELwvmClt8b0Ac5GianN95h6/Cz+N5N1+GH8cMFJS0IF5S0IJwuaUG4oKTlKzm4+iCeL2m5hhx+Jt93tYMP5YN3z3X0qfzjS2d/nH7PzhUDJr0sG9m8E0+8rxeNMolsXQUTrj02XvFNlnjFV1ni6e+yALjf8zz2+I+r5OhTAL6Sg48BAJyvD7xhyAXbH/3LrWAO29ZZEoAbYsVfe+y7g318lyURzZLsLB1wv16jX9scK2d5dnxDh+7mQ8fyIAzeHdeoMWlMKvmDMYn+DZo+GhEqrlNh8L6BNS4EarIAGZqj5oJvs0K64OuskE5/nxW8e67Dm7Gr5Ohm7N0NHY0FriEHn7M6rsR50MpVcjjGpgu+5Qs5fe64XhVjuyU5FcJ6+Xk3KaMkYs9FtNTXccm7GhoX8xqX0u65onfVLDnazKIU5LiqFIB3zYVBAySGdc0S0P0vFlbYSruaVE+vdMTzG4av49iG4V5xeRvGr+PPuy8Pzy/+5fFPUvb8cPf74/38888fT192r37/3zd5Rf5l8rfnr1/u//jxfE+a7P8mjx//wWEdVvj19ibynyMYYO70Z6Q/R1kPW/71Jxnzfw==",
      "is_unconstrained": true,
      "name": "transfer_public_to_commitment"
    },
    {
      "abi": {
        "error_types": {
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15835548349546956319": {
            "error_kind": "string",
            "string": "Field failed to decompose into specified 32 limbs"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "16466267804227883608": {
            "error_kind": "string",
            "string": "Got an ephemeral public key with a negative y coordinate"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "643863379597415252": {
            "error_kind": "string",
            "string": "A NewNote cannot have a zero note hash counter"
          },
          "7555607922535724711": {
            "error_kind": "string",
            "string": "Preimage mismatch"
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9703767922216001139": {
            "error_kind": "string",
            "string": "Can't read a pending nullifier with a zero contract address"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "9955882447908484433": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 101
          }
        },
        "parameters": [
          {
            "name": "inputs",
            "type": {
              "fields": [
                {
                  "name": "call_context",
                  "type": {
                    "fields": [
                      {
                        "name": "msg_sender",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "contract_address",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                        }
                      },
                      {
                        "name": "function_selector",
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                        }
                      },
                      {
                        "name": "is_static_call",
                        "type": {
                          "kind": "boolean"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::call_context::CallContext"
                  }
                },
                {
                  "name": "anchor_block_header",
                  "type": {
                    "fields": [
                      {
                        "name": "last_archive",
                        "type": {
                          "fields": [
                            {
                              "name": "root",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "next_available_leaf_index",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                        }
                      },
                      {
                        "name": "state",
                        "type": {
                          "fields": [
                            {
                              "name": "l1_to_l2_message_tree",
                              "type": {
                                "fields": [
                                  {
                                    "name": "root",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "next_available_leaf_index",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                              }
                            },
                            {
                              "name": "partial",
                              "type": {
                                "fields": [
                                  {
                                    "name": "note_hash_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "nullifier_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  },
                                  {
                                    "name": "public_data_tree",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "root",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "next_available_leaf_index",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::state_reference::StateReference"
                        }
                      },
                      {
                        "name": "sponge_blob_hash",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "global_variables",
                        "type": {
                          "fields": [
                            {
                              "name": "chain_id",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "version",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "block_number",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "slot_number",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "timestamp",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 64
                              }
                            },
                            {
                              "name": "coinbase",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::eth_address::EthAddress"
                              }
                            },
                            {
                              "name": "fee_recipient",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            },
                            {
                              "name": "gas_fees",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                        }
                      },
                      {
                        "name": "total_fees",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "total_mana_used",
                        "type": {
                          "kind": "field"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                  }
                },
                {
                  "name": "tx_context",
                  "type": {
                    "fields": [
                      {
                        "name": "chain_id",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "version",
                        "type": {
                          "kind": "field"
                        }
                      },
                      {
                        "name": "gas_settings",
                        "type": {
                          "fields": [
                            {
                              "name": "gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "teardown_gas_limits",
                              "type": {
                                "fields": [
                                  {
                                    "name": "da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  },
                                  {
                                    "name": "l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas::Gas"
                              }
                            },
                            {
                              "name": "max_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            },
                            {
                              "name": "max_priority_fees_per_gas",
                              "type": {
                                "fields": [
                                  {
                                    "name": "fee_per_da_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  },
                                  {
                                    "name": "fee_per_l2_gas",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 128
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                        }
                      }
                    ],
                    "kind": "struct",
                    "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                  }
                },
                {
                  "name": "start_side_effect_counter",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs"
            },
            "visibility": "private"
          },
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": {
          "abi_type": {
            "fields": [
              {
                "name": "call_context",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "function_selector",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::call_context::CallContext"
                }
              },
              {
                "name": "args_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "returns_hash",
                "type": {
                  "kind": "field"
                }
              },
              {
                "name": "anchor_block_header",
                "type": {
                  "fields": [
                    {
                      "name": "last_archive",
                      "type": {
                        "fields": [
                          {
                            "name": "root",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "next_available_leaf_index",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                      }
                    },
                    {
                      "name": "state",
                      "type": {
                        "fields": [
                          {
                            "name": "l1_to_l2_message_tree",
                            "type": {
                              "fields": [
                                {
                                  "name": "root",
                                  "type": {
                                    "kind": "field"
                                  }
                                },
                                {
                                  "name": "next_available_leaf_index",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                            }
                          },
                          {
                            "name": "partial",
                            "type": {
                              "fields": [
                                {
                                  "name": "note_hash_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "nullifier_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                },
                                {
                                  "name": "public_data_tree",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "root",
                                        "type": {
                                          "kind": "field"
                                        }
                                      },
                                      {
                                        "name": "next_available_leaf_index",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::partial_state_reference::PartialStateReference"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::state_reference::StateReference"
                      }
                    },
                    {
                      "name": "sponge_blob_hash",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "global_variables",
                      "type": {
                        "fields": [
                          {
                            "name": "chain_id",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "version",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "block_number",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 32
                            }
                          },
                          {
                            "name": "slot_number",
                            "type": {
                              "kind": "field"
                            }
                          },
                          {
                            "name": "timestamp",
                            "type": {
                              "kind": "integer",
                              "sign": "unsigned",
                              "width": 64
                            }
                          },
                          {
                            "name": "coinbase",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::eth_address::EthAddress"
                            }
                          },
                          {
                            "name": "fee_recipient",
                            "type": {
                              "fields": [
                                {
                                  "name": "inner",
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                            }
                          },
                          {
                            "name": "gas_fees",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::global_variables::GlobalVariables"
                      }
                    },
                    {
                      "name": "total_fees",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "total_mana_used",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::block_header::BlockHeader"
                }
              },
              {
                "name": "tx_context",
                "type": {
                  "fields": [
                    {
                      "name": "chain_id",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "version",
                      "type": {
                        "kind": "field"
                      }
                    },
                    {
                      "name": "gas_settings",
                      "type": {
                        "fields": [
                          {
                            "name": "gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "teardown_gas_limits",
                            "type": {
                              "fields": [
                                {
                                  "name": "da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                },
                                {
                                  "name": "l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 32
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas::Gas"
                            }
                          },
                          {
                            "name": "max_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          },
                          {
                            "name": "max_priority_fees_per_gas",
                            "type": {
                              "fields": [
                                {
                                  "name": "fee_per_da_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                },
                                {
                                  "name": "fee_per_l2_gas",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 128
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::protocol_types::abis::gas_fees::GasFees"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::abis::gas_settings::GasSettings"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::transaction::tx_context::TxContext"
                }
              },
              {
                "name": "min_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "is_fee_payer",
                "type": {
                  "kind": "boolean"
                }
              },
              {
                "name": "expiration_timestamp",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 64
                }
              },
              {
                "name": "start_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "end_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_non_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "expected_revertible_side_effect_counter",
                "type": {
                  "kind": "integer",
                  "sign": "unsigned",
                  "width": 32
                }
              },
              {
                "name": "note_hash_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifier_read_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::side_effect::counted::Counted"
                              }
                            },
                            {
                              "name": "contract_address",
                              "type": {
                                "fields": [
                                  {
                                    "name": "inner",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::scoped::Scoped"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "key_validation_requests_and_separators",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "request",
                              "type": {
                                "fields": [
                                  {
                                    "name": "pk_m",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "x",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "y",
                                          "type": {
                                            "kind": "field"
                                          }
                                        },
                                        {
                                          "name": "is_infinite",
                                          "type": {
                                            "kind": "boolean"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "std::embedded_curve_ops::EmbeddedCurvePoint"
                                    }
                                  },
                                  {
                                    "name": "sk_app",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"
                              }
                            },
                            {
                              "name": "key_type_domain_separator",
                              "type": {
                                "kind": "field"
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "call_context",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "function_selector",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::function_selector::FunctionSelector"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::call_context::CallContext"
                              }
                            },
                            {
                              "name": "args_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "returns_hash",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "start_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            },
                            {
                              "name": "end_side_effect_counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::abis::private_call_request::PrivateCallRequest"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_call_requests",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 32,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "msg_sender",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "contract_address",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                    }
                                  },
                                  {
                                    "name": "is_static_call",
                                    "type": {
                                      "kind": "boolean"
                                    }
                                  },
                                  {
                                    "name": "calldata_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "public_teardown_call_request",
                "type": {
                  "fields": [
                    {
                      "name": "msg_sender",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "contract_address",
                      "type": {
                        "fields": [
                          {
                            "name": "inner",
                            "type": {
                              "kind": "field"
                            }
                          }
                        ],
                        "kind": "struct",
                        "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                      }
                    },
                    {
                      "name": "is_static_call",
                      "type": {
                        "kind": "boolean"
                      }
                    },
                    {
                      "name": "calldata_hash",
                      "type": {
                        "kind": "field"
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::abis::public_call_request::PublicCallRequest"
                }
              },
              {
                "name": "note_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "kind": "field"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "nullifiers",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "note_hash",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::nullifier::Nullifier"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "l2_to_l1_msgs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 8,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "recipient",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "inner",
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::address::eth_address::EthAddress"
                                    }
                                  },
                                  {
                                    "name": "content",
                                    "type": {
                                      "kind": "field"
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "private_logs",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 16,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "log",
                                    "type": {
                                      "fields": [
                                        {
                                          "name": "fields",
                                          "type": {
                                            "kind": "array",
                                            "length": 16,
                                            "type": {
                                              "kind": "field"
                                            }
                                          }
                                        },
                                        {
                                          "name": "length",
                                          "type": {
                                            "kind": "integer",
                                            "sign": "unsigned",
                                            "width": 32
                                          }
                                        }
                                      ],
                                      "kind": "struct",
                                      "path": "aztec::protocol_types::abis::log::Log"
                                    }
                                  },
                                  {
                                    "name": "note_hash_counter",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::private_log::PrivateLogData"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              },
              {
                "name": "contract_class_logs_hashes",
                "type": {
                  "fields": [
                    {
                      "name": "array",
                      "type": {
                        "kind": "array",
                        "length": 1,
                        "type": {
                          "fields": [
                            {
                              "name": "inner",
                              "type": {
                                "fields": [
                                  {
                                    "name": "value",
                                    "type": {
                                      "kind": "field"
                                    }
                                  },
                                  {
                                    "name": "length",
                                    "type": {
                                      "kind": "integer",
                                      "sign": "unsigned",
                                      "width": 32
                                    }
                                  }
                                ],
                                "kind": "struct",
                                "path": "aztec::protocol_types::abis::log_hash::LogHash"
                              }
                            },
                            {
                              "name": "counter",
                              "type": {
                                "kind": "integer",
                                "sign": "unsigned",
                                "width": 32
                              }
                            }
                          ],
                          "kind": "struct",
                          "path": "aztec::protocol_types::side_effect::counted::Counted"
                        }
                      }
                    },
                    {
                      "name": "length",
                      "type": {
                        "kind": "integer",
                        "sign": "unsigned",
                        "width": 32
                      }
                    }
                  ],
                  "kind": "struct",
                  "path": "aztec::protocol_types::utils::arrays::claimed_length_array::ClaimedLengthArray"
                }
              }
            ],
            "kind": "struct",
            "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"
          },
          "visibility": "databus"
        }
      },
      "bytecode": "H4sIAAAAAAAA/+ydB3hU1fb2mTMTEhISBlEEG1GkSQdFUSz03lWQHiBAFJIQAoKogKiABTIBrCAoHSz0Il0RKbMpohRFBRt2UUHsfGuAYU7qfmdzXvV/P+5zn+fum7ystWbttdbvlMk57kzf0weqde+ecF96Yq/uyWndk5LTE9OSE/oP6t49PS0heVCfxLTuqYN79k/q1T09pXtqWtKQhPREVfTtgxdeNmphvf4Jve6plzK00eDkXvUT+vcfNatd3VaNG2aOmtMhKT05cdAgKx4QuV2AqChiqdhtgKi4fySguhhSXYZEdTkiugIRlUJE8VDkV0KqqyBVaUh1NRJ8OTG1oF5aUv/+SX0DgkkFMjImZmRsii+Q/39co+bXHTQoMS29U2JaysQMX+am+Gq9W6Udrj69wso2DZePGtWxa/maXzYZtirVV//w8YlH5Z8o94T8zb5X+dN7TMzmHW1EcJFLJpa2SRmUmNQ7JblGm8S0AYPTE9KTUpIzJ53NjIR7dl3m7Kqs7fcZk5Tbp9yZyj1RuSdljXxipj6F5QCNeIByMFlrqkD4AZaHAsyEAnwKCNBkkybb1k/Z1hNt60myUU8r9zPK/axyP5c1D5nAZ7wa+oTPA02jb0ixEx9+hMWgCKdoDLnajoQinHJb1pnh8o2a3T4puW//xNMtq4sWyVWBUzYHpPZPVO6p2ERCQp/qyhp6cXLoL4Q/TH0ToTDENhbwNH1pmPmflhHm0MEsTxXLE6F6ngqppkGq6Qa7BER45rMAnxrbS+izvEjZF9nxqRiMXgL8Z+lCK8wudOkdHCzgDXXhjNByZmg5K7ScHVrOCS3nhpbzQsv5oeWC0PLl0PKV0PLV0PK10HJhaLkotFzs3JSbh8lexmSvYbLFRseES/L/yA/0/Ow+E7NL8zTrCS6MDjeW2NYzbOvZtvVSOdxYptzLlXuFcq8M/7BLihRSLYMysYp04LXKtl5uW6+wrVdKJl5X7tXKvUa515rs47o8o3efU/T2fZxlW79uW6+T6Ncr9wbl3qjcb5hE/2b+ua/SIa6ZidlNeZqNPaekvGlbz7Gt59rWmyQpbyn3ZuV+W7m3mBT3PEj1FpSJrYzTHhnxkGozFOI2TogLINXbUIjbSSNiq229zbbebltvkXryK7dS7h3KvdMkEy9DKj+UiV2czXoFUikoxN2cEF+FVDugEN8h1dMu23q3bf2Obb1T6mmPcr+r3O8p916TTLwGqfZAmdjH2ayFkOpdKMT9nBAXQar3oBAPkOppn22937Y+YFvvlXp6X7k/UO6Dyv2hSSYWQ6r3oUx8RMrER7b1B7b1Qdv6Q8nEx8p9SLkPK/cnJsctn+Yf/d3PNFNG0X9qW39sW6/PdjD3mXJ/rtxfKPeRrKef7rAvAn2m34fM0Jndl6HlVwYX17Ey+wzagi9zqrpkU4mtr8I9gfdkhjKYy+fL7iHcdH8Z1jW3r507kf46l63AkpzdXXb/Yhuy9Y02mwWgT/KN3Ogx+ChfQSrso3yb86Nk/0fQR/k219tfr7Yc3D89qX2vhP4JabKcNHHU3PopyYPSE5LTgWLIqbV2Fus2uODMrr0ql4tt+GOJCyaNvnXTkw/dWq5SGHYL2MP+0rb+KpzgJir3d8r9vXL/kMvHXthwQM/E3r0Te9cfnDYksW7v3pPsdz6+s62/t61/sIvm29YL7JeHwgzyqHL/qNw/5bx7oSsNFzQEjoZ7oIJB6ef8zX536KohRlD6+ezalcd1ogCSjin3ceX+RblPnNt9CVdYE/JXzl0J2aRfM8K82wDu0m/5e3cPaDfCaJd+y3WXjmXbpd+V+w/l/lO5/8q6SxGZ4ZLsGFDExI3/2zk0/u0K/zal3ESAdvukQzGejD+3riqgl4SS6ynA6aoCYhlKrsgQlYtwP1BidPlQ7xpRgX9yzyzanllYPizSbiCHd0i9lEEa1uNm7yrkwravHtJ9d49bbGMBRzDuuwf8R1Duu3sCIUMnBR4XpIqAVAXDPRvGRmEEpCpIOVjxRObvO7b6M0tMerog5j2Kc43IE2lbR4W+cZr1xqenkPJEK0+M8hQ2uYjxNLRthaA8xJLyEGtbR9vWMbZ1YclEnPIUUR6v8hTNOvoKTg539CE7GpZJy2mDsnOOm/TEOW2yjN5gBhpcwTBnMDg6LuCYLZanWeus2XP7iqxsl219gW1dTHrhQuW5SHmKK8/FWXshMnPUrLppaQnDfP9aUUhw/3BZZMlA1GTHazjfS7H2/7w9tOnFhGSFOzpOOviRAhZDV949JULLkk5uIXDy6SkRb3AQVlD+HXaEUxBq/Esc+jCXZDuTLhT28XtJ5Pj9zDBQnku5uxXeZLs0n8l2mfJcrjxXKE+pLLudie52yYnQUbI44hz1i+VLdQyZW6bGeBrx4vM32/SDo32MDtPic/nrjSyQClzZ81ypPFcpT2nluTprfUeHXd9X/osHF/BWX+LkbCnj0GwpE29SN2Xz9z5zzNznTcyWy99sT19Ef6NytP3hkKdcbqV56uypvPJUUJ5rlKci6c+JPOWhLFQinTtVsq0r2NbX2NYVJQ+VlaeK8lRVnmpZ2zImeLw4UXskENgpxw6pMEPlnD82rQxNFc6fmJyUyyhQ0xQtwJpXZTD/rnDRhF3nqo5sUVHoqjsQInRLw1M924FYYd+/V1LndEUXaBbb9dwanCIvJ5axrNUkXM0V7zWRo7oseY7NsKXlWhRrNcO9zIqZvS5/swV/nH+pESeuy+0Pbj3XZjt4q6U81yvPDcpT2yT2G7UpiTzH2CVC2/rGbKy/SXnqKM/NynMLi/U3QXm4lcT6W23rOrb1zbb1LZKH25SnrvLUU576WQs97unwBkpZZy8jRIY7V6911n+B8K6MEY49bnPeZHX4JMn5kQb9xaanuhieiH0WLEpI1cCho4MG8eF/+wqNsSHlIPN55Z6O7XcjxkGm+0Xlfgnz35h/j7t6WMdETVj3uKUHmmABN6Xc4xb/TTlXuxqClrPs48UTz+4j6KVshrMsiA9D7Dp7GfVggXjlaaY8zZWnhfK0VJ5WytNaedooT1vlaac87ZXnduW5Q3nuVJ4OytNRee5Snk7K01l5uihPV+XppjzdlaeH8iQoT0/l6aU8vZVHCq+P8vRVnn7Kk+TY18k8zaIgWXNM1gKTtcRkrTBZa0zWBpO1xWTtMFl7THY7JrsDk92JyTpgso6Y7C5M1gmTdcZkXTBZV0zWDZN1x2Q9MFkCJuuJyXphst6YLBGT9cFkfTFZP0yWFBU2h8oKImQ4Q0cdzTSqH06eFOI016oCXGqhU52iV8v8VZmn/kTI0ypf1bHTf0jkaZ2f6tCZPzfytMlHVS/4R0metnmrMs7+6ZKnXZ6qlNAfOHna56VaafszKM/teaiG2v9YynNH7qrGWf6kynNnrqojWf/wytMhN1WNbH+e5emYi6pc9j/i8tyF/KmXp1MOVYeuOVWds6tGdsxF1SWbauSo3FRds6qWjcpV1S2LqsHy3FXd7arWDfNQ9bCpVrTJS5UQUpVfmaeq51nVtAp5q3oFVdWm56PqfUZ1qHp+qsTTqoGH81X1OaVqmZa/qm9A1auVRtVPVFV761RJ/POhJO3s2207H7qbdT6UJLYzM/WxBGSIvXsoZ00S5T0+KMp7wt25EpkGO6cR7QrrnMb2nZ7+oeUA584/+mOyAVEGX2v1JEEQ7w8dEAwAMmtwDQhznky55iZn5fdgX0xoCEWZQrl2kCyGfY75P8fJ2E9bUFNtkzGVNRnlGkAqMBmnBmSIvYGUyShRDvRBUQ40qByovlOcrO+0cG93YyNgIKQaFO6N4fDh0U8rmmIKj/TQcrBz8EjHZION4NEPgkc6tHmDgcwaVA7mfAhlBKVJSWJj+V4KFoaI4X/Tf4oYxr7OkoJFCamGsr8eIucq2rJfYkPcMBbi5Er3MABxSwIyxN59FMRJlPf5oCjvY91YGYp1wXAOvO6DVPfz4dVXK1psCq8HQssHnYPXA5jsQSN49YXg9QC0eQ8CmTWoHMz5CMpwGS4libXNSErbjhDDHP9g8kdCqlGU084gOXWmT5NTr8LI+RDlFGOUGHYy46P5fO+jnQwTbHx/mMV3uZn9MMD3CQEZYu8RCt8lykd8UJSPsPg+GhsUj3IGxSOQagyf7320ovGmfB8bWo5zju9jMdk4I773gfg+Ftq8cUBmDSoHc/4YZbg8KiWJtc3jlLZ9TAxz/IPJfxxSPUFJfpCJeiXGxCcp5H5CDDuZy/F8cidqez7eRu4JLHIHbAPkjg/IEHsZFHJLlBk+KEraVx7HYyPAxxkBGZAqk0/uRK2olCm5J4aWk5wj90RMNsmI3IkQubEri5OAzBpUDuZ8MmW4+KQksbZ5itK2k8Uwxz+Y/Kcg1dOU5AeZqFdiTHyGQu6nxbCTuXyWT+7e2p7fZSP3cyxy9xbbALl3BWSIvecp5JYon/dBUT7PIvez2AiYwhkB0MNaPVP55O6tFe00JfcLoeU058j9AiabZkTu3hC5X4A2bxqQWYPKwZxPpwyXKVKSWNtQ3pPomS6GOf7B5L8IqV6iJD/IRL0SY+IMCrlfEsNO5nImn9y9tD2fYCP3LBa5e4ltgNwJARlibzaF3BLlbB8U5WwWuWdiI2AOZwTMhlRz+eTupRX1MCV36JWsnvnOkRt7dapnvhG5e0Hkngdt3nwgswaVgzlfQBkuc6QksbZ5mdK2C8Qwxz+Y/Jch1SuU5AeZqFdiTHyVQu5XxLCTuXyNT+6e2p7fbyP3Qha5e4ptgNz7AzLE3iIKuSXKRT4oykUscr+GjYDFnBGwCFIt4ZO7p1a0z5TcS0PLZc6ReykmW2ZE7p4QuZdCm7cMyKxB5WDOl1OGy2IpSaxtVlDadrkY5vgHk78CUq2kJD/IRL0SY+IqCrlXimEnc/k6n9wJ2p5vaiP3aha55TR1NUDupgEZYm8NhdwS5RofFOUaFrlfx0bAWs4IWAOp1vHJnaAVNTEl9/rQcoNz5F6PyTYYkTsBIvd6aPM2AJk1qBzM+UbKcFkrJYm1zRuUtt0ohjn+weS/AanepCQ/yES9EmPiJgq53xTDTubyLT65e2h7fpGN3JtZ5O4htgFyLwrIEHtvU8gtUb7tg6J8m0Xut7ARsIUzAt6GVFv55O6hFS00Jfe20HK7c+Tehsm2G5G7B0TubdDmbQcya1A5mHM/ZbhskZLE2kZR2tYvhjn+weQrSLWDkvwgE/VKjIk7KeTeIYadzOUuPrm7a3t+jY3cu1nk7i62AXKvCcgQe+9QyC1RvuODonyHRe5d2AjYwxkB70Cqd/nk7q4VrTYl93uh5V7nyP0eJttrRO7uELnfgzZvL5BZg8rBnO+jDJc9UpJY2+yntO0+MczxDyZ/P6Q6QEl+kIl6JcbE9ynkPiCGnczlB3xyd9P2fHMbuQ+yyN1NbAPkbh6QIfY+pJBbovzQB0X5IYvcH2Aj4CPOCPgQUn3MJ3c3raiZKbkPhZaHnSP3IUx22Ijc3SByH4I27zCQWYPKwZx/QhkuH0lJYm3zKaVtPxHDHP9g8j+FVJ9Rkh9kol6JMfFzCrk/E8NO5vILPrm7ant+pI3cR1jk7iq2AXKPDMgQe19SyC1RfumDovySRe4vsBHwFWcEfAmpvuaTu6tWNMKU3N+Elt86R+5vMNm3RuTuCpH7G2jzvgUya1A5mPPvKMPlKylJrG2+p7Ttd2KY4x9M/veQ6gdK8oNM1CsxJh6lkPsHMexkLn/kk7tLWOT+iUXuLmIbI/dP0Mf6mUJuifJnjNw/s8j9IzYCjnFGwM+Q6jif3F145P4ltDzhHLl/wWQnjMjdBSL3L9DmneCQG3P+K2W4HJOSxNrmN0rb/iqGOf7B5P8GqX6nJD/IRL0SY+IfFHL/LoadzOWffHJ31vb8PBu5/2KRu7PYBsg9LyBD7P1NIbdE+bcPivJvFrn/xEbASc4I+BtRRRTgk7uzVjTXkNwRrtDScozcES5MZhmRuzNC7ggXtHkWkNnwKwd07qYMl5NSklDbRHgYbRvhFsMc/2DyPZAqgpL8IBP1SoiJEQUZ5I6IEMNO5jKST+5O2p6fGSJ3RBSL3J3ENkDumQEZ0iyFKOSWKAv5oCgLkcgdEYmNgGjOCCgEqWL45O6kFc0wJXfh0DLWOXIXxmSxRuTuBJG7MLR5sUBmDSoHcx7HGC4R0VKSWNsUoZA7Tgxz/IPJLwKpvJTkB5moV2JMLEoht1cMO5nLC/jkvkvb8wds5C7GIvddYhsg94GADKmCCynkligv9EFRXsgi9wXYCLiIMwIuhFTF+eS+Syvab0rui0PLEs6R+2JMVsKI3HdB5L4Y2rwSQGYNKgdzXpICj4ukJLG2uYRC7pJimOMfTP4lkOpSSvKDTNQrMSZeRiH3pWLYyVxezid3R23P77CR+woWuTuKbYDcOwIypApKUcgtUZbyQVGWYpH7cmwExHNGQClIdSWf3B21ImVK7qtCy9LOkfsqTFbaiNwdIXJfBW1eaSCzBpWDOb+aAo94KUmsbcpQyH21GOb4B5NfBlKVpSQ/yES9EmNiOQq5y4phJ3NZnk/uDtqeL2kjdwUWuTuIbYDcJQMypAquoZBborzGB0V5DYvc5bERUJEzAq6BVJX45O6gFZUwJXfl0LKKc+SujMmqGJG7A0TuytDmVQEya1A5mPOqFHhUlJLE2qYahdxVxTDHP5j8apCqOiX5QSbqlRgTa1DIXV0MO5nLmnxy36nt+VU2cl/LIvedYhsg96qADKmC6yjkliiv80FRXscid01sBNTijIDrINX1fHLfqRWtNCX3DaFlbefIfQMmq21E7jshct8AbV5tILMGlYM5v5ECj1pSkljb3EQh941imOMfTP5NkKoOJflBJuqVGBNvppC7jhh2Mpe38Ml9h7bnx9rIfSuL3HeIbYDcYwMypApuo5BborzNB0V5G4vct2AjoC5nBNwGqerxyX2HVjTGlNz1Q8sGzpG7PiZrYETuOyBy14c2rwGQWYPKwZw3pMCjrpQk1jaNKOSWtm3E8Q8mvxGkakxJfpCJeiXGxCYUcjcWw07msimf3Ldre76JjdzNWOS+XWwD5G4SkCFV0JxCbomyuQ+KsjmL3E2xEdCCMwKaQ6qWfHLfrhU1NiV3q9CytXPkboXJWhuR+3aI3K2gzWsNZNagcjDnbSjwaCElibVNWwq524hhjn8w+W0hVTtK8oNM1CsxJrankLudGHYyl7fzyd1e2/M+G7nvYJG7vdgGyO0LyJAquJNCbonyTh8U5Z0sct+OjYAOnBFwJ6TqyCe3vn8zTMl9V2jZyTly34XJOhmRuz1E7rugzesEZNagcjDnnSnw6CAlibVNFwq5O4thjn8w+V0gVVdK8oNM1CsxJnajkLurGHYyl9355G6n7flUG7l7sMgt+9sDIHdqQIZUQQKF3BJlgg+KMoFF7u7YCOjJGQEJkKoXn9z684MUU3L3Di0TnSN3b0yWaETudhC5e0Oblwhk1qByMOd9KPDoKSWJtU1fCrn7iGGOfzD5fSFVP0ryg0zUKzEmJlHI3U8MO5nLu/nkbqvt+XU2ct/DIndbsQ2Qe11AhlRBfwq5Jcr+PijK/ixy342NgAGcEdAfUiXzya2/rLjWlNwpoWWqc+ROwWSpRuRuC5E7Bdq8VCCzBpWDOR9IgccAKUmsbdIo5B4ohjn+weSnQapBlOQHmahXYkxMp5BbWi/dyVwO5pO7jbbn423kHsIit9wKGgKQOz4gQ6rgXgq5Jcp7fVCU97LIPRgbAUM5I+BeSDWMT279DdFSpuS+L7Qc7hy578Nkw43I3QYi933Q5g0HMmtQOZjz+ynwGColibXNAxRy3y+GOf7B5D8AqR6kJD/IRL0SY+IICrkfFMNO5nIkn9yttT1f2EbuUSxytxbbALkLB2RIFTxEIbdE+ZAPivIhFrlHYiNgNGcEPASpHuaTW/89qhhTcj8SWj7qHLkfwWSPGpG7NUTuR6DNexTIrEHlYM7HUOAxWkoSa5uxFHKPEcMc/2Dyx0KqcZTkB5moV2JMfIxC7nFi2MlcPs4ndyttzyfbyP0Ei9ytxDZA7uSADKmCJynkliif9EFRPski9+PYCBjPGQFPQqoJfHK30ooGmJI7I7T0OUfuDEzmMyJ3K4jcGdDm+YDMGlQO5jyTAo/xUpJY20ykkDtTDHP8g8mfCKkmUZIfZKJeiTFxMoXck8Swk7l8ik/ultqeL2oj99MscrcU2wC5iwZkSBU8QyG3RPmMD4ryGRa5n8JGwLOcEfAMpHqOT279H555Tcn9fGg5xTlyP4/JphiRuyVE7uehzZsCZNagcjDnUynweFZKEmubFyjkniqGOf7B5L8AqaZRkh9kol6JMXE6hdzTxLCTuXyRT27gD39t5H6JRe4WYhsKOGIGhcnif0YGi7YvYm07k9O2MyDVLINtBT6SGEbSeo5F3DysIp7NKuLmYhsr4jmUIhb/cyhFHNjHOc4V8TnudjN9HLbdnsva7WZiG+vAuVBNzKPUhEQ5D9u5eRQkSuXMw8A9E4pyPmVIS5bmZ3DG73xItYBy1BQ8HtErseORlynDZYEYxqLEcvkKi+OvYG/YbhjuCLx4YlgjMBJzgZ+4FogP6yzXN2pW3bS0hGEHC8SriFdVxGsqYqGKWKQiFquIJSpiqYpYpiKWq4gVKmKlililIl5XEatVxBoVsVZFrFMR61XEBhWxUUW8oSLeVBGbVMRbKmKzinhbRWxREVtVxDYVsV1F+FWEcu7M+dUoSPYaJluIyRZhssWYbAkmW4rJlmGy5ZhsBSZbiclWYbLXMdlqTLYGk63FZOsw2XpMtgGTbcRkb2CyNzHZJkz2FibbjMnexmRbMNlWTLYNk23HZH5MprJdyztY4EoMERArX4Wu+b2mVQXovFCnOsXwRfmrMo+eUi3OV3Vs4mnVkvxUh46fUS3NR1XvcFC1LG9VRv2zquV5qlJ8IdWKvFQrU22qlXmohq6yq1blrmo8LIvq9VxVR5pkVa3OTVXjy2yqNbmoytXMrlqbU9WlfA7VuhyqDl1zqtZnV43smItqQzbVyFG5qTZmVS0blavqjSyqBstzV71pV7VumIdqk021ok1eqrdCqvIr81RtPquaViFv1dtBVbXp+ai2nFEdqp6fautp1cDD+aq2nVK1TMtftT2g6tVKo/KLqmpvnUrRLyQEXGhm327bhYQdpAsJEUpsA3ctdwdkiL2djAsJgSh3+qAod4a7c2HfuAOKY5fpjbtdoeVu504/dmGy3SY37iIUBPFd0AHBbiCzBldBMOfvMC5CB87cd0LXF8Bjpj2UqyDviGGfY/7PcTL6tQU11TYZ32VNRrkE8C4wGacGZIi99yiTUaJ8zwdF+R7jEmugvvc4Wd97ORdC34NU++jf+ggUt0Y0xRQe+0PLA87BYz8mO2AEDz8Ej/3Q5h0AMmtQOZjz9ykjaK+UJDaWP6Bg4X0x/G/63yOGsa9U7MGihFQH6V98iNiuLfslNsR9yEKcXOj+EEDckoAMsfcRBXES5Uc+KMqPWDdfDmJd8DEHXh9BqkN8eG3XihabwutwaPmJc/A6jMk+MYLXdgheh6HN+wTIrEHlYM4/pQyXj6Uksbb5jAKPT8Uwxz+Y/M8g1eeU7z4FyakzfZqcehVGzi8o3+L4XAw7mfEjfL5v006GCTa+f8niu9zL/hLg+4SADLH3FYXvEuVXPijKr1h8P4INiq85g+IrSPUNn+/btKLxpnz/NrT8zjm+f4vJvjPi+zaI799Cm/cdkFmDysGcf08ZLl9LSWJt8wOF79+LYY5/MPk/QKqjlOQHmahXYkz8kULuo2LYyVz+xCf3Vm3P2x+99zOL3FvFNvbovZ+hj3WMQm6J8hj26L1jLHL/hI2A45wRcAxS/cIn91atyPjReydCy1+dI/cJTParEbm3QuQ+AW3er0BmDSoHc/4bZbgcl5LE2uZ3Crl/E8Mc/2Dyf4dUf1CSH2SiXokx8U8Kuf8Qw07m8i8+ubdoe36Xjdx/s8i9RWwD5N4VkCH2TlLILVGe9EFRnmSR+y9oBBQswBkBJyHnLj65t2hFOw3JXdAKLd2OkbughcncRuTegpC7oAVtnhvIbPiVAzr3MIZLwUBJYm0TwWjbgh4xzPEPJj8CUhWkTPYgE/VKiIkFIxnkLlhQDDuZyyg+ud/W9nxCiNwFC7HI/bbYBsidEJAhzRJNIbdEGe2DoowmkbtgFDYCYjgjIBpSFeaT+22tqIcpuWNDyzjnyB2LyeKMyP02RO5YaPPigMwaVA7mvAiF3DFSkljbeCnkLiKGOf7B5HshVVFK8oNM1CsxJl5AIXdRMexkLovxyb1Z2/P7beS+kEXuzWIbIPf+gAypgoso5JYoL/JBUV7EIncxbAQU54yAiyDVxXxyb9aK9pmSu0RoWdI5cpfAZCWNyL0ZIncJaPNKApk1qBzM+SUUeBSXksTa5lIKuS8Rwxz/YPIvhVSXUZIfZKJeiTHxcgq5LxPDTubyCj6539L2fFMbuUuxyP2W2AbI3TQgQ6ognkJuiTLeB0UZzyL3FdgIuJIzAuIh1VV8cr+lFTUxJXfp0PJq58hdGpNdbUTutyByl4Y272ogswaVgzkvQ4HHlVKSWNuUpZC7jBjm+AeTXxZSlaMkP8hEvRJjYnkKucuJYSdzWYFP7k3anl9kI/c1LHJvEtsAuRcFZEgVVKSQW6Ks6IOirMgidwVsBFTijICKkKoyn9ybtKKFpuSuElpWdY7cVTBZVSNyb4LIXQXavKpAZg0qB3NejQKPSlKSWNtUp5C7mhjm+AeTXx1S1aAkP8hEvRJjYk0KuWuIYSdzeS2f3G9qe36NjdzXscj9ptgGyL0mIEOqoBaF3BJlLR8UZS0Wua/FRsD1nBFQC1LdwCf3m1rRalNy1w4tb3SO3LUx2Y1G5H4TIndtaPNuBDJrUDmY85so8LheShJrmzoUct8khjn+weTXgVQ3U5IfZKJeiTHxFgq5bxbDTubyVj6539D2fHMbuW9jkfsNsQ2Qu3lAhlRBXQq5Jcq6PijKuixy34qNgHqcEVAXUtXnk/sNraiZKbkbhJYNnSN3A0zW0Ijcb0DkbgBtXkMgswaVgzlvRIFHPSlJrG0aU8jdSAxz/IPJbwypmlCSH2SiXokxsSmF3E3EsJO5bMYn90Ztz4+0kbs5i9wbxTZA7pEBGVIFLSjklihb+KAoW7DI3QwbAS05I6AFpGrFJ/dGrWiEKblbh5ZtnCN3a0zWxojcGyFyt4Y2rw2QWYPKwZy3pcCjpZQk1jbtKORuK4Y5/sHkt4NU7SnJDzJRr8SYeDuF3O3FsJO5vINP7g1hkftOFrk3iG2M3HdCVdCBQm6JsgNG7g4sct+BjYCOnBHQAVLdxSf3Bh65O4WWnZ0jdydM1tmI3BsgcneCNq8zh9yY8y4UeHSUksTapiuF3F3EMMc/mPyukKobJflBJuqVGBO7U8jdTQw7mcsefHKv1/b8PBu5E1jkXi+2AXLPC8iQKuhJIbdE2dMHRdmTRe4e2AjoxRkBPSFVbz6512tFc03JnRha9nGO3ImYrI8RuddD5E6ENq8PkFmDysGc96XAo5eUJNY2/Sjk7iuGOf7B5PeDVEmU5AeZqFdiTLybQu4kMexkLu/hk3udtudn2sjdn0XudWIbIPfMgAypggEUckuUA3xQlANY5L4HGwHJnBEwAFKl8Mm9TiuaYUru1NByoHPkTsVkA43IvQ4idyq0eQOBzBpUDuY8jQKPZClJrG0GUcidJoY5/sHkD4JU6ZTkB5moV2JMHEwhd7oYdjKXQ/jkXqvt+QM2ct/LIvdasQ2Q+0BAhlTBUAq5JcqhPijKoSxyD8FGwDDOCBgKqe7jk3utVrTflNzDQ8v7nSP3cEx2vxG510LkHg5t3v1AZg0qB3P+AAUew6QksbZ5kELuB8Qwxz+Y/Ach1QhK8oNM1CsxJo6kkHuEGHYyl6P45F6j7fkdNnI/xCL3GrENkHtHQIZUwWgKuSXK0T4oytEsco/CRsDDnBEwGlI9wif3Gq1ImZL70dByjHPkfhSTjTEi9xqI3I9CmzcGyKxB5WDOx1Lg8bCUJNY24yjkHiuGOf7B5I+DVI9Rkh9kol6JMfFxCrkfE8NO5vIJPrlXa3u+pI3cT7LIvVpsA+QuGZAhVTCeQm6JcrwPinI8i9xPYCNgAmcEjIdUGXxyr9aKSpiS21bumc6R24fJMo3IvRoiN1Y5mUBmDSoHcz6RAo8JUpKY/0kUck8Uwxz/YPInQarJlOQHmahXYkx8ikLuyWLYyVw+zSf369qeX2UbZc+wyP262AbIvSogQ6rgWQq5JcpnfVCUz7LI/TQ2Ap7jjIBnIdXzfHK/rhWtNCX3lNByqnPknoLJphqR+3WI3FOgzZsKZNagcjDnL1Dg8ZyUJNY20yjkfkEMc/yDyZ8GqaZTkh9kol6JMfFFCrmni2Enc/kSn9yrtD0/1kbuGSxyC+xmAOQeG5AhVTCTQm6JcqYPinImi9wvYSNgFmcEzIRUs/nkXqUVjTEl95zQcq5z5J6DyeYakXsVRO450ObNBTJrUDmY83kUeMySksTaZj6F3PPEMMc/mPz5kGoBJflBJuqVGBNfppB7gRh2Mpev8Mm9UtvzTWzkfpVF7pViGyB3k4AMqYLXKOSWKF/zQVG+xiL3K9gIWMgZAa9BqkV8cq/UihqbkntxaLnEOXIvxmRLjMi9EiL3YmjzlgCZNagczPlSCjwWSklibbOMQu6lYpjjH0z+Mki1nJL8IBP1SoyJKyjkXi6GnczlSj65V2h73mcj9yoWuVeIbYDcvoAMqYLXKeSWKF/3QVG+ziL3SmwErOaMgNch1Ro+ufX9m2FK7rWh5TrnyL0Wk60zIvcKiNxroc1bB2TWoHIw5+sp8FgtJYm1zQYKudeLYY5/MPkbINVGSvKDTNQrMSa+QSH3RjHsZC7f5JN7ubbnU23k3sQit+zvJoDcqQEZUgVvUcgtUb7lg6J8i0XuN7ERsJkzAt6CVG/zya0/P0gxJfeW0HKrc+Tegsm2GpF7OUTuLdDmbQUya1A5mPNtFHhslpLE2mY7hdzbxDDHP5j87ZDKT0l+kIl6JcZERSG3Xww7mcsdfHIv0/b8Ohu5d7LIvUxsA+ReF5AhVbCLQm6JcpcPinIXi9w7sBGwmzMCdkGqd/jk1l9WXGtK7j2h5bvOkXsPJnvXiNzLIHLvgTbvXSCzBpWDOX+PAo/dUpJY2+ylkPs9MczxDyZ/L6TaR0l+kIl6JcbE/RRy7xPDTubyAJ/cS7U9H28j9/sscsutoPcBcscHZEgVfEAht0T5gQ+K8gMWuQ9gI+AgZwR8AKk+5JNbf0O0lCm5PwotP3aO3B9hso+NyL0UIvdH0OZ9DGTWoHIw54co8DgoJYm1zWEKuQ+JYY5/MPmHIdUnlOQHmahXYkz8lELuT8Swk7n8jE/uJdqeL2wj9+csci8R2wC5CwdkSBV8QSG3RPmFD4ryCxa5P8NGwBHOCPgCUn3JJ7f+e1QxpuT+KrT82jlyf4XJvjYi9xKI3F9Bm/c1kFmDysGcf0OBxxEpSaxtvqWQ+xsxzPEPJv9bSPUdJflBJuqVGBO/p5D7OzHsZC5/4JN7sbbnk23kPsoi92KxDZA7OSBDquBHCrklyh99UJQ/ssj9AzYCfuKMgB8h1c98ci/WigaYkvtYaHncOXIfw2THjci9GCL3MWjzjgOZNagczPkvFHj8JCWJtc0JCrl/EcMc/2DyT0CqXynJDzJRr8SY+BuF3L+KYSdz+Tuf3Iu0PV/URu4/WOReJLYBchcNyJAq+JNCbonyTx8U5Z8scv+OjYC/OCPgT0j1N5/c+j8885qS++TZZWQB58h9EpJFFjAi9yKI3CeRzYssAGTWoHIw5y4KPP6SkoTaJtJitG2k/Nfi+MeSH2lBKjcl+UEm6pUQEyM9DHJHusWwk7mM4JMb+MPfELkjC7LIvVBsQwFHRlKYLP4jM0i0jYzA2jaK07aRkKqQwbYCH0kMI2k9xyJ+LawijmYV8WtiGyviGEoRi/8YShEH9jHGuSI+x91+VR+HbbcLs3b7VbGNdWBhqCZiKTUhUcZiOxdLQaJUTiwE7sgoKMo4Rn0HshSXwRm/cZCqCKNEzx6P6JXY8YiXMlyKiGEsSiyXRVkcLwo1kqdhuCPw4olnRyAai+dapFzxc9cC8WGd6PpGzaqblpYw7GCBeBV5gYospiIvVJEXqcjiKvJiFVlCRZZUkZeoyEtV5GUq8nIVeYWKLKUiRXylirxKRZZWkVeryDIqsqyKLKciy6vICiryGhVZUUVWUpGVVWQVFVlVRVZTkdUdO3mOvCAKkhXDZBdisoswWXFMdjEmK4HJSmKySzDZpZjsMkx2OSa7ApOVwmTxmOxKTHYVJiuNya7GZGUwWVlMVg6TlcdkFTDZNZisIiarhMkqY7IqmKwqJquGyapHGfDqWsGEjGeImBcgV/4ii2lVAUZfqFOdIvlF+asyj55SFc9XdWziadXF+akOHT+jKpGPqt7hoKpk3qqM+mdVl+SpSvGFVJfmpVqZalNdlodq6Cq76vLcVY2HZVFdkavqSJOsqlK5qWp8mU2VW+WUq5lddWVOVZfyOVRX5VB16JpTVTq7amTHXFRXZ1ONHJWbqkxW1bJRuarKZlE1WJ67qpxd1bphHqryNtWKNnmpKoRU5VfmqbrmrGpahbxVFYOqatPzUVU6ozpUPT9V5dOqgYfzVVU5pWqZlr+qakDVq5VGVU1UVXvrVNXplxMCLjSzb7ftckIN0uWEyOpiG7h3uTsgQ+zVZFxOCERZ0wdFWTPcnQv79h1QHLsMb99FXhtaXufcGci1mOw6k9t3kdUhiF8LHRBcB2TW4FoI5rwW41J04Py9JnSVwdMQivJ6yrWQWmLY55j/c5yM1bQFNdU2GW9gTUa5CnADMBmnBmSIvdqUyShR1vZBUdZmXGgN1Pf1Ttb3jZzLobUh1U30734EilsjmmIKjzqh5c3OwaMOJrvZCB7VIHjUgTbvZiCzBpWDOb+FMoJulJLExvKtFCzcIob/Tf/Xi+GJGJawKCHVbfSvP0RW1Zb9Ehvi6rIQJ9e66wKIWxKQIfbqURAnUdbzQVHWY92CuQ3rgvoceNWDVA348KqqFS02hVfD0LKRc/BqiMkaGcGrKgQv7LCnEZBZg8rBnDemDJf6UpJY2zShwKOxGOb4B5PfBFI1pXwDKkhOnenT5NSrMHI2o3yXo6kYdjLjzfl8r6KdDBNsfG/B4rvczm4B8H1CQIbYa0nhu0TZ0gdF2ZLF9+bYoGjFGRQtIVVrPt+raEXjTfneJrRs6xzf22CytkZ8rwLxvQ20eW2BzBpUDua8HWW4tJKSxNqmPYXv7cQwxz+Y/PaQ6nZK8oNM1CsxJt5BIfftYtjJXN7JJ3dlbc/bHsAX2YFF7spiG3oAn8gQex0p5JYoO0IP4Av415gzJPed2Ai4izMCOkKqTnxyV9aKTB/AF9k5tOziHLk7Y7IuRuSuDJG7M7R5XYDMGlQO5rwrZbjcJSWJtU03Crm7imGOfzD53SBVd0ryg0zUKzEm9qCQu7sYdjKXCXxyV9L2/C4buXuyyF1JbAPk3hWQIfZ6UcgtUfbyQVH2YpE7ARsBvTkjoBekSuSTu5JWtNOU3H1Cy77OkbsPJutrRO5KELn7QJvXF8isQeVgzvtRhktvKUmsbZIo5O4nhjn+weQnQaq7KckPMlGvxJh4D4Xcd4thJ3PZn0/uitqeT7CRewCL3BXFNkDuhIAMsZdMIbdEmeyDokxmkbs/NgJSOCMgGVKl8sldUSvqYUrugaFlmnPkHojJ0ozIXREi90Bo89KAzBpUDuZ8EGW4pEhJYm2TTiG37Gs6xz+Y/HRINZiS/CAT9UqMiUMo5B4shp3M5b18cl+j7fn9NnIPZZH7GrENkHt/QIbYG0Yht0Q5zAdFOYxF7nuxEXAfZwQMg1TD+eS+RivaZ0ru+0PLB5wj9/2Y7AEjcl8Dkft+aPMeADJrUDmY8wcpw+U+KUmsbUZQyP2gGOb4B5M/AlKNpCQ/yES9EmPiKAq5R4phJ3P5EJ/cFbQ939RG7tEsclcQ2wC5mwZkiL2HKeSWKB/2QVE+zCL3Q9gIeIQzAh6GVI/yyV1BK2piSu4xoeVY58g9BpONNSJ3BYjcY6DNGwtk1qByMOfjKMPlESlJrG0eo5B7nBjm+AeT/xikepyS/CAT9UqMiU9QyP24GHYyl0/yyV1e2/OLbOQezyJ3ebENkHtRQIbYm0Aht0Q5wQdFOYFF7iexEUB6DuQESOXjk7u8VrTQlNy25UTnyJ2JySYakbs8RG5siycCmTWoHEw1iTJcMqQksbaZTCH3JDHM8Q8mfzKkeoqS/CAT9UqMiU9TyP2UGHYyl8/wyV1O2/NrbOR+lkXucmIbIPeagAyx9xyF3BLlcz4oyudY5H4GGwHPc0bAc5BqCp/c5bSi1abknhpavuAcuadisheMyF0OIvdUaPNeADJrUDmY82mU4fK8lCTWNtMp5J4mhjn+weRPh1QvUpIfZKJeiTHxJQq5XxTDTuZyBp/cZbU939xG7pkscpcV2wC5mwdkiL1ZFHJLlLN8UJSzWOSegY2A2ZwRMAtSzeGTu6xW1MyU3HNDy3nOkXsuJptnRO6yELnnQps3D8isQeVgzudThstsKUmsbRZQyD1fDHP8g8lfAKlepiQ/yES9EmPiKxRyvyyGnczlq3xyl9H2/EgbuV9jkbuM2AbIPTIgQ+wtpJBbolzog6JcyCL3q9gIWMQZAQsh1WI+uctoRSNMyb0ktFzqHLmXYLKlRuQuA5F7CbR5S4HMGlQO5nwZZbjI3avFWNssp5B7mRjm+AeTvxxSraAkP8hEvRJj4koKuVeIYSdzuYpP7qvDIvfrLHJfLbYxcr8OfazVFHJLlKsxcq9mkXsVNgLWcEbAaki1lk/uq3nkXhdarneO3Osw2Xojcl8NkXsdtHnrOeTGnG+gDBe5e7UWa5uNFHJvEMMc/2DyN0KqNyjJDzJRr8SY+CaF3G+IYSdzuYlP7tLanp9nI/dbLHKXFtsAuecFZIi9zRRyS5SbfVCUm1nk3oSNgLc5I2AzpNrCJ3dprWiuKbm3hpbbnCP3Vky2zYjcpSFyb4U2bxuQWYPKwZxvpwyXt6UksbbxU8i9XQxz/IPJ90MqRUl+kIl6JcbEHRRyKzHsZC538sl9lbbnZ9rIvYtF7qvENkDumQEZYm83hdwS5W4fFOVuFrl3YiPgHc4I2A2p9vDJfZVWNMOU3O+Glu85R+53Mdl7RuS+CiL3u9DmvQdk1qByMOd7KcPlHSlJrG32Uci9Vwxz/IPJ3wep9lOSH2SiXokx8QCF3PvFsJO5fJ9P7iu1PX/ARu4PWOS+UmwD5D4QkCH2DlLILVEe9EFRHmSR+31sBHzIGQEHIdVHfHJfqRXtNyX3x6HlIefI/TEmO2RE7ishcn8Mbd4hILMGlYM5P0wZLh9KSWJt8wmF3IfFMMc/mPxPINWnlOQHmahXYkz8jELuT8Wwk7n8nE/ueG3P77CR+wsWuePFNkDuHQEZYu8IhdwS5REfFOURFrk/x0bAl5wRcARSfcUnd7xWpEzJ/XVo+Y1z5P4ak31jRO54iNxfQ5v3DZBZg8rBnH9LGS5fSklibfMdhdzfimGOfzD530Gq7ynJDzJRr8SY+AOF3N+LYSdzeZRP7lLani9pI/ePLHKXEtsAuUsGZIi9nyjklih/8kFR/sQi91FsBPzMGQE/QapjfHKX0opKmJL7eGj5i3PkPo7JfjEidymI3MehzfsFyKxB5WDOT1CGy89Skljb/Eoh9wkxzPEPJv9XSPUbJflBJuqVGBN/p5D7NzHsZC7/4JP7Cm3Pr7KR+08Wua8Q2wC5VwVkiL2/KOSWKP/yQVH+xSL3H9gI+JszAv6CVCf55L5CK1ppSO6oAqGlyzFyR4EylxG5r0DIHVUA2bwoF5DZ8CsHdG5RhsvfUpJQ20S5GW0bZYlhjn8w+W5I5aEkP8hEvRJiYlQEg9xRHjHsZC4L8sl9ubbnx4bIHRXJIvflYhsg99iADGmWKAq5JcooHxRlFIncUQWxEVCIMwKiIFU0n9yXa0VjTMkdE1oWdo7cMZissBG5L4fIHQNtXmEgswaVgzmPZQyXqEJSkljbxFHIHSuGOf7B5MdBqiKU5AeZqFdiTPRSyF1EDDuZy6J8cl+m7fkmNnJfwCL3ZWIbIHeTgAypgmIUckuUxXxQlMVY5C6KjYALOSOgGKS6iE/uy7SixqbkLh5aXuwcuYtjsouNyH0ZRO7i0OZdDGTWoHIw5yUo8LhQShJrm5IUcpcQwxz/YPJLQqpLKMkPMlGvxJh4KYXcl4hhJ3N5GZ/cl2p73mcj9+Uscl8qtgFy+wIypAquoJBborzCB0V5BYvcl2EjoBRnBFwBqeL55Nb3b4Ypua8MLa9yjtxXYrKrjMh9KUTuK6HNuwrIrEHlYM5LU+BRSkoSa5urKeQuLYY5/sHkXw2pylCSH2SiXokxsSyF3GXEsJO5LMcn9yXank+1kbs8i9yyv+UBcqcGZEgVVKCQW6Ks4IOirMAidzlsBFzDGQEVIFVFPrn15wcppuSuFFpWdo7clTBZZSNyXwKRuxK0eZWBzBpUDua8CgUe10hJYm1TlULuKmKY4x9MflVIVY2S/CAT9UqMidUp5K4mhp3MZQ0+uUtqe36djdw1WeQuKbYBcq8LyJAquJZCbonyWh8U5bUsctfARsB1nBFwLaSqxSe3/rLiWlNyXx9a3uAcua/HZDcYkbskRO7roc27AcisQeVgzmtT4HGdlCTWNjdSyF1bDHP8g8m/EVLdREl+kIl6JcbEOhRy3ySGnczlzXxyl9D2fLyN3LewyC23gm4ByB0fkCFVcCuF3BLlrT4oyltZ5L4ZGwG3cUbArZCqLp/c+huipUzJXS+0rO8cuethsvpG5C4BkbsetHn1gcwaVA7mvAEFHrdJSWJt05BC7gZimOMfTH5DSNWIkvwgE/VKjImNKeRuJIadzGUTPrkv1vZ8YRu5m7LIfbHYBshdOCBDqqAZhdwSZTMfFGUzFrmbYCOgOWcENINULfjk1n+PKsaU3C1Dy1bOkbslJmtlRO6LIXK3hDavFZBZg8rBnLemwKO5lCTWNm0o5G4thjn+weS3gVRtKckPMlGvxJjYjkLutmLYyVy255O7uLbnk23kvp1F7uJiGyB3ckCGVMEdFHJLlHf4oCjvYJG7PTYC7uSMgDsgVQc+uYtrRQNMyd0xtLzLOXJ3xGR3GZG7OETujtDm3QVk1qByMOedKPC4U0oSa5vOFHJ3EsMc/2DyO0OqLpTkB5moV2JM7Eohdxcx7GQuu/HJfZG254vayN2dRe6LxDZA7qIBGVIFPSjklih7+KAoe7DI3Q0bAQmcEdADUvXkk1v/h2deU3L3Ci17O0fuXpistxG5L4LI3QvavN5AZg0qB3OeSIFHgpQk1jZ9KOSWSurD8Q8mvw+k6ktJfpCJeiXGxH4UcvcVw07mMolPbuAPf23kvptF7gvFNhRw1D0UJov/ezJYtE3C2rY/p23vgVQDDLYV+EhiGEnrORZxsbCKOJlVxMXENlbEKZQiFv8plCIO7GOKc0V8jrt9gT4O226nsnb7ArGNdWAqVBMDKTUhUQ7Edm4gBYlSOQMxcPeHokxj1HcgS2kZnPGbBqkGUY6agscjeiV2PJJOGS5ywpKORYnlcjCL44OhRvIwvixTTsxibTwk3AF88cSzAxjbryESC9Is+JlzgfiwTrN9o2bVTUtLGHawQLyKuldFDVVRw1TUfSpquIq6X0U9oKIeVFEjVNRIFTVKRT2kokarqIdV1CMq6lEVNUZFjVVR41TUYyrqcRX1hIp6UkWNV1ETVFSGivKpqEwVNVFFTVJRk1XUU86dut8bBcmGYrJhmOw+TDYck92PyR7AZA9ishGYbCQmG4XJHsJkozHZw5jsEUz2KCYbg8nGYrJxmOwxTPY4JnsCkz2JycZjsgmYLAOT+TBZJiabiMkmYbLJmOypKDNaDpHxDBHrXui641CtKsCmYTrVKYLdl78q8+gp1fB8Vccmnlbdn5/q0PEzqgfyUdU7HFQ9mLcqo/5Z1Yg8VSm+kGpkXqqVqTbVqDxUQ1fZVQ/lrmo8LItqdK6qI02yqh7OTVXjy2yqR3JRlauZXfVoTlWX8jlUY3KoOnTNqRqbXTWyYy6qcdlUI0flpnosq2rZqFxVj2dRNVieu+oJu6p1wzxUT9pUK9rkpRofUpVfmadqwlnVtAp5qzKCqmrT81EFj1kPVc9PdeZMauDhfFUTT6lapuWvmhRQ9WqlUU0WVdXeOtVT9IsZARea2bfbdjHjadLFjKinxDZw53R3QIbYe4ZxMSMQ5TM+KMpnwt25sG8eAsWxy/Tm4bOh5XPOnYE8i8meM7l5GPUUBPFnoQOC54DMGlyJwZw/z7gQHjgeega6xuHBvjM6hXIl5nkx7HPM/zlOxsnagppqm4xTWZNRrgJMBSbj1IAMsfcCZTJKlC/4oChfYFzmDdT3FCfrexrnYuwLkGo6/ZsngeLWiKaYwuPF0PIl5+DxIiZ7yQgekyF4vAht3ktAZg0qB3M+gzKCpklJYmN5JgULM8Twv+l/ihieiGEJixJSzaJ/+SJqkrbsl9gQN5uFOLnWPRtA3JKADLE3h4I4iXKOD4pyDusG0CysC+Zy4DUHUs3jw2uSVrTYFF7zQ8sFzsFrPiZbYASvSRC85kObtwDIrEHlYM5fpgyXuVKSWNu8QoHHy2KY4x9M/iuQ6lXK96+C5NSZPk1OvQoj52uUb5K8KoadzPhCPt8naifDBBvfF7H4LrezFwF8nxCQIfYWU/guUS72QVEuZvF9ITYolnAGxWJItZTPd326xpvyfVloudw5vi/DZMuN+D4R4vsyaPOWA5k1qBzM+QrKcJHj7aVY26yk8H2FGOb4B5O/ElKtoiQ/yES9EmPi6xRyrxLDTuZyNZ/c+p63P/5vDYvcmWIbe/zfGuhjraWQW6Jciz3+by2L3KuxEbCOMwLWQqr1fHLrRcaP/9sQWm50jtwbMNlGI3JnQuTeAG3eRiCzBpWDOX+DMlzWSUlibfMmhdxviGGOfzD5b0KqTZTkB5moV2JMfItC7k1i2MlcbuaT26ft+V02cr/NIrdPbAPzZ1dAhtjbQiG3RLnFB0W5hUXuzdgI2MoZAVsg1TY+uX1a0U5Tcm8PLf3OkXs7JvMbkdsHkXs7tHl+ILMGlYM5V5ThslVKEmubHRRyKzHM8Q8mfwek2klJfpCJeiXGxF0Ucu8Uw07mcjef3Bnank+wkfsdFrkzxDZA7oSADLG3h0JuiXKPD4pyD4vcu7ER8C5nBOyBVO/xya2vwh6m5N4bWu5zjtx7Mdk+I3JnQOTeC23ePiCzBpWDOd9PGS7vSklibXOAQu79YpjjH0z+AUj1PiX5QSbqlRgTP6CQ+30x7GQuD/LJPUHb8/tt5P6QRW65NfwhQO79ARli7yMKuSXKj3xQlB+xyH0QGwEfc0bAR5DqEJ/cE7SifabkPhxafuIcuQ9jsk+MyD0BIvdhaPM+ATJrUDmY808pw+VjKUmsbT6jkPtTMczxDyb/M0j1OSX5QSbqlRgTv6CQ+3Mx7GQuj/DJPV7b801t5P6SRe7xYhsgd9OADLH3FYXcEuVXPijKr1jkPoKNgK85I+ArSPUNn9zjtaImpuT+NrT8zjlyf4vJvjMi93iI3N9Cm/cdkFmDysGcf08ZLl9LSWJt8wOF3N+LYY5/MPk/QKqjlOQHmahXYkz8kULuo2LYyVz+xCf3k9qeX2Qj988scj8ptgFyLwrIEHvHKOSWKI/5oCiPscj9EzYCjnNGwDFI9Quf3E9qRQtNyX0itPzVOXKfwGS/GpH7SYjcJ6DN+xXIrEHlYM5/owyX41KSWNv8TiH3b2KY4x9M/u+Q6g9K8oNM1CsxJv5JIfcfYtjJXP7FJ/cT2p5fYyP33yxyPyG2AXKvCcgQeycp5JYoT/qgKE+yyP0XNAIKFeCMgJOQcxef3E9oRasNyV3ICi3djpG7kIXJ3EbkfgIhdyEL2jw3kNnwKwd07mEMl0KBksTaJoLRtoU8YpjjH0x+BKQqSJnsQSbqlRATC0UyyF2ooBh2MpdRfHI/ru355iFyFyrEIvfjYhsgd/OADGmWaAq5JcpoHxRlNInchaKwERDDGQHRkKown9yPa0XNTMkdG1rGOUfuWEwWZ0TuxyFyx0KbFwdk1qByMOdFKOSOkZLE2sZLIXcRMczxDybfC6mKUpIfZKJeiTHxAgq5i4phJ3NZjE/ux7Q9P9JG7gtZ5H5MbAPkHhmQIVVwEYXcEuVFPijKi1jkLoaNgOKcEXARpLqYT+7HtKIRpuQuEVqWdI7cJTBZSSNyPwaRuwS0eSWBzBpUDub8Ego8iktJYm1zKYXcl4hhjn8w+ZdCqssoyQ8yUa/EmHg5hdyXiWEnc3kFn9zjwiJ3KRa5x4ltjNyloCqIp5BboozHyB3PIvcV2Ai4kjMCoDcOFbqKT+5xPHKXDi2vdo7cpTHZ1UbkHgeRuzS0eVdzyI05L0OBx5VSkljblKWQu4wY5vgHk18WUpWjJD/IRL0SY2J5CrnLiWEnc1mBT+6x2p6fZyP3NSxyjxXbALnnBWRIFVSkkFuirOiDoqzIIncFbARU4oyAipCqMp/cY7WiuabkrhJaVnWO3FUwWVUjco+FyF0F2ryqQGYNKgdzXo0Cj0pSkljbVKeQu5oY5vgHk18dUtWgJD/IRL0SY2JNCrlriGEnc3ktn9xjtD0/00bu61jkHiO2AXLPDMiQKqhFIbdEWcsHRVmLRe5rsRFwPWcE1IJUN/DJPUYrmmFK7tqh5Y3Okbs2JrvRiNxjIHLXhjbvRiCzBpWDOb+JAo/rpSSxtqlDIfdNYpjjH0x+HUh1MyX5QSbqlRgTb6GQ+2Yx7GQub+WT+1Ftzx+wkfs2FrkfFdsAuQ8EZEgV1KWQW6Ks64OirMsi963YCKjHGQF1IVV9Prkf1Yr2m5K7QWjZ0DlyN8BkDY3I/ShE7gbQ5jUEMmtQOZjzRhR41JOSxNqmMYXcjcQwxz+Y/MaQqgkl+UEm6pUYE5tSyN1EDDuZy2Z8cj+i7fkdNnI3Z5H7EbENkHtHQIZUQQsKuSXKFj4oyhYscjfDRkBLzghoAala8cn9iFakTMndOrRs4xy5W2OyNkbkfgQid2to89oAmTWoHMx5Wwo8WkpJYm3TjkLutmKY4x9MfjtI1Z6S/CAT9UqMibdTyN1eDDuZyzv45H5Y2/MlbeS+k0Xuh8U2QO6SARlSBR0o5JYoO/igKDuwyH0HNgI6ckZAB0h1F5/cD2tFJUzJ3Sm07OwcuTthss5G5H4YIncnaPM6A5k1qBzMeRcKPDpKSWJt05VC7i5imOMfTH5XSNWNkvwgE/VKjIndKeTuJoadzGUPPrlHa3t+lY3cCSxyjxbbALlXBWRIFfSkkFui7OmDouzJIncPbAT04oyAnpCqN5/co7WilabkTgwt+zhH7kRM1seI3KMhcidCm9cHyKxB5WDO+1Lg0UtKEmubfhRy9xXDHP9g8vtBqiRK8oNM1CsxJt5NIXeSGHYyl/fwyf2QtufH2sjdn0Xuh8Q2QO6xARlSBQMo5JYoB/igKAewyH0PNgKSOSNgAKRK4ZP7Ia1ojCm5U0PLgc6ROxWTDTQi90MQuVOhzRsIZNagcjDnaRR4JEtJYm0ziELuNDHM8Q8mfxCkSqckP8hEvRJj4mAKudPFsJO5HMIn9yhtzzexkfteFrlHiW2A3E0CMqQKhlLILVEO9UFRDmWRewg2AoZxRsBQSHUfn9yjtKLGpuQeHlre7xy5h2Oy+43IPQoi93Bo8+4HMmtQOZjzByjwGCYlibXNgxRyPyCGOf7B5D8IqUZQkh9kol6JMXEkhdwjxLCTuRzFJ/dIbc/7bOR+iEXukWIbILcvIEOqYDSF3BLlaB8U5WgWuUdhI+BhzggYDake4ZNb378ZpuR+NLQc4xy5H8VkY4zIPRIi96PQ5o0BMmtQOZjzsRR4PCwlibXNOAq55RrcOI5/MPnjINVjlOQHmahXYkx8nELux8Swk7l8gk/uEdqeT7WR+0kWuWV/nwTInRqQIVUwnkJuiXK8D4pyPIvcT2AjYAJnBIyHVBl8cuvPD1JMyW0r90znyO3DZJlG5B4BkRurnEwgswaVgzmfSIHHBClJzP8kCrknimGOfzD5kyDVZEryg0zUKzEmPkUh92Qx7GQun+aT+0Ftz6+zjbJnWOR+UGwD5F4XkCFV8CyF3BLlsz4oymdZ5H4aGwHPcUbAs5DqeT659ZcV15qSe0poOdU5ck/BZFONyP0gRO4p0OZNBTJrUDmY8xco8HhOShJrm2kUcr8ghjn+weRPg1TTKckPMlGvxJj4IoXc08Wwk7l8iU/uB7Q9H28j9wwWueVW0AyA3PEBGVIFMynklihn+qAoZ7LI/RI2AmZxRsBMSDWbT279DdFSpuSeE1rOdY7cczDZXCNyPwCRew60eXOBzBpUDuZ8HgUes6QksbaZTyH3PDHM8Q8mfz6kWkBJfpCJeiXGxJcp5F4ghp3M5St8ct+v7fnCNnK/yiL3/WIbIHfhgAypgtco5JYoX/NBUb7GIvcr2AhYyBkBr0GqRXxy679HFWNK7sWh5RLnyL0Yky0xIvf9ELkXQ5u3BMisQeVgzpdS4LFQShJrm2UUci8Vwxz/YPKXQarllOQHmahXYkxcQSH3cjHsZC5X8sk9XNvzyTZyr2KRe7jYBsidHJAhVfA6hdwS5es+KMrXWeReiY2A1ZwR8DqkWsMn93CtaIApudeGluucI/daTLbOiNzDIXKvhTZvHZBZg8rBnK+nwGO1lCTWNhso5F4vhjn+weRvgFQbKckPMlGvxJj4BoXcG8Wwk7l8k0/u+7Q9X9RG7k0sct8ntgFyFw3IkCp4i0JuifItHxTlWyxyv4mNgM2cEfAWpHqbT279H555Tcm9JbTc6hy5t2CyrUbkvg8i9xZo87YCmTWoHMz5Ngo8NktJYm2znULubWKY4x9M/nZI5ackP8hEvRJjoqKQ2y+GnczlDj65gT/8tZF7J4vcw8Q2FHChXZsYTBb/uzJYtN2Bte1uTtvuglTvGGwr8JHEMJLWcyzioWEV8R5WEQ8V21gRv0spYvH/LqWIA/v4rnNFfI67fa8+Dttuv8fa7XvFNtaB70E1sZdSExLlXmzn9lKQKJWzFwP3bijKfYz6DmRpXwZn/O6DVPspR03B4xG9EjseOUAZLvvFMBYllsv3WRx/H2okT8NwR2CRDNuJ4weh5UFwIkIec543vtpycP/0pPa9EvonpMly0sRRc+unJA9KT0hGnsmUU2vtLNZtcMGZXXtVLhfb8McSF0wafeumJx+6tVylMOwWsJ/GfmBbHwytPQ0nqkIfqkIfqUIfnyNLCn20Kb5EjXK1U5/ZdeHB8ld9cNuGl6tMKnns6joHVzZ58ejvW38VkY0lh0gsCXyUQ4EW0MUSkCH2DjNYEojysA+K8nC4LeDNNNg5rQv7tRtN0PZDhk9Ath2WUmQ2aM4LO58YHIQHJtfhTCxMaL5+6sB8zZ59+WhiGDtQ+cyhZH7mH6mNM3vVhBPn5w7F+Xm2OLHLeYU+y6lyZZeJceijfEEBP57KI2H6z5yob/jT/qFG/0IiCPs01pOZ77XjbF5c4c4/oAtsI+1L1OwRh4r2S5PLBZ+Jf6ggitY/94LMpRmOSNyY/wbhnixMytSWQCAAqBu+QnayaH1I1cCh/f4ql2EKjEh4wxs6kfDsbtCEfy2qy2u2fH5ju7sXPnljkcY1ovc8sOfRu2vunTDuoWt+HtlhWMHSmZJKKOFOHQp8LQnPMm/cPsIhlO3E5JvQ8lsnp0n43JA2/QbjxncOJfs74FAh1zi/xeL83qE4vzfqQonzO6wLTd7Im81ql+zgO+X/e8x/E0o9fRSYA1DzNoZUTf5jhwrfhXWo8MM/fajwg8sM1T9gNdP030T1UQfLqqlD+T6a/XzCSVT+KKpi1QvsK/XxdcMqFq+V0nrIwx/f/sqDF86ocKRIie8H1xny28EU6RAIqE594B+zo9KTSTja5nblT/90V/5k2JU/YV3ZLNyunIydKEKqn7FzDAd7t5lDu/Jzbr2r/8DHsGNsB3vXqQ987J8+zD0eWv4CHj8Fr2PoQzG5dIb5x26gfApVywnKUdZxMYwdDf/qUO38anTU/gsc528Oxfmb0VH7CfmA2Kxtee5Vl8tRu/j/DfPfilJPctR+AjtqbwmpkCj/yaP2X8M6PvgdNXvCoaL93eT4QGrmd6xmWnOO2k9Ajf2Hg2XV2qF8/2F21I594D8h8reCyO/UB/4z+wfOrdlzXtTHPvBfDgX5FxJkzptIWJB/OxTk36Z8+Qvr1TYsvvyN+W8b7qyYmIncHjoB9XcbSNX2PwaXv8KCy8l/Gi4nDeFyEiuYdv8iXKILOFhW7ZzJd3QBIlyiXRBc2kJwceoDu879khBylsLsymjrH+7KaMusK6MtrCvbcy4JYUXqxs6kHOzd9g7titvoklC0B+q3Vg72rlMf2GNyWh/4FtQJxpfjy575Epg+4xGM0+DoCPkv5r9guMcgRUOX2rBYCkosGdo/IjwautoWHRlaRnG/7ZqzjiINvqkZHSX/xdJdiLHdUsbRkZj/aFa5FcT8x+gLIcd3tvT+C8kHmwh9fImA/6dHgU+pc2FDdmHSF4ijY8Q2FnAs46vBAf+xJtMV+fZqdKSD316NjqO0RawYDvfzwwUfN1HbSn+e2oI4yhYEZl401vNF9F8OP9eGKxJWw3lZDVdEbGMBF6U0nPgvGvZ482aG85V4V5j0l4kblRHW7lwAFmDRMwUIxODQscEFBl9fDSSgaCYWJtRNxcLdX7ePs2W2A7YLQ8uLQCfFJJ2UP0uNvkCMY4OpOMX/hWIY83+xQ3V5scm5T/RFcJwlHIqzhFGcOGhKUkBXXBKMXau4i3HJO+C/BOa/E6WexX9J7JbqXZCqU7gDjHvVG+lCG50uQc0Wd6hpLjG4vhbYs0uwmulCueodXRxq2EsdLKsuDuX7UqOr3uAHvgy6ctYJunLm1Ae+zOCWqgv9wJc7FOTlRrdUwSCvcCjIK0xuqQZ69XKsV7uy+HIF5r8b4ZbqmUrSmJX+7gqpuv3H4HJ5WHAp9U/DpZQhXEphBdP934RLvINl1d2hfMcz4XIlBJduEFyc+sBXnvMtVegsidqVV/3TXXmVYVdehXVlD8otVbBIS2NnUg72bg+HdqW02S3Vq6F+6+Rg7zr1ga/WH850yfEFqVOXX7AjyGJQ/so49GnKAAdnXtfGIoXip9/fd9U7K1+7tf2evD9NzkNN7NOUdejTlDV6/EN0mUxklJSFPko5ytWWvBKe87NgCS9vcP9F+y3AU1FCH6ecRAA9HSf867rkI9cyYTGyAmq2vEMNUMHkWnyZM7uhB1Dvc7+UlktjlZe4Mf+JnCPn8lDPXANxtTekSnRov68xOrcuC294HycSnvPIHUt4RYjriVDC+ziU8Irn/Dd2yPV4202kSqFlZSenSfhXvKVNK2F3HKo4lOwqRndGJM7KWJxVHYqzqlEXSpxVsC7sR7nCJf6rYv6TKPVUMjAHoObtB6mS/mOHClXCOlSo9k8fKlRzmaG6GlYzd/+bqK7uYFnd7VC+q5td5MI+cA3oRDkJAqpTH7jGuV/kQs5yqV1Z85/uypqGXVkT68p7OBe5sCK9FjvHcLB373FoV641u8h1HXaM7WDvOvWBrzM68opGzyuia1GukkSjRxTgl8quD7dboMecR5eEVDcYXKIpoP3gctBVCxJeLxFge1k73OOuCybme9yV7T/uUbPqpqUlDDtYoBEi74yIEhDRfYgoHRFBn7MXIqqMiJIRURoi6oqI4hFRXceS6VzGByCi1H82pt6OZRyKKcUxd4mOVWYvx8p32D+7wfGOFR2UzEGOiaBx2NexwKE89XGsfNMciynBsRqH3CU55m6IY5+uv2OBOzfp0hyrzF6OfbpUxyw5N1idG2LlEdFwRFQNET2AiCqcOU70oafswN8YZ8AnHk6+3SLLwXKxjImhyxE3hpY3hZZ1/pUokdPIOmbv4JDTMwf/ivFmyolUxOk/rtULb5QIsBOpWyiByklxbUh4ExzorZT7AXVg/7cZlWfOdziFCvUW2/pW2/o28B1L0XVVdD0VXT/r5QDs02heK5C4fX1GLp9maZuUQYlJvVOSa7RJTBswOD0hPSklOXOSLfYGtnVd27peaO1eOklFS781UtGNVXST8L8744ImLdanZo8w1uehqW3dyLZubFs3kTw0U9HNVXQLFd3SZBc1j0T8+8SyckbRt7Ktm9mK7gLbuphE31pFt1HRbVV0O5Po22ujL28UfXsw+ttV9B0q+k4V3SEr/S6eGOZfabaWdkT+gDKMC1DxYb3X3Hf2clW8iu6oou9S0Z1UdGcV3UVFy+2cbiq6u4ruoaITVHRPFd1LRfdW0cLwPiq6r4rup6KTVPTdKvoeFd1fRQ9Q0ckqOkVFp6rogSo6TUVLGtNV9GAVPURF3+vYu9KjO0ZBsrswWSdM1hmTdcFkXTFZN0zWHZP1wGQJmKwnJuuFyXpjskRM1geT9cVk/TBZEia7G5Pdg8n6Y7IBmCwZk6VgslRMNhCTpWGyQZgsHZMNxmRDMNm9UWbPBWot4xkCY8dM7fNEhDp3aVUBNnXSqU4RrHP+qszTX97pkq/q2Jmv+HTNT3Uo+EWgbvmo6p39ulD3vFUZoS8V9chTlWL76lFCXqqV9i8o9cxDNTTL15h65a5qnPXLTr1zVR3J9pWoxNxUNbJ/capPLqpyOb5e1TcT+RJWvxyqDl1zqpKyq0Z2zEV1dzbVyFG5qe7Jqlo2KldV/yyqBstzVw2wq1o3zEOVbFOtaJOXKiWkKr8yT1XqWdW0CnmrBgZV1abno0o7ozpUPT/VoNOqgYfzVaWfUrVMy181OKDq1UqjGiKqqr11qnvDvZIU/vOD7tXOvt2278oMZT0/6F6xnZmpjyUgQ+wN0w9+syiH+aAoh4W7cyUyDXZOI9oV1lmN7QvJ94WWw507A7kPkw2PMvn7nnshiN8HHRAMBzJr8J0QzPn9Bv0FXXAd5uQF1wcolwfvF8M+x/yf42Qcoi2oqbbJ+CBrMspVgAeByTg1IEPsjaBMRolyhA+KcoRB5UD1/YCT9T0yzCjBETACUo0CCukc4TFEK5piCo+HQsvRzsHjIUw22ggeQyB4PARt3mggswaVgzl/mDKCRkpJYmP5EQoWHhbD/6b/B8TwRAxLWJSQ6tFwp0D4iBusLfslNsSNYSFOrnWPARC3JCBD7I2lIE6iHOuDohzLqMIA4h7FumAcB15jIdVjfHgN1ooWm8Lr8dDyCefg9Tgme8IIXoMheD0Obd4TQGYNKgdz/iRluIyTksTaZjwFHk+KYY5/MPnjIdUExmnnWXLqTJ8mp16FkZPz2O8JYtjJjPv4fE/XToYJNr5nsvgut7MzAb5PUNh3wpAXHphFOdEHRTmRxXcfNigmcQYFdog7mc/3dK1ovCnfnwotn3aO709hsqeN+J4O8f0paPOeBjJrUDmY82cow2WSlCTWNs9S+P6MGOb4B5P/LKR6jpL8IBP1SoyJz1PI/ZwYdjKXU/jkHqTt+XgbuaeyyC1DaypA7viADLH3AoXcEuULPijKF1jknoKNgGmcEfACpJrOJ/cgraiUKblfDC1fco7cL2Kyl4zIPQgi94vQ5r0EZNagcjDnMyjDZZqUJNY2MynkniGGOf7B5M+EVLMoyQ8yUa/EmDibQu5ZYtjJXM7hkztN2/O7bOSeyyJ3mtgGyL0rIEPszaOQW6Kc54OinMci9xxsBMznjIB5kGoBn9xpWtFOU3K/HFq+4hy5X8ZkrxiROw0i98vQ5r0CZNagcjDnr1KGy3wpSaxtXqOQ+1UxzPEPJv81SLWQkvwgE/VKjImLKOReKIadzOViPrkHans+wUbuJSxyDxTbALkTAjLE3lIKuSXKpT4oyqUsci/GRsAyzghYCqmW88k9UCvqYUruFaHlSufIvQKTrTQi90CI3CugzVsJZNagcjDnqyjDZZmUJNY2r1PIvUoMc/yDyX8dUq2mJD/IRL0SY+IaCrlXi2Enc7mWT+5Ubc/vt5F7HYvcqWIbIPf+gAyxt55CbolyvQ+Kcj2L3GuxEbCBMwLWQ6qNfHKnakX7TMn9Rmj5pnPkfgOTvWlE7lSI3G9Am/cmkFmDysGcb6IMlw1SkljbvEUh9yYxzPEPJv8tSLWZkvwgE/VKjIlvU8i9WQw7mcstfHKnaHu+qY3cW1nkThHbALmbBmSIvW0UckuU23xQlNtY5N6CjYDtnBGwDVL5+eRO0YqamJJbhZY7nCO3wmQ7jMidApFbQZu3A8isQeVgzndShst2KUmsbXZRyL1TDHP8g8nfBal2U5IfZKJeiTHxHQq5d4thJ3O5h0/uZG3PL7KR+10WuZPFNkDuRQEZYu89Crklyvd8UJTvsci9BxsBezkj4D1ItY9P7mStaKEpufeHlgecI/d+THbAiNzJELn3Q5t3AMisQeVgzt+nDJe9UpJY23xAIff7YpjjH0z+B5DqICX5QSbqlRgTP6SQ+6AYdjKXH/HJPUDb82ts5P6YRe4BYhsg95qADLF3iEJuifKQD4ryEIvcH2Ej4DBnBByCVJ/wyT1AK1ptSu5PQ8vPnCP3p5jsMyNyD4DI/Sm0eZ8BmTWoHMz555ThclhKEmubLyjk/lwMc/yDyf8CUh2hJD/IRL0SY+KXFHIfEcNO5vIrPrn7a3u+uY3cX7PI3V9sA+RuHpAh9r6hkFui/MYHRfkNi9xfYSPgW84I+AZSfccnd3+tqJkpub8PLX9wjtzfY7IfjMjdHyL399Dm/QBk1qByMOdHKcPlWylJrG1+pJD7qBjm+AeT/yOk+omS/CAT9UqMiT9TyP2TGHYyl8f45L5H2/MjbeQ+ziL3PWIbIPfIgAyx9wuF3BLlLz4oyl9Y5D6GjYATnBHwC6T6lU9u/bvGR5iS+7fQ8nfnyP0bJvvdiNz3QOT+Ddq834HMGlQO5vwPynA5ISWJtc2fFHL/IYY5/sHk/wmp/qIkP8hEvRJj4t8Ucv8lhp3M5Uk+ue8Oh9wxBVjkvltsQ+QWGWAvxkUht0Tpgsgd8K8xZ0juk9AIiLEoIyDGBancfHLfTSN3jCe0jHCM3DEeTBZhRO67EXLHeKDNiwAya1A5mPOCjOESY0lJYm0TyWjbmIJimOMfTH4kpIqiTPYgE/VKiIkxhRjkjokSw07mMppP7iRtz8+zkTuGRe4ksQ2Qe15AhjRLYQq5JcrCPijKwiRyx0RjIyCWMwIKQ6o4PrmTtKK5puQuElp6nSN3EUzmNSJ3EkTuItDmeYHMGlQO5rwohdyxUpJY21xAIXdRMczxDyb/AkhVjJL8IBP1SoyJF1LIXUwMO5nLi/jk7qft+Zk2chdnkbuf2AbIPTMgQ6rgYgq5JcqLfVCUF7PIfRE2AkpwRsDFkKokn9z9tKIZpuS+JLS81DlyX4LJLjUidz+I3JdAm3cpkFmDysGcX0aBRwkpSaxtLqeQ+zIxzPEPJv9ySHUFJflBJuqVGBNLUch9hRh2MpfxfHL31fb8ARu5r2SRu6/YBsh9ICBDquAqCrklyqt8UJRXscgdj42A0pwRcBWkuppP7r5a0X5TcpcJLcs6R+4ymKysEbn7QuQuA21eWSCzBpWDOS9HgUdpKUmsbcpTyF1ODHP8g8kvD6kqUJIfZKJeiTHxGgq5K4hhJ3NZkU/uPtqe32EjdyUWufuIbYDcOwIypAoqU8gtUVb2QVFWZpG7IjYCqnBGQGVIVZVP7j5akTIld7XQsrpz5K6GyaobkbsPRO5q0OZVBzJrUDmY8xoUeFSRksTapiaF3DXEMMc/mPyakOpaSvKDTNQrMSZeRyH3tWLYyVzW4pM7UdvzJW3kvp5F7oBtgNwlAzKkCm6gkFuivMEHRXkDi9y1sBFQmzMCboBUN/LJnagVlTAl902hZR3nyH0TJqtjRO5EiNw3QZtXB8isQeVgzm+mwKO2lCTWNrdQyH2zGOb4B5N/C6S6lZL8IBP1SoyJt1HIfasYdjKXdfnk7q3t+VU2ctdjkbu32AbIvSogQ6qgPoXcEmV9HxRlfRa562IjoAFnBNSHVA355O6tFa00JXej0LKxc+RuhMkaG5G7N0TuRtDmNQYya1A5mPMmFHg0kJLE2qYphdxNxDDHP5j8ppCqGSX5QSbqlRgTm1PI3UwMO5nLFnxy99L2/FgbuVuyyN1LbAPkHhuQIVXQikJuibKVD4qyFYvcLbAR0JozAlpBqjZ8cvfSisaYkrttaNnOOXK3xWTtjMjdCyJ3W2jz2gGZNagczHl7CjxaS0libXM7hdztxTDHP5j82yHVHZTkB5moV2JMvJNC7jvEsJO57MAnd09tzzexkbsji9w9xTZA7iYBGVIFd1HILVHe5YOivItF7g7YCOjEGQF3QarOfHL31Ioam5K7S2jZ1Tlyd8FkXY3I3RMidxdo87oCmTWoHMx5Nwo8OklJYm3TnULubmKY4x9MfndI1YOS/CAT9UqMiQkUcvcQw07msief3AnanvfZyN2LRe4EsQ2Q2xeQIVXQm0JuibK3D4qyN4vcPbERkMgZAb0hVR8+ufX9m2FK7r6hZT/nyN0Xk/UzIncCRO6+0Ob1AzJrUDmY8yQKPGQn+2BtczeF3ElimOMfTP7dkOoeSvKDTNQrMSb2p5D7HjHsZC4H8MndQ9vzqTZyJ7PILfubDJA7NSBDqiCFQm6JMsUHRZnCIvcAbASkckZACqQayCe3/vwgxZTcaaHlIOfInYbJBhmRuwdE7jRo8wYBmTWoHMx5OgUe0o8DsbYZTCF3uhjm+AeTPxhSDaEkP8hEvRJj4r0Ucg8Rw07mciif3N21Pb/ORu5hLHJ3F9sAudcFZEgV3Echt0R5nw+K8j4WuYdiI2A4ZwTcB6nu55Nbf1lxrSm5HwgtH3SO3A9gsgeNyN0dIvcD0OY9CGTWoHIw5yMo8BguJYm1zUgKuUeIYY5/MPkjIdUoSvKDTNQrMSY+RCH3KDHsZC5H88ndTdvz8TZyP8wit9wKehggd3xAhlTBIxRyS5SP+KAoH2GRezQ2Ah7ljIBHINUYPrn1N0RLmZJ7bGg5zjlyj8Vk44zI3Q0i91ho88YBmTWoHMz5YxR4PColibXN4xRyPyaGOf7B5D8OqZ6gJD/IRL0SY+KTFHI/IYadzOV4Prm7anu+sI3cE1jk7iq2AXIXDsiQKsigkFuizPBBUWawyD0eGwE+zgjIgFSZfHLrv0cVY0ruiaHlJOfIPRGTTTIid1eI3BOhzZsEZNagcjDnkynw8ElJYm3zFIXck8Uwxz+Y/Kcg1dOU5AeZqFdiTHyGQu6nxbCTuXyWT+4u2p5PtpH7ORa5u4htgNzJARlSBc9TyC1RPu+DonyeRe5nsREwhTMCnodUU/nk7qIVDTAl9wuh5TTnyP0CJptmRO4uELlfgDZvGpBZg8rBnE+nwGOKlCTWNi9SyD1dDHP8g8l/EVK9REl+kIl6JcbEGRRyvySGnczlTD65O2t7vqiN3LNY5O4stgFyFw3IkCqYTSG3RDnbB0U5m0XumdgImMMZAbMh1Vw+ufV/eOY1Jfe80HK+c+Seh8nmG5G7M0TuedDmzQcya1A5mPMFFHjMkZLE2uZlCrkXiGGOfzD5L0OqVyjJDzJRr8SY+CqF3K+IYSdz+Rqf3MAf/trIvZBF7k5iGwo4ZhGFyeJ/Ee0K92tY2y7mtO0iSLXEYFuBjySGkbSeYxHfFVYRL2UV8V1iGyviZZQiFv/LKEUc2MdlzhXxOe52R30ctt1eztrtjmIb68DlUE2soNSERLkC27kVFCRK5azAwL0YinIlo74DWVqZwRm/KyHVKspRU/B4RK/EjkdepwyXVWIYixLL5WoWx1dDjeRpGO4IvHji2RGIlevt4gQpV/zctUB8WCe6vlGz6qalJQw7WCBexaxRMWtVzDoVs17FbFAxG1XMGyrmTRWzScW8pWI2q5i3VcwWFbNVxWxTMdtVjF/FKBWzQ8XsVDG7VMxuFfOOitmjYt5VMe+pmL0qZp+K2a9iDqiY91XMB86dPK+JgmRrMdk6TLYek23AZBsx2RuY7E1MtgmTvYXJNmOytzHZFky2FZNtw2TbMZkfkylMtgOT7cRkuzDZbkz2Dibbg8nexWTvYbK9mGwfJtuPyQ5gsvcx2QdRRryKvl3GM0TMNdCVv7VaVYDR63SqUyRfn78q8+gp1YZ8VccmnlZtzE916PgZ1Rv5qOodDqrezFuVUf+salOeqhRfSPVWXqqVqTbV5jxUQ1fZVW/nrmo8LItqS66qI02yqrbmpqrxZTbVtlxU5WpmV23PqepSPofKn0PVoWtOlcquGtkxF9WObKqRo3JT7cyqWjYqV9WuLKoGy3NX7barWjfMQ/WOTbWiTV6qPSFV+ZV5qt49q5pWIW/Ve0FVten5qPaeUR2qnp9q32nVwMP5qvafUrVMy191IKDq1Uqjel9UVXvrVB/QLycEXGhm327b5YSDpMsJMR+IbeDe5e6ADLH3IeNyQiDKD31QlB+Gu3Nh374DimOX6e27j0LLj507A/kIk31scvsu5gMI4h9BBwQfA5k1uBaCOT/EuBQdOH//ELrK4GkIRXmYci3kkBj2Oeb/HCfj+9qCmmqbjJ+wJqNcBfgEmIxTAzLE3qeUyShRfuqDovyUcaE1UN+HnazvzziXQz+FVJ/Tv/sRKG6NaIopPL4ILY84B48vMNkRI3i8D8HjC2jzjgCZNagczPmXlBH0mZQkNpa/omDhSzH8b/o/LIaxv3c5jEUJqb6mf/0h5oC27JfYEPcNC3FyrfsbAHFLAjLE3rcUxEmU3/qgKL9l3YL5GuuC7zjw+hZSfc+H1wGtaLEpvH4ILY86B68fMNlRI3gdgOD1A7R5R4HMGlQO5vxHynD5TkoSa5ufKPD4UQxz/IPJ/wlS/Uz5BlSQnDrTp8mpV2HkPEb5LsfPYtjJjB/n832/djJMsPH9Fxbf5Xb2LwDfJwRkiL0TFL5LlCd8UJQnWHw/jg2KXzmD4gSk+o3P9/1a0XhTvv8eWv7hHN9/x2R/GPF9P8T336HN+wPIrEHlYM7/pAyXX6Uksbb5i8L3P8Uwxz+Y/L8g1d+U5AeZqFdiTDxJIfffYtjBXBYuwCf3Pm3P2x7AV9jFIvc+sQ09gE9kgL3CFoXcEqUFPYAv4F9jzozchQtAI6CwmzICCluQysMn9z6tyPQBfIUjQsuCjpG7cAQmK2hE7n0IuQtHQJtXEMisQeVgziMZw6WwW0oSa5soRtsWjhTDHP9g8qMgVSHKZA8yUa/EmBjNIHfhQmLYyVzG8Mm9V9vzu2zkLswi916xDZB7V0CGNEsshdwSZawPijKWRe4YbATEcUZALKQqwif3Xq1opym5vaFlUefI7cVkRY3IvRcitxfavKJAZg0qB3N+AYXccVKSWNsUo5D7AjHM8Q8mvxikupCS/CAT9UqMiRdRyH2hGHYyl8X55H5P2/MJNnJfzCL3e2IbIHdCQIZUQQkKuSXKEj4oyhIschfHRkBJzggoAaku4ZP7Pa2ohym5Lw0tL3OO3JdissuMyP0eRO5Loc27DMisQeVgzi+nwKOklCTWNldQyH25GOb4B5N/BaQqRUl+kIl6JcbEeAq5S4lhJ3N5JZ/c72p7fr+N3FexyP2u2AbIvT8gQ6qgNIXcEmVpHxRlaRa5r8RGwNWcEVAaUpXhk/tdrWifKbnLhpblnCN3WUxWzojc70LkLgttXjkgswaVgzkvT4HH1VKSWNtUoJC7vBjm+AeTXwFSXUNJfpCJeiXGxIoUcl8jhp3MZSU+ufdoe76pjdyVWeTeI7YBcjcNyJAqqEIht0RZxQdFWYVF7krYCKjKGQFVIFU1Prn3aEVNTMldPbSs4Ry5q2OyGkbk3gORuzq0eTWAzBpUDua8JgUeVaUksba5lkLummKY4x9M/rWQ6jpK8oNM1CsxJtaikPs6MexkLq/nk/sdbc8vspH7Bha53xHbALkXBWRIFdSmkFuirO2DoqzNIvf12Ai4kTMCakOqm/jkfkcrWmhK7jqh5c3OkbsOJrvZiNzvQOSuA23ezUBmDSoHc34LBR43SklibXMrhdy3iGGOfzD5t0Kq2yjJDzJRr8SYWJdC7tvEsJO5rMcn925tz6+xkbs+i9y7xTZA7jUBGVIFDSjkligb+KAoG7DIXQ8bAQ05I6ABpGrEJ/durWi1Kbkbh5ZNnCN3Y0zWxIjcuyFyN4Y2rwmQWYPKwZw3pcBD2qYR1jbNKOSWa3DNOP7B5DeDVM0pyQ8yUa/EmNiCQu7mYtjJXLbkk3uXtueb28jdikXuXWIbIHfzgAypgtYUckuUrX1QlK1Z5G6JjYA2nBHQGlK15ZN7l1bUzJTc7ULL9s6Rux0ma29E7l0QudtBm9ceyKxB5WDOb6fAo42UJNY2d1DIfbsY5vgHk38HpLqTkvwgE/VKjIkdKOS+Uww7mcuOfHLv1Pb8SBu572KRe6fYBsg9MiBDqqAThdwSZScfFGUnFrk7YiOgM2cEdIJUXfjk3qkVjTAld9fQsptz5O6KyboZkXsnRO6u0OZ1AzJrUDmY8+4UeHSWksTapgeF3N3FMMc/mPwekCqBkvwgE/VKjIk9KeROEMNO5rIXn9w7wiJ3bxa5d4htjNy9oSpIpJBbokzEyJ3IIncvbAT04YyAREjVl0/uHTxy9wstk5wjdz9MlmRE7h0QuftBm5fEITfm/G4KPPpISWJtcw+F3HeLYY5/MPn3QKr+lOQHmahXYkwcQCF3fzHsZC6T+eRW2p6fZyN3CovcSmwD5J4XkCFVkEoht0SZ6oOiTGWROxkbAQM5IyAVUqXxya20ormm5B4UWqY7R+5BmCzdiNwKIvcgaPPSgcwaVA7mfDAFHgOlJLG2GUIh92AxzPEPJn8IpLqXkvwgE/VKjIlDKeS+Vww7mcthfHL7tT0/00bu+1jk9ottgNwzAzKkCoZTyC1RDvdBUQ5nkXsYNgLu54yA4ZDqAT65/VrRDFNyPxhajnCO3A9ishFG5PZD5H4Q2rwRQGYNKgdzPpICj/ulJLG2GUUht1yDG8XxDyZ/FKR6iJL8IBP1SoyJoynkfkgMO5nLh/nk3q7t+QM2cj/CIvd2sQ2Q+0BAhlTBoxRyS5SP+qAoH2WR+2FsBIzhjIBHIdVYPrm3a0X7Tck9LrR8zDlyj8NkjxmReztE7nHQ5j0GZNagcjDnj1PgMUZKEmubJyjkflwMc/yDyX8CUj1JSX6QiXolxsTxFHI/KYadzOUEPrm3aXt+h43cGSxybxPbALl3BGRIFfgo5JYofT4oSh+L3BOwEZDJGQGY84l8cm/TipQpuSeFlpOdI/ckTDbZiNzbIHJPgjZvMpBZg8rBnD9FgUemlCRWuU9TyP2UGOb4B5P/NKR6hpL8IBP1SoyJz1LI/YwYdjKXz/HJvVXb8yVt5H6eRe6tYhsgd8mADKmCKRRyS5RTfFCUU1jkfg4bAVM5I2AKpHqBT+6tWlEJU3JPCy2nO0fuaZhsuhG5t0LkngZt3nQgswaVgzl/kQKPqVKSWNu8RCH3i2KY4x9M/kuQagYl+UEm6pUYE2dSyD1DDDuZy1l8cm/R9vwqG7lns8i9RWwD5F4VkCFVMIdCbolyjg+Kcg6L3LOwETCXMwLmQKp5fHJv0YpWmpJ7fmi5wDlyz8dkC4zIvQUi93xo8xYAmTWoHMz5yxR4zJWSxNrmFQq5XxbDHP9g8l+BVK9Skh9kol6JMfE1CrlfFcNO5nIhn9xva3t+rI3ci1jkfltsA+QeG5AhVbCYQm6JcrEPinIxi9wLsRGwhDMCFkOqpXxyv60VjTEl97LQcrlz5F6GyZYbkfttiNzLoM1bDmTWoHIw5yso8FgiJYm1zUoKuVeIYY5/MPkrIdUqSvKDTNQrMSa+TiG3nGy97mQuV/PJvVnb801s5F7DIvdmsQ2Qu0lAhlTBWgq5Jcq1PijKtSxyr8ZGwDrOCFgLqdbzyb1ZK2psSu4NoeVG58i9AZNtNCL3ZojcG6DN2whk1qByMOdvUOCxTkoSa5s3KeR+Qwxz/IPJfxNSbaIkP8hEvRJj4lsUcm8Sw07mcjOf3G9pe95nI/fbLHK/JbYBcvsCMqQKtlDILVFu8UFRbmGRezM2ArZyRsAWSLWNT259/2aYknt7aOl3jtzbMZnfiNxvQeTeDm2eH8isQeVgzhUFHlulJLG22UEhtxLDHP9g8ndAqp2U5AeZqFdiTNxFIfdOMexkLnfzyb1J2/OpNnK/wyK37O87ALlTAzKkCvZQyC1R7vFBUe5hkXs3NgLe5YyAPZDqPT659ecHKabk3hta7nOO3Hsx2T4jcm+CyL0X2rx9QGYNKgdzvp8Cj3elJLG2OUAh934xzPEPJv8ApHqfkvwgE/VKjIkfUMj9vhh2MpcH+eR+U9vz62zk/pBF7jfFNkDudQEZUgUfUcgtUX7kg6L8iEXug9gI+JgzAj6CVIf45NZfVlxrSu7DoeUnzpH7MCb7xIjcb0LkPgxt3idAZg0qB3P+KQUeH0tJYm3zGYXcn4phjn8w+Z9Bqs8pyQ8yUa/EmPgFhdyfi2Enc3mET+43tD0fbyP3lyxyy62gLwFyxwdkSBV8RSG3RPmVD4ryKxa5j2Aj4GvOCPgKUn3DJ7f+hmgpU3J/G1p+5xy5v8Vk3xmR+w2I3N9Cm/cdkFmDysGcf0+Bx9dSkljb/EAh9/dimOMfTP4PkOooJflBJuqVGBN/pJD7qBh2Mpc/8cm9UdvzhW3k/plF7o1iGyB34YAMqYJjFHJLlMd8UJTHWOT+CRsBxzkj4Bik+oVPbv33qGJMyX0itPzVOXKfwGS/GpF7I0TuE9Dm/Qpk1qByMOe/UeBxXEoSa5vfKeT+TQxz/IPJ/x1S/UFJfpCJeiXGxD8p5P5DDDuZy7/45N6g7flkG7n/ZpF7g9gGyJ0ckCFVcJJCbonypA+K8iSL3H9BIyC2AGcEnIScu/jk3qAVDTAkd6wVWrodI3eshcncRuTegJA71oI2zw1kNvzKAZ17GMMlNlCSWNtEMNo21iOGOf7B5EdAqoIUcgeZqFdCTIyNZJA7tqAYdjKXUXxyr9f2fNEQuWMLsci9XmwD5C4akCHNEk0ht0QZ7YOijCaROzYKGwExnBEQDakK88mt/8Mzrym5Y0PLOOfIHYvJ4ozIvR4idyy0eXFAZg0qB3NehELuGClJrG28FHIXEcMc/2DyvZCqKCX5QSbqlRgTL6CQW0b2BU7mshif3MAf/trIfSGL3OvENhRw7EUUJov/izJYtC2GtW1xTtteBKkuNthW4COJYSSt51jEa8Mq4hKsIl4rtrEiLkkpYvFfklLEgX0s6VwRn+Nur9HHYdvtS1i7vUZsYx14CVQTl1JqQqK8FNu5SylIlMq5FAN3cSjKyxj1HcjSZRmc8XsZpLqcctQUPB7RK7HjkSsow+VyMYxFieWyFIvjpaBG8jQMt5Cw/ozP3+zfJ5ZVyOXkcGmblEGJSb1Tkmu0SUwbMDg9IT0pJTlzku1kMT60jm4WWnsusK2LTVKxV6rYq1RsaRV7tUn0ZbTRX2MUfRkw+rIqtpyKLa9iK2TFz8UTz+IHq9YrZYORUYFfNygQH9ZFBt+oWXXT0hKGHSwQr2KvUbEVVWwlFVtZxVZRsVVVbDUVW13F1lCxNVXstSr2OhVbS8Ver2JvULG1VeyNKvYmFVtHxd6sYm9Rsbeq2NtUbF0VW0/F1lexDVSslHkjFdtYxTZRsU2du3BxTRQkq4jJKmGyypisCiarismqYbLqmKwGJquJya7FZNdhslqY7HpMdgMmq43JbsRkN2GyOpjsZkx2Cya7FZPdhsnqYrJ6mKw+JmuAyRpiskaYrDEma4LJmkaZHStcKeMZAuM10FXXilpVgE2VdKpTBKucvyrz6ClVlXxVxyaeVlXNT3Xo+BlVtXxU9Q4HVdXzVmXUP6uqkacqxRdS1cxLtTLVpro2D9XQVXbVdbmrGg/LoqqVq+pIk6yq63NT1fgym+qGXFTlamZX1c6p6lI+h+rGHKoOXXOqbsquGtkxF1WdbKqRo3JT3ZxVtWxUrqpbsqgaLM9ddatd1bphHqrbbKoVbfJS1Q2pyq/MU1XvrGpahbxV9YOqatPzUTU4ozpUPT9Vw9OqgYfzVTU6pWqZlr+qcUDVq5VG1URUVXvrVE3pl3ICLjSzb7ftUk4z0qWc2KZiG7hvvDsgQ+w1Z1zKCUTZ3AdF2TzcnQv71ilQHLtMb522CC1bOncG0gKTtTS5dRrbFIJ4C+iAoCWQWYPrUJjzVozbAIHjoebQFR5PQyjK1pTrUK3EsM8x/+c4GZtoC2qqbTK2YU1GuQrQBpiMUwMyxF5bymSUKNv6oCjbMi5yB+q7tZP13Y5zKbotpGpP/95NoLg1oimm8Lg9tLzDOXjcjsnuMIJHEwget0ObdweQWYPKwZzfSRlB7aQksbHcgYKFO8Xwv+m/tRieiGEJixJSdaR/9SS2sbbsl9gQdxcLcXKt+y4AcUsCMsReJwriJMpOPijKTqzbXx2xLujMgVcnSNWFD6/GWtFiU3h1DS27OQevrpismxG8GkPw6gptXjcgswaVgznvThkunaUksbbpQYFHdzHM8Q8mvwekSqB8+yxITp3p0+TUqzBy9qR8jyZBDDuZ8V58vjfSToYJNr73ZvFdbmf3Bvg+ISBD7CVS+C5RJvqgKBNZfO+FDYo+nEGRCKn68vneSCsab8r3fqFlknN874fJkoz43gjiez9o85KAzBpUDub8bspw6SMlibXNPRS+3y2GOf7B5N8DqfpTkh9kol6JMXEAhdz9xbCTuUzmk7uhtudtDz+MTWGRW5iUAj38UGSIvVQKuSXKVOjhhwH/GnOG5E7GRsBAzghIhVRpfHLrv3hr+vDD2EGhZbpz5B6EydKNyN0QIvcgaPPSgcwaVA7mfDBluAyUksTaZgiF3IPFMMc/mPwhkOpeSvKDTNQrMSYOpZD7XjHsZC6H8cndQNvzu2zkvo9F7gZiGyD3roAMsTecQm6JcrgPinI4i9zDsBFwP2cEDIdUD/DJ3UAr2mlK7gdDyxHOkftBTDbCiNwNIHI/CG3eCCCzBpWDOR9JGS73S0libTOKQu6RYpjjH0z+KEj1ECX5QSbqlRgTR1PI/ZAYdjKXD/PJXV/b8wk2cj/CInd9sQ2QOyEgQ+w9SiG3RPmoD4ryURa5H8ZGwBjOCHgUUo3lk7u+VtTDlNzjQsvHnCP3OEz2mBG560PkHgdt3mNAZg0qB3P+OGW4jJGSxNrmCQq5HxfDHP9g8p+AVE9Skh9kol6JMXE8hdxPimEnczmBT+562p7fbyN3Bovc9cQ2QO79ARliz0cht0Tp80FR+ljknoCNgEzOCMCcT+STu55WtM+U3JNCy8nOkXsSJptsRO56ELknQZs3GcisQeVgzp+iDJdMKUmscp+mkPspMczxDyb/aUj1DCX5QSbqlRgTn6WQ+xkx7GQun+OTu66255vayP08i9x1xTZA7qYBGWJvCoXcEuUUHxTlFBa5n8NGwFTOCJgCqV7gk7uuVtTElNzTQsvpzpF7GiabbkTuuhC5p0GbNx3IrEHlYM5fpAyXqVKSWNu8RCH3i2KY4x9M/kuQagYl+UEm6pUYE2dSyD1DDDuZy1l8ct+m7flFNnLPZpH7NrENkHtRQIbYm0Mht0Q5xwdFOYdF7lnYCJjLGQFzINU8Prlv04oWmpJ7fmi5wDlyz8dkC4zIfRtE7vnQ5i0AMmtQOZjzlynDZa6UJNY2r1DI/bIY5vgHk/8KpHqVkvwgE/VKjImvUcj9qhh2MpcL+eS+Vdvza2zkXsQi961iGyD3moAMsbeYQm6JcrEPinIxi9wLsRGwhDMCFkOqpXxy36oVrTYl97LQcrlz5F6GyZYbkftWiNzLoM1bDmTWoHIw5ysow2WJlCTWNisp5F4hhjn+weSvhFSrKMkPMlGvxJj4OoXcq8Swk7lczSf3Ldqeb24j9xoWuW8R2wC5mwdkiL21FHJLlGt9UJRrWeRejY2AdZwRsBZSreeT+xatqJkpuTeElhudI/cGTLbRiNy3QOTeAG3eRiCzBpWDOX+DMlzWSUlibfMmhdxviGGOfzD5b0KqTZTkB5moV2JMfItC7k1i2MlcbuaT+2Ztz4+0kfttFrlvFtsAuUcGZIi9LRRyS5RbfFCUW1jk3oyNgK2cEbAFUm3jk/tmrWiEKbm3h5Z+58i9HZP5jch9M0Tu7dDm+YHMGlQO5lxRhstWKUmsbXZQyK3EMMc/mPwdkGonJflBJuqVGBN3Uci9Uww7mcvdfHLXCYvc77DIXUdsY+R+B/pYeyjklij3YOTewyL3bmwEvMsZAXsg1Xt8ctfhkXtvaLnPOXLvxWT7jMhdByL3Xmjz9nHIjTnfTxku70pJYm1zgELu/WKY4x9M/gFI9T4l+UEm6pUYEz+gkPt9MexkLg/yyX2Ttufn2cj9IYvcN4ltgNzzAjLE3kcUckuUH/mgKD9ikfsgNgI+5oyAjyDVIT65b9KK5pqS+3Bo+Ylz5D6MyT4xIvdNELkPQ5v3CZBZg8rBnH9KGS4fS0libfMZhdyfimGOfzD5n0GqzynJDzJRr8SY+AWF3J+LYSdzeYRP7hu1PT/TRu4vWeS+UWwD5J4ZkCH2vqKQW6L8ygdF+RWL3EewEfA1ZwR8Bam+4ZP7Rq1ohim5vw0tv3OO3N9isu+MyH0jRO5voc37DsisQeVgzr+nDJevpSSxtvmBQu7vxTDHP5j8HyDVUUryg0zUKzEm/kgh91Ex7GQuf+KTu7a25w/YyP0zi9y1xTZA7gMBGWLvGIXcEuUxHxTlMRa5f8JGwHHOCDgGqX7hk7u2VrTflNwnQstfnSP3CUz2qxG5a0PkPgFt3q9AZg0qB3P+G2W4HJeSxNrmdwq5fxPDHP9g8n+HVH9Qkh9kol6JMfFPCrn/EMNO5vIvPrlv0Pb8Dhu5/2aR+waxDZB7R0CG2DtJIbdEedIHRXmSRe6/oBEQV4AzAk5Czl18ct+gFSlDcsdZoaXbMXLHWZjMbUTuGxByx1nQ5rmBzIZfOaBzD2O4xAVKEmubCEbbxnnEMMc/mPwISFWQMtmDTNQrISbGRTLIHVdQDDuZyyg+ua/X9nzJELnjCrHIfb3YBshdMiBDmiWaQm6JMtoHRRlNIndcFDYCYjgjIBpSFeaT+3qtqIQpuWNDyzjnyB2LyeKMyH09RO5YaPPigMwaVA7mvAiF3DFSkljbeCnkLiKGOf7B5HshVVFK8oNM1CsxJl5AIXdRMexkLovxyV1L2/OrbOS+kEXuWmIbIPeqgAypgoso5JYoL/JBUV7EIncxbAQU54yAiyDVxXxy19KKVpqSu0RoWdI5cpfAZCWNyF0LIncJaPNKApk1qBzM+SUUeBSXksTa5lIKuS8Rwxz/YPIvhVSXUZIfZKJeiTHxcgq5LxPDTubyCj65r9P2/FgbuUuxyH2d2AbIPTYgQ6ognkJuiTLeB0UZzyL3FdgIuJIzAuIh1VV8cl+nFY0xJXfp0PJq58hdGpNdbUTu6yByl4Y272ogswaVgzkvQ4HHlVKSWNuUpZC7jBjm+AeTXxZSlaMkP8hEvRJjYnkKucuJYSdzWYFP7mu1Pd/ERu5rWOS+VmwD5G4SkCFVUJFCbomyog+KsiKL3BWwEVCJMwIqQqrKfHJfqxU1NiV3ldCyqnPkroLJqhqR+1qI3FWgzasKZNagcjDn1SjwqCQlibVNdQq5q4lhjn8w+dUhVQ1K8oNM1CsxJtakkLuGGHYyl9fyyV1T2/M+G7mvY5G7ptgGyO0LyJAqqEUht0RZywdFWYtF7muxEXA9ZwTUglQ38Mmt798MU3LXDi1vdI7ctTHZjUbkrgmRuza0eTcCmTWoHMz5TRR4XC8libVNHQq5bxLDHP9g8utAqpspyQ8yUa/EmHgLhdw3i2Enc3krn9w1tD2faiP3bSxyy/7eBpA7NSBDqqAuhdwSZV0fFGVdFrlvxUZAPc4IqAup6vPJrT8/SDEld4PQsqFz5G6AyRoakbsGRO4G0OY1BDJrUDmY80YUeNSTksTapjGF3I3EMMc/mPzGkKoJJflBJuqVGBObUsgtl0mbOpnLZnxyV9f2/DobuZuzyF1dbAPkXheQIVXQgkJuibKFD4qyBYvczbAR0JIzAlpAqlZ8cusvK641JXfr0LKNc+RujcnaGJG7OkTu1tDmtQEya1A5mPO2FHi0lJLE2qYdhdxtxTDHP5j8dpCqPSX5QSbqlRgTb6eQu70YdjKXd/DJXU3b8/E2ct/JIrfcCroTIHd8QIZUQQcKuSXKDj4oyg4sct+BjYCOnBHQAVLdxSe3/oZoKVNydwotOztH7k6YrLMRuatB5O4EbV5nILMGlYM570KBR0cpSaxtulLI3UUMc/yDye8KqbpRkh9kol6JMbE7hdzdxLCTuezBJ3dVbc8XtpE7gUXuqmIbIHfhgAypgp4UckuUPX1QlD1Z5O6BjYBenBHQE1L15pNb/z2qGFNyJ4aWfZwjdyIm62NE7qoQuROhzesDZNagcjDnfSnw6CUlibVNPwq5+4phjn8w+f0gVRIl+UEm6pUYE++mkDtJDDuZy3v45K6i7flkG7n7s8hdRWwD5E4OyJAqGEAht0Q5wAdFOYBF7nuwEZDMGQEDIFUKn9xVtKIBpuRODS0HOkfuVEw20IjcVSByp0KbNxDIrEHlYM7TKPCQfkzB2mYQhdxpYpjjH0z+IEiVTkl+kIl6JcbEwRRyp4thJ3M5hE/uytqeL2oj970sclcW2wC5iwZkSBUMpZBbohzqg6IcyiL3EGwEDOOMgKGQ6j4+ufV/eOY1Jffw0PJ+58g9HJPdb0TuyhC5h0Obdz+QWYPKwZw/QIHHMClJrG0epJD7ATHM8Q8m/0FINYKS/CAT9UqMiSMp5B4hhp3M5Sg+uYE//LWR+yEWuSuJbSjguNEUJov/0Rks2o7C2vZhTtuOhlSPGGwr8JHEMJLWcyziimEV8aOsIq4otrEiHkMpYvE/hlLEgX0c41wRn+NuX6OPw7bbY1m7fY3YxjpwLFQT4yg1IVGOw3ZuHAWJUjnjMHA/DEX5GKO+A1l6LIMzfh+DVI9TjpqCxyN6JXY88gRluDwuhrEosVw+yeL4k1AjeRqGOwIvnnh2BGLlWlacIOWKn7sWiA/rRNc3albdtLSEYQcLxKu48SpugorLUHE+FZep4iaquEkqbrKKe0rFPa3inlFxz6q451Tc8ypuioqbquJeUHHTVNx0FfeiintJxc1QcTNV3CwVN1vFzVFxc1XcPBU3X8UtUHEvq7hXnDt5Hh8FySZgsgxM5sNkmZhsIiabhMkmY7KnMNnTmOwZTPYsJnsOkz2PyaZgsqmY7AVMNg2TTcdkL2KylzDZDEw2E5PNwmSzMdkcTDYXk83DZPMx2QJM9jImeyXKiFexZWU8Q8QcD135m6BVBRidoVOdIrmGpJlHT6nyP8I6NvG0amJ+qkPHz6gm5aOqdziompy3KqP+WdVTeapSfCHV03mpVqbaVM/koRq6yq56NndV42FZVM/lqjrSJKvq+dxUNb7MppqSi6pczeyqqTlVXcrnUL2QQ9Wha07VtOyqkR1zUU3Ppho5KjfVi1lVy0blqnopi6rB8txVM+yq1g3zUM20qVa0yUs1K6QqvzJP1eyzqmkV8lbNCaqqTc9HNfeM6lD1/FTzTqsGHs5XNf+UqmVa/qoFAVWvVhrVy6Kq2luneoV+OSHgQjP7dtsuJ7xKupwQ94rYBu5d7g7IEHuvMS4nBKJ8zQdF+Vq4Oxf27TugOHaZ3r5bGFoucu4MZCEmW2Ry+y7uFQjiC6EDgkVAZg2uhWDOFzMuRQfO31+DrjJ4GkJRLqFcC1kshn2O+T/HyfiytqCm2ibjUtZklKsAS4HJODUgQ+wto0xGiXKZD4pyGeNCa6C+lzhZ38s5l0OXQaoV9O9+BIpbI5piCo+VoeUq5+CxEpOtMoLHyxA8VkKbtwrIrEHlYM5fp4yg5VKS2FheTcHC62L43/S/RAxPxLCERQmp1tC//hC3QFv2S2yIW8tCnFzrXgsgbklAhthbR0GcRLnOB0W5jnULZg3WBes58FoHqTbw4bVAK1psCq+NoeUbzsFrIyZ7wwheCyB4bYQ27w0gswaVgzl/kzJc1ktJYm2ziQKPN8Uwxz+Y/E2Q6i3KN6CC5NSZPk1OvQoj52bKdzneEsNOZvxtPt/nayfDBBvft7D4LreztwB8nxCQIfa2UvguUW71QVFuZfH9bWxQbOMMiq2Qajuf7/O1ovGmfPeHlso5vvsxmTLi+3yI735o8xSQWYPKwZzvoAyXbVKSWNvspPB9hxjm+AeTvxNS7aIkP8hEvRJj4m4KuXeJYSdz+Q6f3PO0PW9/AN8eFrnniW3sAXx7oI/1LoXcEuW72AP43mWR+x1sBLzHGQHvQqq9fHLP04qMH8C3L7Tc7xy592Gy/UbkngeRex+0efuBzBpUDub8AGW4vCclibXN+xRyHxDDHP9g8t+HVB9Qkh9kol6JMfEghdwfiGEnc/khn9xztT2/y0buj1jkniu2AXLvCsgQex9TyC1RfuyDovyYRe4PsRFwiDMCPoZUh/nknqsV7TQl9yeh5afOkfsTTPapEbnnQuT+BNq8T4HMGlQO5vwzynA5JCWJtc3nFHJ/JoY5/sHkfw6pvqAkP8hEvRJj4hEKub8Qw07m8ks+uedoez7BRu6vWOSeI7YBcicEZIi9rynklii/9kFRfs0i95fYCPiGMwK+hlTf8sk9RyvqYUru70LL750j93eY7Hsjcs+ByP0dtHnfA5k1qBzM+Q+U4fKNlCTWNkcp5P5BDHP8g8k/Cql+pCQ/yES9EmPiTxRy/yiGnczlz3xyz9b2/H4buY+xyD1bbAPk3h+QIfaOU8gtUR73QVEeZ5H7Z2wE/MIZAcch1Qk+uWdrRftMyf1raPmbc+T+FZP9ZkTu2RC5f4U27zcgswaVgzn/nTJcfpGSxNrmDwq5fxfDHP9g8v+AVH9Skh9kol6JMfEvCrn/FMNO5vJvPrlnaXu+qY3cJ1nkniW2AXI3DcgAe0UKUMg9Swz7kCgD/jXmDMn9NzQCirgoI6BIAUhl8ck9SytqYkjuIu7Q0uMYuYu4MZnHiNyzEHIXcUOb5wEya1A5mPMIxnApIv+1sLYpyGjbIhFimOMfTH5BSBVJmexBJuqVEBOLRDHIXSRSDDuZy0J8cs/U9vyiELmLRLPIPVNsA+ReFJAhzRJDIbdEGeODoowhkbtIIWwEFOaMgBhIFcsn90ytaKEpueNCyyLOkTsOkxUxIvdMiNxx0OYVATJrUDmYcy+F3IWlJLG2KUoht1cMc/yDyS8KqS6gJD/IRL0SY2IxCrkvEMNO5vJCPrlnaHt+jY3cF7HIPUNsA+ReE5AhVVCcQm6JsrgPirI4i9wXYiPgYs4IKA6pSvDJPUMrWm1K7pKh5SXOkbskJrvEiNwzIHKXhDbvEiCzBpWDOb+UAo+LpSSxtrmMQu5LxTDHP5j8yyDV5ZTkB5moV2JMvIJC7svFsJO5LMUn90vanm9uI3c8i9wviW2A3M0DMqQKrqSQW6K80gdFeSWL3KWwEXAVZwRcCalK88n9klbUzJTcV4eWZZwj99WYrIwRuV+CyH01tHllgMwaVA7mvCwFHldJSWJtU45C7rJimOMfTH45SFWekvwgE/VKjIkVKOQuL4adzOU1fHK/qO35kTZyV2SR+0WxDZB7ZECGVEElCrklyko+KMpKLHJfg42AypwRUAlSVeGT+0WtaIQpuauGltWcI3dVTFbNiNwvQuSuCm1eNSCzBpWDOa9OgUdlKUmsbWpQyF1dDHP8g8mvAalqUpIfZKJeiTHxWgq5a4phJ3N5HZ/c08Midy0WuaeLbYzctaAquJ5Cbonyeozc17PIfR02Am7gjIDrIVVtPrmn88h9Y2h5k3PkvhGT3WRE7ukQuW+ENu8mDrkx53Uo8LhBShJrm5sp5K4jhjn+weTfDKluoSQ/yES9EmPirRRy3yKGnczlbXxyT9P2/DwbueuyyD1NbAPknheQIVVQj0JuibKeD4qyHovct2EjoD5nBNSDVA345J6mFc01JXfD0LKRc+RuiMkaGZF7GkRu6KUuRRoBmTWoHMx5Ywo86ktJYm3ThELuxmKY4x9MfhNI1ZSS/CAT9UqMic0o5G4qhp3MZXM+uV/Q9vxMG7lbsMj9gtgGyD0zIEOqoCWF3BJlSx8UZUsWuZtjI6AVZwS0hFSt+eR+QSuaYUruNqFlW+fI3QaTtTUi9wsQudtAm9cWyKxB5WDO21Hg0UpKEmub9hRytxPDHP9g8ttDqtspyQ8yUa/EmHgHhdy3i2Enc3knn9xTtT1/wEbuDixyTxXbALkPBGRIFXSkkFui7OiDouzIIved2Ai4izMCOkKqTnxyT9WK9puSu3No2cU5cnfGZF2MyD0VIndnaPO6AJk1qBzMeVcKPO6SksTaphuF3F3FMMc/mPxukKo7JflBJuqVGBN7UMjdXQw7mcsEPrmnaHt+h43cPVnkniK2AXLvCMiQKuhFIbdE2csHRdmLRe4EbAT05oyAXpAqkU/uKVqRMiV3n9Cyr3Pk7oPJ+hqRewpE7j7Q5vUFMmtQOZjzfhR49JaSxNomiULufmKY4x9MfhKkupuS/CAT9UqMifdQyH23GHYyl/355H5e2/MlbeQewCL382IbIHfJgAypgmQKuSXKZB8UZTKL3P2xEZDCGQHJkCqVT+7ntaISpuQeGFqmOUfugZgszYjcz0PkHghtXhqQWYPKwZwPosAjRUoSa5t0CrllX9M5/sHkp0OqwZTkB5moV2JMHEIh92Ax7GQu7+WT+zltz6+ykXsoi9zPiW2A3KsCMqQKhlHILVEO80FRDmOR+15sBNzHGQHDINVwPrmf04pWmpL7/tDyAefIfT8me8CI3M9B5L4f2rwHgMwaVA7m/EEKPO6TksTaZgSF3A+KYY5/MPkjINVISvKDTNQrMSaOopB7pBh2MpcP8cn9rLbnx9rIPZpF7mfFNkDusQEZUgUPU8gtUT7sg6J8mEXuh7AR8AhnBDwMqR7lk/tZrWiMKbnHhJZjnSP3GEw21ojcz0LkHgNt3lggswaVgzkfR4HHI1KSWNs8RiH3ODHM8Q8m/zFI9Tgl+UEm6pUYE5+gkPtxMexkLp/kk/sZbc83sZF7PIvcz4htgNxNAjKkCiZQyC1RTvBBUU5gkftJbARkcEbABEjl45P7Ga2osSm5bcuJzpE7E5NNNCL3MxC5sS2eCGTWoHIw1SQKPDKkJLG2mUwh9yQxzPEPJn8ypHqKkvwgE/VKjIlPU8j9lBh2MpfP8Mn9tLbnfTZyP8si99NiGyC3LyBDquA5Crklyud8UJTPscj9DDYCnueMgOcg1RQ+ufX9m2FK7qmh5QvOkXsqJnvBiNxPQ+SeCm3eC0BmDSoHcz6NAo/npSSxtplOIfc0MczxDyZ/OqR6kZL8IBP1SoyJL1HI/aIYdjKXM/jkfkrb86k2cs9kkVv2dyZA7tSADKmCWRRyS5SzfFCUs1jknoGNgNmcETALUs3hk1t/fpBiSu65oeU858g9F5PNMyL3UxC550KbNw/IrEHlYM7nU+AxW0oSa5sFFHLPF8Mc/2DyF0CqlynJDzJRr8SY+AqF3C+LYSdz+Sqf3JO1Pb/ORu7XWOSeLLYBcq8LyJAqWEght0S50AdFuZBF7lexEbCIMwIWQqrFfHLrLyuuNSX3ktByqXPkXoLJlhqRezJE7iXQ5i0FMmtQOZjzZRR4LJKSxNpmOYXcy8Qwxz+Y/OWQagUl+UEm6pUYE1dSyL1CDDuZy1V8ck/S9ny8jdyvs8gtt4JeB8gdH5AhVbCaQm6JcrUPinI1i9yrsBGwhjMCVkOqtXxy62+IljIl97rQcr1z5F6HydYbkXsSRO510OatBzJrUDmY8w0UeKyRksTaZiOF3BvEMMc/mPyNkOoNSvKDTNQrMSa+SSH3G2LYyVxu4pN7orbnC9vI/RaL3BPFNkDuwgEZUgWbKeSWKDf7oCg3s8i9CRsBb3NGwGZItYVPbn26YkzJvTW03OYcubdism1G5J4IkXsrtHnbgMwaVA7mfDsFHm9LSWJt46eQe7sY5vgHk++HVIqS/CAT9UqMiTso5FZi2Mlc7uSTW9/zyTZy72KRO1NsA+RODsiQKthNIbdEudsHRbmbRe6d2Ah4hzMCdkOqPXxy60UDTMn9bmj5nnPkfheTvWdE7kyI3O9Cm/cekFmDysGc76XA4x0pSaxt9lHIvVcMc/yDyd8HqfZTkh9kol6JMfEAhdz7xbCTuXyfT26ftueL2sj9AYvcPrENzJ+iARlSBQcp5JYoD/qgKA+yyP0+NgI+5IyAg5DqIz659X945jUl98eh5SHnyP0xJjtkRG4fRO6Poc07BGTWoHIw54cp8PhQShJrm08o5D4shjn+weR/Aqk+pSQ/yES9EmPiZxRyfyqGnczl53xyA3/4ayP3FyxyZ4htKOAiRyhMFv9HMli0/Rxr2y85bXsEUn1lsK3ARxLDSFrPsYgnhFXEX7OKeILYxor4G0oRi/9vKEUc2MdvnCvic9zt8fo4bLv9LWu3x4ttrAO/hWriO0pNSJTfYTv3HQWJUjnfYeD+Eorye0Z9B7L0PekRGN9Dqh8oR03B4xG9EjseOUoZLj+IYSxKLJc/sjj+I9RInoaA/5xnca/Ubdi+eo0bGib3ShuWmj7pYIGFo+bWT0kelJ6QjDwT+bz2vPa89rz2vNY57dkLap4k27qfbd3Xtu5jWyfa1r1t6162dU/bOsG27mFbd7etu9nWXW3rLrZ1Z9u6k219l23d0bbuYFvfaVvfYVvfblu3t63b2dZtbes2tnVr27qVbd3Stm5hWze3rZuF1hHKtvbb1ttt62229Vbbeott/bZtvdm2fsu23mRbv2lbv2Fbb7StN9jW623rdbb1Wtt6jW292rZ+3bZeZVuvtK1X2NbLbetltvVS23qJbb3Ytl5kWy+0rV+zrV8NrSOr29bVbOuqtnUV27qybV3Jtq5oW19jW1ewrcvb1uVs67K2dRnb+mrburRtfZVtfaVtHW9bl7Ktr7CtL7etL7OtL7WtL7GtS9rWJWzri23r4rb1Rbb1hbZ1Mdv6gtA66inberJtPcm2nmhb224GRPls6wzbeoJtPd62ftK2fsK2fty2fsy2Hmdbj7Wtx9jWj9rWj9jWD9vWo23rh2zrUbb1SNt6hG39oG39gG19v2093La+z7YeZlsPta3vDYMV3vPa89r/mvagyM+Wc4wNOzE2HMXYMBVjw1eMDWsxNtzF2DAYY8NjjA2bMTacxtgwG2PDb4wNyzE2XMfYMB6zPctHiLYduUTbjmiibUc60bYjoGjbkVG07Ygp2nYkFW07woq2HXlF247Iom1HatG2I7ho25FdtO2IL9p2JBjdV07kVZGfVJGfVZFjqshxVeQXVeSEKvKrKvKbKvK7KvKHKvKnKvKXKvK3KnJSeQsor0t5LeV1K69HeSOUt6DyRipvlPIWUt5o5Y1R3sLKG6u8ccpbRHm9yltUeS9Q3mLKe6HyXqS8xZX3YuUtobwllfcS5b1UeS9T3suV9wrlLaW88cp7pfJepbyllfdq5S2jvGWVt5zyllfeCsp7jfJWVN5KyltZeasob1Xlraa81ZW3hvLWVN5rlfc65a2lvNcr7w3KW1t5b1Tem5S3jvLerLy3KO+tynub8tZV3nrKW195GyhvQ+VtpLyNlbeJ8jZV3mbK21x5WyhvS+VtpbytlbeN8rZV3nbK2155b1feO5T3TuXtoLwdlfcu5e2kvJ2Vt4vydlXebsrbXXl7KG+C8vZU3l7K21t5E5W3j/L2Vd5+ypukvHcr7z3K2195ByhvsvKmKG+q8g5U3jTlHaS86co7WHmHKO+9yjtUeYcp733KO1x571feB5T3QeUdobwjlXeU8j6kvKOV92HlfUR5H1XeMco7VnnHKe9jyvu48j6hvE8q73jlnaC8GcrrU95M5Z2ovJOUd7LyPqW8TyvvM8r7rPI+p7zPK+8U5Z2qvC8o7zTlna68LyJXf7yks5pwrirFndee15pqs4zuONsBZpztwDPOdkAaZztQjbMdwMbZDmzjbAe8cbYD4TjbAXLc07b1M7b1s7b1c7b187b1FNt6apaPEGs7X4m1ncfE2s5vYm3nPbG286FY23lSrO38KdZ2XhVbw7auaVtfa1tfZ1vXsq2vt61vsK1ry0dQ3peUd4byzlTeWco7W3nnKO9c5Z2nvPOVd4Hyvqy8ryjvq8r7mvIuVN5FWW9yQJe8vYvzr4eYzi1a5DL0lrZJGZSY1DsluUabxLQBg9MT0pNSkjNtW+y1nbNG264HeGznRp5iMnaXKO9S5V2mvMtNol+hjb6lUfQrwOhXKu8q5X1deVebRL9GG30ro+jXgNGvVd51yrteeTeYRL9RG31ro+g3gtG/obxvKu8m5X3LJPrN2ujbGEW/GYz+beXdorxblXebSfTbtdG3NYp+Oxi9X3mV8u5Q3p0m0e/SRt/OKPpdYPS7lfcd5d2jvO9m/UJDbEbo2wfe98AvNUA3DfN2s/efcbPvn3Gz/59xc+CfcfP+P+PmA5qbCzNC32v2HgwtP3TSI/C1Zu9Bl9F9e+9B5+7bZ0nMReF+4dyLfKE+PJPREeF89837kZN7ZjC0P87fbMexG8YaDe2PbeuP8hnah5T3sPJ+oryfGpRSdeWpCX3MoksY36Xy1FSeBpj/peHu3iSoKBpAe/wZYqvoEkil/yCGM+EzrF4/d2h0fR7Py/cX/2i+zb475WmEFS7lEYGBxmkEfVvPewTK0nJWlhpjWVrJylJjLEtfQllaGS5PXaGvAmeCEXu/QBv+87D+0sH7lWN/tOX96lz/SMPTOKzQWd9v98hlfOz77V7K99sD/r8J+68JbH8VSCgq7Mgy//1znQoa/DvDU2Lb8fi3oeV3zpXst5jsu3ijMeP9Ahtzq0hjFty2oq+HexQ1GauG/FWZR0+10LfQJP4OmsSrINXrQJWGnW7vN4GPAn0W7BN/zxht3q/EMHZE+EO4RTERMnv0H9vInCFCZx9hpOhHCn3k8KQh9GcCIkOi/Il0ECXHkJD/n//FQ82agWM4KMpjnEM9+9/qY5vaCGsjHmmPh5a/OEfa45jsF6Pzx0bw6NHz6Dhk6xcKQ2T0HMfG6FeQCvssJwzGGDRGj0PPYzj1WfQq7LP8yhgj3h+keLBDqXUU/0eFNdgY+w0aY+FGmYlm6SdI+KMIMcL+zgg0cGT8AyrE/hbO+wcl0EZgoIGM/owF+ielQH8MABTy/xelQDG2uqdis9XEuc5sASDACgzHLsDxNQzHFuC4IsOxG3BciVFglZHycof7om7o2lkVRiI9gOOqDMcRgONqDMcFAcfVGY4jAcc1GI6jAMc1GY4LAY6vZTiOBhxfx3AcAziuxXBcGHB8PcNxLOD4BoZj4Fm1rtoMx0UAxzcyHHsBxzcxHBcFHNdhOL4AcHwzw3ExwPEtDMcXAo5vZTi+CHB8G8NxccBxXYbjiwHH9RiOSwCO6zMclwQcN2A4vgRw3JDh+FLAcSOG48sAx40Zji8HHDdhOL4CcNyU4bgU4LgZw3E84Lg5w/GVgOMWDMdXAY5bMhyXBhy3Ypx0t2YYbcO4MtEWujIxhbE7VwPhtaPcyJWr5iewq/ZvU/z/GrgcD3z69tAlUVqMfyIx3k6JMRP6OnBj2Uf0w/yFtNgdjL69k2G0A8NoR4bRuxhGOzGMdmYY7cIw2pVhtBvDaHeG0R4MowkMoz0ZRnsxjPZmGE1kGO3DMNqXYbQfw2gSw+jdDKP3MIz2ZxgdwDCazDCawjCayjA6kGE0jWF0EMNoOsPoYIbRIQyj9zKMDmUYHcYweh/D6HCG0fsZRh9gGH2QYXQEw6h/JMXqKIrVhyhWR1OsPkyx+gjF6qOMSx7uY8r9N/LFO/fvIkSu3/jHQFcAw/2+JXTx0T8W8v084QKXZOhvaBvHUYrjMYrVxylWn6BYfZJidTzF6gSK1QyKVR/FaibF6kSK1UkUq5MpVp+iWKV8kdT/DMXqsxSrz1GsPk+xOoVidSrF6gsUq9MoVqdTrL5IsfoSxeoMitWZFKuzKFZnU6zOoVidS7E6j2J1PsXqAorVlylWX6FYfZVi9TWK1YUUq4soVhdTrC6hWF1KsbqMYnU5xeqKMB+eg1ldSYl1FcXq6xSrqylW11CsrqVYXUexup5idQPF6kaK1TcoVt+kWN1EsfoWxepmitW3KVa3UKxupVjdRrG6nWLVT7GqKFZ3UKzupFjdRbG6m2L1HYrVPRSr71KsvkexupdidR/F6n6K1QMUq+9TrH5AsXqQYvVDitWPKFY/plg9RLF6mGL1E4rVTylWP6NY/Zxi9QuK1SMUq19SrH5Fsfo1xeo3FKvfUqx+R7H6PcXqDxSrRylWf6RY/Yli9WeK1WMUq8cpVn+hWD1BsforxepvFKu/U6z+QbH6J8XqXxSrf1OsnmRYVa4CHLMujlmLY9bNMevhmI3gmC3IMRvJMRsVplns+7Kegpj3QgTvZWDv0eGmFHo+qCvwhLb8giw/ZvnXEiPHeeFM5I/hCxLyLlaV50Is87Es/yUx/3EM/+6TcOUVYX3+Eph/L2eYFOWYvYBjthjH7IUcsxdxzBbnmL2YY7YEx2xJjtlLOGYv5Zi9jGP2co7ZKzhmS3HMxnPMXskxexXHbGmO2as5ZstwzJblmC3HMVueY7YCx+w1HLMVOWYrccxW5pitwjFblWO2GsdsdY7ZGhyzNTlmr+WYvY5jthbH7PUcszdwzNbmmL2RY/Ymjtk6HLM3c8zewjF7K8fsbRyzdTlm63HM1ueYbcAx25BjthHHbGOOWcpjqk9fhNU7pzyq2gW5bvbvuaY8rtoNuTZ6YLXebEvoknvYx+XQaw9drRDnRQtAKtLNxtYcs204ZttyzLbjmG3PMXs7x+wdHLN3csx24JjtyDF7F8dsJ47ZzhyzXThmu3LMduOY7c4x24NjNoFjtifHbC+O2d4cs4kcs304ZvtyzPbjmE3imL2bY/Yejtn+HLMDOGaTOWZTOGZTOWYHcsymccwO4phN55gdzDE7hGP2Xo7ZoRyzwzhm7+OYHc4xez/H7AMcsw9yzI7gmB3JMTuKY/YhjtnRHLMPc8w+wjH7KMfsGI7ZsRyz4zhmH+OYfZxj9gmO2Sc5ZsdzzE7gmM3gmPVxzGZyzE7kmJ3EMTuZY/YpjtmnOWaf4Zh9lmP2OY7Z5zlmp3DMTuWYfYFjdhrH7HSO2Rc5Zl/imJ3BMTuTY3YWx+xsjtk5HLNzOWbncczO55hdwDH7MsfsKxyzr3LMvsYxu5BjdhHH7GKO2SUcs0s5ZpdxzC7nmF3BMbuSY3YVx+zrHLOrOWbXcMyu5ZhdxzG7nmN2A8fsRo7ZNzhm3+SY3cQx+xbH7GaO2bc5ZrdwzG7lmN3GMbudY9bPMas4ZndwzO7kmN3FMbubY/Ydjtk9HLPvcsy+xzG7l2N2H8fsfo7ZAxyz73PMfsAxe5Bj9kOO2Y84Zj/mmD3EMXuYY/YTjtlPOWY/45j9nGP2C47ZIxyzX3LMfsUx+zXjdVLK9Q0n2m85Zr/jmA33gcnYU89uU56GmP8fKP6rw/6PctL6I8fsTxyzP3PMHuOYPc4x+wvH7AmO2V85Zn/jmP2dY/YPjtk/OWb/4pj9m2OW80xmi/NMZovzZ9IW55nMFueZzBbnmcwW55nMFueZzBbnmcxWFMdsIY7ZaI7ZGI7ZwhyzsRyz4T6nOBM5YvX+pLwnIOGvyvs7FijtgcZXYv45DzS2irI+1iWY/ws4H4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOL8+Rji/PkY4vz5GOrBscs58nHFufJxxbnyccW58nHFufJxxbnyccW58nHFufJxxbnyccW58nHFufJxxbnycdW2E8+dvBRrxbn+cgW5/nIFuf5yBbn+cgW5/nIFuf5yBbn+cgW5/nIVhOO2aYcs804ZptzzLbgmG3JMduKY5bzbGCL82xgi/NsYKsdxyzn2cAW59nAFufZwBbn2cAW59nAFufZwFa4zwbGbmM0VN5DmP9OJP+FPsT8h/u04YMF4nOLoEaWCFyBCIr8lGuoR3IKf879MzXOITyWx4cfml14PK8srcwm/CXPdKZkFeZzVzAji/DXfDaonl34W347ecgm/D3fLT8WEv6Rf21knhX+qSmiH4LCv3TCk2eEf2uFJ08LT6L9UyAg7JWv8JRF70unLLbUC2ecdj1QK5x5JsZDOuGs4IepphHOPvupp+UvnBNKT/l8hXNteVyRn3CePeGt8xHOz7IzDfIWLsi6hcvyFL6cba9H5iV8JXtRjMxD+GqO6umQu/C1nGXWJVfhwlzqsVxuwkVo4S7BBm8Xs8GLdIQL7QgL7Qg32hEetCMi0I4oiHZEJNoRUWhHFEI7IhrtiBi0IwqjHRGLdkQc2hFF0I7wggcC3qLggYD3AvBAwFsMPBDwXggeCHgvAg8EvMXBAwHvxeCBgLcEeCDgLQkeCHgvAQ8EvJeCBwLey8ADAe/l4IGA9wp0npZChSuxwduVN3jj0cF7JTp4r0IHb2l08F6NDt4y6OAtiw7ecujgLY8O3gro4L0GHbwV0cFbCR28ldHBWwUdvFXRwVsNHbzV0cFbAx28NdHBey06eK9DB28tdPBejw7eG9DBWxsdvDeig/cmdPDWQQfvzeg8vQUVrsUGbzfe4L0VHby3oYO3Ljp466GDtz46eBugg7chOngboYO3MTp4m6CDtyk6eJuhg7c5OnhboIO3JTp4W6GDtzU6eNugg7ctOnjboYO3PTp4b0cH7x3o4L0THbwd0MHbER28d6GDtxM6eDujg7cLOk+7osI3sMHbnTd4u6GDtzs6eHuggzcBHbw90cHbCx28vdHBm4gO3j7o4O2LDt5+6OBNQgfv3ejgvQcdvP3RwTsAHbzJ6OBNQQdvKjp4B6KDNw0dvIPQwZuODt7B6OAdgg7ee9HBOxQdvMPQwXsfOniHo/P0flT4NjZ4e/AG7wPo4H0QHbwj0ME7Eh28o9DB+xA6eEejg/dhdPA+gg7eR9HBOwYdvGPRwTsOHbyPoYP3cXTwPoEO3ifRwTseHbwT0MGbgQ5eHzp4M9HBOxEdvJPQwTsZHbxPoYP3aXTwPoMO3mfRwfscOk+fR4V+bPCG++bcp9GxOwUdu1PRsfsCOnanoWN3Ojp2X0SzvhvLek/Wd2new/z3Yvnfi/nvzfK/D/OfyPK/H/Pfh+X/AOa/L8v/+5j/fiz/H2D+w37vciZk9u5M7bj/UcLk/BHBUSjEe1iZ/wLLPOdlzxbnZc8W52XPFudlzxbnZc8W52XPVhrH7CCOWc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsueLc7Lni3Oy54tzsuerUyO2Ykcs5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W5yXPVuclz1bnJc9W4s5ZpdwzHJe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bHFe9mxxXvZscV72bL3DMbuHY5bzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmeL87Jni/OyZ4vzsmfra45ZzsueLc7Lni3Oy56t7zlmf+CY5bya2eK8mtn6iWP2Z45ZzquZLc6rmS3Oq5ktzquZLc6rmS3Oq5ktzquZLc6rmS3Oq5ktzquZLc6rmS3Oq5ndnFczuzmvZnZzXs3s5rya2c15NbOb82pmN+fVzG7Oq5ndnFczuzmvZnZzXs3s5rya2c15NbOb82pmdxzHbBGOWc77kd1FOWYv4JgtxjHLee2xm/PaYzfntcduzmuP3ZzXHrs5rz12c1577Oa89tjNee2xm/PaYzfntcduzmuP3ZzXHrs5rz12c1577Oa89tjNee2xm/PaYzfntcduzmuP3ZzXHrs5rz12c1577Oa89tjNee2xm/PaYzfntcduzmuP3ZzXHrs5rz121+CYrckxy3ntsZvz2mM357XHbs5rj92c1x67Oa89dnNee+zmvPbYzXntsZvz2mM357XH7ls5ZjkvNHZzXmjs5rzQ2M15obGb80JjN+eFxm7OC43dnBcauzkvNHZzXmjs5rzQ2M15obGb80JjN+eFxm7OC43dnBcauzkvNHZzXmjsbscx255jlvNCYzfnhcZuzguN3ZwXGrs5LzR238Ux24ljtjPHbBeO2a4cs904ZrtzzPbgmE3gmO3JMduLY7Y3x2wix2wfjtm+HLP9OGaTOGbv5pi9h2OW8/xbN+f5t27O82/dnOffujnPv3Vznn/rTuOY5Tz/1s15/q2b8/xbN+f5t27O82/dnOffujnPv3Vznn/r5jz/1s15/q2b8/xbN+f5t27O82/dnOffujnPv3Vznn/r5jz/1s15/q2b8/xbN+f5t27O82/dnOffusN9/m0m+mqFE4jQ+6vy/oEFynmirpvzRF0354m6bs4Tdd3QE3VbJg5ISRvWNDkpfeK1B919KlxTsVLlKlWrVa9R89rral1/Q+0bb6pz8y233la3Xv0GDRs1btK0WfMWLVu1btO2Xfvb77izQ8e7OnXu0rVb9x4JPXv1TuzTt1/S3ff0H5CckjowbVD64CH3Dh123/D7H3hwhH+kf5T/If9o/8P+R/yP+sf4x/rH+R/zP+5/wv+kf7x/gj/D7/Nn+if6J/kn+5/yP+1/xv+s/zn/8/4p/qn+F/zT/NP9L/pf8s/wz/TP8s/2z/HP9c/zz/cv8L/sf8X/qv81/0L/Iv9i/xL/Uv8y/3L/Cv9K/yr/6/7V/jX+tf51/vX+Df6N/jf8b/o3+d/yb/a/7d/i3+rf5t/u9/uVf4d/p3+Xf7f/Hf8e/7v+9/x7/fv8+/0H/O/7P/Af9H/o/8j/sf+Q/7D/E/+n/s/8n/u/8B/xf+n/yv+1/xv/t/7v/N/7f/Af9f/o/8n/s/+Y/7j/F/8J/6/+3/y/+//w/+n/y/+3/6RyFVAul3JZyuVWLo9yRShXQeWKVK4o5SqkXNHKFaNchZUrVrnilKuIcnmVq6hyXaBcxZTrQuW6SLmKK9fFylVCuUoq1yXKdalyXaZclyvXFcpVSrniletK5bpKuUor19XKVUa5yipXOeUqr1wVlOsa5aqoXJWUq7JyVVGuqspVTbmqK1cN5aqpXNcq13XKVUu5rleuG5SrtnLdqFw3KVcd5bpZuW5RrluV6zblqqtc9ZSrvnI1UK6GytVIuRorVxPlaqpczZSruXK1UK6WytVKuVorVxvlaqtc7ZSrvXLdrlx3KNedytVBuToq113K1Um5OitXF+XqqlzdlKu7cvVQrgTl6qlcvZSrt3IlKlcf5eqrXP2UK0m57laue5Srv3INUK5k5UpRrlTlGqhcaco1SLnSlWuwcg1RrnuVa6hyDVOu+5RruHLdr1wPKNeDyjVCuUYq1yjleki5RivXw8r1iHI9qlxjlGusco1TrseU63HlekK5nlSu8co1QbkylMunXJnKNVG5JinXZOV6SrmeVq5nlOtZ5XpOuZ5XrinKNVW5XlCuaco1XbleVK6XlGuGcs1UrlnKNVu55ijXXOWap1zzlWuBcr2sXK8o16vK9ZpyLVSuRcq1WLmWKNdS5VqmXMuVa4VyrVSuVcr1unKtVq41yrVWudYp13rl2qBcG5XrDeV6U7k2KddbyrVZud5Wri3KtVW5tinXduXyK5dSrh3KtVO5dinXbuV6R7n2KNe7yvWecu1Vrn3KtV+5DijX+8r1gXIdVK4Plesj5fpYuQ4p12Hl+kS5PlWuz5Trc+X6QrmOKNeXyvWVcn2tXN8o17fK9Z1yfa9cPyjXUeX6Ubl+Uq6fleuYch1Xrl+U64Ry/apcvynX78r1h3L9qVx/KdffynVSWQWU5VKWpSy3sjzKilBWQWVFKitKWYWUFa2sGGUVVlassuKUVURZXmUVVdYFyiqmrAuVdZGyiivrYmWVUFZJZV2irEuVdZmyLlfWFcoqpax4ZV2prKuUVVpZVyurjLLKKqucssorq4KyrlFWRWVVUlZlZVVRVlVlVVNWdWXVUFZNZV2rrOuUVUtZ1yvrBmXVVtaNyrpJWXWUdbOyblHWrcq6TVl1lVVPWfWV1UBZDZXVSFmNldVEWU2V1UxZzZXVQlktldVKWa2V1UZZbZXVTlntlXW7su5Q1p3K6qCsjsq6S1mdlNVZWV2U1VVZ3ZTVXVk9lJWgrJ7K6qWs3spKVFYfZfVVVj9lJSnrbmXdo6z+yhqgrGRlpSgrVVkDlZWmrEHKSlfWYGUNUda9yhqqrGHKuk9Zw5V1v7IeUNaDyhqhrJHKGqWsh5Q1WlkPK+sRZT2qrDHKGqusccp6TFmPK+sJZT2prPHKmqCsDGX5lJWprInKmqSsycp6SllPK+sZZT2rrOeU9byypihrqrJeUNY0ZU1X1ovKeklZM5Q1U1mzlDVbWXOUNVdZ85Q1X1kLlPWysl5R1qvKek1ZC5W1SFmLlbVEWUuVtUxZy5W1QlkrlbVKWa8ra7Wy1ihrrbLWKWu9sjYoa6Oy3lDWm8rapKy3lLVZWW8ra4uytiprm7K2K8uvLKWsHcraqaxdytqtrHeUtUdZ7yrrPWXtVdY+Ze1X1gFlva+sD5R1UFkfKusjZX2srEPKOqysT5T1qbI+U9bnyvpCWUeU9aWyvlLW18r6RlnfKus7ZX2vrB+UdVRZPyrrJ2X9rKxjyjqurF+UdUJZvyrrN2X9rqw/lPWnsv5S1t/KOqncBZRbkGwpt1u5PcododwFlTtSuaOUu5ByRyt3jHIXVu5Y5Y5T7iLK7VXuosp9gXIXU+4Llfsi5S6u3BcrdwnlLqnclyj3pcp9mXJfrtxXKHcp5Y5X7iuV+yrlLq3cVyt3GeUuq9zllLu8cldQ7muUu6JyV1LuyspdRbmrKnc15a6u3DWUu6ZyX6vc1yl3LeW+XrlvUO7ayn2jct+k3HWU+2blvkW5b1Xu25S7rnLXU+76yt1AuRsqdyPlbqzcTZS7qdzYl5vwcsNcbm7LjWi5aSw3eOVmrNw4lZucckNSbh7KjT65KSc30ORml9yYkptIcsNHbs7IjRS56SE3KORmglz4l4v0ckFdLn7LhWq5qCwXgOVirVxYlYugcsFSLi7KhUC5aCcX2ORimFy4kotMckFILt7IhRa5KCIXMORig1wYkJN4OeGWk2M5kZWTTjlBlJM5OfGSkyQ5oZGTDzlRkIN6OQCXg2U5DJVDRjm8k0MxOWya3y4xfXBacoOE9ISDBSoUcFluT0TByKhC0TGFY+OKeIteUOzCi4pfXKLkJZdedvkVpeKvvKr01WXKliufkXGwQIPMUTPr9kpKK5G5c1fkN8e2b+6bkXHmR5fk/FHjzJ2vxLxTb+20qG7BHzXN+aM2mTsfnb9sdI3RHw0K/ujOnLZScv4oLXNnv/e/6u7/aMic4I8GZe4c17pVg8rjDnqCPxqa8x/6H8rlZxm5/OzpzJ1RPwy5o8TW9ref/dmqzJ0fvFmx3d6GBUsFfybzIpcfeobn8sOCXXP5YVTZnFlRUeVz+2H13H54bW4/vD63H9bO7Yd1c/th/dx+2CS3HzbL7Yetcvthm9x+2DG3H3bK7Yddcvtht9x+2Ce3H/bL7YcDcvthSm4/TM3c+dnoH9qnpLfrGPqhFFeV69+v+vaeqLsPFqg5an7DoalpiYMGJaUkT8zQv0Lj9nD/Qb9w/0FiuP8gPtx/0Cvcf9A/3H+QEO4/SAr3Hwygp7V3uP+ge7j/YFC4/2BguP8gLdx/kE4vvuH0Bgq7lpLpWXqAntYkevHF09Oa8t+r1vRR//fH/f+XYybsWupDD2nof2+2DqUPMivrP4CuEkdDTwAJ3yzwTI2zR4kPZO4c88nJ/U8ML/l96NDxwcydFard5D9c5NltBwvc9v/joeP/AozPH7L8Nw5ZetNnetj9cP6giLJxYe/DAHqWkumlEfY+hH0UlUAPiQ8U/gF2wn+vgf6Dx2nnTzj/G6WRQPfAPx0cTP/QafRB9n/1vGVcbtfBH8/th5Ny++FTuf3wmdx++FxuP3wptx/OzO2H83L74YLcfvhKbj98Lbcfrszth6tz++G63H64Ibcfbsnth9ty++HO3H64O5cfForM5X5S9Je5/LCwyuWHca/m8kPvmMydj13T584HrlzW9mD41zLa0/sp7NnMP8hMo4/aPnQg8T9DOn2Y9/3vHUmcP7j5bxx6JP73PsO9/72reMn0D80/gU+i73Q6PaRk+uT7D55OpNKRFfY+DPn/8UJKfzofwq7WKvQPzT9u5QMl6b8XUs9w/8Eweki96D3dn/4P/heA0uN/4Jiv+3/vM/wvnB6Hndb/4Olxd3rx/QdPj8vTwc7/BxXogyzskM5elPVOyPk9deVdkrlzwUUbujYofbLLwfDx1oZ+Gprw35uS/KMGfpb4TOenlQ8f/glWr/9eSL3pG8f/mgT/Gvlg+mfgl0bS/8DG3Uv/0PzvhvCvdp3HLiVL/HF/z3/valdT+mz9D3596z94K+4/GFLY/TCUPvn+vzwiq0Tf6cH04uPzoXS4/6Dz/8DV37AP4cI+wOpO7+n/haOZ7vS59P/lRYSuYV8eO1igZOaB8gmnniHWvVfKgNSE9KSe/RO7p6Ql9JL/GZKYFjDV/d60hNTUxLSDBYqPmlU/JXlQ+sRRsxskpSX2SrdGzWmanJ7YNzFtxh01a2gdurL/e1dY/35kg+z/vkB4/huMmlk/oX9/X8xZO3PbJfaXDz0kMbxIChTIacEK18LLgVh6J6Qn1E9JHXb2IzWwx2Qzfjry2HOOvIEDkc9sn56S6svMI9Jse1R/VqOkxP76x6EXn336CStnPql31IJGKWmJSX2TA/938oFyCfelJ/bqPji9f/fTBVv/bL22PlWud56u1owM36hXTj+/rm7v3oFuOBuIb9Ts9kkDUvsnno4o6C9bvJ6wsjG0wagF9ZKSEwJPy0tvnTo5aMU9t4W4vr1fQnLASqhezzqZ3WzwgNSmfTLP/oOLRr3SNLn36UjzbJJa+bym7v23ju9d2qzGgFEzb5eG9WWG/n2wW8984swD8UmDuicOTew1OD3Q30nJ3dMSpdlPN39qv4RBiTIZ/uVeb3SOvd7oTB3FnXO9u3JacDve65bduERu++ANQgu711EzWqYMydKDZ2WnP3mRM4ozP25ol55rThqec05cOaeIPQdZh0GxbMOg7OlhkJo2pHvSoIbBQm6a3O5sGbcJVHGOSRBydXYWnI36pTuq56135dTnvgchD86Ml0ZOjZcS/9x4Wdc3MXA4kZwuczldpsug9ITkXomySE9MS07of7BArX95ttxxjrPljjNledn/wdmimxqX5zM1svymkd1Blt80zunvzG+ahH7jyfqbpqHfRGT9TbPQbwpm/U3z0G8is/6mReg3UVl/0zL0m0JZf9Mq9JvorL9pHfpNTNbftAn9pnDW37QN/SY262/ahX4Tl/U37UO/yTa7bw/9xpuzYoqe8+y+IDwL3pyzu6jNWNbZXS3r7F4bOo6TMVH/zJRoemZIHBTbec7sPH/jzvM3njx/E5Hnbwrm+ZvIPH8TledvCuX5m+g8fxOT528K5/mb2Dx/E5fnb4rk+Zu8d6FoYIuyHEc7+//sPP6v6ZHjgzP/Op8Dg+y/y288u3MOTNsPcoxM2w9yDE3bD3KMTdsPcgxO2w9yjE7bD3IMT9sPcoxP2w9yDFDbD3KMUNsPcgxR2w9yjFHbD2wlnu13XluRO3PwdodTB2/X/XMHb6/2TgxcCUoZlNi9nxyxHSxwxb98sNb4HA/WGv8fPhE8l1O8vA/WzvVT5HIAEV5jFLByHkDYJ13WA4gSwfPh3LShYpp5R/UaN+SQ2tN5ZjS/cronT/2f1qmTbIIZ7Qf3zGNm57zsFrysVax6gX2lPr5uWMXitVJaD3n449tfefDCGRWOFCnx/eA6Q347mJK3P8+MloP75/GpzPjhcWZuNXZqbl3+z82tuf3TgxOr0v/uxHKH22fn2qnAxMrvGMU2sXJU7dmhlessa+Tk5apG/+zlqqvy6fnZDQcOTug/KI/WPttBoX9w+aiZgR/KNbAcnyEivM+Qy5Hg2QLN+zjQlc9xoJX7oCgwQw6Qs84IW8ync1Q+63bbFAXyOdCNzPcA+XSi4vO7RyJH8cBe5+3EddZJ3hPa/R+bwuX+sSmsr/9Q9Bjccklr5lK5e5E8uH//pD5JiWndUxPlsyX3/ffvWJwf+/+fj/1sdynW2G9StArWa5vT5Zr3pQR3rrcmMvO+9JD3BbPMfC9w/N8ZYP/gvYsDZRIHJKV3Txic3i8lLem+hFM3SBMGdU/p06dXvwS5U5rYp4/oDxZY8C9PmxbnOG1anCnaojl7pGB4liJyWoh0Zto0tsdkM571/miT0AK6P9o4z5nUJCf4z96eyHFMcvb2RI5Lb2dvT5zOcPFz/s5Gi3/8OxvhWXdn//cNTL9NcxYO59ZLjcLkZdY57h+b83D4bJPm2ImocLsl16Hoyn7I7LJ7yD7+TBvNlc15yMVZ9zk/s5UVa6tCWJMbOE0SBvVrI78ckNBXbrfPa5KYkFo3LS1hmP18weMbNev0D7NdJfcgFDxDq+wXduxnIWckeXy2Qvl8NjkKaZGS0Dt3vBfKy2J0PhYb5bCY5dp4HhZj8rFYP4fFLFfUcxRkTHg14ckrptjcYrJ5yR5Vluv1OZGAfA2s3c74UjlvEeTde7HhfdSY8HsvNu/ei3Go93LJc0yo9/K+uSFJlpmelpj7byPzcheX011cyF1+Jj3Om4xw3qTLeZNRzpt0O2/Sct5kIedNRjtvsnA+V+c1TVkgz2PBc7/ZYzBt3HlPG8uhaePOmWYrz2njsYeWYws8QNN5crrz5LOr502eN/mfN5nXiaULbvi8HeV/o89BR1boXO1cB110fpcbjS64F7Td6D51uT0xr32MyHoxyWbB9mly3lWJSD1juF+Ow9gsW539ly4At9aZWzxZA3LlH5A1IHjyOT4vu658Sza3S4+BL9kFLme1PnPxquGpa1eBv5DI9UTNFZ3XiVp08AQ5j9Ai8z2EDeec07aB2XMfYT8gy/7LyPx2LQrYtUJ5FFJU/vtWaGhw33xZL2S77bGd03VUOZA442JSzq9dnbEYEcapaiHtzhTO+Y+i7RnJMUwK23cpr07NaTQqdBqeV2G9GtyV3Hoqyu42595E+kcHMzc330lbKLfxaPSJCoY+Ud7fuos4O9TO7fp6C6eur/uf/OfuEJ6jo4frv1n5kyNL7qM7+iyqTUNr2ROlgHuep6fNmR8XDA2AXHcn0k6H7P/GyrE3kf5nzlSL/7msAyYi5OiMYE4egrAPFzy5/4NC2f+BO/QPsniODgmy/Dwmr3F15seFc8nNWVuFcuSmsH92tuRHhf5VsKOzu47K3XV09s8WndeUDBrM/g9swDuzH9PyqsEwv7fhcqikg0/AQ/5AcFBievd+cm1XrvOevrgb/KPgs38MXOV/5A8ES/wfvN1O+CNgT7i7l9etMtc5f0/JCv/CSUTeF07cDl04yYX27uwXTnIe+2X7Hm4u39k/OxNsW3G6Mkvmd4te+8WKq8+5ShqxbzvmflYRJF+etMmWuag8aFNIg7PoXGhz1lZkDtpEl86L9FHZYVMoJMnVc1T2jxalgU0O8hbKDpvLst7CLB/G5T9XHieRtht9g7Le6As8QzXXM0h3vl9Gyf3c0sX4q3zH/my28j/4Z7O9JOuS7qQhCemJ3fsMTu515q/zg382W/l/5CsnF/2Hv3LSMNcztuxfOWkUWmT5ygn2xZSsqqahhf1P0/K6yNgwz8HfKE8kN87z2ytN8vz2StOzh0d5/TWuK8+/xj33PzFpxv4Tk3P8xovrHL/xku0bJ+XyvADqOudKd4d/NBWZ99FUQYeOpiLzuXZi5foXwwEOBSZkm9MDstGZ+ZjHtcxIK69rmdZkk69SOvu3x5M1f2t6el9gSZbBkddV6XwSXj//69zQn1/ZJ9vcXK6iufP4Ho8rr4PLMI5g7LcL8v46j0PfanXsqlulf+7QYmZ/ycr/zil7sf/BP+W8MIzGtd/X+9f/ltOV57mvlee5r1t77nv5/7VHFJUnfpPE4ILIv/5NknP7zqjblRe+Xc48hOH/1qWHcv/lSw/x//+esh8ok5ySntRnWPdeaYlyTNrb9mdpZy6Xp6alDB327z85s+E5kjd4UbHw/yB5z/2Zmg3/qQuluT8aMz40XU+XY/3T1Xj2b85yeSZmnkPTmWZu+H/yqZj//ZteTc6xj5s4dtPL8//hTS838aaX5/xNr3O46dXYsZteTc7f9Dp/0yu8m17u8G96uRnQbfJ/8Qi60pnHzw9J6J/Uu3vq4J79k3qdus7bPQCGHAA+fyCd85OcP5C2f6ZzOJAuHWr+01V5Z6Ao25yqyWCmzh9LI209Oy0huXfKgP/pfv0/88qILAcIWcTnGtG5/+1IWNdYs/XryiyPEm53quJO9R3eoRkZ/x+f716V/eJVSnrOM95r/+UGbn6ODRx8CscV5/zkhsicFgo53sBZHrKb9YsizUIL6Dkn+T17Ka/z2EZ5flOk8Tmf4TY55/zl8ii6vM+/o+n3WKLzPv+Ocuj8OzqfP5rJ+/w7Is/z7+g8z78LnemTUjm/EWRzndfXVJrm+cSUZmfsXnPOAG1+/szcfmZe4b98Zn5VVnBXCeNvACPyODNfnddVbqFWRsbT/9iXenJ/xo3L5HUCTxs/LB/6Km2u3xly5ninuVPHOzX/weOdin0TkxPTAl+uHZQoxzzp3e9JHNa9T0pa99SUQUmBDQlefpCfHyzQ9X/kcZKx/+Ezl4b5nrl4/zefbn6OXz21cnz1NPiskxI1ytVOfWbXhQfLX/XBbRterjKp5LGr6xxc2eTFo79v/VX+ZdaZ3Mb8qSm5nThm+6fWzmLdBhec2bVX5XKxDX8sccGk0bduevKhW8tVym9/kGcFFMjzCPW/dg/G49AxYES+f/ef358Z5/ir5oL2FsrDXcF8v5mbn0nLeZPufIpU++D9fKYW9lSKM8cy1AdvGz9A+078AdpZnkWQ/Qu4BXPrxNxfpmB/q4zuZQoFs75MIcvZST5vYMjyRoQs5Zr9m70F7e3gTOF57LLz38i35yrvZ8BH5sxjlucy4Ef+UflsTVQ+NyIcfDqnAQH+nadzevI6RTurKJT/X1iE/2RLuS5br39Cr3vqpQwd9ar0aXpSe7lPl5Amy4n2nXLbH1Bi2f5PtDusR8GcPTzKp/OjznnHC+X5TJUCOV9kldeVtRh7cGFP9KgzE/0ufKJHZokq55NPWp9hV4t8vk0Rkc+LZEIX3rMh0Ox00bEngd/xT7/KoA3xlkPQA/VlCa/1CZjt3l8MdU8XS+ffkxD6j/WPf4ft/HsSTv35DrPi/yuj6h98acHs7t0HDUxLPxjxb7e2Uzfr/svv6muSe4nn2dpNzv6BV5YGbmqX5vUn1ud+Navpf/xqVoFz/EPqHBXbELyGFZH9HzYK/sNr6hQ6OuuxBx8pcGjON+N/uWbNbZWLXlG3aJV3n997aXJa55JHs//DxuFFnO1LiyoiNp9vFYf/nM8cu41f08t+zpX/t68jwrxsl88zH4yeEergWd/J/4PvZMhx1mI/J8q+k4WAE/JC+T4p8rzJ8ybPmzxv8rzJ8ybPmzxv8t8zWfC8yf/PTP5/W5fnG/L8jp8fG+fr8rzJ80V0vtTPmzzPnvM7fv6Dny+i89A9Py/PF9H5Ijr/wc/n8vyOn6/L8x/8fBGd357zI/g8KM4X0flJdH5enq/L89tzfridL/XzDfn/2rvWGDeu68zhkMPhcEjuWm+oSIy2QFujdW3XTdI2rSNotXpZsmPJaVq3ZWiJljfelylKlvyqN67zqtBKG7uI0PRHbEnpwxba1EYNw4WLokHQQEQNpDACdwM0LwR5IPCPJDACxMmsyLn3zNw5h/dyhoqYPf/uLs/97r3n8d177pBn2C95lgzJMc7mYUimYF44L5wXzuTGumRIjnGGXCt7D+/j7Jc8S4ZkSI4eDkg2D+uS+ZJPwezq7ERsHjYPm4e3M9YlByRDriknSls0863Ur3P8MVr0enu/7nw3fy22dC9akBlggAWplfG9buFNAf5LyqsFPNm0qdeURN5tAjoV8E6V6LtNIiOpVX41q7bm8PHC9wmCGcAh8ZqzymQqI6+mWsGrqdoZVVOtqKFiy1CJacOHU1PCyNeITF8dzicikyFHAlkcC0he+FrT5ZqdJUOutRhnJmJI9kvee9iJWJe8cIbk7YxdnZ2Idcl+yZC8Q/JGwQtnSN4hGZJdnXXJkMyXbB5mItYl8yX7Jc+SXZ0hOcYZkv2So4cXzgtnVmddMiRbnP2SnYi3M144kxszEUOyXzJfshOxeXjhbJ61HD0c4+xEbB42Dy+cdckxzn7JTsROxJAMyZAMyZAMyZAMOTLItEUztybXKj0T1iot/Dpe6dOPVha1wjnviJe1FJ/Eq2SG/xYKEHL48kH5zoJSR7Uqmzam7qqq7ioxng3FYgvzwn6icGzht9FhkcKxoCBrUuHYarfwsAB/l7JgByomQ7WjRnejRndgE+1UjnZyoTPHJu1m6StgoDJRsRZdkk+6nxefu5Pl3B0499hA5SwHEmDTaHFe6d57MPfG6iLbkJoSuea9Anyf4t424d55yIOxz0oQIoR/ASfgA8fuhuraqUUjYSeVtaewTrWLoZZ6RZLhoFMRIEVTtW7hfUvntjdnZ890i+tQJpoSy30/utzBTFRNmIDfLRwX4HcppvKhqQheJmiippSOrkKyT9TJITGlD1CjllWFAbEQokVIFYAUuoJqlEp8iERRSZWqCF7W3oI9crwynBgxnrv0zP4FeKYAeqw9feeNq14YOXPUwee9AuKKSA2g9UV0lViD0yY0EVBe4pSq2iN5JPO7EJKi6yrKkerJw5Zxq5AvmJekXyLsqMhC/dInl1IzOLN66FIiepX0RISrpb2UqobeE6i6DGeHdKsnkXVygKrUVO8WPgToGhsCoeJq5ECUBP6EAN+IgU8Q7pbHOk2qnSYongKBNqlEPVhGfVDU11G7ElE/EX0jQkEz6jGqmNCeXo0kAwui66chWhFUBakGdgjI4lgY3fpw1rEzSmttKBZbWFE9iJ41Pd0U6ZAKTjdfE+CfUhZchIrJMGXRTZmKsKmbyZShR442hQDa0T2sFOHsqN3Wv1L3CR7qd1kMVDTJsy5mn2e9KMD/RXFvK3L6Q/Msh8izLJBnKfYCYDh66cIdrc6x9vy4p2n/bpSmvZJ9mvZlAf6fFHO7w57AhkjTviCm9Hlq1KLWxndJK027lFGa5lLHH0+Ll43StCKcGJkWcprmk3tRdUDOPbI07SJ9O5JNmmZB3Y8sTXuFWoo3TIj5g/k9yZhFI7JOiqZyMjV9a3CaVkOoOEKmieDfHZym1YdJ0xJyuzrFGyA6J5So91ViGMJFLSp5wtI0faqowZUOcTvgkymOSQQV0QgqJkXQ2SHf9lchNg2UuagIQp3JJyMoT0dQcN54a3AE+cM9/fK7RWtwBCWk0qWBEVRLegwIuRynvZoSQZA6B0UQfhiwKDrFIsij0sFIBPlam21sehXyrGJr0HrCdppHIyifsJ3mrxWPufvdCkYPuU/sTc7e7KhP9v+bk4MIfww7dIvXKG+MFJmfnNI7bsan9PrnfvDa83tumls6d7DdXDyzrGaOYRaUcqCtL7devWXl2ysjH+jr7u078i+cevvAgZY/O7twpLHQbh6abTUeCGQXW+2V3ONx4+ZN37x5Hp/34P6PnYr3z5mNf6rPT/ep38Uwc9PcLhWhaIaQW3p2dS6Hm53m9oXFk59IyFkLELxPY0JKNMJRn77zXTGhHbKBC03LBi60UzZwoV2ygQvtlg1caI9s4EJ7ZQMXulU2cKF9soEL7ZcNXOg22cCFbpcNXOi9soEL3SEbuNAB2cCFDsoGLnSnbOBC75MNXOgPZQMXer9s4EJ/JBu40B/LBi50l2zgQn8iG7jQn8oGLvRnsoELNWQDF/qAbOBCTdnAhe6WDVzokGzgQodlAxdqyQYudI9s4EJHZAMXulc2cKEZ2cCFPigbuNB9soELzcoGLjQnG7jQvGzgQguygQstygYudL9s4EJt2cCFjsoGLtSRDVzomGzgQsdlAxd6QDZwoROygQudlA1c6EHZwIUekg1c6GHZwIUekQ1c6FHZwIX+XDZwoUuPgRYhtgRahNiHQIsQexy0CLG/AC1C7AnQIsQ+DFqE2EdAixD7KGgRYh8DLULs46AFxbAHdlPqEdfwuL8j9SFZefxWCGdnqdiOGfZO7eeEYIR4/vX3Q+YPFpaBO2oGLtYcPpDr/2lDw0Q+KcApRz4pxlKKIBmaI/L6gqpl22yhf5naB6wR+kD+58gH7Cx9wIZD92ROqNo2S99zp1IzSm7pXHCttXpxAeYAwGLXA9sNDZL8ULsPVoo7hS0VGtGvKwUi/y9L0yQO4F1Qn2ALrJJyw+U9EN579v/hyE7h5V98ZCd5ZDe+NFe6W2KHcrxDWXbo3QQuhrrsOc8jmK8XiBtH9D64SD+GmQ7WPnNkfnXgp55rPthpHWoc68w2ghut06efXHpuX2tuoX0yQGgHV4rQkf5hV6u5uK3dbp6EbDMd7yGcK1G+aD25dOHAzNzibDSrOd8TPJP04bTyz8uLi3fp3VYLL0130Xoqq4vW4Bh2pe5Zl59vN+cPL8w1mj1TNBYXZuY7K85nfsb3krelvJe8rR8ltdQUm8uAYpPvJW9FKLc3881RqosIRz7Zhx5a9sNgTns/e2vqY4etbjWR+9h0W00u3n8qpcfu6JHDf127+aZf+Z3FT766fuVXf/H/3vMfz17/5Jbv//K7V17c9ek3fvTfbyYMPB12HDCisuKdYcfr3l1+4/zHH30i9/+f+c5f/fC6l9/zG5Nv2zZ5/f/+7Wtb59t3bXkj3nGX2VJ/Id4f3hzfaK7pPZoLVjruNRrXim6AXes0FdzBJjAQ8SAV2zoA91KneR2AFhWXOgDXUmGpA3CIOvLrAMyqACUjgKYK4BoBzKgAZSOAORXAMwI4TP0UWQegoQL4RgBHVYCqEcD9KkDNCKCtAtSNADoqwIQRwEMqwKQRwLwKcI0RwCMqwDojgAUVYL0RwD0qwAYjgBPxxHUjcTmwyWzjudH8cmATfjmwMaPLgU1q7rMxfjkgPtkMp6Z8I2Qz3ImQ4Tarw22Ww1GQ+ewh7ewhC9lDFrOHdLKHLGUP6WYPWR4LJ/Kyh6xkD+lnD1nNHrKWPWR9LGhjYiwoeAQxPjkWFr9mLJzIHQvaKIyFE61bq0xUHwsmGo/DIG+6V7V5RhDj68di4RvW6plowyiOBilvNY8R1cnSVg38A/NbjAp+i+FkdItRUZXtoLcY6+HUFEOAT9Hh1qvDrSdsu15j4xoe0s4esjAWC3ezh5zMHrI+FuaZYItfzRa/ZiycyMsect1Y8KU/FuaZHAvzjAdfemPhl+WxsPjkWATkCPyylj1kaSwWPh5H1vpYnInGw+LjcWTdsFZPbi6fifhMdBUyUWEs/LKaPWRxLMxTG8XRQP1aq+Y3bCcTvtCq2TX8mUnX2kh9oVPrknJT/L5x05L4Gn/i3Wkufneag2OH3/f9m+jX24FMjqhFtRmv9lMapsxs7B0gJa1OpWgFI1BV0aK+e5pa2/i310rmlvCEJc7qW8KFoytleEVzyzB1fZMqcrlda59w5esIMyp1PEXVLPQ1H5V+n9X6kmCB4lv06mwqXev6UGvOXxs4VR9zWqnEBUpSOQbPAioE9zhQDK/IpihsQPmyYO17qK81azn3trjPVIkHOTVTbOMHObX4dCKl0NGHPDXN32392g2/d+kr9bNfwAybULatJg2LdKqTT4aI71xrKfH30Z/P1tGfz9bQn89OiGBZpr5OrjkzEy2CUZQAAZ/mhzMNBVnOHrI0HGT4a0Hg0iBusbrdu9Gfk+8RRHyfwmNgX0BLG7rqbF1CARuhmAHxexHiTdpR7k390PjmuJJ8gseqptjGPFZVaRXMDOWxqiaPXf/O13/z8190P4gZln4Lnb7vbiR4zJAtbkB5rIbyWBXlsTrFYzXTmZloEYyiBEhVg8cMXxBY1eCx4SFLw0EqPObDuMV4bK/KY2BtkslUhrC7VlsIzKmvCcCI0pVEib2gYg9aRH+3GPHDqU9ZRilE/xPlRZdboOaMkwtfRMzf6ScXlci8kk6gjwotPUxX5OhLLVEliVdzOGEX0BkHrgBgzC32EilTkUiZbC3XULVS6lofEwIfBWl/ouipDH5Br1QhAFD42zKod3GUqUr02ZRzuC3Zh4eom2s9deXq5srfRkeKdrwoi3YcaXXuuFzz4bKHn8Grd8SqZJw+rY6BUekwb4xRfgeteXFlkYWZC8RbbdLWOvqJ+bmLqHVUzOiLgAm1jopSzfgrbBxVj2DnQgYrqYOViK2dARmQARmQARmQARlwCMC9DLgGANegH3LosZWZHNgPGZD9kB2bHZtnyFbmJTMgb1Ls2Ow27DbshwzIux5vAbxk9kNmbAZkx2YdMiAnj7xk3gLYygzIfsgzZECOZfZDBmSC5SXzknnJTF+sQ7Yyz5AB+SJoLeuQ6YuNwoAcKcyH7DZsFF4yG4UjhWOZ3YaNwkbhJbMO+cDJgOw22ktOWzjxrdRvGPmxWhu0P7vtYUFT+xls4W60hCfAAAtKqgPuPCjAL1AFzW28iKyNvgikgHcqR98OoTmSUuccLyosChEnFMUsj7woZhkviulmVBSzrPo6qCSv1NEFU1PiwBsYWJ46mEcEFgNmCLj7qgfkJa8FHa7BGTLgWohlZhsGZD/kPYXdhnXIS2aj8CbFjs1uw0tmHbKVGZCNwn7IRmGC5S2A3Ybpi/mQ/ZCNwvTFjs3bKPshRwoDciyzldkPOVJ4ybxkPjmwDhmQrcx+yG7DmxRHCluZ2YYBOVI49NgorEP2Q3ZsPtuw27BR2ChsFN6keMmsQwZkt2FABmRABmRABmRABrxqANMWTtyaUHLS7jrrwpKTxYt4rUcvWiDSCmc1HS9tKD6JV0oM/y2WL+TwxYMSjgWlHGZFNl1M2RVV2RViPBeKxRZmh/1E/c/iv6HDIvU/bdlMqv9Z6RbfEuAvKQt2oGIyVDtq9FLU6A5sop3caKcSdOXYpEtZ+koJmhGdXQVdkke6n+IOTpZzd+Dc8cqp6QcSYDs13PsSSmGD3buc4N5et/hFAf4/invbhHvnJQvGPilCgD64806cDw4cuxsqaxfsjnTyRSeVRKawTtWLoY56RXLhoFMRIEVP1W7xS0vntjdnZ4OlfFqtHStQQl2+bspDoP6sn8xDbwrwL1PEaykf+lokUVVKB/uQ6hN18g0xpa9So7pEsV1fQHyTkCoAKXQFfpRIKrpE4itz94YhLo8cL7KPEeOVlp7ZvwBPFECP1afvvHHVCyMnjhr4/PzlSSoiVYDWF9FVYhVOm9BEQHiJU/K1R/LgSNRW4pNk7Rsc8mwZtwr1gnlJ8iXCjoos1C8r5FKqBkcoD11KRK+SnkgGGSLEKoP5PcmYthFZJ9mnlEhNTgHQNTYEQsUV+kgYgJcE+DkMvKbaCBQfRzrV1U41ijdAdNaVqK+oxDCEi3p4p1q0rH1hGKqowpXqTs8nI8gaLoK0yKACEg3sEJDFoTC69V1tWZazNfMsy2kJ8LdRWVamCYtuwqSXZXnoCxusEScQOsGKZ1kWudtWrtRtgjfidE4/y3JuyDzLcn5XgP+W4t5W5PSHZFl7iSzLAlmWYi0ApWBLsAt3tDrH2vNjnqQ5t5gkac62zJM0pyHApyjeLlHpkpVpkubcKqa0m04NNZI0Z79OkhZIZZOkRU79RNLkZJSkOdRhK5IUcpJWIXcif0DGPaokLeDu4TIboyRtyCOmWZIW0BOxFO/nIUm7b5RJ2vzaSdKssUvSvOEiyCxJC/KU4V7Yhr97DU24XDKCUGfyyAjK0xEUnCsfGxxB2KHVpSMoAH98cAQl2Kg4MIL8pOQUzIvYeX0lgmD6MyiCqBSNCAYsglwqg4xEkKcVdrHpleFISgRFdj/UKRVF59EIykdMIN6nGH9Nn0i25IPud9yMP+j+yFd/8qVTD2353tK5g+3m4pllNVlLTj36n5biSZ5ggGJ//v0/XSkQ+b94/2EheQDvgppnCCwQdKF41/lU6J/9fzmyW2ik+NhO8thufHHo5hMCxjuUZYeQ854K9dmPXes08bpIQQ2JZ5s8kU3a4TAp/WPry61Xb1n59spg/0g50Nfd23fkXzj19oEDLf/rkVancbQ1f7jVbtyz0G50mkeOruQ2iS97CJUbvqbyPD7xwf0fm473z5mNP913iKr6pRWzmeRyKkLeFOHZ1bkcbnaa2xcWT34iIcGPuGFv5rVoZEeEI5/sgH2Vudpmc51SEQpmCMH8A15Ydbkk8i5E43Vy6Z+mAw6ZOTK/+udTLzUf7LQONRbbxxuBVx647JTB5wcDl1xeem5fa26hfTLghHYQxpHNDPkkH+jowMzc4mxLLGE1Xe3/r7d9nj4dzijmcGbLPjGdzGF29DginFkMEqdce2Pa0H/9cz947fk9N80NDv2XVkN/vnWi02guLq4GfqN5tE8FK7ktP2MG2JmSAXaKOEobE/nUMaHBADBG0EvoKfTCdEd/tfUoN0xDkLQ8Np1ak5bKDfmETba3lHVRbnglwg37A6/dtrgYMMO2oz2eOIPSgH0mGvLpqKR/6o7+pXFySEcvO7Oil81Xjl7+uTdMoITGzPzxVrtzNq6EDSkpZX02YZiT8xHAcfLrGVpjiPjxM1R8eJcdHzOv2shVqFNzdAsbPffM1MxxxVI5EY5i2aEilj8rjddZaLSbh2dOrOQm4xMrDnuWEqlCOgcomfW3BzlASS6sn3nHdRbdxeLzMfxCtKeZBpbl6Jh7/WN/XGDnHP7sN+SHyyl4PNckxFfvBlSSwRLBgmle50R3r5ycWnJGmch+ZTyfdUupDRaLGGmZ5Zcg3V2GbNx/bKEz05rvfDI+rDfsCaTfv5Ix8XkSGLF9nnIw1C0t6GB5DfEkB7MQr8jHjSGet3o/BcIsCvuSmgwA",
      "custom_attributes": [
        "abi_private"
      ],
      "debug_symbols": "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",
      "is_unconstrained": false,
      "name": "transfer_public_to_private",
      "verification_key": "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"
    },
    {
      "abi": {
        "error_types": {
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "26387131971136782": {
            "error_kind": "string",
            "string": "Invalid response from registry"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          }
        },
        "parameters": [
          {
            "name": "from",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "to",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          },
          {
            "name": "amount",
            "type": {
              "kind": "integer",
              "sign": "unsigned",
              "width": 128
            },
            "visibility": "private"
          },
          {
            "name": "_nonce",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "transfer_public_to_public"
    },
    {
      "abi": {
        "error_types": {
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          }
        },
        "parameters": [
          {
            "name": "messages",
            "type": {
              "fields": [
                {
                  "name": "storage",
                  "type": {
                    "kind": "array",
                    "length": 16,
                    "type": {
                      "fields": [
                        {
                          "name": "ciphertext",
                          "type": {
                            "fields": [
                              {
                                "name": "storage",
                                "type": {
                                  "kind": "array",
                                  "length": 15,
                                  "type": {
                                    "kind": "field"
                                  }
                                }
                              },
                              {
                                "name": "len",
                                "type": {
                                  "kind": "integer",
                                  "sign": "unsigned",
                                  "width": 32
                                }
                              }
                            ],
                            "kind": "struct",
                            "path": "std::collections::bounded_vec::BoundedVec"
                          }
                        },
                        {
                          "name": "recipient",
                          "type": {
                            "fields": [
                              {
                                "name": "inner",
                                "type": {
                                  "kind": "field"
                                }
                              }
                            ],
                            "kind": "struct",
                            "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                          }
                        },
                        {
                          "name": "tx_hash",
                          "type": {
                            "fields": [
                              {
                                "name": "_is_some",
                                "type": {
                                  "kind": "boolean"
                                }
                              },
                              {
                                "name": "_value",
                                "type": {
                                  "kind": "field"
                                }
                              }
                            ],
                            "kind": "struct",
                            "path": "std::option::Option"
                          }
                        },
                        {
                          "name": "anchor_block_timestamp",
                          "type": {
                            "kind": "integer",
                            "sign": "unsigned",
                            "width": 64
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::messages::processing::offchain::OffchainMessage"
                    }
                  }
                },
                {
                  "name": "len",
                  "type": {
                    "kind": "integer",
                    "sign": "unsigned",
                    "width": 32
                  }
                }
              ],
              "kind": "struct",
              "path": "std::collections::bounded_vec::BoundedVec"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_utility"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "offchain_receive"
    },
    {
      "abi": {
        "error_types": {
          "12511970388699677811": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              }
            ],
            "length": 27
          },
          "13455385521185560676": {
            "error_kind": "string",
            "string": "Storage slot 0 not allowed. Storage slots must start from 1."
          },
          "13884764065023066770": {
            "error_kind": "string",
            "string": "Invalid partial note or completer"
          },
          "14396100717608329001": {
            "error_kind": "string",
            "string": "Function decrease_public_balance_internal can only be called by the same contract"
          },
          "14415304921900233953": {
            "error_kind": "string",
            "string": "Initializer address is not the contract deployer"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "15860392472534760515": {
            "error_kind": "string",
            "string": "Function balance_of_public can only be called statically"
          },
          "15985585764238192592": {
            "error_kind": "string",
            "string": "Function symbol can only be called statically"
          },
          "16396082379857395965": {
            "error_kind": "string",
            "string": "Function total_supply can only be called statically"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "18136952464794561237": {
            "error_kind": "string",
            "string": "Function increase_total_supply_internal can only be called by the same contract"
          },
          "185150596765980795": {
            "error_kind": "string",
            "string": "Function name can only be called statically"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "26387131971136782": {
            "error_kind": "string",
            "string": "Invalid response from registry"
          },
          "361444214588792908": {
            "error_kind": "string",
            "string": "attempt to multiply with overflow"
          },
          "459713770342432051": {
            "error_kind": "string",
            "string": "Not initialized"
          },
          "716420213922728207": {
            "error_kind": "string",
            "string": "Function increase_public_balance_internal can only be called by the same contract"
          },
          "7327377891373164862": {
            "error_kind": "string",
            "string": "Function decrease_total_supply_internal can only be called by the same contract"
          },
          "7463612364806448523": {
            "error_kind": "string",
            "string": "Function decimals can only be called statically"
          },
          "7613585609636476352": {
            "error_kind": "string",
            "string": "Cannot complete a PartialUintNote with a value of 0"
          },
          "8228371833434187583": {
            "error_kind": "string",
            "string": "Trying to read from uninitialized PublicImmutable"
          },
          "9370508692512174382": {
            "error_kind": "string",
            "string": "caller is not minter"
          },
          "9894212961085021188": {
            "error_kind": "string",
            "string": "Message not authorized by account"
          },
          "9967937311635654895": {
            "error_kind": "string",
            "string": "Initialization hash does not match"
          }
        },
        "parameters": [
          {
            "name": "selector",
            "type": {
              "kind": "field"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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CS0LCQYAIghNCQ4qCAkKJAIACgAAYowlAAAyrQwiCVYKJAIACgAAYp4lAAAymwAiAQILACoLCQwtCwwKACoGCgktAgcDJwAEBAUlAABI6C0IBQYAIgZOCi0OCQoAIgZHCS0LCQcAIghOCQ4qCAkKJAIACgAAYuwlAAAyrQwiCVYIJAIACAAAYv4lAAAymwAiAQIKACoKCQstCwsIACoHCAktAgYDJwAEBAUlAABI6C0IBQcAIgdHCC0OCQgtCwcGACIGAgYtDgYHLQgBBicCCAQFAAgBCAEnAwYEAQAiBwIIACIGAgk/DwAIAAktDgYEACIDTQYtCgYDIwAAYIMlAAAydS0IAQQAAAECAQAiAU0GLQsGBS0IAQEnAgYEQgAIAQYBJwMBBAEAIgECBi0KBgctDgUHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHACIHAgctDEsHLQ4BBC0ISgMjAABl8gwi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",
      "custom_attributes": [
        "abi_public"
      ],
      "debug_symbols": "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",
      "is_unconstrained": true,
      "name": "public_dispatch"
    },
    {
      "abi": {
        "error_types": {
          "10791800398362570014": {
            "error_kind": "string",
            "string": "extend_from_bounded_vec out of bounds"
          },
          "11021520179822076911": {
            "error_kind": "string",
            "string": "Attempted to delete past the length of a CapsuleArray"
          },
          "12327971061804302172": {
            "error_kind": "fmtstring",
            "item_types": [],
            "length": 98
          },
          "12469291177396340830": {
            "error_kind": "string",
            "string": "call to assert_max_bit_size"
          },
          "12913276134398371456": {
            "error_kind": "string",
            "string": "push out of bounds"
          },
          "14990209321349310352": {
            "error_kind": "string",
            "string": "attempt to add with overflow"
          },
          "15764276373176857197": {
            "error_kind": "string",
            "string": "Stack too deep"
          },
          "16431471497789672479": {
            "error_kind": "string",
            "string": "Index out of bounds"
          },
          "17655676068928457687": {
            "error_kind": "string",
            "string": "Reader did not read all data"
          },
          "1998584279744703196": {
            "error_kind": "string",
            "string": "attempt to subtract with overflow"
          },
          "2967937905572420042": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 61
          },
          "3330370348214585450": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "field"
              },
              {
                "kind": "field"
              }
            ],
            "length": 48
          },
          "361444214588792908": {
            "error_kind": "string",
            "string": "attempt to multiply with overflow"
          },
          "7158692485152407286": {
            "error_kind": "fmtstring",
            "item_types": [
              {
                "kind": "integer",
                "sign": "unsigned",
                "width": 32
              }
            ],
            "length": 101
          },
          "9530675838293881722": {
            "error_kind": "string",
            "string": "Writer did not write all data"
          },
          "9791669845391776238": {
            "error_kind": "string",
            "string": "0 has a square root; you cannot claim it is not square"
          },
          "9885968605480832328": {
            "error_kind": "string",
            "string": "Attempted to read past the length of a CapsuleArray"
          },
          "992401946138144806": {
            "error_kind": "string",
            "string": "Attempted to read past end of BoundedVec"
          }
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fields": [
                {
                  "name": "inner",
                  "type": {
                    "kind": "field"
                  }
                }
              ],
              "kind": "struct",
              "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
            },
            "visibility": "private"
          }
        ],
        "return_type": null
      },
      "bytecode": "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",
      "custom_attributes": [
        "abi_utility"
      ],
      "debug_symbols": "VL3Lsms7r6T3LqftxiRBEKBfxQ2HrxUVUVEV4UurXt5LyAFkunP2l+dfmx/HkJBT0uLW/O//8b//H//r//uf/uf//F//z//2f//H//g//ff/+F//r//8X/7Lf/5P//N/+W//2//y//zn//Zf//1///t//P3+j//7v/Y//Iev//gf/d8/Nv5h+MfBPxz/uPhH4B+Jf7z6x/3DP7DKxSoXq1yscrHKxSoXq1yscrFKYJXAKoFVAqsEVgmsElglsEpglcAqiVUSqyRWSaySWCWxSmKVxCqJVRKrPKzysMrDKg+rPKzysMrDKg+rPKzysMr6+/v+ub5/7u+f9v3zfP/075/3+2d8/8zvn99661tvfeutb731rbe+9da33vrWW99661tvfevtb739rbe/9fa33v7W2996+1tvf+vtb739rWffevatZ9969q1n33r2rWffevatZ9969q13vvXOt9751jvfeudb73zrnW+98613vvXOt55/633P9/U94df3jF/fU359z/n1PenX96xf39N+fc/79T3x1/fMX7+nfvz+ad8/z/dP//75b721fhAN2fBvyXX+wW8MVv5gNewGazgN3vBv5V3/ejRkw/vgNxr7t83fcAB2w2/l+4PT4A3/Vrb616MhG94Hv3EBrIbdYA2nwRt65dcrv175N0D2z75/EwRYDbvBGk6DN9yGaMiGXnn1yqtXXr3y6pVXr/wbKHs/uA3RkA3vg99UAVbDbrCG09Ar715598q7V969svXK1itbr2y9svXK1itbr2y9svXK1iufXvn0yqdXPr3y6ZVPr3x65dMrn1759MreK3uv7L2y98reK3uv7L2y98reK3uvfHvl2yvfXvn2yrdXvr3y7ZVvr3x75dsrR68cvXL0ytErR68cvXL0ytErR68cvXL2ytkrZ6+cvXL2ytkrZ6+cvXL2ytkrv1759cqvV3698uuVX6/8euXXK79e+X0r299fw2rYDdZwGrzhNkRDNvTKvxk86werYTdYw2nwhtsQDdnwPti98u6Vd6+8e+XdK+9eeffKu1fevfLula1Xtl7ZemXrla1Xtl7ZemXrla1Xtl759MqnVz698umVT698euXTK59e+fTKp1f2Xtl7Ze+VvVf2Xtl7Ze+VvVf2Xtl75dsr31759sq3V7698u2Vb698e+XbK99eOXrl6JWjV45eOXrl6JWj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",
      "is_unconstrained": true,
      "name": "sync_state"
    }
  ],
  "name": "Token",
  "noir_version": "1.0.0-beta.18+190931435915a6ef908d9be090036d98356237b3",
  "outputs": {
    "globals": {
      "storage": [
        {
          "fields": [
            {
              "name": "contract_name",
              "value": {
                "kind": "string",
                "value": "Token"
              }
            },
            {
              "name": "fields",
              "value": {
                "fields": [
                  {
                    "name": "name",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000001"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "symbol",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000003"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "decimals",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000005"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "private_balances",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000007"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "total_supply",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000008"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "public_balances",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "0000000000000000000000000000000000000000000000000000000000000009"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  },
                  {
                    "name": "minter",
                    "value": {
                      "fields": [
                        {
                          "name": "slot",
                          "value": {
                            "kind": "integer",
                            "sign": false,
                            "value": "000000000000000000000000000000000000000000000000000000000000000a"
                          }
                        }
                      ],
                      "kind": "struct"
                    }
                  }
                ],
                "kind": "struct"
              }
            }
          ],
          "kind": "struct"
        }
      ]
    },
    "structs": {
      "events": [
        {
          "fields": [
            {
              "name": "from",
              "type": {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            },
            {
              "name": "to",
              "type": {
                "fields": [
                  {
                    "name": "inner",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
              }
            },
            {
              "name": "amount",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 128
              }
            }
          ],
          "kind": "struct",
          "path": "Token::Transfer"
        }
      ],
      "functions": [
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_owner",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::balance_of_private_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 128
              }
            }
          ],
          "kind": "struct",
          "path": "Token::balance_of_private_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_owner",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::balance_of_public_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 128
              }
            }
          ],
          "kind": "struct",
          "path": "Token::balance_of_public_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::burn_private_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::burn_private_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::burn_public_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::burn_public_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_name",
                    "type": {
                      "kind": "string",
                      "length": 31
                    }
                  },
                  {
                    "name": "_symbol",
                    "type": {
                      "kind": "string",
                      "length": 31
                    }
                  },
                  {
                    "name": "_decimals",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 8
                    }
                  },
                  {
                    "name": "_initial_supply",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::constructor_with_initial_supply_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::constructor_with_initial_supply_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_name",
                    "type": {
                      "kind": "string",
                      "length": 31
                    }
                  },
                  {
                    "name": "_symbol",
                    "type": {
                      "kind": "string",
                      "length": 31
                    }
                  },
                  {
                    "name": "_decimals",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 8
                    }
                  },
                  {
                    "name": "_minter",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::constructor_with_minter_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::constructor_with_minter_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [],
                "kind": "struct",
                "path": "Token::decimals_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 8
              }
            }
          ],
          "kind": "struct",
          "path": "Token::decimals_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::decrease_public_balance_internal_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::decrease_public_balance_internal_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::decrease_total_supply_internal_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::decrease_total_supply_internal_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::increase_public_balance_internal_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::increase_public_balance_internal_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::increase_total_supply_internal_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::increase_total_supply_internal_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_completer",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::initialize_transfer_commitment_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "field"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::initialize_transfer_commitment_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_commitment",
                    "type": {
                      "kind": "field"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::mint_to_commitment_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::mint_to_commitment_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::mint_to_private_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::mint_to_private_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::mint_to_public_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::mint_to_public_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [],
                "kind": "struct",
                "path": "Token::name_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "fields": [
                  {
                    "name": "value",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "compressed_string::field_compressed_string::FieldCompressedString"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::name_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "messages",
                    "type": {
                      "fields": [
                        {
                          "name": "storage",
                          "type": {
                            "kind": "array",
                            "length": 16,
                            "type": {
                              "fields": [
                                {
                                  "name": "ciphertext",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "storage",
                                        "type": {
                                          "kind": "array",
                                          "length": 15,
                                          "type": {
                                            "kind": "field"
                                          }
                                        }
                                      },
                                      {
                                        "name": "len",
                                        "type": {
                                          "kind": "integer",
                                          "sign": "unsigned",
                                          "width": 32
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "std::collections::bounded_vec::BoundedVec"
                                  }
                                },
                                {
                                  "name": "recipient",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "inner",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                                  }
                                },
                                {
                                  "name": "tx_hash",
                                  "type": {
                                    "fields": [
                                      {
                                        "name": "_is_some",
                                        "type": {
                                          "kind": "boolean"
                                        }
                                      },
                                      {
                                        "name": "_value",
                                        "type": {
                                          "kind": "field"
                                        }
                                      }
                                    ],
                                    "kind": "struct",
                                    "path": "std::option::Option"
                                  }
                                },
                                {
                                  "name": "anchor_block_timestamp",
                                  "type": {
                                    "kind": "integer",
                                    "sign": "unsigned",
                                    "width": 64
                                  }
                                }
                              ],
                              "kind": "struct",
                              "path": "aztec::messages::processing::offchain::OffchainMessage"
                            }
                          }
                        },
                        {
                          "name": "len",
                          "type": {
                            "kind": "integer",
                            "sign": "unsigned",
                            "width": 32
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "std::collections::bounded_vec::BoundedVec"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::offchain_receive_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::offchain_receive_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_account",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::recurse_subtract_balance_internal_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 128
              }
            }
          ],
          "kind": "struct",
          "path": "Token::recurse_subtract_balance_internal_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [],
                "kind": "struct",
                "path": "Token::symbol_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "fields": [
                  {
                    "name": "value",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "compressed_string::field_compressed_string::FieldCompressedString"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::symbol_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "scope",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::sync_state_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::sync_state_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [],
                "kind": "struct",
                "path": "Token::total_supply_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "integer",
                "sign": "unsigned",
                "width": 128
              }
            }
          ],
          "kind": "struct",
          "path": "Token::total_supply_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_commitment",
                    "type": {
                      "kind": "field"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_private_to_commitment_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_private_to_commitment_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_private_to_private_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_private_to_private_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_private_to_public_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_private_to_public_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_private_to_public_with_commitment_parameters"
              }
            },
            {
              "name": "return_type",
              "type": {
                "kind": "field"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_private_to_public_with_commitment_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_commitment",
                    "type": {
                      "kind": "field"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_public_to_commitment_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_public_to_commitment_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_public_to_private_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_public_to_private_abi"
        },
        {
          "fields": [
            {
              "name": "parameters",
              "type": {
                "fields": [
                  {
                    "name": "_from",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_to",
                    "type": {
                      "fields": [
                        {
                          "name": "inner",
                          "type": {
                            "kind": "field"
                          }
                        }
                      ],
                      "kind": "struct",
                      "path": "aztec::protocol_types::address::aztec_address::AztecAddress"
                    }
                  },
                  {
                    "name": "_amount",
                    "type": {
                      "kind": "integer",
                      "sign": "unsigned",
                      "width": 128
                    }
                  },
                  {
                    "name": "__nonce",
                    "type": {
                      "kind": "field"
                    }
                  }
                ],
                "kind": "struct",
                "path": "Token::transfer_public_to_public_parameters"
              }
            }
          ],
          "kind": "struct",
          "path": "Token::transfer_public_to_public_abi"
        }
      ]
    }
  },
  "transpiled": true
}
