@aztec/accounts 0.47.0 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/EcdsaKAccount.json +1 -0
- package/artifacts/EcdsaRAccount.d.json.ts +3 -0
- package/artifacts/EcdsaRAccount.json +1 -0
- package/artifacts/SchnorrAccount.json +1 -1
- package/artifacts/SchnorrSingleKeyAccount.json +1 -1
- package/dest/ecdsa/{account_contract.d.ts → ecdsa_k/account_contract.d.ts} +2 -2
- package/dest/ecdsa/ecdsa_k/account_contract.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/account_contract.js +33 -0
- package/dest/ecdsa/ecdsa_k/artifact.d.ts +2 -0
- package/dest/ecdsa/ecdsa_k/artifact.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/artifact.js +4 -0
- package/dest/ecdsa/ecdsa_k/index.d.ts +31 -0
- package/dest/ecdsa/ecdsa_k/index.d.ts.map +1 -0
- package/dest/ecdsa/ecdsa_k/index.js +32 -0
- package/dest/ecdsa/index.d.ts +2 -30
- package/dest/ecdsa/index.d.ts.map +1 -1
- package/dest/ecdsa/index.js +3 -32
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +18 -0
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +76 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts +2 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/artifact.js +4 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts +31 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.d.ts.map +1 -0
- package/dest/ecdsa/ssh_ecdsa_r/index.js +32 -0
- package/dest/utils/index.d.ts +2 -0
- package/dest/utils/index.d.ts.map +1 -0
- package/dest/utils/index.js +2 -0
- package/dest/utils/ssh_agent.d.ts +35 -0
- package/dest/utils/ssh_agent.d.ts.map +1 -0
- package/dest/utils/ssh_agent.js +109 -0
- package/package.json +10 -9
- package/src/ecdsa/{account_contract.ts → ecdsa_k/account_contract.ts} +6 -6
- package/src/ecdsa/ecdsa_k/artifact.ts +5 -0
- package/src/ecdsa/ecdsa_k/index.ts +37 -0
- package/src/ecdsa/index.ts +2 -37
- package/src/ecdsa/ssh_ecdsa_r/account_contract.ts +88 -0
- package/src/ecdsa/ssh_ecdsa_r/artifact.ts +5 -0
- package/src/ecdsa/ssh_ecdsa_r/index.ts +37 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/ssh_agent.ts +136 -0
- package/artifacts/EcdsaAccount.json +0 -1
- package/dest/ecdsa/account_contract.d.ts.map +0 -1
- package/dest/ecdsa/account_contract.js +0 -33
- package/dest/ecdsa/artifact.d.ts +0 -2
- package/dest/ecdsa/artifact.d.ts.map +0 -1
- package/dest/ecdsa/artifact.js +0 -4
- package/src/ecdsa/artifact.ts +0 -5
- /package/artifacts/{EcdsaAccount.d.json.ts → EcdsaKAccount.d.json.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"transpiled":true,"noir_version":"0.32.0+32b4c6ed75387759b3d84df723a52679894feb2d","name":"EcdsaKAccount","functions":[{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::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":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"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":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","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":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::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":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"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":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7b3RjuTKciT4L/d5IDDcPdzD51cWi4V2pFkIGEiDkWaBxWD+fdmnKjOrb2U1+/BEeRppfDp9JTLDLMiytAyGGf/X3/7pn//v//n//F//8q//9d/+/W//+f/4X3/7b//2X/7xP/7l3/51/V//62+qf/zf/v2//+O//vif//4f//g//uNv/3n5T3/753/9p/W///s//e2//st/++e//Wf19d+fjpPIeD9URsv70U3Gk6M1dbwfbYu0jaPbItrfD1//3R+fLv0Zlta73Q7v0R/I5emH+/3g1vTjwf/nf/qb2jUpnyelX5PyeVL8mpTPkxLXpHyelHFNyudJyWtSPk2KLdekfJ6Udk3K50mRa1I+T8rlaJ9Mil2T8nlSLkf7ZFIuR/tkUi5H+2RSLkf7ZFIuR/t5UvrlaJ9MyuVon0wKsqMNeUzKGBuTIuN+uIzUvzQpyI72ZZNi16R8npTL0T6ZlMvRPpmUy9E+mZTL0T6ZlMvRfp4Uvxztk0m5HO2TSbnWaJ9MyrVG+2RS7JqUz5NyOdonk3I52ieTcjnaJ5NyOdonk3I52s+TEpejfTIpl6N9MinXGu2TSbnWaJ9Mil2T8nlSCh2tSfptUjQSWFP8mpTPkxLXpHyelHFNyudJyWtSPk3KWK5J+TwpDXhSXvWVPAodrWnmbVLsw7XEu1P0mpTPk2LXpHyelH5NyudJ8WtSPk9KXJPyeVIG8KS87Cv5LzlaTb8duhL2B81l+fHhuXznh/8lh9XkMSvaPl6gfHJ0mtwufpr9DOXJ5dF1nm/XR5vJJ+hyXOhP3UrLcbvdZVHdImB+v9ttPOh6e3Zwazf8TdoDjxuWuqRdE/N8Yvo1Mc8nxq+JeT4xcU3M84kZ18Q8n5i8JubpxKzf2tfMfDEz7ZqZL2ZGrpn5YmYu9/vVzNg1M1/MzOV/v5qZywB/NTOXA/5qZtAt8KsW8tqC7oFfNjNtige+L/+2LvnrmZEud/C9t42PXpeTHyvL/QGkeT5dFW1yXxW1D0c3fyPbmMgKE1llImtMZDsTWWciG0xkBxPZJCIrTA5KmByUMDkoYXJQYkxkmRyUMDkoYXJQwuSghMlBKZODUiYHpUwOSpkclDI5KGVyUMrkoJTJQSmTg1ImB2VMDsqYHJQxOShjclDG5KCMyUEZk4MyJgdlTA7KmBxUZ3JQnclBdSYH1ZkcVGdyUJ3JQXUmB9WZHFRnclCdyUE5k4NyJgflTA7KmRyUMzkoZ3JQzuSgnMlBOZODciYHFUwOKpgcVDA5qGByUMHkoILJQcW5HFT/0BcZP5F9Arvn7ej195B9nppz+a0/NTX+mJqQ/nlqzuTObNHb0bbE5tQscavHbG35ODVP35XS2+2jP9Sy6/M2hUXH/aMXs62ChNb0gWQ8cEu8XaMzmcqTXqNxJi981mt0Jgt/1mt0pl8eZ71GZ/rBdNZrZNc1gr9GZ/p5etZrdKZf1We9Rmf6eX/Wa3StM+Bfo2udAf4a5bXOgH+NrnUG/Gt0rTPgX6NrnQH/Gtl1jeCv0bXOgH+NrnUG/Gt0rTPgX6NrnQH/Gl3rDOjXSJZrnQH/Gl3rDPjX6FpnwL9G1zoD/jWy6xrBX6NrnQH/Gl3rDPjX6FpnwL9G1zoD/jW61hkQrtFjAqUtf3+NTvU+z7Neo2udAf8aXesMANdI2v1d2iLj0zW61hnwr5Fd1wj+Gl3rDADXSHXcDlfzT9foWmf4vWvU2y2f7x+OfX6NtNntgupPv3fkbc6vdYNvmHPxmxapPJnzax2gfs6v3/Xlc36qt0YfZc6v3931c379jq6f8+t3cf2c2zXn5XN+/W6tn/Prd2j9nF+/Q39vzr3dZsS7/u+t9Znmj+WZn+b8CWjT24TYx6Wf2wW6frSCX6DrFy72BdLr5zD4BSL+7bw+aLzBFvn5Av0xNcQ/cbemhviX6NbUGPHU+B22LrmheC3vSH7MzkOYnj9GWyTkLnoyth67rXb7PisjP0y4PP1wt7tUt58O/uOSEv8ePeslJf65e9ZLeq5f0+PG1ZptXdKU5bbHINdVhcfRy1Mk2u5fYeu/TX46/o+pPNfv3pdOZfkvVG83AuIf9pv8+OgfgKz8F1nY/WqF62dADQ2QoAFSNECGBqijAXI0QIEGaKABSjBAHU2pO5pSdzSl7mhK3dGUuqMpdUdT6o6m1B1NqTuaUjuaUjuaUjuaUjuaUjuaUjuaUjuaUjuaUjuaUjuaUgeaUgeaUgeaUgeaUgeaUgeaUgeaUgeaUgeaUgeaUg80pR5oSj3QlHqgKfVAU+qBptQDTakHmlIPNKUeaEqdaEqdaEqdaEqdaEqdaEqdaEqdaEqdaEqdaEqdYEqtC5hS6wKm1LqAKbUuYEqtC5hS6wKm1LqAKbUuYEqtC5hS64Km1A1NqRuaUjc0pW5oSt3QlLqhKXVDU+qGptQNTakbmlILmlILmlILmlILmlILmlILmlILmlILmlILmlILmlIrmlIrmlIrmlIrmlIrmlIrmlIrmlIrmlIrmlIrmlKjZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoKlpGUdEyioqWUVS0jKKiZRQVLaOoaBlFRcsoGlpG0dAyioaWUTS0jKItYEptaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQNLaNoaBlFQ8soGlpG0dAyioaWUTS0jKKhZRQ7Wkaxo2UUO1pGsaNlFPsCptQdLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to9jRMoodLaPY0TKKHS2j2NEyih0to+hoGUVHyyg6WkbR0TKKvoAptaNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRdLSMoqNlFB0to+hoGUVHyyg6WkbR0TKKjpZRDLSMYqBlFAMtoxhoGcVYwJQ60DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygGWkYx0DKKgZZRDLSMYqBlFAMtoxhoGcVAyygOtIziQMsoDrSM4kDLKI4FTKkHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcaBlFAdaRnGgZRQHWkZxoGUUB1pGcdRnFB8frUvrGx+do90+eWkPHGLPYGj67WDTnw7+g2mjYSo0TJWGqdEw7TRMnYZp0DAdNEyThWnSeKSk8UhJ45GSxiPVJ7BfxpTGIyWNR0oaj5Q0HilZPFIuLB4pFxaPlAuLR8qFxSPlYjRMWTxSLiweKRcWj5QLi0fKhcYjNRqP1Gg8UqPxSI3GI9W3jryMKY1HajQeqdF4pEbjkRqNRxIajyQ0HkloPJLQeKT6vp+XMaXxSELjkYTGIwmNRyova9LFbwdrW+Snj/4BqLysSZveZlPlxxT+PaBqx6FiD0A/jvh7QDOMQbflDig2ALWI+8GRHw5+er+53w/2+HAnL+/o9dDo7dDoezX60cfto5tsoc94SNUqcQ/8bXmGRLQ1vX26NpOfjv+Dr5PxDTK+g4xvYvNdV9HuQJrEJ/xT6r3+DH5peTtYzGUDf8/+kM8W7TP+dnD8Ao3fZck7flH/jF8Pjt8Ojr8fHD+ZHzAyP2BkfsDA/cBsvn0h49vI+AoZXyXja2R8ydZbOpm/6uX+KlTuq4G9feT7B54Bhiex8Dj4+kPEHX0fMj7db/XNiV1uiKT3tvHRMh7rP6M/gDTPJ0fbMuz9aGv2YbGo+bNHXrLc/tJT/m5pac+fbn3n43mnUq+pnDWVduwFRsdeINrG7wfHD2ZIHMyQOJghqW/8PK10xuWNpk3l5Y2mTSXZCs+U+tkj8SVb4QmyFZ4ge4IWZE/QAswQjgaGR8DwYO8A2VzBm1JIO3M+D/6Dvb4M9rRWtb5t9rxTOQ7+V5XHxp8Llsom2LdoKhgew3ado9/zVuu99Xlfc3aw+by+FWdJeV7fitOmsv5hwMTsVOaB0a+XYDk2fK6dkOt/uLZCrv/hWilf/2NshMHXyjfSa+t/oBe/ZXF/EIjWNq5Y89HvAv0hiN/fyUKvfM8mC73sPZssdGpkMtkGHRmZTRbaJf1psqH++JE7PpGFdkizyUK7o9lkjYkstCuaTfZcDmqD7Lkc1AbZczmoDbLnclC/JivnclAbZJkclDA5KGFyUFN6Rg9DlslBCZODEiYHJUwOSpgclDI5KGVyUMrkoJTJQdUXvb6SLJODwi6FnU2WyUFh18HOJsvkoIzJQRmTgzImB2VMDqq87PalZJkcFHaN7myyTA4Ku0B3NlkmB4VdnTubLJODwi7NnU2WyUFh1+XOJsvkoLCLcmeTZXJQnclBdSYH5UwOypkclDM5KGdyUOV9ui8ly+SgnMlBOZODciYH5UwOKpgcVDA5qGByUNidvrPJGhNZJgeFXeU7myyTg8Iu8Z1NlslBDSYHNZgc1GByUIPJQdVXPr+SLJODGkwOajA5qMHkoAaTg0omB5VMDiqZHFQyOSjsevDZZJkcVDI5qGRyUMnkoJLIQbWFyEE17N7x2WSJHFTD7hufTdaYyBI5qHayTvINskQOqp2sk3yDLJODOlkn+QZZJgfF1EnemDrJG1MneTtbJ3k8XpowPpM9mYP6NdmTOahfkz32a1hXAsd+D+v6dbhAE3BZ8k5A1J8QaEcnIEcngP3G998gYNAE4vFO0NUVWG5J7i/fQNQE+33yk8k6E9lgIovtHCaTxXYZf5bsr3/aKLYjmUwW271MJovtdCaTxXZFk8kaE9lzOagNsudyUBtkz+WgNsiey0FtkGVyUMbkoIzJQRmTgzImB1Xexf1SskwOypgclDE5KGNyUMbkoDqTg+pMDqozOajO5KDKu7hfSpbJQXUmB9WZHFRnclCdyUE5k4NyJgflTA7KmRxUeRf3S8kyOShnclDO5KCcyUE5k4MKJgcVTA4qmBxUMDmo8i7ul5JlclDB5KCCyUEFk4MKJgc1mBzUYHJQg8lBDSYHVd7F/VKyTA5qMDmoweSgBpODGkwOKpkcVDI5qGRyUMnkoMq7uF9KlslBJZODSiYHlUwOKokclCxEDkoWIgclC5GDkoXIQcliTGSJHJQsRA5KFiIHJQuRg5KFyUE1JgfVmBxUY3JQ7WQO6le9vlLexf1SsidzUL8mC93Fva4a5f2PMEfrG2RFW9Pbp2sz+en4N8LQfdzfQRj6rSbfQRj6zSbfQFig327yHYSh33DyHYSh33LyHYSh33TyHYSNjTD0G0++gzCb0yqvB17tsDx+sbWPhN8AKRogQwPU0QA5GqBAAzTQACUYoPL61E1ADQ0Q9mOUHnGH34eMz1814DWFv0EA/MVZ2wTAX5y1SQC8IvA3CMz4G7CM+yiyRaDLDZL0D6ry/KNltPuL5kZ/AGmeT462xyKnNYvH0c2fHJ3r48L3o1Mk/rp1ndJjdc3l21zmNZez5nJKC9c1l29z2a65nDaXcs3ltLnUay6nzaVdczltLvs1l9Pm0q+5nDaXB39ls4AXg/0GAexNbr9BAHvj2m8QwN6M9hsE7OgEsDeN/QYB8DXgbQLga8DbBMDXgLcIqJ/qCbdrez96yAcLZP5O9lT7CLfInmoP4RbZU+0f3CAbp9o7uEX2VPsGt8ieas/gFtlT7RfcImtMZE+1T3CLLJODGmD7A3WA7Q/U8vLETUBg+wN1gO0P1AG2P1AH2P5AHWD7AzXB9gdqgu0P1AT/Dh693b+WconPKxMJ/r26TQB8tWGbAPgKwjYB8FWBLQKm136Xf5r0zNH02u8yby6v/S7z5tKuuZw2l9d+l3lzee13mTeX1z7/eXN57fOfN5fXPv9pc2nXPv9JcykNe01dFvf7XC7R2gbhX9Y5Sf2b3l5KFnpNYTZZ6PWHyWQH9K6E2WShdyXMJgu9K2E2WehdCbPJGhNZ6Ccis8kyOajB1Q8p9W97ezlhrn5IqX/r28sJc/VDSv3b315OGGurltS/pW0TENZWLal/TdQGoPpXOW0Cwtr3I/WvRNoEBPZnX/9qoU1AYH/29a/o2QR07Ko1QX9bzDYB8DfA/AYB8MD7NgE0YW9owt7QhB38rSRb6WCpf9PIdALHDpjLnDeBXE+V3+by2u0wbS7l2u0wby6vXd7z5vLa5T1vLq9d3vPm0g5uROToXlaO7mXl6F5Wjl2WtBI4dm2hCFFNjghRTY4IUU2OCFFNjghRTY4IUU2O1PdPbq1XBtpzn8Bq5lgdDNrjXrBCnhUQ2lMBsEKeFRDanz1YIc8KCO7PHquQZ/0hAu5tN5otVgLgfnWbALgH3SYA7iu3CaAJO9r2PUkwYdflepo5a0VZl+tp5rS5bNfTzHlzeT3NnDeX19PMeXN5Pc2cNZcuRMF2V6JguytRsN2VKNjuShRs9ymleochW741o9v9o3v0X5MdMm6fPDSXz18m6seGH8eGP44NPw8N35Zjw2/Hhi/Hhq/Hhm/Hhn/sb1079reuHftb1479rWvH/tbtx/7W7cf+1u3H/tbtx/7W7VO+de9HN2/6a/gj5LaaOMaSTxDN+CJdfwjcEfXY+K2+HnI7WNwfB8uzgxfR+9GL9AcB6c/nptvj0j6ulj7/cL8f3D5M5Hrw29T4NTVfTU1cU/PV1Ixrar6amrym5oup8eWamq+mpl1T89XUyDU1X02NXlPz1dTYNTVfTc3lhr+cmssNfzk1lxv+cmouN/zl1Fxu+KupicsNfzk1lxv+cmouN/zl1Fxu+MupsWtqvpqayw1/OTWXG/5yai43/OXUXG74y6m53PBXUzMuN/zl1Fxu+MupQXfDj8rtRT5sq34+NTLuh8tI/YtTg+6GXzg1NmNq4j5GLP7rqfnOnJZmu322pn04uvk7207F1qnYBhXbQcU2mdhOqZs5DttGxVao2CoVW6NiS+WlkspLJZWXSiovlUxeKhYmLxULk5eKhclLxcLkpWIxKrZMXioWJi8VC5OXioXJS8VC5aUalZdqVF6qUXmpRuWlpryp9zhsqbxUo/JSjcpLNSov1ai8lFB5KaHyUkLlpYTKS015s+xx2FJ5KaHyUkLlpYTKSwmVl1IqL6VUXkqpvJRSeakptfHHYUvlpZTKSymVl1IqL6VUXsqovJRReSmj8lJG5aWm1Psfhy2VlzIqL2VUXsqovJRReal+Li/Vlzvb3HoHZut5r9x3tSdzcy7n9afmxh9zsz5heTI3Z/JptujtaFtic26WuL2+oLXl49yMZ/N+f2m9fXitgz6vZFh03D96MdtqWWhNH0jGA7fE+0U6k7087UWy6yLhX6QzmfnTXqQz/QY57UU600+n016kM/3iO+1FOtMP1bNeJD/T7+vTXqQz/dA/7UW6VhwOcJGuFYcDXCS7LhL+RbpWHA5wka4VhwNcpGvF4QAX6VpxOMBFulYc8C9SXCsOB7hI14rDAS7SteJwgIt0rTgc4CLZdZHwL9K14nCAi3StOBzgIl0rDge4SNeKwwEu0rXigH+RxrXicICLdK04HOAiXSsOB7hI14oDwkXKG+4mbfl8key6SPgX6VpxOMBFulYcAC6StMfLmmV8vkjXisMBLtK14nCAi3StOABcJNVxO1zNP12kU719+DsvUm+3GL9/OPb5RdJmtyuqP/3ukfdJv1YQvmHSxW9ypPJs0q8VgRdM+vUL/wWTbtek10/69Qv8BZN+/aJ+waRfv5BfMOnXL94XTPr1C7Z80sep3uF+mEm/fpH+3qR7u82Id/3fW2s1zR9LNT9N+hPQprcJsY/LQPcrdP18Rb9C129d9Ctk1xUCv0LEv6Kl3a+QyM9X6G1uiH/sbs4N8W/Szbkh/ukoft+RoUtuqF7LO5Ifs/MQp+dP1hYJuQufjK0ncavtvs/KyA8TLk8/3O/z3dpPB79d03P9Mh03INZs65qmLLcnminy4ejlKRJt9z+P9d8mPx3/x1y2c/3gfO1clv+O9HZjIP7h+faPj35DVP67Kex+vcL1CSKFQ2RwiDocIodDFHCIBhyiREMkCxyiBocITrMFTrMFTrMFTrMFTrMFTrMFTrMFTrMVTrMVTrMVTrMVTrMVTrMVTrMVTrMVTrMVTrMVTrMNTrMNTrMNTrMNTrMNTrMNTrMNTrMNTrMNTrMNTrM7nGZ3OM3ucJrd4TS7w2l2h9PsDqfZHU6zO5xmdzjNdjjNdjjNdjjNdjjNdjjNdjjNdjjNdjjNdjjNdjjNDjjNDjjNDjjNDjjNDjjNDjjNDjjNDjjNDjjNDjjNHnCaPeA0e8Bp9oDT7AGn2QNOswecZg84zR5wmj3gNDvhNDvhNDvhNDvhNDvhNDvhNDvhNDvhNDvhNDvRNDsXNM3OBU2zc0HT7FzQNDsXNM3OBU2zc0HT7FzQNDsXNM3OBU6zG5xmNzjNhstBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZcDnIhMtBJlwOMuFykAmXg0y4HGTC5SATLgeZaDlIXdBykCsiMM1eEYFp9ooITLNXRGCavSIC0+wVEZhmr4jANHtFBKbZKyI4zUbLQa6I4DQbLQe5IoLTbLQc5IoITrPRcpArIjjNRstBrojgNBstB7kigtNstBzkighOs9FykCsiOM1Gy0GuiOA0Gy0HuSKC02y0HOSKCE6z0XKQKyI4zUbLQa6I4DQbLQe5IoLTbLQc5IoITrPRcpArIjjNRstBrojgNBstB7kigtNstBzkighOs9FykCsiOM1Gy0GuiOA0Gy0HuSKC02y0HOSKCE6z0XKQKyI4zUbLQa6I4DQbLQe5IoLTbLQc5IoITrPRcpArIjjNRstBrojgNBstB7kigtNstBzkighOs9FykCsiOM1Gy0GuiOA0Gy0HuSKC02y0HOSKCE6z0XKQKyI4zUbLQa6I4DQbLQe5IoLTbLQc5IoITrPRcpArIjjNRstBrojgNBstB7kigtNstBzkighOs9FykCsiOM1Gy0GuiNA0u8HlIBtcDrLB5SAbXA6yLWia3eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQDS4H2eBykA0uB9ngcpANLgfZ4HKQApeDFLgcpMDlIAUuBykLmmYLXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiBy0EKXA5S4HKQApeDFLgcpMDlIAUuBylwOUiFy0EqXA5S4XKQCpeD1AVNsxUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMLlIBUuB6lwOUiFy0EqXA5S4XKQCpeDVLgcpMHlIA0uB2lwOUiDy0HagqbZBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S4HKQBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S4HKQBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S4HKQBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S4HKQBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S4HKQBpeDNLgcpMHlIA0uB2lwOUiDy0EaXA7S6nOQj4/WpfWNj87Rbp+8tAcOsWcwNP12sOlPB79RVR6qxkO181B1HqrBQ3XwUE0aqvV53tdRbTxUedyS87il+sz066jyuCXncUvO45acxy05j1sKHrcUPG4peNxS8Lil+raC11HlcUvB45aCxy0Fj1sKHrc0eNzS4HFLg8ctDR63VN8T8jqqPG5p8LilweOWBo9bGjxuKXncUvK4peRxS8njluobel5HlcctJY9bSh63lDxuKWncUl9o3FIvL4TSxW+bsbUt8tNHvyGqNjXa9DafKj8m8ROiau+hYg9EP474hMgmIIoWd0R9A1FLu99GGY8b1OUpV19uB/uHg3W5we/Hhu/Hhh/F8NfPu937ossW/IyHYq1K9zi8Lc+QiLam909vJj8d/0Z4sBFOMsJTSrsORbhhE877R8vSJJ4QEGQCsrg/CERrG1es+eiPb/fH9ervZJWJrDGR7UxknYkstEv602RD/YFkfCIL7ZBmk4V2R5PJCrQzmk0W2hXNJnsuB7VB9lwOaoOsMZE9l4PaIHsuB7VBlslBCZODEiYHpUwOSpkclDI5KGVyUFNKQQ9DlslBKZODUiYHpUwOSpkclDE5KGNyUMbkoIzJQU2p6D0MWSYHZUwOypgclDE5KGNyUJ3JQXUmB9WZHFRnclBT6qcPQ5bJQXUmB9WZHFRnclCdyUE5k4NyJgflTA7KmRzUlErqw5BlclDO5KCcyUE5k4NyJgcVTA4qmBxUMDmoYHJQU2qqD0OWyUEFk4MKJgcVTA4qmBzUYHJQg8lBDSYHNZgc1JTq6sOQZXJQg8lBDSYHNZgc1GByUMnkoJLJQSWTg0omBzWlzvowZJkcVDI5qGRyUMnkoJLIQflC5KB8IXJQvhA5KF+IHJQvxkSWyEH5QuSgHLt3fDZZIgfl2H3jk8lid43PJsvkoE7WSb5BlslBnayTfIMsk4M6WSf5BlkmB8XUSe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kztRJ7kyd5M7USe5MneTO1EnuTJ3kwdRJHkyd5MHUSR5MneSxGBNZIgcVTJ3kwdRJHkyd5MHUSR5MneTB1EkeTJ3kwdRJHkyd5MHUSR5MneTB1EkeTJ3kwdRJHkyd5MHUSR5MneTB1EkeTJ3kwdRJHkyd5MHUSR5MneTB1EkeTJ3kwdRJHkyd5MHUSR5n6ySPfkcyPpM9mYP6NdlyB6V+u9PEdfyabOvZl9tH+zrOT2TfCMTRCQxoAi5L3gmspz4hkAcnUN/xPZtAOzoBgSawPhG3+0er5Zbk+nhI7iJ/L7n1XdyvJGtMZDsTWWznMJkstsv4s2R/7fYN25FMJovtXuaS7dhOZzJZbFc0mey5HNQG2XM5qA2yxkT2XA5qg+y5HNQGWSYH1ZkcVGdyUM7koJzJQTmTg3ImB1Xfxf1KskwOypkclDM5KGdyUM7koILJQQWTgwomBxVMDqq+i/uVZJkcVDA5qGByUMHkoILJQQ0mBzWYHNRgclCDyUHVd3G/kiyTgxpMDmowOajB5KAGk4NKJgeVTA4qmRxUMjmo+i7uV5JlclDJ5KCSyUElk4NKIgc1FiIHNRYiBzUWIgc1FiIHNRZjIkvkoMZC5KDGQuSgxkLkoMbC5KAak4NqTA6qMTmoxuSg6ru4X0mWyUE1JgfVmBxUY3JQjclBCZODEiYHJUwOSpgcVH0X9yvJMjkoYXJQwuSghMlBCZODUiYHpUwOSpkclDI5qPou7leSZXJQ4F3ck8kyOSjwju/JZJkcFHh3+GSyTA7qZJ3kG2SZHNTJOsk3yDI5qJN1km+QZXJQTJ3kg6mTfDB1kg+mTvLB1Ek+mDrJB1Mn+WDqJB9MneSDqZN8MHWSD6ZO8sHUST7O1kn+q7dzjrN1kv+aLPQbdVtG3u/LHK1vkBVtTe+f3kx+Ov6NsLERhn6z7ncQdjbCwUZ4sBFOMsL1feWvJtzYCAsbYTanNaUeuNv9Te498teEVzssj9lpj4PtDdCUCt+pgBoaIEEDpGiADA1QRwPkaIACDdAAA5TVMyQtbweLuXwE9OyTI+7w+5Dx+asmx9EJ5LEJ5LIcnUA7OoEZfwOWd3/ZZYtAlxsk6R9U5flHy7hbV1mf2z7wez452h6LnNYsHkc3f3J0yjLej06R+MvWNad04lxz+cdcTqncuebybS7bNZfT5lKuuZw2l3rN5bS5tGsup81lv+Zy2lz6NZfT5jKuuZw1lwL+yzP7/aN9Xb9/QgD8l+c2ATk6AT06ATs6gX50An50AuBrwNsEwNeAtwmArwFvELA2ZaWn349eR9FfE/D7vkkf9vhgeYfTsOAIFhzFgmNYcDoWHMeCE1hwBhachIIjWBsEVkBYGwRWQFgbBFZAWBsEVkBYW7msKdZWrhUQ1lauFRDWVq4VENZWrhWQgQGy8hka/bYWJ+3jEuLTHwA5ert9dOYSn38AmB2dQD86AT86gTg2Abkehc5a2l/n0q65nDaX16PQeXN5PQqdN5fXo9B5c3ltAZ03l9cW0GlzKdcW0HlzeW0BnTeX1xbQSXPZX1Bm+2firbK43+dyidY2CP+yNaW/oMz2lWShC0Rmk4UuD5lNFro4ZDZZ6NKQ2WShC0Mmk+3QZSGzyUIXhcwmC10SMpssV0FIf0Gh7asJc1Wx9RcU276aMFcVW39Bwe2rCWNthelziminAsLaCtPnNGBOBYS1A67PaZCcCghrB1yf08A4E1Cg/dkH2p99YO2A63MaAKcCOnZtUq+vGJxNYBy7NqnXVxhOJ4CmEmCVhx2t8rDXVx7ODcr1+orE6QSOHRbtcyoYrye/b3N57ZSZNpd57ZSZN5fXTpl5c3ntlJk3l1dCYN5c2sGNSB7dy+bRvSx6+fU2gWMXn3T48usNAr4IUpfGCsew4CB1aaxwkLo0VjhIXRorHKQujRUO1mMXX8CKB1ZAWI9dVkBYT1tXQFhPW1dAWE9bV0BYT1tXQGh/9ob2Z29of/aG9RxlBYT1HGUFVP5XNrXaYCWQByfQl6MTaEcngKYSHU0lpmyKngnoelQ2a7lyncvrUdm0ubwelU2cy+tR2by5vB6VzZvL61HZpLmMBfsd8lOzdLFgvz9+NlmeSOhKlicSupLlKdVYyRoT2eooaEt7JOFiKzfn/njk+eFgvX2ZhB8bfhwbPlfociUM7V2+gfCA9i/fQRjaw3wHYWgfsy7fPn7aLE3iCYFzeRMfj6/rRf7+63pKBuYwZM9V+LVB9lyFXxtkz1X4tUH2ZIVf6g8kn35PjJOt7vySbJ5sdefXZE+2uvNrsidb3fk12ZOt7vyarDGRPVll6q/Jnqwy9ddkT1aZ+muyTA4qiRzUeg4TWSIH1RYiB9UWIgfVFmMiS+Sg2kLkoNpC5KDaQuSg2sLkoBqTg2pMDqoxOajG5KCmvE/0MGSZHFRjclCNyUE1JgfVmByUMDkoYXJQwuSghMlBTakWOgxZJgclTA5KmByUMDkoYXJQyuSglMlBKZODUiYHpcZElslBKZODUiYHpUwOSpkclDE5KGNyUMbkoIzJQZkxkWVyUMbkoIzJQRmTgzImB9WZHFRnclCdyUF1Jgc1pWP2MGSZHFRnclCdyUF1JgfVmRyUMzkoZ3JQzuSgnMlBuTGRZXJQzuSgnMlBOZODOlvb9y/Jnq3t+9dkmRzU2dq+f02WyUGdre3712SZHFQwOahgclDYveOzyTI5KOy+8dlkmRwUds/4bLJMDupkneQbZJkc1Mk6yTfIMjkopk7yxtRJ3pg6yRtTJ3lj6iRvTJ3kjamTvDF1kjemTvLG1EnemDrJG1MnuTB1kgtTJ7kwdZILUye5LMZElshBCVMnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZILUye5MHWSC1MnuTB1kgtTJ7kwdZIrUye5MnWSK1MnuTJ1kutiTGSJHJQydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTJ1kitTJ7kydZIrUye5MnWSK1MnuTF1khtTJ7kxdZIbUye5LcZElshBGVMnuTF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7kxdZIbUye5MXWSG1MnuTF1khtTJ7mdrZM8+h3J+Ez2ZA7q12TLHZT67U4T1/Frsq1nX24f7es4P5H9g0B9z/hsAg2agMuSdwLrqU8IyNEJ6NEJ2NEJdGgCsQy7f7Rabkmuj4fkLvL3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8lJB5aWCykuFUbGl8lJB5aWCyksFlZcKKi81qLzUoPJSg8pLDSovNYyKLZWXOluj+AZbKi91tkbxDbZUXupsjeIbbKm8VFJ5qaTyUuVt5a9lS+WlsHvNp7Ol8lLYfebT2TJ5qTxZ7/kWWyYvlSfrPd9iy+SlcjEqtkxeKql6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqvc8qXrPk6r3PKl6z5Oq9zypes+Tqfd8PYfIS63nEHmp9RwiL7WeQ+Sl1nOMii2Rl1rPIfJS6zlEXmo9h8hLredQeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vOVLZWXYuo9X9lSeSmm3vMfL5ynYkvlpZh6z3+8VoWKLZOXalS9542q97xR9Z43qt7zthgVWyYv1ah6zxtV73mj6j1vVL3njar3vFH1njeq3vNG1XveqHrPG1XveaPqPW9UveeN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lFJ5KaXyUkblpYzKSxmVlzIqL2VGxZbKSxmVlzIqL2VUXsqovFSn8lKdykt1Ki/VqbzUlBeaHoctlZfqVF4Ku4VqOlsqL4XdQjWbLXYL1XS2VF4Ku4VqOlsqLzWl4eo4bKm8lFN5KafyUk7lpZzKSwWVlwoqLxVUXiqovNSUvsDjsKXyUkHlpYLKSwWVlwoqLzWovNSg8lKDyksNKi81pa/1OGypvNSg8lKDyksNKi81qLxUUnmppPJSSeWlkspLpVGxpfJSSeWlkspLJZWXSiYv5QuTl/KFyUv5wuSl/GyN4htsjYotk5fyszWKb7Bl8lJ+tkbxDbZUXqpRealG5aWwu82ns6XyUtid5tPZUnkp7C7z6WypvNTJes+32FJ5qZP1nm+xpfJSVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XvuVL3nTtV77lS9507Ve+5UvedO1XseVL3nQdV7HlS950HVex6LUbFl8lJB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HVex5UvedB1XseVL3nQdV7HlS950HV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"},{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(noinitcheck)","aztec(view)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::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":"inner_hash","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":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","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":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::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":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"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":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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"},{"name":"constructor","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(initializer)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::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":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"private"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"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":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","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":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::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":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","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":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"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":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::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":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"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":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"authwit::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":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7L3bjivNlp33Lvu60YjDjJNexTAM2ZYMAULLkNpXgt7dXIuVQdauZGWxGIyInPFd9b8buVjJMb4kY44RzPyf//i//9P/+f/9P//Hf/m3//zf/sc//sP/9j//8V//2//1H//9v/y3f7v8r//5j5T//v/+x//7H//tz//8H//+H//7v//jP5h/+cd/+rf/+/J//9e//OM//5f/+p/+8R98vPz3l+NcKunjUJdtqUdbl3eO9sXnj6PFOHtwtDXOh4/DL/8dbq/uwt652BBkOzykcDtzt/visR5srb8/+H//l3+kgihfRMkGUb6KYhHlqygOUb6K4hHlqyiCKF9FCYjyVZSIKF9FSYjyVRRWtDuisKL9KkphRbsjCivaHVFY0e6Iwop2RxRBlK+isKLdEYUV7Y4oM69ok7uJkvOBKC7Xw10u/iVRZl7RDhNl5hXtKFGsYUm7pwpr2j1VWNTuqcKqdk8VQZUdVVjX7qnCwnZPFbLaPVUIa/dUIa3dUcWytt1ThbXtniqsbfdUYW27p4qgyo4qrG33VGFtu6cKqe2eKsS2e6qQ2+6o4ljb7qnC2nZPFda2e6qwtt1TRVBlRxXWtnuqsLbdU4Xcdk8Vcts9Vchtd1TxrG33VGFtu6cKa9s9VVjb7qkiqLKjCmvbPVVY2+6pQm67pwq57Z4q5LY7qghr2z1VWNvuqcLadk8V1rZ7qgiq7KjC2nZPFda2e6qQ2+6pQm67pwq57Y4qgbXtniqsbfdUYW27pwpr2z1VBFV2VGFtu6cKa9s9Vcht91Qht91Thdx2R5XYcW0rvpRNFbm78uf7XIkWVXZUcaiyo4pHlR1VBFV2VAmosqNKRJUdVdLEqoxbr7y0tvUlbode3nG8vU9jrq9e3vnq6bW1lvXboc5Gc+dR2ZXRlmpRuDl0qY6u52J7nssdLnf+/zmXnaNz9ttrm7vXdiHtHX1Bbntt7+7O2+zBFYv9ODjf+eONn+zaTw53JnbH487E7gjuHLoz7Ps7BdyZ2J2oxB17544/cufy6VPXSin5o6NH+pPwZ2p/8rz+2Js/6dAfqWdyyc3LneJmNsULivdVPJsxil/G2C9T7ItPnbM5bufi7mfk3XNx0W1f4i5JPDzzgQ45VNlR5bWpzaX6Pr39/D7/vrq89Oo+bX2hk3vO91WMNWe6pITh02fF33MJE51LnOhcXls9ia2fXBLswblIXfEHF7+eSZ7mTMosZ/LiQ6hanol9kdl0OxP35ZNi/xFK9rKS2dh17uhvXE6xkl7ijfRkdz/Qa7jinJWDg7OrV1zO8fuD71bx5e6j3O+VBiW47aO8hGwPPvhLiPVrwtxO2aWrhB4JX5VQppawuHpwyW5SCQMSviphnFlCb2ru4A8Ptlbqadg/I972sR/l+lbTOm81r/NWyypv1e0/UWmat+pK7d5Fwotv1a7zVqdejbZ9q1OvGtu+VZn6rUqqbzXcncf+W011VruECeXTW90Z7ILUjUyh3A1fMV2FmXrNNlKYuVdiA4WZe902UJi5V3kDhZl7TThOGDv3CnKgMHOvNwcKM/fqdKAwc69lBwojiwoTLmXDx9HBux1hVl35Hgqz6sr3UJhVV76Hwqy68j0UZtWV75EwbtWV76Ewq658L8uYbZdACC58EmZn1WPKtpdQrPcHRzds6JxbdQUepHYnIfgjg7LZzqPI7Zz/lP9fT2PcHjjnVh0bdLopuKnIzWUHtKfcvNhy2xJ+t+H44udfFZed5pqquOzo95yKIVYV491tnvY/W1zdkGXd3Uu7vPcrQBekbiIM6W4NJ7uC1MWkD3fbpN3eK/tL578dfClx7g/+a/2ywy3WLzu+L2+9XzagwPp1Ixj91nuzxW/e3530Zj3hzrLWkwQptt7Han2w3x98iTDqD1tz9gcHe3v7Faz7+lUiQAVUz0N1C9HEmO8PTmF7f6nI/dv7yx8RGvyN5I/wEf5G8kdsC3/P83d/6wSfX+GP7Bj+RvJHgA1/z/MX6gYBF3z656FWiMaBqjlUhO5A1Rwq4nygag4VRQFQPQ9V9PXmtzG57w++mFHlyDl8IVAgEAKHEkivAIHvJdAZU1/ZuPJCCCKUEMB6GlhpLID1NLBSbwDru2Gtz01zJvpXYKULAdazwBroWID172kUUx+eUOzBl/XBbtRAxwJUv4Cq1W6sQB0DfyP5o7mBv+f5a7YbKwj8wd9A/mht4O95/r7fDhFoV4CqOVS0IEDVHCraCqBqDhWtAlA9D1XDvViRqgACxxJIrwCB7yWw3Z6VSAkBrKeBlcYCWE8DqwArsL4Z1lYbrCJdCLCeBlY6FmC9wprrPUyNza9N7XQsQNUcKjoWoHoaqoYzCHUM/A3kL1HGwN9I/qhi4G8kf7Qr8PcL/lolJYnCBP5G8ifwp5Y/qTsBvdiDg1s+RSbRVQDVL6Bq9bvJRP0AfyP5o6mAv5H8UWrA3/P8NfvdbqLUgL+B/GVKDfh7nr/vfziXaSqAqjlU1A9A1RwqOgWgag6VABVQPQ1Vw1/tZloFCBxLIL0CBL6XwHY7mzIlBLCeBlYaC2A9DazUG8D6blhbbfArdCHAehpY6ViA9e9pNHyKTKFjAapfQNVqN1ahjoG/kfwJ/MHf0/w1241V6G3gbyR/tDbw9zx/32+HKLQrQNUcKloQoGoOFW0FUDWGyhtaBaB6Hqp2e7G8oSqAwLEE0itA4HsJbLZnxRtKCGA9DawCrMB6FlipN4D13bA22mDlDV0IsJ4GVjoWYL3C2uyBH97QsQBVc6joWIDqaajazSCWOgb+RvJHGQN/I/mjioG/kfzRrsDfL/hrlZRYgT/4G8gfHciP+ItVRJucOwl/l+/G7WBn/vnXtd7SKCxrPfn8staToi9rPVm3Xuu9qctHf7dA/rDeETMvaz0Jr2Lrn3lOabvnRHpHbAtUv4Cq0Z1RvCO2hb+R/An8wd9A/oht4e95/lrdmcc7smP4G8kfATb8Pc/f97fGcETjQNUcKkJ3oGoNlSfOB6rmUFEUANXzUDW8L4+nVYDAsQTSK0Dgewls99sFL8AKrGeBlcYCWE8DK/UGsL4b1lY/4fF0IcB6GljpWID172m0e06k93QsQPULqFrtxhLqGPgbyR/NDfw9z1+z3VhCbwN/I/mjtYG/5/n7fjuECFABVWuoaEGAqjlUtBVA1RwqWgWgeh6qhnuxhKoAAscSSK8Age8lsN2elUAJAayngZXGAlhPAyv1BrC+G9ZWG6wCXQiwngZWAVZg/Qtru0f6BToWoGoOFR0LUD0NVcMZhDoG/kbyRxkDfyP5o4qBv4H8RdoV+PsFf62SkkhhAn8j+aMD0cvfU88pbfgUmUhXAVS/gKrV7yajwB/8DeSPpgL+RvJHqQF/z/PX7He7kVID/kbyR6kBf8/z9/0P5yJNBVC1hipRPwBVc6joFICqOVQUBUD1PFQNf7WbaBUgcCyBAoEQ+FYC2+1sSpQQwHoaWGksgPU0sFJvAOu7YW21wS/RhQDraWClYwHWv6fR8CkymY4FqH4BVavdWJk6Bv5G8kdzA3/P89dsN1amt4G/kfwJ/MHf0/x9vx0i064AVXOoaEGAqjlUtBVA1RwqWgWgeh6qhnuxMlUBBA4lsNArQOB7CWy3Z6VQQgDraWClsQDW08BKvQGs74a11QarIsAKrGeBlY4FWK+wtnvgR6FjAarmUNGxANXTUDWcQahj4G8kf5Qx8DeOv8sZwh/8DeSPdgX+fsFfo6REDIUJ/I3kjw7kR/wlSZW/O0gu/P1VUVCxgYqkxi1UJCb9mYopVhVL+aIiuWALFUm3WqhIRvMjFXOobzGnLypakoYWKjIv/0xFVwXJ2XxRkamvhYrMLj9SscS6B8SEr1e0oGIDFZldWqjI7NJCRWaXn6jofNlW3e6yrrlX8evBUs8jmHgXouWdY0up8aMx+dPBf+1hKJraHqatme1xjHFD7bHG+uqP2/GHAXFufxg95/aHoXbw18/NnuC/2iPYM4s9aefqYQxvbk8I2+1Mo+Qje2KVoyRz93ujsKe0r7XHZWa9ueJ2Dy1Vumz99wfbUM/ChhQODja3HwjYz6/8lygiCZ1EXVaqW41++dI9IMrl2z19c/GvEUU8A1FtiSJRmpaov/4QKf3Mn1RjbZEDf5LfXjndb4D8c0pfTzrezvney7/meAKlic0hTZrYHKKkic0hR5rYHMGcec0hQ5rYHOKYic0h2ZjYHEKCic0hIZjXHCEhmNgcEoKJzSEhmNgcEoKJzRHMmdccEoKJzSEhmNgcEoKJzSEhmNgcEoJ5zQkkBBObQ0IwsTkkBBObQ0IwsTmCOfOaQ0IwsTkkBBObQ0IwsTkkBBObQ0IwrzmRhGBic0gIJjaHhGBic0gIJjZHMGdec0gIJjaHhGBic0gIJjaHhGBic0gI5jUnkRBMbA4JwcTmkBBMbA4JwcTmCObMaw4JwcTmkBBMbA4JwcTmkBBMbA4JwbzmZBKCic0hIZjYHBKCic0hIZjYHMGcec0hIZjYHBKCic0hIZjYHBKCic0hIZjXnEJC0NycHPLHsTl9Nuev4oz9vRVnlm+ueInbSZciBx9AEqU+ESnePVxt//FJ+h62VIgr4G8kfwJ/8DeQP0In+BvJH7ka/I3kj+gQ/kbyRzoKfyP5IwCGv3H8BUPGDX8j+SPxh7+R/NF/wN9I/ug/4G8kfwJ/8DeQP/oP+BvJH/0H/I3kj/4D/kbyR/8BfyP5o/+Av4H8WfoP+BvJH/0H/I3kj/4D/kbyR/8BfyP5E/iDv4H80X/A30j+6D/gbyR/9B/wN5I/+g/4G8kf/Qf8DeTP0X/A30j+6D/gbyR/9B/wN5I/+g/4G8mfwB/8DeSP/gP+RvJH/wF/I/mj/4C/kfzRf8DfSP7oP+BvIH+e/gP+RvJH/wF/I/mj/4C/kfzRf8DfSP4E/uBvIH/0H/A3kj/6D/gbyR/9B/yN5I/+A/5G8kf/AX8D+RP6D/gbyR/9B/yN5I/+A/5G8kf/AX8j+RP4g7+B/NF/wN9I/ug/4G8kf/Qf8DeSP/oP+BvJH/0H/A3kL9B/wN9I/ug/4G8kf/Qf8DeSP/oP+BvJn8Af/A3kj/4D/kbyR/8BfyP5o/+Av5H80X/A30j+6D/gbyB/kf4D/kbyR/8BfyP5o/+Av5H80X/A30j+BP7gbyB/9B/wN5I/+g/4G8kf/Qf8jeSP/gP+RvJH/wF/A/lL9B/wN5I/+g/4G8kf/Qf8jeSP/gP+RvIn8Ad/A/mj/4C/kfzRf8DfSP7oP+BvJH/0H/A3kj/6D/gbyF+m/4C/kfzRf8DfSP7oP+BvJH/0H/A3kj+BP/gbyB/9B/yN5I/+A/5G8kf/AX8j+aP/gL+R/NF/wN9A/gr9B/yN5I/+A/5G8kf/AX8j+aP/gL+R/An8wd9A/ug/4G8kf/Qf8DeSP/oP+BvJH/0H/I3kj/4D/sbxFw39B/yN5I/+A/5G8kf/AX8j+aP/gL+R/An8wd9A/ug/4G8kf/Qf8DeSP/oP+BvJH/0H/I3kj/4D/gbyZ+k/4G8kf/Qf8DeSP/oP+BvJH/0H/I3kT+AP/gbyR/8BfyP5o/+Av5H80X/A30j+6D/gbyR/9B/wN5A/R/8BfyP5o/+Av5H80X/A30j+6D/gbyR/An/wN5A/+g/4G8kf/Qf8jeSP/gP+RvJH/wF/I/mj/4C/gfx5+g/4G8kf/Qf8jeSP/gP+RvJH/wF/I/kT+IO/gfzRf8DfSP7oP+BvJH/0H/A3kj/6D/gbyR/9B/wN5E/oP+BvJH/0H/A3kj/6D/gbyR/9B/yN5E/gD/4G8kf/AX8j+aP/gL+R/NF/wN9I/ug/4G8kf/Qf8DeQv0D/AX8j+aP/gL+R/NF/wN9I/ug/4G8kfwJ/8DeQP/oP+BvJH/0H/I3kj/4D/kbyR/8BfyP5o/+Av4H8RfoP+BvJH/0H/I3kj/4D/kbyR/8BfyP5E/iDv4H80X/A30j+6D/gbyR/9B/wN5I/+g/4G8kf/Qf8DeQv0X/A30j+6D/gbyR/9B/wN5I/+g/4G8mfwB/8DeSP/gP+RvJH/wF/I/mj/4C/kfzRf8DfSP7oP+BvIH+Z/gP+RvJH/wF/I/mj/4C/kfzRf8DfSP4E/uBvIH/0H/A3kj/6D/gbyR/9B/yN5I/+A/5G8kf/AX8D+Sv0H/A3kj/6D/gbyR/9B/yN5I/+A/5G8ifwB38D+aP/gL+R/NF//Iy/6s8/8/dXxWVT/Fhf+vKf5ZOKf4VZNl4+EmbZ3PN7YZJZNpA7EmbZpOjyTbsJk5IcfFL7y3fxdiLu8Ogs9Uxy8Pdn4q6iLxuPjBR92UzgvaKbKnpxX0UXRO8v+rLT30jRlx15Roq+7IQ0UvRlp693ih7t9tr5gvVX0Zed7AaKbpedGkeKzkQ6QHQm0gGiM5G+WfRgvoouiN5fdCbSAaIzkQ4QnYl0gOhMpD8TPYftRPxdab9/9Nt2JfhU8wWf7dFGg1DPwoa7nRS/2JWQLDP0iTAZtXklOaZ+MPkBJuQUYPIDTEhWwOQHmJAF9cXkr+iyquhONhmDd+6TjH+FWTavORJm2UzlSJhlc48jYZbNJo6EWXYaPxDGLzt/Hgmz7MR1JMyqM0Z0si0eoyv+qzCrrqoPhRGE2Rdm1ZVv9Gb7LWT0aUeYVVe+h8KsuvI9FGbVlW/0uQoj4TCkyC5vIUWWz79b2VkKGF+XAibGerTIVfNVF9UDNZdV1+sjNV91FBip+bJTxjs1t3YrJ4IVf6/5jiBlOw9v7uy5urPsqHMKdwR3JnZn3aHvDO6sO3mewZ11x98zuMMMPrM7TOsTuxOY62d2hwRgZnfICn7mzm2DWk7ptXwmkAD011zQvLvmTOv9NWcGf4Pmzb5tmcFndocZfGZ3mMEndicyg8/sDjP4zO4wg8/sDtP6zO4I7kzsDgnAzO6QFXx1568wjOkPhGFCfiAMw+m+MIm58IEwikay+9NI+UCYkOpbDNnFT192f4VRNA21FUbRINJWGEGYfWG4O8j+77ATdwd5IAx3B3kgDHcHeSAMdwfZFyZzd5AHwnB3kAfCrLryTcVsN/NLxcuXdUxedeV7KIysKkyu0/VFmPBVGEUr37bCKFr5thWGle+DbyVWvg+EYeW7L0xh5ftAGFa+D4RZ9t7bR8Ise7fpI2EEYfaFIfN9IAyZ7wNhWPk+EIaV7wNhWPnuCpMNK98HwrDyfSDMqpnv5Z3XRwWaT0e7qzCrZr6HwgjC7AuzauZ7KMyqme+hMIpWvm2FUbTyfbJwq4+7zaa4T8LsyBjrc8Uu/3lbCsjuSbtt174Xn++O/Su4ohX1KQS3ilbq5xB81f3OwwRfdzfJIMHX3aXyPsFzridtzD8LLgjeV/Bld9WMEnzZ3TqDBNf0SPkhgv8VkaVeAxFZvjUQkSVZAxGFlGw3JdP08O22whA4PxCGwPmBMKsGzofCrBoMHwmj6eHbbYVZdfV9KAxbLR4Iw1aLB8IIwuwLw8r3gTCsfB8Iwybj/Q2Ayz58+1AYNhnvC7PsY6wPhWGT8QNh+HndA2H0rHydMVuv5Uw++roWa7ejxcb7X8PHqzCCMPvC6Fn5NhZGz8q3sTB6Vr7PCRNs3I6+vHL6KoyelW9jYfSsfNsKo+hBr42F0bPyfU6YFOtJp/jpBlkfwuhZ+TYWZtWVbwp5e4spmc9f1zuxVrPdwYoeQHoSwVddqQ8TfNUJYJjgq04WwwRfdWJ5p+DfbcdW9MzPcwiu6DGeJxF82cltlOAsC18T/K+ILPUaiMjyrYGILMkaiLjsMisGV1OyYr+kZIqeXtdYmHUD5wNh1g2cD4RZNnA+EkYQZl+YZVfqR8Isu/o+EmbZFfWRMMuuko+EYeW7L4yip9c1FoaV7wNhWPk+EIaV7wNhhO1cu9u5FD29rrEwq658D4Vhk/EDYdhk/EAYNhnvCzP50+tC/UWTD+Xgldv+WGryp9cNFGbule9AYeZe+Q4URhBmX5i5V74DhZl75TtQmLlXvm8URsr2bPgQXPgkzNejxZTt8ddivT84uoR6N48S8m1yd8HsHr3tmbXG3ARxHwbNvQJ/p0GhVIP8kUHZbO+wyO2c895mDmtc3c1x+e+7Fe++Py7Xw93lO/mmtdt98bipZ639dPBfN+ceG2Zx095uh2OtxHs/LyqWyZ8TeBYVlx1InlMxxKpidPbgs8W5evm7u5d22e8JEqRO3iHdfU/s78utX1g+3O1Yc3uv7J3ZTvryn/n+4L/WLztyYf2yQyXWC9avav2ywcAC1ntT1fN3J71Zv2z0gfXrhjsLWO/rT619sN8ffIkwbI0wsj842Nt6sHdfv0oIpIDqF1DdQjS5+1Xp7sEpbO8vFbl/e3/5I0KDv4H8Tf7oY/jTzh+xLfw9z59Ux939nXl+wR/ZMfyN5I8AG/6e5y/UDQIu+PTPQ+3kz0IHqlNCRegOVM2hIs4HquZQURQA1fNQRb9tinUxue8PvphR5cg5fCGQVgECxxJIrwCB7yXQGVNf2bjyv34fgjhKCGA9Daw0FsB6GlipN4D13bD6UGGN/hVY6UKA9TSwCrAC65/TKGZ7ZXcZuw8O/n43qqNjAapfQNVqN5ajjoG/kfzR3MDf8/w1243l6G3gbyR/tDbw9zx/32+H8LQrQNUcKloQoGoOFW0FUDWHilYBqJ6HquFeLC8QCIFDCaRXgMD3Ethuz4qnhADW08BKYwGsp4GVegNY3w1rqw1Wni4EWM8Cq9CxAOsV1lylNja/NLULHQtQNYeKjgWonoaq3Qwi1DHwN5I/gT/4G8gfVQz8jeSPdgX+fsFfs6SEwgT+RvJHB6KXP6k7Ab3Yg4NbPkVG6CqA6hdQtfrdZKB+gL+R/NFUwN9I/ig14O95/pr9bjdQasDfSP4E/uDvaf6+/+FcoKkAquZQUT8AVXOo6BSAqjlUFAVA9TxUDX+1G2gVIHAogZFeAQLfS2C7nU2REgJYTwMrjQWwngZW6g1gfTesrTb4RQFWYD0LrHQswPr3NBo+RSbSsQDVL6BqtRsrUsfA30j+aG7g73n+mu3GivQ28DeQv0RrA3/P8/f9dohEuwJUzaGiBQGq5lDRVgBVc6gEqIDqaaga7sVKVAUQOJZAegUIfC+B7fasJEoIYD0NrDQWwHoaWKk3gPXdsLbaYJXpQoD1NLDSsQDrFdZ2D/zIdCxA1RwqOhagehqqdjNIFviDv4H8UcbA30j+qGLgbyR/tCvw9wv+miUlFCbwN5I/OpAf8ReriDY5dxL+Lt+N28HOfPl1baFRWNZ68vllrSdFX9Z6sm691ntT1fN3C+TNesH6Va0n4VVs/TPPKW34nMhCbAtUv4Cq1Z1RCrEt/I3kj9gW/kbyR2wLf8/z1+rOPNYYwmMAHAogETYAPg/gtzfHuFBFOg5V7akieIeq9lQJVEFVc6qoC6Dqeara3Z3ngiDlAggORpB+AQTfi2Cz3zBcaKWNgNbz0Ep3Aa2nodVSdEDru2lt9GueC620ItB6HlppW6D172m0e2jkhSraFqj6BVWN9mZdABQABMCRANLhAODzALbbnGVpcABwKID0NwD4PIAHeyMsPQtUtaeKPgSqmlPl6C2gqj1V9AtQ9TxVLbdmOUoDEByMIA0DCL4XwYY7WJxAK7Sehla6C2g9D60UHdD6blqb7bdytCLQeh5aaVug9Uprs+f9XaiibYGq5lR52haoepqqhoOIp5gBwKEAUssA4FAAKWUAcCiAAoAA+DyAzQITT3UCgEMBpA3RC+BTDzNt96iZC1W0FlD1C6qa/ZzSU0QA4FAA6SwAcCSAQr0BgM8D2O73vEK9AYBDAaTeAMDnATz4OZ3QWUBVe6oEqqCqOVW0C1DVnioqA6h6nqqWv+YV+gUQHIwgDQMIvhfBhhudhDoCWk9Da6C7gNbz0ErRAa3vprXZhr9AKwKt56GVtgVa/55Gy8fNBIEqqHqeqmabswLFDAAOBZAOBwCfB7Dd5qxAgwOAQwGkvwHA5wE82BsR6FmgqjlVkT4EqtpTRW8BVe2pol+Aquepark1K1IagOBgBAUEQfCtCDbcwRKpI6D1PLTSXUDreWil6IDWd9PabL9VpBWB1vPQStsCrVdaGz4YJNG2QFV7qmhboOppqhoOIoliBgCHAkgtA4BDARQABMCRANKzAOAvAGwWmCSqEwAcCiBtyI8ATJIqgHeUXAC8ykhM30RG8uMWMmYC05/JmGKVsZSvMpIQNpGRnKuJjKQ1P5Ixh/oWc9qRUZCxhYxMzj+T0VVBcjZfZWT+ayIjU8yPZCyxbgsxYeeiZoppIiNTTAsZC1NMExmZYn4io/NlW347sZ9m6q8HSz2PYOJdppZ3ji2lppHG5E8HX/1hPJrbH+auuf0R/BnpjzXWV4PcnkGMipMbxBA6uUGMt4O/gm7+BL/jD3PzNP6kveuHgby5PyFstz6Nko/8iVWOkszdz5HCntK+9iBib7ez8W730FK3WGTrvz/YhnoWNqRwcLC5/XrAfn7lP0hdlqIgpRIpcXbr1sX5A6Rcvt0AOBf/IlIENSDVGCmypWmRuhpEuPQzg1LNuEUODEp+e+V0vzfyzyl9Pel4O+d7Mz/cEdyZ2B1ypZndIVSa2R0SpZndIU+a2R3SpIndsQQzM7tDxjGzO8QFM7tDVjCzO4I7E7tDVjCzO2QFM7tDVjCzO2QFM7tDVjCxO46sYGZ3yApmdoesYGZ3yApmdkdwZ2J3yApmdoesYGZ3yApmdoesYGZ3yAomdseTFczsDlnBzO6QFczsDlnBzO4I7kzsDlnBzO6QFczsDlnBzO6QFczsDlnBxO4IWcHM7pAVzOwOWcHM7pAVzOyO4M7E7pAVzOwOWcHM7pAVzOwOWcHM7pAVTOxOICuY2R2ygpndISuY2R2ygpndEdyZ2B2ygpndISuY2R2ygpndISuY2R2ygondiWQFM7tDVjCzO2QFM7tDVjCzO4I7rd3JIX8cm9Nnd66SEwB0l5ypvrnkJW5ylCIHn0ESpT5SKd49n23/+UsKn9YUCS4AcCiAZDMAOBRA4icAHAlgImEDwKEAEiIC4FAAyUkBcCiARMEAOBRAAUAAHAkg2T8ADgWQJgQAhwJIEwKAQwGkCQHAoQDShADgSAAzTQgADgWQJgQAhwJIEwKAQwGkCQHAoQAKAALgSABpQgBwKIA0IQA4FECaEAAcCiBNCAAOBZAmBABHAlhoQgBwKIA0IQA4FECaEAAcCiBNCAAOBVAAEABHAkgTAoBDAaQJAcChANKEAOBQAGlCAHAogDQhADgQQGdoQgBwKIA0IQA4FECaEAAcCiBNCAAOBVAAEABHAkgTAoBDAaQJAcChANKEAOBQAGlCAHAogDQhADgSQEsTAoBDAaQJAcChANKEAOBQAGlCAHAogAKAADgSQJoQABwKIE0IAA4FkCYEAIcCSBMCgEMBpAkBwJEAOpoQABwKIE0IAA4FkCYEAIcCSBMCgEMBFAAEwJEA0oQA4FAAaUIAcCiANCEAOBRAmhAAHAogTQgAjgTQ04QA4FAAaUIAcCiANCEAOBRAmhAAHAqgACAAjgSQJgQAhwJIEwKAQwGkCQHAoQDShADgUABpQgBwJIBCEwKAQwGkCQHAoQDShADgUABpQgBwKIACgAA4EkCaEAAcCiBNCAAOBZAmBACHAkgTAoBDAaQJAcCRAAaaEAAcCiBNCAAOBZAmBACHAkgTAoBDARQABMCRANKEAOBQAGlCAHAogDQhADgUQJoQABwKIE0IAI4EMNKEAOBQAGlCAHAogDQhADgUQJoQABwKoAAgAI4EkCYEAIcCSBMCgEMBpAkBwKEA0oQA4FAAaUIAcCSAiSYEAIcCSBMCgEMBpAkBwKEA0oQA4FAABQABcCSANCEAOBRAmhAAHAogTQgADgWQJgQAhwJIEwKAIwHMNCEAOBRAmhAAHAogTQgADgWQJgQAhwIoAAiAIwGkCQHAoQDShADgUABpQgBwKIA0IQA4FECaEAAcCWChCQHAoQDShADgUABpQgBwKIA0IQA4FEABQAAcCSBNCAAOBZAmBACHAkgTAoBDAaQJAcChANKEAOBAAL2hCQHAoQDShADgUABpQgBwKIA0IQA4FEABQAAcCSBNCAAOBZAmBACHAkgTAoBDAaQJAcChANKEAOBIAC1NCAAOBZAmBACHAkgTAoBDAaQJAcChAAoAAuBIAGlCAHAogDQhADgUQJoQABwKIE0IAA4FkCYEAEcC6GhCAHAogDQhADgUQJoQABwKIE0IAA4FUAAQAEcCSBMCgEMBpAkBwKEA0oQA4FAAaUIAcCiANCEAOBJATxMCgEMBpAkBwKEA0oQA4FAAaUIAcCiAAoAAOBJAmhAAHAogTQgADgWQJgQAhwJIEwKAQwGkCQHAkQAKTQgADgWQJgQAhwJIEwKAQwGkCQHAoQAKAALgSABpQgBwKIA0IQA4FECaEAAcCiBNCAAOBZAmBABHAhhoQgBwKIA0IQA4FECaEAAcCiBNCAAOBVAAEABHAkgTAoBDAaQJAcChANKEAOBQAGlCAHAogDQhADgSwEgTAoBDAaQJAcChANKEAOBQAGlCAHAogAKAADgSQJoQABwKIE0IAA4FkCYEAIcCSBPyMwCrQf8M4FXGZfP8mLaTvvxn+STjX2XSskHzoTLLJqCHyiwbzR0qs2xmdPm+3ZRJSQ4+rv3lG3k7EXd4dJZ6Jjn4+zP5+JJMguoDVF82HXiv6qaqXtyO6suOxENVX3YOHKr6ssPPUNWXnZVGqp6XncPeqXq022vnZNKO6svOeENVX3Z+HKo6s+kI1QXVB6jObPpm1YPZUZ3ZdITqzKYjVGc2HaE6s+kA1Quz6c9Uz/VE/F2Xv3/02zYrXAKcan62R/sPQj0LG+42WPxqs0Jhmj4RJ+M2tRTmfzj5CSckFnDyE04ETuDkB5yQCvXl5Kr6sqmQqy8dvHOfdLwqs2xyc6jMsunKoTLLJiAHyohZNqU4VGbZufxQmWUn0UNllp29DpWRRZWJTrZVZHTF7yiz6vr6WJlV18DHyqy6Bo7ebL+ZjD7tKbPqGvhYmVXXwIfK2FXXwNHnqoyEw8wiu7xlFlk+/7ZlZ0VgfF0RmBjr0SIfoq+6vB4q+qor96GirzoUDBVdEL296NZuhUWw4u9F3xGkbOfhzZ0/H/YsO/Scw55lJ69z2LPu+HcKe9adQU9hz7qD8BnscUzjU9vD3D61PUz4U9tDFjC1PYI9P7Lntnstp/RiVOPIAgaIzoQ/QHTm9gGiM42/QfR2X7lM4zPb45nGp7aHaXxqe5jGp7aHaXxqewR7ZraHuX1qe5jwp7aHLGBqe0gNvtpzVYaB/YEywqz8SBnG1EfKMCE+UkbRcHZ/GikfKBNSfYshu/jpK++qjKDMA2UUjSSNlVE0DTRWhvuJPPjNtnA/kUfKcD+RB8oE7ifySBnuJ/JIGe4n8kgZ7ifySBlZdD2Tcp2bUvn0iN+P9UxYdQ18rMyqa+BjZVgDP/qcYQ38SBnWwA+UiayBHynDGviRMqyBHynDGviRMoIyD5RZ9p7Vh8pwX+lHyrAGfqQMa+BHyrAGfqBMYg38SBnWwI+UUbQGfiqfycbVZ8mZT0d/5DNp1b0Qx8oIyjxQZtUc+FiZVXPgY2UUrYEbK6NoDfxcd1DqU1GzKe6TMjs6xvrkqct/3lYEe6/sxW2btb34fHfsVXFFa+tzKJ4VrdlPoriiWeAkiq86Y4xTfNXZ5Z2K51xP2pgviguKd1Z82T03wxRfdi/PKMULq8PXFL+qyIqvhYqs4lqoyMqshYpCZrafmWl6cnhjZUigHylDAv1ImVUT6GNlVk2Kj5QJmp7u3ViZVdfhx8qwC+ORMuzCeKSMoMwDZVgDP1KGNfAjZdiJvL9DMCz7dO9jZdiJ/ECZZZ/ufawMO5EfKcOv8R4po2cN7IzZ+i5n8tG3tli7HS023v+GPn4oIyjzQBk9a+DWyuhZA7dWRs8a+DllLkxsRwdn0o4yetbArZXRswZurIyiZ+q2VkbPGvg5ZVKsJ52ilx1l9KyBWyuz6ho4hby9xZTM52/tnZyr2R7ioOi5rGdRfNU1+zjFV50Fxim+6owxTvFVZ5d3Kv7dru2g6PGqJ1Fc0RNTz6L4sjPcMMVZHb6m+FVFVnwtVGQV10JFVmYtVFx2tRWDq5lZsV8zM0XPxmutzLoJ9JEy6ybQR8osm0AfKiMo80CZZdfsh8osuw4/VGbZtfWhMsuulw+VYQ38QBlFz8ZrrQxr4EfKsAZ+pAxr4EfKCLu99nd7KXo2XmtlVl0DHyvDTuRHyrAT+ZEy7ER+oIyiZ+O56LfTcDHbA2VyKdszOIuJd7+sMrtvMftNR5uDr0c7t+moaMU8VEdF6+uhOipajQ/VUabWUZKpOt6dR5dvjrnX7iOVmXvtPlKZudfuI5WZe+0+Upm51+4Dlen/TD/nfFXGx+8Ptrfb6lgjt69tJ7L/RVxuX8Tu7ov4473ahd6rW+i9+oXeqyz0XsNC7zVqeq8h1feazNf3mhZ6r3mh91rWea9Z1brp4L2qWjcdvNfu6ybv63v18eC9+py3scIXl78/OMh2k7B492sfK9s79WreaSxbEpis23mnssw7Dcu807jMO03LvNO8zDstq7zT/k8YG/ZO7TLvVM8a6eid6lkjpbytBlPJO+9UlnmnetZIR+9Uzxrp6J3qWSMdvVM9a6Sjd6pnjfT9O41Gzxrp6J3qWSMdvVM9a6Sjd6pnjZTjlg1e/tXOO5Vl3qmeNdLRO9WzRjp6p3rWSEfvVM8a6eid6lkjHbxTq2eNdPRO9ayRjt6pnjXS0TvVs0YqoW6NT3bnncoy71TPGunonepZIx29Uz1rpKN3qmeNdPRO9ayRDt6p07NGOnqnetZIR+9Uzxrp6J3OvUYquf5Go5SDd2qN22pFa/ztjqLJ7R/8xP61VEVMd48Z3n/h77ccx/4PYFld8LlXjAoFn3vhekbBv909G93c62eFgs+9jFco+NzTxBkFN+YmuP0iuJ97qJlF8HrDinz/A+LffGn6uWcrhYLPPeIpFJxJs7Xg339pekHwvoIzaXYWnEmzteAHy0ImzR+tw20V3N2/8FVDhsfXNWQe/IGG2W+vnKN7bfEmzIOdBWce7Cw482Brwb9fvAnzYGfBBcH7Cs482Frw78cTYR58bmkd5cvSWhjxXteQEe8nF37aPj2LeXXxxjzYV/DAPNhZcObB1oJ/v3gLzIOdBWce7Cy4IHhjwb8fTwLz4FNL62K+Lq0DI97rGmpaLeeqYTyMD4zzN8VduEnuwu57DPVxEn9ui35TZP/FYz3YWn9/8F/Ro6YV82lE17RqPo3omlbOpxFd0+r5NKILovcXXdMq+jSia1p2n0Z0TVXMaUTX1N2cRnQm0v6iJybSAaIzkQ4QnYl0gOhMpANEl2VFT7d83N09oXdfdJfr4S4X/6Lo606kA0VfYiK9vtXJ58CwPexajD16bKD4ehqh3D4avTHTATb5IKhU9aknQTFVSDHh02X99+zz1CPV4dlPPZscnr2i52PVjTvx7nXrPfs0PUP04J2Knnea6nNhs9l5p63XkMkdnfz2RsWGu0/4uHPsRbbtjZZ0twtq//vAp1hfOX3/bSDObv7LRfrvD276PdP8Sabo/b3eCb276p3Ru6veBb176t38Cbfo/b3eFr276u3Qu6ve+zNVKPUnFFHCgd5Oqjsu2LuH9sWyd7SJmy7O3p3+/tFDQ5kHjylGnL/ihAbiBJerOPeD8O7bDdlueXHI/u7BR7txnvOXs64z7Z+B8/7461uI538LqcVbqL/1cdGlg7eQ8sZQtndvwO4d6+vvMS5Xwd1Z7LcBt49ia0SOYL5IUw+3+XbWlzdwVSajzANlCsrsKpMePBsZZdKDZymjTHrw7GWUScajzANlBGUeKBNQ5oEyEWUeKMMa+JEyrIEfKcMa+IEyljXwI2VYAz9ShjXwI2VYAz9SRlDmgTKsgR8pwxr4kTKsgR8pwxr4kTKsgR8o41gDP1KGNfAjZVgDP1KGNfAjZQRlHijDGviRMqyBHynDGviRMguvgW/v0VnzVZmF18DfK+MXXgMfKLPuGtjV7WvW3f3yqyqz7hr4SJl118BHysiyyni/bR21XuJXZaZeA4e6yT6acKCMt7LJ6D+tT9zHO516TfvUO3Vxo927vXc69Rq16Tudes3Z9J1OvYZs+U5l6jVh03c69Rqv6Tudes3W9J1OvQZr+k5lmXeqZ4109E6nXiNFu/3KLQZ/uE628bZM/vROvx4s4rezkPsleJVl6gXVOFmmXn2Nk2XqpdowWUL3dV2+vbSR8kmX6xnZkWd0dzPC2xl1XydZk2pyYk0++q6JstETYrw7+pc/LU3Br/aG5egNJ2MP3rCP2x/x6e5yd7vHmvoGvLm7Kq3ZFScUdxP+4BZdl8xt+/G2c3efO/sH59tPmHM+uqdiuN1b4S7g8nnn2BLqw9tKyPYgDivh9oF29/S2LQ0LAXcmdicu6k5x9eCS3azupDXd8SbU8zg82Fqp9thw/10lHypmVGygYkHF11WMBhUbqGgXVdGVept2kfCqig4VG6joUbGBioKKDVRcdNbykqqK4e4+g/sqprJtarA5lk8q7qQVTuqdv7y7Sx/ixxo9LjpBDdV81blopOarTlEjNV915hqoeVp1Qhup+arz3EjNV53+3qi5VPFCcOGT5l+PFlNut7D2/uDoprlyWnVmfaf3NeAKwR95n812HkVu55z3bl4+8mbRKa06ls8CysXx+hbt3Vu8oHI1iIl/coOIBwYbFOLtLTp78GHrai1s3d1Lu+z3BAlyu4d8uvtOll1BquU+3O0qdX43FjTbSV/+875z/qCKAASq2lNFxANV7akixIKq5lRlYjqoep4qb+qPdfzdSVeqCCKhqj1VRK1Q9QuqfKxUBfv9wZfUz9bUL/uDg72tB3u3891KPAyvU/F6i7TFmO8PTmF7f6nI/du7oi2gDdo60aYKAG2laFOigPZMaEu9QYgTn19CmyYHtJWiTZ0E2jOhHequKxd8+hp7UFTB64l4LVRg8HomXinX4PVMvFLbwetMvMb6tBgXk/v+4IsZVY6cw1e46fiAWy3cAtzAfVK4nTH1lY0rryRwhUqQ64DrIBX6Q64DroNUKBu5Ds57HfhQr4PoX7oOaCa5DrgOUqHx5Dp483VQTH2SRLEHq5eDHyZkQ+MJr1Px2mqLazaUo6CtFG16VNCeCe1mW1yzoUUFbaVoC2iD9kRof79bKxu6Tng9E690kvB6Jl7pDuH1TLzS8cHrTLw23OCaDcUdcGuF29LyAfdZ4W63Wy9bKkGuA66DbOkPuQ64DrKlbOQ6OO910GrXarbCdcB1wHVgaTy5Dt59HeT6ZANj84u5Do0nvJ6JVxpPeJ2I15ajJOUoaCtFm2oUtHWi7ShGQVsp2nSdoD0V2s1iOkd9CdpK0aaRBO3n0Za6c9uLPTi45YNNsxN4hdeZeG12kwVHGQjaStGmNwRtpWhTMYL2TGi3u3+Io2IEbaVoUzGC9kxoH/wU3tMbwuuZeKUMhNcz8UrDB69n4pXaDl5n4rXl3UO8ADdwa4Wblg+4zwp3w+2inkqQ64DrIHv6Q64DroPsKRu5Ds57HTTbkO1pJrkOuA6y0HhyHbz5Omj5YFOh8YTXqXhttsVVKEdBWyna9KigPRPa7ba4ioA2aOtEmw4VtGdC+2C3ltB1wuuZeKWThNcz8Up3CK9n4pWOD15n4rXlBtdAcQfcauGm5QPus8LdcLdeoBLkOuA6yIH+kOuA6yAH4TrgOjjtddBs12qgmeQ64DrIgcaT6+Dd10HDB0UGGk94PROvNJ7wOhGvLUdJylHQ1ol2pBoFbaVoU4yCtlK06TpBeyq0m8V0kfoStJWiLaA9Fu1Y/bHJuZOgfVksbAc78/UuH5F+D6raU0VbBlXtqaLTgqr2VNE8QdXzVHlTpwB/N+dUqih9oKo5VYm+Bap+QZWPlapgDxKL5x47/f09JBMlCrxOxWuzG+0lShTQVoo2JQpoK0VbQBu0J0K73T0kE00OaCtFmzoJtGdC++B2aImiCl7PxCsVGLyeiVfKNXg9Ea+Z2g5eZ+K15R0kMx0fcKuFm5YPuM8Kd8OfDGYqQa4DroOcheuA64DrIFM2ch2c9zpo9qPcTDPJdcB1kDONJ9fBm6+D556o/v0PEzKNJ7xOxWuzLa6ZchS0daJd6FFBeya0221xLbSooK0UbTpU0J4J7YPdWoWuE17PxKvAK7yeiFe6Q3g9E690fPA6E68tN7gWijvgVgs3LR9wnxXuhrv1CpUg1wHXQTH0h1wHXAfFUDZyHZz3Omi1a7UYmkmuA66DYmg8uQ7efR088dS8g1ynGIFXeD0RrzSe8DoRry1HScpR0FaKNtUoaCtFm2IUtJWiTdcJ2lOh3Syms9SXoK0UbRpJ0H4ebak7t73Yg4NbPti0WJpDeJ2K11Y3WSiWMhC0laItoA3aOtGmYgTtmdBudv+QYqkYQVsp2lSMoD0T2t//FL5YekN4PROvlIHweiJeHQ0fvJ6JV2o7eJ2J14Z3DymOjg+41cJNywfcZ4W74XZRJ1wHXAdcB47+kOuA66A4ykaug/NeB802ZDuaSa4DroPiaDy5Dt58HTR8sGlxNJ7wOhWvzba4espR0FaKNj0qaM+Edrstrp4WFbSVok2HCtozoX2wW8sLvMLriXilk4TXM/FKdwivZ+KVjg9eZ+K15QZXT3EH3GrhpuUD7rPC3XC3nlAJch1wHRShP+Q64DooQtnIdXDe66DZrlWhmeQ64DooIlwHXAdvvg4aPihSaDzh9Uy80njC60S8thwlKUdBWynaVKOgrRRtilHQ1ol2oOsE7anQbhbTBepL0FaKNo3kYLST3KS+4++C9tUgqrLJDRIMmtsgSovRBqVYpS7lq0Gk9JMbRNY8uUEkpoMNysHU1047BpH7zW1QJL0abZAr9bWz+WoQGczkBpEkDDaoVPWcCTsfcSQJkxskGDS3QSQJkxtEkjDWIOfLNqg6sZ+yuK8HSz2PYG5qOMk7x5ZSOx1j8qeDr84TUazqPNnHqs4Tqih13hrrq/Vux/pEXLOs9QRBy1pPxKT2q/7mfPA7zpNdLeB82rvmBefP43wImxxR8pHzscpxWc/d/eg+7PpSG3Cxt1uFerd7aKnSZeu/P9iGehY2pHBwsLn93tR+fuUrrASEwPocrOLsBoc4fwCry7dH+uTiX4SVsBRYTwMr+e6CsF6tJ+AdbX2qrZvIgfXJb6+c7n+ZEne1i7dzvsfkw3fi3SV9z2S7a/pOsLum76S6a/pOprum74LvS/pOOLqm7+SMa/pOZLem7+R1a/pOXrek74W8bk3fyevW9J28bk3fyevW9F3wfUnfyevW9J28bk3fyevW9J28bk3fyesW9N0ZQ163pu/kdWv6Tl63pu/kdWv6Lvi+pO/kdWv6Tl63pu/kdWv6Tl63pu/kdUv6bsnr1vSdvG5N38nr1vSdvG5N3wXfl/SdvG5N38nr1vSdvG5N38nr1vSdvG5J3x153Zq+k9et6Tt53Zq+k9et6bvg+5K+k9et6Tt53Zq+k9et6Tt53Zq+k9ct6bsnr1vTd/K6NX0nr1vTd/K6NX0XfF/Sd/K6NX0nr1vTd/K6NX0nr1vTd/K6E/meQ/44NqfPvv81UwjhFJlJsnYiM0vcTroUOfhElotgHwdLTLfT+POw9r1Xfvxo9x31Un1pm250uL3TcHZDSZz33x/sctr8drkcHGxN3E7ZWvvp4CvahIegrRRt8lHQVoq2gDZo60SblBu0laJNkA/aStGmqwBtpWhTx4C2UrRpnEBbJ9qB/g20laJNGwnaStGmjQRtpWjTRoK2UrQFtEFbJ9q0kaCtFG3aSNBWijZtJGgrRZs2ErSVok0bCdo60Y60kaCtFG3aSNBWijZtJGgrRZs2ErSVoi2gDdo60aaNBG2laNNGgrZStGkjQVsp2rSRoK0UbdpI0NaJdqKNBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtk60M20kaCtFmzYStJWiTRsJ2krRpo0EbaVoC2iDtk60aSNBWynatJGgrRRt2kjQVoo2bSRoK0WbNhK0daJdaCNBWynatJGgrRRt2kjQVoo2bSRoK0VbQBu0daJNGwnaStGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtEm1raCNBWynatJGgrRRt2kjQVoo2bSRoK0VbQBu0daJNGwnaStGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtE21LGwnaStGmjQRtpWjTRoK2UrRpI0FbKdoC2qCtE23aSNBWijZtJGgrRZs2ErSVok0bCdpK0aaNBG2daDvaSNBWijZtJGgrRZs2ErSVok0bCdpK0RbQBm2daNNGgrZStGkjQVsp2rSRoK0UbdpI0FaKNm0kaOtE29NGgrZStGkjQVsp2rSRoK0UbdpI0FaKtoA2aOtEmzYStJWiTRsJ2krRpo0EbaVo00aCtlK0aSNBWyfaQhsJ2krRpo0EbaVo00aCtlK0aSNBWynaAtqgrRNt2kjQVoo2bSRoK0WbNhK0laJNGwnaStGmjQRtnWgH2kjQVoo2bSRoK0WbNhK0laJNGwnaStEW0AZtnWjTRoK2UrRpI0FbKdq0kaCtFG3aSNBWijZtJGjrRDvSRoK2UrRpI0FbKdq0kaCtFG3aSNBWiraANmjrRJs2ErSVok0bCdpK0aaNBG2laNNGgrZStGkjQVsn2ok2ErSVok0bCdpK0aaNBG2laNNGgrZStAW0QVsn2rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiTRsJ2jrRzrSRoK0UbdpI0FaKNm0kaCtFmzYStJWiLaAN2jrRpo0EbaVo00aCtlK0aSNBWynatJGgrRRt2kjQ1ol2oY0EbaVo00aCtlK0aSNBWynatJGgrRRtAW3Q1ok2bSRoK0WbNhK0laJNGwnaStGmjQRtpWjTRoK2SrSdoY0EbaVo00aCtlK0aSNBWynatJGgrRRtAW3Q1ok2bSRoK0WbNhK0laJNGwnaStGmjQRtpWjTRoK2TrQtbSRoK0WbNhK0laJNGwnaStGmjQRtpWgLaIO2TrRpI0FbKdq0kaCtFG3aSNBWijZtJGgrRZs2ErR1ou1oI0FbKdq0kaCtFG3aSNBWijZtJGgrRVtAG7R1ok0bCdpK0aaNBG2laNNGgrZStGkjQVsp2rSRoK0TbU8bCdpK0aaNBG2laNNGgrZStGkjQVsp2gLaoK0TbdpI0FaKNm0kaCtFmzYStJWiTRsJ2krRpo0EbZ1oC20kaCtFmzYStJWiTRsJ2krRpo0cjXa1/p/RvhokGNTaoFhf+vKf5ZNBV80pe/prTgvRX3Pi8f6ak9s21/yyFts0T/eC7H7h+stqbTsRd3h0lnomOfj7M9kWUISVqvwMJHQn89NUP4vb8ZNYSpefZDG6/CSA0OWn4KcqP8lCTuVntNtr52TSjp/kLLr8JMPR5Sf5kC4/yYdU+RnJh07rZzA7fpIP6fKTfEiXn+RDuvwU/FTlJ/nQaD9z2E7E3+3w2z/6bVsYfapBos/2aFdiqGdhw922y19tYYwkWhD47yM30UYyOAgcSyCpIQSOJZCcEwKHEphIZrUQePWTZLa5n042h4J37pNDV81JT/trTsLZX3NB8+6akxT215xsrL/mpEH9NSf/6K85E39rzaOT7aSjK/6r5pkZt7/mzKH9NWcOba65N5se0ac9zZlD+2suaN5dc+bQ9prnqrmEw+Q3u7wlv1k+/wZ/Zx1qfF2HmngTROTDTkZcVXYyPauyk8FclZ3M/Key09qtuA9W/L2dO4KU6ou5c/5qfCF4WNR40o9FjSeCWdR4cqBFjReMX9N4ErFFjSc7W9R4UrZFjSePW9R4krvRxt9+75BTOjL++yDWG/I4VXaSsqmyk+xMlZ0kYqeys9Wi6eIDxq9pPInYosaTiC1qPInYosaTiC1qPInYmsZbsrNFjSdlW9R48rhFjSe562n8VXNB8+6ak1f115yoqL/mpDT9NScg+YHmxW4H25LygeYhpe0thuzip+XQVXOyie6aO2KB/pozkffXnGG4973SvGMO7a+5oHl3zZlD+2vOHNpfc+bQ/pozh/bXnDm09fo85Zq3pOLD1/W5Zw7trzlzaH/NmUO7f5575tD+mguad9ecObS/5syh/TVnDu2vOXNof82ZQ7trLsyh/TVnDu2vOXNof82ZQ/trLmjeXXPm0P6aM4f215w5tHV+no3bTjqbT0d/5OfCHNpfc+bQ7poH5tD+mjOH9tecObS/5syhzXv/EkzVvLhPmu84FFN1KN4JIrsn7bafBV8ChHx37NVLwUs1XjI36/GSeVyPl8z5erwkPziTlznXkzbmi5fkEmq8jOQderwkR9HjJTPJrF5e/WHOmNsfZoe5/WEemNsf1vjd+4HEWry/5qyZ+2tO99hfc7rH/poLmnfXnLm5v+bMwv01Z77trzkza3/NmUO7a56ZQ/trzhzaX3Pm0O6/3cnMof01FzTvrjlzaH/NmUP7a84c2l9z5tBjzZ0x2/4aZ/LRWlGs3Y4WG+/vHxk/NGcO7a55YQ7trzlzaH/NmUNbax5s3I6+vHLa0Zw5tL/mgubdNWcO7a85c2hrzVOsyW+KXnY0Zw7trzlzaHPNQ97eYkrm81pxp+Fo9/vMwnyrxUsxzM16vGQe1+Mlc74eL8kPzuTld7+1FSN4qcZL8g49XpKjqPHSMpPM6uXVH+aMuf1hdpjbH+aBuf0R/GneD4TtpFMs9pM/V81Zi/fXnDVzf83pHvtrTvfYX3M6wu6aO+bm/pozC/fXnPm2v+bMrP01FzTvrjlzaH/NmUP7a84c2l9z5tD+mjOH9v5Ng3jm0P6aM4f215w5tL/mzKH9NRc07645c+gPNI9+O9jFbA80z6VsehQT7+6VYvYEsdlvDtkcfD3auc0hptbZHWLGnd0hJuLZHdqfn23adLTu7vz3Hfp0K867m5qc+xtaDMo8UMaizANlHMo8UMajzANlBGUeKLPqjBTqTR99KAdutr2fpMiqU89IzVedY0ZqvupkMlLzVbu6gZqHVbu6kZqv2tWN1HzVru6NmksVLwQXPmn+9WgxNZcS6/3B0SXU57GUcJd5uWB2j95uv3JJuW6CuM37VTvDd3ofSvXeH3mfzTYjFrmdc977aaY1rv428/Lfd0PivvUu18NdLjesvNt98bipZ639dPAVFAGUoaDY22OYrL17i/lj4g9M/JMbRDww2KAQb2/R2YMPW+fq56G7e2mX/Z4gQWp6F9Ldd7Ls5oLVch/ufpDv9l7ZO7Od9OU/8/3BV6oIQKCqPVVEPFDVnipCLKhqTlUkpoOq56nypqrn7066UkUQCVXtqSJqhapfUOXrPbR9sN8ffEn9bE39sj842Nt6sHc7363Ew/A6Fa+3SFvu7o67e3AK2/tLRe7f3hVtAW3Q1ok2VQBoK0WbEgW0Z0Jb6u5xd/94m9+gTZMD2krRpk4C7ZnQDnXXlQs+fY09KKrg9US8JioweD0Tr5Rr8HomXqnt4HUmXqPfYHIxue8PvphR5cg5fIWbjg+41cItwA3cJ4XbGVNf2bjySgKXqAS5DrgOJNEfch1wHUiibOQ6OO914EO9DqJ/6TqgmeQ64DqQROPJdfDm66CY7ZVdsQerl6MfJmQaT3iditdmW1wz5ShoK0WbHhW0Z0K73RbXTIsK2krRFtAG7YnQPtitlek64fVMvNJJwuuZeKU7hNcz8UrHB68z8dpyg2umuANurXAXWj7gPivcDXfrFSpBrgOuAyn0h1wHXAdSKBu5Ds57HTTbtVqE64DrgOug0HhyHbz7OshVamPzi7kOjSe8nolXGk94nYjXlqMk5ShoK0WbahS0VaIdDMUoaCtFm64TtKdCu1VMFwz1JWgrRZtGErSfR1vqzm0v9uDglg82DUbgFV5n4rXVTRYubwK0QVsn2vSGoK0UbSpG0J4J7Wb3DwmGihG0laJNxQjaM6H9/U/hg6U3hNcz8UoZCK9n4pWGD17PxCu1HbzOxGvDu4cEK8AN3FrhpuUD7rPC3XC7qKUS5DrgOgiW/pDrgOsgWMpGroPzXgfNNmRbmkmuA66D4Gg8uQ7efB00fLBpcDSe8DoVr822uDrKUdBWijY9KmjPhHa7La5OQBu0daJNhwraM6F9sFvL0XXC65l4pZOE1zPxSncIr2filY4PXmfiteUGV09xB9xq4ablA+6zwt1wt56nEuQ64DoInv6Q64DrIHjhOuA6OO110GzXqqeZ5DrgOgiexpPr4N3XQbsHRV5CeniF1xPxSuMJrxPx2nKUpBwFbZ1oC9UoaCtFm2IUtJWiTdcJ2lOh3SymE+pL0FaKtoD2WLRj9ccm506C9mWxsB3szNe7fAj9HlS1p4q2DKraU0WnBVXtqaJ5gqrnqfKmqufv5pxKFaUPVDWnKtC3QNUvqPKxUhXsQWLx3GOnv7+HZKBEgdepeG12o71AiQLaStGmRAFtpWgLaIP2RGi3u4dkoMkBbaVoUyeB9kxoH9wOLVBUweuZeKUCg9cz8Uq5Bq8n4jVS28HrTLy2vINkpOMDbrVw0/IB91nhbviTwUglyHXAdRCicB1wHXAdRMpGroPzXgfNfpQbaSa5DrgOQqTx5Dp483Xw3BPVv/9hQqTxhNepeG22xTVSjoK2TrQTPSpoz4R2uy2uiRYVtJWiTYcK2jOhfbBbK9F1wuuZeBV4hdcT8Up3CK9n4pWOD15n4rXlBtdEcQfcauGm5QPus8LdcLdeohLkOuA6CJn+kOuA6yBkykaug/NeB812rWaaSa4DroOQaTy5Dt59HTzx1LyjXCcLvMLriXil8YTXiXhtOUpSjoK2UrSpRkFbKdoUo6CtFG26TtCeCu1mMV2hvgRtpWjTSIL282hL3bntxR4c3PTBpoXmEF6n4rXZTRYKZSBoK0VbQBu0daJNxQjaM6Hd7v4hhYoRtJWiTcUI2jOhffBT+EJvCK9n4pUyEF7Pw2s0NHzweiZeqe3gdSZeG949JBo6PuBWCzctH3CfFe5220WjEa4DrgOuA0N/yHXAdRANZSPXwXmvg1YbsqOhmeQ64DqIhsaT6+DN10HDB5tGQ+MJr1Px2mqLa7SUo6CtFG16VNCeCe1mW1yjpUUFbaVo06GC9kxoH+zWsgKv8HoiXukk4fVMvNIdwuuZeKXjg9eZeG25wdVS3AG3Wrhp+YD7rHA33K3nqAS5DrgOoqM/5DrgOoiOspHr4LzXQbNdq45mkuuA6yA64TrgOnjzddDuQZHR0XjC65l4pfGE14l4bTlKUo6CtlK0qUZBWynaFKOgrRNtT9cJ2lOh3Sym89SXoK0UbRrJwWgnuUl9x98F7atBVGWTGyQYNLdBlBajDUqxSl3KV4NI6Sc3iKx5coNITAcblIOpr512DCL3m9sgIb0abZAr9bWz+WoQGczkBpEkDDaoVPWcCTsfcSQJkxskGDS3QSQJkxtEkjDWIOfLNqg6sZ+yuK8HSz2PYG5qOMk7x5ZSOx1j8qeDr84TUazqPNnHqs4Tqih13hrrq/Vux/pAXLOs9QRBy1pPxKT2q/7mfPA7zpNdLeB82rvmBefP43wImxxR8pHzscpRkrn70X3Y9aU24GJvtwr1bvfQUjdeZuu/P9iGehY2pHBwsLn93tR+fuUrrASEwPocrOLsBoc4fwCry7dH+uTiX4SVsBRYTwMr+e6CsF6tJ+AdbX2qrZvIgfXJb6+c7n+ZEne1i7dzvsfkw3fi3SV9j2S7a/pOsLum76S6a/pOprum74LvS/pOOLqm7+SMa/pOZLem7+R1a/pOXrek74m8bk3fyevW9J28bk3fyevW9F3wfUnfyevW9J28bk3fyevW9J28bk3fyeuW9D2T163pO3ndmr6T163pO3ndmr4Lvi/pO3ndmr6T163pO3ndmr6T163pO3ndkr4X8ro1fSevW9N38ro1fSevW9N3wfclfSevW9N38ro1fSevW9N38ro1fSevW9H3ZMjr1vSdvG5N38nr1vSdvG5N3wXfl/SdvG5N38nr1vSdvG5N38nr1vSdvG5J3y153Zq+k9et6Tt53Zq+k9et6bvg+5K+k9et6Tt53Zq+k9et6Tt53Zq+k9edyPcc8sexOX32/a+ZjhBOkZkkaycys0TzcWwpcvCJLBfBPg6WmG6n8edh7Xuv/PjR7jvqpfrSNt3ocHun4eyGkjjvvz/Y5bT57XI5ONiauJ2ytfbTwVe0CQ9BWyna5KOgrRRtAW3Q1ok2KTdoK0WbIB+0laJNVwHaStGmjgFtpWjTOIG2TrQ9/RtoK0WbNhK0laJNGwnaStGmjQRtpWgLaIO2TrRpI0FbKdq0kaCtFG3aSNBWijZtJGgrRZs2ErR1oi20kaCtFG3aSNBWijZtJGgrRZs2ErSVoi2gDdo60aaNBG2laNNGgrZStGkjQVsp2rSRoK0UbdpI0NaJdqCNBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtk60I20kaCtFmzYStJWiTRsJ2krRpo0EbaVoC2iDtk60aSNBWynatJGgrRRt2kjQVoo2bSRoK0WbNhK0daKdaCNBWynatJGgrRRt2kjQVoo2bSRoK0VbQBu0daJNGwnaStGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtE+1MGwnaStGmjQRtpWjTRoK2UrRpI0FbKdoC2qCtE23aSNBWijZtJGgrRZs2ErSVok0bCdpK0aaNBG2daBfaSNBWijZtJGgrRZs2ErSVok0bCdpK0RbQBm2daNNGgrZStGkjQVsp2rSRoK0UbdpI0FaKNm0kaKtEOxvaSNBWijZtJGgrRZs2ErSVok0bCdpK0RbQBm2daNNGgrZStGkjQVsp2rSRoK0UbdpI0FaKNm0kaOtE29JGgrZStGkjQVsp2rSRoK0UbdpI0FaKtoA2aOtEmzYStJWiTRsJ2krRpo0EbaVo00aCtlK0aSNBWyfajjYStJWiTRsJ2krRpo0EbaVo00aCtlK0BbRBWyfatJGgrRRt2kjQVoo2bSRoK0WbNhK0laJNGwnaOtH2tJGgrRRt2kjQVoo2bSRoK0WbNhK0laItoA3aOtGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtFG3aSNDWibbQRoK2UrRpI0FbKdq0kaCtFG3aSNBWiraANmjrRJs2ErSVok0bCdpK0aaNBG2laNNGgrZStGkjQVsn2oE2ErSVok0bCdpK0aaNBG2laNNGgrZStAW0QVsn2rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiTRsJ2jrRjrSRoK0UbdpI0FaKNm0kaCtFmzYStJWiLaAN2jrRpo0EbaVo00aCtlK0aSNBWynatJGgrRRt2kjQ1ol2oo0EbaVo00aCtlK0aSNBWynatJGgrRRtAW3Q1ok2bSRoK0WbNhK0laJNGwnaStGmjQRtpWjTRoK2TrQzbSRoK0WbNhK0laJNGwnaStGmjQRtpWgLaIO2TrRpI0FbKdq0kaCtFG3aSNBWijZtJGgrRZs2ErR1ol1oI0FbKdq0kaCtFG3aSNBWijZtJGgrRVtAG7R1ok0bCdpK0aaNBG2laNNGgrZStGkjQVsp2rSRoK0S7WJoI0FbKdq0kaCtFG3aSNBWijZtJGgrRVtAG7R1ok0bCdpK0aaNBG2laNNGgrZStGkjQVsp2rSRoK0TbUsbCdpK0aaNBG2laNNGgrZStGkjQVsp2gLaoK0TbdpI0FaKNm0kaCtFmzYStJWiTRsJ2krRpo0EbZ1oO9pI0FaKNm0kaCtFmzYStJWiTRs5Gu1q/T+jfTVIMKi1QTFtnxCX/yyfDLpqTtnTX3NaiP6aE4/315zctrnml7XYpnm6F2T3C9dfVmvbibjDo7PUM8nB35/JtoAirFTlpyehO5mfpvpZ3I6fxFK6/CSL0eUnAYQuPwU/VflJFnIqP6PdXjsnk3b8JGfR5ScZji4/yYd0+Uk+pMpPIR86rZ9/avovfpIP6fKTfEiXn+RDuvwU/FTlJ/nQaD9zPRF/t8Nv/+i3bWH0qQaJPtujXYmhnoUNd9suf7WFUUi0IPDfR26iFTI4CBxLIKkhBI4lkJwTAocSGEhmtRB49ZNktrmfrr508M59cuiqOelpf81JOPtrLmjeXXOSwv6ak43115w0qL/m5B/9NWfib615dLKddHTFf9U8MuP215w5tL/mzKHNNfdm0yP6tKc5c2h/zQXNu2vOHNpe81w1l3CY/GaXt+Q3y+ff4O+sQ42v61ATb4KIfNjJiKvKTqZnVXYymKuyk5n/VHZauxX3wYq/t3NHkFJ9MXfOX41PBA+LGk/6sajxRDCLGk8OtKjxgvFrGk8itqjxZGeLGk/Ktqjx5HGLGk9yN9r42+8dckpHxh8EsZk8TpWdpGyq7CQ7U2Unidip7Gy2aMqC8WsaTyK2qPEkYosaTyK2qPEkYosaTyK2pvGF7GxR40nZFjWePG5R40nuehp/1VzQvLvm5FX9NScq6q85KU1/zQlIfqB5sdvt721J+UDzkNL2FkN28dNy6Ko52URnzb0xxAL9NWci7685w3Dne6VdNGcO7a+5oHl3zZlD+2vOHNpfc+bQ/pozh/bXnDm09fo85Zq3pOLD1/W5ZQ7trzlzaH/NmUO7f55b5tD+mguad9ecObS/5syh/TVnDu2vOXNof82ZQ7tr7phD+2vOHNpfc+bQ/pozh/bXXNC8u+bMof01Zw7trzlzaOv8PF8WJh9HZ/Pp6I/83DGH9tecObS75p45tL/mzKH9NWcO7a85c2jz3r8EUzUv7pPmOw7FVB2Kd4LsvbIXt/0s2IvPd8devRS8VOMlc7MeL5nH9XjJnK/HS/KDM3mZcz1pY754SS6hxksh79DjJTmKHi+ZSWb18uoPc8bc/jA7zO0P88Dc/rDG794PBNbi/TVnzdxfc7rH/prTPfbXXNC8u+bMzf01ZxburznzbX/NmVn7a84c2l3zyBzaX3Pm0P6aM4d2/+1OZA7tr7mgeXfNmUP7a84c2l9z5tD+mjOHHmvujNn21ziTj9aKYu12tNh4f//I+KE5c2h3zRNzaH/NmUP7a84c2lrzYON2dHAm7WjOHNpfc0Hz7pozh/bXnDm0teYp1uQ3RS87mjOH9tecObS55iFvbzEl83mtuNNwtPt9ZmK+VeNlZm7W4yXzuB4vmfP1eEl+cCYvv/2tbRa8VOMleYceL8lR1HhZmElm9fLqD3PG3P4wO8ztD/PA3P4I/jTvB8J20ikW+8mfq+asxftrzpq5v+Z0j/01p3vsrzkdYW/NrWFu7q85s3B/zZlv+2vOzNpfc0Hz7pozh/bXnDm0v+bMof01Zw7trzlzaO/fNFjLHNpfc+bQ/pozh/bXnDm0v+aC5t01Zw79gebRb786czHbA81zKZsexcS7e6WYPUFs9ptDNgdfj3Zuc4ipdXaHmHFnd4iJeHaH9udnmzYdrXPmwKFPt+KMoaWOkkzV8e48enxDO4MyD5SxKPNAGYcyD5TxKPNAGUGZB8oompGc81Vzf3Cwvd2s+tIR396hE9n/ii+3r3h39xX/oaKiOWagiopmjYEqKpoHBqqoqPMap6JX1GINVFFRL/VOFUPVIyfzVUVFTdNAFRV1RwNVFFRsoCKzSwsVmV1aqKhodvG+qujjwcE+5y3o8MXl7w8Osj2WId7dscLKpqGiyeVtGsaytR7Juh0NFc0tozQURVPLMA0VzSzDNFQ0sQzTUNG8MkxDQcOXNVQ0qwzTUNGkMkxD5pTXNWROOdYw5W3WSyXvaMic8rKGgTnldQ2ZU17XkDnldQ2ZU17XUNDwZQ2ZU17XkDnldQ2ZU17XkDnlWMMcNzUu/2pHQ+aUlzWMzCmva8ic8rqGzCmva8ic8rqGgoYva8ic8rqGzCmva8ic8rqGzCnHGpZQf5Ke7I6GzCkva5iYU17XkDnldQ2ZU17XkDnldQ0FDV/WkDnldQ2ZU17XkDnldQ1XnVNKrvcnKeVAQ2vctnnOGn876eT2D37iN1ip2pNSPnjhg59Up1XHJX1W5lWnNoVWrjo8ntHK738Pm1edYRVaueoordBKwcrTWGnMzUr71cpVg4VZrKy3CM73t2z81bJn1XxDoZWrxiwKrSTtOY+VB8se0h4tVhbSHjVWkvacx8rvh5FC2jN4rrTVSnf/wld3CHBmdkdwZ6Q72W+vnKN7bWQoZDJqrCSTUWMlmcx5rDwYGchk1FhJJqPESmfIZM5j5beDvDNkMrOMilH+eVR0hphlZneIWcZ+DKZN6GJeGxmcEazUYiWZjBoryWTOY+XByEAmo8ZKMhk1VpLJnMfK7wd5SyYzyahYzNdR0RKzzOyO4M4P3MnVnXgYOxrnb166cHuPLpjd9xi2X23bkMJN6/0Xj/Vga/39wVc7mQBV2ckUqMpOJkFVdjINqrKTiVCTnY6pUJWdjJGq7KTeV2Un+wFU2SnYqclOUiFVdpIKqbKTVKi9nenWkLicD+x0uR7ucvEv2kkqpMpOUqGX7Pwrol82iwn542Ax9uBgK75ucwjldtLemNkuCr9sGKPUz0XTGDHVIjHh04fcVZdFY41DXQRddnXhCRg/eEKa2845+69Pcr78MTR8WUOegPEDDaXeE+ruBxg3DXvPcbbucvXWmyMNxddvdMkH79TZGldcejQ5ODi7XBcW+WiNE+oS525GcH+Y/HJsCXXb4mUZZQ/WNyXEuhq627fo0oc7BXfmdUfMou4UVw8u2c3qjsWdid1xa7rjTahriMODrZVqzyWBv510lA8VPSo2UFFQsYGKARUbqBgXVdGVeh4i4VUVEyo2UHHR2bCxiovOcG1VDIvOWl5SPY9wf1PvXRVT2X4FaXMsn1T8enS4fGV/HB383W2MbfxYo4dFJ6ihmq86F43UfNUpaqTmgubdNV91Qhup+arz3EjNV53+3qi5VPFCcOGT5l+PFlMfRCPW+4Ojm+bKYdWZ9Z3e14ArBH/k/e0uRkVu5/ynw/t6GiM3g4VVx/JZQLm/v4+92x9xQeWvQZGJf3KDiAcGGxTibYeRswcftq7WwtbdvbTLfk+QIHUDRkh338myK0i13Adz99J+NxY020n/udPk/cFXqghAoKo9VUQ8UNWeKoEqqGpOFTEdVD1PlTdbKub93UlXqggioao9VUStUPULqnysVAX7/cGX1M/W1C/7g4O9rQd7t/PdSjwMr1Pxeou0xZjvD071Z9mpyP3bu6JNoA3aOtFOVAGgrRRtShTQngltsaai7fNLaNPkgLZStKmTQHsmtEPlwwWfvsQeSeAVXk/EKxUYvJ6JV8o1eD0Tr9R28DoTr/F2+7uY3PcHX8yocuQcvsJNxwfcauGm5QPus8LtjKmvbFx5JYHLVIJcB1wHLtMfch1wHbhM2ch1cN7roD6XzZnoX7oOaCa5DrgOXBauA66D914HxWyv7Io9WL0c/TAh03jC61S8NtvimilHQVsp2vSooD0T2u22uGZaVNBWijYdKmjPhPbBbq1C1wmvZ+KVThJez8Qr3SG8nolXOj54nYnXlhtciwA3cGuFm5YPuM8Kd8PdeoVKkOuA68AV+kOuA64DVygbuQ7Oex0027VaaCa5DrgOvKHx5Dp493WQ65MNjM0v5TqXF4BXeD0RrzSe8DoRr+1GSW8oR0FbKdoC2qCtE22KUdBWijZdJ2hPhXa7mI76ErSVok0jCdrPoy03F8UeHNzywabe0BzC61S8trrJwoU00AZtnWjTG4K2UrSpGEF7JrSb3T/kghdog7ZOtAW0QXsitL//Kby39IbweiZeKQPh9Uy80vDB65l4pbaD15l4bXj3EG/p+IBbK9yOlg+4zwp3w+2ijkqQ64DrwDv6Q64DrgPvKBu5Ds57HTTbkO2E64DrgOvA0XhyHbz5Omj4YFPvaDzhdSpem21xdZSjoK0UbXpU0J4J7XZbXB0tKmjrRNvToYL2TGgf7NbydJ3weiZe6STh9Uy80h3C65l4FXiF14l4bbnB1VPcAbdauGn5gPuscDfcreepBLkOuA68pz/kOuA68J6ykevgvNdBs12rQjPJdcB1cHkXXAdcB2++Dho+KFJoPOH1TLzSeMLrRLw2HCVFQBu0daJNNQraStGmGAVtpWjTdYL2VGi3i+moL0FbKdo0koPRjtUfm5w7CdqXxcJ2sDNf7/IR6Pegqj1VtGVQ1Z4qOi2oak8VzRNUPU+VN3UK8HdzTqVKoAqqmlNF3wJVv6DKx0pVsAeJxXOPnf7+HpKBEgVep+K12Y32AiUKaCtFmxIFtJWiTYkC2jOh3e4ekpEmB7SVok2dBNozoX1wO7RIUQWvZ+KVCgxez8SrwCu8nohXajt4nYnXlneQjHR8wK0Wblo+4D4r3A1/MhipBLkOuA58pD/kOuA68ImykevgvNdBsx/lJppJrgOuA59oPLkO3nwdPPdE9e9/mJBoPOF1Kl6bbXFNAtqgrRNtelTQngntdltcEy0qaCtFmw4VtGdC+2C3VqLrhNcz8UonCa8n4jXTHcLrmXil44PXmXhtucE1U9wBt1q4afmA+6xwN9ytl4XrgOuA6yDTH3IdcB34TNnIdXDe66DZrtVMM8l1wHXgM40n18G7r4Mnnpp3mOvQeMLriXgtNJ7wOhGvDUfJQjkK2krRphoFbaVoU4yCtlK0BbRBeya0m8V0hfoStJWiTSMJ2s+jLTcXxR4c3PTBpoXmEF7/+0y8NrvJQqEMBG2laNMbgrZKtC//GrRBeyK0m90/RAwVI2grRZuKEbRnQvv7n8KLoTeE1zPxKvAKryfilYYPXs/EK7UdvM7Ea8O7h4ih4wNutXDT8gH3WeFut11UDJUg1wHXwSXS5jrgOuA6sJSNXAfnvQ5abcgWSzPJdcB1IJbGk+vgzddBwwebihV4hdeZeG22xdVSjoK2UrTpUUF7JrTbbXG1tKigrRRtOlTQngntg91alq4TXk/Eq6OThNcz8Up3CK9n4pWOD15n4rXlBldHcQfcauEW4Abuk8LdcLeeoxLkOuA6EEd/yHXAdSCOspHr4LzXQbNdq45mkuuA60AcjSfXwbuvg3YPihRP4wmvZ+KVxhNeJ+K14SjpKUdBWynaVKOgrRRtAW3Q1ok2XSdoT4V2s5jOU1+CtlK0aSQHo53kJvUdfxe0rwZRlU1uEB3O3AYJpcVog1KsUpfy1SBS+skNImue3CAS08EG5WDqa6cdgwSD5jaI9Gq0Qa7U187mq0FkMJMbRJIw2KBS1XMm7HzEkSRMbhBJwtwGBZKEyQ0iSRhrkPNlG1SdWHtv0NeDpZ5HMLEe6iTvHFtKlc6Y/Ongq/NEFKs6T/axqvOC8zqdt8b6ar3bs564ZlnrCYKWtZ6ISe1X/c354HecJ7tawPm0d80Tip3I+RC2R45EyUfOxypHSebuR/dh15fagIu93SrUu91DS5UuW//9wTbUs7AhhYODze33pvbzK/+FNRIQAutzsIqzGxzi/AGsLt8e6ZOLfxFWwlJgPQ2s5LsLwnq1noB3tPWptm4iB9Ynv71yuv9lStzVLt7O+R6TD98F35f0nWx3Td8Jdtf0nVR3Td/JdNf0nUR3Sd8T4eiavpMzruk7kd2avpPXrem74PuSvpPXrek7ed2avpPXrek7ed2avpPXLel7Jq9b03fyujV9J69b03fyujV9F3xf0nfyujV9J69b03fyujV9J69b03fyuiV9L+R1a/pOXrem7+R1a/pOXrem74LvS/pOXrem7+R1a/pOXrem7+R1a/pOXrei78GQ163pO3ndmr6T163pO3ndmr4Lvi/pO3ndmr6T163pO3ndmr6T163pO3ndkr5b8ro1fSevW9N38ro1fSevW9N3wfclfSevW9N38ro1fSevW9N38ro1fSevW9J3Z/B9Sd/J69b0nbxuTd/J69b0XfD9PL7nkD+Ozemz71czCeEUmUmydiIzS9xOuhQ5+ESWKNtT4CWm22n8eVj73is/frT7jnqpvrRNNzrc3mk4u6EkzvvvD3Y5bU+jd7kcHGxNrHBY++ngK9qEh6CtFG3yUdBWijYRMGjrRNuTcoO2UrQJ8kFbKdp0FaCtFG3qGNBWiraANmjrRJv+DbSVok0bCdpK0aaNBG2laNNGgrZStGkjQVsn2kIbCdpK0aaNBG2laNNGgrZStGkjQVsp2gLaoK0TbdpI0FaKNm0kaCtFmzYStJWiTRsJ2krRpo0EbZ1oB9pI0FaKNm0kaCtFmzYStJWiTRsJ2krRFtAGbZ1o00aCtlK0aSNBWynatJGgrRRt2kjQVoo2bSRo60Q70kaCtlK0aSNBWynatJGgrRRt2kjQVoq2gDZo60SbNhK0laJNGwnaStGmjQRtpWjTRoK2UrRpI0FbJ9qJNhK0laJNGwnaStGmjQRtpWjTRoK2UrQFtEFbJ9q0kaCtFG3aSNBWijZtJGgrRZs2ErSVok0bCdo60c60kaCtFG3aSNBWijZtJGgrRZs2ErSVoi2gDdo60aaNBG2laNNGgrZStGkjQVsp2rSRoK0UbdpI0NaJdqGNBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtkq0o6GNBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtk60LW0kaCtFmzYStJWiTRsJ2krRpo0EbaVoC2iDtk60aSNBWynatJGgrRRt2kjQVoo2bSRoK0WbNhK0daLtaCNBWynatJGgrRRt2kjQVoo2bSRoK0VbQBu0daJNGwnaStGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtE21PGwnaStGmjQRtpWjTRoK2UrRpI0FbKdoC2qCtE23aSNBWijZtJGgrRZs2ErSVok0bCdpK0aaNBG2daAttJGgrRZs2ErSVok0bCdpK0aaNBG2laAtog7ZOtGkjQVsp2rSRoK0UbdpI0FaKNm0kaCtFmzYStHWiHWgjQVsp2rSRoK0UbdpI0FaKNm0kaCtFW0AbtHWiTRsJ2krRpo0EbaVo00aCtlK0aSNBWynatJGgrRPtSBsJ2krRpo0EbaVo00aCtlK0aSNBWynaAtqgrRNt2kjQVoo2bSRoK0WbNhK0laJNGwnaStGmjQRtnWgn2kjQVoo2bSRoK0WbNhK0laJNGwnaStEW0AZtnWjTRoK2UrRpI0FbKdq0kaCtFG3aSNBWijZtJGjrRDvTRoK2UrRpI0FbKdq0kaCtFG3aSNBWiraANmjrRJs2ErSVok0bCdpK0aaNBG2laNNGgrZStGkjQVsn2oU2ErSVok0bCdpK0aaNBG2laNNGgrZStAW0QVsn2rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiTRsJ2irRToY2ErSVok0bCdpK0aaNBG2laNNGgrZStAW0QVsn2rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiTRsJ2jrRtrSRoK0UbdpI0FaKNm0kaCtFmzYStJWiLaAN2jrRpo0EbaVo00aCtlK0aSNBWynatJGgrRRt2kjQ1om2o40EbaVo00aCtlK0aSNBWynatJGgrRRtAW3Q1ok2bSRoK0WbNhK0laJNGwnaStGmjRyNdrX+n9G+GkSn1tygWF/68p/lk0F/NfeUPf01p4XorznxeH/NyW2ba35Zi22ap3tBdr9w/WW1tp2IOzw6Sz2THPz9mXwsoLzgpyo/SehO5qepfha34yexlC4/yWJ0+UkAoctP8gpVfgpZyKn8jHZ77ZxM2vGTnEWXn2Q4uvwkH9Llp+CnKj/Jh07rZzA7fpIP6fKTfEiXn+RDuvwkH1LlZyAfGu1nDtuJ+LsdfvtHv20Lo081SPTZHu1KDPUsbLjbdvmrLYyBRAsC/33kJtpABgeBYwkkNYTAsQQKBELgUAJJZrUQePWTZLa5n042h4J37pNDV81JT/trTsLZX3NSyO6aR5LC/pqTjfXXnDSov+bkH/01FzRvrHl0ss1b0RW/ozkzbn/NmUP7a84c2lxzbzY9ok97mjOH9tecObS75ok5tL3muWou4TD5zS5vyW+Wz7/B31mHGl/XoSbGerTIh52MuKrsZHpWZSeDuSo7BTvPZKe1W3EfLuLc27kjSKm+mDvnP4wneFjUeNKPRY0nglnUeHKgRY0njFrT+EwitqjxZGeLGk/Ktqjx5HGLGi8YP9j42+8dckpHxh8EsZk8TpWdpGyq7CQ7U2Unidip7Gy3aCIRW9P4QiK2qPEkYosaTyK2qPEkYosaLxi/pvFkZ4saT8q2qPHkcYsaT3LX0/ir5oRmvTXPhryqv+ZERf01J6XprzkByQ80L3Y72JaUDzQPKZVtgZNd/LQcumouaN5dc2KB/pozkffXnGG4973SsmEO7a85c2h3zS1zaH/NmUP7a84c2l9z5tD+mguaN16fp1zzllR8+Lo+t8yh/TVnDu2vOXNo/89z5tD+mjOHdtfcMYf215w5tL/mzKH9NWcO7a+5oHl3zZlD+2vOHNpfc+bQ/pozh/bXnDm0u+aeObS/5syh/TVnDm2dn2fjtmekZfPp6I/83DOH9tdc0Ly75syh/TVnDu2vOXNof82ZQ5v3/iWYqnlxnzTfcSim6lBMt3Wo7J60234W7MXnu2OvXjLfqvFSmJv1eMk8rsdL5nw9XpIfnMnLnOtJG/PFS8FLNV6Sd+jxkhxFjZeBmWRWL6/+MGfM7Q+zw9z+MA/M7Y/gT+9+ILAW7685a+b+mtM99tec7rG/5nSE3TWPzM39NWcW7q85821/zZlZ+2suaN5dc+bQ/pozh/bXnDm0+293InNof82ZQ7trnphD+2vOHNpfc+bQ/pozhx5r7ozZ9tc4k4/WimLtdrTYeH//yPihuaB5d82ZQ/trzhzaX3Pm0NaaBxu3oy+vnHY0Zw7trzlzaHfNM3Nof82ZQ1trnmJNflP0sqM5c2h/zZlDm2se8vY8vZTM57XiTsPR7veZWfBSjZfMzXq8ZB7X4yVzvh4vyQ/O5OW3v7XN5BJqvCzkHXq8JEfR4yUzyaxeXv1hzpjbH2aHuf1hHpjbH9b47fuBsCmeYrGf/PmjeTGsxftrzpq5v+Z0j/01p3vsr7mgeXfNmZv7a84s3F9z5tv+mjOz9tecObS75pY5tL/mzKH9NWcO7a85c2h/zQXNO/+moVjm0P6aM4f215w5tL/mzKH9NWcO7a65Yw79gebRbwe7mO2B5pdef9PjEtve3SvF7Alis98csjn4erRzm0NMrbM7xIw7u0NMxLM7JLsO2bRtt7Lu7vz3Hfp0K867m5qc/Bs6oMwDZSLKPFAmocwDZTLKPFCmoMy+Mn7VGSnUmz76UA7cbHs/yeJXnXpGar7qHDNS81Unk5GaC5p313zVrm6k5qt2dSM1X7Wre6PmUsULwYVPmn89WkzNpcR6f3B0CfV5LCXcZV4umN2jt9uvXFS/CeI271ftDN/pfSjVe3/kfa56FLmdc977aaY1rv428/Lfd3rsW+9yPdzlcsPKu90Xj1Vqaz8dfAVl1aJzFlDs7TFM1kq8R+WvQcLEP7lBxAODDQqxGhSdPfiwda7q4e5e2mW/J0iQmt6FdPedLLu5YLXch7sf5Lu9V/bObCd9+c98f/CVKgIQqGpPFREPVLWnSqAKqppTRUwHVc9T5U1Vz9+ddKWKIBKq2lNF1ApVv6DK13to+2C/P/iS+tma+mV/cLC39WDvdr5biYfhdSpeb5G23N0dd/fgFLb3l4rcv70r2gTaoK0T7UAVANpK0aZEAe2Z0Ja6e9zdP97mN2jT5IC2UrSpk0B7JrRD5cMFn77EHkHgFV5PxCsVGLyeiVfKNXg9E6/UdvA6E6/RbzC5mNz3B1/MqHLkHL7CTccH3GrhpuUD7rPC7Yypr2xceSWBi1SCXAdcByXSH3IdcB2USNnIdXDe68CHeh1E/9J1QDPJdcB1UKJwHXAdvPc6KGZ7ZVfswerl6IcJkcYTXqfitdkW10g5CtpK0aZHBe2Z0G63xTXSooK2UrTpUEF7JrQPdmsluk54PROvdJLweiZe6Q7h9Uy80vHB60y8ttzgmgS4gVsr3LR8wH1WuBvu1ktUglwHXAcl0R9yHXAdlETZyHVw3uug2a7VRDPJdcB1UDKNJ9fBu6+DXKU2Nr+W62QaT3g9E680nvA6Ea8NR8lMOQraStEW0AZtnWhTjIK2UrTpOkF7KrTbxXTUl6CtFG0aSdB+Hm25uSj24OCmDzbNNIfwOhWvzW6yUCgDQVsp2vSGoK0UbSpG0J4J7Xb3DylUjKCtFG0BbdCeCO2Dn8IXekN4PROvlIHweiZeafjg9Uy8UtvB60y8trx7SKHjA26dcF/OkZYPuM8Kd7Ptope3QyXIdcB1YAz9IdcB14ExlI1cB+e9DhptyL68HeE64DrgOjA0nlwHb74O2j3Y9PJnaTzhdSpeG21xvfxjylHQVoo2PSpoz4R2qy2ulzOkRQVtnWhbOlTQngntb3drXXil64TXM/FKJwmvZ+KV7hBez8SrwCu8TsRryw2uluIOuNXCTcsH3GeFu+FuPUslyHXAdWAs/SHXAdeBsZSNXAfnvQ6a7Vp1NJNcB1wHxtF4ch28+zpo9qDIC680nvB6Jl5pPOF1Il4bjpJOQBu0daJNNQraStGmGAVtpWjTdYL2VGi3i+moL0FbKdo0koPRjtUfm5w7CdqXxcJ2sDNf7/Lh6fegqj1VtGVQ1Z4qOi2oak8VzRNUPU+VN1U9fzfnVKoEqqCqOVX0LVD1C6p8rFQFe5BYPPfY6e/vIekpUeB1Kl6b3WjPU6KAtlK0KVFAWynalCigPRPa7e4hKTQ5oK0Ubeok0J4J7YPboQlFFbyeiVcqMHg9E68Cr/B6Il6p7eB1Jl5b3kFS6PiAWy3ctHzAfVa4G/5kUKgEuQ64DozQH3IdcB2YQNnIdXDe66DZj3IDzSTXAdeBCTSeXAdvvg6ee6L69z9MCDSe8DoVr822uAYBbdDWiTY9KmjPhHa7La6BFhW0laJNhwraM6F9sFsr0HXC65l4pZOE1xPxGukO4fVMvNLxwetMvLbc4Bop7oBbLdy0fMB9Vrgb7taLwnXAdcB1EOkPuQ64DkykbOQ6OO910GzXaqSZ5DrgOjCRxpPr4N3XwRNPzTvMdWg84fVEvCYaT3idiNeGo2SiHAVtpWhTjYK2UrQpRkFbKdoC2qA9E9rNYrpEfQnaStGmkQTt59GWm4tiDw5u+mDTRHMIr1Px2uwmC4kyELSVok1vCNo60c5UjKA9E9rt7h+SqRhBWynaVIygPRPaBz+Fz/SG8HomXgVe4fVEvNLwweuZeKW2g9eZeG1595BMxwfcauGm5QPus8LdcLtophLkOuA6MIX+kOuA68AUykaug/NeB802ZBeaSa4DrgNTaDy5Dt58HbR8sGkReIXXmXhttsW1UI6CtlK06VFBeya0221xLbSooK0UbTpU0J4J7YPdWoWuE17Pw+uFHniF1xPxSncIr2filY4PXmfiteEGV2so7oBbLdwC3MB9Urjb7dazhkqQ64DrwBr6Q64DrgNrKBu5Ds57HbTatWoNzSTXAdfBBT+uA66DN18H7R4UaS2NJ7yeiVcaT3idiNeGo6SlHAVtpWhTjYK2UrQFtEFbJ9p0naA9FdrNYjpLfQnaStGmkRyMdpKb1Hf8XdC+GkRVNrlBdDhzG+QoLUYblGKVupSvBpHST24QWfPkBpGYDjYoB1NfO+0YJBg0t0GkV6MNcqW+djZfDSKDmdwgkoTBBpWqnjNh5yOOJGFyg0gS5jbIkyRMbhBJwliDnC/boOou0ei9QV8PlnoewcR6qJO8c2wpVTpj8qeDr84TUazqPNnHqs4Lzut03hrrq/Vuz3rimmWtJwha1noiJrVf9Tfng99xnuxqAefT3jVPKHYi50PYHjkSJR85H6scJZm7H92HXV9qAy72dqtQ73YPLdXCbP33B9tQz8KGFA4ONrffm9rPr/wXViEgBNbnYBVnNzjE+QNYXb490icX/yKshKXAehpYyXcXhPVqPQHvaOtTbd1EDqxPfnvldP/LlLirXbyd8z0mH74Lvi/pO9numr4T7K7pO6numr6T6a7pO4nukr4HwtE1fSdnXNN3Irs1fSevW9N3wfclfSevW9N38ro1fSevW9N38ro1fSevW9L3SF63pu/kdWv6Tl63pu/kdWv6Lvi+pO/kdWv6Tl63pu/kdWv6Tl63pu/kdUv6nsjr1vSdvG5N38nr1vSdvG5N3wXfl/SdvG5N38nr1vSdvG5N38nr1vSdvG5J3zN53Zq+k9et6Tt53Zq+k9et6bvg+5K+k9et6Tt53Zq+k9et6Tt53Zq+k9ct6Xshr1vTd/K6NX0nr1vTd/K6NX0XfF/Sd/K6NX0nr1vTd/K6NX0nr1vTd/K6FX13hrxuTd/J69b0nbxuTd/J69b0XfD9PL7nkD+Ozemz71czCeEUmUmydiIzS9zEK0UOPpElyvYUeInpdhp/Hta+98qPH+2+o16qL23TjQ63dxrObiiJ8/77g11O29PoXS4HB1sTKxzWfjr4ijbhIWgrRZt8FLSVok0EDNo60bak3KCtFG2CfNBWijZdBWgrRZs6BrSVoi2gDdo60aZ/A22laNNGgrZStGkjQVsp2rSRoK0UbdpI0NaJtqONBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtk60PW0kaCtFmzYStJWiTRsJ2krRpo0EbaVoC2iDtk60aSNBWynatJGgrRRt2kjQVoo2bSRoK0WbNhK0daIttJGgrRRt2kjQVoo2bSRoK0WbNhK0laItoA3aOtGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtFG3aSNDWiXagjQRtpWjTRoK2UrRpI0FbKdq0kaCtFG0BbdDWiTZtJGgrRZs2ErSVok0bCdpK0aaNBG2laNNGgrZOtCNtJGgrRZs2ErSVok0bCdpK0aaNBG2laAtog7ZOtGkjQVsp2rSRoK0UbdpI0FaKNm0kaCtFmzYStHWinWgjQVsp2rSRoK0UbdpI0FaKNm0kaCtFW0AbtHWiTRsJ2krRpo0EbaVo00aCtlK0aSNBWynatJGgrRPtTBsJ2krRpo0EbaVo00aCtlK0aSNBWynaAtqgrRNt2kjQVoo2bSRoK0WbNhK0laJNGwnaStGmjQRtnWgX2kjQVoo2bSRoK0WbNhK0laJNGwnaStEW0AZtnWjTRoK2UrRpI0FbKdq0kaCtFG3aSNBWijZtJGirRNsb2kjQVoo2bSRoK0WbNhK0laJNGwnaStEW0AZtnWjTRoK2UrRpI0FbKdq0kaCtFG3aSNBWijZtJGjrRNvSRoK2UrRpI0FbKdq0kaCtFG3aSNBWiraANmjrRJs2ErSVok0bCdpK0aaNBG2laNNGgrZStGkjQVsn2o42ErSVok0bCdpK0aaNBG2laNNGgrZStAW0QVsn2rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiTRsJ2jrR9rSRoK0UbdpI0FaKNm0kaCtFmzYStJWiLaAN2jrRpo0EbaVo00aCtlK0aSNBWynatJGgrRRt2kjQ1om20EaCtlK0aSNBWynatJGgrRRt2kjQVoq2gDZo60SbNhK0laJNGwnaStGmjQRtpWjTRoK2UrRpI0FbJ9qBNhK0laJNGwnaStGmjQRtpWjTRoK2UrQFtEFbJ9q0kaCtFG3aSNBWijZtJGgrRZs2ErSVok0bCdo60Y60kaCtFG3aSNBWijZtJGgrRZs2ErSVoi2gDdo60aaNBG2laNNGgrZStGkjQVsp2rSRoK0UbdpI0NaJdqKNBG2laNNGgrZStGkjQVsp2rSRoK0UbQFt0NaJNm0kaCtFmzYStJWiTRsJ2krRpo0EbaVo00aCtk60M20kaCtFmzYStJWiTRsJ2krRpo0EbaVoC2iDtk60aSNBWynatJGgrRRt2kjQVoo2bSRoK0WbNhK0daJdaCNBWynatJGgrRRt2kjQVoo2bSRoK0VbQBu0daJNGwnaStGmjQRtpWjTRoK2UrRpI0FbKdq0kaCtEm0xtJGgrRRt2kjQVoo2bSRoK0WbNhK0laItoA3aOtGmjQRtpWjTRoK2UrRpI0FbKdq0kaPRrtb/M9pXg+jUmhsU0/YWL/9ZPhn0V3NL2dNfc1qI/poTj/fXnNy2ueaXtdimeboXZPcL119Wa9uJuMOjs9QzycHfn8nHAsoKfqryk4TuZH6a6mdxO34SS+nykyxGl58EELr8JK9Q5acjCzmVn9Fur52TSTt+krPo8pMMR5ef5EO6/BT8VOUn+dBp/Qxmx0/yIV1+kg/p8pN8SJef5EOq/PTkQ6P9zPVE/N0Ov/2j37aF0acaJPpsj3YlhnoWNtxtu/zVFkZPogWB/z5yE60ng4PAsQSSGkLgWAIFAiFwKIEks1oIvPpJMtvcT1dfOnjnPjl01Zz0tL/mJJz9NSeF7K65kBT215xsrL/mpEH9NSf/6K+5oHljzaOTbd6KrvgdzZlx+2vOHNpfc+bQ5pp7s+kRfdrTnDm0v+bMod01D8yh7TXPVXMJh8lvdnlLfrN8/g3+zjrU+LoONTHWo0U+7GTEVWUn07MqOxnMVdkp2HkmO63divtwEefezh1BSvXF3Dn/YTzBw6LGk34sajwRzKLGkwMtajxh1JrGRxKxRY0nO1vUeFK2RY0nj1vUeMH4wcbffu+QUzoy/iCIjeRxquwkZVNlJ9mZKjtJxE5lZ7tFE4nYmsYnErFFjScRW9R4ErFFjScRW9R4wfg1jSc7W9R4UrZFjSePW9R4kruexl81JzTrrnkmr+qvOVFRf81JafprTkDyA82L3U7alpQPNA8plW2Bk138tBy6ai5o3l1zYoH+mjOR99ecYbj7vdIyc2h/zZlDu2temEP7a84c2l9z5tD+mjOH9tdc0Lzx+jzlmrek4sPX9XlhDu2vOXNof82ZQ/t/njOH9tecObS35sEwh/bXnDm0v+bMof01Zw7tr7mgeXfNmUP7a84c2l9z5tD+mjOH9tecObS75pY5tL/mzKH9NWcObZ2fZ+O2Z6Rl8+lo96E5c2h/zQXNu2vOHNpfc+bQ/pozh/bXnDm0ee9fgqmaF/dJ8x2HYqoOxXRbh+69she3/SzYi893x169ZL5V46VjbtbjJfO4Hi+Z8/V4SX5wJi9zridtzBcvBS/VeEneocdLchQ1Xnpmklm9vPrDnDG3P8wOc/vDPDC3P4I/vfsBz1q8v+asmftrTvfYX3O6x/6a0xF211yYm/trzizcX3Pm2/6aM7P211zQvLvmzKH9NWcO7a85c2j33+4Ic2h/zZlDu2semEP7a84c2l9z5tD+mjOHHmvujNn21ziTj9aKYu12tNh4f//I+KG5oHl3zZlD+2vOHNpfc+bQ1poHG7ejgzNpR3Pm0P6aM4d21zwyh/bXnDm0teYp1uQ3RS87mjOH9tecObS55iFvz9NLyXxeK+40HO1+nxkFL9V4ydysx0vmcT1eMufr8ZL84Exefvtb20guocbLRN6hx0tyFD1eMpPM6uXVH+aMuf1hdpjbH+aBuf1hjd++Hwib4ikW+8mfv5pn1uL9NWfN3F9zusf+mtM99tdc0Ly75szN/TVnFu6vOfNtf82ZWftrzhzaXfPCHNpfc+bQ/pozh/bXnDm0v+aC5r1/01CYQ/trzhzaX3Pm0P6aM4f215w5tLfm0TCH/kDz6LeTdjHbA81zKZsexcS7e6WYPUFs9ptDNgdfj3Zuc4ipdXaHmHFnd4iJeHaHZNchm7btVtY5c+DQp1txxtBSR0nVz3B3Hl2+oQPKPFAmoswDZRLKPFAmo8wDZQrK7CtjFc1IzvmquY/fH2xvN6u2Rm7v0Insf8WX21e8u/uK/1BR0RwzUEVFs8ZAFRXNAwNVFFRsoKKiFmugiop6qXeqGKoeOZmvKipqmgaqqKg7GqiiojZonIqO2aWFiswuLVRUNLt4X1X08UBFn/P2yr64g1cOsj2WId7dscLKpqGiyeVtGsaytR7Juh0NBQ1f1lDR1DJMQ0UzyzANFU0swzRUNK8M01DRtDJKQ69oVhmmoaJJZZiGzCmva8iccqxhytusl0re0VDQ8GUNmVNe15A55XUNmVNe15A55XUNmVNe1lCYU17XkDnldQ2ZU17XkDnlWMMcNzUu/2pHQ0HDlzVkTnldQ+aU1zVkTnldQ+aU1zVkTnlZw8Cc8rqGzCmva8ic8rqGzCnHGpZQf5Ke7I6GgoYva8ic8rqGzCmva8ic8rqGzCmva8ic8rKGkTnldQ2ZU17XkDnldQ1XnVNKrudRysErW+O2zXPW+NtzAZPbP/iJ32Clak9K+eCFD35SHQUrtVi56tSm0MpVh8czWvn972HjqjOsQitXHaUVWrnqRH9GK6t0FyvtFyvTqsHCLFbWWwTn+1s2/mbZk1bNNxRauWrMotBK0p7zWPn9sicJVmqxkrRHjZWkPeex8mAYIe0ZPFfaaqW7f+GrOwQ4M7tDJjPUney3V87RvTYyZDIZNVaSyaixkkzmPFZ+PzJkMhk1VgpWarGSTOY8Vn4/yGcymVlGxShfRsVMzDKzO8QsYz8G0yZ0Ma+ODGQyWqwsZDJqrCSTOY+V348MhUxGjZVkMmqsFKw8jZXfD/KFTGaSUbGYr6NiIWaZ2R2mv5+4k6s78TB2NM7fvHThZqYLe4rYEOp7DCnctN5/8VgPttbfH/zHzmSYAFXZyRSoyk4mQVV2Mg2qslOwU5OdTIWq7GSMVGUn9b4qO9kPoMpOUiFNdlpSIVV2kgqpspNUqL2d6daQuLuz3rfT5Xq4y8W/aCepkCo7BTtfsfMq4rJZTMgfB4uxBwdfTqNucwjl9hXkjZnuolg2jFHq56JpjJhqkZjw6ZWvuiwaaxzqsmg+cKSL4wkYP3iSs9Qbg95tfN+ePJAcT8B4XUOegPEDDesG4XT3ujcNu89xctOwxAMN/2hRZUnp4Gift/MQG+4WFnHn2BJrtlHS3dbc/WWIT7G+cvp+ESLObtLJxdXvD266vHGClVqsDFipxcqIlVqsTFipxcqMlVqsLFipxEpvsFKLlXZuK8XerMwHR5dLEljtiffG753JpUbyNeE2phwcvjonDk7+HHB3G+E/h1+1mTybGaqNoM1DbSZPD4ZqM/k4/j5trPG5vkkjPhwcH+P2KX/5M7djL//uKuTkw/B5hJx8FH2nkCnV20OZVDJLpW+XSpMPur1AydZ+/VyXyUfHseIsO4wdi5OPtz5GCQfiuFDv8+OiuzupWPZPqu4jvJzU7Wi7d3SIsr2DEOPRZ6Tzl4+OquafmvfrGw6rveG42htOq73hvNobLou94Qd7zuzt093dPfJs/w3bYutW1cv6sB69vyPH1gWkc1a+P9hLql944f7Ra7uvbMy2vdaZu41BNu7d2CrYuB19eeV7l+KHMhZlHijjUOaBMh5lHigjKPNAmYAyD5SZO1OUGlhcohJ/cLS9fP9uZ+3L0R5Xd1l51XxD7oexvCfkpQ3bhPwczuYPIefOFKcRUkp90OtFSH9wtM9hS7d8vvuFzmXJd1V97gDyrKqXsEV/Yu7jyk31udO8iT40xFXVYzpkPW9n4stdhurcviT1YJvT/cF/LZp8O8oSFrm4TZ3e7Vk0d7KJRReL5t7hgUUXi+beaIJFF4sEi2a3aO5tN1h0sYhJfXqLyACmt4jAYHqL1k0XbjevcaUcZjo1YpZytzfE7qXGQTbJQ74LmM0vkoXJdystb8+6qcIp7Fk3UTiFPeumCaewR7BnZnvWTRFOYc+6CcIp7Fk3PZjCnoOxVNZNDk5hD6nBzPYEUoOp7SE1mNoeUoOp7SE1mNoewZ6Z7SE1mNoeUoPm9kSz7WqPd7fg2LUn1xu3XTrW28t+3M8+B0KDke6Uuzt1yCd3do6tHbk19x353u92Lu9/Owcr/tPBV9sJI5a0nZBjRdsj4cmSthPKLGk7Yc+SthMiLWm7YPuKthN6LWk7YdqStpPSLWk7Kd2StpPSrWh7IqVb0nZSuiVtJ6Vb0nZSuiVtF2xf0XZSuiVtJ6Vb0nZSuiVtJ6Vb0nZSuhVtz6R0S9pOSrek7aR0S9pOSrek7YLtK9pOSrek7aR0S9pOSrek7aR0S9pOSrei7YWUbknbSemWtJ2UbknbSemWtF2wfUXbSemWtJ2UbknbSemWtJ2UbknbSekWtL0YUrolbSelW9J2UrolbSelW9J2wfYVbSelW9J2UrolbSelG2m7FeerPeHIeBeknnJI9nvnvVQPfTC383B+72Bn3Haw+yPA7eArJqR6YPIDTEgBweQYE0tqCCY/wISUEUwuR3hTH0/nnf2KCakkmPwAE1JMMPnDho8Vk2C/P9jltOnscvYHB/u0fZ05Meb7g1O1JBX5MpVbgVVYPQmr5MWw+lZWxZrKqs8vsUrIDatnYZVkHlbfymr02zt0MbmDg42pr2xceQlsugTAVgk27QdgTwS2DxXs6F8B29HXALZKsGmYAPtZsIuprly+8o9yNluvAu++VpyO7goA3wtgs6DXUaDB6llYFViF1ZOwSoEGq29ltV0p4SjQYPUsrFKgwepbWQ2mshp8+jrcU3QB4FAAKaQAcCSAnuIIAIcCSMEDgG8F8Jnm0ua4yWxzDl9ppQ2C1vPQSh8ErdPQ2nAfnxfABmyNYNM0AbZKsKmlAHsisJttUPV0WICtEmy6McB+Guxc7/BibH4xvaAbA8CRAArdGAC+E8CG85VQo8HqWVilRIPVs7BKhQar72W12cQuAquwehJWKbpg9c/BdXegF3tw8JP3z/z+d/1CIQWA7wWw2e9PhY4JVs/CKrURrJ6FVRomWH0rq+1+Kx0oo2D1LKxSRsHqW1k9+FFhoGECwKEAUhsB4FAABQABcCSAFDwA+FYAW/5SOtAGQet5aKUPgtZpaG242y5QHgG2SrBpmgBbI9iRWgqwJwK72QbVSIcF2CrBphsD7GfBHvTglUiNBqtnYVVgFVbfyWq7DVqRcg5Wz8Iq1RysvpXVUdEZLR5gqwSbFg+wJwK7XXRGiwfYGsFOtHiA/TTYDW+1mWjbAHAogLRiAPhOABvOV4lWDFbPwqrAKqyehFVaMVh9L6vtJnZaMVg9C6sUXUNZTTehs/WfWL36Q18ztz/UDlP7k0nP5/aHcHkaf0zc8YfsdW5/yBvn9kfwZ2p/yJXm9ocsZW5/yA/m9of8YG5/yA+m9qeQH8ztD/nB3P6QH8ztD/nB3P4I/kztD/nB3P6QH8ztD/nB3P6QH8ztD/nBxP4EY8gP5vaH/GBuf8gP5vaH/GBufwR/pvaH/GBuf8gP5vaH/GBuf8gP5vaH/GBqfyz5wdz+kB/M7Q/5wdz+kB/M7Y/gz9T+kB/M7Q/5wdz+kB/M7Q/5wdz+kB9M7Y8jP5jbH/KDuf0hP5jbH/KDuf0R/JnaH/KDuf0hP5jbH/KDuf0hP5jbH/KDqf3x5Adz+0N+MLc/5Adz+0N+MLc/gj9T+0N+MLc/5Adz+0N+MLc/5Adz+0N+MLM/LrI+aO5PLpse5bM/V8X5xu+tON/hP1I81acBJjEHipdcT8PcPTdk96lclxPdPrCs+E8HX/3hO3xuf/gOn9qfRAcwtz90AHP7Qwcwtz90AHP7I/gztT/M+HP7QyIwtz/kB3P7Q34wtz/kB1P7wzOYJ/eH/GBuf8gP5vaH/GBufwR/pvaH/GBuf8gP5vaH/GBuf8gP5vaH/GBqf3gG8+T+kB/M7Q/5wdz+kB/M7Y/gz9T+kB/M7Q/5wdz+kB/M7Q/5wdz+kB/M7I/nGcyT+0N+MLc/5Adz+0N+MLc/gj9T+0N+MLc/5Adz+0N+MLc/5Adz+0N+MLU/PIN5cn/ID+b2h/xgbn/ID+b2R/Bnan/ID+b2h/zgZ/7E6k8Jn/y5yrjsmH9JcDfALsN0OJDxmRtLBgkfx4Z8O4v0QA5b5cg3L537sGfZKX8Oe1zcjvVuz55lh/xT2LPuc5LPYc+yI/457Fl2wj+HPcsO+OewR7BnZnuWHe/PYc+y0/057CE1aG7PEw9oyXE7NOe7l/14PItf9/HIU7hT6suWe+nSuxPRdZ+6vLTt6z7MeW3bCU+WtJ1QZknbCXuWtF2wfUXbCaeWtJ3Qa0nbCdOWtJ2UbknbSelWtF1I6Za0nZRuSdtJ6Za0nZRuSdsF21e0nZRuSdtJ6Za0nZRuSdtJ6Za0nZRuRdsDKd2StpPSLWk7Kd2StpPSLWm7YPuKtpPSLWk7Kd2StpPSLWk7Kd2StpPSrWh7JKVb0nZSuiVtJ6Vb0nZSuiVtF2xf0XZSuiVtJ6Vb0nZSuiVtJ6Vb0nZSuhVtT6R0S9pOSrek7aR0S9pOSrek7YLtK9pOSrek7aR0S9pOSrek7aR0I2234ny1JxwZ74LUZ8GGZL933kv10AdzOw/n9w52xm0Huz8C3A6+YkKqBybHmGRSQDD5ASakhmDyA0xIGcHkcoQ39fF03tmvmJBKgskPMBEwAZMLG76K4YP9/mCX06azy9kfHHypxbaDxZjvD05he3+pyJepPBO9wupZWCUvhtW3sirWVFZ9folVQm5YPQurJPOw+lZWo9/eoYvJHRxsTH1l48pLYNMlALZGsAvtB2BPBLYPFezoXwKbvgawVYJNwwTYz4JdTHWl2HKUs9l6FXj3teIsdFcA+F4AmwW9RWAVVk/CKgUarJ6FVQo0WH0rq+1KiUKBBqtnYZUCDVbfymowldXg09fhnqILAAcCeFmXAiAAjgSQ4ggAhwJIwQOAbwXwmebS5rjJbHMOX2mlDYLW89Aq0Aqts9Dabh+fGMojwFYJNk0TYKsEm1oKsCcCu9UGVTF0WICtEmy6McB+Guxc7/BibH4tvbB0YwA4FEC6MQB8J4AN5ytLjQarZ2GVEg1Wz8KqwCqsvpXVZhO7pRWD1bOwStEFq38OrrsD/eXz6wC/5+6f+e3v+i8GAyAAvhXAVr8/FUvHBKtnYZXaCFZPwqqjYYLVt7La7LfS4iijYPUsrFJGwepbWT34UaGjYQLAoQAKAALgSADpggBwKIAUPAD4VgBb/lLa0QZB63lopQ+C1mlobbjbzlEeAbZGsD1NE2CrBJtaCrAnArvZBlVPhwXYKsGmGwPsZ8Ee8+AV8QKrsHoSVmncYPWtrLbboOUp52D1LKxSzcHqW1kdFZ3R4gG2SrBp8QB7IrCbRWdCiwfYKsGmxQPsp8FueKtNoW0DwKEA0ooB4DsBbDhficAqrJ6EVVoxWD0Lq7RisPpeVttN7LRisHoWVim6hrKabkJn6z+xevWHvmZqfwK1w9z+kJ7P7Q/h8jT+mLjjD9nr3P4I/kztDxnb3P6QK83tD1nK3P6QH8ztD/nB1P5E8oO5/SE/mNsf8oO5/SE/mNsfwZ+p/SE/mNsf8oO5/SE/mNsf8oO5/SE/mNqfRH4wtz/kB3P7Q34wtz/kB3P7I/gztT/kB3P7Q34wtz/kB3P7Q34wtz/kB1P7k8kP5vaH/GBuf8gP5vaH/GBufwR/pvaH/GBuf8gP5vaH/GBuf8gP5vaH/GBmf5JlfdDcn1w2Pcpnf66K843/I8VTvfdYEnOgeMn1NMzdXQp27wF0OdHtLKz4Twdf/eEbf25/+Maf2x++8af2x9EYzO0PjcHc/tAYzO0PjcHc/gj+TO0PicDc/pAfzO0P+cHc/pAfzO0P+cHU/njyg7n9IT+Y2x/yg7n9IT+Y2x/Bn6n9IT+Y2x/yg7n9IT+Y2x/yg7n9IT+Y2h8hP5jbH/KDuf0hP5jbH/KDuf0R/JnaH/KDuf0hP5jbH/KDuf0hP5jbH/KDqf3hic2T+0N+MLc/5Adz+0N+MLc/gj9T+0N+MLc/5Adz+0N+MLc/5Adz+0N+MLU/PLF5cn/ID+b2h/xgbn/ID+b2R/Bnan/ID37mT6z+lPDJn6uM64751rl6JikdyBhM/jg4+Hwno9s5NvvwcWyO5U67t18S60YC+rxcNz7Q5+W6UYM6Lxd+ELQ+L9eNMPR5uW7coc/LdaMRfV4KXqrxct3IRZ+X5D56vCT30eMluY8eL8l91Hi58AO89XlJ7qPHS3IfPV6S++jxUvBSjZfkPnq8JPfR4yW5jx4vyX30eEnuo8bLQu6jx0tyHz1ekvvo8ZLcR4+XgpdqvCT30eMluY8eL8l99HhJ7qPHS3IfLV5mQ+6jx0tyHz1ekvvo8ZLcR4+XgpdqvCT30eMluY8eL8l99HhJ7qPHS3IfNV5ach89XpL76PGS3EePl+Q+erwUvFTjJbmPHi/JffR4Se6jx0tyHz1ekvuo8dKR++jxktxHj5fkPnq8JPfR46XgpRovyX30eEnuo8dLch89XpL76PGS3EeNl57cR4+X5D56vCT30eMluY8eLwUv1XhJ7qPHS3IfPV6S++jxktxHj5fkPmq8FHIfPV6S++jxktxHj5fkPnq8FLxU4yW5jx4vyX30eEnuo8dLch89XpL7qPEykPvo8ZLcR4+X5D56vCT30eOl4KUaL8l99HhJ7qPHS3IfPV6S++jxktxHjZeR3EePl+Q+erwk99HjJbmPHi8FL9V4Se6jx0tyHz1ekvvo8ZLcR4+X5D5qvEzkPnq8JPfR4yW5jx4vyX30eCl4qcZLch89XpL76PGS3EePl+Q+erwk91HjZSb30eMluY8eL8l99HhJ7qPHS8FLNV6S++jxktxHj5fkPnq8JPfR4yW5jxovC7mPHi/JffR4Se6jx0tyHz1eCl6q8ZLcR4+X5D56vCT30eMluY8eL8l9tHhZDLmPHi/JffR4Se6jx0tyHz1eCl6q8ZLcR4+X5D56vCT30eMluY8eL8l91HhpyX30eEnuo8dLch89XpL76PFS8FKNl+Q+erwk99HjJbmPHi/JffR4Se6jxktH7qPHS3IfPV6S++jxktxHj5eCl2q8JPfR4yW5jx4vyX30eEnuo8dLch81XnpyHz1ekvvo8ZLcR4+X5D56vBS8VOMluY8eL8l99HhJ7qPHS3IfPV6S+6jxUsh99HhJ7qPHS3IfPV6S++jxUvBSjZfkPnq8JPfR4yW5jx4vyX30eEnuo8bLQO6jx0tyHz1ekvvo8ZLcR4+XgpdqvCT30eMluY8eL8l99HhJ7qPHS3IfNV5Gch89XpL76PGS3EePl+Q+erwUvFTjJbmPHi/JffR4Se6jx0tyHz1ekvuo8TKR++jxktxHj5fkPnq8JPfR46XgpRovyX30eEnuo8dLch89XpL76PGS3EeNl5ncR4+X5D56vCT30eMluY8eLwUv1XhJ7qPHS3IfPV6S++jxktxHj5fkPmq8LOQ+erwk99HjJbmPHi/JffR4KXipxktyHz1ekvvo8ZLcR4+X5D56vCT3UeJlNIbcR4+X5D56vCT30eMluY8eLwUv1XhJ7qPHS3IfPV6S++jxktxHj5fkPmq8tOQ+erwk97n8p7PmwMsi23ssqRx4GWTzMuTb66YHctgqR74B5dyHPUQ5Q+1xMdST2LOHdGZqewR7ZraHDGVqe4hFpraHpGNqewgvpraHPGJmexwRw9T2kBo0tyeaLaiJPnxvT47boTnfZLbJfrhDaDDSnRKkvqx8cue9UZ4jjFjSdsH2FW0nPFnSdkKZJW0n7FnSdkKkJW0nnFrRdk/otaTthGlL2k5Kt6TtpHRL2i7YvqLtpHRL2k5Kt6TtpHRL2k5Kt6TtpHQr2i6kdEvaTkq3pO2kdEvaTkq3pO2C7SvaTkq3pO2kdEvaTkq3pO2kdEvaTkq3ou2BlG5J20nplrSdlG5J20nplrRdsH1F20nplrSdlG5J20nplrSdlG5J20npVrQ9ktItaTsp3ZK2k9ItaTsp3ZK2C7avaDsp3ZK2k9ItaTsp3ZK2k9ItaTsp3Yq2J1K6JW0npVvSdlK6kbZbcb7aE46Md0FylSPZ7533Uj30wdzOw/m9g525iWHy/cFXTEj1wOQHmAiYgMkxJqSGYPIDTEgZweRyhDf18XQXNb5iQioJJj/AhBQTTP6w4WPFJNjvD3Y5bTq7nP3BwT5tMjsx5vuDU9jeXyrydSoneoXVk7CayYth9a2sijWVVZ9fYpWQG1bPwirJPKy+ldXot3foYnIHBxtTX9m48hLYdAmArRJsAWzAngdsHyrY0b8ENn0NYKsEm4YJsJ8Fu5jqSrHlKGez9Srw7mvFmemuAPC9ALYLeinQYPUsrFKgwepJWC0UaLD6VlbblRKFAg1Wz8IqBRqsvpXVYCqrwacvw32h6ALAoQAKAALgSAApjgBwKIAUPAD4VgCfaS5tjtuv/G3O4SuttEHQeh5a6YOgdRpaG+7jK5RHgK0QbGtomgBbJdjUUoA9EditNqhaQ4cF2CrBphsD7KfBzvUOL8bml9ILawQAAXAkgHRjAPhOAFvOV9RosHoWVinRYPUsrFKhwep7WW03sdOKwepJWLUUXbD65+C6O9CLPTj4yftnfvu7fmsppADwvQC2+v3pRWxYhdWTsEptBKtnYVVgFVbfyWqz30pbSxkFq2dhlTIKVt/K6vc/KrSWhgkAhwJIbQSAQwGkCwLAkQA6Ch4AfCuADX8pbR1tELSeh1b6IGidhtaGu+0c5RFgqwRbABuwNYJNLQXYE4HdbIOqo8MCbJVg040B9rNgj3nwinXUaLB6FlZp3GD1ray226DlKedg9SysUs3B6ltZHRSdeVo8wFYJNi0eYE8EdrPozAtgA7ZGsGnxAPtpsBveatPTtgHgUABpxQDwnQC2nK9oxWD1LKzSisHqSVgVWjFYfS+rzSZ2oRWD1bOwStE1lNV0Ezpb/4nVqz/0NXP7I/gztT+k53P7Q7g8jT8m7vhD9jq3P+SNc/tDxja1P4FcaW5/yFLm9of8YG5/yA/m9kfwZ2p/yA/m9of8YG5/yA/m9of8YG5/yA+m9ieSH8ztD/nB3P6QH8ztD/nB3P4I/kztD/nB3P6QH8ztD/nB3P6QH8ztD/nB1P4k8oO5/SE/mNsf8oO5/SE/mNsfwZ+p/SE/mNsf8oO5/SE/mNsf8oO5/SE/mNqfTH4wtz/kB3P7Q34wtz/kBzP7I4b1QXN/cqnHfvbnr+KWb/wfKW4v3f722s581vwqJF/NjYTkO7SRkHzZNRJSELKNkOvGz95XIX04ElJiLB9HS8z24OjLidT7Ynr36WZvV9XXDZXfqnqr50leBMCgNxjU7MF0YteNld9pUKh3tHTBp6+fW+sOg+9U/ZkHzxw8S0HcutPjaSxady6dxaJ2Ny4Xt+5wrNHNdSf0edxsdfNrcYKbitxcN6twVZiLm+Uw9HF1/WHv749v995lyfVEzN0NfHdvj3851RonifdfHVo31ziLQ+sGG2dxaN1k4ywOrZuCnMQhv24IchaH1s1AzuLQurnGWRxaN6s4i0OCQ5M7RKYwu0NkCrM7RKYwu0NkCrM7RKYwuUMLP6D6LA6RKczuEJnC7A6RKczukODQ5A6RKczuEJnC7A6RKczuEJnC7A6RKUzu0MIPJz6LQ2QKsztEpjC7Q2QKszskODS5Q2QKsztEpjC7Q2QKsztEpjC7Q2QKkzu08AOLz+IQmcLsDpEpzO4QmcLsDgkOTe4QmcLsDpEpzO4QmcLsDpEpzO4QmcLkDi38EOOzOESmMLtDZAqzO0SmMLtDgkM/c6hsd3+0zrmeDpEpzO4QmcLsDpEpzO4QmcLsDpEpTO7Qwg82PotDZAqzO0SmMLtDZAqzOyQ4NLlDZAqzO0SmMLtDZAqzO0SmMLtDZAqTO1TIFGZ3iExhdofIFGZ3iExhdocEhyZ3iExhdofIFGZ3iExhdofIFGZ3iExhboeCIVOY3SEyhdkdIlOY3SEyhdkdEhya3CEyhdkdIlOY3SEyhdkdIlOY3SEyhckdsmQKsztEpjC7Q2QKsztEpjC7Q4JDkztEpjC7Q2QKsztEpjC7Q2QKsztEpjC5Q45MYXaHyBRmd4hMYXaHyBR+5pALvjpUpKdDgkOTO0SmMLtDZAqzO0SmMLtDZAqzO0SmMLlDnkxhdofIFGZ3iExhdofIFGZ3SHBocofIFGZ3iExhdofIFGZ3iExhdofIFCZ3SMgUZneITGF2h8gUZneITGF2hwSHJneITGF2h8gUZneITGF2h8gUZneITGFyhwKZwuwOkSnM7hCZwuwOkSnM7pDg0OQOkSnM7hCZwuwOkSnM7hCZwuwOkSlM7lAkU5jdITKF2R0iU5jdITKF2R0SHJrcITKF2R0iU5jdITKF2R0iU5jdITKFyR1KZAqzO0SmMLtDZAo/c8j7qqNP9sChHLeDc7479vLvrqITE7xB9BLk4+Byr8iff/feS0hwU5GbxA+a3CSq0OQmsYYmN4lANLlJXKLIzUy0oslNYhhNbhLZaHKTLEiTm4KbitwkC9LkJlmQJjfJgjS5SRakyU2yIEVuFrIgTW6SBWlykyxIk5tkQZrcFNxU5CZZkCY3yYI0uUkWpMlNsiBNbpIF6XEzGrIgTW6SBWlykyxIk5tkQZrcFNxU5CZZkCY3yYI0uUkWpMlNsiBNbpIFKXLTkgVpcpMsSJObZEGa3CQL0uSm4KYiN8mCNLlJFqTJTbIgTW6SBWlykyxIkZuOLEiTm2RBmtwkC9LkJlnQG9y04uoN2CUc+emC5Pou715711Av1RofTLgd7Hffo3Hbwe7P+7odfHVfcH9h98maVnafbGpl98myNLvvTajv0dmv7pN9rew+WZlq9+tZX96j/f5gl9Mmn8vZHxzs0/ad4sSY7w9OVel09wSqbez0BHwgOBhBUkkQ/A2CYk1F0OeXECRKBcHBCJL/guBvELyQsx0ckzs42Jj6ysaVl3gVeIXXE/FKxg6v7+fVh8pr9C/xSisAr2filR4DXj9Oo5gqdrHlKEiyFW7vvvZjnoYErn7FVbuAkpoGBMciKNQ0IDgYQWoaEPwNgu0ycqGmAcHBCFLTgOBvEAymIhh8+jLmisAVXL2BK2oPuHoHV9QTcPUOrqgR4Oo3XD1Te9kctx/52pzDVwjpHIBwOIS0DkD4bggbbrAKVBTweiZe6TPg9Uy8Un7A6/t5bbYhMNCUwOuZeBV4hdcPXnO9b4Ox+bU5PtDAwNU7uKKBgatfcNVyJKGsAcHBCFLVgOBgBClqQPBXCDabXSPdCwgORpA6RTOCUrdtebEHBz95I7nvf/8bqT3g6ldcNfvlW6TJAMHBCAoIguBYBOkxQPA3CLb78WWk8gDBwQhSeYDgbxA8+N1TpMeAq3dwRTkBV2/gKtE4wNU7uKJGgKvfcNXyp5eJzgEIh0NI6wCE74aw4TaoJPAKryfilT4DXs/EK+UHvL6f12YbAhNNCbyeiVcaGHj9OI1Bt9hPlDUgOBbBTK8Dgr9BsN0Wm0wFBIKDEaQAAsHfIDgoG8p0RfB6Jl4FXuH17bw2y4YyXRG8nolXuiJ43XhteM+5TKcDV+/giu4Frn7BVcuRhO4FBMciWOheQHAwgnQvIPgrBJvNroXuBQQHI0id8g4E002/bP0nBK+yC7KPkJ1we4jsZLRDZCfCfLfsJu7ITsI3RHZSrQGyJ0OSM0R20oshsjOxD5GdKXWI7ILsI2RnSh0iO1PqENmZUofIzpQ6RHam1BGyW6bUIbIzpQ6RnSl1iOxMqUNkF2QfITtT6hDZmVKHyM6UOkR2ptQhsjOljpDdMaUOkZ0pdYjsTKlDZGdKHSK7IPsI2ZlSh8jOlDpEdqbUIbIzpQ6RnSl1hOyeKXWI7EypQ2RnSh0iO1PqENkF2fvLXiJfqT+TPUmVPZd8JLtx9Xfyl/++e3UXdo8Pod66K6TbD/a9233x232+7N2vLy8HXy3l61qdpSwF3mNpfaTH5b9zPrDU5dsTQHLxL1rKMkOdpYKl2iwlxH/a0mLlwNKS64mYO9F3b3x0OdX6yuI/HXx1iLx/doeoBmZ3iBZhdocoHCZ3KBGkzO4QucjsDhFzzO4QqcXsDgkOTe4QmcLsDpEpzO4QmcLsDpEpzO4QmcLkDmUyhdkdIlOY3SEyhdkdIlOY3SHBockdIlOY3SEyhdkdIlOY3SEyhdkdIlOY3CGefzu9Q2QKsztEpjC7Q2QKszskODS5Q2QKsztEpjC7Q2QKsztEpjC7Q2QKUzuUDE9ind4hMoXZHSJTmN0hMoXZHRIcmtwhMoXZHSJTmN0hMoXZHSJTmN0hMoXJHeK5udM7RKYwu0NkCrM7RKYwu0OCQz9xyFm7vUln5fNNHa9Crjv6S9puMunl05nsCZnjxmPOd7f3vt6w+yLRuvP5UzKWevvlcv8e/9wx/b2fF+tO5+fwZ93Z/Bz+rDuZn8KfhZ8UfA5/1p3Kz+HPujP5OfxZdyI/hz+CP1P7w5g/tz/kB3P7Q34wtz/kB3P7Q34wtT8LP8P5HP6QH8ztD/nB3P6QH8ztj+DP1P6QH8ztD/nB3P6QH8ztD/nB3P6QH0ztj5AfzO0P+cHc/pAfzO0P+cHc/gj+TO0P+cHc/pAfzO0P+cHc/pAfzO0P+cHU/gTyg7n9IT+Y2x/yg7n9IT+Y2x/Bn6n9IT+Y2x/yg7n9IT+Y2x/yg7n9IT+Y2p9IfjC3P+QHc/tDfjC3P+QHc/sj+DO1P+QHc/tDfvAjf6w4X3UMRw65ILmed7LfW3T569ub9MGE28F+72Bn3HawM/n+4Kuf5A26/CSf0OUneYYqPxP5x7n89CZsB3tnv/pJXqLLT/KVk/npY/Uz2O8Pdjltgric/cHBPm2f5E6M+f7gVO/1n4p8GZoSoRBQNYdKgAqoPrQ2FSqfX4KK+A2omkNFZghU14Ojr085iskdHGxMfWXjyksEknJC4FgCyWUh8DcE+lAJjP4lAkmSIXAogZnsWzGBxVT5ii1HMYituHr3tSXJpOqQ0jowy0T7QNUcKqJ9oGoOlQAVUDVOYTPRPlA1h4poH6g+ztlUqIJPX0c6InhI+RkpROWQ8jNSiLQh5UekFKJnSLke/Ez5YXPcxLM5h69YkVOD1RuwIqkGq+exarhdpRBrQ+BYAgUCIXAogQTmEPgbApttmCqk6xA4lkBSe80E5vpbaGPzizMrqT2k/IwUUntIabxYt4aAH6iaQ0W8D1TNoSLcB6rGc5o15PVA1RwqAapTQSV1E4wXe3Dwk7ct+vb3etYQlUPKBymtfgVjDek3UDWHikAbqJpDRfYNVJvWjX5addEbqICqMVSWmByoPs75219MWEv2DSk/I4VAG1J+RgopNaT8jBSBFEj5e3DDH1ZZS04NVm/AiqQarJ7HquGmEkusDYFjCSQDh8CxBBKYQ+BvCGy2YcqRrkPgWAJJ7RUTOOZ2xNYR8ANVc6joAoBq07rV9gYnQAVUraGiNACqocmGo1+AwLEE0i9A4Nhkg34BAscSSL+gmcB2dziynh4AUn5GCnk9pLRerHvyeqBqDhV5PVA1h0qACqgaz2mevB6omkNFBP8zqNJNkWz9J6iuQpIkNxKSQLSRkOR6bYQUYq/nhTRxR0hSoUZCkoQ0EpLpv5GQgpBthGTKayQkk00jIZlsGgnJZNNISCabNkIGJptGQjLZNBKSyaaRkEw2jYQUhGwjJJNNIyGZbBoJyWTTSEgmm0ZCMtm0ETIy2TQSksmmkZBMNo2EZLJpJKQgZBshmWwaCclk00hIJptGQjLZNBKSyaaNkInJppGQTDaNhGSyaSQkk00jIQUh2wjJZNNISCabRkIy2TQRUoymLxuxVUgRe3B08duJlHh3m51gPoSZ+8sjpHoDyOjLIWG3u3tf/vsTY3vncgHS1psQXU7MfTr+Ks/cXwnD5Zn7g/45ebw1rn5AXVrenbe7+3G8/Q1z8EZTKh9HZpvu3ujeyYRstx+9huylgVP5vKdeup16Ens79XRw6pcJJlbM73AJ19Pef0rz/Kdtz3na7oSnffl0/Nf9B97EvK1+krv7hpf6z/afUnL8z+zv/pn73T/zT/8zZ+VfHzyJz+Vo7r6+7j79Y9r7ZIm53uEklvzp6O0PpV5/KPf6Q6XTH3rwlJw3/CHb6w+5Xn/I9/pD0usPhV5/qNcng+v1yeB6fTK4Xp8Mvtcng+/1yeB7fTL4Xp8Mvtcng+/1yeB7fTL4Xp8Mvtcng+/1ySC9Phmk1yeD9PpkkF6fDNLrk0F6fTJIr08G6fXJIL0+GaTXJ0Po9ckQen0yhF6fDKHXJ0Po9ckQen0yhF6fDKHXJ0Po9ckQen0yxF6fDLHXJ0Ps9ckQe30yxF6fDLHXJ0Ps9ckQe30yxF6fDLHXJ0Pq9cmQen0ypF6fDKnXJ0Pq9cmQen0ypF6fDKnXJ0Pq9cmQen0y5F6fDLnXJ0Pu9cmQe30y5F6fDLnXJ0Pu9cmQe30y5F6fDLnXJ0Pp9clQen0ylF6fDKXXJ0Pp9clQen0ylF6fDKXXJ0Pp9clQen0yWGO6/SXb7S+5bn/Jd/tL0u0vhW5/qduGJ9Ntx5PptuXJdPuMsN0+I2y3zwjb7TPCdvuMsN0+I2y3z4h+myL77Yrsty2y275I221jpO22M9J22xppu+2NtN02R9puuyNtt+2Rttv+SNttg6TttkPSdtsiabvtkbTdNknabrskbbdtkrbbPknbbaOk7bZT0nbbKmm77ZW03TZL2m67JW237ZK2235J223DpO22Y9J22zJpu+2ZtN02TdpuuyZtt22Tttu+Sdtt46TttnPSdts6abvtnbTdNk/abrsnbbftk7bb/knbbQOl7baD0nbbQmm77aG03TZR2m67KG23bZS22z5K220jpe22k9J220ppu+2ltN02U9puuyltt+2Uttt+Spv63eyh22dEty2VttueStttU6XttqvSdttWabvtq7TdNlbabjsrbbetlTb3uyNMt8+IR7sriw/1L5XkDv6Sz/Uv+XJ/357do0tw273USsi3o//cd3Dv6HqPJGNudwxzt/fwaOPmqd6DVfAenIL34BW8B1HwHoKC9xAVvIek4D1kBe/h/N/Tzpz/e9o92p9d6o1KL/+d08FZxZw/jk7392j2eedYidvblew+HVvPyfU+J583UYPJ++fkJzwnmfCcwoTnFCc8pzThOeUm55R8PSd3cE45hu3gHOP9Z1+8nVWZ8awe7Y4ffFZ2yrNyU56Vn/KspPtZJbOFMJf/zPtnFaY8qzjlWaUpzypPeVZlxrNyZsqz6v/ZnkKuZxXj/lm5Kc/KT3lWMuVZhSnPKk55VmnKsxrw2V4f9HA5q/TprHZ6G6kxhJN4+3RzIrf3UM7/HrxR8B72v2W8uT2GyxvJB+/Bl1JDHuN7Z1oPfp1zrvfgFbwHUfAegoL3EBW8h6TgPWQF76Gc/z08+LXZud6Dgu9pUfA9/ei3dyWX23u4f8pphxz/0a/0hp5TmPCc4oTnlCY8p9zknJ6Ya4ox20NVi7Hh7pXd7azKjGf16FeKg8/KTnlWbsqz8lOelfQ+q1zqh8jlrOKns9rZ1eHK9qBL8e72CNLgdw6+ZVqp3H2r3lKIEJZ6t3Gpd5uWerd5qXdbJn+33pf6biXdv9vtLURz/rdgz/8W3OxvIcX6Fu62Md6/BT/9Wwj1LRS7+xbk/G+h+0qi2FATBhvz7mouxinPKk15VnnAWdl6Vtnun1WZ8aySGXBWpp5VMftnZac8KzflWfWfPp2t06eTtH9WMuVZhQFnFetZhf1JPfX/bHe5auXtA63SgLOqWnlX9s8qT3lWZcBZhXpWfv97MPf/bPfxplWJ+2dlpzwrN+CsqoNyVxV9Oqv+n+2X4aSe1YP1VZYpzyoMOKv6KSrpK1cu/Ov+psQkW4KS7f0fkfrP0u/+Wf7dPyu/+mf7m9eO/5n93T9zv/tnu1dQvvtZxf4/k9/9s/C7fxZ/98/S7/5Z/t0/K7/6Z/tbJ8qtU78v4O/+mf3dP3O/+2f+d/9MfvfPwu/+WfzdP9ul5PKVUz+6yu4/y7/7Z+VX/2y/BD3+Z/Z3/8z97p/53/2zfUriduF8+sH33T8Lv/tn8Xf/LP3un+Xf/bPyq3+2n7Qf/zN79M92fdtPlI//mf/dP9unpGxXtzVm9/Lejyt/8O/iL/9d+uW/y7/8d+V3/24/2PrBv9sfT4ytq0hT0qd/+C9PHb39Gdfnz/g+f0b6/JnQ58/EPn8m9fkzuc+fKV3+zINMo/mf6fMpkPt8CuQ+nwK5z6dA7vMpkPt8CuQ+nwK5z6dA7vMpUPp8CpQ+nwKlz6dA6fMpUPp8CpQG101IW34X8m1RfkkS6x/JHf7IoyceP/VXYr0dQDRx/6+4Ln/Fd/kr0uWvhC5/5envmfov02//pfM9uHbS5a+ELn8ldvkrqctfafCpFusv1KPz+3+l9Pgr3nT5K7bLX3Fd/kqTT+hS/4rs/xXp8ldCl78Su/yV1OWv5C5/pfT45hTT5a90WZ1Jl9WZdFmdSZfVmXRZnUns8ldSl7+Su/yVLtd+6HLthy7Xfuhy7Ycu137ocu2HLtd+6HLthy7Xfuhy7Ycu137scu3HLtd+7HLtxy7Xfuxy7ccu137scu3HLtd+7HLtxy7Xfupy7acu137qcu2nLtd+6nLtpy7Xfupy7ae3X/ve/uv+3wj1V9mX1cfdXR33fsGd68alXNz3h1pbfylh3X36JNvp5LlOp8x1Ov8/eWeXHDmONNsNXWsjgMDf4r69XzrUZKnMyFJ1MiPkrnmbB+Wck2oxQpWCw28aAr7PJ5H5ZDKfQuZjZD6VzKeR+ZBN50Q2nhPZfM5k8zmTzedMNp8z2XzOZPM5k83n7DifD0T3RzyfojOdmZ5PlzG++l2dXD5lI/NJZD6ZzKeQ+RiZTyXzaWQ+ncyHbD4XsvlsZPPZyOazkc1nI5vPRjafjWw+G9l8Nsf5fCCGP2K6I+rmj0j+iOyPKP4I80dUf0TzR/g/3e35D+3+V6/jHpe0fZ5SvyA5AvL8P3nKtZ/ztl99PtBmwDvpWwQk4j98tzdAxnZCPv1N9ROkRkBaBKRHQEYE5B3PSf913cMcF5CxRUBSBCRHQEoExCIgNQLSIiA9AjIiIG944vf9e3xxqle/rcwtApIiIDkCUiIgFgGpEZAWAekRkDc88WmcNcZpzivIDICkbQuhlIB/PNwl399NqSGUFkKZEZQ3nN37G0oKoeQQiv/zUq7Pv/bzVX188fGpbYeN5frnLx3nrzdz+63q6L9/KFuuD8oKeE9R7+vHV0E8qYpnVfGiKm6q4lVVvKmKq+7NpLo4k+rmzKqbM6tuzqy6ObPq5syqmzOrbs7stjkPQPcGPN5EZ7OGVbsCTGdA2bwByRuQvQGPJ9o4Hhob5Qpg3oDqDWjegKdPct3OCxO3cQUY3oDpDLDNG5C8AU9/TGs+Nk7Nl4DmDXj6H7mdFditXn3UWTdvgPe3qD5+ku38Kar9CjC8AdMZ0DZvQPIGZG9A8QaYN6B6A5o34I1PcmtXgOENeP4kn8OuXwH64yf5HNc3gOQNyN6Ap09y287LkLd5BTBvQPUGNG9A9wY8fpLncZKlpe0KMJ0BY/MGJG9A9gYUb4B5A6o3oHkD+hsBV0/yGN6A50/yETZo+QowHz/J5+eaN4DkDcjegMc7+Yt/ZU7zBlRvQPMGdG/A8AZ4fxhyc+bzXQS7OVmWmp3Hatvv/664+CuIpfOvIJavGDeHCv8bpJ73Sdr44ovfd5uP3Z1MUpHPyvJFWd6U5auyfFOW78ryQ1l+Cstn5Q2blTdsVt6wWXnDZuUNm5U3bFbesFl5w2blDZtZNuy/PoVlaR4+wXvwfddv2d0ZNRX5oixvyvJVWb4py3dl+aEsP4XlbVOWV96wprxhTXnDmvKGNeUNa8ob1pQ3rClvWFPesJVlwx4+LEvz8GHZg4cPy2o7fFi21eHDsoAOH5adcviwrInDh2XyHz4sw/xfn0Y2n1vw8/7FXcd2F/z4VqPgn+kvbvSyu1jDd36PeqYzKnRGLdroj9dL212w4VuNBp3RZDMaG51R+Dz64zXKdpfm+FajQmdkdEaVzqjRGXU6o0FnNNmM5kZnFD2z/3zbtt3ldr7VqNAZGZ1RpTNqdEadzmjQGU02o7s78x2V/njB/lJKfEqZT6myfWJzd8//typ1PiW6j9pSdITvb5Qyn1LhUzI+Ja65VDfNbojdW/KK691b8obr3VuzGwLikjdcQ1zyhmuIS95wDXFTFZe84Rrikt0QEFfdm5rdEBBX3Zya3RAQV92cmt0QEFfdnJrdEBBX3Zy+3RAAdG+AazcEANMZ4NsNAUDyBmRvgGs3BADmDajegOYNcO2GAGB4A6YzwLcbAoDkDXDthgCgeQNcr0PcAb7dEAB4f4t8uyEAGN6A6Qzw7YYAIHkDsjegeAPMG1C9Ac0b4NoNAcDwBrh2Q+AvU67dEAAkb0D2Brh2QwBg3oDqDWjegO4NcO2GAGA6A3y7IQBI3oDsDSjeAPMGVG9A8wa4dkMAMLwBrt0QOL3g2g0BQPIGZG+AazcEAOYNqN6A5g3o3oDhDfD+MMS5G6JO/26InaHbDQF52ZurIS97czXkZW+uhrwpy8veXA152ZurIS97czXkZW+uhrxsN8Qur9sNAXnlDavbDQF55Q2r2w0BeeUNq9sNAXnlDavbDQF5pm6I3YeqGwI+sjdXQ1725mrIy95cDXlTlpe9uRrysjdXQ1725mrIy95cDXnZm6t3ed1uCMgrb1jdbgjIK29Y3W4IyCtvWN1uCMgrb1jdbgjIK29Yqm4I+DB1Q8CHqRsCPkzdEPBh2VaHD1M3BHyYuiHgw9QNAR+mbgj4MHVD7D5U3RDwCX7ev7hBH0Zc3RAw4rqwDueuuLohYMTVDQEjrm4IGHF1Q8CIqxsCRlzdEDDi6obYjci6IWDE1Q0BI65uCBhxdUPAyOiMuLohYMTVDQEjrm4IGHF1Q8CIqxtiNyLrhoARVzcEjLi6IWDE1Q0BI6Mz4uqGqJOtGwJGXN0QMOLqhoARVzfESh5xdUMsJa5uiKXE1Q2xlMjuYJ903RBLiasbYinRfdTG1g2xlLi6IZYSVzfEUjI+Ja651Jp/gndn6CZ4IS+bL4K8bL4I8rL5IsibsrxsvgjysvkiyMvmiyAvmy+CvGyCd5fXTfBCXnnD6iZ4Ia+8YXUTvJBX3rC6CV7IK29Y3QQv5JkSvLsPVYIXPrL5IsjL5osgL5svgrwpy8vmiyAvmy+CvGy+CPKy+SLIy+aLdnndBC/klTesboIX8sobVjfBC3nlDaub4IW88obVTfBCXnnDUiV44cOU4IUPU4IXPkwJXviwbKvDhynBCx+mBC98mBK88GFK8MKHKcG7+1AleOET/Lx/kXOEEVeCF0Zcxwpx7oorwQsjrgQvjLgSvDDiSvDCiCvBCyOuBC+MuBK8uxFZghdGXAleGHEleGHEleCFkdEZcSV4YcSV4IURV4IXRlwJXhhxJXh3I7IEL4y4Erww4krwwogrwQsjozPiSvDCiCvBCyOuBC+MuBK8MOJK8K7kEVeCdylxJXiXEleCdynRJeXYErxLiSvBu5ToPmpjS/AuJa4E71LiSvAuJeNT4ppL3f552oNs2/j3Sy3XP3/pOP9FMjf79aX23//OvXsPUe8p6p02VfGkKp5VxYuquKmKV1XxpiquujeT6uJMqpszq27OrLo5s+rmzKqbM6tuzqy6ObPb5jwA3RvweBPV42NAq3YFmM6AsnkDkjcgewMeT7RxPDQ2yhXAvAHVG9C8AU+f5LodX1q3cQUY3oDpDLDNG5C8AU9/TGs+Nk7Nl4DmDXj6H7mV44PRVq8+6qybN8D7W1QfP8l2/hTVfgUY3oDpDGibNyB5A7I3oHgDzBtQvQHNG/DGJ/n3vxgdgOENeP4kn8OuXwH64yf5HNc3gOQNyN6Ap09y245f39s2rwDmDajegOYN6N6Ax0/yPP663NJ2BZjOgLF5A5I3IHsDijfAvAHVG9C8Af2NgKsneQxvwPMn+YiwtXwFmI+f5PNzzRtA8gZkb8DjnfzFvzKneQOqN6B5A7o3YHgDvD8MuTnb/C7CMP9uiGHC3RDDhLshhgl3QwwT7oYYJtwNMUy4G2KYcDfEMOFuiGHC3RDDhLshhgl3QwwT7oYYJtwNMUy4G2KYcDfEMOFuiGHC3RDDhLshhgl3Qwzj6oYYxtUNMUy4G2KYcDfEMOFuiGHC3RDDhLshhgl3QwwT7oYYJtwNMUy4G2KYcDfEMOFuCMgrb1jdbgjIK29Y3W6IYcLdEJBX3rC63RDDhLshhnF1Q8CHqRsCPkzdEPBh6oaAD8u2OnyYuiGGcXVDDOPqhhjG1Q0xjKsbYhhXN8Qwtm6IYWzdEMPYuiGGsXVDDGPrhhjG1g0xjK0bYhhbN8Qwtm6IYWzdEMPYuiGGsXVDDGPrhhjG1g0xjK0bYhhbN8Qwtm6IYWzdEMPYuiGGsXVDDGPrhhjG1g0xjK0bYhhbN8Qwtm6IYWzdEMPYuiGGsXVDDGPrhhjG1g0xjK4bYilxdUMsJa5uiKXEdQf7UuLqhlhKXN0QS4nuoza2boilxNUNsZS4uiGWkvEpcc2lmTS7IXZvySuud2/JG653b81uCIhL3nANcckbriEuecM1xE1VXPKGa4hLdkNAXHVvanZDQFx1c2p2Q0BcdXNqdkNAXHVzanZDQFx1c/p2QwDQvQGu3RAATGeAbzcEAMkbkL0Brt0QAJg3oHoDmjfAtRsCgOENmM4A324IAJI3wLUbAoDmDXC9DnEH+HZDAOD9LfLthgBgeAOmM8C3GwKA5A3I3oDiDTBvQPUGNG+AazcEAMMb4NoNgb9MuXZDAJC8Adkb4NoNAYB5A6o3oHkDujfAtRsCgOkM8O2GACB5A7I3oHgDzBtQvQHNG+DaDQHA8Aa4dkPg9IJrNwQAyRuQvQGu3RAAmDegegOaN6B7A4Y3wPvDEN9uiLJt7t0QYMh2Qyx51Zurl7zqzdVLXvXm6iVvyvKqN1cvedWbq5e86s3VS1715uolr9oNAXnZboglr7xhZbshlrzyhpXthljyyhtWthtiyStvWNluiCVP1A0BH6ZuiOWjenP1kle9uXrJq95cveRNWV715uolr3pz9ZJXvbl6yaveXL3kVW+uhrxsN8SSV96wst0QS155w8p2Qyx55Q0r2w2x5JU3rGw3xJJX3rBM3RDLh6gbYvkQdUMsH6JuiOXDsq0OH6JuiOVD1A2xfIi6IZYPUTfE8iHqhoAPUzfE8gl+3v98g/4youqGWEZUF9atc1dU3RDLiKobYhlRdUMsI6puiGVE1Q2xjKi6IZYRVTcEjLi6IZYRVTfEMqLqhlhGVN0Qy8jojKi6IZYRVTfEMqLqhlhGVN0Qy4iqGwJGXN0Qy4iqG2IZUXVDLCOqbohlZHRGVN0Qy4iqG2IZUXVDLCOqbohlRNUN8ZE8ouqG+FCi6ob4UKLqhvhQorqD/UOJqhviQ4mqG+JDie6jNrJuiA8lqm6IDyWqbogPJeNTIptLPSDB25UTvF05wduVE7xdOcHblRO8XTnB25UTvF05wduVE7xdOcHblRO8XTnB25UTvF05wduVE7xdOcHblRO8XTnB25UTvJ0swdvJErxdOcHblRO8XTnB25UTvF05wduVE7xdOcHblRO8XTnB25UTvF05wduVE7xdOcHblRO8XTnB25UTvF05wduVE7xdOcHbyRK8nSzB28kSvJ0swdvJErydLMHbyRK8nSzB28kSvJ0swdvJErydLsHb6RK8nS7B2+kSvJ0uwdvpErydLsHb6RK8nS7B2+kSvJ0uwdvpErydLsHb6RK8nS7B2+kSvJ0uwdvpErydLsHb6RK8nS7B2+kSvJ0uwdvpErydLsHb6RK8nS7B2+kSvJ0uwdvpErydL8Hb+RK8nS/B2/kSvJ0vwdv5ErydL8Hb+RK8nS/B2/kSvJ0vwdvpErxp3iR4ax3Hy2off2a875T3rjO4dCaXzk0U+vt8EplPJvMpZD5G5lPJfBqZD9l0TmTjOZHN50w2nzPZfM5k8zmTzedMNp8z2XzOjvP5QHR/xPMp+r4jo/CZXD5lI/NJZD6ZzKeQ+RiZTyXzaWQ+ncyHbD4XsvlsZPPZyOazkc1nI5vPRjafjWw+G9l8Nsf5fCCGP2K6I+rmj0j+iOyPKP4I80dUf0TzR/g/3e35D+0Xh+sByRGQ5//Jv/6TXJsB76RvEZCI//Dd3gD54wF3QGoEpEVAegRkREDe8Zz88ZQs/iC9RUBSBCRHQEoExCIgNQLSIiA9AjIiIG944v986hNnPrYISIqA5AhIiYBYBKRGQFoEpEdA3vDE//kkLyAzAHJ3zvvdlBLwj4e0WQilhlBaCGVGUN5wdu9vKCmEkkMo7s9LTtfnX/v5qj6++PjUtsPGcv3zl47z15u52f99+pz1P38ou3sPUe8p6n39+CqIJ1XxrCpeVMVNVbyqijdVcdW9mVQXZ1LdnFl1c2bVzZlVN2dW3ZxZdXNm1c2Z3TbnAejegMebqB6fOFm1K8B0BpTNG5C8Adkb8HiijeOhsVGuAOYNqN6A5g14+iTX7fjSuo0rwPAGTGeAbd6A5A14+mNa87Fxar4ENG/A0//IrRwXA7R69VFn3bwB3t+i+vhJtvOnqPYrwPAGTGdA27wByRuQvQHFG2DegOoNaN6ANz7Jv9+YcgCGN+D5k3wOu34F6I+f5HNc3wCSNyB7A54+yW07fn1v27wCmDegegOaN6B7Ax4/yfM4ydLSdgWYzoCxeQOSNyB7A4o3wLwB1RvQvAH9jYCrJ3kMb8DzJ/kIG7R8BZiPn+Tzc80bQPIGZG/A4538xb8yp3kDqjegeQO6N2B4A7w/DLk58/kuQrk5WfYfr3pM519BLF8xEksJ/X/+E065O5mkIp+V5YuyvCnLV2X5pizfleWHsvwUls/KGzYrb9isvGGz8obNyhs2K2/YrLxhs/KGzcobNrNs2H99CsvSPHxYSuhf+Y9bWBrrX5Jnqbd/Sd6U5auyfFOW78ryQ1l+CsvbpiyvvGFNecOa8oY15Q1ryhvWlDesKW9YU96wprxhK8uGPXxYlubhw7IHDx+W1Xb4sGyrw4dlAR0+LDvl8GFZE4cPy+Q/fFiG+b8+jWw+t+Dn/Yu7jstd8ONbjbgKm8tdrOE7v0c90xkVOqPoevQ/Xy9d7oIN32o06Iwmm9HY6IzC59Efr1Eud2mObzUqdEZGZ1TpjBqdUaczGnRGk81obnRG0TP7z7dtl7vczrcaFTojozOqdEaNzqjTGQ06o8lmdHdnvqPSHy/YX0qJTynzKVW2T2zu7vn/VqXOp0T3UVuKjvD9jVLmUyp8SsanRDaXhmY3xO4tecX17i15w/XurdkNAXHJG64hLnnDNcQlb7iGuKmKS95wDXHJbgiIq+5NzW4IiKtuTs1uCIirbk7NbgiIq25OzW4IiKtuTt9uCAC6N8C1GwKA6Qzw7YYAIHkDsjfAtRsCAPMGVG9A8wa4dkMAMLwB0xng2w0BQPIGuHZDANC8Aa7XIe4A324IALy/Rb7dEAAMb8B0Bvh2QwCQvAHZG1C8AeYNqN6A5g1w7YYAYHgDXLsh8Jcp124IAJI3IHsDXLshADBvQPUGNG9A9wa4dkMAMJ0Bvt0QACRvQPYGFG+AeQOqN6B5A1y7IQAY3gDXbgicXnDthgAgeQOyN8C1GwIA8wZUb0DzBnRvwPAGeH8Y4twNYd2/G2Jn6HZDQF725mrIy95cDXnZm6shb8rysjdXQ1725mrIy95cDXnZm6shL9sNscvrdkNAXnnD6nZDQF55w+p2Q0BeecPqdkNAXnnD6nZDQJ6pG2L3oeqGgI/szdWQl725GvKyN1dD3pTlZW+uhrzszdWQl725GvKyN1dDXvbm6l1etxsC8sobVrcbAvLKG1a3GwLyyhtWtxsC8sobVrcbAvLKG5aqGwI+TN0Q8GHqhoAPUzcEfFi21eHD1A0BH6ZuCPgwdUPAh6kbAj5M3RC7D1U3BHyCn/cvbtCHEVc3BIy4LqzDuSuubggYcXVDwIirGwJGXN0QMOLqhoARVzcEjLi6IXYjsm4IGHF1Q8CIqxsCRlzdEDAyOiOubggYcXVDwIirGwJGXN0QMOLqhtiNyLohYMTVDQEjrm4IGHF1Q8DI6Iy4uiFgxNUNASOubggYcXVDwIirG2Ilj7i6IZYSVzfEUuLqhlhKXHewLyWuboilxNUNsZToPmpj64ZYSlzdEEuJqxtiKRmfEtdcquaf4N0ZugleyMvmiyAvmy+CvGy+CPKmLC+bL4K8bL4I8rL5IsjL5osgL5vg3eV1E7yQV96wugleyCtvWN0EL+SVN6xughfyyhtWN8ELeaYE7+5DleCFj2y+CPKy+SLIy+aLIG/K8rL5IsjL5osgL5svgrxsvgjysvmiXV43wQt55Q2rm+CFvPKG1U3wQl55w+omeCGvvGF1E7yQV96wVAle+DAleOHDlOCFD1OCFz4s2+rwYUrwwocpwQsfpgQvfJgSvPBhSvDuPlQJXvgEP+9f5BxhxJXghRHXsUKcu+JK8MKIK8ELI64EL4y4Erww4krwwogrwQsjrgTvbkSW4IURV4IXRlwJXhhxJXhhZHRGXAleGHEleGHEleCFEVeCF0ZcCd7diCzBCyOuBC+MuBK8MOJK8MLI6Iy4Erww4krwwogrwQsjrgQvjLgSvCt5xJXgXUpcCd6lxJXgXUp0STm2BO9S4krwLiW6j9rYErxLiSvBu5S4ErxLyfiUuOZSy/887UG2bfz7pZbrn790nP8imZv9+lL773/n3r2HqPcU9U6bqnhSFc+q4kVV3FTFq6p4UxVX3ZtJdXEm1c2ZVTdnVt2cWXVzZtXNmVU3Z1bdnNltcx6A7g14vInq8TGgVbsCTGdA2bwByRuQvQGPJ9o4Hhob5Qpg3oDqDWjegKdPct2OL63buAIMb8B0BtjmDUjegKc/pjUfG6fmS0DzBjz9j9zK8cFoq1cfddbNG+D9LaqPn2Q7f4pqvwIMb8B0BrTNG5C8AdkbULwB5g2o3oDmDXjjk/z7X4wOwPAGPH+Sz2HXrwD98ZN8jusbQPIGZG/A0ye5bcev722bVwDzBlRvQPMGdG/A4yd5Hn9dbmm7AkxnwNi8AckbkL0BxRtg3oDqDWjegP5GwNWTPIY34PmTfETYWr4CzMdP8vm55g0geQOyN+DxTv7iX5nTvAHVG9C8Ad0bMLwB3h+G3JxtfhehZ/9uiJ6FuyF6Fu6G6Fm4G6Jn4W6InoW7IXoW7oboWbgbomfhboiehbshehbuhuhZuBuiZ+FuiJ6FuyF6Fu6G6Fm4G6Jn4W6InoW7IXoW7oboWbgbomeuboieubohehbuhuhZuBuiZ+FuiJ6FuyF6Fu6G6Fm4G6Jn4W6InoW7IXoW7oboWbgbomfhbgjIK29Y3W4IyCtvWN1uiJ6FuyEgr7xhdbshehbuhuiZqxsCPkzdEPBh6oaAD1M3BHxYttXhw9QN0TNXN0TPXN0QPXN1Q/TM1Q3RM1c3RM9s3RA9s3VD9MzWDdEzWzdEz2zdED2zdUP0zNYN0TNbN0TPbN0QPbN1Q/TM1g3RM1s3RM9s3RA9s3VD9MzWDdEzWzdEz2zdED2zdUP0zNYN0TNbN0TPbN0QPbN1Q/TM1g3RM1s3RM9s3RA9s3VD9MzWDdEzWzdEz2zdED2zdUP0TNcNsZS4uiGWElc3xFLiuoN9KXF1Qywlrm6IpUT3URtbN8RS4uqGWEpc3RBLyfiUyObS1OyG2L0lr7jevSVvuN69NbshIC55wzXEJW+4hrjkDdcQN1VxyRuuIS7ZDQFx1b2p2Q0BcdXNqdkNAXHVzanZDQFx1c2p2Q0BcdXN6dsNAUD3Brh2QwAwnQG+3RAAJG9A9ga4dkMAYN6A6g1o3gDXbggAhjdgOgN8uyEASN4A124IAJo3wPU6xB3g2w0BgPe3yLcbAoDhDZjOAN9uCACSNyB7A4o3wLwB1RvQvAGu3RAADG+AazcE/jLl2g0BQPIGZG+AazcEAOYNqN6A5g3o3gDXbggApjPAtxsCgOQNyN6A4g0wb0D1BjRvgGs3BADDG+DaDYHTC67dEAAkb0D2Brh2QwBg3oDqDWjegO4NGN4A7w9DnLshxvDvhtgZut0QkJe9uRrysjdXQ1725mrIm7K87M3VkJe9uRrysjdXQ1725mrIy3ZD7PK63RCQV96wut0QkFfesLrdEJBX3rC63RCQV96wut0QkGfqhth9qLoh4CN7czXkZW+uhrzszdWQN2V52ZurIS97czXkZW+uhrzszdWQl725epfX7YaAvPKG1e2GgLzyhtXthoC88obV7YaAvPKG1e2GgLzyhqXqhoAPUzcEfJi6IeDD1A0BH5ZtdfgwdUPAh6kbAj5M3RDwYeqGgA9TN8TuQ9UNAZ/g5/2LG/RhxNUNASOuC+tw7oqrGwJGXN0QMOLqhoARVzcEjLi6IWDE1Q0BI65uiN2IrBsCRlzdEDDi6oaAEVc3BIyMzoirGwJGXN0QMOLqhoARVzcEjLi6IXYjsm4IGHF1Q8CIqxsCRlzdEDAyOiOubggYcXVDwIirGwJGXN0QMOLqhljJI65uiKXE1Q2xlLi6IZYS1x3sS4mrG2IpcXVDLCW6j9rYuiGWElc3xFLi6oZYSsanxDWXZvVP8O4M3QQv5GXzRZCXzRdBXjZfBHlTlpfNF0FeNl8Eedl8EeRl80WQl03w7vK6CV7IK29Y3QQv5JU3rG6CF/LKG1Y3wQt55Q2rm+CFPFOCd/ehSvDCRzZfBHnZfBHkZfNFkDdledl8EeRl80WQl80XQV42XwR52XzRLq+b4IW88obVTfBCXnnD6iZ4Ia+8YXUTvJBX3rC6CV7IK29YqgQvfJgSvPBhSvDChynBCx+WbXX4MCV44cOU4IUPU4IXPkwJXvgwJXh3H6oEL3yCn/cvco4w4krwwojrWCHOXXEleGHEleCFEVeCF0ZcCV4YcSV4YcSV4IURV4J3NyJL8MKIK8ELI64EL4y4ErwwMjojrgQvjLgSvDDiSvDCiCvBCyOuBO9uRJbghRFXghdGXAleGHEleGFkdEZcCV4YcSV4YcSV4IURV4IXRlwJ3pU84krwLiWuBO9S4krwLiW6pBxbgncpcSV4lxLdR21sCd6lxJXgXUpcCd6lZHxKVHNpzO0u75ZHOz/yyWP+wqTWLzi5jfTvl+f26V8b+OoD1KNAIwo0g0A3+SwHUIoC5ShQiQJZFKhGgaImQ46aDDlqMuSoyVCiJkOJmgwlajKUqMlQoiZDiZoMJWoylKjJUKImQ4maDBY1GSxqMljUZLCoyWBRk8GiJoNFTQaLmgwWNRksajLUqMlQoyZDjZoMNWoy1KjJUKMmQ42aDDVqMtSoyVCjJkOLmgwtajK0qMnQoiZDi5oMLWoytKjJ0KImQ4uaDC1qMvSoydCjJkOPmgw9ajL0qMnQoyZDj5oMPWoy9KjJ0KMmw4iaDCNqMoyoyTCiJsOImgwjajKMqMkwoibDiJoMI2oyzKjJMKMmw4yaDDNqMsyoyTCjJsOMmgwzajLMqMkwoybD3blKD1IKI+UwUgkjWRiphpHCDjxtYSeetrAjT1vYjEhhMyKFzYgUNiNS2IxIYTMihc2IuEORcaci445Fhp2LTGEHI1PYycgUdjQyhZ2NTGGHI1PY6cgUdjwyhZ2PTGEHJFPYCckUdkQyhZ2RTGGHJFPYKckUdkwyhZ2TTGEHJVPYSckUdlQyhZ2VTGGHJVPYackUdlwyhZ2XTGEHJlPYickUdmQyhZ2ZTGGHJlPYqckUdmwyhZ2bTGEHJ1PYyckUdnQyhZ2dTGGHJ1PY6ckUdnwyhZ2fTGEHKFPYCcoUdoQyhZ2hTGGHKFPYKcoUdowyhZ2jTGEHKVPYScoUdpQyhZ2lTGGHKVPYacoUdpwyhZ2nTD3usoewGRF2pDKFnalMYYcqU9ipyhR2rDKFnatMYQcrU9jJyhR2tDKNuBthwmbE3enKWc4bfvL8dBHPNamMk1RmTl989az5vOO/jk8X2dXt8qvPBplts19f/Os93B3clHoP6Qe8h/wD3kP5Ae/BfsB7qD/gPbQf8B76D3gP4we8B/09nTf9PZ3vzmfPVH69h9G/sGpj/PvV/VPJ0f6n6ouvtXa8XRv5t689nXK0UxnHN7Vu49qpEDoZoVMldGqETp3QabzFqZfTKX/hNFo9vni09nn2tV9Wk9Hq7nT8N1slSqtMaVUorSzcqm/HhzD7/xzXVpXSqlFadUqrQWk1Ga3yRmkVP9t7HadVa9dWmdKqUFoZpVWltGqUVp3S6htme2m/rPpvVhd/t7HzY4hs7dd0y2a/3sPUfw9l+wHv4XrLlC0dn9rs/9vGF++hzHl+yLOV6M+0btI5Wu+h/ID3YD/gPdQf8B7aD3gP/Qe8h/ED3sPUfw83aTOt9/AD9rT9gD19l72bY/56D6189TvfWz/Hv0vpfatTJXRqhE6d0Gm8xek//LtmbttRmze3VD/9P+dfVpPR6i6l+M1WidIqU1oVSiuLthrzHCK7VfvN6uJUR552bOGSt/Or61Ur5q/PtPr8tFV/fQpR6//Uu23/U++2/0+92/E/9W4n+bstZZ7v1vrnd3u8hbbpv4Wk/xYy+1vo7XwLn44xfn4Lhf4t1PMtzHT5Fkz/LYT/JjFTPT9hSG1c/jbXGqVVp7Qa32CVTquRrq0mo1XfvsFqO63mdm2VKK0ypVX8vz5zOv/1ma1fWxmlVf0Gq3Za1et/qff42Z7H+b0q6eZ71b/B6vxelTyvrQal1fwGq3pales9OOJne2m/vlezXVslSqv8DVbnf0H79Kei36ziZ/v+j5PT6ub3q2GUVvUbrM4pav3i52r+c30osdvxCcpInyF2vqy/9rLx2svmSy+7Prz29cvSay/Lr73s8gkan2IV1y+z115WX3tZe+1l/bWXjddeNl962fXRifnrb+qf/wD/6WXptZfl115WXnuZvfay+trL2msvu/wp2VfOObrm5cvGay+bL73s+o+gX78svfay/NrLymsvu/4paceD81vg+9PL6msva6+9rL/2svHay+ZLL7v+pP3rl6WvXnb53+36E+WvX1Zee9n1T8k8nu60bZeP9/XHlX/xuvbi6/qLrxsvvm6+9rrrD7b+4nXX/zzZ0vlb5Db7by/8f//pqw9MjsGUGIzFYGoMpsVgegxmxGBmCObmM423Y2KmwIiZAiNmCoyYKTBipsCImQIjZgqMmCkwYqbAjJkCM2YKzJgpMGOmwIyZAvMNz03tx+d3dfz6pXz/JPGEjADIXePxf6K08zqAtrVrSg6hlBCKhVBqCOU/75nzlf3VV+YS8XOdLYRSQygthNJDKG+Yau1MqLdcrikzglK2EEoKoeQQylsm9Dwpdk2xEEoNobQQSg+hjBDKjNictoVQQn47s5DfzizktzML+e3MQn47sxZC6SGUEUIJefZryLNfQ579GvLs15Bnv4Y8+zXk2a8hz34NefZryLNfQ579FvLst5Bnv4U8+y3k2W8hz34LefZbyLPfQp79FvLst5Bnv4c8+z3k2e8hz34PefZ7yLPfQ579HvLsd+9nf271n2tGPVPZ+28fn251vEpwj/Pg0pj5z1+a0pmUSPnzp0926Awuncmlc9MQ8H0+icwnk/kUMh8j86lkPo3Mh2w6J7LxnMjmcyabz5lsPmey+ZzJ5nMmm8+ZbD5nx/l8ILo/4vkUnenM9Hy6jPHV7+rk8ikbmU8i88lkPoXMx8h8KplPI/PpZD5k87mQzWcjm89GNp+NbD4b2Xw2svlsZPPZyOazOc7nAzH8EdMdUTd/RPJHZH9E8UeYP6L6I5o/wv/pbs9/aPe/eh33uKTt85T6BckRkOf/yVOu/Zy3/erzgTYD3knfIiAR/+G7vQEythPy6W+qnyA1AtIiID0CMiIg73hO+q/rHua4gIwtApIiIDkCUiIgFgGpEZAWAekRkBEBecMTv+/f44tTvfptZW4RkBQByRGQEgGxCEiNgLQISI+AvOGJT+OsMU5zXkFmACRtWwilBPzj4S75/m5KDaG0EMqMoLzh7N7fUFIIJYdQ/J+Xfn3+tZ+v6uOLj09tO2ws1z9/6Th/vZnbb1VH//1D2X59UFbAe4p6Xz++CuJJVTyrihdVcVMVr6riTVVcdW8m1cWZVDdnVt2cWXVzZtXNmVU3Z1bdnFl1c2a3zXkAujfg8SY6mzWs2hVgOgPK5g1I3oDsDXg80cbx0NgoVwDzBlRvQPMGPH2S63ZemLiNK8DwBkxngG3egOQNePpjWvOxcWq+BDRvwNP/yO2swG716qPOunkDvL9F9fGTbOdPUe1XgOENmM6AtnkDkjcgewOKN8C8AdUb0LwBb3ySW7sCDG/A8yf5HHb9CtAfP8nnuL4BJG9A9gY8fZLbdl6GvM0rgHkDqjegeQO6N+DxkzyPkywtbVeA6QwYmzcgeQOyN6B4A8wbUL0BzRvQ3wi4epLH8AY8f5KPsEHLV4D5+Ek+P9e8ASRvQPYGPN7JX/wrc5o3oHoDmjegewOGN8D7w5CbM5/vIqSbk2Wp2Xmstv3+74qLv4JYOv8KYvmKcXOo8L9B6nmfpI0vvvh9t/mku5NJKvJZWb4oy5uyfFWWb8ryXVl+KMtPYfmsvGGz8obNyhs2K2/YrLxhs/KGzcobNitv2Ky8YTPLhv3Xp7AszcMneA++7/qtdHdGTUW+KMubsnxVlm/K8l1ZfijLT2F525TllTesKW9YU96wprxhTXnDmvKGNeUNa8ob1pQ3bGXZsIcPy9I8fFj24OHDstoOH5ZtdfiwLKDDh2WnHD4sa+LwYZn8hw/LMP/Xp5HN5xb8vH9x13G6C358q1Hwz/QXN3qlu1jDd36PeqYzKnRGLdroj9dLp7tgw7caDTqjyWY0Njqj8Hn0x2uU012a41uNCp2R0RlVOqNGZ9TpjAad0WQzmhudUfTM/vNt2+kut/OtRoXOyOiMKp1RozPqdEaDzmiyGd3dme+o9McL9pdS4lPKfEqV7RObu3v+v1Wp8ynRfdSWoiN8f6OU+ZQKn5LxKXHNpWya3RC7t+QV17u35A3Xu7dmNwTEJW+4hrjkDdcQl7zhGuKmKi55wzXEJbshIK66NzW7ISCuujk1uyEgrro5NbshIK66OTW7ISCuujl9uyEA6N4A124IAKYzwLcbAoDkDcjeANduCADMG1C9Ac0b4NoNAcDwBkxngG83BADJG+DaDQFA8wa4Xoe4A3y7IQDw/hb5dkMAMLwB0xng2w0BQPIGZG9A8QaYN6B6A5o3wLUbAoDhDXDthsBfply7IQBI3oDsDXDthgDAvAHVG9C8Ad0b4NoNAcB0Bvh2QwCQvAHZG1C8AeYNqN6A5g1w7YYAYHgDXLshcHrBtRsCgOQNyN4A124IAMwbUL0BzRvQvQHDG+D9YYhzN0Qp/t0QO0O3GwLysjdXQ1725mrIy95cDXlTlpe9uRrysjdXQ1725mrIy95cDXnZbohdXrcbAvLKG1a3GwLyyhtWtxsC8sobVrcbAvLKG1a3GwLyTN0Quw9VNwR8ZG+uhrzszdWQl725GvKmLC97czXkZW+uhrzszdWQl725GvKyN1fv8rrdEJBX3rC63RCQV96wut0QkFfesLrdEJBX3rC63RCQV96wVN0Q8GHqhoAPUzcEfJi6IeDDsq0OH6ZuCPgwdUPAh6kbAj5M3RDwYeqG2H2ouiHgE/y8f3GDPoy4uiFgxHVhHc5dcXVDwIirGwJGXN0QMOLqhoARVzcEjLi6IWDE1Q2xG5F1Q8CIqxsCRlzdEDDi6oaAkdEZcXVDwIirGwJGXN0QMOLqhoARVzfEbkTWDQEjrm4IGHF1Q8CIqxsCRkZnxNUNASOubggYcXVDwIirGwJGXN0QK3nE1Q2xlLi6IZYSVzfEUuK6g30pcXVDLCWuboilRPdRG1s3xFLi6oZYSlzdEEvJ+JS45pJt/gnenaGb4IW8bL4I8rL5IsjL5osgb8rysvkiyMvmiyAvmy+CvGy+CPKyCd5dXjfBC3nlDaub4IW88obVTfBCXnnD6iZ4Ia+8YXUTvJBnSvDuPlQJXvjI5osgL5svgrxsvgjypiwvmy+CvGy+CPKy+SLIy+aLIC+bL9rldRO8kFfesLoJXsgrb1jdBC/klTesboIX8sobVjfBC3nlDUuV4IUPU4IXPkwJXvgwJXjhw7KtDh+mBC98mBK88GFK8MKHKcELH6YE7+5DleCFT/Dz/kXOEUZcCV4YcR0rxLkrrgQvjLgSvDDiSvDCiCvBCyOuBC+MuBK8MOJK8O5GZAleGHEleGHEleCFEVeCF0ZGZ8SV4IURV4IXRlwJXhhxJXhhxJXg3Y3IErww4krwwogrwQsjrgQvjIzOiCvBCyOuBC+MuBK8MOJK8MKIK8G7kkdcCd6lxJXgXUpcCd6lRJeUY0vwLiWuBO9SovuojS3Bu5S4ErxLiSvBu5SMT4lsLo1/nvYg2zb+/VLL9c9fOs5/kczNfn2pvfB37vHPEPWeot5pUxVPquJZVbyoipuqeFUVb6riqnszqS7OpLo5s+rmzKqbM6tuzqy6ObPq5syqmzO7bc4D0L0BjzdRPT4GtGpXgOkMKJs3IHkDsjfg8UQbx0Njo1wBzBtQvQHNG/D0Sa7b8aV1G1eA4Q2YzgDbvAHJG/D0x7TmY+PUfAlo3oCn/5FbOT4YbfXqo866eQO8v0X18ZNs509R7VeA4Q2YzoC2eQOSNyB7A4o3wLwB1RvQvAFvfJJ//4vRARjegOdP8jns+hWgP36Sz3F9A0jegOwNePokt+349b1t8wpg3oDqDWjegO4NePwkz+Ovyy1tV4DpDBibNyB5A7I3oHgDzBtQvQHNG9DfCLh6ksfwBjx/ko8IW8tXgPn4ST4/17wBJG9A9gY83slf/CtzmjegegOaN6B7A4Y3wPvDkJuzze8i1OHfDVGHcDdEHcLdEHUId0PUIdwNUYdwN0Qdwt0QdQh3Q9Qh3A1Rh3A3RB3C3RB1CHdD1CHcDVGHcDdEHcLdEHUId0PUIdwNUYdwN0Qdwt0QdQh3Q9TB1Q1RB1c3RB3C3RB1CHdD1CHcDVGHcDdEHcLdEHUId0PUIdwNUYdwN0Qdwt0QdQh3Q9Qh3A0BeeUNq9sNAXnlDavbDVGHcDcE5JU3rG43RB3C3RB1cHVDwIepGwI+TN0Q8GHqhoAPy7Y6fJi6Ierg6oaog6sbog6ubog6uLoh6uDqhqiDrRuiDrZuiDrYuiHqYOuGqIOtG6IOtm6IOti6Iepg64aog60bog62bog62Loh6mDrhqiDrRuiDrZuiDrYuiHqYOuGqIOtG6IOtm6IOti6Iepg64aog60bog62bog62Loh6mDrhqiDrRuiDrZuiDrYuiHqYOuGqIOtG6IOtm6IOui6IZYSVzfEUuLqhlhKXHewLyWuboilxNUNsZToPmpj64ZYSlzdEEuJqxtiKRmfEtdcalWzG2L3lrzieveWvOF699bshoC45A3XEJe84RrikjdcQ9xUxSVvuIa4ZDcExFX3pmY3BMRVN6dmNwTEVTenZjcExFU3p2Y3BMRVN6dvNwQA3Rvg2g0BwHQG+HZDAJC8Adkb4NoNAYB5A6o3oHkDXLshABjegOkM8O2GACB5A1y7IQBo3gDX6xB3gG83BADe3yLfbggAhjdgOgN8uyEASN6A7A0o3gDzBlRvQPMGuHZDADC8Aa7dEPjLlGs3BADJG5C9Aa7dEACYN6B6A5o3oHsDXLshAJjOAN9uCACSNyB7A4o3wLwB1RvQvAGu3RAADG+AazcETi+4dkMAkLwB2Rvg2g0BgHkDqjegeQO6N2B4A7w/DHHuhujm3w2xM3S7ISAve3M15GVvroa87M3VkDdledmbqyEve3M15GVvroa87M3VkJfthtjldbshIK+8YXW7ISCvvGF1uyEgr7xhdbshIK+8YXW7ISDP1A2x+1B1Q8BH9uZqyMveXA152ZurIW/K8rI3V0Ne9uZqyMveXA152ZurIS97c/Uur9sNAXnlDavbDQF55Q2r2w0BeeUNq9sNAXnlDavbDQF55Q1L1Q0BH6ZuCPgwdUPAh6kbAj4s2+rwYeqGgA9TNwR8mLoh4MPUDQEfpm6I3YeqGwI+wc/7Fzfow4irGwJGXBfW4dwVVzcEjLi6IWDE1Q0BI65uCBhxdUPAiKsbAkZc3RC7EVk3BIy4uiFgxNUNASOubggYGZ0RVzcEjLi6IWDE1Q0BI65uCBhxdUPsRmTdEDDi6oaAEVc3BIy4uiFgZHRGXN0QMOLqhoARVzcEjLi6IWDE1Q2xkkdc3RBLiasbYilxdUMsJa472JcSVzfEUuLqhlhKdB+1sXVDLCWuboilxNUNsZSMT4lrLo3kn+DdGboJXsjL5osgL5svgrxsvgjypiwvmy+CvGy+CPKy+SLIy+aLIC+b4N3ldRO8kFfesLoJXsgrb1jdBC/klTesboIX8sobVjfBC3mmBO/uQ5XghY9svgjysvkiyMvmiyBvyvKy+SLIy+aLIC+bL4K8bL4I8rL5ol1eN8ELeeUNq5vghbzyhtVN8EJeecPqJnghr7xhdRO8kFfesFQJXvgwJXjhw5TghQ9Tghc+LNvq8GFK8MKHKcELH6YEL3yYErzwYUrw7j5UCV74BD/vX+QcYcSV4IUR17FCnLviSvDCiCvBCyOuBC+MuBK8MOJK8MKIK8ELI64E725EluCFEVeCF0ZcCV4YcSV4YWR0RlwJXhhxJXhhxJXghRFXghdGXAne3YgswQsjrgQvjLgSvDDiSvDCyOiMuBK8MOJK8MKIK8ELI64EL4y4ErwrecSV4F1KXAnepcSV4F1KdEk5tgTvUuJK8C4luo/a2BK8S4krwbuUuBK8S8n4lLjm0iw3Cd5ax/Gy2sefGe875b3rDC6dyaVzE4X+Pp9E5pPJfAqZj5H5VDKfRuZDNp0T2XhOZPM5k83nTDafM9l8zmTzOZPN50w2n7PjfD4Q3R/xfIq+78gofCaXT9nIfBKZTybzKWQ+RuZTyXwamU8n8yGbz4VsPhvZfDay+Wxk89nI5rORzWcjm89GNp/NcT4fiOGPmO6Iuvkjkj8i+yOKP8L8EdUf0fwR/k93e/5D+8XhekByBOT5f/Kv/yTXZsA76VsEJOI/fLc3QP54wB2QGgFpEZAeARkRkHc8J388JYs/SG8RkBQByRGQEgGxCEiNgLQISI+AjAjIG574P5/6xJmPLQKSIiA5AlIiIBYBqRGQFgHpEZA3PPF/PskLyAyA3J3zfjelBPzjIW0WQqkhlBZCmRGUN5zd+xtKCqHkEIr/81Kvz7/281V9fPHxqW2HjeX65y8d5683c7P/+/Q563//ULZeH5QV8J6i3tePr4J4UhXPquJFVdxUxauqeFMVV92bSXVxJtXNmVU3Z1bdnFl1c2bVzZlVN2dW3ZzZbXMegO4NeLyJ6vGJk1W7AkxnQNm8AckbkL0BjyfaOB4aG+UKYN6A6g1o3oCnT3Ldji+t27gCDG/AdAbY5g1I3oCnP6Y1Hxun5ktA8wY8/Y/cynExQKtXH3XWzRvg/S2qj59kO3+Kar8CDG/AdAa0zRuQvAHZG1C8AeYNqN6A5g1445P8+40pB2B4A54/yeew61eA/vhJPsf1DSB5A7I34OmT3Lbj1/e2zSuAeQOqN6B5A7o34PGTPI+TLC1tV4DpDBibNyB5A7I3oHgDzBtQvQHNG9DfCLh6ksfwBjx/ko+wQctXgPn4ST4/17wBJG9A9gY83slf/CtzmjegegOaN6B7A4Y3wPvDkJszn28i7P/vN0fL/uNdj+n8M4jlS0hiqaH/r3/E+bBP0vZZ2r5I25u0fZW2b9L2Xdp+SNtPZfssvWuz9K7N0rs2S+/aLL1rs/SuzdK7Nkvv2iy9azPLrj2ECsv6PIVYuulf+u9bWJrsX7Nn6b1/zd6k7au0fZO279L2Q9p+KtvbJm0vvWtNetea9K416V1r0rvWpHetSe9ak961Jr1rK8uuPYVY1ucpxLIRTyGWJXcKseytU4hlFZ1CLNvlFGJZGKcQyw44hVjG+iHU2CZ1C37s/3xB8odS5VOi6nn+OK6V6L5LPfMpFT6l6Gb1P95M/aHU+ZQGn9KkUxobn1L4XPrTNcwfSplPqfApGZ9S5VNqfEqdT2nwKU06pbnxKUVP7z/e2/2hlPmUCp+S8SlVPqXGp9T5lAaf0qRTuruG39HpT3f2/+uUCJ0yoVOl+0Dnrj7ge506oRPfh3EpOhn4V06Z0KkQOhmhE9l8SlmyemKJK16hvcQVr9Be4pLtEx/mipdof5gr3qL9Ya54jfaHucmaK16k/WGu2EHxYS67QSVbKD7MZXeoZA/Fh7nsDpVsovgwl92hkl0UH+ayO9S1jeKD0N0Jnn0UH4TpTXBtpPggJHdCdid4llJ8EMydUN0JzZ3gWUzxQRjuhOlNcO2m+CAkd4JnO8UHobkTPK9kXIS6uRPcv0uuFRUfhOFOmN4E15aKD0JyJ2R3QnEnmDuhuhOaO8GzrOKDMNwJnnUVH3/O8uyr+CAkd0J2J3hWVnwQzJ1Q3QnNndDdCZ69FR+E6U1wba74ICR3QnYnFHeCuROqO6G5EzwLLD4Iw53gWWHxcQjCs8Pig5DcCdmd4Flj8UEwd0J1JzR3QncnDHeC+ycn3m0WOQW0WewQ4TYL2OvesA173Ru2Ya97wzbsTdpe94Zt2OvesA173Ru2Ya97wzbsddssdnvhNgvYS+9a4TYL2EvvWuE2C9hL71rhNgvYS+9a4TYL2FO1WexCXG0WENK9YRv2ujdsw173hm3Ym7S97g3bsNe9YRv2ujdsw173hm3Y696wvdsLt1nAXnrXCrdZwF561wq3WcBeetcKt1nAXnrXCrdZwF5613K1WUCIqs0CQlRtFhCiarOAEMveOoWo2iwgRNVmASGqNgsIUbVZQIiqzWIX4mqzgFDwY//Vdf9QImuzgBLZBXo4rkXWZgElsjYLKJG1WUCJrM0CSmRtFlAia7OAElmbxa7E1mYBJbI2CyiRtVlAiazNAkrGp0TWZgElsjYLKJG1WUCJrM0CSmRtFrsSW5sFlMjaLKBE1mYBJbI2CygZnxJZmwWUyNosoETWZgElsjYLKJG1WawoE1mbxXIia7NYTmRtFsuJ7Lb45UTWZrGcyNoslhPfh3F0bRbLiazNYjmRtVksJyN0YptPIyIfPKTzwUM6Hzyk88FDOh88pPPBQzofPKTzwUM6Hzyk88FDOh88pPPBQzofPKTzwUM6Hzyk88FDOh88pPPBQzofPKTzwYMtHzzY8sFDOh88pPPBQzofPKTzwUM6Hzyk88FDOh88pPPBQzofPKTzwUM6Hzyk88FDOh88pPPBQzofPKTzwUM6Hzyk88FDOh882PLBgy0fPNjywYMtHzzY8sGDLR882PLBgy0fPNjywYMtHzzY8sGDLx88+PLBgy8fPPjywYMvHzz48sGDLx88+PLBgy8fPPjywYMvHzz48sGDLx88+PLBgy8fPPjywYMvHzz48sGDLx88+PLBgy8fPPjywYMvHzz48sGDLx88+PLBgy8fPPjywYMvHzz48sGDMB88CPPBgzAfPAjzwYMwHzwI88GDMB88CPPBgzAfPAjzwYMwHzz48sGl/fO0x9m28e+XWq5//tJx/jtlbvbrS+2Fv47v4kNVfKqKp03WPMmaZ1nzImtusuZV1rzJmstu0CS7QpPsDs2yOzTL7tAsu0Oz7A7Nsjs0y+7Q7LZDT0J3JzzeSfX4lNCqXRKmN6Fs7oTkTsjuhMezbRwPj41ySTB3QnUnNHfC02e6bseX1m1cEoY7YXoTbHMnJHfC05/Wmo8VVPM1obkTnv6XbuX4+LTVyw9E6+ZOcP8u1cfPtJ0/S7VfEoY7YXoT2uZOSO6E7E4o7gRzJ1R3QnMnvPGZ/v2PTCdhuBOeP9Pn5OuXhP74mT6n9x0huROyO+HpM92247f7ts1LgrkTqjuhuRO6O+HxMz2Pv023tF0SpjdhbO6E5E7I7oTiTjB3QnUnNHdCfyPh8pkew53w/Jk+8nItXxLm42f6/Dj0jpDcCdmd8HhPf/Vv0WnuhOpOaO6E7k4Y7gT3T05ujk6/DWEtoM3CmnKbhTXlNgtrym0W1pTbLKwpt1lYU26zsKbcZmFNuc3CmnKbhTXlNgtrym0W1pTbLKwpt1lYU26zsKbcZmFNuc3CmnKbhTXlNgtrym0W1sjaLKyRtVlYU26zsKbcZmFNuc3CmnKbhTXlNgtrym0W1pTbLKwpt1lYU26zsKbcZmFNuc0C9tK7VrjNAvbSu1a4zcKacpsF7KV3rXCbhTXlNgtrZG0WEKJqs4AQVZsFhKjaLCDEsrdOIao2C2tkbRbWyNosrJG1WVgja7OwRtZmYY2uzcIaXZuFNbo2C2t0bRbW6NosrNG1WVija7OwRtdmYY2uzcIaXZuFNbo2C2t0bRbW6NosrNG1WVija7OwRtdmYY2uzcIaXZuFNbo2C2t0bRbW6NosrNG1WVija7OwRtdmYY2uzcIaXZuFNbo2C2t0bRbW6NosrNG1WVjja7NYTmRtFsuJrM1iOZHdFr+cyNoslhNZm8Vy4vswjq7NYjmRtVksJ7I2i+VkhE5k86kW0TaLXVzzKu5dXPMm7l1ctM0C5po3ccNc8yZumGvexA1zkzXXvIkb5pptFjCX3aCibRYwl92hom0WMJfdoaJtFjCX3aGibRYwl92hzm0WIHR3gm+bBQjTm+DcZgFCcidkd4JvmwUI5k6o7oTmTvBtswBhuBOmN8G5zQKE5E7wbbMAobkTfO9k3AnObRYguH+XnNssQBjuhOlNcG6zACG5E7I7obgTzJ1Q3QnNneDbZgHCcCf4tlngz1m+bRYgJHdCdif4tlmAYO6E6k5o7oTuTvBtswBhehOc2yxASO6E7E4o7gRzJ1R3QnMn+LZZgDDcCb5tFjgE4dtmAUJyJ2R3gm+bBQjmTqjuhOZO6O6E4U5w/+TEu82i5YA2ix0i3GYBe90btmGve8M27HVv2Ia9Sdvr3rANe90btmGve8M27HVv2Ia9bpvFbi/cZgF76V0r3GYBe+ldK9xmAXvpXSvcZgF76V0r3GYBe6o2i12Iq80CQro3bMNe94Zt2OvesA17k7bXvWEb9ro3bMNe94Zt2OvesA173Ru2d3vhNgvYS+9a4TYL2EvvWuE2C9hL71rhNgvYS+9a4TYL2EvvWq42CwhRtVlAiKrNAkJUbRYQYtlbpxBVmwWEqNosIETVZgEhqjYLCFG1WexCXG0WEAp+7L+67h9KZG0WUCK7QA/HtcjaLKBE1mYBJbI2CyiRtVlAiazNAkpkbRZQImuz2JXY2iygRNZmASWyNgsokbVZQMn4lMjaLKBE1mYBJbI2CyiRtVlAiazNYldia7OAElmbBZTI2iygRNZmASXjUyJrs4ASWZsFlMjaLKBE1mYBJbI2ixVlImuzWE5kbRbLiazNYjmR3Ra/nMjaLJYTWZvFcuL7MI6uzWI5kbVZLCeyNovlZIRObPNpRuSDp3Q+eErng6d0PnhK54OndD54SueDp3Q+eErng6d0PnhK54OndD54SueDp3Q+eErng6d0PnhK54OndD54SueDp3Q+eLLlgydbPnhK54OndD54SueDp3Q+eErng6d0PnhK54OndD54SueDp3Q+eErng6d0PnhK54OndD54SueDp3Q+eErng6d0PnhK54MnWz54suWDJ1s+eLLlgydbPniy5YMnWz54suWDJ1s+eLLlgydbPnjy5YMnXz548uWDJ18+ePLlgydfPnjy5YMnXz548uWDJ18+ePLlgydfPnjy5YMnXz548uWDJ18+ePLlgydfPnjy5YMnXz548uWDJ18+ePLlgydfPnjy5YMnXz548uWDJ18+ePLlgydfPngS5oMnYT54EuaDJ2E+eBLmgydhPngS5oMnYT54EuaDJ2E+eBLmgyddPriOu7LE0g6I5V+d7sny+brrGNJfvC69+Lr84uvKf39dr9tNtLP29O/rWsufXvfxR/ve6l0sMY92fsSWx/z13y21fvEfLrdxgHL79G86fPVJ6mGkEUaaUaSbGJ0HKYWRchiphJEsjFTDSGEzIofNiBw2I3LYjChhM6KEzYgSNiNK2IwoYTOihM2IEjYjStiMKGEzooTNCAubERY2IyxsRljYjLCwGWFhM8LCZoSFzQgLmxEWNiNq2IyoYTOihs2IGjYjatiMqGEzoobNiBo2I2rYjKhhM6KFzYgWNiNa2IxoYTOihc2IFjYjWtiMaGEzooXNiBY2I3rYjOhhM6KHzYgeNiN62IzoYTOih82IHjYjetiM6GEzYoTNiBE2I0bYjBhhM2KEzYgRNiNG2IwYYTNihM2IETYjZtiMmGEzYobNiBk2I2bYjJhhM2KGzYgZNiNm2IyYYTPi7hysCyrFoXIcqsShLA5V41BxR6m2uLNUW9xhqi1uWqS4aZHipkWKmxYpblqkuGmR4qZF4MHLwJOXgUcv485eprjDlynu9GWKO36Z4s5fprgDmCnuBGaKO4KZ4s5gprhDmCnuFGaKO4aZ4s5hpriDmCnuJGaKO4qZ4s5iprjDmCnuNGaKO46Z4s5jprgDmSnuRGaKO5KZ4s5kprhDmSnuVGaKO5aZ4s5lpriDmSnuZGaKO5qZ4s5mprjDmSnudGaKO56Z4s5nprgDminuhGaKO6KZ4s5oprhDminulGaKO6aZ4s5ppriDminupGaKO6qZ4s5qprjDminutGaKO66Z4s5rprgDmynuxGaKO7KZ4s5sph54GUXctIg7tpnizm2muIObKe7kZoo7upnizm6muMObKe70Zoo7vplG4N01cdPi7gTnLOf9Tnl+uobpGlXGiSozpy++etZ8dkHU8elKw7pdfvVZOrRt9uuLP72Ju8OhWm8i/YQ3kX/Cmyg/4U3YT3gT9Se8ifYT3kT/CW9i/IQ38QM2dt5+wMbOd2fAZyq/3sToX2i1Mf796v6pGGv/S/fF11o73q+N/NvX/pLK0VJlHN/Wuo0bqcIoZYxSlVGqMUp1RqnxFqleTqn8hdRo9fji0drnGdg+aU1KrbsT+N+tlTi1MqdW4dSycK2+HR/P7P9z3GhVTq3GqdU5tQan1qTUyhunVvyU73WcWq3daGVOrcKpZZxalVOrcWp1Tq1vmPKl/dLqv2ld/H3Hzo8osrVfUy5/qnbIef6AN1G2n/AmrvdN2dLxmc7+v2188SbKnOdHQFsJ/8jrJgEk9ibKT3gT9hPeRP0Jb6L9hDfRf8KbGD/hTcwf8CZuEm1ib+InbGz7CRv7Lt83x/z1Jlr56hfA937Wf5cE/F6pyijVGKU6o9R4i9R/+JfO3Lajb3FuqX76f86ftCal1l0S8ru1EqdW5tQqnFoWrTXmOUt2rfab1sVRkDzt2MjlUyFovSpV/fVxV5+fNuynTydq/d96u+1/6+32/623O/633u4kf7ulnNXFxfrnt3u+h7b9gPeQfsB7yOzvobfzPXw6A/nbeyj076Ge72Gm6/dgP+A9hP9OMVM9P3hIbVz/Ztcap1bn1BrfoJVOrZFutCalVt++QWs7teZ2o5U4tTKnVvy/SHM6/0Wa7fOfmz9rGadW/QatdmrVm3+/9/gpn8f53Srp7rvVv0Hr/G6VPG+0BqfW/AatemqVm5044qd8ab++W7PdaCVOrfwNWud/RPv0J6XfteKn/P4vllPr7vetYZxa9Ru0znFq/eJnq9s/1wcaux2froz0mWK/XtdffN148XXztdddH3z7i9elF1+XX3zd5bM0PsU0bl5nL76uvvi69uLr+ouvGy++br72uutjF/PXX+M//+n+8+vSi6/LL76uvPg6e/F19cXXtRdfd/nzsu+ic6DN69eNF183X3vd9R9Q/+J16cXX5RdfV1583fXPSzueo98i5p9fV198XXvxdf3F140XXzdfe931p/R/8br01euu//tdfxr9F68rL77u+udlHs972rbrB/76o86/eWF79YX91ReOV184X3zh9Ydif/PC63/QbOn8nXOb/bdX/r//9NUnJwdxShDHgjg1iNOCOD2IM4I4M4Zz83nI+zlB82AEzYMRNA9G0DwYQfNgBM2DETQPRtA8GEHzYAbNgxk0D2bQPJhB82AGzYP5huen9uNTwDp+/dK+fx75izIiKHeNz/8J0857CdrWbjA5BlNiMBaDqTGY/7x3fr20v/zSXEJ+vrPFYGoMpsVgegzmDSOunWH5lssNZoZgyhaDSTGYHIN5y8CeJ8ZuMBaDqTGYFoPpMZgRg5khy9S2GEzMr20W82ubxfzaZjG/tlnMr23WYjA9BjNiMDFToMZMgRozBWrMFKgxU6DGTIEaMwVqzBSoMVOgxkyBGjMFWswUaDFToMVMgRYzBVrMFGgxU6DFTIEWMwVazBRoMVOgx0yBHjMFeswU6DFToMdMgR4zBXrMFOj+U2Bs/1xD6hkb338l+XQl5VXEfJwHo8bMf/7SlM7YRsqfP6uy02eQ+Uwyn5vWg28USmxCmU2osAkZm1BlE2psQmxzOrEN6sQ2qTPbpM5skzqzTerMNqkz26TObJM6O07qk9EDGM/n6UxnsujTbZIvf2MnmVDZ2IQSm1BmEypsQsYmVNmEGptQZxNim9SFbVIb26Q2tkltbJPa2Ca1sU1qY5vUxjapzXFSn4wRwJj+jLoFMFIAIwcwSgDDAhg1gNECGAHPeXv+s7v/pey4eSZtnyfWJ0oOoTz/755y7ef07ZcfILQZ8V76FkIJ+a/f7Q2UsZ2UT3+N/UypIZQWQukhlBFCecfz0n/dQjHHFWVsIZQUQskhlBJCsRBKDaG0EEoPoYwQyhue/X0lH1+c6uXvMHMLoaQQSg6hlBCKhVBqCKWFUHoI5Q3PfhpnqXOa85IyIyhp22IwJeLfFndJ/LdjagymxWBmCOYNJwL/CpNiMDkGE/Dc5OvDtf18WR9ffOhq26Fjuf75S8f5S8/cfit6euGj3Hx9CldBfKqKXz/FEuZJ1jzLmhdZc5M1r7LmTdZcdoMm2RWaZHdolt2hWXaHZtkdmmV3aJbdoVl2h2a3HXoSujvh8U46O0Ss2iVhehPK5k5I7oTsTng828bx8NgolwRzJ1R3QnMnPH2m63Ze77iNS8JwJ0xvgm3uhOROePrTWvOxgmq+JjR3wtP/0u2sCG/18gPRurkT3L9L9fEzbefPUu2XhOFOmN6EtrkTkjshuxOKO8HcCdWd0NwJb3ymW7skDHfC82f6nHz9ktAfP9Pn9L4jJHdCdic8fabbdt7nvM1LgrkTqjuhuRO6O+HxMz2PMzEtbZeE6U0YmzshuROyO6G4E8ydUN0JzZ3Q30i4fKbHcCc8f6aPZEPLl4T5+Jk+Pw69IyR3QnYnPN7TX/1bdJo7oboTmjuhuxOGO8H9k5ObA6VvQ8yb02qp2Xlut/3+D4+Lv6NYOv+OYvkScnNa8b9R6nkFpo0vvviNtw3Nu7NOMvZZ2r5I25u0fZW2b9L2Xdp+SNtPZfssvWuz9K7N0rs2S+/aLL1rs/SuzdK7Nkvv2iy9azPLrj2ECsv6PIWCN+Ibrwebd6feZOyLtL1J21dp+yZt36Xth7T9VLa3Tdpeetea9K416V1r0rvWpHetSe9ak961Jr1rTXrXVpZdewqxrM9TiGUjnkIsS+4UYtlbpxDLKjqFWLbLKcSyME4hlh1wCrGM9UOosU3qFvzYf3Ux87xLlHyvUvAP9leXi827rMS3fpd65lMqfEotWunPl2HPu6zE9yoNPqVJpzQ2PqXwufTn+57nXUDke5UKn5LxKVU+pcan1PmUBp/SpFOaG59S9PT+4l7weRcF+l6lwqdkfEqVT6nxKXU+pcGnNOmU7u74d3T6cyHAckqETpnQqdJ9oHPXS/C9Tp3Qie/DuBSdDPwrp0zoVAidjNCJbT5N0TaLXVzzKu5dXPMm7l1ctM0C5po3ccNc8yZumGvexA1zkzXXvIkb5pptFjCX3aCibRYwl92hom0WMJfdoaJtFjCX3aGibRYwl92hzm0WIHR3gm+bBQjTm+DcZgFCcidkd4JvmwUI5k6o7oTmTvBtswBhuBOmN8G5zQKE5E7wbbMAobkTfO9k3AnObRYguH+XnNssQBjuhOlNcG6zACG5E7I7obgTzJ1Q3QnNneDbZgHCcCf4tlngz1m+bRYgJHdCdif4tlmAYO6E6k5o7oTuTvBtswBhehOc2yxASO6E7E4o7gRzJ1R3QnMn+LZZgDDcCb5tFjgE4dtmAUJyJ2R3gm+bBQjmTqjuhOZO6O6E4U5w/+TEuc1ibMO/zQIQ3TaLZS97w/ayl71he9nL3rC97E3aXvaG7WUve8P2spe9YXvZy96wvexl2yxgr9tmseyld61um8Wyl961um0Wy1561+q2WSx76V2r22ax7JnaLCBE1WaxhGRv2F72sjdsL3vZG7aXvUnby96wvexlb9he9rI3bC972Ru2l73sDduw122zWPbSu1a3zWLZS+9a3TaLZS+9a3XbLJa99K7VbbNY9tK7lqrNYgkxtVksIaY2iyXE1GaxhFj21inE1GaxhJjaLJYQU5vFEmJqs1hCTG0WEKJqs1hCwY/9F9f9LyWuNoulxHWB3jquxdVmsZS42iyWElebxVLiarNYSlxtFkuJq81iKXG1WUCJrM1iKXG1WSwlrjaLpcTVZrGUjE+Jq81iKXG1WSwlrjaLpcTVZrGUuNosoETWZrGUuNoslhJXm8VS4mqzWErGp8TVZrGUuNoslhJXm8VS4mqzWEpcbRYfUSauNosPJ642iw8nrjaLDyeu2+I/nLjaLD6cuNosPpz4Poxja7P4cOJqs/hw4mqz+HAyQiey+ZRqQD54hwjng2Gvm1mCvW5mCfa6mSXYm7S9bmYJ9rqZJdjrZpZgr5tZgr1uPni3F84Hw1561wrng2EvvWuF88Gwl961wvlg2EvvWuF8MOyp8sG7EFc+GEK6mSXY62aWYK+bWYK9SdvrZpZgr5tZgr1uZgn2upkl2OtmlnZ74Xww7KV3rXA+GPbSu1Y4Hwx76V0rnA+GvfSuFc4Hw15613LlgyFElQ+GEFU+GEJU+WAIseytU4gqHwwhqnwwhKjywRCiygdDiCofvAtx5YMhFPzYfxWghBJZPhhKZEcScVyLLB8MJbJ8MJTI8sFQIssHQ4ksHwwlsnwwlMjywbsSWz4YSmT5YCiR5YOhRJYPhpLxKZHlg6FElg+GElk+GEpk+WAokeWDdyW2fDCUyPLBUCLLB0OJLB8MJeNTIssHQ4ksHwwlsnwwlMjywVAiywevKBNZPng5keWDlxNZPng58eXv6PLBy4ksH7yc+D6Mo8sHLyeyfPByIssHLycjdCKbT7n887TH2bbx75darn/+0nH+O2Vu9utL7YW/ju/iQ1V8qoqnTdY8yZpnWfMia26y5lXWvMmay27QJLtCk+wOzbI7NMvu0Cy7Q7PsDs2yOzTL7tDstkNPQncnPN5J9fiU0KpdEqY3oWzuhOROyO6Ex7NtHA+PjXJJMHdCdSc0d8LTZ7pux5fWbVwShjthehNscyckd8LTn9aajxVU8zWhuROe/pdu5fj4tNXLD0Tr5k5w/y7Vx8+0nT9LtV8ShjthehPa5k5I7oTsTijuBHMnVHdCcye88Zn+/Y9MJ2G4E54/0+fk65eE/viZPqf3HSG5E7I74ekz3bbjt/u2zUuCuROqO6G5E7o74fEzPY+/Tbe0XRKmN2Fs7oTkTsjuhOJOMHdCdSc0d0J/I+HymR7DnfD8mT7yci1fEubjZ/r8OPSOkNwJ2Z3weE9/9W/Rae6E6k5o7oTuThjuBPdPTm6OTr8NUUpAm0Upym0WpSi3WZSi3GZRinKbRSnKbRalKLdZlKLcZlGKcptFKcptFqUot1mUotxmUYpym0Upym0WpSi3WZSi3GZRinKbRSnKbRalKLdZlKLcZlEKWZtFKWRtFqUot1mUotxmUYpym0Upym0WpSi3WZSi3GZRinKbRSnKbRalKLdZlKLcZlGKcpsF7KV3rXCbBeyld61wm0Upym0WsJfetcJtFqUot1mUQtZmASGqNgsIUbVZQIiqzQJCLHvrFKJqsyiFrM2iFLI2i1LI2ixKIWuzKIWszaIUujaLUujaLEqha7Moha7NohS6NotS6NosSqFrsyiFrs2iFLo2i1Lo2ixKoWuzKIWuzaIUujaLUujaLEqha7Moha7NohS6NotS6NosSqFrsyiFrs2iFLo2i1Lo2ixKoWuzKIWuzaIUujaLUujaLEqha7Moha7NohS6NotS6NosSuFrs1hOZG0Wy4mszWI5kd0Wv5zI2iyWE1mbxXLi+zCOrs1iOZG1WSwnsjaL5WSETmTzyTbRNotdXPMq7l1c8ybuXVy0zQLmmjdxw1zzJm6Ya97EDXOTNde8iRvmmm0WMJfdoKJtFjCX3aGibRYwl92hom0WMJfdoaJtFjCX3aHObRYgdHeCb5sFCNOb4NxmAUJyJ2R3gm+bBQjmTqjuhOZO8G2zAGG4E6Y3wbnNAoTkTvBtswChuRN872TcCc5tFiC4f5ec2yxAGO6E6U1wbrMAIbkTsjuhuBPMnVDdCc2d4NtmAcJwJ/i2WeDPWb5tFiAkd0J2J/i2WYBg7oTqTmjuhO5O8G2zAGF6E5zbLEBI7oTsTijuBHMnVHdCcyf4tlmAMNwJvm0WOATh22YBQnInZHeCb5sFCOZOqO6E5k7o7oThTnD/5MS7zcJmQJvFDhFus4C97g3bsNe9YRv2ujdsw96k7XVv2Ia97g3bsNe9YRv2ujdsw163zWK3F26zgL30rhVus4C99K4VbrOAvfSuFW6zgL30rhVus4A9VZvFLsTVZgEh3Ru2Ya97wzbsdW/Yhr1J2+vesA173Ru2Ya97wzbsdW/Yhr3uDdu7vXCbBeyld61wmwXspXetcJsF7KV3rXCbBeyld61wmwXspXctV5sFhKjaLCBE1WYBIao2Cwix7K1TiKrNAkJUbRYQomqzgBBVmwWEqNosdiGuNgsIBT/2X133DyWyNgsokV2gh+NaZG0WUCJrs4ASWZsFlMjaLKBE1mYBJbI2CyiRtVnsSmxtFlAia7OAElmbBZTI2iygZHxKZG0WUCJrs4ASWZsFlMjaLKBE1maxK7G1WUCJrM0CSmRtFlAia7OAkvEpkbVZQImszQJKZG0WUCJrs4ASWZvFijKRtVksJ7I2i+VE1maxnNhui598bRbLiazNYjnxfRhH12axnMjaLJYTWZvFcjJCJ7L5VFtAPniHCOeDYa+bWYK9bmYJ9rqZJdibtL1uZgn2upkl2OtmlmCvm1mCvW4+eLcXzgfDXnrXCueDYS+9a4XzwbCX3rXC+WDYS+9a4Xww7KnywbsQVz4YQrqZJdjrZpZgr5tZgr1J2+tmlmCvm1mCvW5mCfa6mSXY62aWdnvhfDDspXetcD4Y9tK7VjgfDHvpXSucD4a99K4VzgfDXnrXcuWDIUSVD4YQVT4YQlT5YAix7K1TiCofDCGqfDCEqPLBEKLKB0OIKh+8C3HlgyEU/Nh/FaCEElk+GEpkRxJxXIssHwwlsnwwlMjywVAiywdDiSwfDCWyfDCUyPLBuxJbPhhKZPlgKJHlg6FElg+GkvEpkeWDoUSWD4YSWT4YSmT5YCiR5YN3JbZ8MJTI8sFQIssHQ4ksHwwl41MiywdDiSwfDCWyfDCUyPLBUCLLB68oE1k+eDmR5YOXE1k+eDnx5e/o8sHLiSwfvJz4PoyjywcvJ7J88HIiywcvJyN0IptPbdzkg2sdx+tqH3+GvPHA+O4zyHwmmc9N1PobhRKbUGYTKmxCxiZU2YQamxDbnE5sgzqxTerMNqkz26TObJM6s03qzDapM9ukzo6T+mT0AMbzefrG06cQmmRCZWMTSmxCmU2osAkZm1BlE2psQp1NiG1SF7ZJbWyT2tgmtbFNamOb1MY2qY1tUhvbpDbHSX0yRgBj+jPqFsBIAYwcwCgBDAtg1ABGC2AEPOft+c/uV4f2QckhlOf/3f/iD3ltRryXvoVQQv7rd3sD5c8n50GpIZQWQukhlBFCecfz8ueTt/hz9hZCSSGUHEIpIRQLodQQSguh9BDKCKG84dn/4igpjo5sIZQUQskhlBJCsRBKDaG0EEoPobzh2f/ikDAoM4Jyd4z87ZgS8W+LtFkMpsZgWgxmhmDecCLwrzApBpNjMP7PTd+uD9f282V9fPGhq22HjuX65y8d5y89c7P/+/Tp7H//KHcXH6riU1X8+imWME+y5lnWvMiam6x5lTVvsuayGzTJrtAku0Oz7A7Nsjs0y+7QLLtDs+wOzbI7NLvt0JPQ3QmPd1I9PpCyapeE6U0omzshuROyO+HxbBvHw2OjXBLMnVDdCc2d8PSZrtvxpXUbl4ThTpjeBNvcCcmd8PSnteZjBdV8TWjuhKf/pVs57iZo9fID0bq5E9y/S/XxM23nz1Ltl4ThTpjehLa5E5I7IbsTijvB3AnVndDcCW98pn+/weUkDHfC82f6nHz9ktAfP9Pn9L4jJHdCdic8fabbdvx237Z5STB3QnUnNHdCdyc8fqbncSampe2SML0JY3MnJHdCdicUd4K5E6o7obkT+hsJl8/0GO6E58/0kWxo+ZIwHz/T58ehd4TkTsjuhMd7+qt/i05zJ1R3QnMndHfCcCe4f3Jyc6D0bYhxc1rtP15Omc6/o1i+hKTg65XfeNvQuDvrJGOfpe2LtL1J21dp+yZt36Xth7T9VLbP0rs2S+/aLL1rs/SuzdK7Nkvv2iy9a7P0rs3Suzaz7NpDqLCsz1MoeCO+8XqwcXfqTca+SNubtH2Vtm/S9l3afkjbT2V726TtpXetSe9ak961Jr1rTXrXmvSuNelda9K71qR3bWXZtacQy/o8hVg24inEsuROIZa9dQqxrKJTiGW7nEIsC+MUYtkBpxDLWD+EGtukbsGP/VcXM4+7RMn3KpG1U4+7rMS3fpd65lMqfErRjfBfXIY97rIS36s0+JQmndLY+JTC59Kf73sedwGR71UqfErGp1T5lBqfUudTGnxKk05pbnxK0dP7i3vBx10U6HuVCp+S8SlVPqXGp9T5lAaf0qRTurvj39Hpz4UAyykROmVCp0r3gc5dL8H3OnVCJ74P41J0MvCvnDKhUyF0MkIntvnURdssdnHNq7h3cc2buHdx0TYLmGvexA1zzZu4Ya55EzfMTdZc8yZumGu2WcBcdoOKtlnAXHaHirZZwFx2h4q2WcBcdoeKtlnAXHaHOrdZgNDdCb5tFiBMb4JzmwUIyZ2Q3Qm+bRYgmDuhuhOaO8G3zQKE4U6Y3gTnNgsQkjvBt80ChOZO8L2TcSc4t1mA4P5dcm6zAGG4E6Y3wbnNAoTkTsjuhOJOMHdCdSc0d4JvmwUIw53g22aBP2f5tlmAkNwJ2Z3g22YBgrkTqjuhuRO6O8G3zQKE6U1wbrMAIbkTsjuhuBPMnVDdCc2d4NtmAcJwJ/i2WeAQhG+bBQjJnZDdCb5tFiCYO6G6E5o7obsThjvB/ZMT7zaL2QLaLHaIcJsF7HVv2Ia97g3bsNe9YRv2Jm2ve8M27HVv2Ia97g3bsNe9YRv2um0Wu71wmwXspXetcJsF7KV3rXCbBeyld61wmwXspXetcJsF7KnaLHYhrjYLCOnesA173Ru2Ya97wzbsTdpe94Zt2OvesA173Ru2Ya97wzbsdW/Y3u2F2yxgL71rhdssYC+9a4XbLGAvvWuF2yxgL71rhdssYC+9a7naLCBE1WYBIao2CwhRtVlAiGVvnUJUbRYQomqzgBBVmwWEqNosIETVZrELcbVZQCj4sf/qun8okbVZQInsAj0c1yJrs4ASWZsFlMjaLKBE1mYBJbI2CyiRtVlAiazNYldia7OAElmbBZTI2iygRNZmASXjUyJrs4ASWZsFlMjaLKBE1mYBJbI2i12Jrc0CSmRtFlAia7OAElmbBZSMT4mszQJKZG0WUCJrs4ASWZsFlMjaLFaUiazNYjmRtVksJ7I2i+VEdlv8ciJrs1hOZG0Wy4nvwzi6NovlRNZmsZzI2iyWkxE6cc2nuRX/fDAguvngZS+bWVr2spmlZS+bWVr2Jm0vm1la9rKZpWUvm1la9rKZpWUvmw+GvW4+eNlL71rdfPCyl961uvngZS+9a3Xzwcteetfq5oOXPVM+GEJU+eAlJJtZWvaymaVlL5tZWvYmbS+bWVr2spmlZS+bWVr2spmlZS+bWYK9bj542UvvWt188LKX3rW6+eBlL71rdfPBy1561+rmg5e99K6lygcvIaZ88BJiygcvIaZ88BJi2VunEFM+eAkx5YOXEFM+eAkx5YOXEFM+GEJU+eAlFPzYfxGgXEpc+eClxHUkcR3X4soHLyWufPBS4soHLyWufPBS4soHLyWufPBS4soHQ4ksH7yUuPLBS4krH7yUuPLBS8n4lLjywUuJKx+8lLjywUuJKx+8lLjywVAiywcvJa588FLiygcvJa588FIyPiWufPBS4soHLyWufPBS4soHLyWufPBHlIkrH/zhxJUP/nDiygd/OPHl79jywR9OXPngDye+D+PY8sEfTlz54A8nrnzwh5MROpHNp5T+edrjbNv490st1z9/6Tj/nTI3+/Wl9sJfx3fxoSo+VcXTJmueZM2zrHmRNTdZ8ypr3mTNZTdokl2hSXaHZtkdmmV3aJbdoVl2h2bZHZpld2h226EnobsTHu+kenxKaNUuCdObUDZ3QnInZHfC49k2jofHRrkkmDuhuhOaO+HpM12340vrNi4Jw50wvQm2uROSO+HpT2vNxwqq+ZrQ3AlP/0u3cnx82urlB6J1cye4f5fq42fazp+l2i8Jw50wvQltcyckd0J2JxR3grkTqjuhuRPe+Ez//kemkzDcCc+f6XPy9UtCf/xMn9P7jpDcCdmd8PSZbtvx233b5iXB3AnVndDcCd2d8PiZnsffplvaLgnTmzA2d0JyJ2R3QnEnmDuhuhOaO6G/kXD5TI/hTnj+TB95uZYvCfPxM31+HHpHSO6E7E54vKe/+rfoNHdCdSc0d0J3Jwx3gvsnJzdHp9+GyCmgzSIn5TaLnJTbLHJSbrPISbnNIiflNouclNssclJus8hJuc0iJ+U2i5yU2yxyUm6zyEm5zSIn5TaLnJTbLHJSbrPISbnNIiflNouclNssclJus8iJrM0iJ7I2i5yU2yxyUm6zyEm5zSIn5TaLnJTbLHJSbrPISbnNIiflNouclNssclJus8hJuc0C9tK7VrjNAvbSu1a4zSIn5TYL2EvvWuE2i5yU2yxyImuzgBBVmwWEqNosIETVZgEhlr11ClG1WeRE1maRE1mbRU5kbRY5kbVZ5ETWZpETXZtFTnRtFjnRtVnkRNdmkRNdm0VOdG0WOdG1WeRE12aRE12bRU50bRY50bVZ5ETXZpETXZtFTnRtFjnRtVnkRNdmkRNdm0VOdG0WOdG1WeRE12aRE12bRU50bRY50bVZ5ETXZpETXZtFTnRtFjnRtVnkRNdmkRNdm0VOdG0WOfG1WSwnsjaL5UTWZrGcyG6LX05kbRbLiazNYjnxfRhH12axnMjaLJYTWZvFcjJCJ7b5NETbLHZxzau4d3HNm7h3cdE2C5hr3sQNc82buGGueRM3zE3WXPMmbphrtlnAXHaDirZZwFx2h4q2WcBcdoeKtlnAXHaHirZZwFx2hzq3WYDQ3Qm+bRYgTG+Cc5sFCMmdkN0Jvm0WIJg7oboTmjvBt80ChOFOmN4E5zYLEJI7wbfNAoTmTvC9k3EnOLdZgOD+XXJuswBhuBOmN8G5zQKE5E7I7oTiTjB3QnUnNHeCb5sFCMOd4NtmgT9n+bZZgJDcCdmd4NtmAYK5E6o7obkTujvBt80ChOlNcG6zACG5E7I7obgTzJ1Q3QnNneDbZgHCcCf4tlngEIRvmwUIyZ2Q3Qm+bRYgmDuhuhOaO6G7E4Y7wf2TE+82i9ID2ix2iHCbBex1b9iGve4N27DXvWEb9iZtr3vDNux1b9iGve4N27DXvWEb9rptFru9cJsF7KV3rXCbBeyld61wmwXspXetcJsF7KV3rXCbBeyp2ix2Ia42Cwjp3rANe90btmGve8M27E3aXveGbdjr3rANe90btmGve8M27HVv2N7thdssYC+9a4XbLGAvvWuF2yxgL71rhdssYC+9a4XbLGAvvWu52iwgRNVmASGqNgsIUbVZQIhlb51CVG0WEKJqs4AQVZsFhKjaLCBE1WaxC3G1WUAo+LH/6rp/KJG1WUCJ7AI9HNcia7OAElmbBZTI2iygRNZmASWyNgsokbVZQImszWJXYmuzgBJZmwWUyNosoETWZgEl41Mia7OAElmbBZTI2iygRNZmASWyNotdia3NAkpkbRZQImuzgBJZmwWUjE+JrM0CSmRtFlAia7OAElmbBZTI2ixWlImszWI5kbVZLCeyNovlRHZb/HIia7NYTmRtFsuJ78M4ujaL5UTWZrGcyNoslpMROpHNJ7OAfPAOEc4Hw143swR73cwS7HUzS7A3aXvdzBLsdTNLsNfNLMFeN7MEe9188G4vnA+GvfSuFc4Hw1561wrng2EvvWuF88Gwl961wvlg2FPlg3chrnwwhHQzS7DXzSzBXjezBHuTttfNLMFeN7MEe93MEux1M0uw180s7fbC+WDYS+9a4Xww7KV3rXA+GPbSu1Y4Hwx76V0rnA+GvfSu5coHQ4gqHwwhqnwwhKjywRBi2VunEFU+GEJU+WAIUeWDIUSVD4YQVT54F+LKB0Mo+LH/KkAJJbJ8MJTIjiTiuBZZPhhKZPlgKJHlg6FElg+GElk+GEpk+WAokeWDdyW2fLAZXT4YSmT5YCiR5YOhZHxKZPlgKJHlg6FElg+GElk+GEpk+eBdiS0fDCWyfDCUyPLBUCLLB0PJ+JTI8sFQIssHQ4ksHwwlsnwwlMjywWZ8+eDlRJYPXk5k+eDlxJe/o8sHLyeyfPBy4vswji4fvJzI8sHLiSwfvJyM0IlqPmWzehejy6OdHwnlMX9xUusXoNxG+vfLc/v0bxB89UnqYaQRRppRpJvYlwcphZFyGKmEkSyMVMNIYTMih82IHDYjctiMKGEzooTNiBI2I0rYjChhM6KEzYgSNiNK2IwoYTOihM0IC5sRFjYjLGxGWNiMsLAZYWEzwsJmhIXNCAubERY2I2rYjKhhM6KGzYgaNiNq2IyoYTOihs2IGjYjatiMqGEzooXNiBY2I1rYjGhhM6KFzYgWNiNa2IxoYTOihc2IFjYjetiM6GEzoofNiB42I3rYjOhhM6KHzYgeNiN62IzoYTNihM2IETYjRtiMGGEzYoTNiBE2I0bYjBhhM2KEzYgRNiNm2IyYYTNihs2IGTYjZtiMmGEzYobNiBk2I2bYjJhhM+Lu3KYLKsWhchyqxKEsDlXjUHFHqba4s1Rb3GGqLW5apLhpkeKmRYqbFiluWqS4aZHipkXgwcvAk5eBRy/jzl6muMOXKe70ZYo7fpnizl+muAOYKe4EZoo7gpnizmCmuEOYKe4UZoo7hpnizmGmuIOYKe4kZoo7ipnizmKmuMOYKe40Zoo7jpnizmOmuAOZKe5EZoo7kpnizmSmuEOZKe5UZoo7lpnizmWmuIOZKe5kZoo7mpnizmamuMOZKe50Zoo7npnizmemuAOaKe6EZoo7opnizmimuEOaKe6UZoo7ppnizmmmuIOaKe6kZoo7qpnizmqmuMOaKe60Zoo7rpnizmumuAObKe7EZoo7spnizmymHngZRdy0iDu2meLObaa4g5sp7uRmiju6meLObqa4w5sp7vRmiju+mUbg3TVx0+LuBOcs531EeX66NugaVcaJKjOnL7561nx2F9Tx6Qq+ul1+9VmSs23264s/vYm7w6FabyL9hDeRf8KbKD/hTdhPeBP1J7yJ9hPeRP8Jb2L8hDfxAzZ23n7Axs53Z8BnKr/exOhfaLUx/v3q/qnIaf9L98XXWjver43829f+ksrRUmUc39a6jRupwihljFKVUaoxSnVGqfEWqV5OqfyF1Gj1+OLR2ucZ2D5pTUqtuxP4362VOLUyp1bh1LJwrb4dH8/s/3PcaFVOrcap1Tm1BqfWpNTKG6dW/JTvdZxard1oZU6twqllnFqVU6txanVOrW+Y8qX90uq/aV38fcfOjyiytV9Tbrf/9CbmD3gTZfsJb+J635QtHZ/p7P/bxhdvosx5fgS0lfCPvG4SQGJvovyEN2E/4U3Un/Am2k94E/0nvInxE97E/AFv4ibRJvYmfsLGtp+wse/yfXPMX2+ila9+AXzvZ/13ScDvlaqMUo1RqjNKjbdI/Yd/6cxtO/oB55bqp//n/ElrUmrdJSG/WytxamVOrcKpZdFaY56zZNdqv2ldHAXJ046NXPJ2fnW9KgH99XFXn5827KdPJ2r933q77X/r7fb/rbc7/rfe7iR/u6XM8+1a//x2z/fQth/wHtIPeA+Z/T30dr6HT2cgf3sPhf491PM9zHT9HuwHvIfw3ylmqucHD6mN69/sWuPU6pxa4xu00qk10o3WpNTq2zdobafW3G60EqdW5tSK/xdpTue/SLP1Gy3j1KrfoNVOrXrz7/ceP+XzOL9bJd19t/o3aJ3frZLnjdbg1JrfoFVPrXKzE0f8lC/t13drthutxKmVv0Hr/I9on/6k9LtW/JTf/8Vyat39vjWMU6t+g9Y5Tq1f/GxV++f6QGO349OVkT5T7Nfr+ouvGy++br72uuuDb3/xuvTi6/KLr7t8lsanmMbN6+zF19UXX9defF1/8XXjxdfN1153fexi/vpr/Oc/3X9+XXrxdfnF15UXX2cvvq6++Lr24usuf172XXQOtHn9uvHi6+Zrr7v+A+pfvC69+Lr84uvKi6+7/nlpx3P0W8T88+vqi69rL76uv/i68eLr5muvu/6U/i9el7563fV/v+tPo//ideXF113/vMzjeU/bdv3AX3/U+TcvbK++sL/6wvHqC+eLL7z+UOxvXnj9D5otnb9zbrP/9sr/95+++uTkIE4J4lgQpwZxWhCnB3FGEGfGcG4+D3k/J2gejKB5MILmwQiaByNoHoygeTCC5sEImgcjaB7MoHkwg+bBDJoHM2gezKB5MN/w/NR+fApYx69f2vfPI39RRgTlrvH5P2HaeS9B29oNJsdgSgzGYjA1BvOf986vl/aXX5pLyM93thhMjcG0GEyPwbxhxLUzLN9yucHMEEzZYjApBpNjMG8Z2PPE2A3GYjA1BtNiMD0GM2IwM2SZ2haDifm1zWJ+bbOYX9ss5tc2i/m1zVoMpsdgRgwmZgrUmClQY6ZAjZkCNWYK1JgpUGOmQI2ZAjVmCtSYKVBjpkCLmQItZgq0mCnQYqZAi5kCLWYKtJgp0GKmQIuZAi1mCvSYKdBjpkCPmQI9Zgr0mCnQY6ZAj5kC3X8KtO2fa0g9Y+P7rySfrqS8ipiP82DUmPnPX5rSGdtI+fNnVXb6DDKfSeZz03rwjUKJTSizCRU2IWMTqmxCjU2IbU4ntkGd2CZ1ZpvUmW1SZ7ZJndkmdWab1JltUmfHSX0yegDj+Tyd6UwWfbpN8uVv7CQTKhubUGITymxChU3I2IQqm1BjE+psQmyTurBNamOb1MY2qY1tUhvbpDa2SW1sk9rYJrU5TuqTMQIY059RtwBGCmDkAEYJYFgAowYwWgAj4Dlvz39297+UHTfPpO3zxPpEySGU5//dU679nL798gOENiPeS99CKCH/9bu9gTK2k/Lpr7GfKTWE0kIoPYQyQijveF76r1so5riijC2EkkIoOYRSQigWQqkhlBZC6SGUEUJ5w7O/r+Tji1O9/B1mbiGUFELJIZQSQrEQSg2htBBKD6G84dlP4yx1TnNeUmYEJW1bDKZE/NviLon/dkyNwbQYzAzBvOFE4F9hUgwmx2ACnpt8fbi2ny/r44sPXW07dCzXP3/pOH/pmdtvRU8vfJSbr0/hKohPVfHrp1jCPMmaZ1nzImtusuZV1rzJmstu0CS7QpPsDs2yOzTL7tAsu0Oz7A7Nsjs0y+7Q7LZDT0J3JzzeSWeHiFW7JExvQtncCcmdkN0Jj2fbOB4eG+WSYO6E6k5o7oSnz3Tdzusdt3FJGO6E6U2wzZ2Q3AlPf1prPlZQzdeE5k54+l+6nRXhrV5+IFo3d4L7d6k+fqbt/Fmq/ZIw3AnTm9A2d0JyJ2R3QnEnmDuhuhOaO+GNz3Rrl4ThTnj+TJ+Tr18S+uNn+pzed4TkTsjuhKfPdNvO+5y3eUkwd0J1JzR3QncnPH6m53EmpqXtkjC9CWNzJyR3QnYnFHeCuROqO6G5E/obCZfP9BjuhOfP9JFsaPmSMB8/0+fHoXeE5E7I7oTHe/qrf4tOcydUd0JzJ3R3wnAnuH9ycnOg9G2IfnNaLTU7z+223//hcfF3FEvn31EsX0JuTiv+N0o9r8C08cUXv/G2oX531knGPkvbF2l7k7av0vZN2r5L2w9p+6lsn6V3bZbetVl612bpXZuld22W3rVZetdm6V2bpXdtZtm1h1BhWZ+nUPBGfOP1YP3u1JuMfZG2N2n7Km3fpO27tP2Qtp/K9rZJ20vvWpPetSa9a01615r0rjXpXWvSu9akd61J79rKsmtPIZb1eQqxbMRTiGXJnUIse+sUYllFpxDLdjmFWBbGKcSyA04hlrF+CDW2Sd2CH/uvLmbud4mS71UK/sH+6nKxfpeV+NbvUs98SoVPqUUr/fky7H6XlfhepcGnNOmUxsanFD6X/nzfc78LiHyvUuFTMj6lyqfU+JQ6n9LgU5p0SnPjU4qe3l/cC97vokDfq1T4lIxPqfIpNT6lzqc0+JQmndLdHf+OTn8uBFhOidApEzpVug907noJvtepEzrxfRiXopOBf+WUCZ0KoZMROrHNpynaZrGLa17FvYtr3sS9i4u2WcBc8yZumGvexA1zzZu4YW6y5po3ccNcs80C5rIbVLTNAuayO1S0zQLmsjtUtM0C5rI7VLTNAuayO9S5zQKE7k7wbbMAYXoTnNssQEjuhOxO8G2zAMHcCdWd0NwJvm0WIAx3wvQmOLdZgJDcCb5tFiA0d4LvnYw7wbnNAgT375JzmwUIw50wvQnObRYgJHdCdicUd4K5E6o7obkTfNssQBjuBN82C/w5y7fNAoTkTsjuBN82CxDMnVDdCc2d0N0Jvm0WIExvgnObBQjJnZDdCcWdYO6E6k5o7gTfNgsQhjvBt80ChyB82yxASO6E7E7wbbMAwdwJ1Z3Q3AndnTDcCe6fnHi3WYwR0GaxQ4TbLGCve8M27HVv2Ia97g3bsDdpe90btmGve8M27HVv2Ia97g3bsNdts9jthdssYC+9a4XbLGAvvWuF2yxgL71rhdssYC+9a4XbLGBP1WaxC3G1WUBI94Zt2OvesA173Ru2YW/S9ro3bMNe94Zt2OvesA173Ru2Ya97w/ZuL9xmAXvpXSvcZgF76V0r3GYBe+ldK9xmAXvpXSvcZgF76V3L1WYBIao2CwhRtVlAiKrNAkIse+sUomqzgBBVmwWEqNosIETVZgEhqjaLXYirzQJCwY/9V9f9Q4mszQJKZBfo4bgWWZsFlMjaLKBE1mYBJbI2CyiRtVlAiazNAkpkbRa7ElubBZTI2iygRNZmASWyNgsoGZ8SWZsFlMjaLKBE1mYBJbI2CyiRtVnsSmxtFlAia7OAElmbBZTI2iygZHxKZG0WUCJrs4ASWZsFlMjaLKBE1maxokxkbRbLiazNYjmRtVksJ7Lb4pcTWZvFciJrs1hOfB/G0bVZLCeyNovlRNZmsZyM0IlsPs0akA/eIcL5YNjrZpZgr5tZgr1uZgn2Jm2vm1mCvW5mCfa6mSXY62aWYK+bD97thfPBsJfetcL5YNhL71rhfDDspXetcD4Y9tK7VjgfDHuqfPAuxJUPhpBuZgn2upkl2OtmlmBv0va6mSXY62aWYK+bWYK9bmYJ9rqZpd1eOB8Me+ldK5wPhr30rhXOB8NeetcK54NhL71rhfPBsJfetVz5YAhR5YMhRJUPhhBVPhhCLHvrFKLKB0OIKh8MIap8MISo8sEQosoH70Jc+WAIBT/2XwUooUSWD4YS2ZFEHNciywdDiSwfDCWyfDCUyPLBUCLLB0OJLB8MJbJ88K7Elg+GElk+GEpk+WAokeWDoWR8SmT5YCiR5YOhRJYPhhJZPhhKZPngXYktHwwlsnwwlMjywVAiywdDyfiUyPLBUCLLB0OJLB8MJbJ8MJTI8sErykSWD15OZPng5USWD15OfPk7unzwciLLBy8nvg/j6PLBy4ksH7ycyPLBy8kInbjmU93KP097nG0b/36p5frnLx3nv1PmZr++1P77X8chPlTFp6p42mTNk6x5ljUvsuYma15lzZusuewGTbIrNMnu0Cy7Q7PsDs2yOzTL7tAsu0Oz7A7Nbjv0JHR3wuOdVI9PCa3aJWF6E8rmTkjuhOxOeDzbxvHw2CiXBHMnVHdCcyc8fabrdnxp3cYlYbgTpjfBNndCcic8/Wmt+VhBNV8Tmjvh6X/pVo6PT1u9/EC0bu4E9+9SffxM2/mzVPslYbgTpjehbe6E5E7I7oTiTjB3QnUnNHfCG5/p3//IdBKGO+H5M31Ovn5J6I+f6XN63xGSOyG7E54+0207frtv27wkmDuhuhOaO6G7Ex4/0/P423RL2yVhehPG5k5I7oTsTijuBHMnVHdCcyf0NxIun+kx3AnPn+kjL9fyJWE+fqbPj0PvCMmdkN0Jj/f0V/8WneZOqO6E5k7o7oThTnD/5OTm6PTbEKn4t1kAottmsexlb9he9rI3bC972Ru2l71J28vesL3sZW/YXvayN2wve9kbtpe9bJsF7HXbLJa99K7VbbNY9tK7VrfNYtlL71rdNotlL71rddsslj1TmwWEqNoslpDsDdvLXvaG7WUve8P2sjdpe9kbtpe97A3by172hu1lL3vD9rKXvWEb9rptFsteetfqtlkse+ldq9tmseyld61um8Wyl961um0Wy15611K1WSwhpjaLJcTUZrGEmNoslhDL3jqFmNoslhBTm8USYmqzWEJMbRZLiKnNAkJUbRZLKPix/+K6/6XE1WaxlLgu0FvHtbjaLJYSV5vFUuJqs1hKXG0WS4mrzWIpcbVZLCWuNgsokbVZLCWuNoulxNVmsZS42iyWkvEpcbVZLCWuNoulxNVmsZS42iyWElebBZTI2iyWElebxVLiarNYSlxtFkvJ+JS42iyWElebxVLiarNYSlxtFkuJq83iI8rE1Wbx4cTVZvHhxNVm8eFEdlv8cuJqs/hw4mqz+HDi+zCOrc3iw4mrzeLDiavN4sPJCJ3I5lPeRNssdnHNq7h3cc2buHdx0TYLmGvexA1zzZu4Ya55EzfMTdZc8yZumGu2WcBcdoOKtlnAXHaHirZZwFx2h4q2WcBcdoeKtlnAXHaHOrdZgNDdCb5tFiBMb4JzmwUIyZ2Q3Qm+bRYgmDuhuhOaO8G3zQKE4U6Y3gTnNgsQkjvBt80ChOZO8L2TcSc4t1mA4P5dcm6zAGG4E6Y3wbnNAoTkTsjuhOJOMHdCdSc0d4JvmwUIw53g22aBP2f5tlmAkNwJ2Z3g22YBgrkTqjuhuRO6O8G3zQKE6U1wbrMAIbkTsjuhuBPMnVDdCc2d4NtmAcJwJ/i2WeAQhG+bBQjJnZDdCb5tFiCYO6G6E5o7obsThjvB/ZMT7zaLPAPaLHaIcJsF7HVv2Ia97g3bsNe9YRv2Jm2ve8M27HVv2Ia97g3bsNe9YRv2um0Wu71wmwXspXetcJsF7KV3rXCbBeyld61wmwXspXetcJsF7KnaLHYhrjYLCOnesA173Ru2Ya97wzbsTdpe94Zt2OvesA173Ru2Ya97wzbsdW/Y3u2F2yxgL71rhdssYC+9a4XbLGAvvWuF2yxgL71rhdssYC+9a7naLCBE1WYBIao2CwhRtVlAiGVvnUJUbRYQomqzgBBVmwWEqNosIETVZrELcbVZQCj4sf/qun8okbVZQInsAj0c1yJrs4ASWZsFlMjaLKBE1mYBJbI2CyiRtVlAiazNYldia7OAElmbBZTI2iygRNZmASXjUyJrs4ASWZsFlMjaLKBE1mYBJbI2i12Jrc0CSmRtFlAia7OAElmbBZSMT4mszQJKZG0WUCJrs4ASWZsFlMjaLFaUiazNYjmRtVksJ7I2i+XEdlv85GuzWE5kbRbLie/DOLo2i+VE1maxnMjaLJaTETqRzafSAvLBO0Q4Hwx73cwS7HUzS7DXzSzB3qTtdTNLsNfNLMFeN7MEe93MEux188G7vXA+GPbSu1Y4Hwx76V0rnA+GvfSuFc4Hw1561wrng2FPlQ/ehbjywRDSzSzBXjezBHvdzBLsTdpeN7MEe93MEux1M0uw180swV43s7TbC+eDYS+9a4XzwbCX3rXC+WDYS+9a4Xww7KV3rXA+GPbSu5YrHwwhqnwwhKjywRCiygdDiGVvnUJU+WAIUeWDIUSVD4YQVT4YQlT54F2IKx8MoeDH/qsAJZTI8sFQIjuSiONaZPlgKJHlg6FElg+GElk+GEpk+WAokeWDoUSWD96V2PLBUCLLB0OJLB8MJbJ8MJSMT4ksHwwlsnwwlMjywVAiywdDiSwfvCux5YOhRJYPhhJZPhhKZPlgKBmfElk+GEpk+WAokeWDoUSWD4YSWT54RZnI8sHLiSwfvJzI8sHLiS9/R5cPXk5k+eDlxPdhHF0+eDmR5YOXE1k+eDkZoRPZfLJxkw+udRyvq338GfLGA+O7zyDzmWQ+N1HrbxRKbEKZTaiwCRmbUGUTamxCbHM6sQ3qxDapM9ukzmyTOrNN6sw2qTPbpM5skzo7TuqT0QMYz+fpG0+fQmiSCZWNTSixCWU2ocImZGxClU2osQl1NiG2SV3YJrWxTWpjm9TGNqmNbVIb26Q2tkltbJPaHCf1yRgBjOnPqFsAIwUwcgCjBDAsgFEDGC2AEfCct+c/u18d2gclh1Ce/3f/iz/ktRnxXvoWQgn5r9/tDZQ/n5wHpYZQWgilh1BGCOUdz8ufT97iz9lbCCWFUHIIpYRQLIRSQygthNJDKCOE8oZn/4ujpDg6soVQUgglh1BKCMVCKDWE0kIoPYTyhmf/i0PCoMwIyt0x8rdjSsS/LdJmMZgag2kxmBmCecOJwL/CpBhMjsH4Pzd1uz5c28+X9fHFh662HTqW65+/dJy/9MzN/u/Tp7P//aPcXXyoik9V8eunWMI8yZpnWfMia26y5lXWvMmay27QJLtCk+wOzbI7NMvu0Cy7Q7PsDs2yOzTL7tDstkNPQncnPN5J9fhAyqpdEqY3oWzuhOROyO6Ex7NtHA+PjXJJMHdCdSc0d8LTZ7pux5fWbVwShjthehNscyckd8LTn9aajxVU8zWhuROe/pdu5biboNXLD0Tr5k5w/y7Vx8+0nT9LtV8ShjthehPa5k5I7oTsTijuBHMnVHdCcye88Zn+/QaXkzDcCc+f6XPy9UtCf/xMn9P7jpDcCdmd8PSZbtvx233b5iXB3AnVndDcCd2d8PiZnseZmJa2S8L0JozNnZDcCdmdUNwJ5k6o7oTmTuhvJFw+02O4E54/00eyoeVLwnz8TJ8fh94RkjshuxMe7+mv/i06zZ1Q3QnNndDdCcOd4P7Jyc2B0rch2s1ptf94OWU6/45i+RKSgq9XfuNtQ+3urJOMfZa2L9L2Jm1fpe2btH2Xth/S9lPZPkvv2iy9a7P0rs3SuzZL79osvWuz9K7N0rs2S+/azLJrD6HCsj5PoeCN+MbrwdrdqTcZ+yJtb9L2Vdq+Sdt3afshbT+V7W2TtpfetSa9a01615r0rjXpXWvSu9akd61J71qT3rWVZdeeQizr8xRi2YinEMuSO4VY9tYpxLKKTiGW7XIKsSyMU4hlB5xCLGP9EGpsk7oFP/ZfXczc7hIl36tE1k7d7rIS3/pd6plPqfApRTfCf3EZdrvLSnyv0uBTmnRKY+NTCp9Lf77vud0FRL5XqfApGZ9S5VNqfEqdT2nwKU06pbnxKUVP7y/uBW93UaDvVSp8SsanVPmUGp9S51MafEqTTunujn9Hpz8XAiynROiUCZ0q3Qc6d70E3+vUCZ34PoxL0cnAv3LKhE6F0MkIndjmUxdts9jFNa/i3sU1b+LexUXbLGCueRM3zDVv4oa55k3cMDdZc82buGGu2WYBc9kNKtpmAXPZHSraZgFz2R0q2mYBc9kdKtpmAXPZHercZgFCdyf4tlmAML0Jzm0WICR3QnYn+LZZgGDuhOpOaO4E3zYLEIY7YXoTnNssQEjuBN82CxCaO8H3Tsad4NxmAYL7d8m5zQKE4U6Y3gTnNgsQkjshuxOKO8HcCdWd0NwJvm0WIAx3gm+bBf6c5dtmAUJyJ2R3gm+bBQjmTqjuhOZO6O4E3zYLEKY3wbnNAoTkTsjuhOJOMHdCdSc0d4JvmwUIw53g22aBQxC+bRYgJHdCdif4tlmAYO6E6k5o7oTuThjuBPdPTrzbLHoLaLPYIcJtFrDXvWEb9ro3bMNe94Zt2Ju0ve4N27DXvWEb9ro3bMNe94Zt2Ou2Wez2wm0WsJfetcJtFrCX3rXCbRawl961wm0WsJfetcJtFrCnarPYhbjaLCCke8M27HVv2Ia97g3bsDdpe90btmGve8M27HVv2Ia97g3bsNe9YXu3F26zgL30rhVus4C99K4VbrOAvfSuFW6zgL30rhVus4C99K7larOAEFWbBYSo2iwgRNVmASGWvXUKUbVZQIiqzQJCVG0WEKJqs4AQVZvFLsTVZgGh4Mf+q+v+oUTWZgElsgv0cFyLrM0CSmRtFlAia7OAElmbBZTI2iygRNZmASWyNotdia3NAkpkbRZQImuzgBJZmwWUjE+JrM0CSmRtFlAia7OAElmbBZTI2ix2JbY2CyiRtVlAiazNAkpkbRZQMj4lsjYLKJG1WUCJrM0CSmRtFlAia7NYUSayNovlRNZmsZzI2iyWE9lt8cuJrM1iOZG1WSwnvg/j6NoslhNZm8VyImuzWE5G6EQ2n0YJyAfvEOF8MOx1M0uw180swV43swR7k7bXzSzBXjezBHvdzBLsdTNLsNfNB+/2wvlg2EvvWuF8MOyld61wPhj20rtWOB8Me+ldK5wPhj1VPngX4soHQ0g3swR73cwS7HUzS7A3aXvdzBLsdTNLsNfNLMFeN7MEe93M0m4vnA+GvfSuFc4Hw1561wrng2EvvWuF88Gwl961wvlg2EvvWq58MISo8sEQosoHQ4gqHwwhlr11ClHlgyFElQ+GEFU+GEJU+WAIUeWDdyGufDCEgh/7rwKUUCLLB0OJ7EgijmuR5YOhRJYPhhJZPhhKZPlgKJHlg6FElg+GElk+eFdiywdDiSwfDCWyfDCUyPLBUDI+JbJ8MJTI8sFQIssHQ4ksHwwlsnzwrsSWD4YSWT4YSmT5YCiR5YOhZHxKZPlgKJHlg6FElg+GElk+GEpk+eAVZSLLBy8nsnzwciLLBy8nvvwdXT54OZHlg5cT34dxdPng5USWD15OZPng5WSETmTzaaZ/nvY42zb+/VLL9c9fOs5/p8zNfn2pvfDX8V18qIpPVfG0yZonWfMsa15kzU3WvMqaN1lz2Q2aZFdokt2hWXaHZtkdmmV3aJbdoVl2h2bZHZrdduhJ6O6ExzupHp8SWrVLwvQmlM2dkNwJ2Z3weLaN4+GxUS4J5k6o7oTmTnj6TNft+NK6jUvCcCdMb4Jt7oTkTnj601rzsYJqviY0d8LT/9KtHB+ftnr5gWjd3Anu36X6+Jm282ep9kvCcCdMb0Lb3AnJnZDdCcWdYO6E6k5o7oQ3PtO//5HpJAx3wvNn+px8/ZLQHz/T5/S+IyR3QnYnPH2m23b8dt+2eUkwd0J1JzR3QncnPH6m5/G36Za2S8L0JozNnZDcCdmdUNwJ5k6o7oTmTuhvJFw+02O4E54/00deruVLwnz8TJ8fh94RkjshuxMe7+mv/i06zZ1Q3QnNndDdCcOd4P7Jyc3R6Xch2pb82ywA0W2zWPayN2wve9kbtpe97A3by96k7WVv2F72sjdsL3vZG7aXvewN28tets0C9rptFsteetfqtlkse+ldq9tmseyld61um8Wyl961um0Wy56pzQJCVG0WS0j2hu1lL3vD9rKXvWF72Zu0vewN28te9obtZS97w/ayl71he9nL3rANe902i2UvvWt12yyWvfSu1W2zWPbSu1a3zWLZS+9a3TaLZS+9a6naLJYQU5vFEmJqs1hCTG0WS4hlb51CTG0WS4ipzWIJMbVZLCGmNoslxNRmASGqNoslFPzYf3Hd/1LiarNYSlwX6K3jWlxtFkuJq81iKXG1WSwlrjaLpcTVZrGUuNoslhJXmwWUyNoslhJXm8VS4mqzWEpcbRZLyfiUuNoslhJXm8VS4mqzWEpcbRZLiavNAkpkbRZLiavNYilxtVksJa42i6VkfEpcbRZLiavNYilxtVksJa42i6XE1WbxEWXiarP4cOJqs/hw4mqz+HDiui3+w4mrzeLDiavN4sOJ78M4tjaLDyeuNosPJ642iw8nI3Rim09Ds80C4pJXcUNc8iZuiGu2WSxzyZu4l7nkTdzLXPIm7mVusuaSN3Evc8k2i2Uuu0E12yyWuewO1WyzWOayO1SzzWKZy+5QzTaLZS67Q33bLBahuxNc2ywWYXoTfNssFiG5E7I7wbXNYhHMnVDdCc2d4NpmsQjDnTC9Cb5tFouQ3AmubRaL0NwJrncyglA3d4L7d8m3zWIRhjthehN82ywWIbkTsjuhuBPMnVDdCc2d4NpmsQjDneDaZrH+nOXaZrEIyZ2Q3QmubRaLYO6E6k5o7oTuTnBts1iE6U3wbbNYhOROyO6E4k4wd0J1JzR3gmubxSIMd4Jrm8U6BOHaZrEIyZ2Q3QmubRaLYO6E6k5o7oTuThjuBPdPTrzbLFIPaLPYIcJtFrDXvWEb9ro3bMNe94Zt2Ju0ve4N27DXvWEb9ro3bMNe94Zt2Ou2Wez2wm0WsJfetcJtFrCX3rXCbRawl961wm0WsJfetcJtFrCnarPYhbjaLCCke8M27HVv2Ia97g3bsDdpe90btmGve8M27HVv2Ia97g3bsNe9YXu3F26zgL30rhVus4C99K4VbrOAvfSuFW6zgL30rhVus4C99K7larOAEFWbBYSo2iwgRNVmASGWvXUKUbVZQIiqzQJCVG0WEKJqs4AQVZvFLsTVZgGh4Mf+q+v+oUTWZgElsgv0cFyLrM0CSmRtFlAia7OAElmbBZTI2iygRNZmASWyNotdia3NAkpkbRZQImuzgBJZmwWUjE+JrM0CSmRtFlAia7OAElmbBZTI2ix2JbY2CyiRtVlAiazNAkpkbRZQMj4lsjYLKJG1WUCJrM0CSmRtFlAia7NYUSayNovlRNZmsZzI2iyWE9lt8cuJrM1iOZG1WSwnvg/j6NoslhNZm8VyImuzWE5G6EQ2n7IF5IN3iHA+GPa6mSXY62aWYK+bWYK9SdvrZpZgr5tZgr1uZgn2upkl2Ovmg3d74Xww7KV3rXA+GPbSu1Y4Hwx76V0rnA+GvfSuFc4Hw54qH7wLceWDIaSbWYK9bmYJ9rqZJdibtL1uZgn2upkl2OtmlmCvm1mCvW5mabcXzgfDXnrXCueDYS+9a4XzwbCX3rXC+WDYS+9a4Xww7KV3LVc+GEJU+WAIUeWDIUSVD4YQy946hajywRCiygdDiCofDCGqfDCEqPLBuxBXPhhCwY/9VwFKKJHlg6FEdiQRx7XI8sFQIssHQ4ksHwwlsnwwlMjywVAiywdDiSwfvCux5YOhRJYPhhJZPhhKZPlgKBmfElk+GEpk+WAokeWDoUSWD4YSWT54V2LLB0OJLB8MJbJ8MJTI8sFQMj4lsnwwlMjywVAiywdDiSwfDCWyfPCKMpHlg5cTWT54OZHlg5cTX/6OLh+8nMjywcuJ78M4unzwciLLBy8nsnzwcjJCJ6r5VFK5K0ss7YBY/tXpniyfr7uOIf3F69KLr8svvq7899flut3FC/No50dlecxf3//U+sV/gNxG+vfLc/v0bzN89UnqYaQRRppRpJs4nAcphZFyGKmEkSyMVMNIYTMih82IHDYjctiMKGEzooTNiBI2I0rYjChhM6KEzYgSNiNK2IwoYTOihM0IC5sRFjYjLGxGWNiMsLAZYWEzwsJmhIXNCAubERY2I2rYjKhhM6KGzYgaNiNq2IyoYTOihs2IGjYjatiMqGEzooXNiBY2I1rYjGhhM6KFzYgWNiNa2IxoYTOihc2IFjYjetiM6GEzoofNiB42I3rYjOhhM6KHzYgeNiN62IzoYTNihM2IETYjRtiMGGEzYoTNiBE2I0bYjBhhM2KEzYgRNiNm2IyYYTNihs2IGTYjZtiMmGEzYobNiBk2I2bYjJhhM+LuPKsLKsWhchyqxKEsDlXjUHFHqba4s1Rb3GGqLW5apLhpkeKmRYqbFiluWqS4aZHipkXgwcvAk5eBRy/jzl6muMOXKe70ZYo7fpnizl+muAOYKe4EZoo7gpnizmCmuEOYKe4UZoo7hpnizmGmuIOYKe4kZoo7ipnizmKmuMOYKe40Zoo7jpnizmOmuAOZKe5EZoo7kpnizmSmuEOZKe5UZoo7lpnizmWmuIOZKe5kZoo7mpnizmamuMOZKe50Zoo7npnizmemuAOaKe6EZoo7opnizmimuEOaKe6UZoo7ppnizmmmuIOaKe6kZoo7qpnizmqmuMOaKe60Zoo7rpnizmumuAObKe7EZoo7spnizmymHngZRdy0iDu2meLObaa4g5sp7uRmiju6meLObqa4w5sp7vRmiju+mUbg3TVx0+LuBOcs5z1NeX66TukaVcaJKjOnL7561nx2OtTx6WrCul1+9VketG3264s/vYm7w6FabyL9hDeRf8KbKD/hTdhPeBP1J7yJ9hPeRP8Jb2L8hDfxAzZ23n7Axs53Z8BnKr/exOhfaLUx/v3q/qngav9L98XXWjver43829f+ksrRUmUc39a6jRupwihljFKVUaoxSnVGqfEWqV5OqfyF1Gj1+OLR2ucZ2D5pTUqtuxP4362VOLUyp1bh1LJwrb4dH8/s/3PcaFVOrcap1Tm1BqfWpNTKG6dW/JTvdZxard1oZU6twqllnFqVU6txanVOrW+Y8qX90uq/aV38fcfOjyiytV9TLpt9ehPzB7yJsv2EN3G9b8qWjs909v9t44s3UeY8PwLaSvhHXjcJILE3UX7Cm7Cf8CbqT3gT7Se8if4T3sT4CW9i/oA3cZNoE3sTP2Fj20/Y2Hf5vjnmrzfRyle/AL73s/67JOD3SlVGqcYo1Rmlxluk/sO/dOa2Hb2Jc0v10/9z/qQ1KbXukpDfrZU4tTKnVuHUsmitMc9Zsmu137QujoLkacdGLp+KPetVOeqvj7v6/LRhP306Uev/1ttt/1tvt/9vvd3xv/V2J/nbLeWsIC7WP7/d8z207Qe8h/QD3kNmfw+9ne/h0xnI395DoX8P9XwPM12/B/sB7yH8d4qZ6vnBQ2rj+je71ji1OqfW+AatdGqNdKM1KbX69g1a26k1txutxKmVObXi/0Wa0/kv0mz9Rss4teo3aLVTq978+73HT/k8zu9WSXffrf4NWud3q+R5ozU4teY3aNVTq9zsxBE/5Uv79d2a7UYrcWrlb9A6/yPapz8p/a4VP+X3f7GcWne/bw3j1KrfoHWOU+tXP1vzn+sDjd2OT1dG+kyxX6/rL75uvPi6+drrrg++/cXr0ouvyy++7vJZGp9iGjevsxdfV198XXvxdf3F140XXzdfe931sYv566/xn/90//l16cXX5RdfV158nb34uvri69qLr7v8edl30TnQ5vXrxouvm6+97voPqH/xuvTi6/KLrysvvu7656Udz9FvEfPPr6svvq69+Lr+4uvGi6+br73u+lP6v3hd+up11//9rj+N/ovXlRdfd/3zMo/nPW3b9QN//VHn37ywvfrC/uoLx6svnC++8PpDsb954fU/aLZ0/s65zf7bK//ff/rqk5ODOCWIY0GcGsRpQZwexBlBnBnDufk85P2coHkwgubBCJoHI2gejKB5MILmwQiaByNoHoygeTCD5sEMmgczaB7MoHkwg+bBfMPzU/vxKWAdv35p3z+P/EUZEZS7xuf/hGnnvQRtazeYHIMpMRiLwdQYzH/eO79e2l9+aS4hP9/ZYjA1BtNiMD0G84YR186wfMvlBjNDMGWLwaQYTI7BvGVgzxNjNxiLwdQYTIvB9BjMiMHMkGVqWwwm5tc2i/m1zWJ+bbOYX9ss5tc2azGYHoMZMZiYKVBjpkCNmQI1ZgrUmClQY6ZAjZkCNWYK1JgpUGOmQI2ZAi1mCrSYKdBipkCLmQItZgq0mCnQYqZAi5kCLWYKtJgp0GOmQI+ZAj1mCvSYKdBjpkCPmQI9Zgp0/ynQ6j/XkHrGxvdfST5dSXkVMR/nwagx85+/NKUztpHy58+q7PQZZD6TzOem9eAbhRKbUGYTKmxCxiZU2YQamxDbnE5sgzqxTerMNqkz26TObJM6s03qzDapM9ukzo6T+mT0AMbzeTrTmSz6dJvky9/YSSZUNjahxCaU2YQKm5CxCVU2ocYm1NmE2CZ1YZvUxjapjW1SG9ukNrZJbWyT2tgmtbFNanOc1CdjBDCmP6NuAYwUwMgBjBLAsABGDWC0AEbAc96e/+zufyk7bp5J2+eJ9YmSQyjP/7unXPs5ffvlBwhtRryXvoVQQv7rd3sDZWwn5dNfYz9TagilhVB6CGWEUN7xvPRft1DMcUUZWwglhVByCKWEUCyEUkMoLYTSQygjhPKGZ39fyccXp3r5O8zcQigphJJDKCWEYiGUGkJpIZQeQnnDs5/GWeqc5rykzAhK2rYYTIn4t8VdEv/tmBqDaTGYGYJ5w4nAv8KkGEyOwQQ8N/36cG0/X9bHFx+62nboWK5//tJx/tIzt9+Knl74KLdfn8JVEJ+q4tdPsYR5kjXPsuZF1txkzauseZM1l92gSXaFJtkdmmV3aJbdoVl2h2bZHZpld2iW3aHZbYeehO5OeLyTzg4Rq3ZJmN6EsrkTkjshuxMez7ZxPDw2yiXB3AnVndDcCU+f6bqd1ztu45Iw3AnTm2CbOyG5E57+tNZ8rKCarwnNnfD0v3Q7K8JbvfxAtG7uBPfvUn38TNv5s1T7JWG4E6Y3oW3uhOROyO6E4k4wd0J1JzR3whuf6dYuCcOd8PyZPidfvyT0x8/0Ob3vCMmdkN0JT5/ptp33OW/zkmDuhOpOaO6E7k54/EzP40xMS9slYXoTxuZOSO6E7E4o7gRzJ1R3QnMn9DcSLp/pMdwJz5/pI9nQ8iVhPn6mz49D7wjJnZDdCY/39Ff/Fp3mTqjuhOZO6O6E4U5w/+Tk5kDp2xD95rRaanae222//8Pj4u8ols6/o1i+hNycVvxvlHpegWnjiy9+421D/e6sk4x9lrYv0vYmbV+l7Zu0fZe2H9L2U9k+S+/aLL1rs/SuzdK7Nkvv2iy9a7P0rs3SuzZL79rMsmsPocKyPk+h4I34xuvB+t2pNxn7Im1v0vZV2r5J23dp+yFtP5XtbZO2l961Jr1rTXrXmvSuNelda9K71qR3rUnvWpPetZVl155CLOvzFGLZiKcQy5I7hVj21inEsopOIZbtcgqxLIxTiGUHnEIsY/0QamyTugU/9l9dzNzvEiXfqxT8g/3V5WL9Livxrd+lnvmUCp9Si1b682XY/S4r8b1Kg09p0imNjU8pfC79+b7nfhcQ+V6lwqdkfEqVT6nxKXU+pcGnNOmU5sanFD29v7gXvN9Fgb5XqfApGZ9S5VNqfEqdT2nwKU06pbs7/h2d/lwIsJwSoVMmdKp0H+jc9RJ8r1MndOL7MC5FJwP/yikTOhVCJyN0IptPw0TbLHZxzau4d3HNm7h3cdE2C5hr3sQNc82buGGueRM3zE3WXPMmbphrtlnAXHaDirZZwFx2h4q2WcBcdoeKtlnAXHaHirZZwFx2hzq3WYDQ3Qm+bRYgTG+Cc5sFCMmdkN0Jvm0WIJg7oboTmjvBt80ChOFOmN4E5zYLEJI7wbfNAoTmTvC9k3EnOLdZgOD+XXJuswBhuBOmN8G5zQKE5E7I7oTiTjB3QnUnNHeCb5sFCMOd4NtmgT9n+bZZgJDcCdmd4NtmAYK5E6o7obkTujvBt80ChOlNcG6zACG5E7I7obgTzJ1Q3QnNneDbZgHCcCf4tlngEIRvmwUIyZ2Q3Qm+bRYgmDuhuhOaO6G7E4Y7wf2TE+82i1kC2ix2iHCbBex1b9iGve4N27DXvWEb9iZtr3vDNux1b9iGve4N27DXvWEb9rptFru9cJsF7KV3rXCbBeyld61wmwXspXetcJsF7KV3rXCbBeyp2ix2Ia42Cwjp3rANe90btmGve8M27E3aXveGbdjr3rANe90btmGve8M27HVv2N7thdssYC+9a4XbLGAvvWuF2yxgL71rhdssYC+9a4XbLGAvvWu52iwgRNVmASGqNgsIUbVZQIhlb51CVG0WEKJqs4AQVZsFhKjaLCBE1WaxC3G1WUAo+LH/6rp/KJG1WUCJ7AI9HNcia7OAElmbBZTI2iygRNZmASWyNgsokbVZQImszWJXYmuzgBJZmwWUyNosoETWZgEl41Mia7OAElmbBZTI2iygRNZmASWyNotdia3NAkpkbRZQImuzgBJZmwWUjE+JrM0CSmRtFlAia7OAElmbBZTI2ixWlImszWI5kbVZLCeyNovlRHZb/HIia7NYTmRtFsuJ78M4ujaL5UTWZrGcyNoslpMROnHNp7Jt/vlgQHTzwcteNrO07GUzS8teNrO07E3aXjaztOxlM0vLXjaztOxlM0vLXjYfDHvdfPCyl961uvngZS+9a3Xzwcteetfq5oOXvfSu1c0HL3umfDCEqPLBS0g2s7TsZTNLy142s7TsTdpeNrO07GUzS8teNrO07GUzS8teNrMEe9188LKX3rW6+eBlL71rdfPBy1561+rmg5e99K7VzQcve+ldS5UPXkJM+eAlxJQPXkJM+eAlxLK3TiGmfPASYsoHLyGmfPASYsoHLyGmfDCEqPLBSyj4sf8iQLmUuPLBS4nrSOI6rsWVD15KXPngpcSVD15KXPngpcSVD15KXPngpcSVD4YSWT54KXHlg5cSVz54KXHlg5eS8Slx5YOXElc+eClx5YOXElc+eClx5YOhRJYPXkpc+eClxJUPXkpc+eClZHxKXPngpcSVD15KXPngpcSVD15KXPngjygTVz74w4krH/zhxJUP/nDiy9+x5YM/nLjywR9OfB/GseWDP5y48sEfTlz54A8nI3Rim0/jn6c9zraNf7/Ucv3zl47z3ylzs19faq/8dXz8M1TFp6p42mTNk6x5ljUvsuYma15lzZusuewGTbIrNMnu0Cy7Q7PsDs2yOzTL7tAsu0Oz7A7Nbjv0JHR3wuOdVI9PCa3aJWF6E8rmTkjuhOxOeDzbxvHw2CiXBHMnVHdCcyc8fabrdnxp3cYlYbgTpjfBNndCcic8/Wmt+VhBNV8Tmjvh6X/pVo6PT1u9/EC0bu4E9+9SffxM2/mzVPslYbgTpjehbe6E5E7I7oTiTjB3QnUnNHfCG5/p3//IdBKGO+H5M31Ovn5J6I+f6XN63xGSOyG7E54+0207frtv27wkmDuhuhOaO6G7Ex4/0/P423RL2yVhehPG5k5I7oTsTijuBHMnVHdCcyf0NxIun+kx3AnPn+kjL9fyJWE+fqbPj0PvCMmdkN0Jj/f0V/8WneZOqO6E5k7o7oThTnD/5OTm6PTbEGkEtFmkodxmkYZym0Uaym0WaSi3WaSh3GaRhnKbRRrKbRZpKLdZpKHcZpGGcptFGsptFmkot1mkodxmkYZym0Uaym0WaSi3WaSh3GaRhnKbRRrKbRZpkLVZpEHWZpGGcptFGsptFmkot1mkodxmkYZym0Uaym0WaSi3WaSh3GaRhnKbRRrKbRZpKLdZwF561wq3WcBeetcKt1mkodxmAXvpXSvcZpGGcptFGmRtFhCiarOAEFWbBYSo2iwgxLK3TiGqNos0yNos0iBrs0iDrM0iDbI2izTI2izSoGuzSIOuzSINujaLNOjaLNKga7NIg67NIg26Nos06Nos0qBrs0iDrs0iDbo2izTo2izSoGuzSIOuzSINujaLNOjaLNKga7NIg67NIg26Nos06Nos0qBrs0iDrs0iDbo2izTo2izSoGuzSIOuzSINujaLNOjaLNKga7NIg67NIg2+NovlRNZmsZzI2iyWE9lt8cuJrM1iOZG1WSwnvg/j6NoslhNZm8VyImuzWE5G6EQ2n3IVbbPYxTWv4t7FNW/i3sVF2yxgrnkTN8w1b+KGueZN3DA3WXPNm7hhrtlmAXPZDSraZgFz2R0q2mYBc9kdKtpmAXPZHSraZgFz2R3q3GYBQncn+LZZgDC9Cc5tFiAkd0J2J/i2WYBg7oTqTmjuBN82CxCGO2F6E5zbLEBI7gTfNgsQmjvB907GneDcZgGC+3fJuc0ChOFOmN4E5zYLEJI7IbsTijvB3AnVndDcCb5tFiAMd4JvmwX+nOXbZgFCcidkd4JvmwUI5k6o7oTmTujuBN82CxCmN8G5zQKE5E7I7oTiTjB3QnUnNHeCb5sFCMOd4NtmgUMQvm0WICR3QnYn+LZZgGDuhOpOaO6E7k4Y7gT3T0682yyKBbRZ7BDhNgvY696wDXvdG7Zhr3vDNuxN2l73hm3Y696wDXvdG7Zhr3vDNux12yx2e+E2C9hL71rhNgvYS+9a4TYL2EvvWuE2C9hL71rhNgvYU7VZ7EJcbRYQ0r1hG/a6N2zDXveGbdibtL3uDduw171hG/a6N2zDXveGbdjr3rC92wu3WcBeetcKt1nAXnrXCrdZwF561wq3WcBeetcKt1nAXnrXcrVZQIiqzQJCVG0WEKJqs4AQy946hajaLCBE1WYBIao2CwhRtVlAiKrNYhfiarOAUPBj/9V1/1Aia7OAEtkFejiuRdZmASWyNgsokbVZQImszQJKZG0WUCJrs4ASWZvFrsTWZgElsjYLKJG1WUCJrM0CSsanRNZmASWyNgsokbVZQImszQJKZG0WuxJbmwWUyNosoETWZgElsjYLKBmfElmbBZTI2iygRNZmASWyNgsokbVZrCgTWZvFciJrs1hOZG0Wy4nstvjlRNZmsZzI2iyWE9+HcXRtFsuJrM1iOZG1WSwnI3Qim0+WAvLBO0Q4Hwx73cwS7HUzS7DXzSzB3qTtdTNLsNfNLMFeN7MEe93MEux188G7vXA+GPbSu1Y4Hwx76V0rnA+GvfSuFc4Hw1561wrng2FPlQ/ehbjywRDSzSzBXjezBHvdzBLsTdpeN7MEe93MEux1M0uw180swV43s7TbC+eDYS+9a4XzwbCX3rXC+WDYS+9a4Xww7KV3rXA+GPbSu5YrHwwhqnwwhKjywRCiygdDiGVvnUJU+WAIUeWDIUSVD4YQVT4YQlT54F2IKx8MoeDH/qsAJZTI8sFQIjuSiONaZPlgKJHlg6FElg+GElk+GEpk+WAokeWDoUSWD96V2PLBUCLLB0OJLB8MJbJ8MJSMT4ksHwwlsnwwlMjywVAiywdDiSwfvCux5YOhRJYPhhJZPhhKZPlgKBmfElk+GEpk+WAokeWDoUSWD4YSWT54RZnI8sHLiSwfvJzI8sHLiS9/R5cPXk5k+eDlxPdhHF0+eDmR5YOXE1k+eDkZoRPZfKrlJh9c6zheV/v4M+SNB8Z3n0HmM8l8bqLW3yiU2IQym1BhEzI2ocom1NiE2OZ0YhvUiW1SZ7ZJndkmdWab1JltUme2SZ3ZJnV2nNQnowcwns/TN54+hdAkEyobm1BiE8psQoVNyNiEKptQYxPqbEJsk7qwTWpjm9TGNqmNbVIb26Q2tkltbJPa2Ca1OU7qkzECGNOfUbcARgpg5ABGCWBYAKMGMFoAI+A5b89/dr86tA9KDqE8/+/+F3/IazPivfQthBLyX7/bGyh/PjkPSg2htBBKD6GMEMo7npc/n7zFn7O3EEoKoeQQSgmhWAilhlBaCKWHUEYI5Q3P/hdHSXF0ZAuhpBBKDqGUEIqFUGoIpYVQegjlDc/+F4eEQZkRlLtj5G/HlIh/W6TNYjA1BtNiMDME84YTgX+FSTGYHIMJeG7q9eHafr6sjy8+dLXt0LFc//yl4/ylZ272f58+nX3ho9x6fQpXQXyqil8/xRLmSdY8y5oXWXOTNa+y5k3WXHaDJtkVmmR3aJbdoVl2h2bZHZpld2iW3aFZdodmtx16Ero74fFOqscHUlbtkjC9CWVzJyR3QnYnPJ5t43h4bJRLgrkTqjuhuROePtN1O760buOSMNwJ05tgmzshuROe/rTWfKygmq8JzZ3w9L90K8fdBK1efiBaN3eC+3epPn6m7fxZqv2SMNwJ05vQNndCcidkd0JxJ5g7oboTmjvhjc/07ze4nIThTnj+TJ+Tr18S+uNn+pzed4TkTsjuhKfPdNuO3+7bNi8J5k6o7oTmTujuhMfP9DzOxLS0XRKmN2Fs7oTkTsjuhOJOMHdCdSc0d0J/I+HymR7DnfD8mT6SDS1fEubjZ/r8OPSOkNwJ2Z3weE9/9W/Rae6E6k5o7oTuThjuBPdPTm4OlL4N0W5Oq/3HyynT+XcUy5eQFHy98htvG2p3Z51k7LO0fZG2N2n7Km3fpO27tP2Qtp/K9ll612bpXZuld22W3rVZetdm6V2bpXdtlt61WXrXZpZdewgVlvV5CgVvxDdeD9buTr3J2Bdpe5O2r9L2Tdq+S9sPafupbG+btL30rjXpXWvSu9akd61J71qT3rUmvWtNetea9K6tLLv2FGJZn6cQy0Y8hViW3CnEsrdOIZZVdAqxbJdTiGVhnEIsO+AUYhnrh1Bjm9Qt+LH/6mLmdpco+V4lsnbqdpeV+NbvUs98SoVPKboR/ovLsNtdVuJ7lQaf0qRTGhufUvhc+vN9z+0uIPK9SoVPyfiUKp9S41PqfEqDT2nSKc2NTyl6en9xL3i7iwJ9r1LhUzI+pcqn1PiUOp/S4FOadEp3d/w7Ov25EGA5JUKnTOhU6T7Quesl+F6nTujE92Fcik4G/pVTJnQqhE5G6EQ2n3oWbbPYxTWv4t7FNW/i3sVF2yxgrnkTN8w1b+KGueZN3DA3WXPNm7hhrtlmAXPZDSraZgFz2R0q2mYBc9kdKtpmAXPZHSraZgFz2R3q3GYBQncn+LZZgDC9Cc5tFiAkd0J2J/i2WYBg7oTqTmjuBN82CxCGO2F6E5zbLEBI7gTfNgsQmjvB907GneDcZgGC+3fJuc0ChOFOmN4E5zYLEJI7IbsTijvB3AnVndDcCb5tFiAMd4JvmwX+nOXbZgFCcidkd4JvmwUI5k6o7oTmTujuBN82CxCmN8G5zQKE5E7I7oTiTjB3QnUnNHeCb5sFCMOd4NtmgUMQvm0WICR3QnYn+LZZgGDuhOpOaO6E7k4Y7gT3T0682yxGCmiz2CHCbRaw171hG/a6N2zDXveGbdibtL3uDduw171hG/a6N2zDXveGbdjrtlns9sJtFrCX3rXCbRawl961wm0WsJfetcJtFrCX3rXCbRawp2qz2IW42iwgpHvDNux1b9iGve4N27A3aXvdG7Zhr3vDNux1b9iGve4N27DXvWF7txdus4C99K4VbrOAvfSuFW6zgL30rhVus4C99K4VbrOAvfSu5WqzgBBVmwWEqNosIETVZgEhlr11ClG1WUCIqs0CQlRtFhCiarOAEFWbxS7E1WYBoeDH/qvr/qFE1mYBJbIL9HBci6zNAkpkbRZQImuzgBJZmwWUyNosoETWZgElsjaLXYmtzQJKZG0WUCJrs4ASWZsFlIxPiazNAkpkbRZQImuzgBJZmwWUyNosdiW2NgsokbVZQImszQJKZG0WUDI+JbI2CyiRtVlAiazNAkpkbRZQImuzWFEmsjaL5UTWZrGcyNoslhPZbfHLiazNYjmRtVksJ74P4+jaLJYTWZvFciJrs1hORujENp9GRD54SOeDh3Q+eEjng4d0PnhI54OHdD54SOeDh3Q+eEjng4d0PnhI54OHdD54SOeDh3Q+eEjng4d0PnhI54OHdD54SOeDB1s+eLDlg4d0PnhI54OHdD54SOeDh3Q+eEjng4d0PnhI54OHdD54SOeDh3Q+eEjng4d0PnhI54OHdD54SOeDh3Q+eEjng4d0Pniw5YMHWz54sOWDB1s+eLDlgwdbPniw5YMHWz54sOWDB1s+eLDlgwdfPnjw5YMHXz548OWDB18+ePDlgwdfPnjw5YMHXz548OWDB18+ePDlgwdfPnjw5YMHXz548OWDB18+ePDlgwdfPnjw5YMHXz548OWDB18+ePDlgwdfPnjw5YMHXz548OWDB18+ePDlgwdhPngQ5oMHYT54EOaDB2E+eBDmgwdhPngQ5oMHYT54EOaDB2E+ePDlg2f752mPs23j3y+1XP/8peP8d8rc7NeX2gt/Hd/Fh6r4VBVPm6x5kjXPsuZF1txkzauseZM1l92gSXaFJtkdmmV3aJbdoVl2h2bZHZpld2iW3aHZbYeehO5OeLyT6vEpoVW7JExvQtncCcmdkN0Jj2fbOB4eG+WSYO6E6k5o7oSnz3Tdji+t27gkDHfC9CbY5k5I7oSnP601Hyuo5mtCcyc8/S/dyvHxaauXH4jWzZ3g/l2qj59pO3+War8kDHfC9Ca0zZ2Q3AnZnVDcCeZOqO6E5k544zP9+x+ZTsJwJzx/ps/J1y8J/fEzfU7vO0JyJ2R3wtNnum3Hb/dtm5cEcydUd0JzJ3R3wuNneh5/m25puyRMb8LY3AnJnZDdCcWdYO6E6k5o7oT+RsLlMz2GO+H5M33k5Vq+JMzHz/T5cegdIbkTsjvh8Z7+6t+i09wJ1Z3Q3AndnTDcCe6fnNwcnX4Xwrbm32YBiG6bxbKXvWF72cvesL3sZW/YXvYmbS97w/ayl71he9nL3rC97GVv2F72sm0WsNdts1j20rtWt81i2UvvWt02i2UvvWt12yyWvfSu1W2zWPZMbRYQomqzWEKyN2wve9kbtpe97A3by96k7WVv2F72sjdsL3vZG7aXvewN28te9oZt2Ou2WSx76V2r22ax7KV3rW6bxbKX3rW6bRbLXnrX6rZZLHvpXUvVZrGEmNoslhBTm8USYmqzWEIse+sUYmqzWEJMbRZLiKnNYgkxtVksIaY2CwhRtVksoeDH/ovr/pcSV5vFUuK6QG8d1+Jqs1hKXG0WS4mrzWIpcbVZLCWuNoulxNVmsZS42iygRNZmsZS42iyWElebxVLiarNYSsanxNVmsZS42iyWElebxVLiarNYSlxtFlAia7NYSlxtFkuJq81iKXG1WSwl41PiarNYSlxtFkuJq81iKXG1WSwlrjaLjygTV5vFhxNXm8WHE1ebxYcT123xH05cbRYfTlxtFh9OfB/GsbVZfDhxtVl8OHG1WXw4GaET2XxKRbPNAuKSV3FDXPImbohrtlksc8mbuJe55E3cy1zyJu5lbrLmkjdxL3PJNotlLrtBNdsslrnsDtVss1jmsjtUs81imcvuUM02i2Uuu0N92ywWobsTXNssFmF6E3zbLBYhuROyO8G1zWIRzJ1Q3QnNneDaZrEIw50wvQm+bRaLkNwJrm0Wi9DcCa53MoLg22axCO7fJd82i0UY7oTpTfBts1iE5E7I7oTiTjB3QnUnNHeCa5vFIgx3gmubxfpzlmubxSIkd0J2J7i2WSyCuROqO6G5E7o7wbXNYhGmN8G3zWIRkjshuxOKO8HcCdWd0NwJrm0WizDcCa5tFusQhGubxSIkd0J2J7i2WSyCuROqO6G5E7o7YbgT3D858W6zyDmgzWKHCLdZwF73hm3Y696wDXvdG7Zhb9L2ujdsw173hm3Y696wDXvdG7Zhr9tmsdsLt1nAXnrXCrdZwF561wq3WcBeetcKt1nAXnrXCrdZwJ6qzWIX4mqzgJDuDduw171hG/a6N2zD3qTtdW/Yhr3uDduw171hG/a6N2zDXveG7d1euM0C9tK7VrjNAvbSu1a4zQL20rtWuM0C9tK7VrjNAvbSu5arzQJCVG0WEKJqs4AQVZsFhFj21ilE1WYBIao2CwhRtVlAiKrNAkJUbRa7EFebBYSCH/uvrvuHElmbBZTILtDDcS2yNgsokbVZQImszQJKZG0WUCJrs4ASWZsFlMjaLHYltjYLKJG1WUCJrM0CSmRtFlAyPiWyNgsokbVZQImszQJKZG0WUCJrs9iV2NosoETWZgElsjYLKJG1WUDJ+JTI2iygRNZmASWyNgsokbVZQImszWJFmcjaLJYTWZvFciJrs1hOZLfFLyeyNovlRNZmsZz4Poyja7NYTmRtFsuJrM1iORmhE9t8mhH54CmdD57S+eApnQ+e0vngKZ0PntL54CmdD57S+eApnQ+e0vngKZ0PntL54CmdD57S+eApnQ+e0vngKZ0PntL54CmdD55s+eDJlg+e0vngKZ0PntL54CmdD57S+eApnQ+e0vngKZ0PntL54CmdD57S+eApnQ+e0vngKZ0PntL54CmdD57S+eApnQ+e0vngyZYPnmz54MmWD55s+eDJlg+ebPngyZYPnmz54MmWD55s+eDJlg+efPngyZcPnnz54MmXD558+eDJlw+efPngyZcPnnz54MmXD558+eDJlw+efPngyZcPnnz54MmXD558+eDJlw+efPngyZcPnnz54MmXD558+eDJlw+efPngyZcPnnz54MmXD558+eDJlw+ehPngSZgPnoT54EmYD56E+eBJmA+ehPngSZgPnoT54EmYD56E+eBJlw+eZbuL0eXRzo+E8pi/OKn1C1BuI/375bl9+jcIvvok9TDSCCPNKNJN7MuDlMJIOYxUwkgWRqphpLAZkcNmRA6bETlsRpSwGVHCZkQJmxElbEaUsBlRwmZECZsRJWxGlLAZUcJmhIXNCAubERY2IyxsRljYjLCwGWFhM8LCZoSFzQgLmxE1bEbUsBlRw2ZEDZsRNWxG1LAZUcNmRA2bETVsRtSwGdHCZkQLmxEtbEa0sBnRwmZEC5sRLWxGtLAZ0cJmRAubET1sRvSwGdHDZkQPmxE9bEb0sBnRw2ZED5sRPWxG9LAZMcJmxAibESNsRoywGTHCZsQImxEjbEaMsBkxwmbECJsRM2xGzLAZMcNmxAybETNsRsywGTHDZsQMmxEzbEbMsBlxd27TBZXiUDkOVeJQFoeqcai4o1Rb3FmqLe4w1RY3LVLctEhx0yLFTYsUNy1S3LRIcdMi8OBl4MnLwKOXcWcvU9zhyxR3+jLFHb9McecvU9wBzBR3AjPFHcFMcWcwU9whzBR3CjPFHcNMcecwU9xBzBR3EjPFHcVMcWcxU9xhzBR3GjPFHcdMcecxU9yBzBR3IjPFHclMcWcyU9yhzBR3KjPFHctMcecyU9zBzBR3MjPFHc1McWczU9zhzBR3OjPFHc9MceczU9wBzRR3QjPFHdFMcWc0U9whzRR3SjPFHdNMcec0U9xBzRR3UjPFHdVMcWc1U9xhzRR3WjPFHddMcec1U9yBzRR3YjPFHdlMcWc2Uw+8jCJuWsQd20xx5zZT3MHNFHdyM8Ud3UxxZzdT3OHNFHd6M8Ud30wj8O6auGlxd4JzlvM+ojw/XRt0jSrjRJWZ0xdfPWs+uwvq+HQFX90uv/osydk2+/XFn97E3eFQrTeRfsKbyD/hTZSf8CbsJ7yJ+hPeRPsJb6L/hDcxfsKb+AEbO28/YGPnuzPgM5Vfb2L0L7TaGP9+df9U5LT/pfvia/9/eW+0IzkOdOm9kDEgQxFk8GH2Ym34YgFjbdhrA774330zqJa6G5CquksZrHPmv5vBZM73ZVWSUanU4dF2vF51+e2xP6VktdTmx4/Vit9IbYhSiihliFINUaojSvlbpPp2SsknUt7seLC39use2H7RGpBad3fgf7dWxdQSTK0NU0uXa/VyXJ55/aPfaBmmVsPU6phajqk1ILWkYGqt3+W7+anV2o2WYGptmFqKqWWYWg1Tq2NqfcMuv7WfWv03rYvvd/S8RCHafu5yovrLixj/ghexlX/Di7ieN1upxzWd1z+rf/IitjHOS0BlW37J6yYBRPYitn/Di9B/w4uwf8OLaP+GF9H/DS/C/w0vYvwLXsRNoo3sRfwbJrb+Gyb2Xb5v+Pj5Itr22R+A773Wf5cE/F4pQ5RqiFIdUcrfIvUXn3RGKUc/4CjVfvk/yy9aA1LrLgn53VoVU0swtTZMLV2t5ePcS15a7Teti1tBZOgxkTcp56PtqgT05+WuPn6ZsL9cnTD7z/Vy23+ul9v/c71c/8/1cgf4y922cb5c7b++3PM1tPIveA31X/AaBP019Ha+hl/ugfztNWzwr8HO1zDq9WvQf8FrWP43xah2Xnioza//smsNU6tjavk3aNVTy+uN1oDU6uUbtMqpNcqNVsXUEkyt9Z9IpZ6fSEX7jZZiatk3aLVTy24+v/f1u7z4+dPa6t1Pq3+D1vnT2mTcaDmm1vgGLTu1tpuZ6Ot3+a39/GmNdqNVMbXkG7TOX6L+8pXS71rrd/nXJ5ZT6+7vLVdMLfsGrXM71X713hr/XN/Q2PW4uuL1V4r+fF7/4vP8i88bX3ve9Y1vf/C8+sXnyRefd7mW/JeYxs3z9IvPsy8+r33xef2Lz/MvPm987XnXt12Mn9/G//rV/a/Pq198nnzxedsXn6dffJ598Xnti8+7fL+8ZtG5oY3r5/kXnze+9rzrL1D/4Hn1i8+TLz5v++Lzrt8v7VhHv0XMf32effF57YvP6198nn/xeeNrz7u+Sv8Hz6ufPe/693d9NfoPnrd98XnX75dxrPdayvWCv77U+SdPbF99Yv/qE/2rTxxffOL1RbE/eeL1B5pSz785y+i/PfN/+atHnxxZxNkWcXQRxxZx2iJOX8TxRZyxhnNzPeT9nEX7gS/aD3zRfuCL9gNftB/4ov3AF+0Hvmg/8EX7wVi0H4xF+8FYtB+MRfvBWLQfjDesH+vHVUDzn3+0v65H/qT4Cspd4/NfYdp5LkEr7QYjazDbGoyuwdgazF/PnZ9P7V9+qmxL3t+iazC2BtPWYPoazBu2uHaG5ZtsN5ixBLOVNZi6BiNrMG/ZsMeJ0RuMrsHYGkxbg+lrML4GM5YMUy1rMGv+bNM1f7bpmj/bdM2fbbrmzzZtazB9DcbXYNbsArZmF7A1u4Ct2QVszS5ga3YBW7ML2JpdwNbsArZmF7A1u0Bbswu0NbtAW7MLtDW7QFuzC7Q1u0Bbswu0NbtAW7MLtDW7QF+zC/Q1u0Bfswv0NbtAX7ML9DW7QF+zC/T8XUDtn2uInbHx158kvxxJeRUx9/PGKB/y8UNrPWMbVX69VqWnj4P5DDCfm9aDbxSqaEKCJrShCSmakKEJNTQhtH26om3UFW2nFrSdWtB2akHbqQVtpxa0nVrQdmpJ3KlPRl/AeL6fjnomi345TfLLP9gBJrQVNKGKJiRoQhuakKIJGZpQQxPqaEJoO/WGtlMr2k6taDu1ou3UirZTK9pOrWg7taLt1Jq4U58MX8AY+QwrCxh1AUMWMLYFDF3AsAWMtoCxYJ235+/d1zdlx8kztfy6Y/1CkSWU57/3KtbP3bdfXkBoY8Vr6WUJZclvv+sbKF5Oyi/fxv5KsSWUtoTSl1B8CeUd66X/PIVi+BXFyxJKXUKRJZRtCUWXUGwJpS2h9CUUX0J5w9p/jeTjwdUu/4YZZQmlLqHIEsq2hKJLKLaE0pZQ+hLKG9Z+9bPUuY5xSRkrKLWUNZhtxWeLuyT+2zG2BtPWYMYSzBvuCPwjTF2DkTWYBeumX99c28+ndf/koquWQ0fFPn6on3/0jPJb0dMXLuX267twGcQHq/j1KqYwr7TmQmu+0ZorrbnRmjdac9oJWmlHaKWdoUI7Q4V2hgrtDBXaGSq0M1RoZ6ikzdCT0NMJj2fS2SGippeEkU3YSjqhphMknfB4b/Nj8ahvlwRNJ1g6oaUTnq5pK+fxjsUvCZ5OGNkELemEmk54+m41OUaQyTWhpROe/qbbWRHe7PKCqJV0QvpPyR6vaT3fS9YvCZ5OGNmEVtIJNZ0g6YQtnaDpBEsntHTCG9d0a5cETyc8X9PnztcvCf3xmj537ztCTSdIOuHpmm7lPM+5jEuCphMsndDSCT2d8HhNj+OemFbLJWFkE7ykE2o6QdIJWzpB0wmWTmjphP5GwuWadk8nPF/TR7KhySVhPF7T5+XQO0JNJ0g64fGc/uyz6NB0gqUTWjqhpxM8nZB+5eTmhtK3IezmbrXa9Lxvt/3+wePiexSt5/coKpeQm7sV/45i5xGY6p88+I2nDdndvU409kJtv1HbK7W9Uds3avtObe/U9oPZXqhnrVDPWqGetUI9a4V61gr1rBXqWSvUs1aoZ62gzNpDaEMZn6fQ4on4xuPB7O6uNxr7jdpeqe2N2r5R23dqe6e2H8z2WqjtqWetUs9apZ61Sj1rlXrWKvWsVepZq9SzVqlnraHM2lMIZXyeQigT8RRCGXKnEMrcOoVQRtEphDJdTiGUgXEKocyAUwhlWz+EGtpO3RYv+88OZra7RMn3Ki1+Y392uJjdZSW+9afUBU9pw1Nqq5U+Pgzb7rIS36vkeEoDTskLntLyfenj857tLiDyvUobnpLiKRmeUsNT6nhKjqc04JRGwVNavXt/ci643UWBvldpw1NSPCXDU2p4Sh1PyfGUBpzS3Rn/iU4fFwJMpwroJIBOBndB566X4HudOqAT3sW4ujoZ+EdOAui0ATopoBPY/tSUtM3iJc55FPdLnPMk7pc4aZtFmHOexB3mnCdxhznnSdxhrrTmnCdxhzlnm0WY005Q0jaLMKedoaRtFmFOO0NJ2yzCnHaGkrZZhDntDE1uswhCTyfktlkEYWQTktssglDTCZJOyG2zCIKmEyyd0NIJuW0WQfB0wsgmJLdZBKGmE3LbLILQ0gm5ZzK+CMltFkFI/yklt1kEwdMJI5uQ3GYRhJpOkHTClk7QdIKlE1o6IbfNIgieTshts4ivs3LbLIJQ0wmSTshtswiCphMsndDSCT2dkNtmEYSRTUhuswhCTSdIOmFLJ2g6wdIJLZ2Q22YRBE8n5LZZxE0QuW0WQajpBEkn5LZZBEHTCZZOaOmEnk7wdEL6lZPsNou+LWizeEGI2yzCnveE7bDnPWE77HlP2A57pbbnPWE77HlP2A573hO2w573hO2w522zeNkTt1mEPfWsJW6zCHvqWUvcZhH21LOWuM0i7KlnLXGbRdhDtVm8hLDaLEKI94TtsOc9YTvseU/YDnultuc9YTvseU/YDnveE7bDnveE7bDnPWH7ZU/cZhH21LOWuM0i7KlnLXGbRdhTz1riNouwp561xG0WYU89a7HaLEIIqs0ihKDaLEIIqs0ihFDm1ikE1WYRQlBtFiEE1WYRQlBtFiEE1WbxEsJqswihxcv+s+P+QwmszSKUwA7Qi9u1wNosQgmszSKUwNosQgmszSKUwNosQgmszSKUwNosXkpobRahBNZmEUpgbRahBNZmEUqKpwTWZhFKYG0WoQTWZhFKYG0WoQTWZvFSQmuzCCWwNotQAmuzCCWwNotQUjwlsDaLUAJrswglsDaLUAJrswglsDaLGWUCa7OYTmBtFtMJrM1iOoGdFj+dwNosphNYm8V0wrsYB9dmMZ3A2iymE1ibxXRSQCew/cnLgnzwC0KcDw573sxS2PNmlsKeN7MU9kptz5tZCnvezFLY82aWwp43sxT2vPnglz1xPjjsqWctcT447KlnLXE+OOypZy1xPjjsqWctcT447KHywS8hrHxwCPFmlsKeN7MU9ryZpbBXanvezFLY82aWwp43sxT2vJmlsOfNLL3sifPBYU89a4nzwWFPPWuJ88FhTz1rifPBYU89a4nzwWFPPWux8sEhBJUPDiGofHAIQeWDQwhlbp1CUPngEILKB4cQVD44hKDywSEElQ9+CWHlg0No8bL/LEAZSmD54FACuyUxbtcCyweHElg+OJTA8sGhBJYPDiWwfHAogeWDQwksH/xSQssHhxJYPjiUwPLBoQSWDw4lxVMCyweHElg+OJTA8sGhBJYPDiWwfPBLCS0fHEpg+eBQAssHhxJYPjiUFE8JLB8cSmD54FACyweHElg+OJTA8sEzygSWD55OYPng6QSWD55OePk7uHzwdALLB08nvItxcPng6QSWD55OYPng6aSATmj7k//ztMdZi/94qIp9/FA/P6eMoj8fql/5dtz/cVbxwSpeC615pTUXWvON1lxpzY3WvNGa007QSjtCK+0MFdoZKrQzVGhnqNDOUKGdoUI7QyVthp6Enk54PJPsuEqoppeEkU3YSjqhphMknfB4b/Nj8ahvlwRNJ1g6oaUTnq5pK8dDrfglwdMJI5ugJZ1Q0wlP360mxwgyuSa0dMLT33TbjsunzS4viFpJJ6T/lOzxmtbzvWT9kuDphJFNaCWdUNMJkk7Y0gmaTrB0QksnvHFN//4l00nwdMLzNX3ufP2S0B+v6XP3viPUdIKkE56u6VaOv+5bGZcETSdYOqGlE3o64fGaHsd3062WS8LIJnhJJ9R0gqQTtnSCphMsndDSCf2NhMs17Z5OeL6mj7xck0vCeLymz8uhd4SaTpB0wuM5/dln0aHpBEsntHRCTyd4OiH9ysnNrdNvQwxf0GYxnLnNYjhzm8Vw5jaL4cxtFsOZ2yyGM7dZDGdusxjO3GYxnLnNYjhzm8Vw5jaL4cxtFsOZ2yyGM7dZDGdusxjO3GYxnLnNYjhzm8Vw5jaL4WBtFsPB2iyGM7dZDGdusxjO3GYxnLnNYjhzm8Vw5jaL4cxtFsOZ2yyGM7dZDGdusxjO3GYR9tSzlrjNIuypZy1xm8Vw5jaLsKeetcRtFsOZ2yyGg7VZhBBUm0UIQbVZhBBUm0UIocytUwiqzWI4WJvFcLA2i+FgbRbDwdoshoO1WQyHa7MYDtdmMRyuzWI4XJvFcLg2i+FwbRbD4doshsO1WQyHa7MYDtdmMRyuzWI4XJvFcLg2i+FwbRbD4doshsO1WQyHa7MYDtdmMRyuzWI4XJvFcLg2i+FwbRbD4doshsO1WQyHa7MYDtdmMRyuzWI4XJvFcLg2i+FwbRbD8dosphNYm8V0AmuzmE5gp8VPJ7A2i+kE1mYxnfAuxsG1WUwnsDaL6QTWZjGdFNAJan/SUoyyzWKKMx7FPcUZT+Ke4pRtFrs540ncuznjSdy7OeNJ3Lu50poznsS9mzO2WezmtBOUss1iN6edoZRtFrs57QylbLPYzWlnKGWbxW5OO0NT2yx2Qk8nZLZZ7ISRTUhts9gJNZ0g6YTMNoudoOkESye0dEJmm8VO8HTCyCaktlnshJpOyGyz2AktnZB5JuMkpLZZ7IT0n1Jqm8VO8HTCyCaktlnshJpOkHTClk7QdIKlE1o6IbPNYid4OiGzzWL/OiuzzWIn1HSCpBMy2yx2gqYTLJ3Q0gk9nZDZZrETRjYhtc1iJ9R0gqQTtnSCphMsndDSCZltFjvB0wmZbRb7TRCZbRY7oaYTJJ2Q2WaxEzSdYOmElk7o6QRPJ6RfOclts9BSNb3NYkJo2yx2e9YTtnd71hO2d3vWE7Z3e6W2Zz1he7dnPWF7t2c9YXu3Zz1he7dnbbOY9rRtFrs99aylbbPY7alnLW2bxW5PPWtp2yx2e+pZS9tmsdsDtVlMIaQ2i12I9YTt3Z71hO3dnvWE7d1eqe1ZT9je7VlP2N7tWU/Y3u1ZT9je7VlP2J72tG0Wuz31rKVts9jtqWctbZvFbk89a2nbLHZ76llL22ax21PPWqQ2i10IqM1iFwJqs9iFgNosdiGUuXUKAbVZ7EJAbRa7EFCbxS4E1GaxCwG1WUwhpDaLXWjxsv/4uP9dCarNYleCOkBvv10Lqs1iV4Jqs9iVoNosdiWoNotdCarNYleCarPYlaDaLKYSVpvFrgTVZrErQbVZ7EpQbRa7kuIpQbVZ7EpQbRa7ElSbxa4E1WaxK0G1WUwlrDaLXQmqzWJXgmqz2JWg2ix2JcVTgmqz2JWg2ix2Jag2i10Jqs1iV4Jqs/gRZYJqs/jhBNVm8cMJqs3ihxPYafHTCarN4ocTVJvFDye8i3FgbRY/nKDaLH44QbVZ/HBSQCew/UnqgnzwC0KcDw573sxS2PNmlsKeN7MU9kptz5tZCnvezFLY82aWwp43sxT2vPnglz1xPjjsqWctcT447KlnLXE+OOypZy1xPjjsqWctcT447KHywS8hrHxwCPFmlsKeN7MU9ryZpbBXanvezFLY82aWwp43sxT2vJmlsOfNLL3sifPBYU89a4nzwWFPPWuJ88FhTz1rifPBYU89a4nzwWFPPWux8sEhBJUPDiGofHAIQeWDQwhlbp1CUPngEILKB4cQVD44hKDywSEElQ9+CWHlg0No8bL/LEAZSmD54FACuyUxbtcCyweHElg+OJTA8sGhBJYPDiWwfHAogeWDQwksH/xSQssHhxJYPjiUwPLBoQSWDw4lxVMCyweHElg+OJTA8sGhBJYPDiWwfPBLCS0fHEpg+eBQAssHhxJYPjiUFE8JLB8cSmD54FACyweHElg+OJTA8sEzygSWD55OYPng6QSWD55OePk7uHzwdALLB08nvItxcPng6QSWD55OYPng6aSATmD707bd5IPN/Hiedf8Y8sYbxl8+DuYzwHxuotbfKFTRhARNaEMTUjQhQxNqaEJo+3RF26gr2k4taDu1oO3UgrZTC9pOLWg7taDt1JK4U5+MvoDxfD99492nITTAhLaCJlTRhARNaEMTUjQhQxNqaEIdTQhtp97QdmpF26kVbadWtJ1a0XZqRdupFW2nVrSdWhN36pPhCxgjn2FlAaMuYMgCxraAoQsYtoDRFjAWrPP2/L372U37QZEllOe/9z/4Iq+NFa+llyWUJb/9rm+gfHznfFBsCaUtofQlFF9Cecd6+fjO2/g6uyyh1CUUWULZllB0CcWWUNoSSl9C8SWUN6z9T24ljVtHyhJKXUKRJZRtCUWXUGwJpS2h9CWUN6z9T24SDspYQbm7jfztmG3FZ4tadA3G1mDaGsxYgnnDHYF/hKlrMLIGs2Dd2PXNtf18WvdPLrpqOXRU7OOH+vlHzyj6H79cnf3CpVy7vguXQXywil+vYgrzSmsutOYbrbnSmhuteaM1p52glXaEVtoZKrQzVGhnqNDOUKGdoUI7Q4V2hkraDD0JPZ3weCbZcUFKTS8JI5uwlXRCTSdIOuHx3ubH4lHfLgmaTrB0QksnPF3TVo6HWvFLgqcTRjZBSzqhphOevltNjhFkck1o6YSnv+m2HWcTNLu8IGolnZD+U7LHa1rP95L1S4KnE0Y2oZV0Qk0nSDphSydoOsHSCS2d8MY1/fsJLifB0wnP1/S58/VLQn+8ps/d+45Q0wmSTni6pls5/rpvZVwSNJ1g6YSWTujphMdrehz3xLRaLgkjm+AlnVDTCZJO2NIJmk6wdEJLJ/Q3Ei7XtHs64fmaPpINTS4J4/GaPi+H3hFqOkHSCY/n9GefRYemEyyd0NIJPZ3g6YT0Kyc3N5S+DaE3d6v95eGU9fweReUSUhcfr/zG04b07l4nGnuhtt+o7ZXa3qjtG7V9p7Z3avvBbC/Us1aoZ61Qz1qhnrVCPWuFetYK9awV6lkr1LNWUGbtIbShjM//cggtnohvPB5M7+56o7HfqO2V2t6o7Ru1fae2d2r7wWyvhdqeetYq9axV6lmr1LNWqWetUs9apZ61Sj1rlXrWGsqsPYVQxucphDIRTyGUIXcKocytUwhlFJ1CKNPlFEIZGKcQygw4hVC29UOooe3UbfGy/+xgZr1LlHyvElg7td5lJb71p9QFT2nDU1rdCP/JYdh6l5X4XiXHUxpwSl7wlJbvSx+f96x3AZHvVdrwlBRPyfCUGp5Sx1NyPKUBpzQKntLq3fuTc8H1Lgr0vUobnpLiKRmeUsNT6nhKjqc04JTuzvhPdPq4EGA6VUAnAXQyuAs6d70E3+vUAZ3wLsbV1cnAP3ISQKcN0EkBncD2JxPSNouXOOdR3C9xzpO4X+KkbRZhznkSd5hznsQd5pwncYe50ppznsQd5pxtFmFOO0FJ2yzCnHaGkrZZhDntDCVtswhz2hlK2mYR5rQzNLnNIgg9nZDbZhGEkU1IbrMIQk0nSDoht80iCJpOsHRCSyfktlkEwdMJI5uQ3GYRhJpOyG2zCEJLJ+SeyfgiJLdZBCH9p5TcZhEETyeMbEJym0UQajpB0glbOkHTCZZOaOmE3DaLIHg6IbfNIr7Oym2zCEJNJ0g6IbfNIgiaTrB0Qksn9HRCbptFEEY2IbnNIgg1nSDphC2doOkESye0dEJum0UQPJ2Q22YRN0HktlkEoaYTJJ2Q22YRBE0nWDqhpRN6OsHTCelXTrLbLFpd0GbxghC3WYQ97wnbYc97wnbY856wHfZKbc97wnbY856wHfa8J2yHPe8J22HP22bxsiduswh76llL3GYR9tSzlrjNIuypZy1xm0XYU89a4jaLsIdqs3gJYbVZhBDvCdthz3vCdtjznrAd9kptz3vCdtjznrAd9rwnbIc97wnbYc97wvbLnrjNIuypZy1xm0XYU89a4jaLsKeetcRtFmFPPWuJ2yzCnnrWYrVZhBBUm0UIQbVZhBBUm0UIocytUwiqzSKEoNosQgiqzSKEoNosQgiqzeIlhNVmEUKLl/1nx/2HElibRSiBHaAXt2uBtVmEElibRSiBtVmEElibRSiBtVmEElibRSiBtVm8lNDaLEIJrM0ilMDaLEIJrM0ilBRPCazNIpTA2ixCCazNIpTA2ixCCazN4qWE1mYRSmBtFqEE1mYRSmBtFqGkeEpgbRahBNZmEUpgbRahBNZmEUpgbRYzygTWZjGdwNosphNYm8V0AjstfjqBtVlMJ7A2i+mEdzEOrs1iOoG1WUwnsDaL6aSATmj7k6/IBzt1Ptip88FOnQ926nywU+eDnTof7NT5YKfOBzt1Ptip88FOnQ926nywU+eDnTof7NT5YKfOBzt1Ptip88FOnQ92tHywo+WDnTof7NT5YKfOBzt1Ptip88FOnQ926nywU+eDnTof7NT5YKfOBzt1Ptip88FOnQ926nywU+eDnTof7NT5YKfOBztaPtjR8sGOlg92tHywo+WDHS0f7Gj5YEfLBztaPtjR8sGOlg92vHyw4+WDHS8f7Hj5YMfLBztePtjx8sGOlw92vHyw4+WDHS8f7Hj5YMfLBztePtjx8sGOlw92vHyw4+WDHS8f7Hj5YMfLBztePtjx8sGOlw92vHyw4+WDHS8f7Hj5YMfLBztePtgB88EOmA92wHywA+aDHTAf7ID5YAfMBztgPtgB88EOmA92wHyw4+WDe/vnaY+zFv/xUBX7+KF+fk4ZRX8+VL/w7fhL3FnFB6t4LbTmldZcaM03WnOlNTda80ZrTjtBK+0IrbQzVGhnqNDOUKGdoUI7Q4V2hgrtDJW0GXoSejrh8Uyy4yqhml4SRjZhK+mEmk6QdMLjvc2PxaO+XRI0nWDphJZOeLqmrRwPteKXBE8njGyClnRCTSc8fbeaHCPI5JrQ0glPf9NtOy6fNru8IGolnZD+U7LHa1rP95L1S4KnE0Y2oZV0Qk0nSDphSydoOsHSCS2d8MY1/fuXTCfB0wnP1/S58/VLQn+8ps/d+45Q0wmSTni6pls5/rpvZVwSNJ1g6YSWTujphMdrehzfTbdaLgkjm+AlnVDTCZJO2NIJmk6wdEJLJ/Q3Ei7XtHs64fmaPvJyTS4J4/GaPi+H3hFqOkHSCY/n9GefRYemEyyd0NIJPZ3g6YT0Kyc3t06/DeFtQZuFN+Y2C2/MbRbemNssvDG3WXhjbrPwxtxm4Y25zcIbc5uFN+Y2C2/MbRbemNssvDG3WXhjbrPwxtxm4Y25zcIbc5uFN+Y2C2/MbRbemNssvIG1WXgDa7Pwxtxm4Y25zcIbc5uFN+Y2C2/MbRbemNssvDG3WXhjbrPwxtxm4Y25zcIbc5tF2FPPWuI2i7CnnrXEbRbemNsswp561hK3WXhjbrPwBtZmEUJQbRYhBNVmEUJQbRYhhDK3TiGoNgtvYG0W3sDaLLyBtVl4A2uz8AbWZuENrs3CG1ybhTe4NgtvcG0W3uDaLLzBtVl4g2uz8AbXZuENrs3CG1ybhTe4NgtvcG0W3uDaLLzBtVl4g2uz8AbXZuENrs3CG1ybhTe4NgtvcG0W3uDaLLzBtVl4g2uz8AbXZuENrs3CG1ybhTe4NgtvcG0W3uDaLLzBtVl4w2uzmE5gbRbTCazNYjqBnRY/ncDaLKYTWJvFdMK7GAfXZjGdwNosphNYm8V0UkAnsP1pbKRtFi9xzqO4X+KcJ3G/xEnbLMKc8yTuMOc8iTvMOU/iDnOlNec8iTvMOdsswpx2gpK2WYQ57QwlbbMIc9oZStpmEea0M5S0zSLMaWdocptFEHo6IbfNIggjm5DcZhGEmk6QdEJum0UQNJ1g6YSWTshtswiCpxNGNiG5zSIINZ2Q22YRhJZOyD2T8UVIbrMIQvpPKbnNIgieThjZhOQ2iyDUdIKkE7Z0gqYTLJ3Q0gm5bRZB8HRCbptFfJ2V22YRhJpOkHRCbptFEDSdYOmElk7o6YTcNosgjGxCcptFEGo6QdIJWzpB0wmWTmjphNw2iyB4OiG3zSJugshtswhCTSdIOiG3zSIImk6wdEJLJ/R0gqcT0q+cJLdZ1CL5bRYB4W2zmPa0J2xPe9oTtqc97Qnb016p7WlP2J72tCdsT3vaE7anPe0J29Oets0i7HnbLKY99azlbbOY9tSzlrfNYtpTz1reNotpTz1redsspj1Sm0UIQbVZTCHaE7anPe0J29Oe9oTtaa/U9rQnbE972hO2pz3tCdvTnvaE7WlPe8J22PO2WUx76lnL22Yx7alnLW+bxbSnnrW8bRbTnnrW8rZZTHvqWQvVZjGFkNosphBSm8UUQmqzmEIoc+sUQmqzmEJIbRZTCKnNYgohtVlMIaQ2ixCCarOYQouX/SfH/U8lrDaLqYR1gN68XQurzWIqYbVZTCWsNouphNVmMZWw2iymElabxVTCarMIJbA2i6mE1WYxlbDaLKYSVpvFVFI8Jaw2i6mE1WYxlbDaLKYSVpvFVMJqswglsDaLqYTVZjGVsNosphJWm8VUUjwlrDaLqYTVZjGVsNosphJWm8VUwmqz2KNMWG0WuxNWm8XuhNVmsTthnRa/O2G1WexOWG0WuxPexTi0NovdCavNYnfCarPYnRTQCW1/GivywYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6HzzQ8sEDLR88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBAy0fPNDywQMtHzzQ8sEDLR880PLBAy0fPNDywQMtHzzQ8sEDLR888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx88APPBAzAfPADzwQMwHzwA88EDMB88APPBAzAfPADzwQMwHzwA88EDLh/c5K4scWsHROVnp3tVOZ93HUP6g+fVLz5Pvvi87e+f17d2E2lWO35TVn/++VA3+/m8+sXnyReft33xefrF59kXn9e++LzLUWX1eF+b+W/Pu/x8fN5pUdx+Ptr9J8WXUMYKyvXKfDulLqHIEsq2hKLPKeOX6/TjmmJLKG0JpS+h+BLKWEHZyhLK87Vff36hWn/5QvU3iiyhbEsouoRiSyhtCaUvofhbKVu9powVFC1LKG9Y+/aT0q5/LypLKNsSii6h2BJKW0Lp2RSX9s/lD0za8Xec9F+G3zZ+PK1fH6jVz8/Z3T+58VuLnx897eOH+vnF3ij686F6fXX0o9vJQ9xZxQer+PU1BArzSmsutOYbrbnSmhuteaM1p52glXaEVtoZKrQzVGhnqNDOUKGdoUI7Q4V2hkraDD0JPZ3weCbZcVuNml4SRjZhK+mEmk6QdMLjvc2PxaO+XRI0nWDphJZOeLqmrZwXsopfEjydMLIJWtIJNZ3w9N1qcowgk2tCSyc8/U237bhVpplcEaykE9J/SvZ4TevPi9P9kuDphJFNaCWdUNMJkk7Y0gmaTrB0QksnvHFN/35X5knwdMLzNX3ufP2S0B+v6XP3viPUdIKkE56u6VaOv+5bGZcETSdYOqGlE3o64fGaHsctra2WS8LIJnhJJ9R0gqQTtnSCphMsndDSCf2NhMs17Z5OeL6mj/tVmlwSxuM1fV4OvSPUdIKkEx7P6c8+iw5NJ1g6oaUTejrB0wnpV05ussbvQoxab+ofzY5vFap1/xjxvj6Q8HEwnwHmc9Ok+Y1CFU1I0IQ2NCFFEzI0oYYmhLZPV7SNuqLt1IK2UwvaTi1oO7Wg7dSCtlML2k4tiTv1yegLGM/30/eVC0yhASa0FTShiiYkaEIbmpCiCRmaUEMT6mhCaDv1hrZTK9pOrWg7taLt1Iq2UyvaTq1oO7Wi7dSauFOfDF/AGPkMKwsYdQFDFjC2BQxdwLAFjLaAsWCdt+fv3U86WSZFllCe/94/OadxUsaK19LLEsqS337XN1A+LEaZFFtCaUsofQnFl1DesV4+LFaYX2eXJZS6hCJLKNsSii6h2BJKW0LpSyi+hPKGtf9xU8C8daQsodQlFFlC2ZZQdAnFllDaEkpfQnnD2v+4A2JSxgrKXUvI2zHbis8WtegajK3BtDWYsQTzhjsC/whT12BkDSZ/3UjlPAoyxCnPsQpxymOsQpzzKMhpTnmM1TSnPMZqmlMeYzXNldac8hiraU55FOQ0p52gnEdBTnPaGcp5FOQ0p52hnEdBTnPaGcp5FOQ0p52huUdBTkJPJ6QeBTkJI5uQexTkJNR0gqQTUo+CnARNJ1g6oaUTUo+CnARPJ4xsQu5RkJNQ0wmpR0FOQksnpB5oEITcoyAnIf2nlHsU5CR4OmFkE3KPgpyEmk6QdMKWTtB0gqUTWjoh9SjISfB0QupRkPPrrNSjICehphMknZB6FOQkaDrB0gktndDTCalHQU7CyCbkHgU5CTWdIOmELZ2g6QRLJ7R0QupRkJPg6YTUoyDnTRCpR0FOQk0nSDoh9SjISdB0gqUTWjqhpxM8nZB+5ST7KMjt7ijIpud9u+33Dx4X36NoPb9HUbmE3Nyt+HcUGyfFP3nwG08b2m4PO2SxF2r7jdpeqe2N2r5R23dqe6e2H8z2Qj1rhXrWCvWsFepZK9SzVqhnrVDPWqGetUI9awVl1h5CG8r4PIUWT8Q3Hg+23Z5OymK/Udsrtb1R2zdq+05t79T2g9leC7U99axV6lmr1LNWqWetUs9apZ61Sj1rlXrWKvWsNZRZewqhjM9TCGUinkIoQ+4UQplbpxDKKDqFUKbLKYQyME4hlBlwCqFs64dQQ9up2+Jl/9nBzNvtgdnfqrT4jf3Z4WLb7SHZ3/lT6oKntOEptdVKHx+Gvd0e7P2tSo6nNOCUvOApLd+XPj7vebs9ufxblTY8JcVTMjylhqfU8ZQcT2nAKY2Cp7R69/7kXPDt9uz5b1Xa8JQUT8nwlBqeUsdTcjylAad0d8Z/otPHhQDTqQI6CaCTwV3Quesl+F6nDuiEdzGurk4G/pGTADptgE4K6IS2P/mKfLBT54OdOh/s1Plgp84HO3U+2KnzwU6dD3bqfLBT54OdOh/s1Plgp84HO3U+2KnzwU6dD3bqfLBT54OdOh/s1PlgR8sHO1o+2KnzwU6dD3bqfLBT54OdOh/s1Plgp84HO3U+2KnzwU6dD3bqfLBT54OdOh/s1Plgp84HO3U+2KnzwU6dD3bqfLCj5YMdLR/saPlgR8sHO1o+2NHywY6WD3a0fLCj5YMdLR/saPlgx8sHO14+2PHywY6XD3a8fLDj5YMdLx/sePlgx8sHO14+2PHywY6XD3a8fLDj5YMdLx/sePlgx8sHO14+2PHywY6XD3a8fLDj5YMdLx/sePlgx8sHO14+2PHywY6XD3a8fLDj5YMdMB/sgPlgB8wHO2A+2AHzwQ6YD3bAfLAD5oMdMB/sgPlgB8wHO14+WO2fpz3OWvzHQ1Xs44f6+TllFP35UP3Ct+MvcWcVH6zitdCaV1pzoTXfaM2V1txozRutOe0ErbQjtNLOUKGdoUI7Q4V2hgrtDBXaGSq0M1TSZuhJ6OmExzPJjquEanpJGNmEraQTajpB0gmP9zY/Fo/6dknQdIKlE1o64ematnI81IpfEjydMLIJWtIJNZ3w9N1qcowgk2tCSyc8/U237bh82uzygqiVdEL6T8ker2k930vWLwmeThjZhFbSCTWdIOmELZ2g6QRLJ7R0whvX9O9fMp0ETyc8X9PnztcvCf3xmj537ztCTSdIOuHpmm7l+Ou+lXFJ0HSCpRNaOqGnEx6v6XF8N91quSSMbIKXdEJNJ0g6YUsnaDrB0gktndDfSLhc0+7phOdr+sjLNbkkjMdr+rwcekeo6QRJJzye0599Fh2aTrB0Qksn9HSCpxPSr5zc3Dr9NoTZgjYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzOwNgszsDYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNgsz5jYLM+Y2CzPmNouwp561xG0WYU89a4nbLMyY2yzCnnrWErdZmDG3WZiBtVmEEFSbRQhBtVmEEFSbRQihzK1TCKrNwgyszcIMrM3CDKzNwgyszcIMrM3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK7NwgyuzcIMrs3CDK/NYjqBtVlMJ7A2i+kEdlr8dAJrs5hOYG0W0wnvYhxcm8V0AmuzmE5gbRbTSQGdwPanXhbkg18Q4nxw2PNmlsKeN7MU9ryZpbBXanvezFLY82aWwp43sxT2vJmlsOfNB7/sifPBYU89a4nzwWFPPWuJ88FhTz1rifPBYU89a4nzwWEPlQ9+CWHlg0OIN7MU9ryZpbDnzSyFvVLb82aWwp43sxT2vJmlsOfNLIU9b2bpZU+cDw576llLnA8Oe+pZS5wPDnvqWUucDw576llLnA8Oe+pZi5UPDiGofHAIQeWDQwgqHxxCKHPrFILKB4cQVD44hKDywSEElQ8OIah88EsIKx8cQouX/WcBylACyweHEtgtiXG7Flg+OJTA8sGhBJYPDiWwfHAogeWDQwksHxxKYPnglxJaPjiUwPLBoQSWDw4lsHxwKCmeElg+OJTA8sGhBJYPDiWwfHAogeWDX0po+eBQAssHhxJYPjiUwPLBoaR4SmD54FACyweHElg+OJTA8sGhBJYPnlEmsHzwdALLB08nsHzwdMLL38Hlg6cTWD54OuFdjIPLB08nsHzwdALLB08nBXSC2p9sc7nJB5v58Tzr/jHkbTeMTx8H8xlgPjdR628UqmhCgia0oQkpmpChCTU0IbR9uqJt1BVtpxa0nVrQdmpB26kFbacWtJ1a0HZqSdypT0ZfwHi+n77t7tNdaIAJbQVNqKIJCZrQhiakaEKGJtTQhDqaENpOvaHt1Iq2UyvaTq1oO7Wi7dSKtlMr2k6taDu1Ju7UJ8MXMEY+w8oCRl3AkAWMbQFDFzBsAaMtYCxY5+35e/fjm/Z3iiyhPP+9/8EXeW2seC29LKEs+e13fQPlozvnd4otobQllL6E4kso71gvH915u3+dXZZQ6hKKLKFsSyi6hGJLKG0JpS+h+BLKG9b+h7eS7reOlCWUuoQiSyjbEoouodgSSltC6Usob1j7H94kvFPGCsrdbeRvx2wrPlvUomswtgbT1mDGEswb7gj8I0xdg5E1mPx1M25uru3n07p/ctFVy6GjYh8/1M8/ekbR//jl6uzfX8odN3fhMogPVvHrVUxhXmnNhdZ8ozVXWnOjNW+05rQTtNKO0Eo7Q4V2hgrtDBXaGSq0M1RoZ6jQzlBJm6EnoacTHs8kOy5IqeklYWQTtpJOqOkESSc83tv8WDzq2yVB0wmWTmjphKdr2srxUCt+SfB0wsgmaEkn1HTC03eryTGCTK4JLZ3w9DfdtuNsgmaXF0StpBPSf0r2eE3r+V6yfknwdMLIJrSSTqjpBEknbOkETSdYOqGlE964pn8/weUkeDrh+Zo+d75+SeiP1/S5e98RajpB0glP13Qrx1/3rYxLgqYTLJ3Q0gk9nfB4TY/jnphWyyVhZBO8pBNqOkHSCVs6QdMJlk5o6YT+RsLlmnZPJzxf00eyocklYTxe0+fl0DtCTSdIOuHxnP7ss+jQdIKlE1o6oacTPJ2QfuXk5obSdyG03B0F+XeHU9bzexSVS0hdfLzy+04bmvaV2l6o7Tdqe6W2N2r7Rm3fqe2d2n4w2wv1rBXqWSvUs1aoZ61Qz1qhnrVCPWuFetYK9awVlFl7CG0o4/MUWjwR33c82LQXavuN2l6p7Y3avlHbd2p7p7YfzPZaqO2pZ61Sz1qlnrVKPWuVetYq9axV6lmr1LNWqWetoczaUwhlfJ5CKBPxFEIZcqcQytw6hVBG0SmEMl1OIZSBcQqhzIBTCGVbP4Qa2k7dFi/7Tw5mnkqGpwTVTr3frlXhfkpd8JQ2PKXVjfAfH4Y9lTqekuMpDTglL3hKy/elD897nkqCp7ThKSmekuEpNTyljqfkeEoDTmkUPKXVu/fH54JPJcFT2vCUFE/J8JQanlLHU3I8pQGndHfGf6LTh4UAu1MFdBJAJ4O7oHPXS/C9Th3QCe9iXF2dDPwjJwF02gCdFNAJbX8aK/LBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPNDywQMtHzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88GDOh88qPPBgzofPKjzwYM6Hzyo88EDLR880PLBAy0fPNDywQMtHzzQ8sEDLR880PLBAy0fPNDywQMtHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzzw8sEDLx888PLBAy8fPPDywQMvHzwA88EDMB88APPBAzAfPADzwQMwHzwA88EDMB88APPBAzAfPADzwQMvH1zbP097nLX4j4eq2McP9fNzyij686H6hW/HX+LOKj5YxWuhNa+05kJrvtGaK6250Zo3WnPaCVppR2ilnaFCO0OFdoYK7QwV2hkqtDNUaGeopM3Qk9DTCY9nkh1XCdX0kjCyCVtJJ9R0gqQTHu9tfiwe9e2SoOkESye0dMLTNW3leKgVvyR4OmFkE7SkE2o64em71eQYQSbXhJZOePqbbttx+bTZ5QVRK+mE9J+SPV7Ter6XrF8SPJ0wsgmtpBNqOkHSCVs6QdMJlk5o6YQ3runfv2Q6CZ5OeL6mz52vXxL64zV97t53hJpOkHTC0zXdyvHXfSvjkqDpBEsntHRCTyc8XtPj+G661XJJGNkEL+mEmk6QdMKWTtB0gqUTWjqhv5Fwuabd0wnP1/SRl2tySRiP1/R5OfSOUNMJkk54PKc/+yw6NJ1g6YSWTujpBE8npF85ubl1+m0IaQvaLKQxt1lIY26zkMbcZiGNuc1CGnObhTTmNgtpzG0W0pjbLKQxt1lIY26zkMbcZiGNuc1CGnObhTTmNgtpzG0W0pjbLKQxt1lIY26zkMbcZiENrM1CGlibhTTmNgtpzG0W0pjbLKQxt1lIY26zkMbcZiGNuc1CGnObhTTmNgtpzG0W0pjbLMKeetYSt1mEPfWsJW6zkMbcZhH21LOWuM1CGnObhTSwNosQgmqzCCGoNosQgmqzCCGUuXUKQbVZSANrs5AG1mYhDazNQhpYm4U0sDYLaXBtFtLg2iykwbVZSINrs5AG12YhDa7NQhpcm4U0uDYLaXBtFtLg2iykwbVZSINrs5AG12YhDa7NQhpcm4U0uDYLaXBtFtLg2iykwbVZSINrs5AG12YhDa7NQhpcm4U0uDYLaXBtFtLg2iykwbVZSINrs5AG12YhDa7NQhpem8V0AmuzmE5gbRbTCey0+OkE1mYxncDaLKYT3sU4uDaL6QTWZjGdwNosppMCOoHtT1oX5INfEOJ8cNjzZpbCnjezFPa8maWwV2p73sxS2PNmlsKeN7MU9ryZpbDnzQe/7InzwWFPPWuJ88FhTz1rifPBYU89a4nzwWFPPWuJ88FhD5UPfglh5YNDiDezFPa8maWw580shb1S2/NmlsKeN7MU9ryZpbDnzSyFPW9m6WVPnA8Oe+pZS5wPDnvqWUucDw576llLnA8Oe+pZS5wPDnvqWYuVDw4hqHxwCEHlg0MIKh8cQihz6xSCygeHEFQ+OISg8sEhBJUPDiGofPBLCCsfHEKLl/1nAcpQAssHhxLYLYlxuxZYPjiUwPLBoQSWDw4lsHxwKIHlg0MJLB8cSmD54JcSWj44lMDywaEElg8OJbB8cCgpnhJYPjiUwPLBoQSWDw4lsHxwKIHlg19KaPngUALLB4cSWD44lMDywaGkeEpg+eBQAssHhxJYPjiUwPLBoQSWD55RJrB88HQCywdPJ7B88HTCy9/B5YOnE1g+eDrhXYyDywdPJ7B88HQCywdPJwV0gtqfWul3/cFmfjzPun8MedsN49PHwXwGmM9N1PobhSqakKAJbWhCiiZkaEINTQhtn65oG3VF26kFbacWtJ1a0HZqQdupBW2nFrSdWhJ36pPRFzCe76dvu/t0FxpgQltBE6poQoImtKEJKZqQoQk1NKGOJoS2U29oO7Wi7dSKtlMr2k6taDu1ou3UirZTK9pOrYk79cnwBYyRz7CygFEXMGQBY1vA0AUMW8BoCxgL1nl7/t79+Kb9nSJLKM9/73/wRV4bK15LL0soS377Xd9A+ejO+Z1iSyhtCaUvofgSyjvWy0d33u5fZ5cllLqEIkso2xKKLqHYEkpbQulLKL6E8oa1/+GtpPutI2UJpS6hyBLKtoSiSyi2hNKWUPoSyhvW/oc3Ce+UsYJydxv52zHbis8WtegajK3BtDWYsQTzhjsC/whT12BkDSZ/3fjNzbX9fFr3Ty66ajl0VOzjh/r5R88o+h+/XJ39+0u5fnMXLoP4YBW/XsUU5pXWXGjNN1pzpTU3WvNGa047QSvtCK20M1RoZ6jQzlChnaFCO0OFdoYK7QyVtBl6Eno64fFMsuOClJpeEkY2YSvphJpOkHTC473Nj8Wjvl0SNJ1g6YSWTni6pq0cD7XilwRPJ4xsgpZ0Qk0nPH23mhwjyOSa0NIJT3/TbTvOJmh2eUHUSjoh/adkj9e0nu8l65cETyeMbEIr6YSaTpB0wpZO0HSCpRNaOuGNa/r3E1xOgqcTnq/pc+frl4T+eE2fu/cdoaYTJJ3wdE23cvx138q4JGg6wdIJLZ3Q0wmP1/Q47olptVwSRjbBSzqhphMknbClEzSdYOmElk7obyRcrmn3dMLzNX0kG5pcEsbjNX1eDr0j1HSCpBMez+nPPosOTSdYOqGlE3o6wdMJ6VdObm4ofRti3B0F+XeHU9bzexSVS0hdfLzyG08bGreHHbLYC7X9Rm2v1PZGbd+o7Tu1vVPbD2Z7oZ61Qj1rhXrWCvWsFepZK9SzVqhnrVDPWqGetYIyaw+hDWV8nkKLJ+Ibjwcbt6eTsthv1PZKbW/U9o3avlPbO7X9YLbXQm1PPWuVetYq9axV6lmr1LNWqWetUs9apZ61Sj1rDWXWnkIo4/MUQpmIpxDKkDuFUObWKYQyik4hlOlyCqEMjFMIZQacQijb+iHU0HbqtnjZf3Yw87g9MPtblaDaqffbtSrcT6kLntKGp7S6Ef6Tw7DH7cHe36rkeEoDTskLntLyfenj857H7cnl36q04SkpnpLhKTU8pY6n5HhKA05pFDyl1bv3J+eCj9uz579VacNTUjwlw1NqeEodT8nxlAac0t0Z/4lOHxcCTKcK6CSATgZ3Qeeul+B7nTqgE97FuLo6GfhHTgLotAE6KaAT1v5Uy5afDw4Ibz542tNmlqY9bWZp2tNmlqa9UtvTZpamPW1madrTZpamPW1madrT5oPDnjcfPO2pZy1vPnjaU89a3nzwtKeetbz54GlPPWt588HTHikfHEJQ+eApRJtZmva0maVpT5tZmvZKbU+bWZr2tJmlaU+bWZr2tJmlaU+bWQp73nzwtKeetbz54GlPPWt588HTnnrW8uaDpz31rOXNB0976lkLlQ+eQkj54CmElA+eQkj54CmEMrdOIaR88BRCygdPIaR88BRCygdPIaR8cAhB5YOn0OJl/0mAciph5YOnEtYtifN2Lax88FTCygdPJax88FTCygdPJax88FTCygdPJax8cCiB5YOnElY+eCph5YOnElY+eCopnhJWPngqYeWDpxJWPngqYeWDpxJWPjiUwPLBUwkrHzyVsPLBUwkrHzyVFE8JKx88lbDywVMJKx88lbDywVMJKx+8R5mw8sG7E1Y+eHfCygfvTnj5O7R88O6ElQ/enfAuxqHlg3cnrHzw7oSVD96dFNAJbH+q5Z+nPc5a/MdDVezjh/r5OWUU/flQ/cK34y9xZxUfrOK10JpXWnOhNd9ozZXW3GjNG6057QSttCO00s5QoZ2hQjtDhXaGCu0MFdoZKrQzVNJm6Eno6YTHM8mOq4RqekkY2YStpBNqOkHSCY/3Nj8Wj/p2SdB0gqUTWjrh6Zq2cjzUil8SPJ0wsgla0gk1nfD03WpyjCCTa0JLJzz9TbftuHza7PKCqJV0QvpPyR6vaT3fS9YvCZ5OGNmEVtIJNZ0g6YQtnaDpBEsntHTCG9f0718ynQRPJzxf0+fO1y8J/fGaPnfvO0JNJ0g64emabuX4676VcUnQdIKlE1o6oacTHq/pcXw3/foK+5Iwsgle0gk1nSDphC2doOkESye0dEJ/I+FyTbunE56v6SMv1+SSMB6v6fNy6B2hphMknfB4Tn/2WXRoOsHSCS2d0NMJnk5Iv3Jyc+v02xBSFrRZSGFus5DC3GYhhbnNQgpzm4UU5jYLKcxtFlKY2yykMLdZSGFus5DC3GYhhbnNQgpzm4UU5jYLKcxtFlKY2yykMLdZSGFus5DC3GYhhbnNQgpYm4UUsDYLKcxtFlKY2yykMLdZSGFus5DC3GYhhbnNQgpzm4UU5jYLKcxtFlKY2yykMLdZhD31rCVuswh76llL3GYhhbnNIuypZy1xm4UU5jYLKWBtFiEE1WYRQlBtFiEE1WYRQihz6xSCarOQAtZmIQWszUIKWJuFFLA2CylgbRZS4NospMC1WUiBa7OQAtdmIQWuzUIKXJuFFLg2CylwbRZS4NospMC1WUiBa7OQAtdmIQWuzUIKXJuFFLg2CylwbRZS4NospMC1WUiBa7OQAtdmIQWuzUIKXJuFFLg2CylwbRZS4NospMC1WUiBa7OQAtdmIQWuzUIKXJuFFLw2i+kE1mYxncDaLKYT2Gnx0wmszWI6gbVZTCe8i3FwbRbTCazNYjqBtVlMJwV0AtufNluQD35BiPPBYc+bWQp73sxS2PNmlsJeqe15M0thz5tZCnvezFLY82aWwp43H/yyJ84Hhz31rCXOB4c99awlzgeHPfWsJc4Hhz31rCXOB4c9VD74JYSVDw4h3sxS2PNmlsKeN7MU9kptz5tZCnvezFLY82aWwp43sxT2vJmllz1xPjjsqWctcT447KlnLXE+OOypZy1xPjjsqWctcT447KlnLVY+OISg8sEhBJUPDiGofHAIocytUwgqHxxCUPngEILKB4cQVD44hKDywS8hrHxwCC1e9p8FKEMJLB8cSmC3JMbtWmD54FACyweHElg+OJTA8sGhBJYPDiWwfHAogeWDX0po+eBQAssHhxJYPjiUwPLBoaR4SmD54FACyweHElg+OJTA8sGhBJYPfimh5YNDCSwfHEpg+eBQAssHh5LiKYHlg0MJLB8cSmD54FACyweHElg+eEaZwPLB0wksHzydwPLB0wkvfweXD55OYPng6YR3MQ4uHzydwPLB0wksHzydFNAJa3/SepMP/ouCYi3+46Eq9vFD/fycMor+fKj+/bfjIe6s4oNVvBZa80prLrTmG6250pobrXmjNaedoJV2hFbaGSq0M1RoZ6jQzlChnaFCO0OFdoZK2gw9CT2d8Hgm2XGVUE0vCSObsJV0Qk0nSDrh8d7mx+JR3y4Jmk6wdEJLJzxd01aOh1rxS4KnE0Y2QUs6oaYTnr5bTY4RZHJNaOmEp7/pth2XT5tdXhC1kk5I/ynZ4zWt53vJ+iXB0wkjm9BKOqGmEySdsKUTNJ1g6YSWTnjjmv79S6aT4OmE52v63Pn6JaE/XtPn7n1HqOkESSc8XdOtHH/dtzIuCZpOsHRCSyf0dMLjNT2O76ZbLZeEkU3wkk6o6QRJJ2zpBE0nWDqhpRP6GwmXa9o9nfB8TR95uSaXhPF4TZ+XQ+8INZ0g6YTHc/qzz6JD0wmWTmjphJ5O8HRC+pWTm1un34cY+W0WAeFts5j2tCdsT3vaE7anPe0J29Neqe1pT9ie9rQnbE972hO2pz3tCdvTnrbNIux52yymPfWs5W2zmPbUs5a3zWLaU89a3jaLaU89a3nbLKY9UptFCEG1WUwh2hO2pz3tCdvTnvaE7Wmv1Pa0J2xPe9oTtqc97Qnb0572hO1pT3vCdtjztllMe+pZy9tmMe2pZy1vm8W0p561vG0W05561vK2WUx76lkL1WYxhZDaLKYQUpvFFEJqs5hCKHPrFDI0IaQ2iymE1GYxhZDaLKYQUptFCEG1WUyhxcv+k+P+p5LhKWEdoDdv18Jqs5hKWG0WUwmrzWIqYbVZTCWsNouphNVmMZWw2ixCCazNYiphtVlMJaw2i6mE1WYxlRRPyfCUsNosphJWm8VUwmqzmEpYbRahBNZmMZWw2iymElabxVTCarOYSoqnZHhKWG0WUwmrzWIqYbVZTCWsNos9yoTVZrE7YbVZ7E5YbRa7k8Fd0EFrs9idsNosdie8i3FobRa7E1abxe6E1WaxOymgE9b+1KTf5IPNjlNHq3X/GPK+G8bDx8F8BpjPTdT6G4UqmpCgCW1oQoomZGhCDU0IbZ+uaBt1RdupBW2nFrSdWtB2akHbqQVtpxa0nVoSd+qT0Rcwnu+n77v7dAoNMKGtoAlVNCFBE9rQhBRNyNCEGppQRxNC26k3tJ1a0XZqRdupFW2nVrSdWtF2akXbqRVtp9bEnfpk+ALGyGdYWcCoCxiygLEtYOgChi1gtAWMBeu8PX/vfnLT/qTIEsrz3/sffJHXxorX0ssSypLfftc3UD68c35SbAmlLaH0JRRfQnnHevnwztv5dXZZQqlLKLKEsi2h6BKKLaG0JZS+hOJLKG9Y+x/fSjpvHSlLKHUJRZZQtiUUXUKxJZS2hNKXUN6w9j++SXhSxgrK3W3kb8dsKz5b1KJrMLYG09ZgxhLMG+4I/CNMXYORNZj8dbPd3Fz7N1Xk5dBRsY8f6ucfPaP80h6vX7iUu93chcsgPljFa6E1r7TmQmu+0ZorrbnRmjdac9oJWmlHaKWdoUI7Q4V2hgrtDBXaGSq0M1RoZ6ikzdCT0NMJj2eSHRek1PSSMLIJW0kn1HSCpBMe721+LB717ZKg6QRLJ7R0wuNq+3I81IpfEjydMLIJWtIJNZ3w9N1qcowgk2tCSyekFp4HwUo6If2nZI/XtJ7vJeuXBE8njGxCK+mEmk6QdMKWTtB0gqUTWjrhjWv69xNcToKnE56v6XPn65eE/nhNn7v3HaGmEySd8HRNt3L8dd/KuCRoOsHSCS2d0NMJj9f0OO6JabVcEkY2wUs6oaYTJJ2wpRM0nWDphJZO6G8kXK5p93TC8zV9JBuaXBLG4zV9Xg69I9R0gqQTHs/pzz6LDk0nWDqhpRN6OsHTCelXTm5uKH0bQu+Ogvy7wynr+T2KyiWkLj5e+Y2nDentYYcs9kJtv1HbK7W9Uds3avtObe/U9oPZXqhnrVDPWqGetUI9a4V61gr1rBXqWSvUs1aoZ62gzNpDaEMZn6fQ4on4xuPB9PZ0Uhb7jdpeqe2N2r5R23dqe6e2H8z2WqjtqWetUs9apZ61Sj1rlXrWKvWsVepZq9SzVqlnraHM2lMIZXyeQigT8RRCGXKnEMrcOoVQRtEphDJdTiGUgXEKocyAUwhlWz+EGtpO3RYv+88OZtbbA7O/VQmrnXrerlXhfkpd8JQ2PKXVjfCfHIattwd7f6uS4ykNOCUveErL96WPz3vW25PLv1Vpw1NSPCXDU2p4Sh1PyfGUBpzSKHhKq3fvT84F19uz579VacNTUjwlw1NqeEodT8nxlAac0t0Z/4lOHxcCTKcK6CSATgZ3Qeeul+B7nTqgE97FuLo6GfhHTgLotAE6KaAT2P5kuiAf/IIQ54PDnjezFPa8maWw580shb1S2/NmlsKeN7MU9ryZpbDnzSyFPW8++GVPnA8Oe+pZS5wPDnvqWUucDw576llLnA8Oe+pZS5wPDnuofPBLCCsfHEK8maWw580shT1vZinsldqeN7MU9ryZpbDnzSyFPW9mKex5M0sve+J8cNhTz1rifHDYU89a4nxw2FPPWuJ8cNhTz1rifHDYU89arHxwCEHlg0MIKh8cQlD54BBCmVunEFQ+OISg8sEhBJUPDiGofHAIQeWDX0JY+eAQWrzsPwtQhhJYPjiUwG5JjNu1wPLBoQSWDw4lsHxwKIHlg0MJLB8cSmD54FACywe/lNDywaEElg8OJbB8cCiB5YNDSfGUwPLBoQSWDw4lsHxwKIHlg0MJLB/8UkLLB4cSWD44lMDywaEElg8OJcVTAssHhxJYPjiUwPLBoQSWDw4lsHzwjDKB5YOnE1g+eDqB5YOnE17+Di4fPJ3A8sHTCe9iHFw+eDqB5YOnE1g+eDopoBPY/tTqP097nLX4j4eq2McP9fNzyij686H6hW/HX+LOKj5YxWuhNa+05kJrvtGaK6250Zo3WnPaCVppR2ilnaFCO0OFdoYK7QwV2hkqtDNUaGeopM3Qk9DTCY9nkh1XCdX0kjCyCVtJJ9R0gqQTHu9tfiwe9e2SoOkESye0dMLTNW3leKgVvyR4OmFkE7SkE2o64em71eQYQSbXhJZOePqbbttx+bTZ5QVRK+mE9J+SPV7Ter6XrF8SPJ0wsgmtpBNqOkHSCVs6QdMJlk5o6YQ3runfv2Q6CZ5OeL6mz52vXxL64zV97t53hJpOkHTC0zXdyvHXfSvjkqDpBEsntHRCTyc8XtPj+G661XJJGNkEL+mEmk6QdMKWTtB0gqUTWjqhv5Fwuabd0wnP1/SRl2tySRiP1/R5OfSOUNMJkk54PKc/+yw6NJ1g6YSWTujpBE8npF85ubl1+m2IXhe0WfTK3GbRK3ObRa/MbRa9MrdZ9MrcZtErc5tFr8xtFr0yt1n0ytxm0Stzm0WvzG0WvTK3WfTK3GbRK3ObRa/MbRa9MrdZ9MrcZtErc5tFr8xtFr2CtVn0CtZm0Stzm0WvzG0WvTK3WfTK3GbRK3ObRa/MbRa9MrdZ9MrcZtErc5tFr8xtFr0yt1mEPfWsJW6zCHvqWUvcZtErc5tF2FPPWuI2i16Z2yx6BWuzCCGoNosQgmqzCCGoNosQQplbpxBUm0WvYG0WvYK1WfQK1mbRK1ibRa9gbRa9wrVZ9ArXZtErXJtFr3BtFr3CtVn0Ctdm0Stcm0WvcG0WvcK1WfQK12bRK1ybRa9wbRa9wrVZ9ArXZtErXJtFr3BtFr3CtVn0Ctdm0Stcm0WvcG0WvcK1WfQK12bRK1ybRa9wbRa9wrVZ9ArXZtErXJtFr3BtFr3CtVn0Ctdm0Stem8V0AmuzmE5gbRbTCey0+OkE1mYxncDaLKYT3sU4uDaL6QTWZjGdwNosppMCOoHtT94W5INfEOJ8cNjzZpbCnjezFPa8maWwV2p73sxS2PNmlsKeN7MU9ryZpbDnzQe/7InzwWFPPWuJ88FhTz1rifPBYU89a4nzwWFPPWuJ88FhD5UPfglh5YNDiDezFPa8maWw580shb1S2/NmlsKeN7MU9ryZpbDnzSyFPW9m6WVPnA8Oe+pZS5wPDnvqWUucDw576llLnA8Oe+pZS5wPDnvqWYuVDw4hqHxwCEHlg0MIKh8cQihz6xSCygeHEFQ+OISg8sEhBJUPDiGofPBLCCsfHEKLl/1nAcpQAssHhxLYLYlxuxZYPjiUwPLBoQSWDw4lsHxwKIHlg0MJLB8cSmD54JcSWj44lMDywaEElg8OJbB8cCgpnhJYPjiUwPLBoQSWDw4lsHxwKIHlg19KaPngUALLB4cSWD44lMDywaGkeEpg+eBQAssHhxJYPjiUwPLBoQSWD55RJrB88HQCywdPJ7B88HTCy9/B5YOnE1g+eDrhXYyDywdPJ7B88HQCywdPJwV0gtqfeunlJh9s5sfzrPvHkLfdMD59HMxngPncRK2/UaiiCQma0IYmpGhChibU0ITQ9umKtlFXtJ1a0HZqQdupBW2nFrSdWtB2akHbqSVxpz4ZfQHj+X76trtPd6EBJrQVNKGKJiRoQhuakKIJGZpQQxPqaEJoO/WGtlMr2k6taDu1ou3UirZTK9pOrWg7taLt1Jq4U58MX8AY+QwrCxh1AUMWMLYFDF3AsAWMtoCxYJ235+/dj2/a3ymyhPL89/4HX+S1seK19LKEsuS33/UNlI/unN8ptoTSllD6EoovobxjvXx05+3+dXZZQqlLKLKEsi2h6BKKLaG0JZS+hOJLKG9Y+x/eSrrfOlKWUOoSiiyhbEsouoRiSyhtCaUvobxh7X94k/BOGSsod7eRvx2zrfhsUYuuwdgaTFuDGUswb7gj8I8wdQ1G1mDy143f3Fzbz6d1/+Siq5ZDR8U+fqiff/SMov/xy9XZv7+U6zd34TKID1bx61VMYV5pzYXWfKM1V1pzozVvtOa0E7TSjtBKO0OFdoYK7QwV2hkqtDNUaGeo0M5QSZuhJ6GnEx7PJDsuSKnpJWFkE7aSTqjpBEknPN7b/Fg86tslQdMJlk5o6YSna9rK8VArfknwdMLIJmhJJ9R0wtN3q8kxgkyuCS2d8PQ33bbjbIJmlxdEraQT0n9K9nhN6/lesn5J8HTCyCa0kk6o6QRJJ2zpBE0nWDqhpRPeuKZ/P8HlJHg64fmaPne+fknoj9f0uXvfEWo6QdIJT9d0K8df962MS4KmEyyd0NIJPZ3weE2P456YVsslYWQTvKQTajpB0glbOkHTCZZOaOmE/kbC5Zp2Tyc8X9NHsqHJJWE8XtPn5dA7Qk0nSDrh8Zz+7LPo0HSCpRNaOqGnEzydkH7l5OaG0rchxt1RkH93OGU9v0dRuYTUxccrv/G0oXF72CGLvVDbb9T2Sm1v1PaN2r5T2zu1/WC2F+pZK9SzVqhnrVDPWqGetUI9a4V61gr1rBXqWSsos/YQ2lDG5ym0eCK+8XiwcXs6KYv9Rm2v1PZGbd+o7Tu1vVPbD2Z7LdT21LNWqWetUs9apZ61Sj1rlXrWKvWsVepZq9Sz1lBm7SmEMj5PIZSJeAqhDLlTCGVunUIoo+gUQpkupxDKwDiFUGbAKYSyrR9CDW2nbouX/WcHM4/bA7O/VQmqnXq/XavC/ZS64ClteEqrG+E/OQx73B7s/a1Kjqc04JS84Ckt35c+Pu953J5c/q1KG56S4ikZnlLDU+p4So6nNOCURsFTWr17f3Iu+Lg9e/5blTY8JcVTMjylhqfU8ZQcT2nAKd2d8Z/o9HEhwHSqgE4C6GRwF3Tuegm+16kDOuFdjKurk4F/5CSAThugkwI6oe1PfUU+uFPngzt1PrhT54M7dT64U+eDO3U+uFPngzt1PrhT54M7dT64U+eDO3U+uFPngzt1PrhT54M7dT64U+eDO3U+uFPngztaPrij5YM7dT64U+eDO3U+uFPngzt1PrhT54M7dT64U+eDO3U+uFPngzt1PrhT54M7dT64U+eDO3U+uFPngzt1PrhT54M7dT64o+WDO1o+uKPlgztaPrij5YM7Wj64o+WDO1o+uKPlgztaPrij5YM7Xj644+WDO14+uOPlgztePrjj5YM7Xj644+WDO14+uOPlgztePrjj5YM7Xj644+WDO14+uOPlgztePrjj5YM7Xj644+WDO14+uOPlgztePrjj5YM7Xj644+WDO14+uOPlgztePrjj5YM7YD64A+aDO2A+uAPmgztgPrgD5oM7YD64A+aDO2A+uAPmgztgPrjD5YNr0X+e9jhr8R8PVbGPH+rn55RR9OdD9e+/HQ9xZxUfrOK10JpXWnOhNd9ozZXW3GjNG6057QSttCO00s5QoZ2hQjtDhXaGCu0MFdoZKrQzVNJm6Eno6YTHM8mOq4RqekkY2YStpBNqOkHSCY/3Nj8Wj/p2SdB0gqUTWjrh6Zq2cjzUil8SPJ0wsgla0gk1nfD03WpyjCCTa0JLJzz9TbftuHza7PKCqJV0QvpPyR6vaT3fS9YvCZ5OGNmEVtIJNZ0g6YQtnaDpBEsntHTCG9f0718ynQRPJzxf0+fO1y8J/fGaPnfvO0JNJ0g64emabuX4676VcUnQdIKlE1o6oacTHq/pcXw33Wq5JIxsgpd0Qk0nSDphSydoOsHSCS2d0N9IuFzT7umE52v6yMs1uSSMx2v6vBx6R6jpBEknPJ7Tn30WHZpOsHRCSyf0dIKnE9KvnNzcOv02RNX8NouA8LZZTHvaE7anPe0J29Oe9oTtaa/U9rQnbE972hO2pz3tCdvTnvaE7WlP22YR9rxtFtOeetbytllMe+pZy9tmMe2pZy1vm8W0p561vG0W0x6pzSKEoNosphDtCdvTnvaE7WlPe8L2tFdqe9oTtqc97Qnb0572hO1pT3vC9rSnPWE77HnbLKY99azlbbOY9tSzlrfNYtpTz1reNotpTz1redsspj31rIVqs5hCSG0WUwipzWIKIbVZTCGUuXUKIbVZTCGkNosphNRmMYWQ2iymEFKbRQhBtVlMocXL/pPj/qcSVpvFVMI6QG/eroXVZjGVsNosphJWm8VUwmqzmEpYbRZTCavNYiphtVmEElibxVTCarOYSlhtFlMJq81iKimeElabxVTCarOYSlhtFlMJq81iKmG1WYQSWJvFVMJqs5hKWG0WUwmrzWIqKZ4SVpvFVMJqs5hKWG0WUwmrzWIqYbVZ7FEmrDaL3QmrzWJ3wmqz2J3AToufTlhtFrsTVpvF7oR3MQ6tzWJ3wmqz2J2w2ix2JwV0AtufZCzIB78gxPngsOfNLIU9b2Yp7HkzS2Gv1Pa8maWw580shT1vZinseTNLYc+bD37ZE+eDw5561hLng8OeetYS54PDnnrWEueDw5561hLng8MeKh/8EsLKB4cQb2Yp7HkzS2HPm1kKe6W2580shT1vZinseTNLYc+bWQp73szSy544Hxz21LOWOB8c9tSzljgfHPbUs5Y4Hxz21LOWOB8c9tSzFisfHEJQ+eAQgsoHhxBUPjiEUObWKQSVDw4hqHxwCEHlg0MIKh8cQlD54JcQVj44hBYv+88ClKEElg8OJbBbEuN2LbB8cCiB5YNDCSwfHEpg+eBQAssHhxJYPjiUwPLBLyW0fHAogeWDQwksHxxKYPngUFI8JbB8cCiB5YNDCSwfHEpg+eBQAssHv5TQ8sGhBJYPDiWwfHAogeWDQ0nxlMDywaEElg8OJbB8cCiB5YNDCSwfPKNMYPng6QSWD55OYPng6YSXv4PLB08nsHzwdMK7GAeXD55OYPng6QSWD55OCuiEtT9paa8vdy7X3Tbqjydqs/N5dav/8V9e//b//df/+7/91//1//jf/5/XM+I//r///X/7H//t//zvP/71f/z//9f+X16P/Z8="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"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","debug_symbols":"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"}],"outputs":{"globals":{"notes":[{"fields":[{"kind":"integer","sign":false,"value":"00000000000000000000000000000000000000000000000000000000906cb9c3"},{"kind":"string","value":"EcdsaPublicKeyNote"}],"kind":"tuple"}],"storage":[{"fields":[{"name":"public_key","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"0000000000000000000000000000000000000000000000000000000000000001"}}],"kind":"struct"}}],"kind":"struct"}]},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}}],"kind":"struct","path":"EcdsaKAccount::entrypoint_parameters"}}],"kind":"struct","path":"EcdsaKAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}}}],"kind":"struct","path":"EcdsaKAccount::constructor_parameters"}}],"kind":"struct","path":"EcdsaKAccount::constructor_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaKAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"EcdsaKAccount::verify_private_authwit_abi"}]}},"file_map":{"100":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<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 historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_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.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\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 max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_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 note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\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 max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\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 fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].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. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_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 );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\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 let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // 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 // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: 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 enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: 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 set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\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 max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: 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 historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"108":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\nuse std::{\n embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n hash::from_field_unsafe as fr_to_fq_unsafe, field::bn254::decompose\n};\n\nuse crate::{\n event::event_interface::EventInterface, oracle::unsafe_rand::unsafe_rand,\n utils::point::point_to_bytes, note::note_interface::NoteInterface,\n encrypted_logs::{\n header::EncryptedLogHeader, incoming_body::EncryptedLogIncomingBody,\n outgoing_body::EncryptedLogOutgoingBody\n}\n};\n\npub fn compute_encrypted_event_log<Event, let NB: u32, let MB: u32, let OB: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n event: Event\n) -> [u8; OB] where Event: EventInterface<NB, MB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_event(event, randomness).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; OB] = [0; OB];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = OB - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\npub fn compute_encrypted_note_log<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> [u8; M] where Note: NoteInterface<N, NB> {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ivpk);\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext = EncryptedLogIncomingBody::from_note(note, storage_slot).compute_ciphertext(eph_sk, ivpk);\n let outgoing_body_ciphertext: [u8; 144] = EncryptedLogOutgoingBody::new(eph_sk, recipient, ivpk).compute_ciphertext(fr_to_fq(ovsk_app), eph_pk);\n\n let mut encrypted_bytes: [u8; M] = [0; M];\n // @todo We ignore the tags for now \n\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[64 + i] = eph_pk_bytes[i];\n }\n for i in 0..48 {\n encrypted_bytes[96 + i] = incoming_header_ciphertext[i];\n encrypted_bytes[144 + i] = outgoing_header_ciphertext[i];\n }\n for i in 0..144 {\n encrypted_bytes[192 + i] = outgoing_body_ciphertext[i];\n }\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - 336;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[336 + i] = incoming_body_ciphertext[i];\n }\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (32 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (144 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding)\n encrypted_bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(unsafe_rand());\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\nmod test {\n use crate::{encrypted_logs::payload::compute_encrypted_note_log, test::mocks::mock_note::MockNoteBuilder};\n use dep::protocol_types::{address::AztecAddress, point::Point};\n use std::test::OracleMock;\n\n #[test]\n fn test_encrypted_note_log_matches_typescript() {\n // All the values in this test were copied over from `tagged_log.test.ts`\n let contract_address = AztecAddress::from_field(0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04);\n let storage_slot = 0x0fe46be583b71f4ab5b70c2657ff1d05cccf1d292a9369628d1a194f944e6599;\n let ovsk_app = 0x03a6513d6def49f41d20373d2cec894c23e7492794b08fc50c0e8a1bd2512612;\n let ovpk_m = Point {\n x: 0x1961448682803198631f299340e4206bb12809d4bebbf012b30f59af73ba1a15,\n y: 0x133674060c3925142aceb4f1dcd9f9137d0217d37ff8729ee5ceaa6e2790353d,\n is_infinite: false\n };\n let ivpk_m = Point {\n x: 0x260cd3904f6df16e974c29944fdc839e40fb5cf293f03df2eb370851d3a527bc,\n y: 0x0eef2964fe6640e84c82b5d2915892409b38e9e25d39f68dd79edb725c55387f,\n is_infinite: false\n };\n\n let note_value = 0x301640ceea758391b2e161c92c0513f129020f4125256afdae2646ce31099f5c;\n let note = MockNoteBuilder::new(note_value).contract_address(contract_address).storage_slot(storage_slot).build();\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk);\n\n let recipient = AztecAddress::from_field(0x10ee41ee4b62703b16f61e03cb0d88c4b306a9eb4a6ceeb2aff13428541689a2);\n\n let log: [u8; 448] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n note\n );\n\n // The following value was generated by `tagged_log.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let encrypted_note_log_from_typescript = [\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, 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, 0, 0, 141, 70, 12, 14, 67, 77, 132, 110, 193, 234, 40, 110, 64, 144, 235, 86, 55, 111, 242, 123, 221, 193, 170, 202, 225, 216, 86, 84, 159, 112, 31, 167, 126, 79, 51, 186, 47, 71, 253, 172, 99, 112, 241, 59, 197, 241, 107, 186, 232, 87, 187, 230, 171, 62, 228, 234, 42, 51, 145, 146, 238, 242, 42, 71, 206, 13, 244, 66, 111, 195, 20, 203, 98, 148, 204, 242, 145, 183, 156, 29, 141, 54, 44, 220, 194, 35, 229, 16, 32, 204, 211, 49, 142, 112, 82, 202, 116, 241, 254, 146, 42, 217, 20, 189, 70, 228, 182, 171, 205, 104, 27, 99, 171, 28, 91, 244, 21, 30, 130, 240, 5, 72, 174, 124, 97, 197, 157, 248, 193, 23, 193, 76, 46, 141, 144, 70, 211, 45, 67, 167, 218, 129, 140, 104, 190, 41, 110, 249, 209, 68, 106, 135, 164, 80, 235, 63, 101, 80, 32, 13, 38, 99, 145, 91, 11, 173, 151, 231, 247, 65, 153, 117, 229, 167, 64, 239, 182, 126, 235, 83, 4, 169, 8, 8, 160, 4, 235, 252, 21, 96, 84, 161, 69, 145, 145, 215, 254, 161, 117, 246, 198, 65, 89, 179, 194, 90, 19, 121, 12, 202, 114, 80, 195, 14, 60, 128, 105, 142, 100, 86, 90, 108, 157, 219, 22, 172, 20, 121, 195, 25, 159, 236, 2, 70, 75, 42, 37, 34, 2, 17, 149, 20, 176, 32, 18, 204, 56, 117, 121, 34, 15, 3, 88, 123, 64, 68, 74, 233, 63, 59, 131, 222, 194, 192, 167, 110, 217, 10, 128, 73, 129, 172, 205, 103, 212, 60, 151, 141, 10, 151, 222, 151, 180, 43, 91, 148, 201, 110, 165, 10, 238, 32, 134, 235, 99, 216, 200, 182, 31, 22, 156, 18, 209, 222, 172, 239, 193, 212, 86, 99, 62, 70, 182, 45, 175, 241, 91, 202, 179, 225, 99, 1, 150, 232, 2, 252, 20, 83, 49, 132, 162, 93, 116, 212, 87, 71, 211, 58, 159, 163, 40, 253, 31, 3, 192, 48, 14, 201, 80, 24, 135, 154, 207, 58, 140, 128, 29, 101, 207, 189, 182, 191, 71, 210, 64, 172, 131, 83, 46, 232, 19, 216, 183, 108, 234, 17, 104, 60, 113, 231, 145, 195, 157, 24\n ];\n for i in 0..encrypted_note_log_from_typescript.len() {\n assert_eq(log[i], encrypted_note_log_from_typescript[i]);\n }\n assert_eq(encrypted_note_log_from_typescript.len(), log.len());\n }\n}\n"},"109":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/encrypted_note_emission.nr","source":"use crate::{\n context::PrivateContext, note::{note_emission::NoteEmission, note_interface::NoteInterface},\n encrypted_logs::payload::compute_encrypted_note_log, oracle::logs_traits::LensForEncryptedLog\n};\nuse dep::protocol_types::{\n hash::sha256_to_field, address::AztecAddress, point::Point, abis::note_hash::NoteHash,\n constants::MAX_NOTE_HASHES_PER_CALL, utils::arrays::find_index\n};\n\nunconstrained fn compute_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n )\n}\n\nfn compute<Note, let N: u32, let NB: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n ovsk_app: Field,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n note: Note\n) -> ([u8; M], Field) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let encrypted_log: [u8; M] = compute_encrypted_note_log(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n let log_hash = sha256_to_field(encrypted_log);\n (encrypted_log, log_hash)\n}\n\nfn emit_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n note: Note,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress,\n inner_compute: fn(AztecAddress, Field, Field, Point, Point, AztecAddress, Note) -> ([u8; M], Field)\n) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n let note_exists_index = find_index(\n context.note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index as u32 != MAX_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n\n let contract_address: AztecAddress = context.this_address();\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (encrypted_log, log_hash) = inner_compute(\n contract_address,\n storage_slot,\n ovsk_app,\n ovpk,\n ivpk,\n recipient,\n note\n );\n\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n}\n\npub fn encode_and_encrypt_note<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ov: AztecAddress,\n iv: AztecAddress\n) -> fn[(&mut PrivateContext, AztecAddress, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n let header = context.get_header();\n let ovpk = header.get_ovpk_m(context, ov);\n let ivpk = header.get_ivpk_m(context, iv);\n emit_with_keys(context, e.note, ovpk, ivpk, iv, compute_unconstrained);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute);\n }\n}\n\npub fn encode_and_encrypt_note_with_keys_unconstrained<Note, let N: u32, let NB: u32, let M: u32>(\n context: &mut PrivateContext,\n ovpk: Point,\n ivpk: Point,\n recipient: AztecAddress\n) -> fn[(&mut PrivateContext, Point, Point, AztecAddress)](NoteEmission<Note>) -> () where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n | e: NoteEmission<Note> | {\n emit_with_keys(context, e.note, ovpk, ivpk, recipient, compute_unconstrained);\n }\n}\n"},"110":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/outgoing_body.nr","source":"use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, constants::GENERATOR_INDEX__SYMMETRIC_KEY,\n hash::poseidon2_hash_with_separator\n};\nuse std::aes128::aes128_encrypt;\n\nuse crate::{keys::point_to_symmetric_key::point_to_symmetric_key, utils::point::point_to_bytes};\n\nstruct EncryptedLogOutgoingBody {\n eph_sk: Scalar,\n recipient: AztecAddress,\n recipient_ivpk: Point,\n}\n\nimpl EncryptedLogOutgoingBody {\n pub fn new(eph_sk: Scalar, recipient: AztecAddress, recipient_ivpk: Point) -> Self {\n Self { eph_sk, recipient, recipient_ivpk }\n }\n\n /// Encrypts ephemeral secret key and recipient's ivpk --> with this information the recipient of outgoing will\n /// be able to derive the key with which the incoming log can be decrypted.\n pub fn compute_ciphertext(self, ovsk_app: Scalar, eph_pk: Point) -> [u8; 144] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n\n let mut buffer = [0 as u8; 128];\n\n let serialized_eph_sk_high = self.eph_sk.hi.to_be_bytes(32);\n let serialized_eph_sk_low = self.eph_sk.lo.to_be_bytes(32);\n\n let address_bytes = self.recipient.to_field().to_be_bytes(32);\n let serialized_recipient_ivpk = point_to_bytes(self.recipient_ivpk);\n\n for i in 0..32 {\n buffer[i] = serialized_eph_sk_high[i];\n buffer[i + 32] = serialized_eph_sk_low[i];\n buffer[i + 64] = address_bytes[i];\n }\n for i in 0..32 {\n buffer[i + 96] = serialized_recipient_ivpk[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field\n ).to_be_bytes(32).as_array();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n }\n}\n\nmod test {\n use crate::encrypted_logs::outgoing_body::EncryptedLogOutgoingBody;\n use dep::protocol_types::{\n address::AztecAddress, traits::Empty, constants::GENERATOR_INDEX__NOTE_NULLIFIER,\n scalar::Scalar, point::Point, hash::poseidon2_hash_with_separator\n };\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n\n use crate::context::PrivateContext;\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb\n };\n let recipient_ivsk = Scalar {\n lo: 0x000000000000000000000000000000004828f8f95676ebb481df163f87fd4022,\n hi: 0x000000000000000000000000000000000f4d97c25d578f9348251a71ca17ae31\n };\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient_ivpk = derive_public_key(recipient_ivsk);\n\n let recipient = AztecAddress::from_field(0xdeadbeef);\n\n let body = EncryptedLogOutgoingBody::new(eph_sk, recipient, recipient_ivpk);\n\n let ciphertext = body.compute_ciphertext(sender_ovsk_app, eph_pk);\n\n // The following value was generated by `encrypted_log_outgoing_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 127, 182, 227, 75, 192, 197, 54, 47, 168, 134, 233, 148, 251, 46, 86, 12, 73, 50, 238, 50, 31, 174, 27, 202, 110, 77, 161, 197, 244, 124, 17, 100, 143, 150, 232, 14, 156, 248, 43, 177, 16, 82, 244, 103, 88, 74, 84, 200, 15, 65, 187, 14, 163, 60, 91, 22, 104, 31, 211, 190, 124, 121, 79, 92, 239, 65, 185, 106, 51, 178, 168, 137, 84, 43, 79, 158, 151, 152, 83, 42, 170, 13, 106, 209, 254, 74, 39, 145, 73, 215, 17, 234, 196, 89, 30, 58, 120, 127, 88, 69, 121, 61, 18, 206, 89, 118, 243, 238, 177, 71, 73, 47, 147, 4, 155, 25, 173, 248, 206, 52, 17, 180, 122, 186, 106, 191, 252, 102, 197, 91, 16, 39, 94, 91, 224, 30, 168, 177, 26, 144, 5, 124, 128, 6\n ];\n\n for i in 0..outgoing_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], outgoing_body_ciphertext_from_typescript[i]);\n }\n assert_eq(outgoing_body_ciphertext_from_typescript.len(), ciphertext.len());\n }\n}\n"},"111":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/header.nr","source":"use dep::protocol_types::{address::AztecAddress, scalar::Scalar, point::Point};\n\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nuse std::aes128::aes128_encrypt;\n\nstruct EncryptedLogHeader {\n address: AztecAddress,\n}\n\nimpl EncryptedLogHeader {\n fn new(address: AztecAddress) -> Self {\n EncryptedLogHeader { address }\n }\n\n fn compute_ciphertext(self, secret: Scalar, point: Point) -> [u8; 48] {\n let full_key = point_to_symmetric_key(secret, point);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n\n let input: [u8; 32] = self.address.to_field().to_be_bytes(32).as_array();\n aes128_encrypt(input, iv, sym_key).as_array()\n }\n}\n\n#[test]\nfn test_encrypted_log_header_matches_noir() {\n let address = AztecAddress::from_field(0xdeadbeef);\n let header = EncryptedLogHeader::new(address);\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 ciphertext = header.compute_ciphertext(secret, point);\n\n // The following value was generated by `encrypted_log_header.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_header_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 194, 44, 7, 131, 160, 83, 64, 181, 98, 38, 153, 214, 62, 171, 253, 161, 111, 191, 28, 247, 216, 26, 222, 171, 176, 218, 48, 209, 73, 89, 200, 209\n ];\n\n assert_eq(ciphertext, expected_header_ciphertext_from_typescript);\n}\n"},"112":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/incoming_body.nr","source":"use crate::note::note_interface::NoteInterface;\nuse crate::event::event_interface::EventInterface;\nuse dep::protocol_types::{scalar::Scalar, point::Point};\n\nuse std::aes128::aes128_encrypt;\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nstruct EncryptedLogIncomingBody<let M: u32> {\n plaintext: [u8; M]\n}\n\nimpl<let M: u32> EncryptedLogIncomingBody<M> {\n pub fn from_note<T, let N: u32>(note: T, storage_slot: Field) -> Self where T: NoteInterface<N, M> {\n let mut plaintext = note.to_be_bytes(storage_slot);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn from_event<T, let MR: u32>(\n event: T,\n randomness: Field\n ) -> Self where T: EventInterface<M, MR> {\n let mut plaintext = event.private_to_be_bytes(randomness);\n EncryptedLogIncomingBody { plaintext }\n }\n\n pub fn compute_ciphertext(self, eph_sk: Scalar, ivpk: Point) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, ivpk);\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(self.plaintext, iv, sym_key)\n }\n}\n\nmod test {\n use dep::protocol_types::{\n address::AztecAddress, scalar::Scalar, point::Point, traits::Serialize,\n abis::event_selector::EventSelector\n };\n\n use crate::{\n note::{note_header::NoteHeader, note_interface::NoteInterface},\n encrypted_logs::incoming_body::EncryptedLogIncomingBody, event::event_interface::EventInterface,\n context::PrivateContext\n };\n\n struct AddressNote {\n address: AztecAddress,\n owner: AztecAddress,\n randomness: Field,\n header: NoteHeader,\n }\n\n global ADDRESS_NOTE_LEN: Field = 3;\n global ADDRESS_NOTE_BYTES_LEN = 32 * 3 + 64;\n\n impl NoteInterface<ADDRESS_NOTE_LEN, ADDRESS_NOTE_BYTES_LEN> for AddressNote {\n fn compute_note_hiding_point(self) -> Point {\n crate::generators::Ga1\n }\n\n fn get_note_type_id() -> Field {\n 1\n }\n\n fn get_header(self) -> NoteHeader { self.header}\n\n fn set_header(&mut self, header: NoteHeader) {self.header = header; }\n\n fn compute_note_hash_and_nullifier(_self: Self, _context: &mut PrivateContext) -> (Field, Field) {\n (1, 1)\n }\n\n fn compute_note_hash_and_nullifier_without_context(_self: Self) -> (Field, Field) {(1,1)}\n\n fn serialize_content(self) -> [Field; ADDRESS_NOTE_LEN] { [self.address.to_field(), self.owner.to_field(), self.randomness]}\n\n fn deserialize_content(fields: [Field; ADDRESS_NOTE_LEN]) -> Self {\n AddressNote { address: AztecAddress::from_field(fields[0]), owner: AztecAddress::from_field(fields[1]), randomness: fields[2], header: NoteHeader::empty() }\n }\n\n fn to_be_bytes(self, storage_slot: Field) -> [u8; ADDRESS_NOTE_BYTES_LEN] {\n let serialized_note = self.serialize_content();\n\n let mut buffer: [u8; ADDRESS_NOTE_BYTES_LEN] = [0; ADDRESS_NOTE_BYTES_LEN];\n\n let storage_slot_bytes = storage_slot.to_be_bytes(32);\n let note_type_id_bytes = AddressNote::get_note_type_id().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = storage_slot_bytes[i];\n buffer[32 + i] = note_type_id_bytes[i];\n }\n\n for i in 0..serialized_note.len() {\n let bytes = serialized_note[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n buffer\n }\n }\n\n impl AddressNote {\n pub fn new(address: AztecAddress, owner: AztecAddress, randomness: Field) -> Self {\n AddressNote { address, owner, randomness, header: NoteHeader::empty() }\n }\n }\n\n #[test]\n fn test_encrypted_note_log_incoming_body_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let note = AddressNote::new(\n AztecAddress::from_field(0x1),\n AztecAddress::from_field(0x2),\n 3\n );\n\n let storage_slot = 2;\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n /// 1. `EncryptedLogIncomingBody::from_note` calls `note.to_be_bytes(storage_slot)` function which serializes\n /// the note to bytes - note that in the case of `AddressNote` the `to_be_bytes` function was automatically\n /// implemented by Aztec macros.\n let body = EncryptedLogIncomingBody::from_note(note, storage_slot);\n\n /// 2. `body.compute_ciphertext(...)` function then derives symmetric key from `eph_sk` and `ivpk` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93, 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130, 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95, 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234, 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162, 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185, 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236, 23, 206, 229, 108\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n struct TestEvent {\n value0: Field,\n value1: Field,\n value2: Field,\n }\n\n impl Serialize<3> for TestEvent {\n fn serialize(self) -> [Field; 3] {\n [self.value0, self.value1, self.value2]\n }\n }\n\n global TEST_EVENT_LEN: Field = 3;\n global TEST_EVENT_BYTES_LEN = 32 * 3 + 64;\n global TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS = 32 * 3 + 32;\n\n impl EventInterface<TEST_EVENT_BYTES_LEN, TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS> for TestEvent {\n fn get_event_type_id() -> EventSelector {\n EventSelector::from_signature(\"TestEvent(Field,Field,Field)\")\n }\n\n fn private_to_be_bytes(self, randomness: Field) -> [u8; TEST_EVENT_BYTES_LEN] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN] = [0; TEST_EVENT_BYTES_LEN];\n\n let randomness_bytes = randomness.to_be_bytes(32);\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = randomness_bytes[i];\n buffer[32 + i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn to_be_bytes(self) -> [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] {\n let mut buffer: [u8; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS] = [0; TEST_EVENT_BYTES_LEN_WITHOUT_RANDOMNESS];\n\n let event_type_id_bytes = TestEvent::get_event_type_id().to_field().to_be_bytes(32);\n\n for i in 0..32 {\n buffer[i] = event_type_id_bytes[i];\n }\n\n let serialized_event = self.serialize();\n\n for i in 0..serialized_event.len() {\n let bytes = serialized_event[i].to_be_bytes(32);\n for j in 0..32 {\n buffer[32 + i * 32 + j] = bytes[j];\n }\n }\n\n buffer\n }\n\n fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n }\n\n #[test]\n fn test_encrypted_log_event_incoming_body() {\n let test_event = TestEvent { value0: 1, value1: 2, value2: 3 };\n\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06\n };\n\n let ivpk = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false\n };\n\n let randomness = 2;\n\n let body = EncryptedLogIncomingBody::from_event(test_event, randomness);\n\n let ciphertext = body.compute_ciphertext(eph_sk, ivpk);\n\n // The following value was generated by `encrypted_event_log_incoming_body.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let event_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160, 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157, 131, 149, 96, 236, 253, 96, 172, 157, 30, 185, 29, 14, 152, 216, 130, 219, 151, 80, 185, 43, 223, 167, 8, 89, 189, 88, 188, 101, 137, 255, 136, 84, 252, 79, 18, 52, 3, 110, 54, 54, 206, 244, 209, 246, 226, 207, 247, 143, 253, 211, 75, 160, 224, 172, 41, 45, 7, 208, 137, 90, 56, 59, 4, 234, 48, 53, 23, 130, 230, 49, 249, 142, 243, 170, 72, 183, 242, 49, 124, 46, 52, 198, 75, 55, 102, 56, 89, 254, 67, 59, 157, 249, 120, 184, 67, 154, 16, 148, 227, 93, 37, 120, 199, 93, 166, 80, 127, 173, 52, 80, 135, 87, 1, 168, 164, 51, 48, 126, 120, 47, 102, 211, 227, 234, 170, 208, 99, 111, 198, 170, 226, 156, 244, 241, 174, 206, 30\n ];\n\n assert_eq(event_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..event_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], event_body_ciphertext_from_typescript[i]);\n }\n }\n}\n"},"116":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_getter/mod.nr","source":"use dep::protocol_types::{constants::{MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, GET_NOTES_ORACLE_RETURN_LENGTH}};\nuse crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, MAX_NOTES_PER_PAGE, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder, Comparator, NoteStatus, PropertySelector},\n note_interface::NoteInterface, note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_request\n};\nuse crate::oracle;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n serialized_note: [Field; N],\n selector: PropertySelector\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the serialized note. \n // This allows easier packing and custom (de)serialization schemas. A note property is located\n // inside the serialized note using the index inside the array, a byte offset and a length.\n let value = serialized_note[selector.index].to_be_bytes(32);\n let offset = selector.offset;\n let length = selector.length;\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_field += value[31 + offset - i] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_note_header<Note, let N: u32, let M: u32>(\n context: PrivateContext,\n storage_slot: Field,\n note: Note\n) where Note: NoteInterface<N, M> {\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address), \"Mismatch note header contract address.\");\n assert(header.storage_slot == storage_slot, \"Mismatch note header storage slot.\");\n}\n\nfn check_note_fields<let N: u32>(\n serialized_note: [Field; N],\n selects: BoundedVec<Option<Select>, N>\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(serialized_note, select.property_selector);\n\n // Values are computed ahead of time because circuits evaluate all branches\n let is_equal = value_field == select.value.to_field();\n let is_lt = value_field.lt(select.value.to_field());\n\n if (select.comparator == Comparator.EQ) {\n assert(is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.NEQ) {\n assert(!is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LT) {\n assert(is_lt, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.LTE) {\n assert(is_lt | is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GT) {\n assert(!is_lt & !is_equal, \"Mismatch return note field.\");\n } else if (select.comparator == Comparator.GTE) {\n assert(!is_lt, \"Mismatch return note field.\");\n }\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\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, let N: u32, let M: u32>(\n context: &mut PrivateContext,\n storage_slot: Field\n) -> Note where Note: NoteInterface<N, M> {\n let note = get_note_internal(storage_slot);\n\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n context.push_note_hash_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> where Note: NoteInterface<N, M> + Eq {\n let opt_notes = get_notes_internal(storage_slot, options);\n\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> where Note: NoteInterface<N, M> + Eq {\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 contents of the notes (as opposed to simply removing some),\n // the private kernel will later validate that these note actually exist, so transformations would cause for that\n // check to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = crate::utils::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(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_fields = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let note = notes.get_unchecked(i);\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_note_hash_read_request(note_hash_for_read_request);\n };\n }\n\n notes\n}\n\nunconstrained fn get_note_internal<Note, let N: u32, let M: u32>(storage_slot: Field) -> Note where Note: NoteInterface<N, M> {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, let M: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, M, PREPROCESSOR_ARGS, FILTER_ARGS>\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] where Note: NoteInterface<N, M> {\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\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) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let opt_notes = oracle::notes::get_notes(\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 placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\nunconstrained pub fn view_notes<Note, let N: u32, let M: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N, M>\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE> where Note: NoteInterface<N, M> {\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) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let notes_array = oracle::notes::get_notes(\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 placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length\n );\n\n let mut notes = BoundedVec::new();\n for i in 0..notes_array.len() {\n if notes_array[i].is_some() {\n notes.push(notes_array[i].unwrap_unchecked());\n }\n }\n\n notes\n}\n\nunconstrained fn flatten_options<Note, 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] = select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects] = select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects] = select.unwrap_unchecked().property_selector.length;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = 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, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order\n )\n}\n"},"118":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/utils.nr","source":"use crate::{\n context::PrivateContext, generators::G_slot,\n note::{note_header::NoteHeader, note_interface::NoteInterface}\n};\n\nuse dep::protocol_types::{\n hash::{\n compute_unique_note_hash, compute_siloed_note_hash as compute_siloed_note_hash,\n compute_siloed_nullifier as compute_siloed_nullifier_from_preimage\n},\n point::Point, utils::arr_copy_slice\n};\nuse dep::std::{embedded_curve_ops::multi_scalar_mul, hash::from_field_unsafe};\n\npub fn compute_siloed_nullifier<Note, let N: u32, let M: u32>(\n note_with_header: Note,\n context: &mut PrivateContext\n) -> Field where Note: NoteInterface<N, M> {\n let header = note_with_header.get_header();\n let (_, inner_nullifier) = note_with_header.compute_note_hash_and_nullifier(context);\n\n compute_siloed_nullifier_from_preimage(header.contract_address, inner_nullifier)\n}\n\npub fn compute_note_hash_for_read_request<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let nonce = note.get_header().nonce;\n let counter = note.get_header().note_hash_counter;\n\n if counter != 0 {\n note_hash\n } else {\n compute_unique_note_hash(nonce, note_hash)\n }\n}\n\npub fn compute_note_hash_for_consumption<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N, M> {\n let header = note.get_header();\n // There are 3 cases for reading a note intended for consumption:\n // 1. The note was inserted in this transaction, is revertible, or is not nullified by a revertible nullifier in \n // the same transaction: (note_hash_counter != 0) & (nonce == 0)\n // 2. The note was inserted in this transaction, is non-revertible, and is nullified by a revertible nullifier in \n // the same transaction: (note_hash_counter != 0) & (nonce != 0)\n // 3. The note was inserted in a previous transaction: (note_hash_counter == 0) & (nonce != 0)\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n if header.nonce == 0 {\n // Case 1.\n // If a note is transient, we just read the note_hash (kernel will hash it with nonce and silo by contract address).\n note_hash\n } else {\n // Case 2: If a note is non-revertible, and is nullified by a revertible nullifier, we cannot squash them in the \n // private reset circuit. Because if the tx reverts, we will have to keep the note hash and throw away the \n // nullifier.\n // And if the tx does not revert, both will be emitted. In which case, the nullifier must be created in the app\n // from the siloed note hash.\n // The kernel circuit will check that a nullifier with non-zero note_nonce is linked to a note hash, whose\n // siloed note hash matches the note hash specified in the nullifier.\n\n // Case 3: If a note is not from the current transaction, that means we are reading a settled note (from \n // tree) created in a previous TX. So we need the siloed_note_hash which has already been hashed with\n // nonce and then contract address. This hash will match the existing leaf in the note hash\n // tree, so the kernel can just perform a membership check directly on this hash/leaf.\n let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash);\n compute_siloed_note_hash(header.contract_address, unique_note_hash)\n // IMPORTANT NOTE ON REDUNDANT SILOING BY CONTRACT ADDRESS: The note hash computed above is\n // \"siloed\" by contract address. When a note hash is computed solely for the purpose of\n // nullification, it is not strictly necessary to silo the note hash before computing\n // its nullifier. In other words, it is NOT NECESSARY for protocol security that a nullifier\n // be computed from a siloed note hash. After all, persistable note hashes and nullifiers are\n // siloed by the kernel circuit. That being said, the siloed note hash computed above CAN be\n // used for nullifier computation, and this achieves the (arguably unnecessary) property that\n // nullifiers are computed from a note hash's fully-computed note hash tree leaf.\n }\n}\n\npub fn compute_note_hash_and_optionally_a_nullifier<T, let N: u32, let M: u32, let S: u32>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n compute_nullifier: bool,\n serialized_note: [Field; S]\n) -> [Field; 4] where T: NoteInterface<N, M> {\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n note.set_header(note_header);\n\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n let unique_note_hash = compute_unique_note_hash(note_header.nonce, note_hash);\n let siloed_note_hash = compute_siloed_note_hash(note_header.contract_address, unique_note_hash);\n\n let inner_nullifier = if compute_nullifier {\n let (_, nullifier) = note.compute_note_hash_and_nullifier_without_context();\n nullifier\n } else {\n 0\n };\n // docs:start:compute_note_hash_and_optionally_a_nullifier_returns\n [note_hash, unique_note_hash, siloed_note_hash, inner_nullifier]\n // docs:end:compute_note_hash_and_optionally_a_nullifier_returns\n}\n"},"119":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr","source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::note::{\n note_header::NoteHeader, note_interface::NoteInterface, utils::compute_note_hash_for_consumption,\n note_emission::NoteEmission\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N, M>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note\n) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n let note_hash_counter = context.side_effect_counter;\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n let serialized_note = Note::serialize_content(*note);\n assert(\n notify_created_note(\n storage_slot,\n Note::get_note_type_id(),\n serialized_note,\n note_hash,\n note_hash_counter\n )\n == 0\n );\n\n context.push_note_hash(note_hash);\n\n NoteEmission::new(*note)\n}\n\npub fn create_note_hash_from_public<Note, N, M>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note\n) where Note: NoteInterface<N, M> {\n let contract_address = (*context).this_address();\n // Public note hashes are transient, but have no side effect counters, so we just need note_hash_counter != 0\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter: 1 };\n note.set_header(header);\n // TODO(#7771): inject compute_note_hash(...) func to notes with macros.\n let note_hash = note.compute_note_hiding_point().x;\n\n context.push_note_hash(note_hash);\n}\n\npub fn destroy_note<Note, N, M>(\n context: &mut PrivateContext,\n note: Note\n) where Note: NoteInterface<N, M> {\n let (note_hash, nullifier) = note.compute_note_hash_and_nullifier(context);\n\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_hash_for_consumption = if (note_hash_counter == 0) {\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 nullifyng so that it can either squash both\n // the note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's\n // a siloed note hash.\n note_hash\n };\n\n let nullifier_counter = context.side_effect_counter;\n assert(notify_nullified_note(nullifier, note_hash_for_consumption, nullifier_counter) == 0);\n\n context.push_nullifier_for_note_hash(nullifier, note_hash_for_consumption)\n}\n"},"120":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/note/note_emission.nr","source":"/**\n * A note emission struct containing the information required for emitting a note.\n * The exact `emit` logic is passed in by the application code\n */\nstruct NoteEmission<Note> {\n note: Note\n}\n\nimpl<Note> NoteEmission<Note> {\n pub fn new(note: Note) -> Self {\n Self { note }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n\n pub fn discard(_self: Self) {}\n}\n\n/**\n * A struct wrapping note emission in `Option<T>`.\n * This is the struct provided to application codes, which can be used to emit\n * only when a note was actually inserted.\n * It is fairly common to have cases where a function conditionally inserts,\n * and this allows us to keep the same API for emission in both cases (e.g. inserting \n * a change note in a token's transfer function only when there is \"change\" left).\n */\nstruct OuterNoteEmission<Note> {\n emission: Option<NoteEmission<Note>>,\n}\n\nimpl<Note> OuterNoteEmission<Note> {\n pub fn new(emission: Option<NoteEmission<Note>>) -> Self {\n Self { emission }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](NoteEmission<Note>) -> ()) {\n if self.emission.is_some() {\n _emit(self.emission.unwrap());\n }\n }\n\n pub fn discard(_self: Self) {}\n}\n"},"128":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\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 }\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 and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"129":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr","source":"use dep::protocol_types::{\n address::AztecAddress, hash::{compute_siloed_nullifier, poseidon2_hash_with_separator},\n constants::GENERATOR_INDEX__CONSTRUCTOR, abis::function_selector::FunctionSelector\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext}, oracle::get_contract_instance::get_contract_instance,\n oracle::get_contract_instance::get_contract_instance_avm\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n context.push_nullifier_read_request(init_nullifier);\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n let address = context.this_address();\n let instance = get_contract_instance_avm(address).unwrap();\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.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\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.msg_sender()), \"Initializer address is not the contract deployer\"\n );\n}\n\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 GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n"},"131":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"133":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle<let N: u32>(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"134":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_public_data_witness.nr","source":"use dep::protocol_types::{\n constants::PUBLIC_DATA_TREE_HEIGHT, hash::pedersen_hash,\n public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage, traits::{Hash, Serialize},\n utils::arr_copy_slice\n};\n\nglobal LEAF_PREIMAGE_LENGTH: u32 = 4;\nglobal PUBLIC_DATA_WITNESS: Field = 45;\n\nstruct PublicDataWitness {\n index: Field,\n leaf_preimage: PublicDataTreeLeafPreimage,\n path: [Field; PUBLIC_DATA_TREE_HEIGHT],\n}\n\n#[oracle(getPublicDataTreeWitness)]\nunconstrained fn get_public_data_witness_oracle(\n _block_number: u32,\n _public_data_tree_index: Field\n) -> [Field; PUBLIC_DATA_WITNESS] {}\n\nunconstrained pub fn get_public_data_witness(block_number: u32, public_data_tree_index: Field) -> PublicDataWitness {\n let fields = get_public_data_witness_oracle(block_number, public_data_tree_index);\n PublicDataWitness {\n index: fields[0],\n leaf_preimage: PublicDataTreeLeafPreimage { slot: fields[1], value: fields[2], next_index: fields[3] as u32, next_slot: fields[4] },\n path: arr_copy_slice(fields, [0; PUBLIC_DATA_TREE_HEIGHT], 1 + LEAF_PREIMAGE_LENGTH)\n }\n}\n"},"135":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr","source":"use dep::protocol_types::abis::validation_requests::{KeyValidationRequest, key_validation_request::KEY_VALIDATION_REQUEST_LENGTH};\n\n#[oracle(getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(\n _pk_m_hash: Field,\n _key_index: Field\n) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {}\n\nunconstrained fn get_key_validation_request_internal(\n npk_m_hash: Field,\n key_index: Field\n) -> KeyValidationRequest {\n let result = get_key_validation_request_oracle(npk_m_hash, key_index);\n KeyValidationRequest::deserialize(result)\n}\n\npub fn get_key_validation_request(pk_m_hash: Field, key_index: Field) -> KeyValidationRequest {\n get_key_validation_request_internal(pk_m_hash, key_index)\n}\n\n"},"138":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::{address::AztecAddress, traits::Deserialize};\n\n#[oracle(storageRead)]\nunconstrained fn storage_read_oracle<let N: u32>(address: Field, storage_slot: Field, block_number: Field, length: Field) -> [Field; N] {}\n\nunconstrained pub fn raw_storage_read<let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> [Field; N] {\n storage_read_oracle(\n address.to_field(),\n storage_slot,\n block_number as Field,\n N as Field\n )\n}\n\nunconstrained pub fn storage_read<T, let N: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> T where T: Deserialize<N> {\n T::deserialize(raw_storage_read(address, storage_slot, block_number))\n}\n\nmod tests {\n use crate::oracle::storage::{raw_storage_read, storage_read};\n use dep::protocol_types::address::AztecAddress;\n\n use std::test::OracleMock;\n use crate::test::mocks::mock_struct::MockStruct;\n\n global address = AztecAddress::from_field(29);\n global slot = 7;\n global block_number = 17;\n\n #[test]\n fn test_raw_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: [Field; 2] = raw_storage_read(address, slot, block_number);\n assert_eq(read[0], 13);\n assert_eq(read[1], 42);\n }\n\n #[test]\n fn test_storage_read() {\n let written = MockStruct { a: 13, b: 42 };\n\n let _ = OracleMock::mock(\"storageRead\").returns(written.serialize());\n\n let read: MockStruct = storage_read(address, slot, block_number);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n}\n"},"139":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/unsafe_rand.nr","source":"#[oracle(getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n\n// Called `unsafe_rand` because we do not constrain in circuit that we are dealing with an actual random value.\n// Instead we just trust our PXE.\nunconstrained pub fn unsafe_rand() -> Field {\n rand_oracle()\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(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 _is_delegate_call: bool\n) -> [Field; 2] {}\n\nunconstrained pub 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 is_delegate_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 is_delegate_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"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/keys.nr","source":"use crate::keys::PublicKeys;\nuse dep::protocol_types::{address::{AztecAddress, PartialAddress}, point::Point};\n\n#[oracle(getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> [Field; 13] {}\n\nunconstrained fn get_public_keys_and_partial_address_oracle_wrapper(address: AztecAddress) -> [Field; 13] {\n get_public_keys_and_partial_address_oracle(address)\n}\n\npub fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) {\n let result = get_public_keys_and_partial_address_oracle_wrapper(address);\n\n let keys = PublicKeys {\n npk_m: Point { x: result[0], y: result[1], is_infinite: result[2] as bool },\n ivpk_m: Point { x: result[3], y: result[4], is_infinite: result[5] as bool },\n ovpk_m: Point { x: result[6], y: result[7], is_infinite: result[8] as bool },\n tpk_m: Point { x: result[9], y: result[10], is_infinite: result[11] as bool }\n };\n\n let partial_address = PartialAddress::from_field(result[12]);\n\n (keys, partial_address)\n}\n"},"144":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/notes.nr","source":"use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{address::AztecAddress, utils::arr_copy_slice};\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32\n) -> Field {}\n\nunconstrained pub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_created_note_oracle(storage_slot, note_type_id, serialized_note, note_hash, counter)\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle<let N: u32>(_nullifier: Field, _note_hash: Field, _counter: u32) -> Field {}\n\nunconstrained pub fn notify_nullified_note<let N: u32>(\n nullifier: Field,\n note_hash: Field,\n counter: u32\n) -> Field {\n notify_nullified_note_oracle(nullifier, note_hash, counter)\n}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\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 return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, let N: u32, let NB: u32, let M: u32, let S: u32, let NS: u32>(\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 mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N] // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S] where Note: NoteInterface<N, NB> {\n let fields = get_notes_oracle_wrapper(\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 placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n// Only ever use this in private!\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n// Only ever use this in private!\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n"},"145":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr","source":"use dep::protocol_types::{\n address::AztecAddress, contract_instance::ContractInstance, utils::arr_copy_slice,\n constants::CONTRACT_INSTANCE_LENGTH, utils::reader::Reader\n};\n\n#[oracle(getContractInstance)]\nunconstrained fn get_contract_instance_oracle(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// Returns a ContractInstance plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstance)]\nunconstrained fn get_contract_instance_oracle_avm(_address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {}\n\nunconstrained fn get_contract_instance_internal(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\nunconstrained pub fn get_contract_instance_internal_avm(address: AztecAddress) -> [Field; CONTRACT_INSTANCE_LENGTH + 1] {\n get_contract_instance_oracle_avm(address)\n}\n\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance = ContractInstance::deserialize(get_contract_instance_internal(address));\n assert(instance.to_address().eq(address));\n instance\n}\n\npub fn get_contract_instance_avm(address: AztecAddress) -> Option<ContractInstance> {\n let mut reader = Reader::new(get_contract_instance_internal_avm(address));\n let found = reader.read();\n if found == 0 {\n Option::none()\n } else {\n Option::some(reader.read_struct(ContractInstance::deserialize))\n }\n}\n"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"162":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_delay_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse std::cmp::min;\n\nmod test;\n\n// This data structure is used by SharedMutable to store the minimum delay with which a ScheduledValueChange object can\n// schedule a change.\n// This delay is initally equal to INITIAL_DELAY, and can be safely mutated to any other value over time. This mutation \n// is performed via `schedule_change` in order to satisfy ScheduleValueChange constraints: if e.g. we allowed for the \n// delay to be decreased immediately then it'd be possible for the state variable to schedule a value change with a \n// reduced delay, invalidating prior private reads.\nstruct ScheduledDelayChange<let INITIAL_DELAY: u32> {\n // Both pre and post are stored in public storage, so by default they are zeroed. By wrapping them in an Option, \n // they default to Option::none(), which we detect and replace with INITIAL_DELAY. The end result is that a\n // ScheduledDelayChange that has not been initialized has a delay equal to INITIAL_DELAY, which is the desired\n // effect. Once initialized, the Option will never be none again.\n pre: Option<u32>,\n post: Option<u32>,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<let INITIAL_DELAY: u32> ScheduledDelayChange<INITIAL_DELAY> {\n pub fn new(pre: Option<u32>, post: Option<u32>, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the current value of the delay stored in the data structure.\n /// This function only returns a meaningful value when called in public with the current block number - for\n /// historical private reads use `get_effective_minimum_delay_at` instead.\n pub fn get_current(self, current_block_number: u32) -> u32 {\n // The post value becomes the current one at the block of change, so any transaction that is included in the\n // block of change will use the post value.\n\n if current_block_number < self.block_of_change {\n self.pre.unwrap_or(INITIAL_DELAY)\n } else {\n self.post.unwrap_or(INITIAL_DELAY)\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change delay and the block at which it will become the current\n /// delay. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (u32, u32) {\n (self.post.unwrap_or(INITIAL_DELAY), self.block_of_change)\n }\n\n /// Mutates the delay change by scheduling a change at the current block number. This function is only meaningful\n /// when called in public with the current block number.\n /// The block at which the new delay will become effective is determined automatically:\n /// - when increasing the delay, the change is effective immediately\n /// - when reducing the delay, the change will take effect after a delay equal to the difference between old and\n /// new delay. For example, if reducing from 3 days to 1 day, the reduction will be scheduled to happen after 2\n /// days.\n pub fn schedule_change(&mut self, new: u32, current_block_number: u32) {\n let current = self.get_current(current_block_number);\n\n // When changing the delay value we must ensure that it is not possible to produce a value change with a delay\n // shorter than the current one.\n let blocks_until_change = if new > current {\n // Increasing the delay value can therefore be done immediately: this does not invalidate prior contraints\n // about how quickly a value might be changed (indeed it strengthens them).\n 0\n } else {\n // Decreasing the delay requires waiting for the difference between current and new delay in order to ensure\n // that overall the current delay is respected.\n //\n // current delay earliest value block of change\n // block block of change if delay remained unchanged\n // =======N=========================|================================X=================>\n // ^ ^ ^\n // |-------------------------|--------------------------------|\n // | blocks until change new delay |\n // ------------------------------------------------------------\n // current delay\n current - new\n };\n\n self.pre = Option::some(current);\n self.post = Option::some(new);\n self.block_of_change = current_block_number + blocks_until_change;\n }\n\n /// Returns the minimum delay before a value might mutate due to a scheduled change, from the perspective of some\n /// historical block number. It only returns a meaningful value when called in private with historical blocks. This \n /// function can be used alongside `ScheduledValueChange.get_block_horizon` to properly constrain the\n /// `max_block_number` transaction property when reading mutable shared state.\n /// This value typically equals the current delay at the block following the historical one (the earliest one in\n /// which a value change could be scheduled), but it also considers scenarios in which a delay reduction is \n /// scheduled to happen in the near future, resulting in a way to schedule a change with an overall delay lower than\n /// the current one.\n pub fn get_effective_minimum_delay_at(self, historical_block_number: u32) -> u32 {\n if self.block_of_change <= historical_block_number {\n // If no delay changes were scheduled, then the delay value at the historical block (post) is guaranteed to\n // hold due to how further delay changes would be scheduled by `schedule_change`.\n self.post.unwrap_or(INITIAL_DELAY)\n } else {\n // If a change is scheduled, then the effective delay might be lower than the current one (pre). At the\n // block of change the current delay will be the scheduled one, with an overall delay from the historical\n // block number equal to the number of blocks until the change plus the new delay. If this value is lower\n // than the current delay, then that is the effective minimum delay.\n //\n // historical\n // block delay actual earliest value\n // v block of change block of change\n // =========NS=====================|=============================X===========Y=====>\n // ^ ^ ^ ^\n // earliest block in | | |\n // which to schedule change | | |\n // | | | |\n // |----------------------|------------------------------ |\n // | blocks new delay |\n // | until change |\n // | |\n // |----------------------------------------------------------------|\n // current delay at the earliest block in \n // which to scheduled value change\n\n let blocks_until_change = self.block_of_change - (historical_block_number + 1);\n\n min(\n self.pre.unwrap_or(INITIAL_DELAY),\n blocks_until_change + self.post.unwrap_or(INITIAL_DELAY)\n )\n }\n }\n}\n\nimpl<INITIAL_DELAY> Serialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn serialize(self) -> [Field; 1] {\n // We pack all three u32 values into a single U128, which is made up of two u64 limbs.\n // Low limb: [ pre_inner: u32 | post_inner: u32 ]\n // High limb: [ empty | pre_is_some: u8 | post_is_some: u8 | block_of_change: u32 ]\n\n let lo = ((self.pre.unwrap_unchecked() as u64) * (1 << 32))\n + (self.post.unwrap_unchecked() as u64);\n\n let hi = (self.pre.is_some() as u64) * (1 << 33) \n + (self.post.is_some() as u64 * (1 << 32)) \n + self.block_of_change as u64;\n\n let packed = U128::from_u64s_le(lo, hi);\n\n [packed.to_integer()]\n }\n}\n\nimpl<INITIAL_DELAY> Deserialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn deserialize(input: [Field; 1]) -> Self {\n let packed = U128::from_integer(input[0]);\n\n // We use division and modulo to clear the bits that correspond to other values when unpacking.\n\n let pre_is_some = ((packed.hi as u64) / (1 << 33)) as bool;\n let pre_inner = ((packed.lo as u64) / (1 << 32)) as u32;\n\n let post_is_some = (((packed.hi as u64) / (1 << 32)) % (1 << 1)) as bool;\n let post_inner = ((packed.lo as u64) % (1 << 32)) as u32;\n\n let block_of_change = ((packed.hi as u64) % (1 << 32)) as u32;\n\n Self {\n pre: if pre_is_some { Option::some(pre_inner) } else { Option::none() },\n post: if post_is_some { Option::some(post_inner) } else { Option::none() },\n block_of_change,\n }\n }\n}\n\nimpl<INITIAL_DELAY> Eq for ScheduledDelayChange<INITIAL_DELAY> {\n fn eq(self, other: Self) -> bool {\n (self.pre == other.pre) & (self.post == other.post) & (self.block_of_change == other.block_of_change)\n }\n}\n"},"164":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable_private_getter.nr","source":"use dep::protocol_types::{\n hash::{pedersen_hash, poseidon2_hash}, traits::{FromField, ToField}, address::AztecAddress,\n header::Header\n};\n\nuse crate::context::PrivateContext;\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{\n shared_mutable::SharedMutable, scheduled_delay_change::ScheduledDelayChange,\n scheduled_value_change::ScheduledValueChange\n}\n};\n\nstruct SharedMutablePrivateGetter<T, INITIAL_DELAY> {\n context: &mut PrivateContext,\n // The contract address of the contract we want to read from\n other_contract_address: AztecAddress,\n // The storage slot where the SharedMutable is stored on the other contract\n storage_slot: Field,\n}\n\n// We have this as a view-only interface to reading Shared Mutables in other contracts.\n// Currently the Shared Mutable does not support this. We can adapt SharedMutable at a later date\nimpl<T, INITIAL_DELAY> SharedMutablePrivateGetter<T, INITIAL_DELAY> where T: FromField + ToField + Eq {\n pub fn new(\n context: &mut PrivateContext,\n other_contract_address: AztecAddress,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n assert(other_contract_address.to_field() != 0, \"Other contract address cannot be 0\");\n Self { context, other_contract_address, storage_slot }\n }\n\n pub fn get_value_in_private(self, header: Header) -> T {\n // We create a dummy SharedMutable state variable so that we can reuse its historical_read_from_public_storage\n // method, greatly reducing code duplication. \n let dummy: SharedMutable<T, INITIAL_DELAY, ()> = SharedMutable::new((), self.storage_slot);\n let (value_change, delay_change, historical_block_number) = dummy.historical_read_from_public_storage(header, self.other_contract_address);\n\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // If our context has the same header as the one we pass in via the parameter, we are trying to read the \"current\" value\n // and thus need to set the tx max block number below. If the context header is not the same as the one we pass in, this means\n // we are trying to read a historical value and thus have no constraint on the max block number that this transaction can be included in.\n if (self.context.historical_header.global_variables.block_number.eq(header.global_variables.block_number)) {\n self.context.set_tx_max_block_number(block_horizon);\n }\n\n value_change.get_current_at(historical_block_number)\n }\n}\n"},"166":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse std::cmp::min;\n\nmod test;\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block\n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know\n// both the current value and the smallest block number at which the value might change - this is called the\n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public\n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current\n /// transaction will be included) and in private (where `block_number` is the historical block number that is used\n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or\n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current\n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`,\n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of\n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration. If the delay is mutable\n /// however, then this value is the 'effective minimum delay' (obtained by calling\n /// `ScheduledDelayChange.get_effective_minimum_delay_at`), which equals the minimum number of blocks that need to\n /// elapse from the next block until the value changes, regardless of further delay changes.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon\n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to\n // that one.\n //\n // block of historical\n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum\n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one.\n // This is similar to the scenario where the block of change is in the past: the time horizon is the\n // block prior to the earliest one in which a new block of change might land.\n //\n // historical\n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | |\n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case\n // the block of change would become the limiting factor for the time horizon, which would equal the\n // block right before the block of change (since by definition the value changes at the block of\n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon |\n // -----------------------------------\n // minimum delay\n //\n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for\n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates the value by scheduling a change at the current block number. This function is only meaningful when\n /// called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> where T: ToField {\n fn serialize(self) -> [Field; 3] {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> where T: FromField {\n fn deserialize(input: [Field; 3]) -> Self {\n Self {\n pre: FromField::from_field(input[0]),\n post: FromField::from_field(input[1]),\n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nimpl<T> Eq for ScheduledValueChange<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n (self.pre == other.pre) & (self.post == other.post) & (self.block_of_change == other.block_of_change)\n }\n}\n"},"167":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr","source":"use dep::protocol_types::{\n hash::{pedersen_hash, poseidon2_hash}, header::Header, address::AztecAddress,\n traits::{FromField, ToField}\n};\n\nuse crate::context::{PrivateContext, PublicContext, UnconstrainedContext};\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{scheduled_value_change::ScheduledValueChange, scheduled_delay_change::ScheduledDelayChange}\n};\nuse crate::oracle::storage::storage_read;\nuse dep::std::unsafe::zeroed;\n\nmod test;\n\nstruct SharedMutable<T, let INITIAL_DELAY: u32, Context> {\n context: Context,\n storage_slot: Field,\n}\n\n// This will make the Aztec macros require that T implements the Serialize<N> trait, and allocate N storage slots to\n// this state variable. This is incorrect, since what we actually store is:\n// - a ScheduledValueChange<T>, which requires 1 + 2 * M storage slots, where M is the serialization length of T\n// - a ScheduledDelayChange, which requires another storage slot\n//\n// TODO https://github.com/AztecProtocol/aztec-packages/issues/5736: change the storage allocation scheme so that we\n// can actually use it here\nimpl<T, let INITIAL_DELAY: u32, Context> Storage<T> for SharedMutable<T, INITIAL_DELAY, Context> {}\n\n// TODO: extract into a utils module once we can do arithmetic on generics, i.e. https://github.com/noir-lang/noir/issues/4784\nfn concat_arrays<let N: u32, let M: u32, let O: u32>(arr_n: [Field; N], arr_m: [Field; M]) -> [Field; O] {\n assert_eq(N + M, O);\n let mut out: [Field; O] = [0; O];\n for i in 0..N {\n out[i] = arr_n[i];\n }\n for i in 0..M {\n out[N+i] = arr_m[i];\n }\n out\n}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the\n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\n// The delay for changing a value is initially equal to INITIAL_DELAY, but can be changed by calling\n// `schedule_delay_change`.\nimpl<T, let INITIAL_DELAY: u32, Context> SharedMutable<T, INITIAL_DELAY, Context> where T: ToField + FromField + Eq {\n pub 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 Self { context, storage_slot }\n }\n\n fn hash_scheduled_data(\n value_change: ScheduledValueChange<T>,\n delay_change: ScheduledDelayChange<INITIAL_DELAY>\n ) -> Field {\n // TODO(#5491 and https://github.com/noir-lang/noir/issues/4784): update this so that we don't need to rely on\n // ScheduledValueChange serializing to 3 and ScheduledDelayChange serializing to 1\n let concatenated: [Field; 4] = concat_arrays(value_change.serialize(), delay_change.serialize());\n poseidon2_hash(concatenated)\n }\n\n // Since we can't rely on the native storage allocation scheme, we hash the storage slot to get a unique location in\n // which we can safely store as much data as we need.\n // See https://github.com/AztecProtocol/aztec-packages/issues/5492 and\n // https://github.com/AztecProtocol/aztec-packages/issues/5736\n // We store three things in public storage:\n // - a ScheduledValueChange\n // - a ScheduledDelaChange\n // - the hash of both of these (via `hash_scheduled_data`)\n fn get_value_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 0], 0)\n }\n\n fn get_delay_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 1], 0)\n }\n\n fn get_hash_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 2], 0)\n }\n\n // It may seem odd that we take a header and address instead of reading from e.g. a PrivateContext, but this lets us\n // reuse this function in SharedMutablePrivateGetter.\n fn historical_read_from_public_storage(\n self,\n header: Header,\n address: AztecAddress\n ) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>, u32) {\n let historical_block_number = header.global_variables.block_number as u32;\n\n // We could simply produce historical inclusion proofs for both the ScheduledValueChange and\n // ScheduledDelayChange, but that'd require one full sibling path per storage slot (since due to kernel siloing\n // the storage is not contiguous), and in the best case in which T is a single field that'd be 4 slots.\n // Instead, we get an oracle to provide us the correct values for both the value and delay changes, and instead\n // prove inclusion of their hash, which is both a much smaller proof (a single slot), and also independent of\n // the size of T.\n let (value_change_hint, delay_change_hint) = get_public_storage_hints(address, self.storage_slot, historical_block_number);\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let hash = header.public_storage_historical_read(self.get_hash_storage_slot(), address);\n\n // @todo This is written strangely to bypass a formatting issue with the if that is breaking ci.\n let (a, b, c) = if hash != 0 {\n let a = SharedMutable::hash_scheduled_data(value_change_hint, delay_change_hint);\n (a, value_change_hint, delay_change_hint)\n } else {\n // The hash slot can only hold a zero if it is uninitialized, meaning no value or delay change was ever\n // scheduled. Therefore, the hints must then correspond to uninitialized scheduled changes.\n let b = ScheduledValueChange::deserialize(zeroed());\n let c = ScheduledDelayChange::deserialize(zeroed());\n (hash, b, c)\n };\n\n assert_eq(hash, a, \"Hint values do not match hash\");\n assert_eq(value_change_hint, b, \"Non-zero value change for zero hash\");\n assert_eq(delay_change_hint, c, \"Non-zero delay change for zero hash\");\n\n (value_change_hint, delay_change_hint, historical_block_number)\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, &mut PublicContext> where T: ToField + FromField + Eq {\n pub fn schedule_value_change(self, new_value: T) {\n let mut value_change = self.read_value_change();\n let delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n let current_delay = delay_change.get_current(block_number);\n\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + current_delay;\n value_change.schedule_change(new_value, block_number, current_delay, block_of_change);\n\n self.write(value_change, delay_change);\n }\n\n pub fn schedule_delay_change(self, new_delay: u32) {\n let mut delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n\n delay_change.schedule_change(new_delay, block_number);\n\n self.write(self.read_value_change(), delay_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let block_number = self.context.block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n pub fn get_current_delay_in_public(self) -> u32 {\n let block_number = self.context.block_number() as u32;\n self.read_delay_change().get_current(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n self.read_value_change().get_scheduled()\n }\n\n pub fn get_scheduled_delay_in_public(self) -> (u32, u32) {\n self.read_delay_change().get_scheduled()\n }\n\n fn read_value_change(self) -> ScheduledValueChange<T> {\n self.context.storage_read(self.get_value_change_storage_slot())\n }\n\n fn read_delay_change(self) -> ScheduledDelayChange<INITIAL_DELAY> {\n self.context.storage_read(self.get_delay_change_storage_slot())\n }\n\n fn write(\n self,\n value_change: ScheduledValueChange<T>,\n delay_change: ScheduledDelayChange<INITIAL_DELAY>\n ) {\n // Whenever we write to public storage, we write both the value change and delay change as well as the hash of\n // them both. This guarantees that the hash is always kept up to date.\n // While this makes for more costly writes, it also makes private proofs much simpler because they only need to\n // produce a historical proof for the hash, which results in a single inclusion proof (as opposed to 4 in the\n // best case scenario in which T is a single field). Private shared mutable reads are assumed to be much more\n // frequent than public writes, so this tradeoff makes sense.\n self.context.storage_write(self.get_value_change_storage_slot(), value_change);\n self.context.storage_write(self.get_delay_change_storage_slot(), delay_change);\n self.context.storage_write(\n self.get_hash_storage_slot(),\n SharedMutable::hash_scheduled_data(value_change, delay_change)\n );\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, &mut PrivateContext> where T: ToField + FromField + Eq {\n pub fn get_current_value_in_private(self) -> T {\n // When reading the current value in private we construct a historical state proof for the public value.\n // However, since this value might change, we must constrain the maximum transaction block number as this proof\n // will only be valid for however many blocks we can ensure the value will not change, which will depend on the\n // current delay and any scheduled delay changes.\n\n let (value_change, delay_change, historical_block_number) = self.historical_read_from_public_storage(self.context.get_header(), self.context.this_address());\n\n // We use the effective minimum delay as opposed to the current delay at the historical block as this one also\n // takes into consideration any scheduled delay changes.\n // For example, consider a scenario in which at block 200 the current delay was 50. We may naively think that\n // the earliest we could change the value would be at block 251 by scheduling immediately after the historical\n // block, i.e. at block 201. But if there was a delay change scheduled for block 210 to reduce the delay to 20\n // blocks, then if a value change was scheduled at block 210 it would go into effect at block 230, which is\n // earlier than what we'd expect if we only considered the current delay.\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the\n // historical public value matches the current one, since it can only change after the horizon.\n self.context.set_tx_max_block_number(block_horizon);\n value_change.get_current_at(historical_block_number)\n }\n}\n\nimpl<T, let INITIAL_DELAY: u32> SharedMutable<T, INITIAL_DELAY, UnconstrainedContext> where T: ToField + FromField + Eq {\n unconstrained pub fn get_current_value_in_unconstrained(self) -> T {\n let block_number = self.context.block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n unconstrained fn read_value_change(self) -> ScheduledValueChange<T> {\n self.context.storage_read(self.get_value_change_storage_slot())\n }\n}\n\nunconstrained fn get_public_storage_hints<T, let INITIAL_DELAY: u32>(\n address: AztecAddress,\n storage_slot: Field,\n block_number: u32\n) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>) where T: ToField + FromField + Eq {\n // This function cannot be part of the &mut PrivateContext impl because that'd mean that by passing `self` we'd also\n // be passing a mutable reference to an unconstrained function, which is not allowed. We therefore create a dummy\n // state variable here so that we can access the methods to compute storage slots. This will all be removed in the\n // future once we do proper storage slot allocation (#5492).\n let dummy: SharedMutable<T, INITIAL_DELAY, ()> = SharedMutable::new((), storage_slot);\n\n (\n storage_read(address, dummy.get_value_change_storage_slot(), block_number), storage_read(address, dummy.get_delay_change_storage_slot(), block_number)\n )\n}\n"},"169":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr","source":"use dep::protocol_types::{\n address::AztecAddress, constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::context::{PrivateContext, UnconstrainedContext};\nuse crate::note::{\n lifecycle::create_note, note_getter::{get_note, view_notes}, note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions, note_emission::NoteEmission\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\nstruct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T, Context> Storage<T> for PrivateImmutable<T, Context> {}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub 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 Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor. \n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<N, M>(\n self,\n note: &mut Note\n ) -> NoteEmission<Note> where Note: NoteInterface<N, M> {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let storage_slot = self.storage_slot;\n get_note(self.context, storage_slot)\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UnconstrainedContext> {\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n unconstrained pub fn view_note<N, M>(self) -> Note where Note: NoteInterface<N, M> {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"},"171":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/utils/point.nr","source":"use dep::protocol_types::point::Point;\n\n// I am storing the modulus divided by 2 plus 1 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/// Converts a public key to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(pk: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!pk.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result = pk.x.to_be_bytes(32);\n\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n if !BN254_FR_MODULUS_DIV_2.lt(pk.y) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result.as_array()\n}\n\nmod test {\n use dep::protocol_types::point::Point;\n use crate::utils::point::point_to_bytes;\n\n #[test]\n fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122, 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115\n ];\n\n assert_eq(expected_compressed_point_positive_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_positive_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_positive_sign[i]);\n }\n }\n\n #[test]\n fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169, 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181\n ];\n\n assert_eq(expected_compressed_point_negative_sign.len(), compressed_point.len());\n for i in 0..expected_compressed_point_negative_sign.len() {\n assert_eq(compressed_point[i], expected_compressed_point_negative_sign[i]);\n }\n }\n}\n"},"188":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\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.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n 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 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 fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\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 {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\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) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\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.\nstruct EmbeddedCurveScalar {\n lo: Field,\n 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 fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\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\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// 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 let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\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 let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"226":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"23":{"path":"std/field/bn254.nr","source":"use crate::runtime::is_unconstrained;\n\n// The low and high decomposition of the field modulus\nglobal PLO: Field = 53438638232309528389504892708671455233;\nglobal PHI: Field = 64323764613183177041862057485226039389;\n\nglobal TWO_POW_128: Field = 0x100000000000000000000000000000000;\n\n// Decomposes a single field into two 16 byte fields.\nfn compute_decomposition(x: Field) -> (Field, Field) {\n let x_bytes = x.to_le_bytes(32);\n\n let mut low: Field = 0;\n let mut high: Field = 0;\n\n let mut offset = 1;\n for i in 0..16 {\n low += (x_bytes[i] as Field) * offset;\n high += (x_bytes[i + 16] as Field) * offset;\n offset *= 256;\n }\n\n (low, high)\n}\n\nunconstrained pub(crate) fn decompose_hint(x: Field) -> (Field, Field) {\n compute_decomposition(x)\n}\n\nfn compute_lt(x: Field, y: Field, num_bytes: u32) -> bool {\n let x_bytes = x.to_le_radix(256, num_bytes);\n let y_bytes = y.to_le_radix(256, num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i];\n let y_byte = y_bytes[num_bytes - 1 - i];\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\nfn compute_lte(x: Field, y: Field, num_bytes: u32) -> bool {\n if x == y {\n true\n } else {\n compute_lt(x, y, num_bytes)\n }\n}\n\nunconstrained fn lt_32_hint(x: Field, y: Field) -> bool {\n compute_lt(x, y, 32)\n}\n\nunconstrained fn lte_16_hint(x: Field, y: Field) -> bool {\n compute_lte(x, y, 16)\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 let borrow = lte_16_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/// 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 // 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\npub fn assert_gt(a: Field, b: Field) {\n if is_unconstrained() {\n assert(compute_lt(b, a, 32));\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 compute_lt(b, a, 32)\n } else if a == b {\n false\n } else {\n // Take a hint of the comparison and verify it\n if lt_32_hint(a, b) {\n assert_gt(b, a);\n false\n } else {\n assert_gt(a, b);\n true\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::{decompose_hint, decompose, compute_lt, assert_gt, gt, lt, TWO_POW_128, compute_lte, PLO, PHI};\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_decompose_unconstrained() {\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 fn check_compute_lt() {\n assert(compute_lt(0, 1, 16));\n assert(compute_lt(0, 0x100, 16));\n assert(compute_lt(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lt(0, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_compute_lte() {\n assert(compute_lte(0, 1, 16));\n assert(compute_lte(0, 0x100, 16));\n assert(compute_lte(0x100, TWO_POW_128 - 1, 16));\n assert(!compute_lte(0, TWO_POW_128, 16));\n\n assert(compute_lte(0, 0, 16));\n assert(compute_lte(0x100, 0x100, 16));\n assert(compute_lte(TWO_POW_128 - 1, TWO_POW_128 - 1, 16));\n assert(compute_lte(TWO_POW_128, TWO_POW_128, 16));\n }\n\n #[test]\n fn check_assert_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 - 1, 0);\n }\n\n #[test]\n unconstrained fn check_assert_gt_unconstrained() {\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 - 1, 0);\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 }\n\n #[test]\n unconstrained fn check_gt_unconstrained() {\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 }\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"},"238":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr","source":"use crate::{hash::pedersen_hash, traits::ToField};\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f);\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 = 0x2499880e2b1b831785c17286f99a0d5122fee784ce7b1c04e380c4a991da819a;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\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 = exponent.to_le_bits(32);\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 ∈ {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\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// 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 let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 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"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\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\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"248":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/public_data_tree_leaf_preimage.nr","source":"use crate::{merkle_tree::leaf_preimage::IndexedTreeLeafPreimage, traits::{Empty, Hash}};\n\nstruct PublicDataTreeLeafPreimage {\n slot : Field,\n value: Field,\n next_slot :Field,\n next_index : u32,\n}\n\nimpl Empty for PublicDataTreeLeafPreimage {\n fn empty() -> Self {\n Self {\n slot: 0,\n value: 0,\n next_slot: 0,\n next_index: 0,\n }\n }\n}\n\nimpl Hash for PublicDataTreeLeafPreimage {\n fn hash(self) -> Field {\n if self.is_empty() {\n 0\n } else {\n crate::hash::poseidon2_hash([self.slot, self.value, (self.next_index as Field), self.next_slot])\n }\n }\n}\n\nimpl IndexedTreeLeafPreimage for PublicDataTreeLeafPreimage {\n fn get_key(self) -> Field {\n self.slot\n }\n\n fn get_next_key(self) -> Field {\n self.next_slot\n }\n\n fn as_leaf(self) -> Field {\n self.hash()\n }\n}\n\nimpl PublicDataTreeLeafPreimage {\n pub fn is_empty(self) -> bool {\n (self.slot == 0) & (self.value == 0) & (self.next_slot == 0) & (self.next_index == 0)\n }\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(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(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\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 silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\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,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 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 = std::hash::sha256(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 compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"256":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/point.nr","source":"use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{traits::{Empty, Hash, Serialize}, hash::poseidon2_hash};\n\nglobal POINT_LENGTH: Field = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\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 {\n x: 0,\n y: 0,\n is_infinite: false\n }\n }\n}\n"},"257":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr","source":"use crate::{\n address::{\n aztec_address::AztecAddress, eth_address::EthAddress, partial_address::PartialAddress,\n public_keys_hash::PublicKeysHash\n},\n contract_class_id::ContractClassId,\n constants::{GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA, CONTRACT_INSTANCE_LENGTH},\n traits::{Deserialize, Hash, Serialize}\n};\n\nstruct ContractInstance {\n salt : Field,\n deployer: AztecAddress,\n contract_class_id : ContractClassId,\n initialization_hash : Field,\n public_keys_hash : PublicKeysHash,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys_hash.eq(other.public_keys_hash) &\n self.initialization_hash.eq(other.initialization_hash) &\n self.contract_class_id.eq(other.contract_class_id) &\n self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n self.public_keys_hash.to_field()\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys_hash: PublicKeysHash::from_field(serialized[4]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys_hash,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer\n )\n )\n }\n}\n"},"269":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr","source":"use crate::{hash::merkle_hash, merkle_tree::merkle_tree::MerkleTree};\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N]\n) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\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 = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\npub fn calculate_subtree_root<let N: u32>(leaves: [Field; N]) -> Field {\n MerkleTree::new(leaves).get_root()\n}\n\n// These values are precomputed and we run tests to ensure that they\n// are correct. The values themselves were computed from the cpp code.\n//\n// Would be good if we could use width since the compute_subtree\n// algorithm uses depth.\npub fn calculate_empty_tree_root(depth: u32) -> Field {\n if depth == 0 {\n 0\n } else if depth == 1 {\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1\n } else if depth == 2 {\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290\n } else if depth == 3 {\n 0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20\n } else if depth == 4 {\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e\n } else if depth == 5 {\n 0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf\n } else if depth == 6 {\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76\n } else if depth == 7 {\n 0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b\n } else if depth == 8 {\n 0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1\n } else if depth == 9 {\n 0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972\n } else if depth == 10 {\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686\n } else {\n assert(false, \"depth should be between 0 and 10\");\n 0\n }\n}\n\n#[test]\nfn test_merkle_root_interop_test() {\n // This is a test to ensure that we match the cpp implementation.\n // You can grep for `TEST_F(root_rollup_tests, noir_interop_test)`\n // to find the test that matches this.\n let root = calculate_subtree_root([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]);\n assert(0x1a09d935ae110b4c861fcec8f9099ec30b4485022aeb3d3cf9d7168e38fdc231 == root);\n\n let empty_root = calculate_subtree_root([0; 16]);\n assert(0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e == empty_root);\n}\n\n#[test]\nfn test_empty_subroot() {\n assert(calculate_empty_tree_root(0) == 0);\n\n let expected_empty_root_2 = calculate_subtree_root([0; 2]);\n assert(calculate_empty_tree_root(1) == expected_empty_root_2);\n\n let expected_empty_root_4 = calculate_subtree_root([0; 4]);\n assert(calculate_empty_tree_root(2) == expected_empty_root_4);\n\n let expected_empty_root_8 = calculate_subtree_root([0; 8]);\n assert(calculate_empty_tree_root(3) == expected_empty_root_8);\n\n let expected_empty_root_16 = calculate_subtree_root([0; 16]);\n assert(calculate_empty_tree_root(4) == expected_empty_root_16);\n\n let expected_empty_root_32 = calculate_subtree_root([0; 32]);\n assert(calculate_empty_tree_root(5) == expected_empty_root_32);\n\n let expected_empty_root_64 = calculate_subtree_root([0; 64]);\n assert(calculate_empty_tree_root(6) == expected_empty_root_64);\n\n let expected_empty_root_128 = calculate_subtree_root([0; 128]);\n assert(calculate_empty_tree_root(7) == expected_empty_root_128);\n\n let expected_empty_root_256 = calculate_subtree_root([0; 256]);\n assert(calculate_empty_tree_root(8) == expected_empty_root_256);\n\n let expected_empty_root_512 = calculate_subtree_root([0; 512]);\n assert(calculate_empty_tree_root(9) == expected_empty_root_512);\n\n let expected_empty_root_1024 = calculate_subtree_root([0; 1024]);\n assert(calculate_empty_tree_root(10) == expected_empty_root_1024);\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\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#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\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\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> 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\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::from_slice(domain_generators.as_slice());\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\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#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [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 // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = 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 EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\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.)\ntrait 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.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\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) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\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) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\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) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\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) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\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), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), 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), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), 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), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), 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), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), 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), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), 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), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), 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), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 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), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 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), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 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), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"273":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"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_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self, mut result: [Field; K]) -> [Field; 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 // TODO(#4394)\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"283":{"path":"/usr/src/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\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, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\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, 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 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\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 = max_value.to_be_bytes(32);\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"},"285":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"300":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash_with_separator,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\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 Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\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 pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(address.to_field() == expected_computed_address_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 assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"302":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr","source":"use crate::{\n address::{\n eth_address::EthAddress, salted_initialization_hash::SaltedInitializationHash,\n aztec_address::AztecAddress\n},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator, traits::{ToField, FromField, Serialize, Deserialize}\n};\n\nglobal PARTIAL_ADDRESS_LENGTH = 1;\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[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(\n poseidon2_hash_with_separator(\n [\n contract_class_id.to_field(),\n salted_initialization_hash.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\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"},"303":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr","source":"use crate::{\n address::{eth_address::EthAddress, aztec_address::AztecAddress},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS, hash::poseidon2_hash_with_separator, traits::ToField\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\nstruct SaltedInitializationHash {\n 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(\n poseidon2_hash_with_separator(\n [\n salt,\n initialization_hash,\n deployer.to_field()\n ],\n GENERATOR_INDEX__PARTIAL_ADDRESS\n )\n )\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct 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 if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = 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) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\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 } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct 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 {\n _state: &[],\n }\n }\n}\n"},"360":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_k_account_contract/src/main.nr","source":"// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaKAccount {\n use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteGetterOptions, PrivateContext, PrivateImmutable};\n use dep::aztec::encrypted_logs::encrypted_note_emission::encode_and_encrypt_note;\n\n use dep::aztec::protocol_types::abis::call_context::CallContext;\n use dep::std;\n\n use dep::authwit::{\n entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions,\n auth_witness::get_auth_witness\n };\n\n use dep::ecdsa_public_key_note::EcdsaPublicKeyNote;\n\n #[aztec(storage)]\n struct Storage {\n public_key: PrivateImmutable<EcdsaPublicKeyNote>,\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n #[aztec(initializer)]\n fn constructor(signing_pub_key_x: [u8; 32], signing_pub_key_y: [u8; 32]) {\n let this = context.this_address();\n let header = context.get_header();\n let this_npk_m_hash = header.get_npk_m_hash(&mut context, this);\n // Not emitting outgoing for msg_sender here to not have to register keys for the contract through which we\n // deploy this (typically MultiCallEntrypoint). I think it's ok here as I feel the outgoing here is not that\n // important.\n\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this_npk_m_hash);\n storage.public_key.initialize(&mut pub_key_note).emit(encode_and_encrypt_note(&mut context, this, this));\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload);\n }\n\n #[aztec(private)]\n #[aztec(noinitcheck)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n // Load public key from storage\n let storage = Storage::init(context);\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(outer_hash);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let outer_hash_bytes: [u8; 32] = outer_hash.to_be_bytes(32).as_array();\n let hashed_message: [u8; 32] = std::hash::sha256(outer_hash_bytes);\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n}\n"},"361":{"path":"/usr/src/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr","source":"use dep::aztec::prelude::{AztecAddress, FunctionSelector, NoteHeader, NoteInterface, NoteGetterOptions, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_consumption, keys::getters::get_nsk_app,\n protocol_types::{constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator}\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n// ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 32(storage_slot as bytes) + 32(note_type_id as bytes)\nglobal ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN: Field = 5 * 32 + 64;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\n#[aztec(note)]\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n // We store the npk_m_hash only to get the secret key to compute the nullifier\n npk_m_hash: Field,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN, ECDSA_PUBLIC_KEY_NOTE_BYTES_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic serialization since x and y don't fit. Serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = npk_m_hash\n fn serialize_content(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.npk_m_hash]\n }\n\n // Cannot use the automatic deserialization for the aforementioned reasons\n fn deserialize_content(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, npk_m_hash: serialized_note[4], header: NoteHeader::empty() }\n }\n\n fn compute_note_hash_and_nullifier(self, context: &mut PrivateContext) -> (Field, Field) {\n let note_hash_for_nullify = compute_note_hash_for_consumption(self);\n let secret = context.request_nsk_app(self.npk_m_hash);\n let nullifier = poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n );\n (note_hash_for_nullify, nullifier)\n }\n\n fn compute_note_hash_and_nullifier_without_context(self) -> (Field, Field) {\n let note_hash_for_nullify = compute_note_hash_for_consumption(self);\n let secret = get_nsk_app(self.npk_m_hash);\n let nullifier = poseidon2_hash_with_separator([\n note_hash_for_nullify,\n secret,\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field,\n );\n (note_hash_for_nullify, nullifier)\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], npk_m_hash: Field) -> Self {\n EcdsaPublicKeyNote { x, y, npk_m_hash, header: NoteHeader::empty() }\n }\n}\n"},"4":{"path":"std/cmp.nr","source":"// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, let N: u32> Eq for [T; N] where T: Eq {\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] where T: Eq {\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\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) where A: Eq, B: Eq {\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) where A: Eq, B: Eq, C: Eq {\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) where A: Eq, B: Eq, C: Eq, D: Eq {\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) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & 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.\nstruct 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// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\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 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 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 {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, let N: u32> Ord for [T; N] where T: Ord {\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 let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<T> Ord for [T] where T: Ord {\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 mut result = self.len().cmp(other.len());\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\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) where A: Ord, B: Ord, C: Ord {\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) where A: Ord, B: Ord, C: Ord, D: Ord {\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) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\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 where T: Ord {\n if v1 > v2 { v1 } else { v2 }\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 where T: Ord {\n if v1 > v2 { v2 } else { v1 }\n}\n\nmod cmp_tests {\n use crate::cmp::{min, max};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n"},"44":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct 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::unsafe::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 { self._value } else { default }\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 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 { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\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 { Option::none() } else { self }\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> where T: Eq {\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> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\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> where T: Ord {\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 {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\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 pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\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 pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\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 let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n 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 pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\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 ret\n }\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 for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\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 \n (self.len == other.len) & (self.storage == other.storage)\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 crate::println(vec.get(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 // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\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.storage()[2], 0);\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.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[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\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\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.storage()[0], 1);\n assert_eq(bounded_vec.storage()[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"},"53":{"path":"std/uint128.nr","source":"use crate::ops::{Add, Sub, Mul, Div, Rem, Not, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\nuse crate::println;\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\nglobal pow63 : Field = 9223372036854775808; // 2^63;\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn zero() -> U128 {\n U128 { lo: 0, hi: 0 }\n }\n\n pub fn one() -> U128 {\n U128 { lo: 1, hi: 0 }\n }\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<let N: u32>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n unconstrained fn uconstrained_check_is_upper_ascii(ascii: u8) -> bool {\n ((ascii >= 65) & (ascii <= 90)) // Between 'A' and 'Z'\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n (if ascii < 58 {\n ascii - 48\n } else {\n let ascii = ascii + 32 * (U128::uconstrained_check_is_upper_ascii(ascii) as u8);\n assert(ascii >= 97); // enforce >= 'a'\n assert(ascii <= 102); // enforce <= 'f'\n ascii - 87\n }) as Field\n }\n\n // TODO: Replace with a faster version. \n // A circuit that uses this function can be slow to compute\n // (we're doing up to 127 calls to compute the quotient)\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if b == U128::zero() {\n // Return 0,0 to avoid eternal loop\n (U128::zero(), U128::zero())\n } else if self < b {\n (U128::zero(), self)\n } else if self == b {\n (U128::one(), U128::zero())\n } else {\n let (q,r) = if b.hi as u64 >= pow63 as u64 {\n // The result of multiplication by 2 would overflow\n (U128::zero(), self)\n } else {\n self.unconstrained_div(b * U128::from_u64s_le(2, 0))\n };\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::one(), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = self.lo * b.hi + self.hi * b.lo + carry;\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl Not for U128 { \n fn not(self) -> U128 {\n U128 {\n lo: (!(self.lo as u64)) as Field,\n hi: (!(self.hi as u64)) as Field\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n\nmod tests {\n use crate::uint128::{U128, pow64, pow63};\n\n #[test]\n fn test_not(lo: u64, hi: u64) {\n let num = U128::from_u64s_le(lo, hi);\n let not_num = num.not();\n\n assert_eq(not_num.hi, (hi.not() as Field));\n assert_eq(not_num.lo, (lo.not() as Field));\n\n let not_not_num = not_num.not();\n assert_eq(num, not_not_num);\n }\n #[test]\n fn test_construction() {\n // Check little-endian u64 is inversed with big-endian u64 construction\n let a = U128::from_u64s_le(2, 1);\n let b = U128::from_u64s_be(1, 2);\n assert_eq(a, b);\n // Check byte construction is equivalent\n let c = U128::from_le_bytes([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);\n let d = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n assert_eq(c, d);\n }\n #[test]\n fn test_byte_decomposition() {\n let a = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n // Get big-endian and little-endian byte decompostions\n let le_bytes_a= a.to_le_bytes();\n let be_bytes_a= a.to_be_bytes();\n\n // Check equivalence\n for i in 0..16 {\n assert_eq(le_bytes_a[i], be_bytes_a[15 - i]);\n }\n // Reconstruct U128 from byte decomposition\n let b= U128::from_le_bytes(le_bytes_a);\n // Check that it's the same element\n assert_eq(a, b);\n }\n #[test]\n fn test_hex_constuction() {\n let a = U128::from_u64s_le(0x1, 0x2);\n let b = U128::from_hex(\"0x20000000000000001\");\n assert_eq(a, b);\n\n let c= U128::from_hex(\"0xffffffffffffffffffffffffffffffff\");\n let d= U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff);\n assert_eq(c, d);\n\n let e= U128::from_hex(\"0x00000000000000000000000000000000\");\n let f= U128::from_u64s_le(0, 0);\n assert_eq(e, f);\n }\n\n // Ascii decode tests\n\n #[test]\n fn test_ascii_decode_correct_range() {\n // '0'..'9' range\n for i in 0..10 {\n let decoded= U128::decode_ascii(48 + i);\n assert_eq(decoded, i as Field);\n }\n // 'A'..'F' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(65 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n // 'a'..'f' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(97 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_0() {\n crate::println(U128::decode_ascii(0));\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_1() {\n crate::println(U128::decode_ascii(47));\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_0() {\n let _ = U128::decode_ascii(58);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_1() {\n let _ = U128::decode_ascii(64);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_0() {\n let _ = U128::decode_ascii(71);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_1() {\n let _ = U128::decode_ascii(96);\n }\n #[test(should_fail)]\n fn test_ascii_decode_range_greater_than_102_fails() {\n let _ = U128::decode_ascii(103);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_regression() {\n // This code will actually fail because of ascii_decode,\n // but in the past it was possible to create a value > (1<<128)\n let a = U128::from_hex(\"0x~fffffffffffffffffffffffffffffff\");\n let b:Field= a.to_integer();\n let c= b.to_le_bytes(17);\n assert(c[16] != 0);\n }\n\n #[test]\n fn test_unconstrained_div() {\n // Test the potential overflow case\n let a= U128::from_u64s_le(0x0, 0xffffffffffffffff);\n let b= U128::from_u64s_le(0x0, 0xfffffffffffffffe);\n let c= U128::one();\n let d= U128::from_u64s_le(0x0, 0x1);\n let (q,r) = a.unconstrained_div(b);\n assert_eq(q, c);\n assert_eq(r, d);\n\n let a = U128::from_u64s_le(2, 0);\n let b = U128::one();\n // Check the case where a is a multiple of b\n let (c,d ) = a.unconstrained_div(b);\n assert_eq((c, d), (a, U128::zero()));\n\n // Check where b is a multiple of a\n let (c,d) = b.unconstrained_div(a);\n assert_eq((c, d), (U128::zero(), b));\n\n // Dividing by zero returns 0,0\n let a = U128::from_u64s_le(0x1, 0x0);\n let b = U128::zero();\n let (c,d)= a.unconstrained_div(b);\n assert_eq((c, d), (U128::zero(), U128::zero()));\n\n // Dividing 1<<127 by 1<<127 (special case)\n let a = U128::from_u64s_le(0x0, pow63 as u64);\n let b = U128::from_u64s_le(0x0, pow63 as u64);\n let (c,d )= a.unconstrained_div(b);\n assert_eq((c, d), (U128::one(), U128::zero()));\n }\n\n #[test]\n fn integer_conversions() {\n // Maximum\n let start:Field = 0xffffffffffffffffffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Minimum\n let start:Field = 0x0;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Low limb\n let start:Field = 0xffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // High limb\n let start:Field = 0xffffffffffffffff0000000000000000;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n }\n\n #[test]\n fn integer_conversions_fuzz(lo: u64, hi: u64) {\n let start: Field = (lo as Field) + pow64 * (hi as Field);\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n }\n\n #[test]\n fn test_wrapping_mul() {\n // 1*0==0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::one()));\n\n // 0*1==0\n assert_eq(U128::zero(), U128::one().wrapping_mul(U128::zero()));\n\n // 1*1==1\n assert_eq(U128::one(), U128::one().wrapping_mul(U128::one()));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::zero()));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::from_u64s_le(0, 1).wrapping_mul(U128::one()));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::one().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::from_u64s_le(0, 1)));\n // -1 * -1 == 1\n assert_eq(\n U128::one(), U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff).wrapping_mul(U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff))\n );\n }\n}\n"},"59":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"60":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties \n * (e.g. protocols or other users) to execute an action on their behalf.\n * \n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing 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:\n * 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 \n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few \n * helper functions 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 call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can \n * show 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:\n * 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 `amount`\n * 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 message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is \n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * 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 \n * how 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). \n * `Alice` would make a `deposit` transaction, that she is executing using her account contract. \n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token` \n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to \n * convince the `Token` contract that it is allowed to 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 \n * execute 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\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `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`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its 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\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, 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 `keccak256(\"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 selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a colission and we return \n * 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 be \n * 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 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 specific\n * chain to avoid a case where the same message could be used across multiple chains. \n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/** \n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the \n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n * \n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\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 have authorized the current call\n * @param inner_hash The hash of the message to authorize \n */\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.static_call_private_function(\n on_behalf_of,\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\"),\n [inner_hash]\n ).unpack_into();\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.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/** \n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making 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 have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/** \n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n * \n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making 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 have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n let result: Field = context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"consume((Field),Field)\"),\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\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\n * to 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\n * B 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\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\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_array(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// docs:end:compute_authwit_message_hash_from_call\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\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/** \n * Computs 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 have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\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 GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\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\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @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\n */\npub fn compute_authwit_message_hash(consumer: AztecAddress, chain_id: Field, version: Field, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\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\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\"),\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\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 \n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n AztecAddress::from_field(CANONICAL_AUTH_REGISTRY_ADDRESS),\n FunctionSelector::from_signature(\"set_reject_all(bool)\"),\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"61":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::context::{PrivateContext, PublicContext};\nuse dep::aztec::protocol_types::{address::AztecAddress, abis::function_selector::FunctionSelector, hash::pedersen_hash};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n * \n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /** \n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n * \n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n * \n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload) {\n let valid_fn = self.is_valid_impl;\n\n let fee_hash = fee_payload.hash();\n assert(valid_fn(self.context, fee_hash));\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n\n let app_hash = app_payload.hash();\n assert(valid_fn(self.context, app_hash));\n app_payload.execute_calls(self.context);\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n * \n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n * \n * Will revert if the message is not authorized. \n * \n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can \n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"62":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"64":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"70":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/point_to_symmetric_key.nr","source":"use dep::protocol_types::{constants::GENERATOR_INDEX__SYMMETRIC_KEY, scalar::Scalar, point::Point, utils::arr_copy_slice};\nuse crate::utils::point::point_to_bytes;\nuse std::{hash::sha256, embedded_curve_ops::multi_scalar_mul};\n\n// TODO(#5726): This function is called deriveAESSecret in TS. I don't like point_to_symmetric_key name much since\n// point is not the only input of the function. Unify naming with TS once we have a better name.\npub fn point_to_symmetric_key(secret: Scalar, point: Point) -> [u8; 32] {\n let shared_secret: Point = multi_scalar_mul([point], [secret]);\n let shared_secret = point_to_bytes(shared_secret);\n let mut shared_secret_bytes_with_separator = [0 as u8; 33];\n shared_secret_bytes_with_separator = arr_copy_slice(shared_secret, shared_secret_bytes_with_separator, 0);\n shared_secret_bytes_with_separator[32] = GENERATOR_INDEX__SYMMETRIC_KEY;\n sha256(shared_secret_bytes_with_separator)\n}\n\n#[test]\nfn test_point_to_symmetric_key_matches_noir() {\n // Value taken from \"derive shared secret\" test in encrypt_buffer.test.ts\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 key = point_to_symmetric_key(secret, point);\n\n // The following value was generated by `encrypt_buffer.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let key_from_typescript = [\n 251, 232, 177, 34, 2, 174, 35, 92, 165, 118, 168, 3, 153, 140, 46, 210, 203, 154, 184, 158, 236, 33, 95, 77, 93, 120, 72, 88, 190, 209, 64, 159\n ];\n assert_eq(key, key_from_typescript);\n}\n"},"71":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/getters.nr","source":"use dep::protocol_types::{\n header::Header, abis::validation_requests::KeyValidationRequest, address::AztecAddress,\n constants::CANONICAL_KEY_REGISTRY_ADDRESS, point::Point, storage::map::derive_storage_slot_in_map,\n traits::is_empty\n};\nuse crate::{\n context::PrivateContext,\n oracle::{keys::get_public_keys_and_partial_address, key_validation_request::get_key_validation_request},\n keys::{public_keys::PublicKeys, constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX, TAGGING_INDEX}},\n state_vars::{shared_mutable::shared_mutable_private_getter::SharedMutablePrivateGetter}\n};\n\nglobal DELAY = 5;\n\n// docs:start:key-getters\ntrait KeyGetters {\n fn get_npk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ivpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_ovpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_tpk_m(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Point;\n fn get_npk_m_hash(header: Header, context: &mut PrivateContext, address: AztecAddress) -> Field;\n}\n\nimpl KeyGetters for Header {\n fn get_npk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, NULLIFIER_INDEX, self)\n }\n\n fn get_ivpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, INCOMING_INDEX, self)\n }\n\n fn get_ovpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, OUTGOING_INDEX, self)\n }\n\n fn get_tpk_m(self, context: &mut PrivateContext, address: AztecAddress) -> Point {\n get_master_key(context, address, TAGGING_INDEX, self)\n }\n\n fn get_npk_m_hash(self, context: &mut PrivateContext, address: AztecAddress) -> Field {\n get_master_key(context, address, NULLIFIER_INDEX, self).hash()\n }\n}\n// docs:end:key-getters\n\nfn get_master_key(\n context: &mut PrivateContext,\n address: AztecAddress,\n key_index: Field,\n header: Header\n) -> Point {\n let key = fetch_key_from_registry(context, key_index, address, header);\n if is_empty(key) {\n // Keys were not registered in registry yet --> fetch key from PXE\n let keys = fetch_and_constrain_keys(address);\n // Return the corresponding to index\n keys.get_key_by_index(key_index)\n } else {\n // Keys were registered --> return the key\n key\n }\n}\n\nfn fetch_key_from_registry(\n context: &mut PrivateContext,\n key_index: Field,\n address: AztecAddress,\n header: Header\n) -> Point {\n let x_coordinate_map_slot = key_index * 2 + 1;\n let y_coordinate_map_slot = x_coordinate_map_slot + 1;\n let x_coordinate_derived_slot = derive_storage_slot_in_map(x_coordinate_map_slot, address);\n let y_coordinate_derived_slot = derive_storage_slot_in_map(y_coordinate_map_slot, address);\n\n let x_coordinate_registry: SharedMutablePrivateGetter<Field, DELAY> = SharedMutablePrivateGetter::new(\n context,\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS),\n x_coordinate_derived_slot\n );\n let y_coordinate_registry: SharedMutablePrivateGetter<Field, DELAY> = SharedMutablePrivateGetter::new(\n context,\n AztecAddress::from_field(CANONICAL_KEY_REGISTRY_ADDRESS),\n y_coordinate_derived_slot\n );\n let x_coordinate = x_coordinate_registry.get_value_in_private(header);\n let y_coordinate = y_coordinate_registry.get_value_in_private(header);\n\n Point { x: x_coordinate, y: y_coordinate, is_infinite: false }\n}\n\n// Passes only when keys were not rotated - is expected to be called only when keys were not registered yet\nfn fetch_and_constrain_keys(address: AztecAddress) -> PublicKeys {\n let (public_keys, partial_address) = get_public_keys_and_partial_address(address);\n\n let computed_address = AztecAddress::compute(public_keys.hash(), partial_address);\n\n assert(computed_address.eq(address));\n\n public_keys\n}\n\n// A helper function since requesting nsk_app is very common\n// TODO(#6543)\npub fn get_nsk_app(npk_m_hash: Field) -> Field {\n get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n"},"72":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::Point, traits::{Deserialize, Serialize, Empty, is_empty}\n};\nuse crate::keys::constants::{NUM_KEY_TYPES, NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH = 12;\n\nstruct PublicKeys {\n npk_m: Point,\n ivpk_m: Point,\n ovpk_m: Point,\n tpk_m: Point,\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : Point::empty(),\n ivpk_m : Point::empty(),\n ovpk_m : Point::empty(),\n tpk_m : Point::empty()\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m == other.npk_m ) &\n ( self.ivpk_m == other.ivpk_m ) &\n ( self.ovpk_m == other.ovpk_m ) &\n ( self.tpk_m == other.tpk_m )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ],\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field\n )\n }\n )\n }\n\n pub fn get_key_by_index(self, index: Field) -> Point {\n assert(index as u8 < NUM_KEY_TYPES, \"Invalid key index\");\n if index == NULLIFIER_INDEX {\n self.npk_m\n } else if index == INCOMING_INDEX {\n self.ivpk_m\n } else if index == OUTGOING_INDEX {\n self.ovpk_m\n } else {\n self.tpk_m\n }\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.x,\n self.npk_m.y,\n self.npk_m.is_infinite as Field,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ivpk_m.is_infinite as Field,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.ovpk_m.is_infinite as Field,\n self.tpk_m.x,\n self.tpk_m.y,\n self.tpk_m.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool },\n ivpk_m: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool },\n ovpk_m: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool },\n tpk_m: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: Point { x: 1, y: 2, is_infinite: false },\n ivpk_m: Point { x: 3, y: 4, is_infinite: false },\n ovpk_m: Point { x: 5, y: 6, is_infinite: false },\n tpk_m: Point { x: 7, y: 8, is_infinite: false }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.x, deserialized.npk_m.x);\n assert_eq(keys.npk_m.y, deserialized.npk_m.y);\n assert_eq(keys.ivpk_m.x, deserialized.ivpk_m.x);\n assert_eq(keys.ivpk_m.y, deserialized.ivpk_m.y);\n assert_eq(keys.ovpk_m.x, deserialized.ovpk_m.x);\n assert_eq(keys.ovpk_m.y, deserialized.ovpk_m.y);\n assert_eq(keys.tpk_m.x, deserialized.tpk_m.x);\n assert_eq(keys.tpk_m.y, deserialized.tpk_m.y);\n}\n"},"86":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/history/public_storage.nr","source":"use dep::protocol_types::{\n constants::GENERATOR_INDEX__PUBLIC_LEAF_INDEX, hash::poseidon2_hash_with_separator,\n address::AztecAddress, header::Header, utils::field::full_field_less_than\n};\nuse dep::protocol_types::merkle_tree::root::root_from_sibling_path;\n\nuse crate::{context::PrivateContext, oracle::get_public_data_witness::get_public_data_witness};\n\ntrait PublicStorageHistoricalRead {\n fn public_storage_historical_read(header: Header, storage_slot: Field, contract_address: AztecAddress) -> Field;\n}\n\nimpl PublicStorageHistoricalRead for Header { \n fn public_storage_historical_read(self, storage_slot: Field, contract_address: AztecAddress) -> Field {\n // 1) Compute the leaf slot 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 GENERATOR_INDEX__PUBLIC_LEAF_INDEX\n );\n\n // 2) Get the membership witness of the slot\n let witness = get_public_data_witness(\n self.global_variables.block_number as u32,\n public_data_tree_index\n );\n\n // 3) Extract the value from the witness leaf and check that the storage slot is correct\n let preimage = witness.leaf_preimage;\n\n // Here we have two cases. Code based on same checks in `validate_public_data_reads` in `base_rollup_inputs`\n // 1. The value is the same as the one in the witness\n // 2. The value was never initialized and is zero\n let is_less_than_slot = full_field_less_than(preimage.slot, public_data_tree_index);\n let is_next_greater_than = full_field_less_than(public_data_tree_index, preimage.next_slot);\n let is_max = ((preimage.next_index == 0) & (preimage.next_slot == 0));\n let is_in_range = is_less_than_slot & (is_next_greater_than | is_max);\n\n let value = if is_in_range {\n 0\n } else {\n assert_eq(preimage.slot, public_data_tree_index, \"Public data tree index doesn't match witness\");\n preimage.value\n };\n\n // 4) Prove that the leaf exists in the public data tree. Note that `hash` returns not just the hash of the value\n // but also the metadata (slot, next index and next slot).\n assert(\n self.state.partial.public_data_tree.root\n == root_from_sibling_path(preimage.hash(), witness.index, witness.path), \"Proving public value inclusion failed\"\n );\n\n value\n }\n}\n"}}}
|