@aztec/protocol-contracts 0.42.0 → 0.44.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.
@@ -1 +1 @@
1
- { "transpiled": true, "noir_version": "0.30.0+c363d6fb324a83b35cf5aa1bfd39f62b9198f0b6", "name": "MultiCallEntrypoint", "functions": [{ "name": "entrypoint", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "error_types": {}, "param_witnesses": { "app_payload": [{ "end": 60, "start": 39 }], "inputs": [{ "end": 39, "start": 0 }] }, "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "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": "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" }], "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "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": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::caller_context::CallerContext" } }, { "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_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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": "tx_tree_height", "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": "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" }, "return_witnesses": [2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404] }, "bytecode": "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mb6z2zFnHi9+bLRwXIJwLva93Jfw2PPjxC0HKNc6grU5cd5PXbYvl7IJxqiQrznEflp7XXWyTu2TUTAEewoL9hTRbQ9dmzzVz/LXvHVfAxWTYlVQilWCcExRIX7FCOIX6PqGy7w8a7O12dpsbbY2W5utzdZma7O12dpsbbY2W5utzdZma7O12dpsbbY2W5utzdbmTGuztdnabG22NlubfdZmv7uPtdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdlnbbY2W5utzdZma7O12dpsbbY2W5utzdZma7O1OdPabG22Nlubrc3WZp+12e/uY222Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdnabG22Nlubrc3WZmuztdkAm5k9BfD/3NY44bgCEWIj/66IYE9hInuiJXu4LOYwFv+fN0DMYiMsZtGCjfnw/4UEW1/Jf8beQrrtdbIymL3xQnmZAeyIEY6Z0ODMsa+hbfGSzdyfgtJ3+YVzZ/r0xpyXxc/NZV5ePNrkE/4WL/w/j2BjXt02YpzzBbGRlyfW77xB/IgRjtmC8S/iO/eTIPgkxoD/n/cdccL5xP7kf9V+xZxEC/YUILKH14koPG+cFAuxPykkxIz/Xazb0UQ28rL4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", "debug_symbols": "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vu+ua0EBmRm+765b3t51f/LnhdsrjrB9+CO7D38OVpr3BLr3BIbzBOrmPYHgPYHoPYEEncBzct8TCL8l8MU3j+c3by/Ef2jplWxmSrYwJQvtBn774/CD/w6h3cCVBKDdwJUEoN3AhQQatBu4kgC0G7iSALQbuJIAtBu4cMfGgtQzNwHorn0lAZxO/AwJp7c+Q7LoluP5sGU8fT8wlOeTDSV/HdKAC8mCfvOjkGz/msSCfjMz/Og7/OQ7/Ow7/OI7/Oo7/OY7/O47/OE6/OG76w7fXXf47rrDd9e14N7MDN931x2+u+7w3XWH7647XHfdvLnuunlz3XXz5rrr5s11182b666bN9ddN2+uu27eXHfdvLnuunnz3XWD764bfHfd4LvrBt9d14TNMzF83103+O66wXfXDb67bvDddaPvrht9d93ou+tG313XhM0zMXzfXTf67rrRd9eNvrtu9N11k++um3x33eS76ybfXdeEjDQxfN9dN/nuusl3102+u27y3XWz766bfXfd7LvrZt9d14RLNTF83103++662XfXzb67bvbddYvvrlt8d93iu+sW313XhEs1MXzfXbf47rrFd9ctvrtu8d11q++uW3133eq761bfXdeELTUxfN9dt/ruutV3162+u2713XWb767bfHfd5rvrNt9d14T3NDF83123+e66zXfXbb67bvPddX2zqbJvNlX2zabKvtlU2TebKvtmU2XfbKrsm02VfbOpsm82VfbNpsq+2VTZN5sq+2ZTZd9squybTZV9s6mybzZV9s2myr7ZVMU3m6r4ZlMV32yq4ptNVTbXXbf4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVMU3m6r4ZlMV32yq4ptNVXyzqYpvNlXxzaYqvtlUxTebqvhmUxXfbKrim01VfLOpim82VfHNpiq+2VTFN5uq+GZTFd9squKbTVV8s6mKbzZV8c2mKr7ZVNU3m6r6ZlNV32yq6ptNVTfXXbf6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVNU3m6r6ZlNV32yq6ptNVX2zqapvNlX1zaaqvtlU1TebqvpmU1XfbKrqm01VfbOpqm82VfXNpqq+2VTVN5uq+mZTVd9squqbTVV9s6mqbzZV9c2mqr7ZVM03m6r5ZlM132yq5ptN1TbXXbf5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVM03m6r5ZlM132yq5ptN1XyzqZpvNlXzzaZqvtlUzTebqvlmUzXfbKrmm03VfLOpmm82VfPNpmq+2VTNN5uq+WZTNd9squabTdV8s6mabzZV882mar7ZVN03m6r7ZlN132yq7ptN1TfXXbf7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVN03m6r7ZlN132yq7ptN1X2zqbpvNlX3zabqvtlU3TebqvtmU3XfbKrum03VfbOpum82VffNpuq+2VTdN5uq+2ZTdd9squ6bTdV9s6m6bzZV982m6r7ZVMM3m2r4ZlMN32yq4ZtNNTbXXXf4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVMM3m2r4ZlMN32yq4ZtNNXyzqYZvNtXwzaYavtlUwzebavhmUw3fbKrhm001fLOphm821fDNphq+2VTDN5tq+GZTDd9squGbTTV8s6mGbzbV8M2mGr7ZVGHzDafa43fdd/f4XTfePX7XnXeP33Xr3eN33Xv3+F033z1+1913j991+93jd95/fWOq9vid91/foKo9fuf91zeqao/fef/1Dava43fef33jqvb4nfdf38CqPTrn/dc3smqPznn/9Q2t2qNz3n99Y6v26Jz3X9/gqj065/3XN7pqj995//UNr9rjd95/feOr9vid91/fAKs9fuf91zfCao/fef/1DbHa43fef31jrPb4nfdf3yCrPX7n/dc3ymqP33n/9Q2z2uN33n9946z2+J33X99Aqz1+5/3XN9Jqj995//UNtdrjd95/fWOt9vid91/fYKs9fuf91zfaao/fef/1Dbfa43fef33jrfb4nfdf34CrPX7n/dc34mqP33n/9Q252uN33n99Y672+J33X9+gqz1+5/3XN+pqj995//UNu9rjd95/feOu9vid91/fwKs9fuf91zfyao/fef/1Db3a43fef31jr/b4nfdf3+CrPX7n/dc3+mqP33n/9Q2/2uN33n9946/2+H333+CcfxWc86+Cc/5VcM6/Cpvv/huc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+CcfxWc86+Cc/5VcM6/Cs75V8E5/yo4518F5/yr4Jx/FZzzr4Jz/lVwzr8KzvlXwTn/KjjnXwXn/KvgnH8VnPOvgnP+VXDOvwrO+VfBOf8qOOdfBef8q+icfxWd86+ic/5VdM6/ipvv/hud86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+icfxWd86+ic/5VdM6/is75V9E5/yo6519F5/yr6Jx/FZ3zr6Jz/lV0zr+KzvlX0Tn/KjrnX0Xn/KvonH8VnfOvonP+VXTOv4rO+VfROf8qOudfRef8q+Scf5Wc86+Sc/5Vcs6/Spvv/puc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+Scf5Wc86+Sc/5Vcs6/Ss75V8k5/yo5518l5/yr5Jx/lZzzr5Jz/lVyzr9KzvlXyTn/KjnnXyXn/KvknH+VnPOvknP+VXLOv0rO+VfJOf8qOedfJef8q+ycf5Wd86+yc/5Vds6/ypvv/pud86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+ycf5Wd86+yc/5Vds6/ys75V9k5/yo7519l5/yr7Jx/lZ3zr7Jz/lV2zr/KzvlX2Tn/KjvnX2Xn/KvsnH+VnfOvsnP+VXbOv8rO+VfZOf8qO+dfZef8q+Kcf1Wc86+Kc/5Vcc6/Kpvv/luc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+Kcf1Wc86+Kc/5Vcc6/Ks75V8U5/6o4518V5/yr4px/VZzzr4pz/lVxzr8qzvlXxTn/qjjnXxXn/KvinH9VnPOvinP+VXHOvyrO+VfFOf+qOOdfFef8q+qcf1Wd86+qc/5Vdc6/qpvv/lud86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+qcf1Wd86+qc/5Vdc6/qs75V9U5/6o6519V5/yr6px/VZ3zr6pz/lV1zr+qzvlX1Tn/qjrnX1Xn/KvqnH9VnfOvqnP+VXXOv6rO+VfVOf+qOudfVef8q+acf9Wc86+ac/5Vc86/apvv/tuc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+acf9Wc86+ac/5Vc86/as75V805/6o551815/yr5px/1Zzzr5pz/lVzzr9qzvlXzTn/qjnnXzXn/KvmnH/VnPOvmnP+VXPOv2rO+VfNOf+qOedfNef8q+6cf9Wd86+6c/5Vd86/6pvv/tud86+6c/5Vd86/6s75V905/6o751915/yr7px/1Z3z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kprLrJTU9GSlpGYcKyWzlDRSUjPOZyVf6vDOLS0+1ent5N+zPZL8DCTlg3/TeCcXey15Zxd7LXmnF2Mt67bxzi/2WvJOMPZa8s4w9lryTjH2WmZpaaYl7yRjr6XmHjstNffYaam5x05LzT1mWgbNPXZaau6x01Jzj52WmnvstMzS0kxLzT12WmrusdNSc4+dlpp77LTU3GOmZdTcY6el5h47LTX32GmpucdOyywtzbTU3GOnpeYeOy0199hpqbnHTkvNPWZaJs09dlpq7rHTUnOPnZaae+y0zNLSTEvNPXZaau6x01Jzj52WmnvstNTcY6Zl1txjp6XmHjstNffYaam5x07LLC3NtNTcY6el5h47LTX32GmpucdOS809ZloWzT12WmrusdNSc4+dlpp77LTM0tJMS809dlpq7rHTUnOPnZaae+y01NxjpmXV3GOnpeYeOy0199hpqbnHTsssLc201Nxjp6XmHjstNffYaam5x05LzT1mWjbNPXZaau6x01Jzj52WmnvstMzS0kxLzT12WmrusdNSc4+dlpp77LTU3GOmZdfcY6el5h47LTX32GmpucdOyywtzbTU3GOnpeYeOy0199hpqbnHTkvNPWZaDs09dlpq7rHTUnOPnZaae+y0zNLSTEvNPXZaau6x01Jzj52WmnvstNTcY6Vl2DT32GmpucdOS809dlpq7rHTMktLMy0199hpqbnHTkvNPXZaau6x01Jzj5mWQXOPnZaae+y01Nxjp6XmHjsts7Q001Jzj52WmnvstNTcY6el5h47LTX3mGkZNffYaam5x05LzT12WmrusdMyS0szLTX32GmpucdOS809dlpq7rHTUnOPmZZJc4+dlpp77LTU3GOnpeYeOy2ztDTTUnOPnZaae+y01Nxjp6XmHjstNfeYaZk199hpqbnHTkvNPXZaau6x0zJLSzMtNffYaam5x05LzT12WmrusdNSc4+ZlkVzj52WHHPPK1+O2eSVL8f88Mo3k+XL4cNf+XJ45Ve+HH72lS+H53zly+ELn/mSvDn/ypfMX5G83f7K16+/euWQF8jBrw965eDX27xy8OtXXjn49SCvHPz6imcOjt9pfuXgt/+/cvDb0185LNCnHb/D+8phgT7t+N3ZVw4L9GnH76y+cligTzt+V/SVwwJ92vE7mq8cFujTjt+NfOWwQJ8Gfycx5PDKodTfcvjDX3PBXzO8I2NsD3BHxtiO4YaMwd/vuyNjbDdyR8bY3uWOjLGdzh0ZZ7qMsV3UHRnTeS7wl9TuyJjOc4G/SmafcQR/O+yOjNk8VwR/h+uOjNk8V9wyXcZsniuCvw91R8ZsniuCv7V0R8Z0ngv83aI7MqbzXOBvAN2RMZ3nAn9P546M6TwX+Ns0d2RM57nA33m5I2M6zwX+ZsodGdN5LvD3R+7ImM5zgb/lcUfGdJ4L/F2MOzKm81zgb0zckTGd5wJ/r+GOjOk8F/jbB3dkTOe5wN8RuCNjOs8FzuS/I2M6zwXOt78jYzrPBc6KvyNjOs8Fzl2/I2M6zwXOML8jYzrPBc4DvyNjOs8Fzta+I2M6zwXOqb4jYzrPBc6TviNjOs8FzpS+I2M6zwXOlb4jYzrPBc6WviNjOs8Fzpe+I2M6zwXOmL4jYzrPBc6kviNjOs8Fzru+I2M6zwXO0r4jYzrPBc7pviNjOs8FzgC/I2M6zwXOF78jYzrPBc4uvyNjOs8FzkW/I2M6zwXOXL8jYzrPBc5zvyNjOs8Fzoq/I2M6z0XHoY90HPpIx6GPdBz6SMehj3Qc+kjHoY90HPpIx6GPdBz6SMehj3Qc+kjHoY90HPpEx6FPdBz6RMehT3Qc+rRluozZPFei49AnOg59ouPQJzoOfaLj0Cc6Dn2i49AnOg59ouPQJzoOfaLj0Cc6Dn2i49AnOg59ouPQJzoOfaLj0Cc6Dn2i49AnOg59ouPQJzoOfaLj0Cc6Dn0C4tC/YsJxRa+YcHzLKyYcZ/GKCaf3v2LC6c6vmHD65ysmnA73igmnB71iwukSz5iA2NavmADPcSA+9CsmwHMciLH8ignwHAfiFL9iAjzHgVi/r5gAz3EgXu4rJsBzHIg5+4oJ8BwH4ra+YgI8x4HYp6+YAM9xIH7oKybAcxyIwfmKCfAcB+JYvmICPMdvZkG+/jnlTf+c+qZ/TnvTP6e/6Z8z3vPPuZln9/rnhDf9c+Kb/jnpTf+cN50H7U3nQXvTedDedB60N50H7U3nQX/TedDfdB70N50H/U3nQX/TedDfdB70N50H/U3nQX/TedDfdB6MN50H403nwXjTeTDedB6MN50H403nwXjTeTDedB6MN50H4z3nQd62N/1zwpv+OfFN/5z0pn9OftM/p7zpn1Pf9M9pb/rn9Df9cwzOg9jy85/Tx2//nD/7K7RscdvyhqgCZFQRMqoEGVWGjKpARlUho2qQUXXIqCDP9gh5tkfIsz1Cnu0R8myPkGd7hDzbI+TZHiHP9gh5tkfIsz1Bnu0J8mxPkGd7gjzbE+TZniDP9gR5tifIsz1Bnu0J8mzPkGd7hjzbM+TZniHP9gx5tmfIsz1Dnu0Z8mzPkGd7hjzbC+TZXiDP9gJ5thfIs71Anu0F8mwvkGd7gTzbC+TZXiDP9gp5tlfIs71Cnu0V8myvkGd7hTzbK+TZXiHP9gp5tlfIs71Bnu0N8mxvkGd7gzzbG+TZ3iDP9gZ5tjfIs71Bnu0N8mzvkGd7hzzbO+TZ3iHP9g55tnfIs71Dnu0d8mzvkGd7hzzbB+TZPiDP9gF5tg/Is31Anu0D8mwfkGf7gDzbB+TZPhDP9rIhnu1lQzzby4Z4tpcN8WwvG+LZXjbEs71siGd72RDP9rIhnu0F8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6kF8l5qgbyXWiDvpRbIe6n1Zq7x50//7AXt7fnpsP+fDxl/+YL2j767bfXx1a1sr0/H9pffHFN5fHNM48Or32189c19PL85nnzz7g9+fXbvyQf1xH4RXfX8WT3bzZxu1fPd9cR50031tKgnznt4qqdFPXHeElQ9LeqZVc+l6onzFrHqaVFPnHecVU+LeuK8ga16WtRT+6G16qn9kKN69u1Rz1G+rmfQfmitemo/tFY9tR9aq57aDzmqZ3vVsx7UM6ueS9VT+6G16qn90Fr11H5orXpqP7RWPbUfclTP0h/1rO3rekbth9aqp/ZDa9VT+6G16qn90Fr1zKrnUvXUfmitemo/tFY9tR9aq57aD61VT+2Hlqpn0n5orXpqP7RWPbUfWque2g+tVc+sei5VT+2H1qqn9kNr1VP7obXqqf3QWvXUfmipembth9aqp/ZDa9VT+6G16qn90Fr1zKrnUvXUfmitemo/tFY9tR9aq57aD61VT+2Hlqpn0X5orXpqP7RWPbUfWque2g+tVc+sei5VT+2H1qqn9kNr1VP7oaXqWTV/2tcz9Gc9/4nTrp7nfOqq+XOtemr+XKuemj/XqmdWPZeqp+bPteqp+XOtemr+XKue+vuEteqpv09Yqp5N+6G16qn9kKN6nr+n07QfWque2g+tVc+sei5VT+2HHNXz/L2Opv3QWvXUfmitemo/tFY9tR9aqp5d+6G16qn9kKN6nv99X9d+aK16aj+0Vj2z6rlUPbUfWque2g+tVU/th9aqp/ZDa9VT+6Gl6jm0H1qrntoPrVVP7YfWqqf2Q2vVM6ueS9VT+6G16qn90Fr11H5orXpqP7RWPbUfWqmefdN+aK16aj+0Vj21H1qrntoPrVXPrHouVU/th9aqp/ZDa9VT+6G16qn90Fr11H5oqXoG7YfWqqf2Q2vVU/uhteqp/dBa9cyq51L11H5orXpqP7RWPbUfWque2g+tVU/th5aqZ9T8aV7P+MRg7qU1fY/ulE/do+bPteqZVc+l6qn5c616av5cq56aP9eqp+bPteqp+XOpeib9fcJa9dTfJ6xVT+2H1qqn9kOO6nn6nk5PWfVcqp7aD61VT+2H1qqn9kOO6nn6XkdP2g+tVU/th5aqZ9Z+aK16aj+0Vj21H1qrntoPOarn+d/35ax6LlVP7YfWqqf2Q2vVU/uhteqp/dBa9dR+aKl6Fu2H1qqn9kNr1VP7obXqqf3QWvXMqudS9dR+aK16aj+0Vj21H1qrntoPrVVP7YeWqmfVfmitemo/tFY9tR9aq57aD61Vz6x6LlVP7YfWqqf2Q2vVU/uhteqp/dBa9dR+aKl6Nu2H1qqn9kNr1VP7obXqqf3QWvXMqudS9dR+aK16aj+0Vj21H1qrntoPrVVP7YeWqmfXfmitemo/tFY9s+p5pZ62FOmuKXGG6prlZqiuiWuG6pqLZqiu6WWC6kMzxgzVNQnMUF2/585QXb+6zlA9S/UJqms2NVf9/F2Modl0huqaTWeortl0huqaTc1VP+XBj02z6QzVNZvOUF2z6QzVNZvOUD1L9QmqazY1V/30bwTGptl0huqaTWeortl0huqaTSeoHjSbzlBds+kM1TWbzlBds+kM1bNUn6C6ZtMZqms2naG6ZtMZqms2naG6ZtMJqkfNpjNU12w6Q3XNpjNU12w6Q/Us1Seortl0huqaTWeortl0huqaTWeortl0gupJs+kM1TWbzlBds+kM1TWbzlA9S/UJqms2naG6ZtMZqms2naG6ZtMZqms2naB61mw6Q3XNpjNU12w6Q3XNpjNUX8qvmxKLRl7KVRtrs5T3NdZmKYdqq01Zykcaa7OU2zPWZilPZqzNUs7JWJssbQ61WWpDbqyNfPGxNrS++JSGNwqtL76gDa0vPtem0vriC9rQ+uJzclWl9cUXtKH1xRe0ydLmUBtaX3xBG1pffEEbWl98/jtDpfXFF7Sh9cXn2jRaX3xBG1pffEEbWl98QRtaX3xBmyxtDrWh9cUXtKH1xRe0kS8+1ka++Fgb+eJDbbp88bE28sXH2sgXH2sjX3ysTZY2h9rIFx9rI198rI188bE28sXH2sgXH2oz5IuPtZEvPtZGvvhYG/niY22ytDnURr74WBv54mNt5IuPtZEvPtZGvvhAm7at9V64sTbyxcfayBcfayNffKxNljaH2sgXH2sD7m9CfGqzlXCmzQ++O9b0jLr2D39hHNNXkYzntZm4xe1DHPVva3R2/2+vEbjPUo3ahv4Gr2q01wjcd6pGe43A/a9qtNcI3IerRnuNsmoEXyPwuUQ12msE/ruBarTXCPz3C9Vor5H2DPg10p5hco3O2CxtQ39PWTXaa6Q9A36NtGfAr5H2DJNrdMZg2WuUVSP4GmnPgF8j7Rnwa6Q9A36NtGfAr5H2DJNrdP53QehvY6tGe420Z8CvkfYM+DXSngG/Rlk1gq+R9gz4NdKeAb9G2jPg10h7Bvwaac8AXyP0d85Vo71G2jPg10h7Bvwaac+AX6OsGsHXSHsG/Bppz4BfI+0Z8GukPQN+jbRngK9R0Z4Bv0baM+DXSHsG/Bppz4Bfo6wawddIewb8GmnPgF8j7Rnwa6Q9A36NtGeAr1HVngG/Rtoz4NdIewb8GmnPgF+jrBrB10h7Bvwaac+AXyPtGeBr1Gjno1KfqtctnNUotYfsIZdXjWL66tNle3y4hJd6casfdKedeSbrTjvHTNaddjaZrHuW7lN0p50h7tT9xUz+oMfvutPOBZN1p/X6k3Wn/Z1wsu60v/3dqXt6zqslfa1717w6R3fNq3N017w6R3fNq3N0z9J9iu6aV2/QPT73BKkc6K55dY7umlfn6K55dY7umlen6D40r87RXfPqHN01r87RXfPqHN2zdJ+iu+bVObprXp2ju+bVObprXp2ju+bVGbqHTfPqHN01r87RXfPqHN01r87RPUv3KbprXp2ju+bVObprXp2ju+bVObprXp2ie9C8Okd3zatzdNe8Okd3zatzdM/SfYrumlfn6K55dY7umlfn6K55dY7umlen6B41r87RXfPqHN01r87RXfPqHN3l3y/pHkN+BBJ7O9P9lLcUovz7HN3l3+foLv8+Rfck/z5Hd/n3G3Q/5UKEJP8+R3f59zm6Z+k+RXf93jRHd82rc3TXvHqD7uf7maR5dY7umlen6J41r87RXfPqHN01r87RXfPqHN2zdJ+iu+bVObprXp2ju+bVObprXp2ju+bVKboXzatzdNe8Okd3zatzdNe8Okf3LN2n6K55dY7umlfn6K55dY7umlfn6K55dYruVfPqHN01r87RXfPqHN01r87RPUv3KbprXp2ju+bVObprXp2ju+bVObprXp2ie9O8Okd3zatzdNe8Okd3zatzdM/SfYrumlfn6E7r30Mvz6jzONH9AmGj0TpyayU7rcc2V5LWNZsrSeuDzZWkdbY/UzI/4igfMvxdySwljZSkdZ/mStL+/mGuJO0vGj9T8pwV0zXjWCmpGcdIyaEZx0pJzThWSmrGsVJSM84lJc/3kyNLSSMlNeNYKakZx0pJzThWSmrGsVJSM46NknHTjGOlpGYcKyU141gpqRnHSsksJY2U1IxjpaRmHCslNeNYKakZx0pJzThGSgbNOFZKasaxUlIzjpWSmnGslMxS0khJzThWSmrGsVJSM46VkppxrJTUjGOkZNSMY6WkZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZKJs04VkpqxrFSMrMquaXwiHob+UzJU+ZATLR+0lxJWj9priStnzRXktZPmitJ6yd/puQpvSFmWj9priStnzRXknZnbq4k7c78Z0qe3pTf/ylS0khJzThWSmrGsVJSM46VkppxrJTUjHNJyfP9ZNGMY6WkZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r5Pb66kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r5pbq6kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU141gpqRnHSknNOEZK8r4pb66kZhwrJTXjWCmpGcdKySwljZTUjGOlpGYcKyU14xgpSft+9x7d86tH7mdK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8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n91gPdfHeD9Vwd4/9UB3n91PLDfvwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfHeD9Vwd4/9UB3n91gPdfneD9Vyd4/9UJ3n91gvdfnQ/s9+8J3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vyd4/9UJ3n91gvdfneD9Vwbef2Xg/VcG3n9l4P1X9sB+/xp4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/VQXvv6rg/VcVvP+qgvdf1Qf2+7eC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9Vw28/6qB91818P6rBt5/1R7Y798G3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3X3Xw/qsO3n/VwfuvOnj/VX9gv387eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7efzXA+68GeP/VAO+/GuD9V+OB/f4d4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UE77+a4P1XE7z/aoL3X80H9vt3gvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rg/VcTvP9qgvdfTfD+qwnefzXB+68meP/VBO+/muD9VxO8/2qC919N8P6rCd5/NcH7ryZ4/9UE77+a4P1XE7z/aoL3X03w/qsJ3n81wfuvJnj/1QTvv5rY/VfHA7v/6vn80O/f5/NDv3+fzw/9/n0+P/T79/n80O/f5/NDv3+fzw/9/n0+P/T79/n84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r5/ODv3+x+6+ezw/+/sXuv3o+P/j7F7v/6vn84O9f7P6r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At5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XFbz/qoL3X1Xw/qsK3n9Vb9jv3wref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfNfD+qwbef9XA+68aeP9Vu2G/fxt4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/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317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9krW317J+tsrWX97Jetvrw8j08vlrypZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3vN1O99PB6PX489vvnmP3mQ87z6l8Ruv56j/dff+VFez3w+RnmDN/7pO/fx9Z3Pb75zsfPvry123U0/kRvR9H88/UTeTNP/6fQzNeFr+j+efiLfrun/ePqJUoym/+PpJ8p0mv6Pp2+aPvH0E/08RdP/8fQT/XRJ0//x9LXrY56+dn1Zp99f37i8fd//M33t+oinn+kqk6b/4+lr18c8fe36sk6//Zp+vZu+dn3M0zdNn3j62vUxT1+7Pubpa9fHPH3t+rJOv7weudS73+nNdBNT0//p9DNdCNX0fzx97fqYp69dH/P0tetjnr5p+sTT166Pefra9TFPX7s+5ulr18c8fe36iKef6Vq9pv/j6WvXxzx97fqYp69dH/P0TdMnnr52fczT166Pefra9TFPX7s+5ulr18c7/fbQro95+tr1MU9fuz7m6WvXxzx90/SJp69dH/P0tetjnr52fczT166Pefra9RFP/9Cuj3n62vUxT1+7Pubpa9fHPH3T9Imnr10f8/S162OevvL+1ukfzxF8Tf+ontP//jZHO5X3maevvM88feV95ukr7zNP3zR94ukr7zNPX3mfefr63R7m6et3e5inr10f8fQv7fqyTv/7a4zt0q6Pefra9TFPX7s+5umbpp90+t9fZGuXdn3M09euj3n62vUxT1+7Pubpa9dHPH3Tri/r9Cd+p9e062OevnZ9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bwF//xbw928Ff/9W8PdvBX//VvD3r0t/1c7nB3//VvD3bwV//1bw928Ff/828PdvA3//NvD3bwN//7p0Su18fvD3bwN//zbw928Df/828PcveP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfFfD+qwLef1XA+68KeP9VeWC/fwt4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcH7ryp4/1UF77+q4P1X9YH9/q3g/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQPvv2rg/VcNvP+qgfdftQf2+7eB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vx28/6qD91918P6rDt5/1R/Y798O3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3Xw3w/qsB3n81wPuvBnj/1Xhgv38HeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/V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u9+ZCF5ePCkCyBHdiwjucnr5epA6vvvFqV7s8frmpbz9X9s43iUH9zkrJAd3OiskB/c6CyQHLxheIjm431khObjjWSE5uOdZIdn4JAf3Uysk87mv4AXDSyTzua/gBcMrJAcvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30FLxheIpnPfQUvGF4imc99BS8YXiKZz30NPvc16NzXFbw5e4lkOvd1Pejc1/Wgc1/Xw/gk07mvK3hP+hLJdO7rCt6VvkQyn/sK3pe+RDKf+wremb5EMp/7Ct6bvkQyn/sK3p2+RDKf+wrey75EMp/7Ct7NvkQyn/sK3s++RDKf+wre0b5EMp/7Ct7TvkQyn/sK3tW+RDKf+wre175EMp/7Ct7ZvkQyn/sK3tu+RDKf+wre875EMp/7it4hv0Iyn/uK3iO/QjKf+4reJb9CMp/7it4nv0Iyn/uK3im/QjKf+4reK79CMp/7it4tv0Iyn/uK3i+/QjKf+4reR79CMp/74uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+v+4uu6v/i67i++rvuLr+ve+Lruja/r3vi67o2v694exieZzn0ZX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0bX9e98XXdG1/XvfF13Rtf173xdd0b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nr52XMzT1+6MefrayTFPX/s74umbdn3M09euj3n62vUxT1+7Pubpm6ZPPH3t+pinr10f8/S162OevnZ9zNPXro94+kW7Pubpa9fHPH3t+pinr10f8/RN0yeevvJ+0ulP3KQdRXmfePpVnj/r9L+/WziqPD/z9OX5madvmj7x9PXzfebp6+f7zNNX3k86/Zlu36q8zzx9/XyfePpNP99nnr52fczT166Pefra9TFP3zR94ulr18c8fe36mKevXR/z9LXrY56+dn3E0+/a9SFN/yff+RivZ37O7e2nfPXxPn9t+7jnr30f9/y18eOev2n+1PPX1o97/tr7cc9fm78U83+bqLZ52SaqDd3WiZ6P8via6CjfTHTmMt7Q1i3bRLVHA5qodzfC0BaNefraoTFP3zR94ulrf8Y8fW3PmKev3Rnz9LVnY56+dnK00x9PXpo+8fS162OevnZ9zNPXro95+qbpE09fuz7m6WvXxzx97fqYp69dH/P0tesjnv6hXR/z9LXrY56+dn3M09euj3n6pukTT1+7PubpK+8nnf731+6e01feJ57+Kc+fdfrfXr15Tl+en3n6pukTT1+en3n6+vk+8/T1833m6SvvJ53+9x3Iz+kr7xNP/9LP95mnr5/vM09fuz7m6WvXxzx90/SJp69dH/P0tetjnr52fczT166Pefra9RFP37TrQ5r+D77zzLWL5/y17eOev/Z93PPXxo97/qb5U89fWz/u+Wvvxz1/bf5SzP9totrmZZuoNnR7J/r8KH195+Nq30z0OB72UnhcdjPTor1bvplqlwY0U/v6Yrse33zn96/td9PXJo15+tqjJZ3+85lf39jK3fRN0yeevnZozNPXBo15+tqfMU9fuzbm6Wsvl3X6pby+cTtupl+1wWOevnZ9zNPXro95+tr1MU/fNH3i6WvXxzx97fpAp3/3c7uq/V22iWonl22i2rMlm2jT7izbRLUPyzZR7biyTVR7q2wTNU002US1X8o2Ue2MNk/0199jHfW7v8ea+0uPpq1Rvplqb5RvptocpZtp1+4o30y1Pco3U+2P8s1UG6R8MzXNNN1MtUXKN1PtkfLNVHukfDPVHinfTLVHSjfToT1Svplqj5Rvptoj5Zup9kj5ZmqaabqZao+Ub6baI+WbqfZI+WaqPVK+mWqPlG2mTwyaabqZao+Ub6baI+WbqfZI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7jiH9Jrlq043i0N6zfJVp/u8Ib1m+arTLdqQXrN81enuakivWb7qdGM0pNcsX3W6pxnSa5avOt2ODOn1ylez053EkF6vfDU73QQM6fXKV/M2zPR65avZ6dZbSK9Xvpqd7pqF9Jrlq043vEJ6zfJVp3tVIb1m+arTbaaQXrN81ekOUUivWb7qdHMnpNcsX3W6LxPSa5avOt1SCek1y1ed7oaE9Jrlq043MkJ6zfJVp3sQIb1m+arT7YOQXrN81WnPf0ivWb7qtIs/pNcsX3Xalx/Sa5avOu20D+k1y1ed9s6H9Jrlq0674UN6zfKV2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9un2f72aba/fZrtb59m+9t3s/3tu9n+9t1sf/tutr99vw0zvV75ajfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb37532u+93W63Xx/7/OKbf+eD3O+P41PiMX59jud/+Tvf5sdnvt/O+Ru88+995+P8/M73L77zHPefXzvH48r9RmkE97/tfqNshvvfdb/TJnzc/7b7jXI77n/b/UYtBve/7X6jTof733Z/4L6x+41+noL733a/0U+XcP/b7jPrc3afWV9X94+Pbzx/+75/4z6zPmP3O11lwv1vu8+sz9l9Zn1d3X/+cn+/cp9Zn7P7A/eN3WfW5+w+sz5n95n1ObvPrK+r+/PjI8/96nd6O93ExP3vut/pQijuf9t9Zn3O7jPrc3afWZ+z+wP3jd1n1ufsPrM+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" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "error_types": {}, "param_witnesses": { "contract_address": [{ "end": 1, "start": 0 }], "nonce": [{ "end": 2, "start": 1 }], "note_type_id": [{ "end": 4, "start": 3 }], "serialized_note": [], "storage_slot": [{ "end": 3, "start": 2 }] }, "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": "serialized_note", "type": { "kind": "array", "length": 0, "type": { "kind": "field" } }, "visibility": "private" }], "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [4, 5, 6, 7] }, "bytecode": "H4sIAAAAAAAA/+2b227iMBCGE8ohNMshIYTzobQ3exdYCvSOl9l9671fad9htZ3UUwZrWjnqxIolLKFMjOP/m9+HppXre2+l9frxVdzQrrRgm7O6Zl8rW8G+sjI5fUc4a45w3gly+gwnXOsqhivM5aZ3Pc/fy1lwklBRCgUDc0fqPoK7eghKUwWBBnyWgD5lpybpnEJDCRU4BQhJIj6pw2drpA53kLvg0kVTPod9QMwT6/d1QMNL2u/cIYnxO9Cekrp6STk25HMsy7t8VaI/DdVvi9yjV20VC+6wW6rtq0+baHpqjDCekLbYDv2okTGG0vEu49/+5Lm69lyXtGky+Z892fxbGk9LY24oJigR8Gp7QEljk0G/9/L9Xo15XRuTe5JTR9zv3Qn2hNC7LvpPmTOJO4TnmzhPti0nz7ex6xJ2mX6f9+BVT/Mq1LzqkjaUoVeCfz7Rxb7xvsdoy3lxOIF238CLPsPTt+xFn9EW9OIFtCMDLyKGJ7LsRcRoy3lx/AHasYEXMcMTW/YiZrTlvNjl7xYDAy8GDM/AshcDRltwjeTzIjHwImF4EsteJIy2oBe/QHto4MWQ4Rla9mLIaAt68RO0UwMvUoYntexFymgL7p35+8XIwIsRwzOy7MWI0Rb0YgfaYwMvxgzP2LIXY0ZbcI3k2hMDLyYMz8SyF/R31CLMAweZUweZ4wowB1oso33I98+pgRdThmdq2QvUK8qcVIA50GIZ7cMzaM8MvJgxPDPLXqBeUebIQebYQeahg8yJg8ypg8xVmM+BFstoH/M9dG7gxZzhmVv2AvWKMkcOMk8dZI4rwBxosYz2Mf/b3MLAiwXDs7DsBeoVZR45yNyvAHOgxTLaxwNoLw28WDI8S8teoF5R5rGDzKmDzFMHmWMHmYcOMicOMt/WoB3mqALM9EzT31J5di+hxoOeeRqjpzGGJKbnYFbijFlGx2dFtNbyWltuvuD9ulTt3Qn63cjnlL/LP6q+8AzfhsnpScXS57keSb8+0cH6Oon/kLbYDv3AdYvsMO8eVPz0yXNL7bkuafPA5H/2ZPPfaDwbjRnG5DfhWItz7E4m87rvXdbyd8JTwj64p2dysZjsOyXtMduS8szoGb5/nuyaXmteBZpXXdKG7tHrEvwzmV835hvzR8z0fSIgdfj9itTVtFzo/zJgezgz/B/4fzqFFjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rC7PbfN57eH+2iW0SKjFUbjRkaRUclolNEkoyYjKWKUIkYpYpQiJilikiImKWKSIiYpYpIiJilikiImKWKSIpoU0aSIJkU0KaJJEU2KaFJEkyKaFNGkiC5FdCmiSxFdiuhSRJciuhTRpYguRXQpYpYiZililiJmKWKWImYpYpYiZililiJmKWKRIhYpYpEiFilikSIWKWKRIhYpYpEiFililSJWKWKVIlYpYpUiVililSJWKWKVIlYpIpsNrUKrotVIq4lWjVadVjOtFlpRG6E2Qm2E2gi1EWoj1EaojVAboTZCbRS1UdRGURtFbRS1UdQGcWbIM0OgGRLNEGmGTDOEmiHVDLFmyDVDsBmSzRBthmwzhJsh3QzxZsg3Q8AZEs4QcYaMM4ScIeUMMWfIOUPQGZLOEHWGrDOEnSHtDHFnyDtD4BkSzxB5hswzhJ4h9QyxZ8g9Q/AZks8QfYbsM4SfIf0M8WfIP0MAGhLQEIGGDDSEoCEFDTFoyEFDEBqS0BCFhiw0hKEhDQ1xaMhDQyAaEtEQiYZMNISiIRUNsWjIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFy6552j1Pu+hJLlrkokUuWuSiRS5a/+2it9PP7ft++3TY3W/23j9+HJ//XfS9HS+/3v5+uf37Gw==" }], "outputs": { "globals": {}, "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" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_abi" }] } }, "file_map": { "104": { "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\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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 pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\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<N>(&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<N>(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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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] = pedersen_hash(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] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "120": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr", "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nfn 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; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\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) -> PrivateCallStackItem {\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 PrivateCallStackItem::deserialize(fields)\n}\n" }, "125": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr", "source": "use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nfn 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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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)]\nfn 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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n" }, "149": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse dep::std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: 0 }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n" }, "151": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr", "source": "use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, nullifier_counter: u32, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, nullifier_counter, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n nullifier_counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.nullifier_counter == other.nullifier_counter)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n nullifier_counter: 0,\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.nullifier_counter as Field, self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n nullifier_counter: reader.read_u32(),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n assert(\n (self.nullifier_counter == 0) | (read_request.counter() < self.nullifier_counter), \"Read request counter must be less than the nullifier counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "152": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "153": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr", "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector, note_hash::NoteHash,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x1f0e71146c5d4a5bdcf517f0063cda7767e51fcb9cebc877feb348a77a7a6b4a;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x079a2b28b4853de9169d7dc40ac41c6d80b465d82c60195ede91504013f8b11b;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n" }, "154": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u64,\n nullifier_read_requests: u64,\n key_validation_requests_and_generators: u64,\n new_note_hashes: u64,\n new_nullifiers: u64,\n new_l2_to_l1_msgs: u64,\n private_call_requests: u64,\n public_call_stack_hashes: u64,\n note_encrypted_logs_hashes: u64,\n encrypted_logs_hashes: u64,\n unencrypted_logs_hashes: u64,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n new_note_hashes: validate_array(public_inputs.new_note_hashes),\n new_nullifiers: validate_array(public_inputs.new_nullifiers),\n new_l2_to_l1_msgs: validate_array(public_inputs.new_l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.new_note_hashes.len() {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..self.new_nullifiers.len() {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.new_l2_to_l1_msgs.len() {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x1970bf189adc837d1769f9f44a8b55c97d45690e7744859b71b647e808ee8622;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "156": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n" }, "157": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr", "source": "use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "160": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "161": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize},\n grumpkin_point::GrumpkinPoint\n};\n\nstruct KeyValidationRequest {\n pk_m: GrumpkinPoint,\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: GrumpkinPoint::zero(),\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.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: GrumpkinPoint::new(fields[0], fields[1]),\n sk_app: fields[2],\n }\n }\n}\n\n" }, "164": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr", "source": "use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH}, hash::silo_nullifier,\n traits::{Empty, Hash, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = silo_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "173": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr", "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n" }, "174": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n abis::{caller_context::CallerContext, side_effect::{Ordered, RangeOrdered, Scoped}},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.hash == other.hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "179": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "188": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr", "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x22786e4f971661d2e49095e6b038e5170bc47b795253916d5657c4bdd1df50bf;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "189": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr", "source": "use crate::address::AztecAddress;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "191": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr", "source": "use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n" }, "194": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr", "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u64 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n" }, "195": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n" }, "196": { "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" }, "197": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, note_hash::NoteHash, nullifier::Nullifier, read_request::ReadRequest,\n gas::Gas, global_variables::GlobalVariables, log_hash::LogHash\n},\n address::AztecAddress,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest; MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n // Global variables injected into this circuit\n global_variables: GlobalVariables,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n start_gas_left: Gas,\n end_gas_left: Gas,\n transaction_fee: Field,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NOTE_HASH_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.l1_to_l2_msg_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n for i in 0..MAX_UNENCRYPTED_LOGS_PER_CALL{\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n fields.push(self.transaction_fee);\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n l1_to_l2_msg_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n global_variables: reader.read_struct(GlobalVariables::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n transaction_fee: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x0933cf2bb384c9733d5a8311bfdc089489c2557df2265026579f9ac2b21d2ef9;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "199": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "206": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.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, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n" }, "207": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr", "source": "use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "22": { "path": "std/field.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 fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\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" }, "220": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr", "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n" }, "223": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr", "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "224": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr", "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::LogHash;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = 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\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index 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 pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_encrypted_log(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_unencrypted_log(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\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 = 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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n" }, "225": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n" }, "227": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr", "source": "use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "233": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n" }, "244": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr", "source": "struct Reader<N> {\n data: [Field; N],\n offset: u64,\n}\n\nimpl<N> 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<K>(&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, K>(&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, K, C>(&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" }, "259": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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" }, "260": { "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, grumpkin_point::GrumpkinPoint,\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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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 = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\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" }, "350": { "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr", "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n" }, "4": { "path": "std/collections/bounded_vec.nr", "source": "use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\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) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\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<Len>(&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<Len>(&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<Len>(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\nimpl<T, MaxLen> 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, MaxLen, Len> 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 // TODO: Allow imports from \"super\"\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 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" }, "53": { "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr", "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\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 pedersen_hash(\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" }, "83": { "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,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::{note_interface::NoteInterface, utils::compute_note_hash_for_insertion},\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::{\n emit_encrypted_log, emit_encrypted_note_log, compute_encrypted_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_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 contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\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 new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_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 new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_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 }\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.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\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 encrypt_and_emit_log<N, M>(\n &mut self,\n contract_address: AztecAddress,\n randomness: Field, // Secret random value used later for masked_contract_address\n event_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n preimage: [Field; N]\n ) where [Field; N]: LensForEncryptedLog<N, M> {\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // We are currently just encrypting it EXACTLY the same way as if it was a note.\n let counter = self.next_counter();\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_log(contract_address, randomness, encrypted_log, counter);\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n let log_hash = sha256_to_field(encrypted_log);\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n }\n\n pub fn encrypt_and_emit_note<Note, N, NB, M>(\n &mut self,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovpk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n note: Note\n ) where Note: NoteInterface<N, NB>, [Field; N]: LensForEncryptedLog<N, M> {\n let note_hash_counter = note.get_header().note_hash_counter;\n let note_exists_index = find_index(\n self.new_note_hashes.storage,\n |n: NoteHash| n.counter == note_hash_counter\n );\n assert(\n note_exists_index != MAX_NEW_NOTE_HASHES_PER_CALL, \"Can only emit a note log for an existing note.\"\n );\n let preimage = note.serialize_content();\n let counter = self.next_counter();\n\n let ovsk_app = self.request_ovsk_app(ovpk_m.hash());\n\n // TODO(#1139 | #6408): perform encryption in the circuit\n let encrypted_log: [u8; M] = compute_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n preimage\n );\n emit_encrypted_note_log(note_hash_counter, encrypted_log, counter);\n\n // Current unoptimized size of the encrypted log\n // incoming_tag (32 bytes)\n // outgoing_tag (32 bytes)\n // eph_pk (64 bytes)\n // incoming_header (48 bytes)\n // outgoing_header (48 bytes)\n // outgoing_body (176 bytes)\n // incoming_body_fixed (64 bytes)\n // incoming_body_variable (N * 32 bytes + 16 bytes padding) \n // len of processed log (4 bytes)\n let len = 32 + 32 + 64 + 48 + 48 + 176 + 64 + (preimage.len() as Field * 32) + 16 + 4;\n\n let log_hash = sha256_to_field(encrypted_log);\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\n pub fn call_private_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_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, 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 item = 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 assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\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 assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\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<ARGS_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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\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 new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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" } } }
1
+ { "transpiled": true, "noir_version": "0.30.0+48d9df4ff227c08a6e66f21c0286bc6349151671", "name": "MultiCallEntrypoint", "functions": [{ "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": 0, "type": { "kind": "field" } }, "visibility": "private" }], "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" } }, "bytecode": "H4sIAAAAAAAA/+2b227aQBCG18RJTJ24YGMMgQQIyUXvDA2nO16mfe3eV+orVM2YnTJsp2hRx1tWYqWIsb2e/5t/D1jICdSuRe9/gY6v9eeN+rNhn63+LP+tzQRzlXVyBp5wNjzhvPKEMxTkDBhO+Ax1DOsO1tytOlyPv9tWqChTlELBBLoi19URwIMboUU6oBfHUuDrcnNDklNwpcFDfQ0/ASfW1yhYrIus+pBzWGiDnEOdK3IOd0bUibQpwvUuoj2yXN73CQA1NHUu5I5JTK8NiXVhTTVey9f4VsuYlLtVjGNyrXPfkmP0Cj0U/OaYUe1A/zWJptJjhPGA9MV+6EeDjDG0e7Wf180j94XGfQnpc8PUPxau/9bgMecsjEFLx204xj2BsH0g9W1l2ErIG8vnndExCHVu5I9JTYm43/M15L9Th838VhqTOCE89+I85ayeOndj95Gwy+RdvIFXLcOrO8OrhPShDK0a/AuILubG4xajLefFcg3abQsv2gxP27EXbUZb0IsNaKcWXqQMT+rYi5TRlvNi9Rm0MwsvMoYnc+xFxmjLeTGvni06Fl50GJ6OYy86jLbgGqnmRW7hRc7w5I69yBltQS++gnbXwosuw9N17EWX0Rb04gtoFxZeFAxP4diLgtEW3Dur54uehRc9hqfn2Iseoy3oxRy0+xZe9BmevmMv+oy24BqptB8svHhgeB4ce4F6pzJ3PGQuPGTOzoA5MmIZ7WW1fw4svBgwPAPHXtDfck5hzs+AOTJiGe3lArSHFl4MGZ6hYy9Q71Tm1EPmzEPmrofMuYfMhYfM5zCfIyOW0V5Ve+ijhRePDM+jYy9Q71Tm1EPmgYfM2RkwR0Yso72qfpt7svDiieF5cuwF6p3K3POQuX0GzJERy2ivlqA9svBixPCMHHuBeqcy9z1kLjxkHnjInHnI3PWQOfeQ+bIG3TCnZ8AM773gOzA/auWZb2KDBz1TBqMyGGMSJ4QR+26V3PsqiVE7ak3E/diNjzlf8HhSq/Z8DXmn8jVVz/IvOhe+wzdlanrVcSDs5wvJGxAdPB+S+Dvpi/3QD1y3yA7vXD3r+PXIfSPjvoT0eWbqHwvXPzV4pgYzjMk3wlHH3LKZ1y21X8ufCE8N++AbfScXm82+Q/cYQZ5ZTXWW9B2+n0p2TU8Mr5qGVwnpQ/fo/7VvXpgvzH9jps8TTXKO8uC5hlEL/f+GCcnxC57ToyHuNQAA", "debug_symbols": "ndpRattAGIXRveg5FN/f0swoWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLjT9vT2+74+3F6bx7P0/321530/74dHvqn3fT8+Flf30e9fnt7jZaYbTdyCgyKhltZTTLaJFRk1GXkRSxlSJmKWKWImYpYpYiZililiJmKWKWImYpYpYiFilikSIWKWKRIhYpYpEiFilikSIWKWKRIpoU0aSIJkU0KaJJEU2KaFJEkyKaFNGkiC5FdCmiSxFdiuhSRJciuhTRpYguRXQpYkgRQ4oYUsSQIoYUMaSIIUUMKWJIEUOKWKWIVYpYpYhVililiFWKWKWIVYpYpYhVishmQ6vQqmi1pdVMq4VWjVadVoNW1EaojVAboTZCbYTaCLURaiPURqiNUBtFbRS1UdRGURtFbRS1UdRGURsEmiHRDJFmyDRDqBlSzRBrhlwzBJsh2QzRZsg2Q7gZ0s0Qb4Z8MwScIeEMEWfIOEPIGVLOEHOGnDMEnSHpDFFnyDpD2BnSzhB3hrwzBJ4h8QyRZ8g8Q+gZUs8Qe4bcMwSfIfkM0WfIPkP4GdLPEH+G/DMEoCEBDRFoyEBDCBpS0BCDhhw0BKEhCQ1RaMhCQxga0tAQh4Y8NASiIRENkWjIREMoGlLREIuGXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y07KInuWiRixa5aJGLFrlokYsWuWj9t4teTz9374fdw8v+drf39vHj+Pjvqu/1eP719vfL9d/f" }, { "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": "tx_tree_height", "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": "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" }], "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" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }], "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": 32, "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": 32, "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" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint" } }, { "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": "new_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": "new_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": "hash", "type": { "kind": "field" } }, { "name": "caller_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": "is_static_call", "type": { "kind": "boolean" } }], "kind": "struct", "path": "authwit::aztec::protocol_types::abis::caller_context::CallerContext" } }, { "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_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "public_teardown_function_hash", "type": { "kind": "field" } }, { "name": "new_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": "tx_tree_height", "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": "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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gPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qA868KOP+qgPOvCjj/qoDzrwo4/6qC868qOP+qgvOvKjj/qt6wz98Kzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv6rg/KsKzr+q4PyrCs6/quD8qwrOv2rg/KsGzr9q4PyrBs6/ajfs87eB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrxo4/6qB868aOP+qgfOvGjj/qoHzrzo4/6qD8686OP+qg/Ov+g37/O3g/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qw7Ov+rg/KsOzr/q4PyrDs6/6uD8qwHOvxrg/KsBzr8a4PyrccM+fwc4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/aoDzrwY4/2qA868GOP9qgPOvBjj/6lgo9gH8j4WiF4B9BB8LxT6Dj4ViH8LHQrFP4WOh2MfwsVDsc/hYKPZBfCwU/SQGR2EdBaCfxOAwrKMA9JMYHId1FIB+EoMDsY4C0E9icCTWUQD6SQwOxToKQD+JwbFYRwHoJzE4GOsoAP0kBkdjHQWgn8TgcKyjAPSTGByPdRSAfhKDA7KOAtBPYnBE1lEA+kkMDsk6CkA/icExWUcB6CcxOCjrWB36SQyOyjpWh34Sg8OyjtWhn8TguKxjdegnMTgw61gd+kkMjsw6CkA/icGhWUcB6CcxODbrKAD9JAYHZx0FoJ/E4OisowD0kxgcnnUUgH4Sg+OzjgLQT2JwgNZRAPpJDI7QOgpAP4nBIVpHAegnMThG6ygA/SQGB2kdBaCfxOAoraMA9JMYHKZ1FIB+EoPjtI4C0E9icKDWUQD6SQyO1DoKQD+JwaFaRwHoJzE4VusoAP0kBgdrHQWgn8TgaK2jAPSTGByudRSAfhKD47WOAtBPYnDA1lEA+kkMjtg6CgA/iQM6YyugM7YCOmMroDO2juWhFwB+Egd0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsBXTGVkBnbAV0xlZAZ2wFdMZWQGdsRXTGVkRnbEV0xlZEZ2zFG/hJHNEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbEZ2xFdEZWxGdsRXRGVsRnbEV0RlbCZ2xldAZWwmdsZXQGVvpBn4SJ3TGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWQmdsJXTGVkJnbCV0xlZCZ2wldMZWRmdsZXTGVkZnbGV0xla+gZ/EGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbGV0RlbGZ2xldEZWxmdsZXRGVsZnbFV0BlbBZ2xVdAZWwWdsVVu4CdxQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2wVdMZWQWdsFXTGVkFnbBV0xlZBZ2xVdMZWRWdsVXTGVkVnbNUb+Elc0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsVnbFV0RlbFZ2xVdEZWxWdsVXRGVsNnbHV0BlbDZ2x1dAZW+0GfhI3dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZWQ2dsNXTGVkNnbDV0xlZDZ2w1dMZW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Kdnm5XK5qsrlqpwz0M3LzVzlcrkq5wx083K5XJVzBrp5uVyuyjkD3bxcLlflnIFuXi6Xq3LOQDcvl8tVOeelm5fL5aq42OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqkYutHrnY6pGLrR652OqRi60eudjqkYutnrjY6omLrZ642OqJi62ebpmrXCpXlbjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62euNjqiYutnrjY6omLrZ642OqJi62eudjqmYutnrnY6pmLrZ5vmatcKleVudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62eudjqmYutnrnY6pmLrZ652OqZi62ed8JRjxbvH27pRbkbHUQT5e4ELB693z882otyN9qqZsrdaKuaKTdzlbtRAJwpd6MAOFPuTufuRLk7nbsT5W4UACfK3QlYPFMul6vaCVg8Uy6sq3qWkPFL8O1+Whz3EnpsZzH8Nup91SF8WXUtXwr27X8uKNi3A7qgYN8e6IKCfbsg+4KdI4YvKNi3E7qgYN9e6IKCfbuhCwrObAWzOS3nuOELCmZzWs6RwxcUzOa0nGOHLyiYzWk5Rw9fUDCb03KOH76gYDan5RxBfEHBbE7LOYb4goLJnFZx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M/WS+autXvacqZfMX231iuVMvWT+aqsXG2fqJfNXW71OOFMvmb/a6iW+mXrJ/NVWr87N1Evmr7Z6YW2mXi5/VbZ6TWymXi5/VbZ6OWumXi5/VW6ZrF4uf1W2ehFppl4uf1W2ev1npl4yf7XVSzcz9ZL5q61edZmpl8xfbfWCyUy9ZP5qq9c6Zuol81dbvUwxUy+Zv9rqFYaZesn81VYvDszUS+avtiL3z9RL5q+2ouvP1Evmr7Yi4M/US+avtqLUz9RL5q+2IsnP1Evmr7aivc/US+avyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317I+O2FjN9eyPjthYzfXsj47YWM317J+O2VjN9eyfjtlYzfXm+ZrF4uf1XJ+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXsn47ZWM317J+O2VjN9eyfjtlYzfXrfiex/Lvj0+HsfJl/9kITGm/iix5+c6+vjTb76V+5rjbZQv4uXvvrmPxzfHk28uOf712ZLTi+7v5EbU/R92fyv2u7r/0+7v5FTV/Z92fyffru7/tPs7pRh1/6fdz+o+cfd3Srjq/k+7v9PvKer+T7u/069L6v5Pu69ZH3P3Nevbtvv9/sXl6/d+7f5W7xCp+z/tvmZ9zN3XrI+5+5r1bdv99ux+fdH9rO4Td1+zPubua9bH3H3N+pi7r1kfc/c169u2++W+5FJf/E3vVm9iqvs/7b5mfczd16yPufua9TF3P6v7xN3XrI+5+5r1MXdfsz7m7mvWx9x9zfqIu7/V++zq/k+7r1kfc/c162PuvmZ9zN3P6j5x9zXrY+6+Zn3M3desj7n7mvUxd1+zPuLu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b+DP38Gff2A//wB//w7w9+8Af/8O8PevS6/OyucHf/8O8PfvAH//DvD378B+/9oN+/1rN+z3r92w3792w37/2g37/Ws37Pev3bDfv3bDfv/aDfv9azfw9+8G/v7dwN+/G/j7dwN///p0/yx8fvD37wb+/t3A378b+Pt3A3//7uDv3x38/buDv3938PevT/fPwucHf//u4O/fHfz9u4O/f3fw9+8B/v49wN+/B/j79wB///p0Ly18fvD37wH+/j3A378H+Pv3AH//Gvj718Dfvwb+/jXw969P99XC5wd//xr4+9fA378G/v418PdvAX//FvD3bwF//xbw969P99XC5wd//xbw928Bf/8W8PdvAX//VvD3bwV//1bw928Ff//69FctfH7w928Ff/9W8PdvBX//VvD3bwN//zbw928Df/828PevT6fUwucHf/828PdvA3//NvD3bwN//4L3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/5WB918ZeP+VgfdfGXj/lYH3Xxl4/1UB778q4P1XBbz/qoD3X5Ub9vu3gPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcFvP+qgPdfFfD+qwLef1XA+68KeP9VAe+/KuD9VwW8/6qA918V8P6rAt5/VcD7rwp4/1UB778q4P1XBbz/qoD3XxXw/qsC3n9VwPuvCnj/VQHvvyrg/VcVvP+qgvdfVfD+qwref1Vv2O/fCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC919V8P6rCt5/VcH7ryp4/1UF77+q4P1XFbz/qoL3X1Xw/qsK3n9VwfuvKnj/VQXvv6rg/VcVvP+qgvdfVfD+qwref1XB+68qeP9VBe+/quD9VxW8/6qC91818P6rBt5/1cD7rxp4/1W7Yb9/G3j/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwPuvGnj/VQPvv2rg/VcNvP+qgfdfNfD+qwbef9XA+68aeP9VA++/auD9Vw28/6qB91818P6rBt5/1cD7rxp4/1UD779q4P1XDbz/qoH3XzXw/qsG3n/VwfuvOnj/VQfvv+rg/Vf9hv3+7eD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP9VB++/6uD9Vx28/6qD91918P6rDt5/1cH7rzp4/1UH77/q4P1XHbz/qoP3X3Xw/qsO3n/VwfuvOnj/VQfvv+rg/VcdvP+qg/dfdfD+qw7ef9XB+686eP/VAO+/GuD9VwO8/2qA91+NG/b7d4D3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1XA7z/aoD3Xw3w/qsB3n81wPuvBnj/1QDvvxrg/VcDvP9qgPdfDfD+qwHefzXA+68GeP/VAO+/GuD9VwO8/2qA918N8P6rAd5/NcD7rwZ4/9UA778a4P1X9wfFfgH/50HRBWC/gu8Piv0Ovj8o9kv4/qDYb+H7g2K/hu8Piv0evj8o9ov4/qDob2LwKqy7APQ3MXgZ1l0A+psYvA7rLgD9TQxeiHUXgP4mBq/EugtAfxODl2LdBaC/icFrse4C0N/E4MVYdwHob2Lwaqy7APQ3MXg51l0A+psYvB7rLgD9TQxekHUXgP4mBq/IugtAfxODl2TdBaC/icFrsu4C0N/E4EVZ96dDfxODV2Xdnw79TQxelnV/OvQ3MXhd1v3p0N/E4IVZ96dDfxODV2bdBaC/icFLs+4C0N/E4LVZdwHob2Lw4qy7APQ3MXh11l0A+psYvDzrLgD9TQxen3UXgP4mBi/QugtAfxODV2jdBaC/icFLtO4C0N/E4DVadwHob2LwIq27APQ3MXiV1l0A+psYvEzrLgD9TQxep3UXgP4mBi/UugtAfxODV2rdBaC/icFLte4C0N/E4LVadwHob2LwYq27APQ3MXi11l0A+psYvFzrLgD9TQxer3UXgP4mBi/YugtAfxODV2zdBYC/iTf0jq0NvWNrQ+/Y2tA7tu6Phy4A/E28oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWxt6x9aG3rG1oXdsbegdWzt6x9aO3rG1o3ds7egdW/sN/E28o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aO3rG1o3ds7egdWzt6x9aB3rF1oHdsHegdWwd6x9ZxA38TH+gdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1oHdsHegdWwd6x9aB3rF1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N76ue+Pruje+rnvj67q3m/FJpnNfxtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XffG13VvfF33xtd1b3xd98bXdW98XfeFr+u+8HXdF76u+8LXdV9uxieZzn0Vvq77wtd1X/i67gtf133h67ovfF33ha/rvvB13Re+rvvC13Vf+LruC1/XfeHrui98XfeFr+u+8HXdF76u+8LXdV/4uu4LX9d94eu6L3xd9yVXC/po+6+vHu337/0SnOqtPCM41af16P0heLQTwak+q2cEp/qknhGc6nN6RnCqjDwjOFVCnhCcqw97RnCu9/CE4FTZeEZwqmQ8I9jYBLM5LeQO7JcIYPf0EhHcEbXj9nyQbp/+0/tPce2vL/9Pcdyfo3r0nuoLJEfvqb5CcnBfdIXk4M7oCsnBvdEVko1PcnB/dIXk4A7pCsnB/dQVkvncV/Se6gskR++pvkIyn/uK3lN9hWQ+9xW9p/oKyXzuK3pP9RWS+dxX9J7qKyTzua/oPdVXSOZzX9F7qq+QzOe+ovdUXyGZz31F76m+QjKf+4reU32FZD73Fb2n+grJfO4rek/1FZL53Ff0nuorJPO5r+g91VdI5nNf0Xuqr5DM576i91RfIZnPfUXvqb5CMp/7it5TfYVkPvcVvaf6Csl87it6T/UVkuncV43eU32FZDr3VaP3VF8hmc591ZvxSaZzXzV6T/UVkuncV43eU32FZD73Fb2n+grJfO4rek/1FZL53Ff0nuorJPO5r+g91VdI5nNf0Xuqr5DM576i91RfIZnPfUXvqb5CMp/7it5TfYVkPvcVvaf6Csl87mvnc187n/uK3kZ+hWQ+93Xwua+Dz31FbyX/TvLnov0avZXcXXD0zuovBX+sf63RO6v9Baf6pJ4RnOpzekawsQlOlZBnBOd6D08IzvUenhCcKhvPCE6VjCcE5+rBnhHM5rSQO7BfIoDd00uExRbR+/58kNHGh//0tmM8NR9j/DmqR++pvkJycFd0heTgvugKycGd0RWSg3ujCyRH76m+QnJwf3SF5OAO6QrJwf3UFZKNTzKf+4reU32FZD73Fb2n+grJfO4rek/1FZL53Ff0nuorJPO5r+g91VdI5nNf0Xuqr5DM576i91RfIZnPfUXvqb5CMp/7it5TfYVkPvcVvaf6Csl87it6T/UVkvncV/Se6isk87mv6D3VV0jmc1/Re6qvkMznvqL3VF8hmc99Re+pvkIyn/uK3lN9hWQ699Wi91RfIZnOfbXoPdVXSKZzX+1mfJLp3FeL3lN9hWQ699Wi91RfIZnPfUXvqb5CMp/7it5TfYVkPvcVvaf6Csl87it6T/UVkvncV/Se6isk87mv6D3VV0jmc1/Re6qvkMznvqI3GH8n+XNxYIveX+wuOHqv7ZeCP9bZtOittv6CU31SzwhO9Tk9I9jYBKdKyDOCc72HJwTneg9PCE6VjWcEp0rGE4Kjd1L7C2ZzWtE7qd8JfokAdk8vERZaxHbbniK2W9k+/KdXnpJL76/vvW8/BMd2RBcIju2IvhTc+nh+7/3D9z5/jhec2O5pMZzYTmsxnNiubC2c4F3Xi+HEdnuL4cR2hovhxHaci+GY4JzDSeV6veHIIb+BI4f8Bo4c8hs4csjncIL3nS+GI4f8Bo4c8hs4cshv4JjgnMORQ34DRw75DRw55Ddw5JDfwJFDPocTvJN+MRw55Ddw5JDfwJFDfgPHBOccjhzyGzhyyG/gyCG/gSOH/AaOHPI5nOB3AxbDkUN+A0cO+Q0cOeQ3cExwzuHIIb+BI4f8Bo4c8hs4cshv4Mghn8MJftthMRw55Ddw5JDfwJFDfgPHBOccjhzyGzhyyG/gyCG/gSOH/AaOHPIpnB78/sZiOHLIb+DIIb+BI4f8Bo4JzjkcOeQ3cOSQ38CRQ34DRw75DRw55HM4wW+kLIYjh/wGjhzyGzhyyG/gmOCcw5FDfgNHDvkNHDnkN3DkkN/AkUM+hxP8js1iOHLIb+DIIb+BI4f8Bo4JzjkcOeQ3cOSQ38CRQ34DRw75DRw55HM4wW+HLYYjh/wGjhzyGzhyyG/gmOCcw5FDfgNHDvkNHDnkN3DkkN/AkUM+hxP85ttiOHLIb+DIIb+BI4f8Bo4JzjkcOeQ3cOSQ38CRQ34DRw75DRw55HM4uqn3Do4c8hs4cshv4Mghv4FjgnMORw75DRw55Ddw5JDfwJFDPofDe/yr2PPSvZ3BoX2Vz8Ch/UAupT/g1HYCh/YDeQYO7QfyDBzalcUEHN4TTjNwaFcWM3BofU7d6q+vrcd+AofW58zAMcE5h0O7spiBQ+uQZ+DQOuQZOLQOeQYOrUOegMN7wmkGDq1DnoEjh/wGjhzyGzgmOOdw5JDfwJFDfgNHDvkNHDnkN3DkkM/hJDvh9M33rvWxJ73/f8frq4/+A08uj+yOJ5dLdseTyye74zHheYcnl1f+5nu32+PFtbX2O54//LyrP387o/fX1+7bD5S5nPVSlLl8+FKUuVz7UpS5PP5ClCPZyaqlKHnTgztK3qThjpI3lbijNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKJOdH1uKUmnHDaXSjhtKpR03lCaUXiiVdtxQKu24oZSvnENZHr+DU9r2Z5TJjnYtRak3uNf/gSc767QUpd7gbij1BndDqX2lG0rtK/+A8oVHXvEdnmQnqdzxEO8Kx/NXP/txhod4/zeDhzgRzOAx4XmHh9i5z+AhduMzeHgddn+a5m1Y/w3PP3LYyc5ZLUXJ68a9USY7lbUUJa/Ld0fJmwjcUfKmB3eUJpReKHlTiTtK3gTjjlJpxw2l0o4bSqUdL5TJzp4tRam044ZSaccNpdKOG0oTSi+USjtuKJV23FAq7bihVNpxQ6m044WyKu24oVTacUOptOOGUmnHDaUJpRdKpR03lEo7XiiTnY+8DuXnP1FMdmxyKUq9dtz+D1yvHTeUeu24odSSzQ2llmxuKLVk+wPKJ55khxTd8cj/vcXDu+Aa9fHF+13uCR7epdUUHhOed3h4Xf4UHl7nPoWH141P4aF12Pen2554hv2G5w8Ou9rTYf/42tv4gZLWYbuj5D3a6I+S1rn7o6R1+f4oaROBP0oTSi+UtEnDHyVtKvFHSZtg/FEq7bihVNrxQVluvAcp/VEq7bihVNpxQ6m044bShNILpdKOG0qlHTeUSjtuKJV23FAq7Xih5D1I6Y9SaccNpdKOG0qlHTeUJpReKJV23FAq7bihVNpxQ6m044ZSaccLJe+ZVH+USjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKHmPAvujVNpxQ6m044ZSaccNpczQHMpPlWp3lDJDXih5L1p+ifJT49IdpV47bij12nFDaULphVJLNjeUWrL9AeULj7ziWzzyf2/x8C64tu351Jud4OG9EDmHhzcRTOHhdflTeHid+xQeE553eHgd9tbL86lt/IbnH60bea8o+qPkdePuKHmduztKYpfvjJL3iqI/SuL04I2SOGl4oyROJd4oTSi9UCrtuKFU2nFDqbTjhlJpxw2l0o4XSt4zqf4olXbcUCrtuKFU2nFDaULphVJpxw2l0o4bSqUdN5RKO24olXa8UPIe+vVHqbTjhlJpxw2l0o4bShNKL5RKO24olXbcUCrtuKFU2nFDqbTjhZL4kLI7SqUdN5RKO24olXbcUJpQeqFU2nFDqbTjhlJpxw2l0o4bSqUdJ5Qb8SFld5QmlFMoP1aqbcR3Vt1R6rUzh/Jj49JGfNHSGyXxRUt3lFqyuaHUks0NpZZsf0D5wmPC8w6P/N9bPLwLrr32x1Mft9sJHt6l1RQe3kQwhYfX5c/gIb7OOIWH141P4eF12Mf+wmP1BA+va57CY8LzDg+va57Cw+uap/DwuuYpPLyu+RiPb72b9d/w/GE3tD93Q0f5ofDHD8qIrwd6oyS+HuiOkte5u6MkdvneKIkTgTdKE0ovlMRJ4yuUr98aau0EJXEq8UZJnGC8USrtuKFU2vFCaUo7biiVdtxQKu18i/LsV6iJj9a6ozSh9ELJm3bs+Zt+ezk+/VpgfwLp28/rZOUHSt60446SN+24o+RNO+4oedOON0riI7vuKHnTznco7WGGemknKHnTjjtK3rTjjtKE0gul0o4bSqUdN5RKO3Mo2+NX2frYTlAq7bihVNrxQkl8QNgdpdKOG0qlHTeUSjtuKE0oZ1CO7SFx7PUEpdKOG0qlHTeUSjtuKJV23FAq7XihJD4g7I6SN+2Uens8db1tH1Bu97fK80Hqj1+LsR9/5Uh8QvgCmLyJ5wKYJph+MHlTz3cw9+3xk4lt7+03mP/91RO1eMRnhxeD501Ui8Hz5q/F4HnT2lrwxOeSF4NXElwEXqlxEXglzEXgTeDXgFdyXQReyXUReCXXReCVXBeBV3JdA5749PVi8Equi8AruS4Cr+S6CLwJ/BrwSq6LwCu5LgIvH38F+I83X3fio86LwcvVLPmo2W8m8GvAy9UsAi9Xswi89vGLwGsf/6/Bv2DKm/vBJL5mfwFM7cLnYB63+niQw85gar/tCFPpzhGmCaYfTKUwR5hKVo4wlZYmYbbHdnGzcvsN5h++utkTfbcfT2K3H+iVl5ahV7pahX5XFluGXsltGXrlvGXolQqXoTehX4VeiXMZeuXTZeiVZpehV5pdhl5pdhX6Q2l2GXql2WXolWaXoVeaXYbehH4VeqXZZeiVZpehV5pdhl5pdhl6pdlV6E1pdhl6pdll6JVml6FXml2G3oR+FXql2WXolWaXoVeaXYZeaXYZeqXZVeiL0uwy9Eqzy9ArzS5DrzS7DL0J/Sr0MpcXoJ8oMyuylmvAV71irwD/uWGo6gW7CLxer4vAa1W8CLwWxYvAa038r8G/YMqbO8KU356DWbaHxq20/ukjYX9+JBzlB4/xAt+0yF0EXmvcReCVMBeBV8JcBN4Efg14JcxF4JUwrwBf7bm+bSfglTAXgVcaXQReyXUN+K7kugi8kusi8Equi8AruV4LvtsJeBP4NeCVXBeBV3KdA19fROqP5zj5Zbtiz+M7pfys6//xy3Zd2XUZeqXXZeiVX1ehH0qwy9Arwy5DrxR7Cfrn71bfjeh+gl45dhl6E/pV6JVll6FXml2GXml2GXql2SvQ27g90fffzeU/WrUNJV+AMR03pWSIMSlRXzGm2l5f/RP9j/fNcVOiXoZeiXoZehP6VeiVqJehV6Jehl6Jehl6JepL0PdnBVEd4wS9UvIq9JuS7zL0SrPL0CvNLkOvNLsMvQn9KvRKs5eg3x4PsrXtd1//jxbMm5IvxJiUkiHGpER9xZj67flTtd+e5Lf3jRL1KvS7EvUy9ErUy9ArUS9Dr0S9DL0J/Sr0StSXoN/KE/3eT9ArJS9Dr+S7DL3S7DL0SrOr0B9Ks8vQK80uQ680ewX6N+fI/tGC+VDyhRiTaUwIY+JN1PV4PvX9p/kfx7Q9/z6z/iTS/vyfwON1s/+8R1d/vm148/Ri8LxpejF43iy9GDxvknYD/4RpvNn4Api8afcCmLz59QKYvCnzApgmmH4wldgcYSqFOcJUspqEOZ4P0m7lN5h/eI7Sf31xGz+WOPsP7gpWa7grV13Afd+f39rKnwNtUQZbBF55bRF4ZbtF4JUDF4E3gV8DXvnyCvCf1/RFWXQReOXWOfBt70/wtv3r/FSUW9dwV269gPvEq7Uqty4Cr9y6CLxy6yLwyq2LwJvArwGv3HoF+M/xqSq3LgKv3DoJvj5/eN36p1+o/JyfqnLrGu7KrRdwn3i1NuXWReCVWxeBV25dBF65dRF4E/g14JVbrwD/OT415dZF4JVb58D327Obt++3f52fmnLrGu7KrRdwn3i1duXWReCVWxeBV25dBF65dRF4E/g14JVbrwD/OT515dZF4JVb/wH49hv4F0yFUUeYSph+MIdS4yTMZk+Yvf2//3ZNMhQa13BXZryA+4SDHsqMi8CbwK8Br8y4CLwy4yLwyoyLwCtfXgH+85ZkKIsuAW835dZJ8GV7ge8fwI/j8csvo/64897/UdaymzJu/BkpD8efkaJz/BmZZhR+Rgrk8Wek7B5/Ror58WekjUD8GWl5EH5Gm/YM8WekPcPcjIY9H2SUf10Jb5t2B2u4ax9wAffPP2axzQR+DXgl90XgFccXgVfGXgRewXkReKXhK8B//lH6roi7CLxy6yLwCq6LwCu5ToLvt8dX3z7+Nd+7r36hN6FfhV7p9QL0rY/nc+wfnuP8mV9DUtIFGJJSMcCQlKABhqS0HX9Ih5I5wJCU4gGGpMQPMCRtBwCGZBpS/CFp4wAwJG0cAIakjQPAkLRxABiSNg7xh2TaOAAMSRsHgCFp4wAwJG0cAIZkGlL8IWnjADAkbRwAhqSNA8CQtHEAGJI2DvGHVLRxABiSNg4AQ9LGAWBI2jgADEk5afGQyvMPj+4/ODoZknJS/CFVubvVQ3rWyZTaToYkdwcwJLk7gCHJ3QEMyTSk+EPSz5MAhqSctHhIdau/vrYe+8mQlJMAhqSfJwEMST9Pij+kpo0DwJC0cQAYkjYOAEPSxgFgSKYhxR+SNg4AQ9LGAWBI2jgADEkbB4AhaeNwxZC+eI5XA+5vBbi1vobUtXEAGJI2DgBD0sYBYEjaOAAMyTSk+EPSxgFgSNo4rB5SeXztaLeTIWnjADAkbRwAhqSNQ/whDW0cAIakjQPAkLRxABiSNg5/dUgv8Cbwa8BrM7AIvNL+IvBK8IvAK5UvAq+kvQR8uZGk55dgkiT6EkyS6l6CSRLSS7CxCSZJBC/BJE78JTi6A35+9Xb/f+OD4K08HmQrdiI4uvN0Fxzd8X0l2LdzrWzRXdlSONEd3FI40d3eUjjRneFSOCY453CiO86lcKK706VwUjlZbzipXK83HDnkczi7HPIbOHLIb+DIIb+BI4f8Bo4JzjkcOeQ3cOSQ38CRQ34DRw75DRw55HM4hxzyGzhyyG/gyCG/gSOH/AaOCc45HDnkN3DkkN/AkUN+A0cO+Q0cOeRzOCaH/AaOHPIbOHLIb+DIIb+BY4JzDkcO+Q0cOeQ3cOSQ38CRQ34DRw75HE6RQ34DRw75DRw55Ddw5JDfwDHBOYcjh/wGjhzyGzhyyG/gyCG/gSOHfA6nyiG/gSOH/AaOHPIbOHLIb+CY4JzDkUN+A4fW55Rnuf3951MncGh9zgSc8Pdvr4NT+gNObSdwaN9WM3Bo31YzcGjfVjNwaPc5M3Bo9zkzcGh9zuc7miX8Hc2VcMLfr1wKh3afMwOH1iHPwKF1yDNwTHDO4dA65Bk4tA55Bg6tQ56BI4f8Bo4c8jmc8PfWlsKRQ34DRw75DRw55DdwTHDO4cghv4GTyyF/871LeZby33/O8Ppq+6PGUh4S23aCMpefXooyl/teijKXV1+Isoa/BbUE5QtPLm/vjieXu3fHk8vfu+Mx4XmHJ5fHd8cjl/8Wj5z7Wzy8brzuj7S91R8a/2whP8ftmuyq10qUyW6AXYZy358SrZyg5HXu7ih5Xb47St5E4I7ShNILJW/ScEfJm0rcUfImmO9Qft7yJru5thQlcdqp5Ymy9X+fdpLdc1uKkjjtfINy4rWT7FbcUpTEaccbpQmlF0ritOONkjjteKMkTjveKInTzlcoP6edZNf2VqJMdptvKUqlHTeUvGmn3R6xemvl9gHlVh4St2InKHnTjjtKE8oZlL5VcTXZtUIY7Lwpail23sS1FDtvOluKnTfJrcSe7N4kDHbehLgUu9LkEuxKnkuwm7CvwK6UugS7UuoS7EqpS7ArpS7BrpS6Anuym68w2JVSl2BXSl2CXSl1CXYT9hXYlVKXYFdKXYJdKXUJdqXUJdiVUldgT3Z3GQa7UuoS7EqpS7ArpS7BbsK+ArtS6hLsSqlLsCulLsGulLoEu1LqCuxNKXUJdqXUJdiVUpdgV0pdgt2EfQV2pdQl2JVSl2BXSl2CXSl1CXal1BXYu1LqEuxKqUuwK6UuwS7f7o692OO4VbEz7PLtS7DLyfhjL/2BvbY/Yx9yMkuwy8kswS4nswS79u1LsJuwr8Au3+6OfeKIy5BvX4Jd+/Yl2LVvX4JdKXUB9nZTSl2CXSl1CXal1CXYlVKXYDdhX4FdKXUJdqXUJdiVUpdgV0pdgl0pdQX2TSl1CXal1CXYlVKXYFdKncP+xXfe9+P24vH66m3YV9/5NSTTkOIPSQkYYEjKywBDUrr+q0N6gVe+XgReCXsN+F0ZexF4pexF4JWzF4FX0l4E3gR+DXgl4kXglXIXgVdyvQB8f4I/tvob+D88h3V7PEc5fnx1PX6MSTkXYkxKxYvH5FtB0A6l7WQDVYpPNlBtB5INVFuHZAM1DTTXQLUlSTZQbV+SDVRbnWQD1f4n2UC1Kco1UNOmKNlAtSlKNlBtipINVJuiZAM1DTTXQLUpSjZQbYqSDVSbomQD1aYo2UC1Kco10KJNUbKBalOUbKDaFCUbqDZFyQZqGmiugWpTlGyg2hQlG6g2RbkGWpVDgQb6+YJkq8qhyQZqGijQQD9eRmtVLjfZQOVykw1ULjfZQPXz0GQD1c9Dcw20KYcCDXSiob0phyYbqH4emmyg+nlosoGaBpproNoUJRuoNkXJBqpNUbKBalOUbKDaFOUaaNemKNlAtSlKNlBtipINVJui1QP95pntSXort5OS8m4aabaRaluUbqTaF6UbqTZG6UaqnVG6kWprlG2kQ3sj1JH++OrfR6rNUbqRaneUbqTaHiGNtGzlOdK9n4zUNNJsI9X2KN1ItT1KN1Jtj9KNVNujdCPV9ijZSPtN2yPUkR7lZKTaHqUbqbZH6Uaq7VHYkb6GZBpS/CFpw+M/pGPrzyEV+zCkzbq9PvDqyQeetjYQY9ImZvGYfJsw+017mGQD1RYm10A37WCSDVQbmGQD1f4l2UC1fUk2UNNAcw1UW51kA9X+J9lAtSlKNlBtipINVJuiXAPdtSlKNlBtipINVJuiZAPVpijZQE0DzTVQbYqSDVSbomQD1aYo2UC1KUo2UG2Kcg300KYo2UC1KUo2UG2Kkg1Um6JkAzUNNNdAtSlKNlDlUKCBFtt/fW2xs4Eqh+YaqMnlIg3040HzbnK5yQZqGmiugcrlJhuofh6abKD6eWiygSqHAg3082XAbsqhuQZa9PPQZAPVz0OTDVSbomQD1aYo2UBNA801UG2Kkg1Um6JkA9WmKNlAtSlKNlBtinINtGpTlGyg2hStHug3zzxx87pX7YrSjVTbonQjNY0020i1MUo3Uu2M0o1UW6N0I9XeCHWkP77695Fqc5RtpE27o3Qj1fYIaaQzN6+btkfpRqrtUbqRmkaabaTaHqUbqbZH6Uaq7VG6kWp7hDrSo5yMVNujbCPt2h6lG6m2R2FH+hqS9kEAQ9KG54Ihlfoc0qgfhjT2x69ljrb90Fd/DMk0pPhD0hZm8ZCcWzC7djDJBqoNTLKBav+SbKDavuQa6NDuJdlAtXlJNlBtaZINVBudZAM1DTTXQLUpSjZQbYqSDVSbomQD1aYo2UC1KUo10HHTpijZQLUpSjZQbYqSDVSbomQDNQ0010C1KUo2UG2Kkg1Um6JkA9WmKNlAtSnKNdBNm6JkA9WmKNlAtSlKNlBtipINVDkUaKDF9l9fW+xsoMqhuQa6y+UiDfTjMfOxy+UmG6hcbrKByuUmG6hpoLkGqp+HJhuocijQQD9fBRy7cmiygernockGqp+H5hrooU1RsoFqU5RsoNoUJRuoNkXJBmoaaK6BalOUbKDaFCUbqDZFyQaqTdHqgX7xncfzV1BG+Xllof4YqDZFuQZq2hQlG6g2RckGqk1RsoFqU5RsoKaB5hqoNkVIAy2Prx3tdjJQbYqSDVSbomQD1aYo2UC1Kco10KJNUbKBalOUbKDaFIUd6GtI2v4ADMk0JP8hjeedatu2D0Pa93q8vnr/7atfY9KeBmJM2r4sH9NrSuXkI08bFYAhaUsCMCRtPuIPqWqbATAkbSgAhqStw+ohlfL44radDElbB4AhmYYUf0jaOQAMSRsHgCFp4wAwJG0cAIakjUP8ITVtHACGpI0DwJC0cQAYkjYOAEMyDenfDemFUnsBN5RK724olbHdUCoJu6FUXvVC2ZUq3VAq+7mhVEJzQ6kc5YbShNILpdKOG0qlnT+gfOEhTjBtf+Lp7cN/afcnseeDHHby3xpxhvGHSZxi3GEO4hzjD5M4yfjDJM4y/jCJ04w/TBNMP5jEicYfJnGm8YepBOQIUwnIEaYSkBfMerspATnCVAJyhKkE5AhTCcgRpgmmH0wlIEeYSkCOMJWAHGEqATnCVALyg7kpATnCVAJyhKkE5AhTCcgRpgmmH0wlIEeYSkCOMJWAHGEqATnCVALyg7krATnCVAJyhKkE5AhTCcgRpgmmH0wlIEeYSkCOMJWAHGEqATnCVALyg3koATnCVAJyhKkE5AhTCcgRpgmmH0wlIEeYSkCOMJWAHGEqATnCVALyg2lKQI4wlYAcYSoBOcJUAnKEaYLpB1MJyBGmEpAjTCUgR5hKQI4wlYD8YBYlIEeYSkCOMJWAHGEqATnCNMH0g6kE5AhTCcgRphKQI0wlIEeYSkB+MKsSkCNMJSBHmEpAjjCVgBxhmmD6wVQCcoSpBOQIUwnIEaYSkCNMJSA/mE0JyBGmEpAjTCUgR5hKQI4wTTD9YCoBOcJUAnKEqQTkCFMJyBGmEpAfzK4E5AhTCcgRphKQI0wlIEeYJph+MJWAHGEqATnCVAJyhKkE5AhTCcgP5lACcoSpBOQIUwnIEaYSkCNME0w/mEpAjjCVgBxhKgE5wlQCcoSpBOQG805NMP1gKgE5wlQCcoSpBOQI0wTTD6YSkCNMJSBHmEpAjjCVgBxhKgH5wdyUgBxhKgE5wlQCcoSpBOQI0wTTD6YSkCNMJSBHmEpAjjCVgBxhKgH5wdyVgBxhKgE5wlQCcoSpBOQI0wTTD6YSkCNMJSBHmEpAjjCVgBxhKgH5wTyUgBxhKgE5wlQCcoSpBOQI0wTTD6YSkCNMJSBHmEpAjjCVgBxhKgH5wTQlIEeYSkCOMEkS0EswSUp5CTY2wSRu/yWYxJG/BJO45pdgEmf7EkziPp+CC4lDfAkmcXEvwWxOi+U+/Euw4Qp+iQB2Ty8RwI7oJQLY5bxEADuXlwhgN/IUgXyT+iUC2DW8RAA7gZcI4Lf7S0SGNzbyrd+XiAxvbOTbti8RGd7YyLdcnyKQb6i+RGR4YyPfDH2JyPDGRr6R+RKR4Y2NfBPyJSL4G/v+w+6XiFJ/E/EPf+Ib/WLiFZKDu4ELJEe/PniF5OBO4wrJwX3JFZKDu5grJBuf5OAO6QrJwf3UFZL53Ff0a21XSOZzX9Evn10hmc99Rb8idoVkPvcV/SLXFZL53Ff061ZXSOZzX9EvRV0hmc597dGvLl0hmc597dEvGF0hmc597Tfjk0znvvbol3WukEznvvboV2qukMznvqJffLlCMp/7in495QrJfO4r+iWSKyTzua/oVz2ukMznvqJfyLhCMp/7in5t4grJfO4r+uWGKyTzua/oVxCukMznvqJfFLhCMp/7it7Of4VkPvcVven+Csl87it6a/wVkvncV/QG9isk87mv6G3mV0jmc1/Rm8GvkMznvqK3bF8hmc99RW+svkIyn/uK3lp9hWQ+9xW9ufoKyXzuK3p79RWS+dxX9AbrKyTzua/oLdZXSOZzX9GbrK+QzOe+ordkXyGZz31Fb+C+QjKf+4re7n2FZD73Fb05/ArJfO4reiv5FZL53Ff0xvMrJPO5r+ht6ldI5nNf0Zvar5DM576it8BfIZnPfUVvmL9CMp/7it5ef4VkPvfF13W/83Xd73xd9ztf1/3O13W/83Xd73xd9ztf1/3O13W/83Xd73xd9ztf1/3O13W/83Xd73xd9ztf1/3O13W/83Xd73xd9ztf1/3O13W/83XdH3xd9wdf1/3B13V/8HXdHzfjk0znvg6+rvuDr+v+4Ou6P/i67g++rvuDr+v+4Ou6P/i67g++rvuDr+v+4Ou6P/i67g++rvuDr+v+4Ou6PyJ13b8eKpA/ej1UIAfzeiiL+FCBXMDroQK9p18PFehN+nqoQO+610MFehs9HypSO/froSJ+okdquH49VMRP9Egt0a+HiviJHqlp+fVQET/RI7UVvx4q4id6pMbf10NF/ESP1Jr7eqiIn+iRmmdfDxXxEz1Se+vroSJ+okdqQH09VMRP9Egtoq+HiviJHqmJ8/VQET/RI7VZvh7q4k/01z9U/9Y/1P7WP9T/1j80/tI/dHV73+sf2v7WP7T/rX/o+Fv/kP2tf+hvfTLUv/XJUP/WJ0P9W58M9W99MrS/9cnQ/tYnQ/tbnwztb30ytL/1ydD+1idD+1ufDO1vfTK0v/XJ0P7WJ0P/W58M/W99MvS/9cnQ/9YnQ/9bnwz9b30y9L/1ydD/1idD/1ufDP1vfTKMv/XJMP7WJ8P4W58M4299Moy/9ckw/tYnw/hbnwzjb30yjL/1yTD+0ieDufy16N7s+Q/18ds/9M9+q81c/qLzgsfaYz7WEfOxLOZjlZiPVWM+Vov5WD3mY42Qj7XF/JTfYn7KbzE/5beYn/JbzE/5Lean/BbzU36L+Sm/xfyU32J+yu8xP+X3mJ/ye8xP+T3mp/we81N+j/kpv8f8lN9jfsrvMT/l95if8kfMT/kj5qf8EfNT/oj5KX/E/JQ/Yn7KHzE/5Y+Yn/JHzE/5I+anvMX8lLeYn/IW81PeYn7KW8xPeYv5KW8xP+Ut5qe8xfyUt5if8iXmp3yJ+SlfYn7Kl5if8iXmp3yJ+SlfYn7Kl5if8iXmp3yJ+SlfY37K15if8jXmp3yN+SlfY37K15if8jXmp3yN+SlfY37K15if8i3mp3yL+SnfYn7Kt5if8i3mp3yL+SnfYn7Kt5if8i3mp3yL+SnfY37K95if8j3mp3yP+SnfY37K95if8j3mp3yP+SnfY37K95if8iPmp/yI+Sk/Yn7Kj5if8iPmp/yI+Sk/Yn7Kj5if8iPmp/wI+SlfYv7ta4n5t68l5t++lph/+1puIT/lS8y/fS0x//a1xPzb1xLzb19LzL99LTH/9rXE/NvXEvNvX0vMv30tMf/2tcT829cS829fS8y/fS0x//a1xPzb1xLzb19LzL99LTH/9rXE/NvXEvNvX0vMv30tMf/2tcT829cS829fS8y/fS0x//a1xPzb1xLzb19LzL99LTH/9rXE/NvXEvNvX0vMv30tMf/2tcT829cS829fS8y/fS0x//a1xPzb13p15fJ/f/V3F8Jvz6/e7v/vJfnPF8K/+t7tVh/fupXb66tt/5ffeT/K4zvvx/hx1XzYn75zH8/vvH/4zvf/uH997f2/pz8P9Opqaw30bw800Gk1DdRjoIHO0mmgHgMNdNJPA/UYqGmguQYa6DiwBuox0ECHlTVQj4EGOkqtgXoMNNBBbw3UY6DaFKUaaLtpU4Q00H57DHSUk4FqU5RsoNoUJRuoNkXJBmoaKNBA22ug9WSg2hQlG6g2RckGqk1RsoFqU5RsoNoU5Rropk0R0kBLfwy0tpOBalOUbKDaFCUbqDZFyQZqGmiugWpTlGyg2hQlG6g2RckGqk1RsoFqU5RroLs2RckGqk1RsoFqU5RsoNoUJRuoaaC5BqpNUbKBalOUbKDaFCUbqDZFyQaqTVGugR7aFCUbqDZFyQaqTVGygWpTlGygpoHmGqg2RckGqk1RsoFqU5RsoNoUJRuoNkW5BmraFCUbqDZFyQaqTVGygWpTlGygpoHmGqg2RckGqk1RsoFqU5RsoNoU5RpoUQ69YKBbfw60mOdAPzdaF+XQZANVDk02UNNAcw1UOTTZQJVDkw1UOTTZQJVDkw1Uv7GQa6BVv7GQbKDaFCUbqDZFSAP9fIinalOUbKCmgeYaqDZFyQaqTRHSQD+f+ajaFCUbqDZFyQaqTVGugTZtipINVJuiZAPVpghpoJ9/669pU5RsoKaB5hqoNkXJBqpNUbKBalOUbKDaFCUbqDZFuQbatSlKNlBtipINVJuiZAPVpijZQE0DzTVQbYqSDVSbomQD1aYo2UC1KUo2UG2Kcg10aFOUbKDaFCUbqDZFyQaqTVGygZoGmmug2hQlG6g2RckGqk1RsoFqU5RsoNoUpRpov2lTlGyg2hQlG6g2RckGqk1RsoGaBpproNoUJRuoNkXJBqpNUbKBalOUbKDaFOUa6KZNUbKBKof6D3R/lmbeZ+t6zO5jo3XfTAPNNVDl0GQDVQ5NNlDl0GQDVQ5NNlDl0FwD3ZVDkw1Uv7GQbKD6jYVkA9WmKNlATQMFGujHQzx916Yo2UC1KUo2UG2Kkg1UmyKkgX4889F3bYpyDfTQpijZQLUpSjZQbYqSDVSbomQDNQ0UaKCff+vv0KYo2UC1KUo2UG2Kkg1Um6JkA9WmKNdATZuiZAPVpijZQLUpSjZQbYqSDdQ00FwD1aYo2UC1KUo2UG2Kkg1Um6JkA9WmKNdAizZFyQaqTVGygWpTlGyg2hQlG6hpoLkGqk1RsoFqU5RsoNoUJRuoNkXJBqpNUa6BVm2Kkg1Um6JkA9WmKNlAtSlKNlDTQHMNVJuiZAPVpijZQLUpSjZQbYqSDVSbolwDbdoUJRuoNkXJBqpNUbKBKofODdS3d7opLS7Brky3BLuS1xLsykcrsHelmCXYlTWWYFciWIJdP+Fdgt2EfQV2pdQl2JVS/bF/PqjRlVKXYFdKXYJdKXUF9qGU6o/9c438UEpdgl0pdQl2pdQl2E3YV2BXSl2CXSnVH/vn3xwYSqlLsCulLsGulLoA+7gppS7BrpS6BLtS6hLsSqlLsJuwr8CulLoEu1LqEuxKqUuwK6Uuwa6UugL7ppS6BLtS6hLsSqlLsCulLsFuwr4Cu1LqEuxKqUuwK6Uuwa6UugS7UuoK7LtS6hLsSqlLsCulLsGulLoEuwn7CuxKqUuwK6Uuwa6UugS7UuoS7EqpK7AfSqlLsCulLsGulLoEu1LqEuwm7Cuw5/Ltrh1H48jlrp3h5PLAvnAsl1N1hpPLTzrDyeX6nOHk8mbOcExwzuHk2sY7w8m1M3eGI4f8Bg6vQ/5YozeM1yF/hlN4HfIEHF6HPAGH1yF/LLwahdchT8AxwTmHw+uQJ+DwOuQJOLwOeQIOr0P+/NOHwuuQP8OpvA55Ag6vQ56Aw+uQJ+DwOuQJOCY453B4HfIEHF6HPAGH1yFPwJFDfgNHDvkcTpNDfgNHDvkNHDnkN3DkkN/AMcE5hyOH/AaOHPIbOHLIb+DIIb+BI4d8DqfLIb+BI4f8Bo4c8hs4cshv4JjgnMORQ34DRw75DRw55Ddw5JDfwJFDPoeT7Na5Mxw55Ddw5JDfwJFDfgPHBOccjhzyGzhyyG/gRPc52/6EcyvbJzhffO+9Hs+nrv3HbyIff/rO23j+kc1+21+FI1u7/dshffqLwXYLf7VXQ7oPKbrv05DuQ4ruPzWk+5Ci+2AN6T4k05DiDyl6LtCQ7kOKnk80pPuQov8kQUO6Dyn6TzQ0pPuQtHGIP6TwF5jzD+lTqct9SNo4AAxJGweAIWnjADAk05AWD+lTdct9SNo4AAxJGweAIWnjADAkbRwAhqSNQ/whhb+mnX9In35b6D4kbRwAhqSNA8CQtHEAGJJpSPGHpI0DwJC0cQAYkjYOAEPSxgFgSNo4xB9S+MvoGtJ9SNo4AAxJGweAIWnjADAk05DiD0kbB4AhaeMAMCRtHACGpI0DwJC0cYg/JNPGAWBI2jgADEkbB4AhaeMAMCTTkOIPSRsHgCFp4wAwJG0cAIakjQPAkLRxiD+koo0DwJC0cQAYkjYOAEPSxgFgSKYhxR+SNg4AQ9LGAWBI2jgADEkbh/hDqrw5qdQn9nrbPg3paA/um5XXkHbrfwT/+OLSfnznffsBnjf7LAbPm2cWgzeBXwOeN3csBs+bJa4EP8qvL663cgKeNx8sBs/r+ReD5/3J4VrwjfengZeC357g6wl4JddF4JVcF4FXcl0E3gR+DXgl10XglVyvAN+fR4J6PwGv5LoIvJLrIvBKrmvAdyXXReCVXBeBV3JdBF7JdRF4E/g14JVcF4FXcl0EXsl1EXgl10XglVzXgB9KrovAK7kuAq/kugi8kusi8Cbwa8AruS4Cr+S6CLyS6yLwSq6LwCu5LgF/Jyzwa8AruS4Cr+S6CLyS6yLwJvBrwCu5LgKv5LoIvJLrIvBKrovAK7muAb8puS4Cr+S6CLyS6yLwSq6LwJvArwEvHz8Hft/s8SB7b5/Af2xo2jb5+EXg5ePXgN/l4xeBl49fBF4+/grwH0sktl0+fhF4E/g14PUTqEXg9ROoReCVXBeBV3K9AvznXc2u5LoG/KHkugi8kusi8Equi8AruS4CbwK/BryS6yLwSq6LwCu5LgKv5LoIvJLrGvCm5LoIvJLrIvBKrovAK7kuAm8Cvwa8kusi8Equi8AruS4Cr+S6CLyS6xrwRcl1EXgl10XglVwXgVdyXQTeBH4NeCXXReCVXBeBV3JdBF7JdRF4Jdc14KuS6yLwSq6LwCu5LgKv5LoIvAn8GvBKrovAK7kuAs/r47denk9t4wP4iT6OxuvM3VHyem13lLzu2R0lrx92R2lCOYVyPL643soJSl7P6o6S14W6o+T9iYg7St6fcXyJ8mO5TFPa8ULZlXbcUCrtuKFU2nFDqbTjhtKEcgrl531lV9pxQ6m044ZSaccNpdKOG0qlHS+UQ2nHDaXSjhtKpR03lEo7bihNKL1QKu24oVTacUOptOOGUmnHDaXSjhPK/aa044ZSaccNpdKOG0qlHTeUJpReKJV23FAq7bihVNpxQ6m044ZSaccL5aa044ZSaccNpdKOG0qlHTeUJpReKJV23FAq7bihVNpxQ6m044ZSaccL5a6044ZSaccNpdKOG0peX3k7Hhrv+zH7hPJjS8G+8/pKd5S8vtIdJa+vdEfJ6yu9UR68vvI7lB8LH/aD11e6o+T1le4oebfo7ihNKOdQfvrT+v1Q2nFDqbTjhlJpxw2l0o4bSqUdL5SmtDOH8vO+0pR23FAq7bihVNpxQ2lC6YVSaccNpdKOG0qlHTeUSjtuKJV2vFAWpR03lEo7biiVdtxQKu24oTSh9EKptOOGUmnHDaXSjhtKpR03lEo7XiiJL6y7o1TacUOptOOGUmnHDaUJpRdKpR03lEo7biiVdtxQKu24oVTa8UJJfLXeHaXSjhtKpR03lEo7bihNKL1QKu24oVTacUOptOOGUmnHCyXvffCtP+lsw/onlJ9bCnjvg/ujpPWV/ihNKL1Q0vpKf5S0vvJLlJ8LH3jvg/ujpPWV/ihpt+juKHnvg3+L8uOf1vPeB/dHqbTjhlJpxw2lCaUXSqUdN5RKO3MoP+8ree+D+6NU2nFDqbTjhPLgvQ/uj1Jpxw2l0o4bSqUdN5QmlF4olXbcUCrtuKFU2nFDqbTjhlJpxwsl731wf5RKO24olXbcUCrtuKE0ofRCqbTjhlJpxw2l0o4bSqUdN5RKO14oee+D+6NU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24olXbcUCrtuKFU2vFCyXu13h+l0o4bSqUdN5RKO24oTSi9UPL6ynarj2/d2viE8mNLwcF7H9wfJa+v9EbJex/cHyWvr3RHyesrv0P58c9FD9774P4oTSi9UPJu0d1R8m7R3VEq7bihVNqZQ/k5g/PeB3dHyXsf3B+l0o4bSqUdN5RKO24oTSi9UCrtuKFU2nFDqbTjhlJpxw2l0o4XSt774P4olXbcUCrtuKFU2nFDaULphVJpxw2l0o4bSqUdN5RKO24olXa8UPLeB/dHqbTjhlJpxw2l0o4bShNKL5RKO24olXbcUCrtuKFU2nFDqbTjhbIr7bihVNpxQ6m044ZSaccNpQmlF0qlHTeUSjtuKHP5yj6e33v/8L2LPeHY78/xhJPs4rcznFzezxlOLjfnDCeXP3OGY4JzDieXh3KGk8sVOcPJtdV1hpNrT+sMRw75FI4luxL9DZx+e8AZ5QQOr0OegMPrkCfg8DrkCThGC6e94NQTOLwOeQIOr0OegMPrkCfg8DrkCTi8DvkznGSXhb+BU/oDTm0ncHgd8gQcXoc8AYfXIU/AMcE5h8PrkCfg8DrkCTi8DnkCDq9DnoDD65A/w0l2jdYZjhzyGzhyyG/gyCG/gWOCcw5HDvkNHDnkN3DkkN/AkUN+A0cO+RxOsgumznDkkN/AkUN+A0cO+Q0cE5xzOHLIb+DIIb+BI4f8Bo4c8hs4csjncJLdYnWGI4f8Bo4c8hs4cshv4JjgnMORQ34DRw75DRw55Ddw5JDP4QS/q3jrzzqO7TZ+lHf8Gc5oj68e7eSv74JfP7xAcGw/coFgYxMc2zdcIDi2F/hS8P25b88v38eH7z764zN9jLPP9NhuYDme2H5gOZ7YO7PVeIJfuVuOJ5Wf9MeTyn3640nlVb/D802wO3/qF0oTSi+Uqfz1WpTEzt0bJbHL90ZJnAi8URKnB2eUwS/MQaEkTiXeKIkTjDdKpR03lCaUXiiVdtxQKu24oVTacUOptOOGUmnHC2XwC3NQKJV23FAq7bihVNpxQ2lC6YVSaccNpdKOG0qlHTeUSjtuKJV2vFAGv5IIhVJpxw2l0o4bSqUdN5QmlF4olXbcUMoMTaH8fBCvBD+IB4VSr505lB//Mrbc9NpxQ6nXjhtKLdncUGrJ5oZSSzY3lPKVUyjrVn99bT32P6MMfkYOCqWWbG4otWRzQ6m044bShNILpdKOG0qlHTeUSjtuKJV23FAq7XihDH4SEAql0o4bSua0882THPvzOx8/v/Ot/oDJnHfcYZpg+sFkzjzuMJlTjztM5tzjDpM5+bjDZM4+X8Eszwc56vZnmMHPPYLBZM4/7jCVgBxhKgE5wjTB9IOpBOQIUwnoH8DsJzCVgBxhKgE5wlQCmoQ5XnFynMTJ4Oc8wWAqATnCVAJyhKkE5AjTBNMPphKQI0wloP85/+vbEvzg6XI8Silv8Sh3vMNTlCTe4lE2eItHbv8tnlzneD/edCvJzvFOCM51jndCcCqvOiM4lfucEZzKT84ITuUQJwTnOms7IziVi5sRnMqXzQhmc1q5Tr7OCGZzWrnOp84IZnNauU6Rzghmc1q5znrOCGZzWrlOZM4IZnNauc5Nzghmc1q5TjfOCGZzWrnOIM4IZnNauU4Kzghmc1q5zvPNCGZzWrlO3c0IZnNauc7GzQhmc1q5TrDNCGZzWrnOmc0IZnNauU6DzQhmc1q5zmzNCGZzWoPNaQ02pzXYnFauK2yfBddct9JmBJM5rXojc1o11826GcHGJpjMadVcV9pmBJM5rZrr4tmMYDanlet62IxgNqeV6xLXjGA2p5XrqtWMYDanletC1IxgNqeV69rSjGA2p5XrctGMYDanlesK0IxgNqeV65rOjGA2p5XrKs2MYDanleu6y4xgNqeV60rKjGA2p5Xr2siMYDanletqx4xgNqeV6/rFjGA2p5XrisSMYDanlesaw4xgNqeV66rBjGA2p5XrOsCMYDanlatlf0Ywm9PK1YQ/I5jNaeVqq58RzOa0cjXKzwhmc1psHfGVrSO+snXEV7aO+MrWEV/ZOuIrW0d8ZeuIr2wd8ZWtI76ydcTXXA3iX56j6uP5JPuHry32eI5ixwlK5quCziiZLxD6oszVp74WJfNlQ2eUzFcQnVEyXzx3RmlC6YWS+dq5M0rmW+fOKJV23FAq7cyh7I9vXEY5Qam044Uy102DtSiVdtxQKu3MoWwvlPUEpdKOG0oTSi+USjtuKJV23FAq7bihVNqZQ1keP3Es9eQnjrmufyxFmeuuyFqUSjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjtOKFuu2z5rUSrtuKFU2nFDqbTjhtKE0gul0o4bSqUdN5RKO24olXbcUCrteKHMdV9rLUqlHTeUSjtuKJV23FCaUHqhVNpxQ6m044ZSaccNpdKOG0qlHS+UuW7crUWptOOGUmnHDaXSjhtKE0ovlEo7biiVdtxQBveV7Xix6T/6AU5K6NoD/Gh/7hJo0e/u+QsO7tH8BQd3Uv6Cg/sdf8GWSfB3n/+fezZb9Ct9q/EEdw+r8QTff67GE3ynuRpPKj/pjif6LcLVeFJ51euC3flTv1CmcsFrUaby12tRmlB6oSR2+d4oiROBN0ri9OCNkjhpeKMkTiXOKKPf+ERCqbTjhlJpxw2l0o4bShNKL5RKO24olXbcUCrtuKFU2nFDqbTjhTL6nV0klEo7biiVdtxQKu24oTSh9EKptOOGUmnHDaXSjhtKpR03lEo7Xiij3+9GQqm044ZSaccNpdKOG0oTSi+USjtuKJV23FAq7XihjH7eNwrKz6fQW/Tzvkgo9dqZQ/m5RSD6IVUklHrtuKHUks0NpZZsXiijH1JFQilfOYWybvXX19ZjP0EpX+mGUks2N5QmlF4olXbcUCrtuKFU2nFDqbTjhlJpxwllj35IFQml0o4bSqUdN5RKO24ojRjlF09ihz1WQ3aUH7uhW/0BkznvuMNkTjzuMJkzjztM5tTjDpM593jDjH5UFQsmc/b5Cma/PWH2cQKTOf24w2TOP+4wTTD9YCoBOcJUAnKEqQTkCFMJ6HuYo57AVALygxn90CoWTCWgOZi2PeOk7SdxMvqxVSyYSkCOME0w/WAqATnCVAJyhKkE5AhTCWgSZjmeMOt+AlMJyA9mrmPDq2EqATnCVAJyhKkE5AjTBNMPphLQ/5wXk3TmU9AzeJRS3uJR7niLR0niHR7mU9AzeOT23+JJ5d8/nwbvuY4wzwg2NsGpvOqM4FTuc0ZwKj85IziVQ5wRnMrzTQjOdQ53RnAqXzYjmM1p5ToAOyPY2ASzOa1cJ09nBLM5rVznQ2cEszmtXKc4ZwSzOa1cZy1nBLM5rVwnImcEszmtXOcWZwSzOa1cpwtnBLM5rVxnAGcEszmtXCf1ZgSzOa1c5+lmBLM5rVyn3mYEszmtxua0GpvT6mxOK9clwBnBbE6rszmtbmyC2ZxWruuGM4LZnFauS4EzgtmcVq6rezOC2ZxWrgt2M4LZnFaua3AzgtmcVq7LajOC2ZxWritlM4LJnNbIdfFrRjCZ0xq5rmfNCCZzWuNmbILJnNbIddFpRjCZ0xq5LiPNCGZzWrkuDM0IZnNauS71zAhmc1q5Lt7MCGZzWrkux8wIZnNauS6wzAhmc1q5LpnMCGZzWrkugswIZnNauS5rzAhmc1q5LlTMCGZzWrkuPcwIZnNauS4mzAhmc1q5Lg/MCGZzWrka/GcEszmtXL35M4LZnFaubvsZwWxOK1f//IxgNqfF1hE/2DriB1tH/GDriB9sHfGDrSN+sHXED7aO+MHWET/YOuIHW0f8YOuIH2wd8YOtI36wdcQPto74wdYRP9g64gdbR/xg64gfbB3xg60jfrB1xA+2jvjB1hE/2DriB1tH/GDriB9sHfGDrSN+sHXED7aO+MHWET/YOuIHW0f8YOuIH2wd8YOtI36wdcQPto74wdYRP9g64gdbR/xg64gfbB3xI1eD+P25X1++jw/fvfXxfJL9w9cW2399bbHjzyhzdZOvRZnKO6xFmcqVrEWZyu+sRWlC6YUylUdbizKV+1uLMtUGby3KVLvBtSiVdnxQ9luu+wAXouyPb1xGOUGptOOGUmnHDaXSjhtKE8oplO2Fsp6gVNpxQ6m044ZSaccNpdKOG0qlHS+UuW50XIiyPH7iWGo7Qam044ZSaccNpdKOG0oTSi+USjtuKJV23FAq7bihVNpxQ6m044Uy152ctSiVdtxQKu24oVTacUNpQumFUmnHDaXSjhtKpR03lEo7biiVdrxQ5rpVtRal0o4bSqUdN5RKO24oTSi9UCrtuKFU2nFDqbTjhlJpxw2l0o4Xylz34taiVNpxQ6m044ZSaccNpQmlF0qlHTeUSjtuKJV23FAq7XihjH53r/TyfJA6PqEc7dElMNpxIji4+/MXHNyj+Qs2NsHB/Y6/4OCu5DvB333+f+zZvOMJ7jRW4wnuHlbjCb7/XIwn+r3A1XhS+Ul/PKncpz+eVF71umB3/tQvlCaUXihT+eu1KImduzdKYpfvjZI4EXijJE4Pziij38tEQkmcSrxREicYb5RKO24oTSi9UCrtuKFU2nFDqbTjhlJpxw2l0o4Xyug3a5FQKu24oVTacUOptOOG0oTSC6XSjhtKpR03lEo7biiVdtxQKu14oYx+vxsJpdKOG0qlHTeUSjtuKE0ovVAq7bihVNpxQ6m044ZSaccNpdKOE8ot+nnfKCg/n0K/gxJKL5R67cyh/NgisEU/pIqEUq8dL5TRD6kiodSSzQ2llmxuKOUrp1DWrf762nrsJyhNKL1QasnmhlJLNjeUSjtuKJV23FAq7XihjH5IFQml0o4bSqUdN5RKO24oTSi9UCrtuKFkTjtfPEm3/bEa6nb82A3d6g+YzHnHHSZz4nGHyZx5vGFGP6iKBZM597jDZE4+7jCZs89XMOvtCbOOE5gmmH4wmfOPO0wlIEeYSkCOMJWAHGEqAfnBjH5kNSTMVk9gKgE5wlQCcoSpBDQJczzjZLmdxMnox1axYCoBOcJUAnKEqQTkCFMJyBGmEpAfzKIENAez2NNnFjuJk7kOAq+GqQTkCFMJyBGmCaYfTCUgR5hKQI4wlYC+h1lOVnDMh6P9YSoB+cFkPko90T/EfJR6Bo9Syls8yh1v8ZjwvMOjbPAWj9z+Wzyp/Pvoj2XuGCeVLrlOMc8ITuWDJwTnOms8IziV+5wRnMpPzghO5RBnBBub4FQubkZwKl82I5jNaeU6AzsjmM1p5TqpOiOYzWnlOk86I5jNaeU69TkjmM1p5TqbOSOYzWnlOkE5I5jNaeU65zgjmM1p5TqNOCOYzWnlOjM4I5jNaeU62TcjmM1p5Tp/NyOYzGntNzKntd/InNZ+I3Nae67riDOCjU0wmdPab2ROa891S3JGMJnT2nPdZZwQnOt64oxgNqeV6xLhjGA2p5Xrqt+MYDanletC3oxgNqeV69rcjGA2p5XrctuMYDanlesK2oxgNqeV66LYjGA2p5XrOteMYDanlevK1YxgNqeV61rUjGA2p5Xr6tKMYDanlet60YxgNqeV6wrQjGA2p5Xrms6MYDanlesqzYxgNqeV67rLjGA2p5XrSsqMYDanlevayIxgNqeV62rHjGA2p5Xr+sWMYDanleuKxIxgNqeV6xrDjGA2p5XrqsGMYDanles6wIxgNqeVq2V/RjCb08rVhD8jmM1p5WqrnxHM5rRyNcrPCGZzWmwd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XE72wd8TtbR/zO1hG/s3XEH2wd8QdbR/zB1hF/sHXEHzdjE0zmtA62jviDrSP+YOuIP9g64g+2jviDrSP+yNUgfn/u2/PL9/Hhu7c+nk+yf/jaYvuvry12nKBM9YZfizKVd1iLMpUrWYsyld9ZizKVk1qKMle7/FqUqdzfWpSpNnhrUabaDa5FaULphVJpZw5lf3zjMsoJSqUdN5RKO24olXbcUCrtzKFsL5T1zyhzXXhYi1Jpxw2l0o4bSqUdN5QmlF4olXbmUJbHTxxLPfmJY67rH2tRKu24oVTacUOptOOFMteVlbUolXbcUCrtuKFU2nFDaULphVJpxw2l0o4bSqUdN5RKO24olXa8UOa6dLQWpdKOG0qlHTeUSjtuKE0ovVAq7bihVNpxQ6m044ZSaccNpdKOF8pc18bWolTacUOptOOGUmnHDaUJpRdKpR03lEo7biiVdtxQKu24oVTa8UKZ6+LfWpRKO24olXbcUCrtuKEM7iuP7fjxIJ9QjvboEhjtOBEc3P35Cw7u0fwFB3dS7oKj393zFxzclXwn+LvP/4mezehX+lbjCe4eVuMx4XmHJ/hOczWeVH7SH08q9+mPJ5VXvS7YnT/1C2UqF7wUZfRri0goiZ27N0pil++NkjgReKM0ofRCSZw0vFESpxJvlMQJxhul0o4bSqUdJ5QW/eIpEkqlHTeUSjtuKJV23FCaUHqhVNpxQ6m044ZSaccNpdKOG0qlHS+U0a8OI6FU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24olXbcUCrtuKFU2vFCGf1+NxJKE8qpv0H8eN7Xop/3RUKp184cyo9/GWvRD6kCoYx+SBUJpZZsbii1ZHNDqSWbG0oTyhmUdau/vrYe+wlK+Uo3lFqyuaHUks0NpdKOG0qlHS+U0Q+pIqFU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24omdPON0+ytyeRvd9eX73vP2Ay5x13mMyJxxtm9HOqWDCZU487TObc4w6TOfm4wzTBnINp/QVz+w3mf3/1OB7+ddQfT9H/+BTPH8e1YT++748ZMYcqlBkxpzWUGSkGxp+R0mX8GSm0hp9R9GO7mtF9RorY8Wek5B5/RloIxJ+RaUbhZ6Q9w9yTHDd7fOfj51f/BlMLAUeYSu6OMBWxHWEqC/vBjH4zGQum0qUjTMXASZhHfcK0cgJTec0RpgmmH0wlIEeYSkCOMJWAHGEqATnCVAL6HuZPjT9h5rqivhqmEpAjTCWg/3nTxMZ8z30GjwnPOzzKHW/xKEm8xaNs8BaP3P5bPKn8++iPn3KPcVJuleuS+ozgVD54RnAqrzojOJX7nBFsbIJTOcQZwak834zgVC5uRnAqXzYjmMxplVxXnGcEkzmtkusi8oxgMqdVbsYmmMxplVyXemcEkzmtkuvq7YxgNqeV64LsjGA2p5XrGuuMYDanleuy6YxgNqeV60rojGA2p5Xr4uaMYDanlet65YxgNqe1szmtnc1p5TqbOiOYzWntbE5rZ3NauY7Mzghmc1q5DrbOCGZzWrmOn84IZnNauQ6Jzghmc1q5jnLOCGZzWrkOXM4IZnNauY5Fzghmc1q5Di/OCGZzWrmOGM4IZnNauQ4Czghmc1q5TuvNCGZzWrlO1M0IZnNauU69zQhmc1q5TqbNCGZzWrmOec0IZnNauc5MzQhmc1q5DiDNCGZzWrlO88wIZnNauY7GzAhmc1q5rqTMCGZzWrmujcwIZnNaua52zAhmc1q5rl/MCGZzWrmuSMwIZnNaua4xzAhmc1q5rhrMCGZzWrmuA8wIZnNauVr2ZwSzOa1cTfgzgtmcVq62+hnBbE4rV6P8jGA2p8XWEV/YOuILW0d8YeuIL2wd8YWtI76wdcQXto74wtYRX9g64itbR3zN1SD+5TmqPp5Psn/42mL7r68tdpygTPWGX4uS+QKhM0rma4XOKJkvGzqjZL6C6IyS+eK5L8pcvfVrUTJfO3dGyXzr3Bml0o4bShPKKZT98Y3vG9ETlEo7biiVdtxQKu24oVTamUPZXijrCUqlHS+UuW5HrEWptOOGUmnHDaXSjhtKE8oplOXxE8dST37imOv6x1qUSjtuKJV23FAq7bihVNrxQpnrfstalEo7biiVdtxQKu24oTSh9EKptOOGUmnHDaXSjhtKpR03lEo7Xihz3VBai1Jpxw2l0o4bSqUdN5QmlF4olXbcUCrtuKFU2nFDqbTjhlJpxwtlrjtma1Eq7bihVNpxQ6m044bShNILpdKOG0qlHTeUSjtuKJV23FAq7XihzHVLcC1KpR03lEo7biiD+8qtvh5k3/cPKCe6BKLf3fMXHNyj+QsO7qT8BQf3O+6Co9/d8xcc3Dv4Cw7+hvcXHHzr6C/Y2ASzOa3od/e+FPy5eiX63T1/wbmc1oTgXE7rs+Dod/e+FPy5fCH63T1/wbmc1oTgXE5rQrCxCc7ltCYE53Jan7eW0e/u+QvO5bQmBOdyWp8FR7+75y84l9OaEJzLaU0IzuW0JgQbm+BcTmtCMJvTin53z18wm9OKfnfPW3CLfnfPXzCZ02o3MqfVol9W9BdsbILJnFaLfkvQXzCZ02rR7/L5C2ZzWtFv3PkLZnNa0e/F+Qtmc1rRb6/5C2ZzWtHvmPkLZnNa0W+C+Qtmc1rR72v5C2ZzWtFvVfkLZnNa0e8++QsO/R4eY7z+inPbtw96R3v8Qvxox4ne0K/hC/SGfgv764199uUCvaHfwRfoDf0K/lLvd391Pvrj03yMk0/z2DdRltMJ/XJfTif0zmU5ndALmuV0MrlIfzqZPKc/nUwO9boemfOHfpKMfQQEimQmV72WJK9f9ybJ6+29SZpIOpHkzQzeJHnzhTdJ3iziTZI3t3iTVMZxIhn79AcUSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5KxD35AkVTG8SKpjONFUhnHi6SJpBNJZRwvkso4XiSVcbxIKuN4kVTGcSIZ+3wQFEllHC+SyjheJJVxvEiaSDqRVMbxIqmM40VSGceLpDKOF0llHCeSsQ93QZFUxvEiqYzjRVIZx4ukXNAMyc/nXlvsE1VIJGNfRopD8nPDVOyTS1Ak9cbxImki6URSWzUvktqqeZGUn5whWbf662vrsZ+QlJ/0Iqmtmg/JHvt0GBRJZRwvkso4XiSVcbxImkg6kVTG8SKpjONFUhnHi6QyjhdJZRwnkrGP9kGRVMbxIqmM40VSGceLpImkE0nijPPFg+zbE+W+HeX1HH386atLeXxx2064EyeipdyJ89NS7sRpayl34mzmxP3JMvahTzCWxPnMnSVxQnNnSZzR3FmaWLqxVE7zY6ns5cdSeWqO5Xha9f3Wf2P5j/Y2qe4ZI3FXnvLnvu9PHlb+zD3VfWck7sppa7gr063hrvy3hruJ+xLuypVruCuDXsD9889DiC+Wr+WuvLqGu/LqEu7MN9m/4b4f/Smx2wfuW3k+dbET7sqra7grr/pz9+1b6syX5GFmZJpR+BkpM8efkfJ1/Bkpi8efkXJ7/Bkp44efUdE+IP6MtDuIPyPtGeLPSHuG+DMyzSj8jLRniD8j7Rniz0h7hvgz0p4h/oy0Zwg/o6o9Q/wZac8Qf0baM8SfkfYM8WdkmlH4GWnPEH9G2jPEn5H2DPFnpD1D/BlpzxB+Rk17hvgz0p4h/oy0Z4g/I+0Z4s/INKPwM1I+Wjujz/fPe1M+Cj+jLl+3eEYfbxH3Ll8Xf0bydfFnZJpR+Bnp50fxZ6SfH8WfkfLR2hlN9P925aP4M9LPj8LPaOjnR/FnpD1D/BlpzxB/RtozxJ+RaUbhZ6Q9Q/wZac8Qf0baM8SfkfYM8WekPUP0GY2b9gzxZ6Q9Q/wZac8Qf0baM8SfkWlG4WekPcMFM/riO2/j9cxj+/HMN/uHE9VWIttEtcPINlFtPLJNVPuRuBN9TmnThgRhStqRIExJWxKEKWlPgjAl05QApqRdCcKUtP9AmJJ2GghT0p4CYUraPayeUnug3m9b/W1Kf3iOjxfVx649RbaJaqeBNFHfNqCxa1fCPH3tYJinb5o+8fS1M2KevnZRzNPXjot5+tqdMU9fOzni6R/a3zFPX7s+5ulr18c8fe36mKdvmj7x9LXrY56+dn3M09euj3n62vUxT1+7PuLpm3Z9zNPXro95+tr1MU9fuz7m6ZumTzx97fqYp6+8n3X6n2/SDlPeJ55+kedPO/2PdwtHkednnr5p+sTTl+dnnr5+vs88ff18n3n6yvtZpz/R7VuU94mnX/Xzfebp6+f7zNPXro95+tr1MU/fNH3i6WvXxzx97fqYp69dH/P0tetjnr52fcTTb9r1MU9fuz6o6X/znbfxeOZtv/34KV/ffsxf2z7u+Wvfxz1/0/yp56+dH/f8tfXjnr/2ftzz1+Yvx/xfE9U2L9lEuzZ0aye638rtOdFRPkx04jJe19Yt20S1R0OaqHM3QtcWjXn6pukTT18bNObpa3/GPH1tz5inr90Z8/S1ZyOe/tBOjnn62t8xT1+7Pubpa9fHPH3T9Imnr10f8/S162OevnZ9zNPXro95+tr10U5/3HFp+sTT166Pefra9TFPX7s+5umbpk88fe36mKevXR/z9JX3s07/47W7cduU95mnL8+fdvqfrt7cp2+aPvH05fmZpy/Pzzx9/Xyfefr6+T7z9JX3s07/YwfyuO3K+8zT18/3maevn+8zT1+7Pubpm6ZPPH3t+pinr10f8/S162OevnZ9zNPXro94+od2fczT164PavpffOeJaxf3+Wvbxz1/7fu452+aP/X8tfPjnr+2ftzz196Pe/7a/OWY/2ui2uYlm6hpQ7d4oveP0sd33o72YaLbfRwPhdthJzPV3i3fTLVLQ5qpPb/YjtuH7/zza/vJ9LVJY56+afpJp39/5sc3tnIyfW3RmKevHRrz9LVBY56+9mfM09eujXj6RXu5tNMv5fGN23YyfW3wmKevXR/z9LXrY56+afrE09euj3n62vUxT1+7PtTpn/zcrmh/l22i2sklm2jVni3bRLU7yzZR7cOyTVQ7rmwTNU002US1i8o2Ue2Xsk1UO6PVE339PdZWP/091tRfelRtjfLNVHujdDNt2hzlm6l2R/lmqu1Rvplqf5RvpqaZppupdkj5ZqotUr6Zao+Ub6baI+WbqfZI6WbatUfKN1PtkfLNVHukfDPVHinfTE0zTTdT7ZHyzVR7pHwz1R4p30y1R8o3U+2R0s10aI+Ub6baI+WbqfZI+WaqPVK+mZpmmm6m2iPlm6n2SPlmqj1Svplqj5RvptojZZvpnYJmmm6m2iPlm6n2SPlmqj1SvpmaZppuptoj5Zup9kj5Zqo9Ur6Zao+Ub6baI6Wb6aY9Ur6Zao+Ub6baI+WbqfZI+WZqmmm6mWqPlG+m2iPlm6n2SPlmqj1Svplqj5Ruprv2SPlmqj1Svplqj5Rvptoj5ZupaabpZqo9Ur6Zao+Ub6baI+WbqfZI+WaqPVK6mR7aI+WbqfZI+WaqPVK+mWqPlG+mppmmm6n2SPlmqj1Svplqj5Rvptoj5Zup9kjpZmraI+WbqfZI+WaqPVK+mWqPlG+mppmmm6n2SPlmqj1Svplqj5Rvptoj5Zup9kjpZlq0R8o3U+2R8s1Ue6R8M9UeKd9MTTNNN1PtkfLNVHukfDPVHinfTLVHyjdT7ZHSzbRqj5Rvptoj5Zup9kj5Zqo9Ur6ZmmaabqbaI+WbqfZI+WaqPVK+mWqPlG+m2iOlm2nTHinfTLVHyjdT7ZHyzVR7pHwzNc003Uy1R8o3U+2R8s1Ue6R8M9UeKd9MtUdKN9OuPVK+mWqPlG+m2iPlm6n2SPlmapppuplqj5Rvptoj5Zup9kj5Zqo9Ur6Zao+UbqZDe6R8M9UeKd9MtUfKN1PtkfLN1DTTdDPVHinfTLVHyjdT7ZHyzVR7pHwz1R4p20z3m/ZI+WaqPVK+mWqPlG+m2iPlm6lppulmqj1Svplqj5Rvptoj5Zup9kj5Zqo9UrqZbtoj5Zup9kj5Zqo9Ur6Zao+Ub6ammaabqfZI+WaqPVK+mWqPlG+m2iPlm6n2SOlmumuPlG+m2iPlm6n2SH9zpi/u2vWs4W7ivoS7diZruGuvsYa7dg9ruGs/sIa7MvwU92MvD4nHTyB/5D7l4A8l7VXklYf9yR/2eOqj2IfvXLf662vrsZ/MSPk2/oyUhePPyDSjpTO6O7bHN7ZyMiNl7PgzUh6PPyNl9/gzUs6PPyPtBMLPyLQ9iD8j7RkWz6g8v3HbTmakPUP8GWnPEH9GphmFn5H2DPFnpD1D/Blpz3DpjOoZd+0O1nDXPmAJ96KMv4a7cvsa7sric9z79uQ++gfuU78RU5SwV5E3kXcn7/w7FEW5Of6MlJvXzmji5yFFuTn+jJSx489IeTz8jKqye/wZKefHn5F2Aotn9PnnIVXbg/gzMs0o/Iy0Z4g/I+0Z4s9Ie4b4M9KeIf6MtGe4dEZnPwdt2h2s4a59wBruyvhruCu3r+Fu4r6Eu/L1Gu7KzGu4Kwev4a5su4a78uoUd9vGQ6IdnzoEp36LsSuxriKvzLqKvFLrKvLKravIm8gvIq/suoq80usq8sqvq8grwa4irwy7iPxQhl1FXhl2FXll2FXklWFXkTeRX0ReGXYVeWXYVeSVYVeRV4ZdRV4Zdg3546YMu4q8Muwq8sqwq8grw64ibyK/iLwy7CryyrCryCvDriKvDLuKvDLsIvKbMuwq8sqwq8grw64irwy7iryJ/CLyyrCryCvDriKvDLuKvDLsKvLKsIvI78qwq8grw64irwy7irwy7CryJvKLyCvDriKvDLuKvDLsKvLKsKvIK8MuIn8ow64irwy7irwy7CryyrCryJvILyKvDLuKvDLsKvLKsKvIK8OuIq8Mu4i8KcOuIq8Mu4q8Muwq8sqwq8ibyC8irwy7irwy7CryyrCryCvDriKvDLuIfFGGXUVeGXYVeWXYVeSVYVeRN5FfRF4ZdhV5ZdhV5JVhV5FXhl1FXhl2EfmqDLuKvDLsKvLKsKvIK8OuIm8iv4i8Muwq8sqwq8grw64irwy7irwy7CLyTRl2FXll2FXklWFXkVeGXUXeRH4ReWXYVeSVYVeRV4ZdRV4ZdhV5ZdhF5Lsy7CryyrCryCvDriKvDLuKvIn8IvLKsKvIK8OuIq8Mu4q8Muwq8sqwi8gPZdhV5JVhV5FXhl1FXhl2FXkT+UXklWFXkVeGXUVeGXYVeWXYVeSVYdeQt5sy7CryyrCryCvDriKvDLuKvIn8IvLKsKvIK8OuIq8Mu4q8Muwq8sqwi8hvyrCryCvDriKvDLuKvDLsKvIm8ovIK8OuIq8Mu4q8Muwq8sqwq8grwy4ivyvDriKvDLuKvDLsKvLKsP/9IC86Jjpv6CgLvqOjvPaOjjLVOzrKPe/oKJu8oXMoP7yjI4//jo58+Ds68srv6JjovKGTySuP3n999RjtRG8m9zujN5OfndGbyaHO6M3kOSf0WiYXOaM3ky+c0ZvJ6c3ozeTdZvQamV4yf2Vk/srI/JWR+Ssj81eFzF8VMn9VyPxVIfNXxcj0kvmrQuavCpm/KmT+qpD5q0rmryqZv6pk/qqS+atqZHrJ/FWqC/Uzesn8Vapr7DN6yfxVqsvjM3rJ/FWqK9szesn8VaqL0jN6yfxVquvJM3rJ/FWqS8Ezesn8VaqruDN6yfxVqguwM3rJ/FWqa6czesn8VarLnjN6yfxVqiuWM3rJ/FWqi40zesn8VarrhDN6yfxVqkt8M3rJ/FWqq3Mzesn8VaoLazN6ufxVSXVNbEYvl78qqS5nzejl8lflZmR6ufxVSXURaUYvl78qqa7/zOgl81epLt3M6CXzV6muuszoJfNXqS6YzOgl81eprnXM6CXzV6kuU8zoJfNXqa4wzOgl81epLg7M6CXzV6ma+2f0kvmrVO36M3rJ/FWqBvwZvWT+6v9j74+yW0eWJk10Rr0IwAMRMZ+exp37Za5OUsyqBBjK47HDzc3qoVc/6Chpn+8fMHNJ5qla6kf0kvmrVE3yI3rJ/FWqtvcRvWT+iqy/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97YWsv72Q9bcXsv72QtbfXsj62wtZf3sh628vZP3thay/vZD1txey/vZC1t9eyPrbC1l/eyHrby9k/e2FrL+9kPW3F7L+9kLW317I+tsLWX97IetvL2T97SdZf/tJ1t9+kvW3n2T97efDyPRy+auTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vaTrL/9JOtvP8n620+y/vYzVb/382M/3l++9y/f/DcfZN+P9pbY7OdztP6/fudHeX3m/dHLBzz7t+/c+vs771++c7H9768tdlxMP5Mb0fR/Of1U3e+a/m+nn8mpavq/nX4m367p/3b6mVKMpv/b6ZumTzz9TAlX0//t9DP9PEXT/+30M/10SdP/7fS162OevnZ9aaffXt+4fH7fz+mnukOk6f92+tr1MU9fuz7m6WvXl3b69Wf658X0TdMnnr52fczT166Pefra9TFPX7s+5ulr15d2+uX1kct58Tu9qW5iavq/nb52fczT166Pefra9TFP3zR94ulr18c8fe36mKevXR/z9LXrY56+dn3E0091n13T/+30tetjnr52fczT166Pefqm6RNPX7s+5ulr18c8fe36mKevXR/z9LXrI55+166Pefra9TFPX7s+5ulr18c8fdP0iaevXR/z9LXrY56+dn3M09euj3n62vXxTr8+tOtjnr52fczT166Pefra9TFP3zR94ulr18c8fe36mKevXR/x9Dfl/bXT354zeE9/Oz2n//U2R92U95mnr7zPPH3lfebpm6ZPPH3lfebpK+8zT195n3n6+t0e5unrd3uIp79r18c8fe360k7/6zXGumvXxzx97fqYp2+aPvH0tetLO/2vF9nqrl0f8/S162OevnZ9zNPXro94+od2fczT164v7fS//07voV0f8/S162Oevmn6xNPXro95+tr1MU9fuz7m6WvXxzx97fqIp2/a9TFPX7s+5ulr18c8fe36mKdvmj7x9LXrY56+dn3M09euj3n62vUxT1+7PuLpF+36mKevXR/z9LXrY56+dn3M0zdNn3j62vUxT1+7Pubpa9fHPH3t+pinr10f8fRP7fqYp69dH/P0tetjnr52fczTN02fePra9TFPX7s+5ulr18c8fe36mKevXR/x9Kvy/oTp+17QqErl8WdkmlH4GSnhxp+Rcmj8GSktxp+RMl38GSl5hZ9R0+9CxJ+RfmMh/oy0Z4g/I+0ZFs/o+1W1ZppR+BlpzxB/RtozxJ+R9gyLZ/T94k/TniH+jLRnCD+jrj1D/BlpzxB/RtozxJ+R9gyLZ/T994K6aUbhZ6Q9Q/wZac8Qf0baM8SfkfYM8WekPUP0GbWH9gzxZ6Q9Q/wZac8Qf0baM8SfkWlG4WekPUP8GWnPEH9G2jPEn5H2DPFnpD1D+Blt2jPEn5H2DPFnpD1D/BlpzxB/RqYZhZ+R9gzxZ6Q9Q/wZac8Qf0baM8SfkfYM4We0a88Qf0baM8SfkfYM8WekPUP8GZlmFH5G2jPEn5H2DPFnpD1D/BlpzxB/RtozhJ/RoT1D/BlpzxB/RsY7I9e2xnYQpxhnksRZw5kkcSJwJkns251JErtrX5JG7IGdSRI7VWeSxD+3ciZJ/NMlZ5Imkk4klXGGSH7tUm6mjONFUhnHi6QyjhdJZZwhkl+7SVtRxvEiqYzjRVIZx4ukMo4XSRNJJ5LKOE4/WyzKOF4klXG8SCrjeJFUxnEieSrjeJFUxvEiqYzjRVIZx4ukiaQTSWUcL5LKOF4klXG8SCrjeJFUxnEiWZVxvEgq43iRVMbxIqmM40XSRNKJpDKOF0llHC+SyjheJJVxvEgq4ziRbMo4XiSVcbxIKuN4kVTG8SJpIulEUhnHi6QyjhdJZRwvkso4XiSVcZxIdmUcL5LKOF4klXG8SCrjeJGM7SdbeX1x7+X8ArLXVzFArxfFAD226XOXG9uZucuNbZ+c5fZHbI/jLje2EfmV3N8985/B4P2t6wWc2N5iMZzYdmExHBOcazixF5eL4STyjv5wEjlNfziJfOm8+Hb9mX9AJnK8S0Fuibz0WpC0Lt0bJK2j9wZJ6/69QZpA+oCkTRXeIGkTiDdI2rTiDVLJxgmkko0PyOCXzoFAKtk4gVSycQKpZOME0gTSB6SSjRNIJRsnkEo2TiCVbJxAKtn4gAx+WxkIpJKNE0glGyeQSjZOIE0gfUAq2TiBVLJxAqlk4wRSycYJpJKND8jgF7OBQJpAelzU7cEv6gKB1MvG5S9Xe/DbpTggg58uBQKpNZoTSK3RnEBqjeYE0gTyO8hzO//+2vPYL0DKRzqB1BrNCaTWaE4glWycQCrZ+IAMfrAUCKSSjRNIJRsnkEo2TiBNIH1AKtk4gVSycQLJm2x+8Tm2o7zbOo/zg0ftHyh5s407St50440y+LFSKJS8CccdJW/GcUfJm3LcUZpQjqBs5Y2y2wVK3qTjjpI367ijVNpxQ6m044ZSaccLZfCzpVAolXZ+idIe2wVKpR03lEo7bihNKAdQ2n6+UR7lAqXSjhtKpR03lEo7biiVdtxQKu14oQx+wBQKpdLO9V/IBj9KuhiOEskNHBOcazhKDTdwlANu4MjZ38DJdND2+520VAdtv8n96x9Lpou2I3oTOdMhvYnM5pDeRP5xSK+R6U3k8ob0JjJuQ3oTebEhvUz26i+9ZP4q05XTIb1k/irTzdAhvWT+KtMFziG9ZP4q0z3LIb1k/irTdcghvWT+KtOtxSG9ZP4q0+XCIb1k/irTHcAhvWT+KtNVvSG9ZP4q0426Ib1k/irTxbchvWT+KtP9tCG9ZP4q0zWyIb1k/irTba8hvWT+KtOlrCG9ZP4q092pIb1k/srI/JWR+atM586G9JL5KyPzV0bmrzIdhxvSS+avMp1aG9JL5q8yHS4b0kvmrzKdARvSS+avMh3VGtJL5q8ynaga0kvmrzIdfBrSS+avMp1PGtJL5q8yHSMa0kvmrzKd9hnSS+avMp3JGdJL5q8yHZwZ0kvmrzKdbhnSS+avMh1BGdJL5q8ynRMZ0kvmrzId5hjSS+avMp24GNJL5q8yHYsY0kvmrzKdXRjSS+avMh0wGNJL5q8ynQIY0kvmrzKV6g/pJfNXmcrsh/SS+atMlfNDesn8VaZi+CG9ZP6Kqr79L71c/moj62/fyPrbN7L+9o2sv/2phkwvl7/ayPrbN7L+9o2sv30j62/fMvV7b7+7DdX6+3PsX7622P731xY7rkjyXvbzJmki6USS92agN0neA4PeJHmvEXqT5D0z7k2S98q4M8lMffWLSfLeGPcmqYzjRVIZZ4Rke33j0ssVSRNJJ5LKOF4klXG8SCrjjJCsPyTPK5LKOF4klXGcSGa6GbGYpDKOF0llHC+SyjgjJMvrZ4vlvPrZYqbbHItJKuN4kVTG8SKpjONFUhnHi6QyjhPJTHdbFpNUxvEiqYzjRVIZx4ukiaQTSWUcL5LKOF4klXG8SCrjeJFUxnEimel20mKSyjheJJVxvEgq43iRNJF0IqmM40VSGceLpDKOF0llHC+SyjhOJDPdL1tMUhnHi6QyjhdJZRwvkiaSTiSVcbxIKuN4kVTG8SKpjONFUhnHiWSmG4KLSSrjeJG00CTr/pLb216/kHx+9euL61UzQPC7eP56Y3szf72xHZS/3tg+x19vbDfyK72/e/KPtGQGv6K3mk5s17CaTuxt52o6sTeYq+mY6NzQSeQ5J9BJ5FDnZbnrz/xBMpH3XUwykateTJLWr3uTDH7BEYkkbQ5wJ0mbGdxJ0uYLd5Imkk4kaXOLO0llHC+SyjheJJVxvEgq4/iQ3INfUUUiqYzjRVIZx4ukMo4XSRNJJ5LKOF4klXG8SCrjeJFUxvEiqYzjRHJTxvEiqYzjRVIZx4ukMo4XSRNJJ5JyQSN/LfP9ruQe/P4uEMngt06jkPz+F1x78FunSCT1xvEiqa2aF0lt1bxIaqvmRVJ+coDkuZ1/f+157Fck5SedSAa/dYpEUls1L5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5LBb50ikeTNOL/4HNvjtPd3/mhk2s7yyZI35fiz5M05/ixNLN1Y8mYdf5a8acefJW/e8WfJm3h+xbK/7OW2PcoVS97M484y+PVTLJbKPX4slXv8WCr3+LE0sXRjqdzzW5Yf+7n/g6Vyjx9L5R4/lso9N387EvzC6WI6wa+WrqajtHFHR/nhjo4SwR0dE50bOpluPH1v0N+D39/015vpxtOI3kw3nkb0JvKcI3qD34X015vIFw7pTeT0hvQm8m5Deo1ML5m/SnVDc0Qvmb9KdUNzRC+Zv8p0FXNIL5m/ynS5ckgvmb/KdF1ySC+Zv8p0AXJIL5m/ynRNcUgvmb/KdJlwSC+Zv8p05W9IL5m/ynQxb0gvmb/KdH1uSC+Zv8p0yW1IL5e/OjJdRRvSy+WvjkwXxob0cvmr42Fkern81ZHp8tWQXi5/dWS6IjWkl8xfZbrINKSXzF9lum40pJfMX2W6FDSkl8xfbWT+aiPzV5nuUw3pJfNXO5m/2sn8VaZbXkN6yfxVprtYQ3rJ/FWmG1NDesn8VaZ7TUN6yfxVpttHQ3rJ/FWmO0JDesn8VaabPEN6yfxVpvs2Q3rJ/FWmWzFDesn8Vaa7K0N6yfxVpgsmQ3rJ/BXxxYXfXH62/e+vLXZckdR9OS+Sui/nRVL35ZxIEl9a8CapG9peJHVD24ukbmh7kTSRdCKpG9peJJVxvEgq44yQbK9vXHq5IqmM40VSGceJJPHFBm+SyjgjJOsPyfOKpDKOF0llHC+SJpJOJJVxvEgq43iRVMYZIVleP1ss59XPFjPd5lhMUhnHiWSmeyKLSSrjeJFUxvEiqYzjRdJE0omkMo4XSWUcL5LKOF4klXG8SCrjOJHMdNNnMUllHC+SyjheJJVxvEiaSDqRVMbxIqmM40VSGceLpDKOF0llHCeSme5qLSapjONFUhnHi6QyjhdJE0knkso4XiSVcbxIKuN4kVTG8SKpjOND0jLdtltMUhnHi6QyjhdJZRwvkiaSTiSVcbxIxvaTxexF8uztC8kn99cX1+NKb2zX5643+F08f72xHZS/3tg+x19vbDfyK72/e/IPtGRa8Ct6q+nEdg2r6cTedq6mE3uDuZpOIhc5gU4iz+lPJ/hlwYl0fpPlrj/zB8lE3ncxyUSuejFJWr/uTtJE0okkbQ5wJ0mbGdxJ0uYLd5K0WcSdJG1u8SYZ/LonEkllHC+SyjheJJVxvEiaSDqRVMbxIqmM40VSGceLpDKOF0llHCeSwS/sIpFUxvEiqYzjRVIZx4ukiaQTSWUcL5LKOF4klXG8SCrjeJFUxnEiGfy6NhJJZRwvkso4XiSVcbxImkg6kVTG8SKpjONEMvj93SAkB+6UW/D7u0gk9cYZITnQCBD81ikSSb1xvEhqq+ZFUls1L5LaqjmRDH7rNAjJczv//trz2K9Iyk96kdRWzYuktmpeJE0knUgq43iRVMbxIqmM40VSGceLpDKOE8ngt06RSCrjeJFUxvEiqYzjRdJE0omkMo4XSWUcL5LKOF4keTPOLz7HZm+Umx3l53NU+6/ceRPRUu7B76jm5c6bttZy581mTtw/WPKmM3+WJpZuLHkTmj9L3ozmz5I3pfmzVE7zY6ns5cWyBL/ZisVSGcmPpXLPEMv2UriV4/wHy3/56s1ey8dtKx+fupZP8kpJq8ibyHuTd/6bxxL84qxm9NeMlAHjz0jZMv6MlFnjz0hZOPyMMt3eTjsjZff4M9JOIP6MtD2IPyPTjMLPSHuG+DPSniH+jLRniD8j7Rniz0h7hvAz2rVniD8j7Rniz0h7hvgz0p4h/oxMMwo/I+0Z4s9Ie4b4M9KeIf6MtGeIPyPtGcLP6NCeIf6MtGeIPyPtGeLPSHuG+DMyzSj8jLRniD8j7Rniz0j5aOmMBm6QFVM+ij8j+bq1M/p+D+jJQDMKPyP5uvgzkq+LPyP9/Cj+jPTzo/gzUj5aOqOBTtNSlI/iz0g/P4o/I/38KP6MtGeIPyPTjMLPSHuG+DPSniH+jLRniD8j7Rniz0h7hvAzOrVniD8j7Rn8Z/Sb77w93m3c2/bZxv3ZTHxq04AwJe0aEKZkmhLAlLRvQJiSNg4IU9LOAWFK2josntJW31Paz6spae8AMKWqzQPClLR7QJiSdg8IU9LuAWFKpikBTEm7h8VTGrnWV7V7QJiSdg8IU9LuAWFK2j0ATKlp94AwJe0eEKak3cMfnNIHd20T1nA3cR/g/vxZ2Zt7275wf/70zd5PmsOuyCvzryKvHO9Oft/fOKxccVcyX8NdWXsNd6XnJdy78vAa7kq4a7grs/pzL+WFo25X3JVZ13A3cV/CXYl1DXfl1TXclVfXcFdeXcNdeXUF9/OhvLqGu/LqGu7Kq2u4K6+u4W7iPsD9+Vx4fedzq1+4D/2k73wosa4ir8y6irxS6yryyq2ryCu5LiK/KbuuIq/0uoq88usq8kqwq8ibyC8irwy7irwy7CryyrCryCvDriKvDLuI/K4Mu4q8Muwq8sqwq8grw64ibyK/iLwy7CryyrCryCvDriKvDLuKvDLsIvKHMuwq8sqwq8grw64irwy7iryJ/CLyyrCryCvDriKvDLuKvDLsKvLKsIvImzLsKvLKsKvIK8OuIq8Mu4q8ifwi8sqwq8grw64irwy7irwy7CryyrCLyBdl2FXklWFXkVeGXUVeGXYVeRP5ReSVYVeRV4ZdRV4ZdhV5ZdhV5JVhF5E/lWFXkVeGXUVeGXYVeWXYVeRN5BeRV4ZdRV4ZdhV5ZdhV5JVhV5FXhl1EvirDriKvDLuKvDLsKvLKsKvIm8gvIq8Mu4q8Muwq8sqwq8grw64irwy7iHxThl1FXhl2FXll2FXklWFXkTeRX0ReGXYVeWXYVeSVYVeRV4ZdRV4ZdhH5rgy7irwy7CryyrCryCvDriJvIr+IvDLsKvLKsKvIK8OuIq8Mu4q8Muwa8vWhDLuKvDLsKvLKsKvIK8OuIm8iv4i8Muwq8sqwq8grw64irwy7irwy7CLymzLsKvLKsKvIK8OuIq8Mu4q8ifwi8sqwq8grw64irwy7irwy7CryyrCLyO/KsKvIK8OuIq8Mu4q8Muwq8ibyi8grw64irwy7irwy7CryyrCryCvDLiJ/KMOuIq8Mu4q8Muwq8sqwq8ibyC8irwy7irwy7CryyrCryCvDriKvDLuIvCnDriKvDLuKvDLsKvLKsKvIm8gvIq8Mu4q8Muwq8sqwq8grw64irwy7iHxRhl1FXhl2FXll2FXklWFXkTeRX0ReGXYVeWXYVeSVYVeRV4ZdRV4Z9v/6HD90TuXMOzrKgnd0lNfu6ChT3dEx0bmho2xyR0f54Y6OPP4dHfnwOzryyjd0qrzyHZ1EXrm39vriXq/0JnK/Q3oT+dkhvUamN5HnHNKbyEUO6U3kC4f0JnJ6Q3oTebcRvS2RGxvSS+avGpm/amT+qhmZXjJ/1cj8VSPzV43MXzUyf9XJ/FUn81edzF91Mn/VjUwvmb/qZP6qk/mrTuavOpe/ag8uf9UeXP6qZbpQP6SXy1+1h5Hp5fJXLdPl8SG9XP6qZbqyPaSXzF9luig9pJfMX2W6njykl8xfZboUPKSXzF9luoo7pJfMX2W6ADukl8xfZbp2OqSXzF9luuw5pJfMX2W6Yjmkl8xfZbrYOKSXzF9luk44pJfMX2W6xDekl8xfZbo6N6SXzF9lurA2pJfMX2W6Jjakl8xfZbqcNaSXzF9luhI1pJfMX2W6iDSkl8xfZbr+M6SXzF9lunQzpJfMX2W66jKkl8xfZbpgMqSXzF9lutYxpJfMX2W6TDGkl8xfZbrCMKSXzF9lujgwpJfMX2Vq7h/SS+avMrXrD+kl81eZGvCH9JL5q0wt9UN6yfxVpib5Ib1k/ipT2/uQXjJ/Rdbf3sj62xtZf3sj629vZP3tjay/vZH1tzey/vZG1t/eyPrbG1l/eyPrb29k/e2NrL+9kfW3N7L+9kbW397I+tsbWX97I+tvb2T97Y2sv72R9bc3sv72Rtbf3sj62xtZf3sj62/vZP3tnay/vZP1t3ey/vb+MDK9XP6qk/W3d7L+9k7W397J+ts7WX97J+tv72T97Z2sv72T9bd3sv72nqnf+/mpH+9Pvfcv3/s3n2Oz9lK4leP8+RzV/u07t/7+zvuX71xs//trix1XM0rkGbLOKFOPetoZJfJmaWeUyE+mnVEiD5x2RqYZhZ9RoqyRdkaJ9s9pZ5RoZ552RtozxJ+R9gxrZ9ReH7n0cjGjTPdE0s5Ie4b4M9KeIf6MtGdYO6P6M6PzakamGYWfkfYM8WekPUP8GWnPEH9G2jPEn5H2DGtnVF6/F1TOq98LynRXK+2MtGeIPyPtGeLPSHuG+DMyzSj8jLRniD8j7Rniz0h7hvgz0p4h/oy0Zwg/o0z3JdPOSHuG+DPSniH+jLRniD8j04zCz0h7hvgz0p4h/oy0Z4g/I+0Z4s9Ie4bwM8p0ZzntjLRniD8j7Rniz0h7hvgzMs0o/Iy0Z4g/I+0Z4s9Ie4b4M9KeIf6MtGcIP6OqPUP8GWnPEH9G2jPEn5H2DPFnZJpR+BlpzxB/RtozxJ+R9gzhZ9R485FzW2PjTTHeJHmzhjdJ3kTgTdJE0okkr7v2Jsnrgb1J8jpVb5K8P7fyJsn70yVnkl0Zx4ukMs4IyYEu5a6M40VSGceLpImkE0llnBGSA92kXRnHi6QyjhdJZRwvkso4LiT/+m+LpBNJZRyXny0+/9vKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5KbMo4XSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5K7Mo4XSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5KHMo4XSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5IW208e9SWhW398Idnrqxmg1+NKb2zX56/XyPTGdlD+emP7HH+9sd3Ir/T+7snf2/tb98uneWyHsZpObNewmE6Jve1cTSf2BnM1nUQucgKdRJ5zAh1jpfObLHf9mT9IJvK+i0kmctWLSdL6dXeStN7enSRtDvAmedJmBneStPnCnSRtFnEnSZtb3EmaSDqRVMbxIqmM40VSGceLpDKOF0llHCeSwS9zI5FUxvEiqYzjRVIZx4ukiaQTSWUcL5LKOF4klXG8SCrjeJFUxnEiGfy6NhJJZRwvkso4XiTlgkb+WubrXcknSbkgJ5LBb51GITnwF1zBb50ikdQbx4uktmpeJE0knUhqq+ZFUn5ygOS5nX9/7XnsVyTlJ71IaqvmRVJbNR+SW/Bbp0gklXG8SCrjeJFUxvEiaSLpRFIZx4ukMo4XSWUcL5LKOF4keTPOLz7HX70e7+98bj+fo24fLINfO8ViyZtz/FnyJh1/lrxZx5+liaUbS96848+SN/H8imWz93fuxxVL3szjz5I39fizVO5xYxn8AioWS+UeP5bKPX4slXt+yfL5X7liaWLpxlK5x4+lcs/1345swS+crqajbHJHR2njhk7w66Kr6SgR3NGRx7+jk+nG0/cG/S34/U1/vZluPI3ozXTjaURvIs85pDeRixzSm8gXjui1RE5vSG8i7zakN9MNzRG9ZP4q1Q3NEb1k/irVDc0RvWT+KtNVzCG9ZP4q0+XKIb1k/irTdckhvWT+KtMFyCG9ZP4q0zXFIb1k/irTZcIhvWT+KtOVvyG9ZP4q08W8Ib1k/irT9bkhvWT+KtMltyG9ZP4q01W0Ib1k/irThbEhvWT+KtO1riG9ZP4q0+WrIb1k/irTFakhvWT+KtNFpiG9ZP4q03WjIb1k/irTpaAhvWT+qhmZXjJ/lek+1ZBeMn/VyPxVI/NXmW55Dekl81eZ7mIN6SXzV5luTA3pJfNXme41Dekl81eZbh8N6eXyV3umO0JDern81Z7pJs+QXi5/tT+MTC+Xv9oz3YoZ0svlr/ZMd1eG9JL5q0wXTIb0kvkr4osLv7n8bK8jAcWOK5K6L+dFUvflvEjqvpwXSd2X8yKpG9pOJImvLHiT1A1tL5K6oe1FUje0vUiaSDqRVMYZIdle37j0ckVSGceLpDKOF0llHC+SyjgjJOsPyfOCJPElCG+SyjheJJVxvEgq43iRNJF0IqmMM0KyvD5GOa9+tpjpNsdikso4XiSVcbxIKuM4kcx0A2UxSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZx4ukMo4XSWUcJ5KZ7hAtJqmM40VSGceLpDKOF0kTSSeSyjheJJVxvEgq43iRVMbxIqmM40Qy0y2wxSSVcbxIKuN4kVTG8SJpIulEUhnHi6QyjhdJZRwvkso4XiSVcZxIZrrHt5ikMo4XSWUcL5LKOF4kY/vJfX99cT+O/oVkr69mgF6vmgGC38Xz1xvbm/nrje2g3PUGv4vnrze2G/mV3t89+UdaMoNf0VtNJ7ZrWE3HROeGTuwN5mo6iVzkBDqJPOcEOokc6rwsd/2ZP0gm8r5rSQa/hohEktavu5Ok9fbuJGlzgDtJE0knkrT5wp0kbRZxJ0mbW9xJKuN4kVTG8SF5BL9IikRSGceLpDKOF0llHC+SJpJOJJVxvEgq43iRVMbxIqmM40VSGceJZPCrwEgklXG8SCrjeJFUxvEiaSLpRFIZx4ukMo4TyeD3d4OQHLgreQS/v4tEUm8cn7/gOoLfOkUiqTeOF0lt1bxIaqvmRVJbNSeSwW+dBiF5buffX3se+xVJ+UkvktqqeZHUVs2LpImkE0llHC+SyjheJJVxvEgq43iRVMZxIhn81ikSSWUcL5LKOF4keTPOLz7H9ij7+zuf28/nqNsnSxNLN5a8OcefJW/S8WfJm3X8WfKmHX+WvHnHnWXwy6dhWDZ7f+d+XLHkzTz+LHlTjz9L5R4/liaWbiyVe/xYKvf4sVTu+SXL53/liqVyjx9L5R43lsGvoS5h+UFHSeaOjrLJHR2ljTs6Jjo3dJQI7ujI49/RyXTj6XuD/hH8/qa/3kw3ngb0Br9l6a83kecc0pvIRQ7pTeQLh/Qamd5E3m1Ib6YbmiN6yfxVqhuaI3rJ/FWqG5ojesn8VaarmEN6yfxVpsuVQ3rJ/FWm65JDesn8VaYLkEN6yfxVpmuKQ3rJ/FWmy4RDesn8VaYrf0N6yfxVpot5Q3rJ/FWm63NDern8lWW65Dakl8tfWaaraEN6ufyVPYxML5e/skzXuob0cvkry3T5akgvmb/KdEVqSC+Zv8p0kWlIL5m/ynTdaEgvmb/KdCloSC+Zv9rI/NVG5q8y3aca0kvmr3Yyf7WT+atMt7yG9JL5q0x3sYb0kvmrTDemhvSS+atM95qG9JL5q0y3j4b0kvmrTHeEhvSS+atMN3mG9JL5q0z3bYb0kvmrTLdihvSS+atMd1eG9JL5q0wXTIb0kvkr4osLv7n8bK8jAcWOK5K6L+dEkvjagjdJ3ZfzIqn7cl4kdUPbi6SJpBNJ3dD2Iqkb2l4kdUPbi6QyjhdJZZwRku31jUsvFySJLyt4k1TG8SKpjONFUhlnhGT9IXlekTSRdCKpjONFUhnHi6QyjhdJZRwvkso4IyTL62eL5bz62WKm2xyLSSrjeJFUxvEiqYzjRdJE0omkMo4XSWUcL5LKOF4klXG8SCrjOJHMdB9nMUllHC+SyjheJJVxvEiaSDqRVMbxIqmM40VSGceLpDKOF0llHCeSmW5ULSapjONFUhnHi6QyjhdJE0knkso4XiSVcbxIKuN4kVTG8SKpjONDsmS6E7eYpDKOF0llHC+SyjheJE0knUgq43iRVMbxIqmM40Qy+F28zV6fo2+tfSHp3CJQgt/QW8smtudbyya2i1vLxsTmkk1sp7WWTWzvtJZNbDe0lk3sHe5aNrG3skvZBL9nuJYNqy/+3qhTgt9JXMuG1RePsDGxuWTD6ou/t4CU4Hcd17Jh9cUjbFh98QgbVl88wCb4Hcq1bFh98cDPGYLft1zLhtUXj7Axsblkw+qLR9iw+uIRNqy+eIQNqy8eYcPqiwfYBL8fupaNfPE1G/niazbyxddsTGwu2cgXX7ORL75mI198zUa++JqNfPElm+A3cteykS++ZiNffM1GvviajYnNJRv54ms28sXXbOSLr9nIF1+zkS++ZBP8rupaNvLF12zki6/ZyBdfszGxuWQjX3zNRr74mo188TUb+eJrNvLFl2xi3z1s7f1rwO3JyZPNwN/dxb5kuJiNic0lm9D+ZjGb0P5mMZvQ/mYxm9D+ZjGb0P5mLZvYd/gWswm991vMRr74mg2rLx742/nY9+wWs2H1xSNsWH3xCBtWXzzwN9Cx78ItZsPqiwfYxL7dtpgNqy8eYcPqi0fYsPrigZ8zxL6BtpgNqy8eYcPqi0fYsPriETasvniEDasv/s7mjH3vazEbVl88wobVF4+wkS++ZmNic8lGvviajXzxNRv54ms28sXXbOSLL9nEvlu2mI188TUb+eJrNvLF12xMbC7ZyBdfs5EvvmYjX3zNRr74mo188SWb2HfLFrORL75mI198zUa++JqNic0lG/niazbyxdds5Iuv2cgXX7ORL75kE/tu2WI28sXXbOyPs/H967hzwZUobwUnvIIKr6DBK+joChbcGPJWsMEr2OEVHPAK4N/JFvud/P1vYE+L/U4eURD7nTyiIPY7eURB7Hfy97+xO0vsd/KIgtjv5BEFsd/JIwpiv5NHFMR+J48oiP1OHthVlNjv5BEFsd/JIwpiv5NHFMR+Jw8oOGO/k0cUxH4njyiI/U4eURD7nTyiIPY7eUQB/Dv5hH8nn/Dv5BP+nXzCv5Mr/Du5wr+TK/w7ucK/kxf01HsrgH8nV/h3coV/J1f4d3KFfyc3+Hdyg38nN/h3coN/Jy/oyPZWAP9ObvDv5Ab/Tm7w7+QG/07u8O/kDv9O7vDv5A7/TvbpWd1eH2rfTvNUMPA7Xj5tqEsVNHgFHVxB9en/XKpgg1ewwys44BUYvIICrwD9nVwfsd/J339jtj5iv5NHFMR+Jw8o2GK/k0cUxH4nf/9tzbrFfiePKIj9Th5REPudPKIg9jt5REHsd/KIgtjv5O+7irrFfiePKIj9Th5QsMd+J48oiP1OHlEQ+508oiD2O3lEQex38oiC2O/kEQWx38kjCuDfyTv8O3mHfycf8O/kA/6dfMC/kw/4d7JPh9RSBfDv5AP+nXzAv5MP+HfyAf9ONvh3ssG/kw3+nWzw72SfDqmlCuDfyQb/Tjb4d7LBv5MN/p1c4N/JBf6dXODfyQX+nezTIbVUAfw72aW/6GHlpeDRH54KBn7Hy6W/aKkCl/6itQo2eAU7vIIDXoHBKyjwCk54BRVeAfw7+Yz9Th74jdka+508oiD2O3lEQex38oiC2O/kgd/WdOkvWqsg9jt5REHsd/KIgtjv5BEFsd/JIwpiv5MHdhUt9jt5REHsd/KIgtjv5BEFsd/JIwpiv5NHFMR+J48oiP1OHlEQ+508oiD2O3lEAfw7ucO/kzv8O7nDv5M7/Du5w7+TO/w7ucO/kzv8O7nDv5M7+ju5PdDfye2B/k5uD/R3cnugv5PbA/2d3B7o7+T2QH8ntwf6O7k90N/J7QH/Tt7g38kb/Dt5g38nb/DvZJcOqbUK4N/JG/w7ecN9J/dW/5+Lsoq619fH71v/+Pj1/T/s//F/eFHNMPA/3P7r/3D/D//DbduP/2f/936tZyD5+3/Zu/1jtj//w/4f/4f/3iY18j/c/uv/cP+v/8Pjv/4P7b/+Dx0eeFs/j/fc2/nl/9jO7fz7i89j/z//D+jvD3VG/FA14odqET9Un/uh3v8hj06asf/Q9qf+Q/uf+g8df+o/ZH/qP1T+1H/o/FP/ofqn/kPtT/2H/njU/+v31V/fe3+0n69u28/HskfMjxU6lNda3197/PuLwEJn8hEBoSP5iABDFxA6kI8ICJ3HRwSEjuMjAkJvyEcEhF6QDwgooffjIwLQ38QF/U1c0N/ELn0YSwWgv4kL+pu4oL+JY/eRjAhAfxPHbiMZEYD+Jo7dRTIiAP1NHLuJZEQA+psYuAPjbwG4tVT/n4Dg7Qt3P2P/WwDuL8v8LSD0U2hEAO6vyvwtAPc3Zf4WgPuLMn8LCP0eGPhJd+zahQEBsVsXRgSEzgMjAkK/iUcEhH4TjwgI/SYeERD6TTwiIPSbeERA6DfxiAD0N3HssoUBAbG7FkYE/Pk38eWm4f/+2m3rLzu67Y8PP/r5CzcLuhbcJRz4EgxfQsGXcOJLqPgSWhwJPx+qx/tQx+OP3115/nfff+6y2cfvcG728bG2mB8r9IWUkXGHPpAyIsDQBYQ+jzIiIPTFshEBoQ+WjQgIfa9sREDoc2UDArYHuoDQx8pGBKC/iTf0N7FLa8FSAehv4g39Tbyhv4k39Dfxhv4m3tHfxDv6m3hHfxPv6G/iHf1NvKO/iXf0N/GO/ibe0d/EO/qb+EB/Ex+xj0d//e3k4wj9HhgREPop9P03M48j9FNoREDop9CAAAv9FBoREDoPjAgInQdGBIR+D3z/laLDQr8HRgSEzgMjAkLngREBod/EIwJCv4lHBIR+Ew8IKKHfxCMCQr+JRwSEfhOPCEB/E7u0lywVgP4mLn/+TfybX2Z8tJ9fOnt8/Drf5y+dlYovoeFL6PASzge+hA1fwo4v4Ygt4Z3xnxK2f0j4l+/c39/58dG939qHXOOSW7jkxnYI//i19Kv/e4ztEIYkxHYIQxJiO4QRCTW2QxiSENshDEmI7RCGJMR2CCN/6+PSNLRYQuw3+ZCEQG/nnw8V6H3786Fc3qD9dY1i38v+5UNt5X26otjFh+oBP5RLe8+vPpTzb6q4tPcsFbCjCzjQBRi6gIIu4EQXUNEFNHQBHVxAR38Td/Q3cUd/E3f0N7FLb89SAehv4o7+Ju7ob+KO/ibu4G9ie4C/ie0B/ia2B/ib2B7gb2J7gL+J7QH+JrYH+JvYHuBvYnuAv4ntgf4m3tDfxBv6m3hDfxNv6G9in26hlQLQ38Qb+pt4Q38Tb+hv4g39Tbyjv4l39Dfxjv4m3tHfxD7dQisFoL+Jd/Q38Y7+Jt7R38Q7+pv4QH8TH+hv4gP9TXygv4l92p1WCkB/Ex/ob+ID/U18oL+JD/Q3saG/iQ39TWzob2JDfxP79GutFID+Jjb0N7Ghv4kN/U1s6G/igv4mLuhv4oL+Ji7ob2Kffq2VAtDfxAX9TVzQ38QF/U1c0N/EJ/qb+ER/E5/ob+IT/U3s05G1UgD6m/hEfxOf6G/iE/1NfKK/iSv6m7iiv4kr+pu4or+JfXqrVgpAfxNX9DdxRX8TV/Q3cUV/E6N3bBl6x5ahd2wZeseWoXdsGXrHlqF3bBl6x5ahd2wZeseWoXdsGXrHlqF3bBl6x5ahd2wZeseWoXdsGXrHlqF3bBl6x1ZB79gq6B1bBb1jq6B3bJUH+Ju4oHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsnesfWid6xdaJ3bJ3oHVvnA/xNfKJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesfWid6xdaJ3bJ3oHVsnesdWRe/YqugdWxW9Y6uid2zVB/ibuKJ3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bDb1jq6F3bDX0jq2G3rHVHuBv4obesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsdfSOrY7esdXRO7Y6esdWf4C/iTt6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x9fyk4K/ivz4pvALwl/Hzk4K/jZ+fFPx1/Pyk4O/j5ycFfyE/Pyn4G/n5ScFfyc9PCv9ORq/beiqAfyejF249FcC/k9Ert54K4N/J6KVbTwXw72T02q2nAvh3Mnrx1lMB/DsZvXrrqQD+nYxevvVUAP9ORq/feiqAfyejF3A9FcC/k9EruJ4K4N/J6CVcTwXw72T0Gq6nAvh3MnoR11MB/DsZvYrrqQD+nYxexvX8ePDvZPQ6rufHg38noxdyPT8e/DsZvZLr+fHg38nopVzPjwf/Tkav5XoqgH8noxdzPRXAv5PRq7meCuDfyejlXE8F8O9k9HqupwL4dzJ6QddTAfw7Gb2i66kA/p2MXtL1VAD/Tkav6XoqgH8noxd1PRXAv5PRq7qeCuDfyehlXU8F8O9k9LqupwL4dzJ6YddTAfw7Gb2y66kA/p2MXtr1VAD/Tkav7XoqgH8noxd3PRXAv5PRq7ueCuDfyejlXU8F8O9k9PqupwL4dzJ6gddTAfw7Gb3C66kA/p2MXuL1VAD/Tkav8XoqQH8nb/A9Xht8j9cG3+O1wfd4PT8fvAL0d/IG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd4bfA9Xht8j9cG3+O1wfd47fA9Xjt8j9cO3+O1w/d47Q/0d/IO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xjt8j9cO3+O1w/d47fA9Xgd8j9cB3+N1wPd4HfA9XscD/Z18wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j9cB3+N1wPd4HfA9Xgd8j5fB93gZfI+Xwfd4GXyPlz3Q38kG3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf41Xge7wKfI9Xge/xKvA9XuWB/k4u8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j9cJ3+N1wvd4nfA9Xid8j9f5QH8nn/A9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+N1wvd4nfA9Xid8j9cJ3+NV4Xu8KnyPV4Xv8arwPV71gf5OrvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xg+/xavA9Xg2+x6vB93i1B/o7ucH3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eHb7Hq8P3eHX4Hq8O3+PVH+jv5A7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvsero/d47Q/0Hq+nAvB38lMB+Dv5qQD8nfxUAP5OfioAfyc/FYC/k58KwN/JTwXg7+SnAvh3MnqP11MB/DsZvcfrqQD+nYze4/VUAP9ORu/xeiqAfyej93g9FcC/k9F7vJ4K4N/J6D1eTwXw72T0Hq+nAvh3MnqP11MB/DsZvcfrqQD+nYze4/X8b8C/k9F7vJ7/Dfh3MnqP1/O/Af9ORu/xev434N/J6D1ez/8G/DsZvcfrqQD+nYze4/VUAP9ORu/xeiqAfyej93g9FcC/k9F7vJ4K4N/J6D1eTwXw72T0Hq+nAvh3MnqP11MB/DsZvcfrqQD+nYze4/VUAP9ORu/xeiqAfyej93g9FcC/k9F7vJ4K4N/J6D1eTwXw72T0Hq+nAvh3MnqP11MB/DsZvcfrqQD+nYze4/VUAP9ORu/xeiqAfyej93g9FcC/k9F7vJ4K4N/J6D1eTwXw72T0Hq+nAvh3MnqP11MB/DsZvcfrqQD+nYze4/VUAP9ORu/xeiqAfyej93g9FcC/k9F7vJ4K4N/J6D1eTwXo7+QNvsdrg+/x2uB7vDb4Hq/n54NXgP5O3uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8Nvsdrg+/x2uB7vDb4Hq8dvsdrh+/x2uF7vHb4Hq/9gf5O3uF7vHb4Hq8dvsdrh+/x2uF7vHb4Hq8dvsdrh+/x2uF7vHb4Hq8dvsdrh+/x2uF7vHb4Hq8dvsdrh+/x2uF7vHb4Hq8dvsdrh+/x2uF7vHb4Hq8dvsdrh+/x2mN3SBXb//7aYpcKQr8PhhSEfhaV0l4KznqlIPSzaEhB6GfRkILQz6IhBaHzwYiC2P1FQwpCvw/O7fz7a89jv1IQ+n0wpCB0PhhSYPAKQr+ThxSEficPKQj9Th5SEPqdPKQg9Dt5REHs/qIhBfDv5Nj9RUMK4N/JsfuLhhTAv5Nj9xcNKYB/J8fuLxpS8OffyZebxP/7a1vtr8/R2mY/n+Ns/3FHuaDtaK3ejUzvTqb3QNX7ocESaCgJNJwJNNQEGloCDbC+4kdDhfUKHxpg3/8fGmDf6R8aYr+nW328vrh/9yX9/Z0f/edr2z/0xn6n++uN/f7/nV7n3wupsX3FWjax/cpaNrF90Fo2sf3VUjYttm9byya2H1zLJrbPXMsmk3/1ZmNic8lGvviajXzxNRv54ms28sXXbOSLL9l0+eJrNvLF12zki6/ZyBdfszGxuWQjX3zNRr74mo188TUb+eJrNvLFV2yOh3zxNRv54ms28sXXbOSLr9mY2FyykS++ZiNffM1GvviajXzxNRv54ks2m3zxNRv54ms28sXXbOSLr9mY2FyykS++ZiNffM1GvviajXzxNRv54ks2O6m/GeifPHZSfzPEhvQ9NdAVeOyk76khNqTvqSE2pO+pETYH6f5miA3p/maIDam/GehLOg5SfzPExsTmkg3p/maIDakvHmJD6ouH2JD64iE2pL54hI2R+uIhNqS+eIiNfPE1G/niazaWiM0vvvPWTnspfP5Xfr56+7ev3kt5CazbFclMLnotyUyeey3JTA59LclMft6J5AedTI7enU7J5On96WRy9f50Mvl6fzqZnL0/HROdGzry63d0WD14P1/feev1+Aed/5awC6sH9yfJ6sF/RXLf3wKtXJFk9evuJIPf7EEiyZoD/EmyZgZ/kqz5wp+kiaQTSdbc8juSAzvd4DelkEiSZpznZ3v9OHZ/fH7m/5xxgt/XQiJJmnF+R3LkjRP81hgSSdKMM4EkacaZQJI040wgaSLpRJI040wgSZpxfklyIOOkuoa3liRrxtm2N5xtbw4ZJ9WlvaUkU93lm0Zy5I2T6orfWpKsGcefJGvG8SdpIulEkjXj+JNkzTj+JFkzzu9IDmScVHcQ15Kk/TlOO39I9i8ka39/58fP126tfZBMdWNxLUnan+O4k6TNOOf2JlnNYYOR6trjWpImkt9JjvjJVJck15KkzTjuJGkzjjtJ2ozjTpL25zjOJC3Vvcy1JGl/jvMrkt83GJbqFudakso4+9b++TsYH3RMdG7oKIvc0WHNF8891vsz7+V/3x5Yqmufa0my5otfkRzycqz5wp1kqruja0my5gt/kqz5wp8ka77wJ2ki6USSNbf8juTA9iDVLda1JJVxnv+ne1xk6VS3W/3pKIvc0Nlp88XZ3p+5bQ7bg502X7iTpM0XvyE54uVSXSBeS9JE0okkbb5wJ0mbL9xJ0uYLd5K0WcSdJG1u+RXJge1Bqtvfa0kq43iRVMbxIqmM40XSRNKJpDKOF0llHC+SyjhPkv/8C/EPOsotd3SURW7opLqhfvmdP/RSpIAPvbG9en/3Jbb+8Z3/B72xHbW/Xsujd2SzFPxyuL/e2B7SX29sp+evN7Z389cb24256w1+z/p3egeSWvAL1f56E/mrIb2J/NWQXiPTm8lfjegN7q/aTx7sh0NeCH5h2V9vcH/1G71DfiO4v/LWG/ymsL/e4P7KXW9wf+WuN7i/ctdrifQO+I3gF2n99SbyV0N6E/mrIb2Z/NWI3kz+akBv7Hum/WGv79wf5XTIC7Gvjk7QG9pf/U7viN+IfcFzgl4j0xvaX03QG9pfTdAb2l9N0BvaX/1S74jfCO2v/PXGvqU4QW8ifzWkN5O/GtGbyV+N6DUYvec/8+CHBhzPdK0Bxwddawjubfrrc/TnB3HInrHvvk3QG9zb/EbviHeNfUNtgt7g3sZdb3Bv4643uLdx12tkeoP7oF/pHfCuse9kTdCbyF8N6U3kr4b0ZvJX3/WW2PebJujN5K9G9AL5q/7vmbbEvkI0qMFCa9jsR8PH3/n++7+7tr+KVdvHZ9637VNvbB/krze2D/qV3trevyC/7V++88DOosS+0LOYTWx/tZZNbC+2lE3suziL2cT2eGvZxPaDa9nE9plr2ZjYXLJJ5HXd2cgXX7ORL75mI198zUa++JJN7Hsui9nIF1+zkS++ZiNffM3GxOaSjXzxNRv54ms28sXXbOSLr9nIF1+yiX0DZDEb+eJrNvLF12zki6/ZmNhcsiH1N8Vev0dR7JINqb8ZYRO7d34im/I6QlDOesWG9D01xIb0PTXEhvQ9NcSGdH8zxIZ0fzPEhtTfDNx2L7G7+hezId3fjLCJfQNgMRtSXzzEhtQXD7Eh9cVDbExsLtmQ+uIhNqS+eIiNfPE1G/niazbyxZdsYt9u+CWbX3znWl9/+1v/cZf1828SY995WMwmky/2ZpPJF3uzMbG5ZJPJF3uzyeSLvdlk8sX/jU0/r9hk8sXebDL5Ymc2wW9uTGPz0dVxlCs2pL54iA2pLx5iQ+qLh9iY2FyyIfXFQ2xIffEQG1JfPNK3FfymyVo2pL54hE3wWylObD70UnjdD72x/eu+v764H0f/ond7NHt96qeCn6+u//gXHduVzlBsdIpjO8gZimP7whmKY7u9GYpje7gZimM7swmKg99vmaE4tuOaoZjOcwW/4jJDsdEppvNcwW+5zFBM57mC33OZoZjNc53Bb7rMUMzmuc7gd11mKGbzXOfD6BSzea4z+N2YGYrZPNcZ/MbLDMV0niv4PZYZiuk8V/DbKTMU03mu4HdOZiim81zBb5LMUEznuYLfD5mhmM5zBb/1MUMxnecKfpdjhmI6zxX8hsYMxXSeK/i9ixmK6TxX8NsUMxTTea7gdyRmKKbzXMFvPsxQTOe5gt9nmKGYznMddJ4r+GWNGYrpPNdB57mMznMFv3QyQzGd5wp+lWSGYqNTTOe5gt8FmaGYznMFv+ExQzGd5wp+b2OGYjrPFfw2xgzFdJ4r+B2LGYrpPFfwmxMzFNN5ruD3IWYopvNcwW85zFBM57mC312YoZjOcwW/kTBDMZ3nCn7PYIZiOs8V/PbADMV0niv4nYAZiuk8V/BO/xmK6TxX8P79GYrpPFfwrvwZiuk8V/Be+xmK6TxX8A76GYrpPBddD/1J10N/0vXQn3Q99CddD/1J10N/0vXQn3Q99CddD/1J10N/0vXQn3Q99CddD/1J10N/0vXQn3Q99CddD/1J10Nf6XroK10PfaXroa90PfT1YXSK2TxXpeuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ9/oeugbXQ99o+uhb3Q99O1hdIrZPFej66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvqWqaO81/31xfWf3/lDb6K38ZDeRM/p3trri3u90pvoKT2kN9Ezekhvoif0kN5EmXhEb6bG6iG9md6/I3ozvX9H9CbKwkN6jUwvmb/K1FI9pBfWX31ogPVMHxpi+6Cjvv8pWX+4JPPgPdIzFMf2QjMUx3ZDMxTH9kMzFBud4tieaIbi2K5ohuLYvmiG4tguaoZiOs8VvEd6hmI6zxW8R3qGYjrPFbxHeoZiOs8VvEd6hmI6zxW8R3qGYjbP1YP3SM9QzOa5evAe6RmK2TxXfxidYjbP1YP3SM9QzOa5evAe6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPFfwHukZiuk8V/Ae6RmK6TxX8B7pGYrpPNdJ57mCd4XPUEznuU46z3UanWI6zxW8FX6GYjrPFbwZfoZiOs8VvB1+hmI6zxW8IX6GYjrPFbwlfoZiOs8VvCl+hmI6zxW8WX6GYjrPRddD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99Z+uhPx5sPfRPxWSe66mYzHM9FZN5rqdio1NM5rmeisk811Mxmed6KibzXE/FdJ6LrYf+qZjOc7H10D8V03kuth76p2I6z8XWQ/9UTOe52Hron4rpPBdbD/1TMZ3nYuuhfyqm81xsPfRPxXSei62H/qmYznOx9dA/FdN5LrYe+qdiOs/F1kP/VEznudh66J+K6TwXWw/9UzGd52LroX8qpvNcbD30T8V0nouth/6pmM5zsfXQPxXTeS62HvqnYjrPxdZD/1RM57nYeuifiuk8F1sP/VMxnedi66F/KqbzXGw99E/FdJ6LrYf+qZjOc7H10D8V03kuth76p2I6z8XWQ/9UTOe52Hron4rpPBdbD/1TMZ3nYuuhfyqm81xsPfRPxXSei62H/qmYznOx9dA/FdN5LrYe+qdiOs/F1kP/VEznudh66J+K6TwXWw/9UzGd52LroX8qpvNcbD30T8V0nouth/6pmM5zsfXQPxXTeS62HvqnYjrPxdZD/1RM57nYeuifitk810bXQ7/R9dBvdD30G10P/VMPnWI2z7XR9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/UbXQ7/R9dBvdD30G10P/Zapo7zX/fXF9Z/f+UdvpobyIb2JntO9vb+41yu9iZ7SQ3oTPaOH9CZ6Qg/pTZSJh/QmSsRDejO9fwf0ZmqrHtKbKAsP6U2UhIf0kvmrTC3VQ3ph/dWHBljP9KEhtg8q9sra/eztWzIvr4/xXCpd/buL7YP89cb2Qe56gzdI++uN7YP89cb2Qf56Y/sgf71Gpje2D/LXG9sz+esl81fBG6P99ZL5q+Bt0f56yfxV8KZof71k/ip4S7S/XjJ/Fbwh2l8vmb8K3g7tr5fLX+3Bm6H99XL5qz14K7S/Xi5/tT+MTC+Xv9qDt0H76+XyV3vwJmh/vWT+KngLtL9eMn8VvAHaXy+Zvwre/uyvl8xfBW9+9tdL5q+Ctz776yXzV8Ebn/31kvmr4G3P/nrJ/FXwpmd/vWT+KnjLs79eMn8VvOHZXy+Zvwre7uyvl8xfBW929tdL5q+Ctzr76yXzV8Ebnf31kvmr4G3O/nrJ/FXwJmd/vWT+KniLs79eMn8VvMHZXy+Zvwre3uyvl8xfBW9u9tdL5q+Ctzb76yXzV8Ebm/31kvmr4G3N/nrJ/FXwpmZ/vWT+qpD5q+A93O56g/dw++sl81cnmb8K3rPur9fI9JL5q+A96/56yfxV8J51f71k/ip4z7q/XjJ/Fbxn3V8vmb8K3rPur5fMXwXvZPfXS+avyPrbd7L+9p2sv30n62/fyfrbd7L+9p2sv30n62/fyfrbd7L+9p2sv30n62/fyfrbd7L+9p2sv30n62/fyfrbd7L+9p2sv30n62/fyfrbd7L+9oOsv/0g628/yPrbD7L+9uNhZHq5/NVB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3H2T97QdZf/tB1t9+kPW3G1l/u5H1txtZf7uR9bfbw8j0cvkrI+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52I+tvN7L+diPrbzey/nYj6283sv52y9R33ev++uJ6XOlN9D4a0ZupD7m39vriXq/0JnpeDelN9Lwa0mtkehPlwSG9ifLgkN5M798RvZnevyN6E+XBEb2Z+pCH9JL5q0x9yEN6Yf3VhwZLoCG2D6p7f2loe/2Wyx/9fH3qp7yPry6fimM7oRmKY3uhGYpju6EZimP7oQmKgzcYz1Ac2xPNUBzbFc1QHNsXzVBsdIrpPFfwNuMZiuk8V/BG4xmK6TxX8FbjGYrpPFfwZuMZiuk8V/B24xmK6TxX8IbjGYrpPFfwluMZitk8VwnedDxDMZvnKsHbjmcoZvNc5WF0itk8VwneejxDMZvnKsGbj2copvNcwduPZyim81zBG5BnKKbzXMFbkGcopvNcwZuQZyim81zB25BnKKbzXMEbkWcopvNcwVuRZyim81zBm5FnKKbzXMHbkWcopvNcwRuSZyim81zBW5JnKKbzXMGbkmcopvNcwduSZyim81zBG5NnKKbzXMFbk2copvNcwZuTZyim81zB25NnKKbzXMEblGcopvNcwVuUZyim81zBm5RnKKbzXMHblGcopvNcwRuVZyim81zF6BTTea5C57mCd4XPUEznuQqd5zrpPFfwTvgZiuk8V/Be+BmKjU4xnecK3g4/QzGd5wreED9DMZ3nCt4SP0MxnecK3hQ/QzGd5wreLD9DMZ3nouuhL3Q99IWuh77Q9dAXuh76QtdDX+h66AtdD32h66EvdD30ha6HvtD10Be6HvpC10Nf6HroC10PfaHroS90PfSFroe+0PXQF7oe+kLXQ1/oeugLXQ/9SddDf9L10J90PfQnXQ/9+TA6xWye66TroT/peuhPuh76k66H/qTroT/peuhPuh76k66H/qTroT/peuhPuh76k66H/qTroT/peuhPuh76k66H/qTroT/peuhPuh76M1NH+fOrX19c//mdP/QmehuP6M3UXd1be31xr1d6Ez2lh/QmekYP6U30hB7SmygTD+lNlIiH9GZ6/47ozfT+HdGbKAuP6M3UVD2kl8xfZWqpHtIL668+NFgCDbF9UCv1/U+pnN+Sue3vZG5H+fnq2j8Vx3ZCMxTH9kIzFMd2QzMUx/ZDExQH75GeoTi2J5qhOLYrmqE4ti+aodjoFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMU03mu4D3SMxTTea7gPdIzFNN5ruA90jMUs3muGrxHeoZiNs9Vg/dIz1DM5rnqw+gUs3muGrxHeoZiNs9Vg/dIz1BM57mC90jPUEznuYL3SM9QTOe5gvdIz1BM57mC90jPUEznuYL3SM9QTOe5gvdIz1BM57mC90jPUEznuYL3SM9QTOe5djrPFbwrfIZiOs+103mug85zBe+En6GYznMF74WfodjoFNN5ruDt8DMU03mu4A3xMxTTea7gLfEzFNN5ruBN8TMU03mu4M3yMxTTeS66HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66GvdD30la6HvtL10Fe6HvpK10Nf6XroK10PfaXroa90PfSNroe+0fXQN7oe+kbXQ98eRqeYzXM1uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvmTrKe91fX1z/+Z0/9CZ6Gw/pTfSc7q29v7he6U30lB7Sm+gZPaQ30RN6SG+iTDyiN1Nj9ZDeTO/fEb2Z3r8jehNl4SG9RqaXzF9laqke0gvrrz40wHqmDw2xfVB/f+ftse3bt2he3l9d7OIfXvAa6QmCYzuhCYJjW6EJgmN7oQmCjU1wbDc0QXBsOzRBcGw/NEFwbPM0QTCb0wpeHj1BMJvTCl4dPUEwm9MKXhw9QTCb0wpeGz1BMJvTCl4aPUEwmdPqwSujJwgmc1o9eGH0BMFkTqs/jE0wmdPqwcuiJwgmc1o9eFX0BMFsTit4UfQEwWxOK3hN9ATBbE4reEn0BMFsTit4RfQEwWxOK3hB9ATBbE4reD30BMFsTit4OfQEwWxOK3g19ATBbE4reDH0BMFsTit4LfQEwWxOK3gp9ATBbE4reCX0BMFsTit4IfQEwWxOK3gd9ATBbE4reBn0BMFsTit4FfQEwWxOK3gR9ATBbE4reA30BMFsTit4CfQEwWxOK3gF9ATBbE4reAH0BMFsTit4/fMEwWxOK3j58wTBbE4rePXzBMFsTit48fMEwWxO62RzWsGbvScIZnNaJ5vTOo1NMJvTCl7fPkEwm9MKXuA+QTCb0wpe4T5BMJvTCl7iPkEwm9MKXuM+QTCb0wpe5D5BMJvTCl77PkEwm9Ni64jvbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72Qd8fZI1SD+/X77U3Cm9/CQ4ExP6e8XRp+CMz2lhwRnekoPCc70lB4SnCkPDwnOlIdHBKfqlx4SnOo9PCI4Ux4eEpwpDw8JNjbBbE4LuF/6QwSue/oQEdoRPT/5+fNB9n3/8m/v+nt/KA5tiWYojt0EPUVxaFM0RXFoVzRFcWhbNEWx0SkObYymKA7tjKYoDm2jpiim81yxK6FnKI7dCT1FMZ3nit0KPUUxneeK3Qs9RTGd54rdDD1FMZ3nit0NPUUxneeK3Q49RTGd54rdDz1FMZ3nit0QPUUxneeK3RE9RTGd54rdEj1FMZ3nit0TPUUxneeK3RQ9RTGd54rdFT1FMZ3nit0WPUUxneeK3Rc9RTGd54rdGD1FMZ3nit0ZPUUxneeK3Ro9RTGd54rdGz1FMZ3nit0cPUUxneeK3R09RTGd54rdHj1FMZ3nit0fPUUxneeK3SA9RTGd54rdIT1FMZ3nit0iPUUxneeK3SM9RTGd54rdJD1FMZ3nit0lPUUxneeK3SY9RTGd54rdJz1FMZ3nit0oPUUxneeK3Sk9RTGd54rdKj1FMZ3n6nSeq7N5ri12d/gUxWye6/lt6BSnejsVezXEF7tUnOrtNKI4dtvyrxWXV3NpOeuV4lRPriHFqZ5cQ4pTpcUhxUanOFVaHFKc6n18buffX30e+5XiVO/jIcWp0uKQ4lRpcURxrjbnIcWpPNeQ4lSea0hxKs81pNjoFKfyXEOK6TxXrjbnIcXAnutDBbCP+lERvXV5P+uPivb48q9vZMsavXV5guLg3uh3ivf9/UGsXCkO7o0mKDY6xcG90QTFwb3RBMXBvdEExcG90S8Vl/L6IHW7UhzcR/krjt66PEFxKs81pDiX5xpRnMtzjSg2OsW5PNeI4uCe69iOjw9yfFH8DEav9czTP398kud+4ENzcNc1RXNw3zVFc3DnNUNz9PblKZqDu68pmoP7rymagzuwKZqNUHNwFzZFM6EPi97FPEUzoQ+L3sc8Q3P0RuYpmgl9WPRW5imaCX1Y9GbmKZoJfVj0duYpmgl9WPSG5imaCX1Y9JbmKZoJfVj0puYpmgl9WPS25imaCX1Y9MbmKZoJfVj01uYpmgl9WPTm5imaCX1Y9PbmKZoJfVj0Bucpmgl9WPQW5ymaCX1Y9CbnKZoJfVj0Nucpmgl9WPS2399p7vXVPNfrP7/3h+JUb+chxame2b29Gqt6v2qsit4E6654j94EO0Fxqqf1kOJUmXlIcarEPKQ41/t4RHGu9/GI4lRZeUhxqqQ8pJjNc+0POs8VvcP6TvGHCmAf9aEiuDey034+SK1f/vUNtBnt0bumJyg2OsXBvdHvFA/0vuzRu6YnKA7ujSYoDu6NJigO7o38FUfvmp6gOLiPmqA4lecaaEHZo3dNT1BsdIpzea4Rxbk814jiXJ5rRHEuzzWiGMlzNbvYa0TvpR5UgeSNrlUE9ztl/9mUleN02D9E74+eoNgyKR5x8dH7oycoDu53JigO7ncmKA7udyYoDu53/BVH74/+peIBTxu9P3qC4lSea0hxKs81pNjoFOfyXCOKc3muEcVInsuufq8ieh/0oAokb3SpInpnc2nl/UHO/u03rFqxx+ubl3J+fJLzU3N0xzNDc3TPM0NzdNczQ7MRao7ufGZoju59ZmiO7n5maI7ulWZoju6sJmiO3tk8RTOhD4ve2TxFM6EPi97ZPEUzoQ+L3tk8RTOhD4ve2TxFM6EPi97ZPEUzoQ+L3tk8RTOhD4ve2TxFM6EPi97ZPEUzoQ+L3tk8RTOhD4ve2TxFM6EPi97ZPEUzoQ+L3tk8RTOhD4ve2TxFM6EPi97ZPEUzoQ+L3tk8RTOhD+uEPqwT+rDo3dxTNBP6sE7owzqhD4vewz5FM58PO6J3sU/RzOfDjuh97FM08/mw42GEmvl82BG9l32KZj4fdkTvZp+imdCHRe9nn6KZ0IdF736fopnQh0Xvf5+imdCHRe+An6KZ0IdF74GfopnQh0Xvgp+imdCHRe+Dn6KZ0IdF74SfopnQh0XvhZ+imdCHRe+Gn6KZ0IdF75KfopnQh4XvqZ+hmdCHhe+qn6GZ0IeF76ufoZnQh4XvrJ+hmdCHhe+tn6GZ0IeF766foZnQh4Xvr5+hmdCHhe+wn6GZ0IeF77yfoZnQhxH26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffoHYZ/+QdinfxD26R+EffpG2KdvhH36Rtinb4R9+vYwQs18PswI+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBP3wj79I2wT98I+/SNsE/fCPv0jbBPvxD26RfCPv1C2KdfCPv0y8MINfP5sELYp18I+/QLYZ9+IezTL4R9+oWwT78Q9ukXwj79QtinXwj79Athn34h7NMvhH36hbBPvxD26RfCPv1C2KdfCPv0C2GffiHs0y+EffqFsE+/5OpZ73X/+6t7/ef3/lCc6u08pDjVM7u39lLc65XiVE/sIcWpntdDilM9rYcUp8rMQ4pTJeYRxbn6tocU53ofjyhOlZWHFKdKykOKjU4xnedC7tj+UAHsoz5UBPdG9Xi8P0izb//6/urE/fvL/6qiu8ju0XuwZ2iO3oM9RXNwhzRFc3CPNEVzcJc0RbMRag7ulKZoDu6VpmgO7qymaCb0YdF7sGdojt6DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOhD4vegz1FM6EPi96DPUUzoQ+L3oM9RTOfDzuj92BP0cznw87oPdhTNPP5sPNhhJr5fNgZvQd7imY+H3ZG78GeopnQh0XvwZ6imdCHRe/BnqKZ0IdF78GeopnQh0XvwZ6imdCHRe/BnqKZ0IdF78GeopnQh0XvwZ6imdCHRe/BnqKZ0IdF78GeopnQh+2EPmwn9GHR+86naCb0YQehDzsIfVj03vPfaR5o8z+j9577K47eif1Lxd+bZc/ondgTFKd6Xg8pTvW0HlJsdIpTJeYhxbnexyOKc72PRxSnyspDilMl5RHFuXq2hxTTeS7kju0PFcA+6kOFxVbR2v7+IL32L//6tqO/RR+9X2T36D3YUzQH90dTNAd3SFM0B/dIUzQHd0kzNEfvwZ6iObhTmqI5uFeaojm4s5qi2Qg1E/qw6D3YUzQT+rDoPdhTNBP6sOg92FM0E/qw6D3YUzQT+rDoPdhTNBP6sOg92FM0E/qw6D3YUzQT+rDoPdhTNBP6sOg92FM0E/qw6D3YUzQT+rDoPdhTNBP6sOg92FM0E/qw6D3YUzQT+rDoPdhTNBP6sOg92FM0E/qw6D3YUzQT+rDoPdhTNPP5sBq9B3uKZj4fVqP3YE/RzOfD6sMINfP5sBq9B3uKZj4fVqP3YE/RTOjDovdgT9FM6MOi92BP0Uzow6L3YE/RTOjDovdgT9FM6MOi92BP0Uzow6L3YE/RTOjDovdgT9FM6MOi9yP/TvNAG2GN3o7srzh6Z+4vFX9vxqnRG3MnKE71vB5SnOppPaTY6BSnSsxDinO9j0cU53ofjyhOlZWHFKdKyiOKo3deT1BM57mid17fKf5QAeyjPlRYaBXbY3ur2B5l+/Kvr7w1l9Z+vve+fSqO7Y1mKI7tjX6puLb+/t77l+99/Tk+6MT2UavpxPZcq+nE9meL6QTv0l5NJ7bvW00ntkdcTSe291xNx0Tnhk4q/+tOR175jo688h0deeU7OvLKN3SC96mvpiOvfEdHXvmOjrzyHR0TnRs68sp3dOSV7+jIK9/RkVe+oyOvfEMneOf9ajryynd05JXv6Mgr39Ex0bmhI698R0de+Y6OvPIdHXnlOzryyjd0gt8lWE1HXvmOjrzyHR155Ts6Jjo3dOSV7+jIK9/RkVe+oyOvfEdHXvmGTvDbEavpyCvf0ZFXvqMjr3xHx0Tnho688h0deeU7OvLKd3Tkle/oyCtf02nB73uspiOvfEdHXvmOjrzyHR0TnRs68sp3dOSV7+jIK9/RkVe+oyOvfEMn+A2W1XTkle/oyCvf0ZFXvqNjonNDR175jo688h0deeU7OvLKd3TklW/oBL+Ts5qOvPIdHXnlOzryynd0THRu6Mgr39GRV76jI698R0de+Y6OvPINneD3yVbTkVe+oyOvfEdHXvmOjonODR155Ts68sp3dOSV7+jIK9/RkVe+oRP8rtxqOvLKd3Tkle/oyCvf0THRuaEjr3xHR175jo688h0deeU7OvLKN3R0t++WjrzyHR155Ts68sp3dEx0bujIK9/RkVe+oyOvfEdHXvmGDu91sWKv71zskg7tG32IDu1TuZT2onPWKzq0T+UhOrRP5SE6tBuMETq8F6KG6NBuMIbo0Pqdczv//trz2K/o0PqdITomOjd0aDcYQ3RovfIQHVqvPESH1isP0aH1yiN0eC9EDdGh9cpDdOSV7+jIK9/RMdG5oSOvfEdHXvmOjrzyHR155Ts68so3dJJdiPrN9z7P1+r0+f/bf776aJ98crllfz65/LI/n1yO2Z+Pic8tn1yu+Tffuz5er6+t1n/y+Zefg7X372609vO1+/bJMpfHXssylyNfyzKXf1/LMpfbX8myJ7uItZYlb47wZ8mbOfxZ8uYTf5Ymlm4slXv8WCr3+LFU7vFjqdzjx1K5x41lsutma1kq9/ixVO7xY6nc48fSxNKNpXKPH0vlHj+W8pdjLMvr93NK3S5YJrsItpal3uNu/zee7GLUWpZ6j/ux1Hvcj6X2l34stb/8F5YffOQZb/kku3blz4d4d9jfvxvajks+xPvAIT7E2WCIj4nPLR9iDz/Eh9iXD/Hh9drtbZ+3bu0ffP6b1052KWstS15f7s4y2RWutSx5/b4/S95s4M+SN0f4szSxdGPJm0/8WfJmGX+Wyj1+LJV7/Fgq97ixTHZRbS1L5R4/lso9fiyVe/xYmli6sVTu8WOp3OPHUrnHj6Vyjx9L5R43lqdyjx9L5R4/lso9fiyVe/xYmli6sVTu8WOp3OPGMtltynksB/6eMdkly7Us9e7x+79xvXv8WOrd48dSOzc/ltq5+bHUzu1fWP7wSXaj0Z+PfOA9H959Vz9fX7w/5V7x4d1hjfEx8bnlw+v3x/jwevgxPry+fIwPrdd+frrtzafbP/j8i9c+7e21P7720T9Z0nptf5a89yAnsKT18BNY0vr9CSxps8EEliaWbixpM8cElrT5ZAJL2iwzgaVyjx9L5R4nluXBe+tyAkvlHj+Wyj1+LJV7/FiaWLqxVO7xY6nc48dSucePpXKPH0vlHjeWvLcuJ7BU7vFjqdzjx1K5x4+liaUbS+UeP5bKPX4slXv8WCr3+LFU7nFjyXuDdQJL5R4/lso9fiyVe/xYmli6sVTu8WOp3OPHUrnHj6Vyjx9L5R43lrw3hyewVO7xY6nc48dSucePpTzRGMuvfWxPlvJEbix5b2X+kuXXrqYnS717/Fjq3ePH0sTSjaV2bn4stXP7F5YffOQZ7/nIB97z4d13bdv7U292xYf39uQgH95sMMaH1++P8eH18GN8THxu+fB67a2V96e2/g8+/23/yHufcQJLXl/uz5LXw/uzJPb73ix57zNOYEmcI9xZEmcOd5bE+cSdpYmlG0vlHj+Wyj1+LJV7/Fgq9/ixVO5xY8l7g3UCS+UeP5bKPX4slXv8WJpYurFU7vFjqdzjx1K5x4+lco8fS+UeN5a8d4QnsFTu8WOp3OPHUrnHj6WJpRtL5R4/lso9fiyVe/xYKvf4sVTucWNJfKfZn6Vyjx9L5R4/lso9fixNLN1YKvf4sVTu8WOp3OPHUrnHj6VyjxfLjfhOsz9LE8shlt/72DbiG67+LPXuGWP5vatpI76V6c6S+FamP0vt3PxYaufmx1I7t39h+cHHxOeWj3zgPR/efdd+ttenPh6PKz68O6wxPrzZYIwPr98f4kN893GMD68vH+PD67WP/YePnVd8eP3zGB8Tn1s+vP55jA+vfx7jw+ufx/jw+uejv771btb+wedfdkX7e1d0lA+Fnz8/I75L6M6S+C6hP0teD+/Pktjvu7MkzgbuLE0s3VgSZ45fsfz5naJar1gS5xN3lsRZxp2lco8fS+UeN5am3OPHUrnHj6Vyz29ZXv6eNfFNXH+WJpZuLHlzj71/FXAvx7ffG2xvIG37vHlWPlny5h5/lry5x58lb+7xZ8mbe9xZEt/w9WfJm3t+x9JenqiVesWSN/f4s+TNPf4sTSzdWCr3+LFU7vFjqdwzxrK+ftGt9e2KpXKPH0vlHjeWxPeJ/Vkq9/ixVO7xY6nc48fSxHKEZd9eEvt+XrFU7vFjqdzjx1K5x4+lco8fS+UeN5bE94n9WfLmnnI+Xp/6fGxfWG7PN8v7g5wfvzFjn38RSXyheAZN3uwzg6aJpiNN3vzzO5r79vphxba3+g+a//dXj7TqEV81Xk2eN1utJs+bxFaT581ti8kTX2NeTV6ZcBV55cdV5JU1V5E3kV9EXhl2FXll2FXklWFXkVeGXUVeGXYReeLL2qvJK8OuIq8Mu4q8Muwq8ibyi8grw64irwy7irz8/Azy36/J7sQXo1eTl7dZ87TZHybyi8jL26wiL2+zirz286vIaz//P5P/oCmP7khzk+/2pKnd+BjN43G+PshhlzS17/akqZznSdNE05Gm8pgnTWUsT5rKTYM062vZuFl5/IPmv3x1tTf7Zh+fxB6f7JWc1rFXzlrGflcqW8deGW4deyW+deyVD9exN7Ffxl7Zcx17JdV17JVr17FXrl3HXrl2GftDuXYde+XadeyVa9exV65dx97Efhl75dp17JVr17FXrl3HXrl2HXvl2mXsTbl2HXvl2nXslWvXsVeuXcfexH4Ze+XadeyVa9exV65dx165dh175dpl7Ity7Tr2yrXr2CvXrmOvXLuOvYn9MvbymBPYjzSgFTnMReRPvWdnkB/oJDr1ll1FXu/YVeS1OV5FXnvjVeS1Nf6fyX/QlEf3pCnfPUazbC+NW6nt21Nhfz8VjvLBo3+Qr9rrriKvre4q8sqaq8gra64ibyK/iLyy5iryypozyJ/23ubWK/LKmqvIK5euIq8Mu4h8U4ZdRV4ZdhV5ZdhV5JVh55JvdkXeRH4ReWXYVeSVYcfInz9Ezo/PcfF7eMXeN3xK+ez7//w9vKYUu469cuw69kqyy9h3Zdl17JVm17FXnp3C/v2r108/ul+xV6Jdx97Efhl7pdp17JVr17FXrl3HXrl2Bnvrjzf79k+P+d/2bl0ZGGFOx0N5GWNOytYz5nTWn6/+ZP/5zjkeytbr2Ctbr2NvYr+MvbL1OvbK1uvYK1uvY69sPYV9e3cWnb1fsVdeXsZ+UwZex165dh175dp17JVr17E3sV/GXrl2Cvvt9UG2uv3T3/+3ffOmDIwxJ+VljDkpW8+YU3u8f872j0/yz3eOsvUy9ruy9Tr2ytbr2Ctbr2OvbL2OvYn9MvbK1lPYb+XNfm9X7JWX17FXBl7HXrl2HXvl2mXsD+XadeyVa9exV66dwf7mrtl/2zcfysAYczLNCWJOvNn6PN6f+vkj/q9z2t5/xXl+Eqn//m/g9crZPy/bnf944/Am69XkeXP1avK8qXo1ed5M7Ub+h6bxpuQZNHlz7wyavEl2Bk3evDmDpommI01lN0+aymOeNJWxBmn29wepj/IPmv/yOUr7+4tr/9jo7J/gFbEWgVfCmgB+39/f2spFti1KY6vIK7mtIq+Ut4q8EuEq8ibyi8grac4gP7C3L0qlq8grwY6Rr3t7k7ftfw9SRQl2EXgl2AngR96vpxLsKvJKsKvIK8GuIq8Eu4q8ifwi8kqwM8gP5KhTCXYVeSXYQfLn+yfatX37bcuBIHUqwS4CrwQ7AfzI+7Uqwa4irwS7irwS7CrySrCryJvILyKvBDuD/ECOqkqwq8grwY6Rb493r2/bH/97kKpKsIvAK8FOAD/yfm1KsKvIK8GuIq8Eu4q8Euwq8ibyi8grwc4gP5CjmhLsKvJKsP+BfP0H+Q+aiqWeNJU1HWl25cdBmtXeNFv9//3PK5Ou+LgIvNLjBPAjTrorPa4ibyK/iLzS4yrySo+ryCs9riKvpDmD/MDGpCuVriFvDyXYQfJl+yHfvpDvx+uXYvr5cT2+/bfQZQ+lXYAhKRkDDEkhGmBIpiHFH5KiOcCQlOIBhqTADzAk7QYAhqQ1Qvwhbdo4AAxJG4exIXV7f5Be/vdGedu0RVgEXpuBCeAHfuxim4n8IvLK8KvIK5ivIq+0vYq8IvQq8srFM8gP/Hh9V9hdRV4JdhV5RdhV5JVhB8m3x+urH1//5O/uqz/Ym9gvY68cO4F9bf39OfYvn+P6M39MSZkXYUrKxwhTUpZGmJJyN8CUDmV0hCkpzyNMSdkfYUraEyBMyTQlgClp94AwJe0eEKak3QPClLR7QJiSdg8AUzLtHhCmpN0DwpS0e0CYknYPCFMyTQlgSto9IExJuweEKWn3gDAl7R4QpqTdA8CUinYPCFPS7gFhSto9IExJuweEKSkvLZ5Sef9h0vPnSFdTUl4CmNIpj7d6Su/qmXLWqynJ4yFMSR4PYUryeAhTMk0JYEr6+RLClJSXFk/p3M6/v/Y89qspKS8hTEk/X0KYkn6+BDClqt0DwpS0e0CYknYPCFPS7gFhSqYpAUxJuweEKWn3gDAl7R4QpqTdA8KUtHuYMaVffI6f2tx/tOae58eUmnYPCFPS7gFhSto9IExJuweEKZmmBDAl7R4QpqTdw+opldfX9vq4mpJ2DwhT0u4BYUraPQBMqWv3gDAl7R4QpqTdA8KUtHv4o1P6IG8iv4i8dgSryCv3ryKvLL+KvPL5KvLK3GvIlwdJjv5QTJJJPxST5LsPxSRZ6UOx0SkmyQYfikk8+Yfi6F74/dXb8//1L4q38vogW7ErxdE9qL/i6N7vV4qde9rKFt2fraUT3cutpRPd962lE90jrqVjonNDJ7r3XEsnuk9dSyeVp3Wnk8r/utORV76hs8sr39GRV76jI698R0de+Y6Oic4NHXnlOzryynd05JXv6Mgr39GRV76hc8gr39GRV76jI698R0de+Y6Oic4NHXnlOzryynd05JXv6Mgr39GRV76hY/LKd3Tkle/oyCvf0ZFXvqNjonNDR175jo688h0deeU7OvLKd3TklW/oFHnlOzryynd05JXv6Mgr39Ex0bmhI698R0de+Y6OvPIdHXnlOzryyjd0TnnlOzryynd05JXv6Mgr39Ex0bmhI698R4fW75R3W/7zx1ZXdGj9zgid8Pd159Ep7UXnrFd0aN9ZQ3Ro31lDdGjfWUN0aPc7Q3Ro9ztDdGj9zsCdzhL+TudSOuHvY66lQ7vfGaJD65WH6NB65SE6Jjo3dGi98hAdWq88RIfWKw/RkVe+oyOvfEMn/D23tXTkle/oyCvf0ZFXvqNjonNDR175jk4ur/yb713Ku+r/+cOHn6+2f9VYykti3a5Y5nLWa1nm8uFrWeZy7StZnuFvTS1h+cEnl8v355PL5/vzyeX0/fmY+NzyyeX2/fnI79/zkYe/58Pry8/9Fb2380Pjv3vJgex9JrsatpRlshtj01ju+1uilSuWvB7enyWv3/dnyZsN/FmaWLqx5M0c/ix584k/S94s8zuWA3vfZDfd1rIkzj1nebOszSH3JLsXt5Ylce75DcuRd0+yW3RrWRLnHneWJpZuLIlzjztL4tzjzpI497izJM49v2I5kHuSXfNbyjLZ7b+1LJV7/Fjy5p76eEXsrZbHF5ZbeUncil2x5M09/ixNLEdYOnfNncmuIeJw581Ta7nzZq+13Hlz2lruvJluKfdk9yxxuPNmxbXclSvXcFcGXcPdxH0Jd+XVNdyVV9dwV15dw115dQ135dUl3JPdlMXhrry6hrvy6hruyqtruJu4L+GuvLqGu/LqGu7Kq2u4K6+u4a68uoR7srvOONyVV9dwV15dw115dQ13E/cl3JVX13BXXl3DXXl1DXfl1TXclVeXcK/Kq2u4K6+u4a68uoa78uoa7ibuS7grr67hrry6hrvy6hruyqtruCuvLuHelFfXcFdeXcNdeXUNd/l3d+7FXoeyil1yl39fw11+xp97aS/uZ73g3uVn1nCXn1nDXX5mDXft39dwN3Ffwl3+3Z37yC2YLv++hrv272u4a/++hrvy6gru9aG8uoa78uoa7sqra7grr67hbuK+hLvy6hruyqtruCuvruGuvLqGu/LqEu6b8uoa7sqra7grr67hrrw6xv0X33nfj8cPj5+v3rr96jt/TMk0JYApKQsjTEnJGWFKytl/dEof5JW0V5FX1l5EflfaXkVeeXsVeSXuVeSVuVeRN5FfRF7ZeBV55d1V5JVhJ5Bvb/LHdv6D/L98Dmv2+hzl+Pjq8/ickxIvxpyUjxfPybmtoB7K3dkmqjyfbaLaE2SbqPYP2SZqmmiyiWpfkm2i2sNkm6j2O9kmqk1QtolqZ5RsoqadUbaJameUbaLaGWWbqHZG2SZqmmiyiWpnlG2i2hllm6h2Rtkmqp1RtolqZ5RsokU7o2wT1c4o20S1M8o2Ue2Msk3UNNFkE9XOKNtEtTPKNlHtjJJN9FQeBZrowB3KeiqPZpuoaaJAE/1+W62e8rrZJiqvm22i8rrZJqqfj2abqH4+mmyiVXkUaKIjve5VeTTbRPXz0WwT1c9Hs03UNNFkE9XOKNtEtTPKNlHtjLJNVDujbBPVzijZRJt2Rtkmqp1RtolqZ5RtotoZrZ7obz6zvUlv5XHVa95MM003U+2N8s1Um6N8M9XuKN9MtT3KN1Ptj9LNtGuDhDrTj6/+P2aqHVK+mWqLlG+m2iMhzbRs5T3TvV3N1DTTdDPVHinfTLVHyjdT7ZHyzVR7pHwz1R4p20zbQ3sk1Jke5Wqm2iPlm6n2SPlmqj1S2Jl+TMk0JYApadfjP6Vja+8pFfsypc2a/TzzzqtnnvY3GHPSTmbxnJx7M9tDG5lsE9U+JtlEN21jsk1Uu5hsE9UmJttEtYfJNlHTRJNNVPudbBPVJijbRLUzyjZR7YyyTVQ7o2QT3bUzyjZR7YyyTVQ7o2wT1c4o20RNE002Ue2Msk1UO6NsE9XOKNtEtTPKNlHtjJJN9NDOKNtEtTPKNlHtjLJNVDujbBM1TTTZRLUzyjZR5VGgiRbb//7aYpcTVR5NNlGT10Wa6Per6M3kdbNN1DTRZBOV1802Uf18NNtE9fPRbBNVHgWa6MBdwWbKo8kmWvTz0WwT1c9Hs01UO6NsE9XOKNtETRNNNlHtjLJNVDujbBPVzijbRLUzyjZR7YySTfTUzijbRLUzWj3R33zmkbvZ7dTWKN9MtTfKN1PTTNPNVLujfDPV9ijfTLU/yjdTbZBQZ/rx1f/HTLVDSjfTqi1Svplqj4Q006G72VV7pHwz1R4p30xNM003U+2R8s1Ue6R8M9UeKd9MtUdCnelRrmaqPVK6mTbtkfLNVHuksDP9mJI2QwhT0q5nwpTK+Z5SP79Mqe+v39bsdfvQd35OyTQlgClpH7N4St6dmU3bmGwT1S4m20S1ick2Ue1hkk20awuTbaLawWSbqPY12Saq3U62iZommmyi2hllm6h2Rtkmqp1RtolqZ5RtotoZ5Zpof2hnlG2i2hllm6h2Rtkmqp1RtomaJppsotoZZZuodkbZJqqdUbaJameUbaLaGSWb6KadUbaJameUbaLaGWWbqHZG2SaqPAo00WL7319b7HKiyqPJJrrL6yJN9PtF9L7L62abqLxutonK62abqGmiySaqn49mm6jyKNBEB24K9l15NNtE9fPRbBPVz0eTTfTQzijbRLUzyjZR7YyyTVQ7o2wTNU002US1M8o2Ue2Msk1UO6NsE9XOaPVEf/Gd+/u3Unr5vM1wfk5UO6NkEzXtjLJNVDujbBPVzijbRLUzyjZR00STTVQ7I6SJltfX9vq4mqh2Rtkmqp1RtolqZ5RtotoZJZto0c4o20S1M8o2Ue2Mwk70Y0raAyFMyTQl/yn1961r27YvU9r38/j56v0fX/0xJ21sMOakPczyOf2MqVw99bRbQZiS9iUIU9IOBGBKp/YaCFPSrgJhSto/rJ5SKa8vrtvVlLR/QJiSaUoAU9L2AWFK2j0gTEm7B4QpafeAMCXtHgCmVLV7QJiSdg8IU9LuAWFK2j0gTMk0pf9tSh8stSHwY6kc78dSaduPpTKxH0slVzeWTfnSj6VSoB9LZTU/lkpUfixNLN1YKvf4sVTu+ReWH3yIs0zd33xa/fJv7flJ7P1BDrv610acZibQJM4z/jQ7caKZQJM400ygSZxqJtAkzjUTaJpoOtIkzjYTaBKnmwk0lYU8aSoLedJUFnKjeT4eykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGluykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGnuykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGkeykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGmaspAnTWUhT5rKQp40lYU8aZpoOtJUFvKkqSzkSVNZyJOmspAnTWUhR5pFWciTprKQJ01lIU+aykKeNE00HWkqC3nSVBbypKks5ElTWciTprKQI81TWciTprKQJ01lIU+aykKeNE00HWkqC3nSVBbypKks5ElTWciTprKQI82qLORJU1nIk6aykCdNZSFPmiaajjSVhTxpKgt50lQW8qSpLORJU1nIkWZTFvKkqSzkSVNZyJOmspAnTRNNR5rKQp40lYU8aSoLedJUFvKkqSzkSLMrC3nSVBbypKks5ElTWciTpommI01lIU+aykKeNJWFPGkqC3nSVBbyo/nEJpqONJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGluykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGnuykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGkeykKeNJWFPGkqC3nSVBbypGmi6UhTWciTprKQJ01lIU+aykKeNJWFHGmaspAnTWUhT5okWehDMUle+VBsdIpJfP+HYhJv/qGYxD9/KCbxuB+KSXzoj+JC4hU/FJP4uQ/FdJ6L5Qb9h2LDVfyhAthHfagA9kYfKoD9zocKYA/zoQLYl/yoQL57/aEC2D98qAD2BB8qgN/zHypSvLuR7wl/qEjx7ka+n/uhIsW7G/le7I8K5DutHypSvLuR75J+qEjx7ka+w/mhIsW7G/nu5IeK4O/u5w/Ef1SU8x8q/utPhaNfZZyiObgvmKE5+oXDKZqDe44pmoM7lCmag/uZKZqNUHNwrzRFc3BnNUUzoQ+LfhFuimZCHxb9utoUzYQ+LPqlsimaCX1Y9KtfUzQT+rDoF7SmaCb0YdGvUU3RzOfD9uiXnaZo5vNhe/QrSVM08/mw/WGEmvl82B79es8UzXw+bI9+CWeKZkIfFv2qzBTNhD4s+oWWKZoJfVj0aydTNBP6sOiXQ6ZoJvRh0a9wTNFM6MOiX7SYopnQh0W/DjFFM6EPi35pYYpmQh8W/WrBFM2EPiz6BYApmgl9WPQ2/SmaCX1Y9Gb6KZoJfVj0lvcpmgl9WPTG9CmaCX1Y9PbxKZoJfVj0Ju8pmgl9WPRW7CmaCX1Y9GbsKZoJfVj0duwpmgl9WPSG7CmaCX1Y9JbsKZoJfVj0puwpmgl9WPS27CmaCX1Y9CbuKZoJfVj0lu8pmgl9WPQG8SmaCX1Y9HbyKZoJfVj05vMpmgl9WPRW9SmaCX1Y9Mb2KZoJfVj0Nvgpmgl9WPSm+SmaCX1Y9Bb7KZoJfVj0hvwpmgl9GGGf/k7Yp78T9unvhH36O2Gf/k7Yp78T9unvhH36O2Gf/k7Yp78T9unvhH36O2Gf/k7Yp78T9unvhH36O2Gf/k7Yp78T9unvhH36O2Gf/k7Yp38Q9ukfhH36B2Gf/kHYp388jFAznw87CPv0D8I+/YOwT/8g7NM/CPv0D8I+/YOwT/8g7NM/CPv0D8I+/YOwT/8g7NM/CPv0D8I+/YOwT/+I1Kf/8akCOaWPTxXIy3x8Kgv5qQL5gY9PFeiN/fGpAr1TPz5VoLfex6cK9F76+VSRGsA/PlXIZ3ukFu2PTxXy2R6pifrjU4V8tkdqc/74VCGf7ZEakT8+Vchne6RW4Y9PFfLZHqmZ9+NThXy2R2q3/fhUIZ/tkRpiPz5VyGd7pJbVj08V8tkeqan041OFfLZHavv8+FQhn+2RGjM/PtXkZ/vHf+n8Y/+l+sf+S+2P/Zf6n/ovzW4I/PgvbX/sv7T/sf/S8cf+S/bH/kt/7Blx/rFnxPnHnhHnH3tGnH/sGVH/2DOi/rFnRP1jz4j6x54R9Y89I+ofe0bUP/aMqH/sGVH/2DOi/rFnRPtjz4j2x54R7Y89I9ofe0a0P/aMaH/sGdH+2DOi/bFnRPtjz4j2x54R/Y89I/ofe0b0P/aM6H/sGdH/2DOi/7FnRP9jz4j+x54R/Y89I/qfekaYy1+k7tXe/6XW//Ff+o+/JWcufzU643PtQT/XEfRzWdDPVYJ+rjPo56pBP1cL+rl6zM+1BX3eb0Gf91vQ5/0W9Hm/BX3eb0Gf91vQ5/0W9Hm/BX3eb0Gf93vQ5/0e9Hm/B33e70Gf93vQ5/0e9Hm/B33e70Gf93vQ5/0e9Hl/BH3eH0Gf90fQ5/0R9Hl/BH3eH0Gf90fQ5/0R9Hl/BH3eH0Gf9xb0eW9Bn/cW9HlvQZ/3FvR5b0Gf9xb0eW9Bn/cW9HlvQZ/3JejzvgR93pegz/sS9Hlfgj7vS9DnfQn6vC9Bn/cl6PO+BH3en0Gf92fQ5/0Z9Hl/Bn3en0Gf92fQ5/0Z9Hl/Bn3en0Gf92fQ530N+ryvQZ/3NejzvgZ93tegz/sa9Hlfgz7va9DnfQ36vK9Bn/ct6PO+BX3et6DP+xb0ed+CPu9b0Od9C/q8b0Gf9y3o874Ffd73oM/7HvR534M+73vQ530P+rzvQZ/3Pejzvgd93vegz/se83lfgv59bQn697Ul6N/XlqB/X1seMZ/3Jejf15agf19bgv59bQn697Ul6N/XlqB/X1uC/n1tCfr3tSXo39eWoH9fW4L+fW0J+ve1Jejf15agf19bgv59bQn697Ul6N/XlqB/X1uC/n1tCfr3tSXo39eWoH9fW4L+fW0J+ve1Jejf15agf19bgv59bQn697Ul6N/XlqB/X1uC/n1tCfr3tSXo39eWoH9fW4L+fW0J+ve1Jejf15agf19bgv597Tm7Dfr//urfXUB/vL96e/6/H83/fgH9V9+7Ps7Xt67l8fPVtv+P33k/yus770f/uNre7d++c+vv77x/+c7Pf95/f+3zH9TFRGe3bmuif3yiga7DaaIuEw10WU8TdZlooKuEmqjLRE0TTTbRQJeONVGXiQa6Eq2Jukw00IVtTdRlooGuk2uiLhPVzijXROtDOyOkibbHa6K9XE1UO6NsE9XOKNtEtTPKNlHTRIEmWn8mel5NVDujbBPVzijbRLUzyjZR7YyyTVQ7o2QT3bQzQppoaa+JnvVqotoZZZuodkbZJqqdUbaJmiaabKLaGWWbqHZG2SaqnVG2iWpnlG2i2hklm+iunVG2iWpnlG2i2hllm6h2RtkmapposolqZ5RtotoZZZuodkbZJqqdUbaJameUbKKHdkbZJqqdUbaJameUbaLaGWWbqGmiySaqnVG2iWpnlG2i2hllm6h2Rtkmqp1RsomadkbZJqqdUbaJameUbaLaGWWbqGmiySaqnVG2iWpnlG2i2hllm6h2RskmWpRHJ0x0a++JFvOc6EAHdlEezTZR5dFsEzVNNNlElUezTVR5NNtElUezTVR5NNtE9TsMySZ66ncYsk1UO6NsE9XOCGmiAxd8Tu2Msk3UNNFkE9XOKNtEtTNCmujAdZBTO6NsE9XOKNtEtTNKNtGqnVG2iWpnlG2i2hkhTXTgdwGrdkbZJmqaaLKJameUbaLaGWWbqHZG2SaqnVG2iWpnlGyiTTujbBPVzijbRLUzyjZR7YyyTdQ00WQT1c4o20S1M8o2Ue2Msk1UO6NsE9XOKNlEu3ZG2SaqnVG2iWpnlG2i2hllm6hposkmqp1RtolqZ5RtotoZZZuodkbZJqqdUa6Jtod2Rtkmqp1RtolqZ5RtotoZZZuoaaLJJqqdUbaJameUbaLaGWWbqHZG2SaqnVGyiW7aGWWbqPKo/0T3d8Xmc7iul/C+d2C3zTTRZBNVHs02UeXRbBNVHs02UeXRbBNVHk020V15NNtE9TsM2Saq32HINlHtjLJN1DRRoIl+v+DTdu2Msk1UO6NsE9XOKNtEtTNCmuj36yBt184o2UQP7YyyTVQ7o2wT1c4o20S1M8o2UdNEgSY68LuAh3ZG2SaqnVG2iWpnlG2i2hllm6h2RskmatoZZZuodkbZJqqdUbaJameUbaKmiSabqHZG2SaqnVG2iWpnlG2i2hllm6h2RskmWrQzyjZR7YyyTVQ7o2wT1c4o20RNE002Ue2Msk1UO6NsE9XOKNtEtTPKNlHtjJJN9NTOKNtEtTPKNlHtjLJNVDujbBM1TTTZRLUzyjZR7YyyTVQ7o2wT1c4o20S1M0o20aqdUbaJameUbaLaGWWbqPLo2ESdm6qrUuMa7sp2a7grga3hrpy0hHtTmlnDXZljDXclgzXc9TPfNdxN3JdwV15dw1151Z/7wCWOpry6hrvy6hruyqtLuHflVX/uA+3zXXl1DXfl1TXclVfXcDdxX8JdeXUNd+VVf+4Dv0/QlVfXcFdeXcNdeXUF9/5QXl3DXXl1DXfl1TXclVfXcDdxX8JdeXUNd+XVNdyVV9dwV15dw115dQn3TXl1DXfl1TXclVfXcFdeXcPdxH0Jd+XVNdyVV9dwV15dw115dQ135dUl3Hfl1TXclVfXcFdeXcNdeXUNdxP3JdyVV9dwV15dw115dQ135dU13JVXl3A/lFfXcFdeXcNdeXUNd+XVNdxN3Jdwz+XffVuR+pHLZXvTyeWFnelYLsfqTSeXr/Smk8v9edPJ5dG86Zjo3NDJtZ/3ppNri+5NR175jg6vV/7ev9eN1ysP0Cm8XnmEDq9XHqHD65W/92T1wuuVR+iY6NzQ4fXKI3R4vfIIHV6vPEKH1ysP/Eyi8HrlATonr1ceocPrlUfo8HrlETq8XnmEjonODR1erzxCh9crj9Dh9cojdOSV7+jIK9/QqfLKd3Tkle/oyCvf0ZFXvqNjonNDR175jo688h0deeU7OvLKd3TklW/oNHnlOzryynd05JXv6Mgr39Ex0bmhI698R0de+Y6OvPIdHXnlOzryyjd0kl1T96Yjr3xHR175jo688h0dE50bOvLKd3Tkle/oRPc72/6m8yjbNzq/+N77ebw/9dk+fmP5+LfvvPX3n+Tsj/2nrWSrj/91Sl//xrA+wl8F1pT+mlJ0/6cp/TWl6D5UU/prStH9sKb015RMUwKYUvR8oCn9NaXoOUVT+mtK0X+2oCn9NaXoP+PQlP6aknYPAFMKf+E5/5S+tsE8p6TdA8KUtHtAmJJ2DwhTMk1p8ZS+Nr48p6TdA8KUtHtAmJJ2DwhT0u4BYUraPQBMKfy17vxT+vo7RM8pafeAMCXtHhCmpN0DwpRMUwKYknYPCFPS7gFhSto9IExJuweEKWn3ADCl8JfXNaW/pqTdA8KUtHtAmJJ2DwhTMk0JYEraPSBMSbsHhClp94AwJe0eEKak3QPAlEy7B4QpafeAMCXtHhCmpN0DwpRMUwKYknYPCFPS7gFhSto9IExJuweEKWn3ADClot0DwpS0e0CYknYPCFPS7gFhSqYpAUxJuweEKWn3gDAl7R4QpqTdA8CUTt68VM439/OxfZvSUV/gNys/U9qt/Sv51xeX+vGd9+2TPG8GWk2eN9esJm8iv4g8b/5YTZ43U8wk38vfX3w+yhV53pywmjyv919NnvdniYvJV96fD04lv73Jn1fklWFXkVeGXUVeGXYVeRP5ReSVYVeRV4adQb69rwy1dkVeGXYVeWXYVeSVYReRb8qwq8grw64irwy7irwy7CryJvKLyCvDriKvDLuKvDLsKvLKsKvIK8MuIt+VYVeRV4ZdRV4ZdhV5ZdhV5E3kF5FXhl1FXhl2FXll2FXklWFXkVeGXUP+iVjkF5FXhl1FXhl2FXll2FXkTeQXkVeGXUVeGXYVeWXYVeSVYVeRV4ZdRH5Thl1FXhl2FXll2FXklWFXkTeRX0Refn6M/L7Z64PsrX4j/73Tadvk51eRl59fRH6Xn19FXn5+FXn5+RnkvzdOPP8/Ir+IvIn8IvL6mdQq8vqZ1CryyrCryCvDziA/sLfZlWEXkT+UYVeRV4ZdRV4ZdhV5ZdhV5E3kF5FXhl1FXhl2FXll2FXklWFXkVeGXUTelGFXkVeGXUVeGXYVeWXYVeRN5BeRV4ZdRV4ZdhV5ZdhV5JVhV5FXhl1EvijDriKvDLuKvDLsKvLKsKvIm8gvIq8Mu4q8Muwq8sqwq8grw64irwy7iPypDLuKvDLsKvLKsKvIK8OuIm8iv4i8Muwq8sqwq8jz+vmtlfentv6F/Eh7R+V16P4seT23P0teF+3PktcX+7M0sRxi2V9ffD7KFUte7+rPkteN+rPk/RmJP0ven3r8kuX3Npqq3OPGsin3+LFU7vFjqdzjx1K5x4+lieUQy4H9ZVPu8WOp3OPHUrnHj6Vyjx9L5R43ll25x4+lco8fS+UeP5bKPX4sTSzdWCr3+LFU7vFjqdzjx1K5x4+lco8Xy/2h3OPHUrnHj6Vyjx9L5R4/liaWbiyVe/xYKvf4sVTu8WOp3OPHUrnHjeWm3OPHUrnHj6Vyjx9L5R4/liaWbiyVe/xYKvf4sVTu8WOp3OPHUrnHjeWu3OPHUrnHj6Vyjx9LXn/5OF4an9sy+8bye6/BvvP6S3+WvP7SnyWvv/Rnyesv3VkevP7ydyy/d0TsB6+/9GfJ6y/9WfLu1f1ZmliOsfz6t/j7odzjx1K5x4+lco8fS+UeP5bKPW4sTblnjOXA/tKUe/xYKvf4sVTu8WNpYunGUrnHj6Vyjx9L5R4/lso9fiyVe9xYFuUeP5bKPX4slXv8WCr3+LE0sXRjqdzjx1K5x4+lco8fS+UeP5bKPW4siS+4+7NU7vFjqdzjx1K5x4+liaUbS+UeP5bKPX4slXv8WCr3+LFU7nFjWZV7/Fgq9/ixVO7xY6nc48fSxNKNpXKPH0vlHj+Wyj1+LJV73Fjy3h/f2hvP1q19YznQa8B7f3wCS1p/OYGliaUbS1p/OYElrb/8JcuBjgje++MTWNL6ywksaffq/ix574//luX3v8XnvT8+gaVyjx9L5R4/liaWbiyVe/xYKveMsRzYX/LeH5/AUrnHj6VyjxfLg/f++ASWyj1+LJV7/Fgq9/ixNLF0Y6nc48dSucePpXKPH0vlHj+Wyj1uLHnvj09gqdzjx1K5x4+lco8fSxNLN5bKPX4slXv8WCr3+LFU7vFjqdzjxpL3/vgElso9fiyVe/xYKvf4sTSxdGOp3OPHUrnHj6Vyjx9L5R4/lso9biwP5R4/lso9fiyVe/xYKvf4sTSxdGPJ6y/r43x961r7N5bfew0O3vvjE1jy+kt3lrz3xyew5PWX/ix5/eXvWH7/29KD9/74BJYmlm4seffq/ix59+r+LJV7/Fgq94yxHMjjvPfH/Vny3h+fwFK5x4+lco8fS+UeP5Ymlm4slXv8WCr3+LFU7vFjqdzjx1K5x40l7/3xCSyVe/xYKvf4sVTu8WNpYunGUrnHj6Vyjx9L5R4/lso9fiyVe9xY8t4fn8BSucePpXKPH0vlHj+WJpZuLJV7/Fgq9/ixVO7xY6nc48dSuceNZVPu8WOp3OPHUrnHj6Vyjx9LE0s3lso9fiyVe/xY5vKXrb+/9/7lexd707F/fo4fOskuinvTyeUBvenkcnXedHL5NG86Jjo3dHJ5KW86udyRN51ce15vOrk2t9505JWv6ViyK9S/odMeLzq9XNHh9cojdHi98ggdXq88Qsdo6dQfOucVHV6vPEKH1yuP0OH1yiN0eL3yCB1erzxAJ9nl4t/QKe1F56xXdHi98ggdXq88QofXK4/QMdG5ocPrlUfo8HrlETq8XnmEDq9XHqHD65UH6CS7dutNR175jo688h0deeU7OiY6N3Tkle/oyCvf0ZFXvqMjr3xHR175hk6yC6nedOSV7+jIK9/RkVe+o2Oic0NHXvmOjrzyHR155Ts68sp3dOSVb+gku/bqTUde+Y6OvPIdHXnlOzomOjd05JXv6Mgr39GRV76jI698Qyf43cZHe3d5bI/+0fzx73R6fX11r1d/rxf8uuIMxbF9yQzFRqc4tn+YoTi2J/il4ufnfry/fO9fvntvryd775dP9tiuYD2f2L5gPZ/YW7TlfIJf0VvPJ5WznMAnlQ+dwCeVa/0dn9+kvOtP/cHSxNKNZSqnvZglsYd3Z0ns991ZEmcDd5bEOcKbZfALdlgsifOJO0viLOPOUrnHj6WJpRtL5R4/lso9fiyVe/xYKvf4sVTucWMZ/IIdFkvlHj+Wyj1+LJV7/FiaWLqxVO7xY6nc48dSucePpXKPH0vlHjeWwe8wYrFU7vFjqdzjx1K5x4+liaUbS+UeP5byREMsB+7tleD39rBY6t0zxvL7X9KWh949fiz17vFjqZ2bH0vt3PxYaufmx1L+cojluZ1/f+157Bcsg9+ow2KpnZsfS+3c/Fgq9/ixNLF0Y6nc48dSucePpXKPH0vlHj+Wyj1uLIPfG8Riqdzjx5I59/zmkxz7+zsfn9/5cX7SZE4+/jRNNB1pMqcff5rM+cefJnMC8qfJnIH8aTKnoF/RLO8PcpzbBc3gtyTRaDInIX+aykKeNJWFPGmaaDrSVBbypKks9B9otiuaykKeNJWFPGkqCw3S7D/Jsl8ly+C3QtFoKgt50lQW8qSpLORJ00TTkaaykCdNZaH/9+ZvdUvwa6rr+Siv3PNRArnlU5Qp7vkoJdzzke+/55Pr2u/3S3El2bXfEcW5rv2OKE7lWocUp/KhQ4pTOcshxam84ojiXFdzhxSn8nNDilM5tCHFdJ4r10XZIcV0nivXddYhxXSeK9el0yHFdJ4r19XQIcV0nivXBc4hxXSeK9c1yyHFdJ4r12XIIcV0nivXlcUhxXSeK9fFwiHFdJ4r1/W/IcV0nivXJb0hxXSeK9dVuiHFdJ4r14W3IcV0nivXtbQhxXSeK9flsSHFdJ4r1xWvIcV0nqvTea5O57k6nefKdedtQPGZ6xrbkGI2z3U+2DzXmesu3pBio1PM5rnOXJfghhSzea4z11W1IcV0nivXhbIhxXSeK9e1ryHFdJ4r1+WsIcV0nivXFaohxXSeK9dFpyHFdJ4r13WkIcV0nivXpaEhxXSeK9fFniHFdJ4r1+WbIcV0nivXBZkhxXSeK9clliHFdJ4r10WTIcV0nivXZZAhxXSeK9eFjSHFdJ4r16WKIcV0nivXxYchxXSeK9flhCHFdJ4r1wWCIcV0nitXk/+QYjrPlattf0gxnefK1Yg/pJjOc+VqrR9STOe56HroT7oe+pOuh/6k66E/6XroT7oe+pOuh/6k66E/6XroT7oe+pOuh/7M1VH+y/tXrb8/yf7la4u9Pkex44ol8y1Db5bMdw+dWeZqbF/MkvmeojdL5tuL3iyZL657szSxdGPJfG3dmyXzrXVvlso9fiyVe8ZYttc3Lr1csVTucWOZ62rCYpbKPX4slXvGWNYflucVS+UeP5Ymlm4slXv8WCr3+LFU7vFjqdwzxrK8fg5ZzqufQ+a6L7KWZa7LJYtZKvf4sVTu8WOp3OPH0sTSjaVyjx9L5R4/lso9fiyVe/xYKvd4say5rgctZqnc48dSucePpXKPH0sTSzeWyj1+LJV7/Fgq9/ixVO7xY6nc48Yy1wWvxSyVe/xYKvf4sVTu8WNpYunGUrnHj6Vyjx9L5R4/lso9fiyVe9xY5rqit5ilco8fS+UeP5bKPX4sTSzdWCr3+LFU7vFjGdxf1uMHTvtoFLhosKsv8r1etA/U6Hf9JigO7tUmKA7uqCYoDu57Jii2TIp/9xYYaOqs0a8ALucT3EUs5xN8I7qcT/At53I+qZylP5/otw6X80nlWuelvOtP/cEylR9ezDKV017M0sTSjSWx33dnSZwN3FkS5wh3lsSZw50lcT7xZhn9higUS+UeP5bKPX4slXv8WJpYurFU7vFjqdzjx1K5x4+lco8fS+UeN5bR7/hCsVTu8WOp3OPHUrnHj6WJpRtL5R4/lso9fiyVe/xYKvf4sVTucWMZ/UI4FEvlHj+Wyj1+LJV7/FiaWLqxVO7xY6nc48dSuceNZfTrwVFYDlxbr9GvB0Ox1LtnjOVA80D0K61QLPXu8WOpnZsfS+3c3FhGv9IKxVL+cojluZ1/f+157Fcs5S/9WGrn5sfSxNKNpXKPH0vlHj+Wyj1+LJV7/Fgq93ixbNGvtEKxVO7xY6nc48dSucePpRGz/MUnscNeiyI7ysem6HF+0mROPv40mbOPP03m9ONPkzn/+NNkTkDuNKNfbAWjyZyCfkWzPd40W7+iyZyD/GkyJyF/miaajjSVhTxpKgt50lQW8qSpLPR7mv28oqks5Egz+hVXMJrKQmM0bXsnS9uvkmX0S65gNJWFPGmaaDrSVBbypKks5ElTWciTprLQIM1yvGme+xVNZSFHmrluGS+nqSzkSVNZyJOmspAnTRNNR5rKQv/vTZtJY740PcRHeeWejxLIPR9lils+zJemh/jI99/zSeXkB26Pt1w3nocUG53iVK51SHEqHzqkOJWzHFKcyisOKU7l/kYU57q2O6Q4lUMbUkznuXLdlx1SbHSK6TxXrouqQ4rpPFeu66RDiuk8V65Ln0OK6TxXrquZQ4rpPFeuC5RDiuk8V65rjkOK6TxXrsuIQ4rpPFeuK4NDiuk8V66LfUOK6TxXrut3Q4rpPFeuS3JDiuk8V6XzXJXOczU6z5Xr1uCQYjrP1eg8VzM6xXSeK9cFxSHFdJ4r1zXCIcV0nivXZb8hxXSeK9eVvCHFdJ4r18W5IcV0nivX9bYhxXSeK9cltCHFbJ6r57oqNqSYzXP1XBe6hhSzea7+MDrFbJ6r57oaNaSYzXP1XNeXhhTTea5cV4yGFNN5rlzXgIYU03muXFd1hhTTea5c12mGFNN5rlxXXoYU03muXNdShhTTea5cV0eGFNN5rlzXO4YU03muXFcwhhTTea5c1ySGFNN5rlxXGYYU03muXNcNhhTTea5cVwKGFNN5rlzd/EOK6TxXrv78IcV0nitXx/2QYjrPRddD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99J2uh77T9dB3uh76TtdD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99D1XR/nzc/98+d6/fPfa+vuT7F++ttj+99cWOy5Y5mo/X8wylYdYzDKVO1nMMpXvWczSxNKNZSqvtphlKhe4mGWqnd5ilqm2hYtZKvc4sWyPXBcIJrJsr29cerliqdzjx1K5x4+lco8fSxPLIZb1h+V5xVK5x4+lco8fS+UeP5bKPX4slXvcWOa6AjKRZXn9HLKc9Yqlco8fS+UeP5bKPX4sTSzdWCr3+LFU7vFjqdzjx1K5x4+lco8by1yXeBazVO7xY6nc48dSucePpYmlG0vlHj+Wyj1+LJV7/Fgq9/ixVO5xY5nrGtZilso9fiyVe/xYKvf4sTSxdGOp3OPHUrnHj6Vyjx9L5R4/lso9bixzXaRbzFK5x4+lco8fS+UeP5Ymlm4slXv8WCr3+LFU7vFjqdzjxjL6Xb/SyvuDnP0by15f7QO9HleKg7vACYqDe7UJio1OcXDfM0FxcHfyO8W/ewt8b+p88gnuOJbzCe4ilvMJvhFdzSf6PcLlfFI5ywl8UvnQCXxSudZ5Ke/6U3+wNLF0Y5nKaS9mSezh3VkS+313lsTZwJ0lcY7wZhn9HicUS+J84s6SOMu4s1Tu8WNpYunGUrnHj6Vyjx9L5R4/lso9fiyVe9xYRr+JC8VSucePpXKPH0vlHj+WJpZuLJV7/Fgq9/ixVO7xY6nc48dSuceNZfQL4VAslXv8WCr3+LFU7vFjaWLpxlK5x4+lco8fS+UeP5bKPX4slXu8WG7RrwdHYTlwbf1JSizdWOrdM8bye/PAFv1KKxRLvXvcWEa/0grFUjs3P5baufmxlL8cYnlu599fex77FUsTSzeW2rn5sdTOzY+lco8fS+UeP5bKPW4so19phWKp3OPHUrnHj6Vyjx9LE0s3lso9fiyZc88vPkmz/bUoanZ8bIoe5ydN5uTjT5M5+/jTZE4/7jSjX2sFo8mcgPxpMmcgf5rMKehXNM/Hm+bZr2iaaDrSZE5C/jSVhTxpKgt50lQW8qSpLORIM/oF15A063lFU1nIk6aykCdNZaFBmv2dLMvjKllGv+QKRlNZyJOmspAnTWUhT5rKQp40lYUcaRZloTGaxd5+s9hVssx1b3g5TWUhT5rKQp40TTQdaSoLedJUFvKkqSz0e5rlaiPHfJd6Ak1lIUeazDevR3qLmG9eD/FRXrnnowRyz8fE55aPUsI9H/n+ez6pnHxvr/Vu71dNMLkuPQ8pTuWIRxTnupo8pDiVDx1SnMpZDilO5RWHFBud4lR+bkhxKoc2pJjOc+W6MjukmM5z5brYOqSYznPlun46pJjOc+W6JDqkmM5z5brKOaSYznPlunA5pJjOc+W6FjmkmM5z5bq8OKSYznPlumI4pJjOc+W6CDikmM5z5bquN6SYzXPtDzbPtT/YPNf+YPNce677i0OKjU4xm+faH2yea891r3JIMZvn2nPdfhxRnOtC45BiOs+V69rhkGI6z5XrcuCQYjrPlesK35BiOs+V66LdkGI6z5XrOtyQYjrPlevS2pBiOs+V62rZkGI6z5XrAtiQYjrPleuS1pBiOs+V6yLVkGI6z5XrstOQYjrPletC0pBiOs+V69LQkGI6z5XrYs+QYjrPlevyzZBiOs+V64LMkGI6z5XrEsuQYjrPleuiyZBiOs+V6zLIkGI6z5XrwsaQYjrPletSxZBiOs+V6+LDkGI6z5XrcsKQYjrPlesCwZBiOs+Vq8l/SDGd58rVtj+kmM5z5WrEH1JM57lytdYPKabzXHQ99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQ73Q99DtdD/1O10O/0/XQH3Q99AddD/1B10N/0PXQHw+jU8zmuQ66HvqDrof+oOuhP+h66A+6HvqDrof+yNVR/vzcj/eX7/3Ld6+tvz/J/uVri+1/f22x44plqjf9YpapPMRilqncyWKWqXzPYpapHNValrn66xezTOUCF7NMtdNbzDLVtnAxSxNLN5bKPWMs2+sbl16uWCr3+LFU7vFjqdzjx1K5Z4xl/WF5XrDMdUNiMUvlHj+Wyj1+LJV7/FiaWLqxVO4ZY1leP4cs59XPIXPdF1nMUrnHj6Vyjx9L5R43lrnuuCxmqdzjx1K5x4+lco8fSxNLN5bKPX4slXv8WCr3+LFU7vFjqdzjxjLXLaXFLJV7/Fgq9/ixVO7xY2li6cZSucePpXKPH0vlHj+Wyj1+LJV73Fjmume2mKVyjx9L5R4/lso9fixNLN1YKvf4sVTu8WOp3OPHUrnHj6VyjxvLXDcFF7NU7vFjqdzjx1K5x49lcH95bMfHB/nGstdX+0Cvx5Xi4C5wguLgXm2C4uCOyl9x9Lt+ExQHdye/U/y7t8BIU2f0K4DL+QR3Ecv5mPjc8gm+5VzOJ5WznMAnlQ+dwCeVa52X8q4/9QfLVH54Lcvo1xyhWBJ7eHeWxH7fnSVxNnBnaWLpxpI4c7izJM4n7iyJs4w7S+UeP5bKPV4sLfpFVSiWyj1+LJV7/Fgq9/ixNLF0Y6nc48dSucePpXKPH0vlHj+Wyj1uLKNfNYZiqdzjx1K5x4+lco8fSxNLN5bKPX4slXv8WCr3+LFU7vFjqdzjxjL6hXAoliaWQ3+x+P16sEW/HgzFUu+eMZbf/5LWol9pRWIZ/UorFEvt3PxYaufmx1I7Nz+WJpYjLM/t/Ptrz2O/Yil/6cdSOzc/ltq5+bFU7vFjqdzjxjL6lVYolso9fiyVe/xYKvf4sTSxdGOp3OPHUrnHjyVz7vnNJ9nrm8jeHj9fve+fNJmTjz9N5uzjTjP6rVYwmsz5x58mcwLyp8mcgfxpmmiO0bT2Q3P7B83/+6v78fKx/fz4FO1fP8X7Z3S128f3/RwSc7yCGRJzboMZkgIhwJCUMwGGpPgaf0jRL/lqSH8NSWEbYEjK8ABD0moAYEimIcUfkjYOY5/keNjrOx+fX/1PmloNeNJUhvekqbDtSVOp2JFm9IPMYDSVMz1pKhAO0jzON00rVzSV3Dxpmmg60lQW8qSpLORJU1nIk6aykCdNZaHf0/zU+A+auY60L6epLORJU1no/72rcGM+Fz/Ex8Tnlo8SyD0fZYp7PkoJ93zk++/5pHLyvb1+/N37VSlWrkPtQ4pTOeIhxalc65DiVD50SLHRKU7lFYcUp3J/Q4pT+bkhxakc2pBiNs9Vch2JHlLM5rlKroPLQ4rZPFd5GJ1iNs9Vch0CHlLM5rlKrqO6Q4rpPFeuA7VDiuk8V65jr0OK6TxXrsOpQ4rpPFeuI6RDiuk8V66DnkOK6TxXruOYQ4rpPNdO57l2Os+V6zDrkGI6z7XTea6dznPlOmQ7pJjOc+U6CjukmM5z5TqwOqSYznPlOlY6pJjOc+U6/DmkmM5z5TqiOaSYznPlOkg5pJjOc+U67jikmM5z5TqUOKSYznPlOjo4pJjOc+U63zekmM5z5TqDN6SYznPlOic3pJjOc+U6yzakmM5z5ToYNqSYznPlOmU1pJjOc+U6sjSkmM5z5Tr/M6SYznPlOkwzpJjOc+W6xDKkmM5z5bpoMqSYznPlugwypJjOc+W6sDGkmM5z5bpUMaSYznPluvgwpJjOc+W6nDCkmM5z5bpAMKSYznPlavIfUkznuXK17Q8ppvNcuRrxhxTTea5crfVDiuk8F10PfaHroS90PfSFroe+0PXQF7oe+kLXQ1/oeugLXQ99oeuhP+l66M9cHeW/vH/V+vuT7F++ttj+99cWO65YpnrTL2bJfPfQmyXzjURvlsz3FL1ZMt9e9GbJfHHdmWWuZvzFLJmvrXuzZL617s1SucePpYnlEMv2+sbPFekVS+UeP5bKPX4slXv8WCr3jLGsPyzPK5bKPW4sc12nWMxSucePpXKPH0vlHj+WJpZDLMvr55DlvPo5ZK77IotZKvf4sVTu8WOp3OPHUrnHjWWuCzGLWSr3+LFU7vFjqdzjx9LE0o2lco8fS+UeP5bKPX4slXv8WCr3uLHMdaVpMUvlHj+Wyj1+LJV7/FiaWLqxVO7xY6nc48dSucePpXKPH0vlHjeWuS6lLWap3OPHUrnHj6Vyjx9LE0s3lso9fiyVe/xYKvf4sVTu8WOp3OPGMte1wsUslXv8WCr3+LEM7i+38+eD7Pv+heVI+0D0u34TFAf3ahMUB3dUExQH9z3+iqPf9ZugOLiHmKA4+Jt+guLge8gJio1OMZ3nin7X75eKBzpbot/1m6A4l+caUZzLcw0ojn7X75eKBzobot/1m6A4l+caUZzLc40oNjrFuTzXiOJcnmtglxn9rt8Exbk814jiXJ5rQHH0u34TFOfyXCOKc3muEcW5PNeIYqNTnMtzjSim81zR7/pNUEznuaLf9XNXXKPf9ZugmM1z1Qeb56rRbzdOUGx0itk8V41+rXCCYjbPVaNf/pugmM5zRb+iN0ExneeKfpFugmI6zxX9utsExXSeK/qltAmK6TxX9KtjExTTea7oF7wmKKbzXNGvYU1QTOe5ol+WmqA49Pu49/7zJ6Dbvn0R3OvrV+h7Pa4Eh34dzxAc+m08QXDsszIzBId+F88QHPpV/EvBv/u79d5ez/Ter57psW+urMcT+iW/Hk/oLcx6PKFXNuvxZPKTE/Bkcp8T8GTyqvMKaa4/9A/K2EdGsFBm8teLUfI6d3eUvC7fHaUJpRdK3vTgjpI3abij5E0l7ih5E4w7SqUdL5SxT4tgoVTacUOptOOGUmnHDaUJpRdKpR03lEo7biiVdtxQKu24oVTa8UIZ+6AIFkqlHTeUSjtuKJV23FCaUHqhVNpxQ6m044ZSaccNpdKOG0qlHS+UsQ8UYaFU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24olXbcUCrtuKFU2vFCGfs0GBZKpR03lEo7biiVdtxQygyNoBy4LFtjX8CCQhn77FIclAPtVLHvOWGh1GvHDaUJpRdKLdncUGrJ5oZSvnIE5bmdf3/teexXKOUr3VBqyeaEssW+S4aFUmnHDaXSjhtKpR03lCaUXiiVdtxQKu24oVTacUOptOOGUmnHC2Xsi4BYKJV23FAq7bihVNpxQ2lC6YWSOO384oPs25vlvh3l53O0/m9fXcrri+t2BZ44G60FT5yk1oInzl1rwROnNCfwPzBjXxFFg0mc1PxhEmc1f5jEac0fpgmmH0wlNkeYSmGOMJWsxmD2t2ffH+0fMP/bEifVuWQo8EpW/uD3/c3DygX4VOejocArsS0Cr3S3CLyS4CLwJvBrwCthLgKvNDoB/MBPSIgPoi8Gr+S6CLyS6xrwzCfffwN+P9pbYrMv4Lfy/tTFrsAruS4Cr+TqD965pakxH6rHGZJpSPGHpPQMMCQlbYAhKZUDDEkJHmBISvvxh1S0GQAYkrYIAEPSxgFgSNo4AAzJNKT4Q9LGAWBI2jgADEkbB4AhaeMAMCRtHOIP6dTGAWBI2jgADEkbB4AhaeMAMCTTkOIPSRsHgCFp4wAwJG0cAIakjQPAkLRxiD+kqo0DwJC0cQAYkjYOAEPSxgFgSKYhxR+SctLaIQ0cVW9VOSn+kJrc3eIhfT9u3JrcHcCQ5O4AhmQaUvwh6edJAEPSz5MAhqSctHZII7XBTTkJYEj6eVL8IXX9PAlgSNo4AAxJGweAIWnjADAk05DiD0kbB4AhaeMAMCRtHACGpI0DwJC0cQg/pP7QxgFgSNo4AAxJGweAIWnjADAk05DiD0kbhwlD+sV33vrPZ+7bx2d+2H8dqfYT6UaqbUa6kWr3kW6k2pTEHenPmDbtSiDGpG0JxJi0L4EYkzYmEGMyjQlhTNqaQIxJmxCIMWm7ATEmbSwgxqQtxOox1Rfq/bGd/xjTv3yO79fZ+66NRbqRaruBNFLn4qC+a2tCPX5tY6jHbxo/8/i1PaIev7ZS1OPXtot6/NqiUY9f2znm8R/a5FGPX1s/6vFr60c9fm39qMdvGj/z+LX1ox6/tn7U49fWj3r82vpRj19bP+bxm7Z+1OPX1o96/Nr6UY9fWz/q8ZvGzzx+bf2ox6/cn3X8A1dtuyn3M4+/yPmnHf/3q4e9yPlTj980fubxy/lTj18/76cev37eTz1+5f6s4x9pAi7K/czjP/Xzfurx6+f91OPX1o96/Nr6UY/fNH7m8WvrRz1+bf2ox6+tH/X4tfWjHr+2fszjr9r6UY9fWz+o8f/mO2/99Zm3/fHxM7+2ff4D0N6P/B+ANn/k/wBM/wC4/wFo+0f+D0D7P/J/ANoAkv8D0A4wxz+Aj5Fqr5dtpE27urUj3R/l8R5pL19GOnJRr2n/lm6k2qghjdS7PKFpn0Y9ftP4mcevXRr1+LVJox6/9mjU49cWjXr82rgxj79rO0c9fm3yqMevrR/1+LX1ox6/afzM49fWj3r82vpRj19bP+rxa+tHPX5t/XjH35+8NH7m8WvrRz1+bf2ox6+tH/X4TeNnHr+2ftTj19aPevzK/VnH//1KXn9syv3U45fzTzv+r5dynuM3jZ95/HL+1OOX86cev37eTz1+/byfevzK/VnH/70wuT925X7q8evn/dTj18/7qcevrR/1+E3jZx6/tn7U49fWj3r82vpRj19bP+rxa+vHPP5DWz/q8WvrBzX+X3znkfsYz38A2vuR/wPQ5o/8H4DpHwD3PwBt/8j/AWj/R/4PQBtA8n8A2gHm+AfwMVLt9bKN1LSrWzzS59P09Z23o34Z6fYcx0vhdtjVULWBSzhUbdWQhmrvL7bj8eU7f35tuxq/dmrU4zeNP+n4n5/59Y2tXI1f+zTq8WubRj1+7dKox69NGvX4tXVjHn/Rhi7t+Et5feO6XY1fuzzq8WvrRz1+bf2ox28aP/P4tfWjHr+2ftTj19YPdfxXP8Ur2uSlG6m2c9lGemrjlm6k2qKlG6k2Y+lGqm1XupGaRpptpNpKpRupNk3pRqrt0eqR/vyt1nZ++1utsb8BObU/SjhUbZDyDbVqh5RwqNoiJRyq9kgJh6pNUsKhmoaab6jaJiUcqvZJCYeqjVLCoWqjlHCo2ijlG2rTRinhULVRSjhUbZQSDlUbpYRDNQ0131C1UUo4VG2UEg5VG6WEQ9VGKeFQtVHKN9SujVLCoWqjlHCo2iglHKo2SgmHahpqvqFqo5RwqNooJRyqNkoJh6qNUsKhaqOUbqhPDBpqvqFqo5RwqNooJRyqNkoJh2oaar6haqOUcKjaKCUcqjZKCYeqjVLCoWqjlG+omzZKCYeqjVLCoWqjlHCo2iglHKppqPmGqo1SwqFqo5RwqNooJRyqNkoJh6qNUr6h7tooJRyqNkoJh6qNUsKhaqOUcKimoeYbqjZKCYeqjVLCoWqjlHCo2iglHKo2SvmGemijlHCo2iglHKo2SgmHqo1SwqGahppvqNooJRyqNkoJh6qNUsKhaqOUcKjaKOUbqmmjlHCo2iglHKo2SgmHqo1SwqGahppvqNooJRyqNkoJh6qNUsKhaqOUcKjaKOUbatFGKeFQtVFKOFRtlBIOVRulhEM1DTXfULVRSjhUbZQSDlUbpYRD1UYp4VC1Uco31FMbpYRD1UYp4VC1UUo4VG2UEg7VNNR8Q9VGKeFQtVFKOFRtlBIOVRulhEPVRinfUKs2SgmHqo1SwqFqo5RwqNooJRyqaaj5hqqNUsKhaqOUcKjaKCUcqjZKCYeqjVK+oTZtlBIOVRulhEPVRinhULVRSjhU01DzDVUbpYRD1UYp4VC1UUo4VG2UEg5VG6V8Q+3aKCUcqjZKCYeqjVLCoWqjlHCopqHmG6o2SgmHqo1SwqFqo5RwqNooJRyqNkrphro/tFFKOFRtlBIOVRulhEPVRinhUE1DzTdUbZQSDlUbpYRD1UYp4VC1UUo4VG2U8g1100Yp4VC1UUo4VG2UEg5VG6WEQzUNNd9QtVFKOFRtlBIOVRulhEPVRinhULVRyjfUXRulhEPVRinhULVR+pND/QCvrc8i8Cbwa8Bre7IIvDYci8BrC7EIvDYFi8ArzQ+BP/byknh8AvlX8GNO/lDmXoZeydgf/WGvT30U+/Kdz+38+2vPY78akpIuwJCUigGGZBrS0iE9fdvrG1u5GpLSNsCQlMwBhqQUDzAkJX6AIWk7EH9Ipj0CwJC0cVg8pPL+xnW7GpI2DgBD0sYBYEimIcUfkjYOAEPSxgFgSNo4TB3SeQleW4RF4LUZWAO+KO0vAq8Evwi8UvkY+La9wff2BfzY78kUZe1l6E3o3dF7/2JFUYIGGJIS9Nohjfx8pChBAwxJaRtgSErm8Yd0KsUDDEmJH2BI2g4sHtLAz0dO7REAhmQaUvwhaeMAMCRtHACGpI0DwJC0cQAYkjYOU4d0+ZPRqi3CIvDaDCwCr7S/CLwS/CLwJvBrwCtpLwKv9LwIvBLxIvBKuYvAK7kOgbetvyTa8a12cOz3G5uy6zL0Sq/L0Cu/LkOvBLsMvQn9KvRKscvQK8cuQ68kuwy9suwy9Eqzq9B3pdll6JVml6FXml2GXml2GXoT+lXolWaXoVeaXYZeaXYZeqXZZeiVZhehPx5Ks8vQK80uQ680uwy90uwy9Cb0q9ArzS5DrzS7DL3S7DL0SrPL0CvNrkK/Kc0uQ680+/9n79/SY0l2XU20L9WA+sLdabfGnLfqRvX9xKyVIUXuleEy5aQNIwjsp/2gqQz8HMsdoCRwG3ql2W3olWa3oTeh34VeaXYbeqXZbeiVZrehV5rdhl5pdhf6U2l2G3ql2W3olWa3oVea3YbehH4XeqXZbeiVZrehV5rdhl5pdht6pdld6C+l2W3olWa3oVea3YZeaXYbehP6XeiVZrehV5rdhl5pdht6pdlt6JVmd6E3pdlt6JVmt6FXmt2GXml2G3oT+l3olWa3oVea3YZeaXYbeqXZbeiVZnehL0qz29ArzW5DrzS7Db3S7Db0JvS70CvNbkOvNLsNvdLsNvRKs9vQK83uQl+VZrehV5rdhl5pdht6pdlt6E3od6FXmt2GXml2G3ql2W3olWa3oVea3YW+Kc1uQ680uw290uw29Eqz29Cb0O9CrzS7Db3S7Db0SrPb0CvNbkOvNLsLfVea3YZeaXYbeqXZbeiVZrehN6HfhV5pdht6pdlt6JVmt6FXmt2GXml2F/qhNLsNvdLsNvRKs9vQK81uQ29Cvwu90uw29Eqz29ArzW5DrzS7Db3S7Cb09lCa3YZeaXYbeqXZbeiVZrehN6HfhV5pdht6pdlt6JVmt6FXmt2GXml2F/pDaXYbeqXZbeiVZrehV5rdht6Efhd6pdlt6JVmt6FXmt2GXml2G3ql2V3oT6XZbeiVZrehV5rdhl5p9n9/kDc8Jjx3eJQKb/Eoud3iUbq6xaMEdItHKeUOz6UkcYtHbv8Wjxz5LR655ls8Jjx3eDK55tH7X189RvskOJMPnhKcydlOCc7kVacEZ3KfM4Itk5+cEpzJIU4JzuT5pgRncnFTgo1NMJvTMjanZWxOy9iclrE5rcLmtAqb0ypsTquwOa1ibILZnFZhc1qFzWkVNqdV2JxWZXNalc1pVTanVdmcVjU2wWxOq7I5rVS356cEszmtVHfWZwSnum4+JZjNaaW65D0lmM1ppbpaPSWYzWmlutA8JZjNaaW6RjwlmM1ppbq8OyWYzWmlujI7JZjNaaW6qDolmM1ppboeOiWYzWmlupQ5JZjNaaW6CjklmM1ppbqAOCWYzWmluvY3JZjNaaW6bDclmM1ppbriNiWYzGmVVBfLpgSTOa2S6jrXlGAyp1UexiaYzGmVVFeXpgSTOa2S6sLQlGA2p5Xqms6UYDanlepyzJRgNqeV6krKlGA2p5XqIsiUYDanler6xZRgNqeV6tLDlGA2p5XqqsGUYDanleo6wJRgNqeVqsF/SjCb00rVsj8lmM1ppWrCnxLM5rRStdVPCWZzWqka5acEszktto74wtYRX9g64gtbR3xh64gvbB3xha0jvrB1xBe2jvjC1hFf2DriC1tHfGHriC9sHfGFrSO+sHXEF7aO+MLWEV/YOuILW0d8YeuIL2wd8YWtI76wdcQXto74wtYRX9g64gtbR3xh64gvbB3xha0jvrB1xBe2jvjC1hFf2DriC1tHfGHriC9sHfGFrSO+sHXEF7aO+MLWEV/YOuILW0d8YeuIL2wd8YWtI76wdcQXto74wtYRX9g64gtbR3xh64gvbB3xha0jvrB1xBe2jvjC1hFf2DriC1tHfGHriC9sHfGFrSO+sHXEV7aO+MrWEV/ZOuIrW0d8fRibYDKnVdk64itbR3xl64ivbB3xla0jvrJ1xFe2jvjK1hFf2TriK1tHfGXriK9sHfGVrSO+snXEV7aO+MrWEV/ZOuIrW0d8ZeuIr2wd8ZWtI76ydcRXto74ytYRX9k64itbR3xl64ivbB3xla0jvrJ1xFe2jvjK1hFf2TriK1tHfGXriK9sHfGVrSO+snXEV7aO+MrWEV9TNYg/P/bj68vP8cM3/80HOc+rf0ns9v05+vhvv/OjvD7z+RjlDZ7903fu4+s7nz9852LnX19b7Po0/kyuROP/7fhTtctr/L8efybHqvH/evyZ/LvG/+vxZ0ozGv+vx28aP/P4MyVdjf/X48/0ExaN/9fjz/TzJo3/1+PX1o96/Nr6pR1/f33j8v59/zb+VJeONP5fj19bP+rxa+tHPX5t/dKOv32Pv34av2n8zOPX1o96/Nr6UY9fWz/q8WvrRz1+bf3Sjr+8PnKpn37TN9XVTY3/1+PX1o96/Nr6UY9fWz/q8ZvGzzx+bf2ox6+tH/X4tfWjHr+2ftTj19aPefypLsBr/L8ev7Z+1OPX1o96/Nr6UY/fNH7m8WvrRz1+bf2ox6+tH/X4tfWjHr+2fszjH9r6UY9fWz/q8WvrRz1+bf2ox28aP/P4tfWjHr+2ftTj19aPevza+lGPX1s/4vG3h7Z+1OPX1o96/Nr6UY9fWz/q8ZvGzzx+bf2ox6+tH/X4tfVjHv+h3L93/MdzBl/jP6rn+H++5tEO5X7q8Sv3U49fuZ96/KbxM49fuZ96/Mr91ONX7qcev37bh3r8+m0f5vGf2vpRj19bv7Tj//mMYzu19aMev7Z+1OM3jZ95/Nr6pR3/z4fc2qmtH/X4tfWjHr+2ftTj19aPefyXtn7U49fWL+34J37T99LWj3r82vpRj980fubxa+tHPX5t/ajHr60f9fi19aMev7Z+zOM3bf2ox6+tH/X4tfWjHr+2ftTjN42fefza+lGPX1s/6vFr60c9fm39qMevrR/z+Iu2ftTj19aPevza+lGPX1s/6vGbxs88fm39qMevrR/1+LX1ox6/tn7U49fWj3n8VVs/6vFr60c9fm39qMevrR/1+E3jZx6/tn7U49fWj3r82vpRj19bP+rxa+vHPP6m3L9g/M43N5rSOcCQTEOKPyQlXYAhKY8CDEmpEWBIynYAQ1ICiz+krt+OABiSfocBYEjaOAAMSRuHzUOaOMfWTUOKPyRtHACGpI0DwJC0cdg8pIlDQV0bB4AhaeMQf0hDGweAIWnjADAkbRwAhqSNw+YhTfy20DANKf6QtHEAGJI2DgBD0sYBYEjaOAAMSRuH8EPqD20cAIakjQPAkLRxABiSNg4AQzINKf6QtHEAGJI2DgBD0sYBYEjaOAAMSRuH+EM6tHEAGJI2DgBD0sYBYEjaOAAMyTSk+EPSxgFgSNo4AAxJGweAIWnjADAkbRziD+nUxgFgSNo4AAxJGweAIWnjADAk05DiD0kbB4AhaeMAMCRtHACGpI0DwJC0cYg/pEsbB4AhaeMAMCTjHZJvv2O/iNOMN0rizOGNkjgZeKMk9u/eKIldtjNKI/bC3iiJHas3SuKfZHmjJP55kzdKE0ovlEo7Uyh/LmHuprTjhlJpxw2l0o4bSqWdKZQ/V5r2orTjhlJpxw2l0o4bSqUdN5QmlF4olXa8fuJYlHbcUCrtuKFU2nFDqbTjhbIq7bihVNpxQ6m044ZSaccNpQmlF0qlHTeUSjtuKJV23FAq7bihVNrxQtmUdtxQKu24oVTacUOptOOG0oTSC6XSjhtKpR03lEo7biiVdtxQKu14oexKO24olXbcUCrtuKFU2nFDaULphVJpxw2l0o4bSqUdN5RKO24olXa8UA6lHTeUSjtuKJV23FAq7bihjO0re3l98Ril/kBytFeVwGifqgRGbPPnrze2Q/PXG9tGeesdj9hex19vbEPyK72/e/I/I8LXt26f6MT2GLvpxLYNu+mY6NzQib3K3E0nkYtcQCeR51xAJ5FDXZflPn/mN5KJvO9ekkciV72ZJK1fdydJ6+3dSdLmAHeSJpJOJGnzhTtJ2iziTpI2t7iTVMbxIqmM40Qy+CV1JJLKOF4klXG8SCrjeJE0kXQiqYzjRVIZx4ukMo4XSWUcL5LKOE4kg99uRiKpjONFUhnHi6QyjhdJE0knkso4XiSVcbxIKuN4kVTG8SKpjONEMvhNbiSSJpIuB3tH8IO9SCT1xvH5S9cR/DAqEMngd1GRSGqr5kVSWzUvktqqeZE0kfyZZD3qX19br/MTSflJL5LaqnmR1FbNi6QyjhdJZRwnksGvoSKRVMbxIqmM40VSGceLpImkE0llHC+SyjheJHkzzi8+x3GVr8LPq77xaOOdJW/K8WfJm3PcWQa/hIrFkjfr+LPkTTv+LHnzjj9LE8sZlr18sRz2iSVv5vFnyZt6/Fkq9/ixVO7xY6nc48Yy+E1ULJbKPb9kaY/jE0vlHj+Wyj1+LE0sJ1jaWb9YXuUTS+UeP5bKPX4slXv8WCr3+LFU7nFjGfw6KhZL5Z6bv6cNfvF0Nx1lkzs6Jjo3dJQf7ugoEdzRkce/o5PpXu7E9bVU93J/1Puffy+ZDuZOCU7kUecEJ7Kdc4ITOck5wcYmOJHfmxOcyMLNCU7kyuYEUxmt/whmc1qZjqjOCWZzWplOks4JZnNamQ58zglmc1qZzmXOCWZzWpmOT84JZnNamU45zglmc1qZDiPOCWZzWpnODM4JZnNamY72zQlmc1qZTuDNCWZzWpkOys0JZnNamc6zzQlmc1qZjp3NCWZzWplOh80JZnNamQ5xzQlmc1qZzlrNCWZzWsbmtIzNaWU6qDYnmM1pGZvTMjanlekA3ZxgNqeV6ZzbnGA2p5XpONqcYDanlenU2JxgNqeV6XDXnGA2p5XpDNacYDanlemo1JxgNqeV6UTTnGA2p5Xp4NGcYDanlel80JxgNqeV6RTPnGA2p5XpqM2cYDanlek8zJxgNqeV6dDKnGA2p5XpZMmcYDanlen4x5xgNqeV6YzGnGA2p5XpIMWcYDanlem0w5xgNqeV6UjCnGA2p5Xp3MCcYDanlam4f04wm9PKVJg/J5jNaWWqtZ8TzOa0MpXPzwlmc1pcFfH/EUzmtA62jviDrSP+YOuIP9g64p9y2ASTOa2DrSP+YOuIP9g64g+2jvgjU4P48btjVH18fY7zh68tdv71tcWujyh57wm6ozSh9ELJe6nQHSXvWUN3lLw3EN1R8p45d0fJe+XcG2WmRvzdKHlvnLujVNpxQ6m0M4Oyv75xGeUjShNKL5RKO24olXbcUCrtzKBs3yjrR5RKO24olXa8UGa6SrEbpdKOG0qlHTeUSjszKMvrJ46lfvyJY6brH7tRKu24oVTacUOptOOGUmnHDaXSjhfKTJdhdqNU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24olXbcUCrtuKFU2vFCmek6026USjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKDNdSNuNUmnHDaXSjhtKpR03lCaUXiiVdtxQKu24oVTacUOptOOGUmnHC2WmK4W7USrtuKG00Cjb+dI7+tl+QPn86tcXt49dAsHv7i0QHNujLRAc20ktEBzb7ywQHNuV/Erw757/Uz2bwa/0bccT2z1sxxN7/7kdT+yd5nY8Jjx3eBK5zxV4EnnVdcHu82d+R5nIBe9Gmchf70ZJ69zdUQa/EAmFkjYR+KOkTQ/+KGmThj9KE0ovlLQJxh+l0o4bSqUdN5RKO24olXacUJ7Br7RCoVTacUOptOOGUmnHDaUJpRdKpR03lEo7biiVdtxQKu24oVTa8UJ5KO24oVTacUOptOOGUmnHDaUJpRdKmaGZv6uZOFl5Bj/vi4Qy+CHVKCgn/trrDH5IFQqlXjtuKLVkc0OpJZsbSi3Z3FDKV06grEf962vrdX5EKV/phTL4IVUolFqyuaFU2nFDqbTjhtKE0gul0o4bSqUdN5RKO24olXbcUCrteKEMfkgVCiVv2vnF5zge1b6+81uX01HL32Dy5p0FMHkTzwKYJph+MHlTzwKYvLlnAUze5LMAJm/2+RXM8bKZx/EoH2Hyph9/mMFPq4LBVAJyhKkE5AhTCcgRpgmmH0wloN/CfFvX/Z8wlYAcYSoBOcJUArr7E5Pg51N34wl+EnU7HuWOWzxKErd4lA1u8Zjw3OHJdDhqooz/DH7cc4HgTIejpgRnOhw1JTiR+5wSHPzo5ALBiRzinOBEnm9OcCIXNyfY2ASzOa1UJzqnBLM5rVQnOqcEszmtTEc35wSzOa1MhzHnBLM5rUzHK+cEszmtTAcm5wSzOa1MxxrnBLM5rUyHD+cEszmtTEcE5wSzOa1MB/nmBLM5rUzH7eYEszmtTIfi5gSTOa0r09G1OcFkTuvKdMBsTjCZ07oexiaYzGldmQ5rzQkmc1pXpiNVc4LZnFamg09zgtmcVqbjSXOC2ZxWpkNEc4LZnNbB5rQONqeV6QLWnGA2p3WyOa2TzWlluhc2J5jNaWW6vTUnmM1pZbpjNSeYzWllugk1J5jNaWW6rzQnmM1pZbpVNCeYzWlluvszJ5jNaWW6oTMnmM1pZbpHMyeYzWlluu0yJ5jNaWW6kjInmM1pEd90+M25aTv/+tpi10eUumXnhlK37NxQ6padF0riWw7uKHW52w2lLne7odTlbjeUJpReKHW52w2l0o4bSqWdGZT99Y3LKB9RKu24oVTa8UJJfBPCHaXSzgzK9o2yfkSptOOGUmnHDaUJpRdKpR03lEo7biiVdmZQltdPHEv9+BPHTNc/dqNU2vFCmeliyW6USjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKDNdDdqNUmnHDaXSjhtKpR03lCaUXiiVdtxQKu24oVTacUOptOOGUmnHC2Wmy127USrtuKFU2nFDqbTjhtKE0gul0o4bSqUdN5RKO24olXbcUCrtOKG0TNfzdqNU2nFDqbTjhlJpxw2lCaUXSqUdN5SxfWUxe6Gso/+A8gn+9cXt+ig4tvvzFxz87t4CwbGd1ALBsf3OAsGxXcmvBP/u+T/Ts2nBr/RtxxPbPWzHE3v/uR1P7J3mdjyJ/OQKPInc5wI8wS8XLsTzm2D3+TO/o0zkgnejTOSvd6Okde7+KE0ovVDSJgJ/lLTpwR8lbdLwR0mbSvxR0iYYd5TBr4dCoVTacUOptOOGUmnHDaUJpRdKpR03lEo7biiVdtxQKu24oVTa8UIZ/IIvFEqlHTeUSjtuKJV23FCaUHqhVNpxQ6m044ZSaccNpdKOG0qlHS+Uwe93Q6FU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO14og5/3DYJy5hS6BT/vC4VSr50ZlDMtAsEPqUKh1GvHDaWWbG4otWRzQ6klmxfK4IdUg6CsR/3ra+t1fkQpX+mGUks2N5RasrmhNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKIMfUoVCqbTjhlJpxw2l0o4bShNKL5RKO24olXbcUCrtuKHkTTu/+ByHfbE87Crfn6PZvwbPm432gg9+pDUxeN7ctRk8b0pzAv8OkzenLYBpgukHkzerLYDJm9YWwOTNawtgKrE5wlQKc4NZgh+EBYOptOQIUwloCmZ/KTzKVf8G8x+++rDXLvI4ytunbuVv6JWXtqE3ofdG7/3nkSX4OVsN6f8bktIgwJCUMgGGpPQKMCSl4vhDynTaO++QlOIBhqTtAMCQtEcAGJJpSPGHpI0DwJC0cQAYkjYOAEPSxgFgSNo4xB/SqY0DwJC0cQAYkjYOAEPSxgFgSKYhxR+SNg4AQ9LGAWBI2jgADEkbB4AhaeMQf0iXNg4AQ9LGAWBI2jgADEkbB4AhmYYUf0jaOAAMSRsHgCEpJ20d0sw1s2LKSQBDkrvbO6SJq0JPCBpS/CHJ3QEMSe4OYEj6eRLAkPTzJIAhKSdtHdJME2opykkAQ9LPkwCGpJ8nAQxJGweAIZmGFH9I2jgADEkbB4AhaeMAMCRtHACGpI1D/CFVbRwAhqSNg/+QfvOdj8dXi/dxvLd4/63PuGrnADEmbR0gxmQaE8KYtHmAGJN2DxBj0vYBYkzaP2we09G+xnTWj2PSBgJhTE07CIgxaQsBMSZtISDGpC0ExJhMY0IYk7YQm8c0dfGvaQsBMSZtISDGpC0ExJi0hUAYU9cWAmJM2kJAjElbiD84pnfw2itsAm8CPwH++bOzL/D9+AH888dx9vWwuewjeqX/beiV6N3Rn+cXDisfwSujbwKv1L0JvHL0HvBDyXgTeGXdTeCVXv3Bl/LC0Y6P4JVeN4E3gd8DXtl1E3gl103glVw3gVdy3QReyXUL+PpQct0EXsl1E3gl103glVw3gTeBnwD/fDK8vnM92g/g5374Vx/KrtvQK71uQ6/8ug29Euw29Mqwu9AfSrHb0CvHbkOvJLsNvbLsNvQm9LvQK81uQ680uw290uw29Eqz29Arze5CfyrNbkOvNLsNvdLsNvRKs9vQm9DvQq80uw290uw29Eqz29ArzW5DrzS7C/2lNLsNvdLsNvRKs9vQK81uQ29Cvwu90uw29Eqz29ArzW5DrzS7Db3S7C70pjS7Db3S7Db0SrPb0CvNbkNvQr8LvdLsNvRKs9vQK81uQ680uw290uwu9EVpdht6pdlt6JVmt6FXmt2G3oR+F3ql2W3olWa3oVea3YZeaXYbeqXZXeir0uw29Eqz29ArzW5DrzS7Db0J/S70SrPb0CvNbkOvNLsNvdLsNvRKs7vQN6XZbeiVZrehV5rdhl5pdht6E/pd6JVmt6FXmt2GXml2G3ql2W3olWZ3oe9Ks9vQK81uQ680uw290uw29Cb0u9ArzW5DrzS7Db3S7Db0SrPb0CvN7kI/lGa3oVea3YZeaXYbeqXZbehN6HehV5rdhl5pdht6pdlt6JVmt6FXmt2Evj2UZrehV5rdhl5pdht6pdlt6E3od6FXmt2GXml2G3ql2W3olWa3oVea3YX+UJrdhl5pdht6pdlt6JVmt6E3od+FXml2G3ql2W3olWa3oVea3YZeaXYX+lNpdht6pdlt6JVmt6FXmt2G3oR+F3ql2W3olWa3oVea3YZeaXYbeqXZXegvpdlt6JVmt6FXmt2GXml2G3oT+l3olWa3oVea3YZeaXYbeqXZbeiVZnehN6XZbeiVZrehV5rdhl5pdht6E/pd6JVmt6FXmt2GXml2G3ql2W3olWZ3oS9Ks9vQK81uQ680uw290uw29Cb0u9ArzW5DrzS7Db3S7Db0SrPb0CvN/q/P8YanKnHe4lEqvMWj5HaLR+nqFo8Jzx0epZRbPEoSt3jk9m/xyJHf4pFrvsPT5Jpv8SRyzaP31xeP9lFwIh88JziRs50TbGyCE7nPOcGJ/OSc4EQOcU5wIs83JziRi5sS3BP5sjnBbE6rszmtzua0urEJZnNanc1pdTan1dmcVmdzWoPNaQ02pzXYnNZgc1rD2ASzOa3B5rQGm9MabE5rkDmt/iBzWv1B5rT6g8xp9Uy35+cEG5tgMqfVM103nxNM5rR6pkvec4LZnFamq9VzgtmcVqYLzXOC2ZxWpmvEc4LZnFamy7tzgtmcVqYrs3OC2ZxWpouqc4LZnFam66FzgtmcVqZLmXOC2ZxWpquQc4LZnFamC4hzgtmcVqZrf3OC2ZxWpst2c4LZnFamK25zgtmcVqaLZXOC2ZxWputcc4LZnFamS1RzgtmcVqarS3OC2ZxWpgtDc4LZnFamazpzgtmcVqbLMXOC2ZxWpispc4LZnFamiyBzgtmcVqbrF3OC2ZxWpksPc4LZnFamqwZzgtmcVqbrAHOC2ZxWpgb/OcFsTitTy/6cYDanlakJf04wm9PK1FY/J5jNaWVqlJ8TzOa02DriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72wd8Z2tI76zdcR3to74ztYR39k64jtbR3xn64jvbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGDrSN+sHXED7aO+MHWET8exiaYzGkNto74wdYRP9g64gdbR/xg64gfbB3xg60jfrB1xA+2jvjB1hE/MjWIPz/14+tTn+OH7/2bz3FYfyk8ylW/P0ezf/rOfXx95/OH71zs/Otri10fh5TIO6QdUqam9rxDSuTR8g4pka/MO6REXjjvkExDij+kRJkj75ASbaTzDinRFj3vkLRxABiSNg57h9RfH7mM8mlImS6W5B2SNg4AQ9LGAWBI2jjsHVL7HlL9OCTTkOIPSRsHgCFp4wAwJG0cAIakjQPAkLRx2Duk8vptoVI//rZQpstdeYekjQPAkLRxABiSNg4AQzINKf6QtHEAGJI2DgBD0sYBYEjaOAAMSRuH+EPKdMEy75C0cQAYkjYOAEPSxgFgSKYhxR+SNg4AQ9LGAWBI2jgADEkbB4AhaeMQf0iZLjnnHZI2DgBD0sYBYEjaOAAMyTSk+EPSxgFgSNo4AAxJGweAIWnjADAkbRziD6lp4wAwJG0cAIakjQPAkLRxABiSaUjxh6SNA8CQtHEAGJI2DvGH1Hlzkne/Y+dNM+4oeTOHO0reZOCO0oTSCyWvy3ZHyeuF3VHyOlZ3lLw/yXJHyfvzJm+UQ2nHDaXSzgzKmRLmobTjhlJpxw2lCaUXSqWdGZQzlaZDaccNpdKOG0qlHTeUSjs+KP/zHxdKL5RKOz4/cXz+x5V23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKA+lHTeUSjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKE+lHTeUSjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKC+lHTeUSjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUSjteKC22r7zaS8Ow8fgB5WivLoHRro+CY7u/BYKNTXBsJ7VAcGy/s0BwbFfyK8G/e/6P/vWtx+dnemynsR1PbPewG0+Jvf/cjif2TnM7nkR+cgWeRO5zBR5jxfObYPf5M7+jTOSCd6NM5K93o6R17v4oaV2+P0raROCOstKmB3+UtEnDHyVtKvFHSZtg/FGaUHqhVNpxQ6m044ZSaccNpdKOG0qlHS+UwS9/Q6FU2nFDqbTjhlJpxw2lCaUXSqUdN5RKO24olXbcUCrtuKFU2vFCGfx+NxRKpR03lEo7bihlhmb+rubnk5VPlDJDXiiDH1KNgnLmr72CH1KFQqnXjhtKLdncUJpQeqHUks0NpXzlBMp61L++tl7nR5TylW4otWRzQ6klmxPKI/ghVSiUSjtuKJV23FAq7bihNKH0Qqm044ZSaccNpdKOG0qlHTeUvGnnF5/jP10gX9+5Ht+fox3vMIOfUgWDyZt4FsDkzTwLYPKmngUwTTD9YPImnwUwebPPr2B2+/rO4/oIkzf9LIDJm38WwFQC8oMZ/LwqGEwlIEeYSkCOMJWAfgnz+V/5CNME0w+mEpAjTCWgmz8xOYKfT92ORynlFo9yxx2e4KdLt+NRNrjFI7d/iyfT4aiJMv4j+HHPBYIzHY6aEpzpcNSU4ETuc05wIj85JziRQ5wSbIk835zgRC5uTnCmE51TgtmcVqoTnVOC2ZxWqhOdU4LZnFamo5tzgtmcVqbDmHOC2ZxWpuOVc4LZnFamA5NzgtmcVqZjjXOC2ZxWpsOHc4LZnFamI4JzgtmcVqaDfHOC2ZxWpuN2c4LZnFamQ3FzgtmcVqaja3OC2ZxWpgNmc4LZnFamY2BzgtmcVqbDWnOC2ZxWpiNVc4LZnFamg09zgtmcVqbjSXOC2ZxWpkNEc4LZnFY3NsFsTivTBaw5wWxOq7M5rc7mtDLdC5sTzOa0Mt3emhPM5rQy3bGaE8zmtDLdhJoTzOa0Mt1XmhNM5rTOTLeK5gSTOa0z092fOcFkTut8GJtgMqd1ZrpHMyeYzGmdmW67zAlmc1qZrqTMCWZzWsQ3HX5zbtpeVwiKXR9R6padG0rdsnNDqVt2bih1y84NpS53e6EkvuPgjlKXu91Q6nK3G0pd7nZDaULphVJpZwZlf33jMspHlEo7biiVdtxQKu24oVTamUHZvlHWTyiJb024o1TacUOptOOGUmnHDaUJpRdKpZ0ZlOX1MUr9+BPHTNc/dqNU2nFDqbTjhlJpxwtlpisru1Eq7bihVNpxQ6m044bShNILpdKOG0qlHTeUSjtuKJV23FAq7XihzHTpaDdKpR03lEo7biiVdtxQmlB6oVTacUOptOOGUmnHDaXSjhtKpR0vlJmuje1GqbTjhlJpxw2l0o4bShNKL5RKO24olXbcUCrtuKFU2nFDqbTjhTLTxb/dKJV23FAq7bihVNpxQxnbV57n64vHdY0fUI726hIY7WOXQPC7ewsEx/ZoCwTHdlL+goPf3VsgOLYr+ZXg3z3/p3o2g1/p244ntnvYjseE5w5P7J3mdjyJ/OQKPInc5wo8ibzqumD3+TO/o0zkgjejDH5tEQolrXP3R0nr8v1R0iYCf5QmlF4oaZOGP0raVOKPkjbB+KNU2nFDqbTjhPIKfvEUCqXSjhtKpR03lEo7bihNKL1QKu24oVTacUOptOOGUmnHDaXSjhfK4FeHoVAq7bihVNpxQ6m044bShNILpdKOG0qlHS+Uwc/7BkE5c7LyCn7eFwqlXjtOf+11BT+kCoVSrx03lFqyuaHUks0NpZZsXiiDH1INgrIe9a+vrdf5EaV8pRtKLdncUGrJ5obShNILpdKOG0qlHTeUSjtuKJV23FAq7XihDH5IFQql0o4bSqUdN5S8aecXn+N4lPPrO9fj+3O0428wTTD9YPImngUweTPPApi8qWcBTN7cswAmb/Lxhxn8rGoYmN2+vvO4PsLkTT8LYPLmnwUwlYAcYZpg+sFUAnKEqQTkCFMJ6Jcwn/+VjzCVgBxhKgH5wQx+anULzHc8yjS3eJRSbvEod9ziMeG5w6NscItHbv8WT6bDURNl/Ffw454LBGc6HDUjOPihzAWCE7nPOcGJ/OSc4EQOcU6wsQlO5OLmBGc60TklmM1ppTrROSWYzWmlOtE5JZjNaWU6ujknmM1pZTqMOSeYzWllOl45J5jNaWU6MDknmM1pZTrWOCeYzWllOnw4J5jNaWU6IjgnmM1pZTrINyeYzWllOm43J5jMaVmmQ3FzgsmclmU6ujYnmMxp2cPYBJM5Lct0DGxOMJnTskyHteYEszmtTEeq5gSzOa1MB5/mBLM5rUzHk+YEszmtTIeI5gSzOa2DzWkdbE4r0wWsOcFsTutkc1onm9PKdC9sTjCb08p0e2tOMJvTynTHak4wm9PKdBNqTjCb08p0X2lOMJvTynSraE4wm9PKdPdnTjCb08p0Q2dOMJvTynSPZk4wm9PKdNtlTjCb08p0JWVOMJvTIr7p8Jtz0/a6QlDs+ohSt+y8UBLfc3BHqVt2bih1y84NpS53u6E0ofRCqcvdbih1udsNpS53u6FU2nFDqbQzg7K/vnEZ5RNK4tsN7iiVdtxQKu24oVTamUHZvlHWjyhNKL1QKu24oVTacUOptOOGUmnHDaXSzgzK8vqJY6kff+KY6frHbpRKO24olXbcUCrtuKE0ofRCqbTjhlJpxw2l0o4bSqUdN5RKO14oM13g2Y1SaccNpdKOG0qlHTeUJpReKJV23FAq7bihVNpxQ6m044ZSaccLZaYrWLtRKu24oVTacUOptOOG0oTSC6XSjhtKpR03lEo7biiVdtxQKu04oSyZLtHtRqm044ZSaccNpdKOG0oTSi+USjtuKJV23FAq7XihDH5377DX5xhH7z+g9O4dKMFv9G2GE9v7bYYT281thmOC8xlObMe1GU5sD7UZTmxXtBlO7K3uZjix97R74QS/l7gZDqtDnqjiKcHvMG6Gw+qQp+CY4HyGw+qQJ8pDSvC7kZvhsDrkKTisDnkKDqtDnoET/M7lZjisDnnmpw/B72duhsPqkKfgmOB8hsPqkKfgsDrkKTisDnkKDqtDnoLD6pBn4AS/T7oZjhzyDRw55Bs4csg3cExwPsORQ76BI4d8A0cO+QaOHPINHDnkz3CCX+HdDEcO+QaOHPINHDnkGzgmOJ/hyCHfwJFDvoEjh3wDRw75Bo4c8mc4wS+3boYjh3wDRw75Bo4c8g0cE5zPcOSQb+DIId/AkUO+gSOHfANHDvkznNh3FXv/+nXh/gTlCWfmL/ViX0rcDccE5zOc0D5nN5zQPmc3nNA+Zzec0D5nN5zQPmcznNh3/nbDCb0J3A1HDvkGDqtDnvmj+9j38nbDYXXIU3BYHfIUHFaHPPOn07Hvzu2Gw+qQZ+DEvg23Gw6rQ56Cw+qQp+CwOuSZnz7EvrG2Gw6rQ56Cw+qQp+CwOuQpOKwOeQoOq0OegFNj3xPbDYfVIU/BYXXIU3DkkG/gmOB8hiOHfANHDvkGjhzyDRw55Bs4csif4cS+jLYbjhzyDRw55Bs4csg3cExwPsORQ76BI4d8A0cO+QaOHPINHDnkz3BiX0bbDUcO+QaOHPINHDnkGzgmOJ/hyCHfwJFDvoEjh3wDRw75Bo4c8mc4sS+j7YYjh3wDx/44HOe/p6sbrlC5S6j4Ehq+hI4vYcBL2HDDyF3CgS/hxJdw4UvAfztb7LfzxB/PVov9dp6SEPvtPCUh9tt5SkLst/PEn+bVEvvtPCUh9tt5SkLst/OUhNhv5ykJsd/OUxJiv51nNhgl9tt5SkLst/OUhNhv5ykJsd/OMxJq7LfzlITYb+cpCbHfzlMSYr+dpyTEfjtPScB/O1f8t3PFfztX/LdzxX87N/y3c8N/Ozf8t3PDfztvaMJ3l4D/dm74b+eG/3Zu+G/nhv927vhv547/du74b+eO/3be0MLtLgH/7dzx384d/+3c8d/OHf/tPPDfzgP/7Tzw384D/+3s0+N6vD7VeVTzlDDzW2E+bat7JXR8CQNdQvPpF90r4cCXcOJLuPAlGL6Egi8B/u3cHrHfzhO/atsesd/OUxJiv51nJByx385TEmK/nSd+ybMdsd/OUxJiv52nJMR+O09JiP12npIQ++08JSH223lig9GO2G/nKQmx384zEs7Yb+cpCbHfzlMSYr+dpyTEfjtPSYj9dp6SEPvtPCUh9tt5SgL+2/nEfzuf+G/nC//tfOG/nS/8t/OF/3b2aanaKwH/7Xzhv50v/Lfzhf92vvDfzob/djb8t7Phv50N/+3s01K1VwL+29nw386G/3Y2/Lez4b+dC/7bueC/nQv+27ngv519Wqr2SsB/O7v0Iz2svCQ8xsNTwsxvhbn0I+2V4NKPtFnCgS/hxJdw4UswfAkFX0LFl9DwJeC/nWvst/PMr9q22G/nKQmx385TEmK/nackxH47z/ySp0s/0mYJsd/OUxJiv52nJMR+O09JiP12npIQ++08s8Hosd/OUxJiv52nJMR+O09JiP12npIQ++08JSH223lKQuy385SE2G/nKQmx385TEvDfzgP/7Tzw384D/+088N/OA//tPPDfzgP/7Tzw384D/+084N/O/QH/du4P+Ldzf8C/nfsD/u3cH/Bv5/6Afzv3B/zbuT/g3879Af927g/8t/OB/3Y+8N/OB/7b+cB/O7u0VG2WgP92PvDfzgfw27md/f/+UILRzvb6/OMYb5+/ff8vx7/9X36ofJj5Xx7/+n95/pv/ZR/n/33+c4vXM6P89b8cw/424O//4fiX/8N/bqya+R8e//Z/eP7b/+H1b/+H9m//hw7PvWPU62vuvf7wf3H1qH99cb3O//V/Rf/zoWrED9Uifqge8UONtR/q6z/k0XYz9x86/tR/6PxT/6HrT/2H7E/9h8qf+g/VP/Ufan/qP9T/1H/oj+f+//yS++t7n4/+/dX9+P5Y9oj5sULn89ba19de//wisNDpfEZA6Gw+I8DQBYTO5TMCQqfyGQGhM/mMgND78hkBobflEwJK6F35jAD0N3FBfxMX9DexS6PGVgHob+KC/iYu6G/i2H0mMwLQ38Sxu0xmBKC/iWP3mMwIQH8Tx+4wmRGA/iZGbs74HwHArVb/n4DgfQ23P2j/HwHAvzXzPwJCP4VmBAD/xsz/CAD+fZn/EQD82zL/IyD0e2DiJ92xGxomBMTuZ5gREDoPzAgI/SaeERD6TTwjIPSbeEZA6DfxjIDQb+IZAaHfxDMC0N/EsdsYJgTE7mKYEfDn38QfNw3/+2uPY7zs6HE+3vzo+y/cbGhicJdw4UswfAkFX0LFl9DwJfQ4Er4/1Ij3oa7HH7/echzff+5y2NvvcB729rGOmB8r9JWVmXGHvrEyI8DQBYS+rzIjIPTtsxkBoS+fzQgIffdsRkDoq2cTAo4HuoDQF89mBKC/iQ/0N7FLe8FWAehv4gP9TXygv4kP9Dfxgf4mPtHfxCf6m/hEfxOf6G/iE/1NfKK/iU/0N/GJ/iY+0d/EJ/qb+EJ/E1+x70//+NvJ1xX6PTAjIPRT6OffzLyu0E+hGQGhn0ITAiz0U2hGQOg8MCMgdB6YERD6PfDzrxRdFvo9MCMgdB6YERA6D8wICP0mnhEQ+k08IyD0m3hCQAn9Jp4REPpNPCMg9Jt4RgD6m9ilvWSrAPQ3cfnzb+Lf/DLjo3//0tnj7df53n/prDR8CR1fwoCXUB/4Eg58CSe+hCu2hK+M/5Rw/E3CP3zn8fWdH2/d+72/yTUuuYVLbmyH8LdfS//0f4+xHcKUhNgOYUpCbIcwI6HFdghTEmI7hCkJsR3ClITYDmHmb31cmoY2S4j9Jp+SEOjt/P2hAr1vvz+Uyxt0vK5RnGc5f/hQR/k6XVHsw4caAT+US3vPrz6U82+quLT3bBVwogu40AUYuoCCLqCiC2joAjq6gAEuYKC/iQf6m3igv4kH+pvYpbdnqwD0N/FAfxMP9DfxQH8TD/A3sT3A38T2AH8T2wP8TWwP8DexPcDfxPYAfxPbA/xNbA/wN7E9wN/E9kB/Ex/ob+ID/U18oL+JD/Q3sU+30E4B6G/iA/1NfKC/iQ/0N/GB/iY+0d/EJ/qb+ER/E5/ob2KfbqGdAtDfxCf6m/hEfxOf6G/iE/1NfKG/iS/0N/GF/ia+0N/EPu1OOwWgv4kv9Dfxhf4mvtDfxBf6m9jQ38SG/iY29Dexob+Jffq1dgpAfxMb+pvY0N/Ehv4mNvQ3cUF/Exf0N3FBfxMX9DexT7/WTgHob+KC/iYu6G/igv4mLuhv4or+Jq7ob+KK/iau6G9in46snQLQ38QV/U1c0d/EFf1NXNHfxA39TdzQ38QN/U3c0N/EPr1VOwWgv4kb+pu4ob+JG/qbuKG/idE7tgy9Y8vQO7YMvWPL0Du2DL1jy9A7tgy9Y8vQO7YMvWPL0Du2DL1jy9A7tgy9Y8vQO7YMvWPL0Du2DL1jy9A7tgy9Y6ugd2wV9I6tgt6xVdA7tsoD/E1c0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2C3rFV0Du2CnrHVkHv2CroHVsFvWOroHdsFfSOrYLesVXQO7YKesdWQe/YKugdWwW9Y6ugd2wV9I6tgt6xVdA7tgp6x1ZB79gq6B1bBb1jq6B3bBX0jq2K3rFV0Tu2KnrHVkXv2KoP8DdxRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YqesdWRe/YqugdWxW9Y6uid2xV9I6tit6xVdE7tip6x1ZF79iq6B1bFb1jq6J3bFX0jq2K3rFV0Tu2KnrHVkXv2KroHVsVvWOrondsVfSOrYresVXRO7YaesdWQ+/YaugdWw29Y6s9wN/EDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79hq6B1bDb1jq6F3bDX0jq2G3rHV0Du2GnrHVkPv2GroHVsNvWOroXdsNfSOrYbesdXQO7YaesdWQ+/YaugdWw29Y6uhd2w19I6tht6x1dA7thp6x1ZD79jq6B1bHb1jq6N3bHX0jq3+AH8Td/SOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWOro3dsdfSOrY7esdXRO7Y6esdWR+/Y6ugdWx29Y6ujd2x19I6tjt6x1dE7tjp6x1ZH79jq6B1bHb1jq6N3bHX0jq2O3rHV0Tu2OnrHVkfv2OroHVsdvWNroHdsDfSOrYHesTXQO7bGA/xNPNA7tgZ6x9ZA79ga6B1bA71ja6B3bA30jq2B3rE10Du2BnrH1kDv2BroHVsDvWNroHdsDfSOrYHesTXQO7YGesfWQO/YGugdWwO9Y2ugd2wN9I6tgd6xNdA7tgZ6x9ZA79ga6B1bA71ja6B3bA30jq2B3rE10Du2BnrH1kDv2BroHVsDvWNroHdsDfSOrYHesTXQO7YGesfWQO/YGugdWwO9Y2ugd2wN9I6tgd6xNdA7tgZ6x9ZA79ga6B1bA71ja6B3bA30jq2B3rE10Du2BnrH1kDv2BroHVsDvWNroHdsDfSOrYHesTXQO7YGesfWQO/YGugdWwO9Y2ugd2wN9I6tgd6xNdA7tgZ6x9ZA79ga6B1bA71ja6B3bA30jq2B3rE10Du2BnrH1kDv2BroHVsDvWNroHdsDfSOrYHesTXQO7YGesfWQO/YGugdWwO9Y2ugd2wN9I6t5ycFfxX/55PCKwB/GT8/Kfjb+PlJwV/Hz08K/j5+flLwF/Lzk4K/kZ+fFPyV/Pyk8O9k9LqtpwL4dzJ64dZTAfw7Gb1y66kA/p2MXrr1VAD/Tkav3XoqgH8noxdvPRXAv5PRq7eeCuDfyejlW08F8O9k9PqtpwL4dzJ6AddTAfw7Gb2C66kA/p2MXsL1VAD/Tkav4XoqgH8noxdxPRXAv5PRq7ieCuDfyehlXM+PB/9ORq/jen48+HcyeiHX8+PBv5PRK7meHw/+nYxeyvX8ePDvZPRarqcC+HcyejHXUwH8Oxm9muupAP6djF7O9VQA/05Gr+d6KoB/J6MXdD0VwL+T0Su6ngrg38noJV1PBfDvZPSarqcC+HcyelHXUwH8Oxm9quupAP6djF7W9VQA/05Gr+t6KoB/J6MXdj0VwL+T0Su7ngrg38nopV1PBfDvZPTarqcC+HcyenHXUwH8Oxm9uuupAP6djF7e9VQA/05Gr+96KoB/J6MXeD0VwL+T0Su8ngrg38noJV5PBfDvZPQar6cC9HfyAd/jdcD3eB3wPV4HfI/X8/PBK0B/Jx/wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XAd/jdcD3eB3wPV4HfI/XCd/jdcL3eJ3wPV4nfI/X+UB/J5/wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcL3eJ3wPV4nfI/XCd/jdcH3eF3wPV4XfI/XBd/jdT3Q38kXfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eF3wPV4XfI/XBd/jdcH3eBl8j5fB93gZfI+Xwfd42QP9nWzwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9Xgbf42XwPV4G3+Nl8D1eBt/jZfA9XgW+x6vA93gV+B6vAt/jVR7o7+QC3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eBX4Hq8C3+NV4Hu8CnyPV4Hv8SrwPV4FvserwPd4FfgerwLf41Xge7wKfI9Xge/xKvA9XgW+x6vA93gV+B6vAt/jVeB7vAp8j1eB7/Eq8D1eBb7Hq8D3eFX4Hq8K3+NV4Xu8KnyPV32gv5MrfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf41Xhe7wqfI9Xhe/xqvA9XhW+x6vC93hV+B6vCt/jVeF7vCp8j1eF7/Gq8D1eFb7Hq8L3eFX4Hq8K3+NV4Xu8KnyPV4Xv8arwPV4Vvserwvd4Vfgerwrf49Xge7wafI9Xg+/xavA9Xu2B/k5u8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eD7/Fq8D1eDb7Hq8H3eDX4Hq8G3+PV4Hu8GnyPV4Pv8WrwPV4Nvserwfd4Nfgerwbf49Xge7wafI9Xg+/xavA9Xg2+x6vB93g1+B6vBt/j1eB7vBp8j1eH7/Hq8D1eHb7Hq8P3ePUH+ju5w/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4dvserw/d4dfgerw7f49Xhe7w6fI9Xh+/x6vA9Xh2+x6vD93h1+B6vDt/j1eF7vDp8j1eH7/Hq8D1eHb7Hq8P3eHX4Hq8O3+PV4Xu8OnyPV4fv8erwPV4DvsdrwPd4DfgerwHf4zUe6O/kAd/jNeB7vAZ8j9eA7/Ea8D1eA77Ha8D3eA34Hq8B3+M14Hu8BnyP14Dv8RrwPV4DvsdrwPd4DfgerwHf4zXge7wGfI/XgO/xGvA9XgO+x2vA93gN+B6vAd/jNeB7vAZ8j9eA7/Ea8D1eA77Ha8D3eA34Hq8B3+M14Hu8BnyP14Dv8RrwPV4DvsdrwPd4DfgerwHf4zXge7wGfI/XgO/xGvA9XgO+x2vA93gN+B6vAd/jNeB7vAZ8j9eA7/Ea8D1eA77Ha8D3eA34Hq8B3+M14Hu8BnyP14Dv8RrwPV4DvsdrwPd4DfgerwHf4zXge7wGfI/XgO/xGvA9XgO+x2vA93gN+B6vAd/jNeB7vAZ8j9eA7/Ea8D1eA77Ha8D3eA34Hq8B3+M14Hu8BnyP14Dv8RrwPV4DvsdrwPd4DfgerwHf4zXge7wGfI/XgO/xGvA9XgO+x2ug93idD/Qer6cC8HfyUwH4O/mpAPyd/FQA/k5+KgB/Jz8VgL+TnwrA38lPBeDv5KcC+Hcyeo/XUwH8Oxm9x+upAP6djN7j9VQA/05G7/F6KoB/J6P3eD0VwL+T0Xu8ngrg38noPV5PBfDvZPQer6cC+Hcyeo/XUwH8Oxm9x+upAP6djN7j9fxvwL+T0Xu8nv8N+Hcyeo/X878B/05G7/F6/jfg38noPV7P/wb8Oxm9x+upAP6djN7j9VQA/05G7/F6KoB/J6P3eD0VwL+T0Xu8ngrg38noPV5PBfDvZPQer6cC+Hcyeo/XUwH8Oxm9x+upAP6djN7j9VQA/05G7/F6KoB/J6P3eD0VwL+T0Xu8ngrg38noPV5PBfDvZPQer6cC+Hcyeo/XUwH8Oxm9x+upAP6djN7j9VQA/05G7/F6KoB/J6P3eD0VwL+T0Xu8ngrg38noPV5PBfDvZPQer6cC+Hcyeo/XUwH8Oxm9x+upAP6djN7j9VQA/05G7/F6KoB/J6P3eD0VwL+T0Xu8ngrg38noPV5PBejv5AO+x+uA7/E64Hu8Dvger+fng1eA/k4+4Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerwO+x+uA7/E64Hu8DvgerxO+x+uE7/E64Xu8Tvger/OB/k4+4Xu8TvgerxO+x+uE7/E64Xu8TvgerxO+x+uE7/E64Xu8TvgerxO+x+uE7/E64Xu8TvgerxO+x+uE7/E64Xu8TvgerxO+x+uE7/E64Xu8TvgerxO+x+uE7/E6Y3dIFTv/+tpiHxWEfh9MKQj9LCqlvxTU9klB6GfRlILQz6IpBaGfRVMKQueDGQWx+4umFIR+H9Sj/vW19To/KQj9PphSEDofTCkweAWh38lTCkK/k6cUhH4nTykI/U6eUhD6nTyjIHZ/0ZQC+Hdy7P6iKQXw7+TY/UVTCuDfybH7i6YUwL+TY/cXTSn48+/kj5vE//21vY3X5+j9sO/PUfu/3FFuaDvaq/cg03uS6b1Q9b5psAQaSgINNYGGlkBDT6AB1ld8a2iwXuFNA+z7/00D7Dv9TUPs93Rvj9cXj599yfj6zo/x/bX9b3pjv9P99cZ+//9Or/PvhbTYvmIvm9h+ZS+b2D5oL5vY/mormx7bt+1lE9sP7mUT22fuZZPJv3qzMbH5yEa++DMb+eLPbOSLP7ORL/7MRr74I5shX/yZjXzxZzbyxZ/ZyBd/ZmNi85GNfPFnNvLFn9nIF39mI1/8mY188Sc210O++DMb+eLPbOSLP7ORL/7MxsTmIxv54s9s5Is/s5Ev/sxGvvgzG/nij2wO+eLPbOSLP7ORL/7MRr74MxsTm49s5Is/s5Ev/sxGvvgzG/niz2zkiz+yOUn9zUT/5HWS+pspNqTvqYmuwOskfU9NsSF9T02xIX1PzbC5SPc3U2xI9zdTbEj9zURf0nWR+pspNiY2H9mQ7m+m2JD64ik2pL54ig2pL55iQ+qLZ9gYqS+eYkPqi6fYyBd/ZiNf/JmNJWLzi+989Govhc//yvdXH//01WcpL4Ht+EQyk4veSzKT595LMpND30syk593IvlGJ5Ojd6dTMnl6fzqZXL0/nUy+3p9OJmfvT8dE54aO/PodHVYPPurrOx+jXX+j8+8SdmH14P4kWT34r0ie55dAK59Isvp1d5LBb/YgkWTNAf4kWTODP0nWfOFP0kTSiSRrbvkdyYmdbvCbUkgkSTPO87O9fhx7Pt4/87/OOMHvayGRJM04vyM588YJfmsMiSRpxllAkjTjLCBJmnEWkDSRdCJJmnEWkCTNOL8kOZFxUl3D20uSNeMcxxec4+wOGSfVpb2tJFPd5VtGcuaNk+qK316SrBnHnyRrxvEnaSLpRJI14/iTZM04/iRZM87vSE5knFR3EPeSpP05Tq/fJMcPJNv4+s6P7689en8jmerG4l6StD/HcSdJm3Hq8UWymcMGI9W1x70kTSR/JjnjJ1NdktxLkjbjuJOkzTjuJGkzjjtJ2p/jOJO0VPcy95Kk/TnOr0j+vMGwVLc495JUxjmP/vffwXijY6JzQ0dZ5I4Oa7547rG+PvNZ/vvtgaW69rmXJGu++BXJKS/Hmi/cSaa6O7qXJGu+8CfJmi/8SbLmC3+SJpJOJFlzy+9ITmwPUt1i3UtSGef5f7rXhyyd6narPx1lkRs6J22+qP3rM/fDYXtw0uYLd5K0+eI3JGe8XKoLxHtJmkg6kaTNF+4kafOFO0nafOFOkjaLuJOkzS2/IjmxPUh1+3svSWUcL5LKOF4klXG8SJpIOpFUxvEiqYzjRVIZ50ny738h/kZHueWOjrLIDZ1UN9Q/fuc3vRQp4E1vbK8+vvoS+3j7zv+F3tiO2l+v5dE7s1kKfjncX29sD+mvN7bT89cb27v5643txtz1Br9n/Tu9E0kt+IVqf72J/NWU3kT+akqvkenN5K9m9Ab3V/07D47LIS8Ev7Dsrze4v/qN3im/EdxfeesNflPYX29wf+WuN7i/ctcb3F+567VEeif8RvCLtP56E/mrKb2J/NWU3kz+akZvJn81oTf2PdPxsNd3Ho9SHfJC7KujC/SG9le/0zvjN2Jf8Fyg18j0hvZXC/SG9lcL9Ib2Vwv0hvZXv9Q74zdC+yt/vbFvKS7Qm8hfTenN5K9m9GbyVzN6DUZv/XsefNOA45k+a8DxQZ81BPc24/U5xvODOGTP2HffFugN7m1+o3fGu8a+obZAb3Bv4643uLdx1xvc27jrNTK9wX3Qr/ROeNfYd7IW6E3kr6b0JvJXU3oz+auf9ZbY95sW6M3kr2b0Avmr8c+ZtsS+QjSpwUJrOOxbw9vf+f7zv7t+vopV+9tnPo/jXW9sH+SvN7YP+pXe1r9+Qf44f/jOEzuLEvtCz2Y2sf3VXjaxvdhWNrHv4mxmE9vj7WUT2w/uZRPbZ+5lY2LzkU0ir+vORr74Mxv54s9s5Is/s5Ev/sgm9j2XzWzkiz+zkS/+zEa++DMbE5uPbOSLP7ORL/7MRr74Mxv54s9s5Is/sol9A2QzG/niz2zkiz+zkS/+zMbE5iMbUn9T7PV7FMU+siH1NzNsYvfOL2RTXkcISm2f2JC+p6bYkL6nptiQvqem2JDub6bYkO5vptiQ+puJ2+4ldlf/Zjak+5sZNrFvAGxmQ+qLp9iQ+uIpNqS+eIqNic1HNqS+eIoNqS+eYiNf/JmNfPFnNvLFH9nEvt3wSza/+M6tvf72t/3tLuv73yTGvvOwmU0mX+zNJpMv9mZjYvORTSZf7M0mky/2ZpPJF/87NqN+YpPJF3uzyeSLndkEv7mxjM1bV8dVPrEh9cVTbEh98RQbUl88xcbE5iMbUl88xYbUF0+xIfXFM31bwW+a7GVD6otn2AS/leLE5k0vhdd90xvbv57n64vHdY0f9B6Pbq9P/VTw/dXtb/+iY7vSFYqNTnFsB7lCcWxfuEJxbLe3QnFsD7dCcWxntkBx8PstKxTHdlwrFNN5ruBXXFYoNjrFdJ4r+C2XFYrpPFfwey4rFLN5rhr8pssKxWyeqwa/67JCMZvnqg+jU8zmuWrwuzErFLN5rhr8xssKxXSeK/g9lhWK6TxX8NspKxTTea7gd05WKKbzXMFvkqxQTOe5gt8PWaGYznMFv/WxQjGd5wp+l2OFYjrPFfyGxgrFdJ4r+L2LFYrpPFfw2xQrFNN5ruB3JFYopvNcwW8+rFBM57mC32dYoZjOc110niv4ZY0Viuk810XnuYzOcwW/dLJCMZ3nCn6VZIVio1NM57mC3wVZoZjOcwW/4bFCMZ3nCn5vY4ViOs8V/DbGCsV0niv4HYsViuk8V/CbEysU03mu4PchViim81zBbzmsUEznuYLfXVihmM5zBb+RsEIxnecKfs9ghWI6zxX89sAKxXSeK/idgBWK6TxX8E7/FYrpPFfw/v0Viuk8V/Cu/BWK6TxX8F77FYrpPFfwDvoViuk8F10PfaXroa90PfSVroe+0vXQV7oe+krXQ1/peugrXQ99peuhr3Q99JWuh77S9dBXuh76StdDX+l66CtdD32l66FvdD30ja6HvtH10De6Hvr2MDrFbJ6r0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProW90PfSNroe+0fXQN7oe+kbXQ9/oeugbXQ99o+uhb3Q99I2uh77R9dA3uh76RtdD3+h66BtdD32j66FvdD30ja6HvtH10De6HvpG10Pf6HroG10PfaProe90PfSdroe+0/XQd7oe+v4wOsVsnqvT9dB3uh76TtdD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99J2uh77T9dB3uh76TtdD3+l66DtdD32n66HvdD30na6HvtP10He6HvpO10Pf6XroO10Pfafroe90PfSdroe+0/XQd7oe+k7XQ9/peug7XQ99p+uh73Q99J2uh77T9dB3uh76TtdD3+l66DtdD33P1FE+2vn64vb37/ymN9HbeEpvouf06P31xaN90pvoKT2lN9Ezekpvoif0lN5EmXhGb6bG6im9md6/M3ozvX9n9CbKwlN6jUwvmb/K1FI9pRfWX71pgPVMbxpi+6Crff1TsvFwSebBe6RXKI7thVYoju2GViiO7YdWKDY6xbE90QrFsV3RCsWxfdEKxbFd1ArFdJ4reI/0CsV0nit4j/QKxXSeK3iP9ArFdJ4reI/0CsV0nit4j/QKxWyeawTvkV6hmM1zjeA90isUs3mu8TA6xWyeawTvkV6hmM1zjeA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTTea7gPdIrFNN5ruA90isU03mu4D3SKxTT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PM01BH5s54fE8fhu7WDs9xsPumsaetprGnr6axp6Gmwa+gH6LPS02DT09Ng09DTZNPR02TT0tNks9CdtNg09bTYNPW02DT1tNg39AH0WetpsGnrabBp62mwaetpsGnrabBL6x402m4aeNpuGnjabhp42m4Z+gD4LPW02DT1tNg09bTYNPW02DT1tNgv9RptNQ0+bTUNPm01DT5tNQz9An4WeNpuGnjabhp42m4aeNpuGnjabhf5Om01DT5tNQ0+bTUNPm01DP0CfhZ42m4aeNpuGnjabhp42m4aeNpuF/kGbTUNPm01DT5tNQ0+bTUM/QJ+Fnjabhp42m4aeNpuGnjabhp42m4V+0GbT0NNm09DTZtPQ02bT0A/QZ6Gnzaahp82moafNpqGnzaahp81moZ+02TT0tNk09LTZNPS02TT0A/RZ6Gmzaehps2noabNp6Gmzaehps1nod9psGnrabBp62mwaetpsGvoB+iz0tNk09LTZNPS02TT0tNk09LTZLPRP2mwaetpsGnrabBp62mwa+gH6LPS02TT0tNk09LTZNPS02TT0tNks9AdtNg09bTYNPW02DT1tNg39AH0WetpsGnrabBp62mwaetpsGnrabBb6kzabhp42m4aeNpuGnjabhn6APgs9bTYNPW02DT1tNg09bTYNPW02Cf240WbT0NNm09DTZtPQ02bT0A/QZ6Gnzaahp82moafNpqGnzaahp81mod9os2noabNp6Gmzaehps2noB+iz0NNm09DTZtPQ02bT0NNm09DTZrPQ32mzaehps2noabNp6Gmz//aDfMEzwHOFh1Z4iYfmdomHdnWJhwZ0iYeWcoXnQZO4xEPav8RDIr/EQ2q+xDPAc4WnU2o+j+P3V5/n85XgTjk4JLhTsg0J7pRVQ4I7pc+I4NEpT4YEd0qIIcGdMl9IcKcUFxI83AS7Ja3hlrSGW9IabklruCWt6Za0plvSmm5Ja7olrTncBLslremWtKZb0ppuSWu6Ja3dLWntbklrd0tau1vS2oebYLektbslrVa350OC3ZJWqzvrEcGtrpuHBLslrVaXvEOC3ZJWq6vVIcFuSavVheaQYLek1eoacUiwW9JqdXk3JNgtabW6MhsS7Ja0Wl1UDQl2S1qtroeGBLslrVaXMkOC3ZJWq6uQIcFuSavVBcSQYLek1eraX0iwW9Jqddku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" }], "outputs": { "globals": {}, "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" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters" } }], "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_abi" }] } }, "file_map": { "116": { "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\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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 pedersen_hash(\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<N>(&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<N>(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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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] = pedersen_hash(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] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n" }, "132": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr", "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\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; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\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) -> PrivateCallStackItem {\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 PrivateCallStackItem::deserialize(fields)\n}\n" }, "137": { "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr", "source": "use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n" }, "163": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse dep::std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: 0 }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n" }, "165": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr", "source": "use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, nullifier_counter: u32, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, nullifier_counter, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n nullifier_counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.nullifier_counter == other.nullifier_counter)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n nullifier_counter: 0,\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.nullifier_counter as Field, self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n nullifier_counter: reader.read_u32(),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n assert(\n (self.nullifier_counter == 0) | (read_request.counter() < self.nullifier_counter), \"Read request counter must be less than the nullifier counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "166": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "167": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr", "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n // WARNING: if updating, see comment in public_call_stack_item.ts's `PublicCallStackItem.hash()`\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector, note_hash::NoteHash,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x2751111aa213d9d21279da53531bf90c2da272cf3f959e2a2a1dfceb487bf102;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x1860d00d9602966e398c6d585216baba2ffa8c5eddda5faee041136665d8482a;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n" }, "168": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n new_note_hashes: u32,\n new_nullifiers: u32,\n new_l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n new_note_hashes: validate_array(public_inputs.new_note_hashes),\n new_nullifiers: validate_array(public_inputs.new_nullifiers),\n new_l2_to_l1_msgs: validate_array(public_inputs.new_l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.new_note_hashes.len() {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..self.new_nullifiers.len() {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.new_l2_to_l1_msgs.len() {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x1970bf189adc837d1769f9f44a8b55c97d45690e7744859b71b647e808ee8622;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "170": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n" }, "171": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr", "source": "use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\nuse dep::std::cmp::Eq;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "174": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "175": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize},\n grumpkin_point::GrumpkinPoint\n};\n\nstruct KeyValidationRequest {\n pk_m: GrumpkinPoint,\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: GrumpkinPoint::zero(),\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.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: GrumpkinPoint::new(fields[0], fields[1]),\n sk_app: fields[2],\n }\n }\n}\n\n" }, "179": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr", "source": "use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "188": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr", "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n" }, "189": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr", "source": "use dep::std::cmp::Eq;\nuse crate::{\n abis::{caller_context::CallerContext, side_effect::{Ordered, RangeOrdered, Scoped}},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.hash == other.hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "194": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "203": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr", "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x22786e4f971661d2e49095e6b038e5170bc47b795253916d5657c4bdd1df50bf;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "204": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr", "source": "use crate::address::AztecAddress;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "206": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr", "source": "use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n" }, "209": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr", "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n" }, "210": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n" }, "211": { "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" }, "212": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr", "source": "use crate::{\n abis::{\n call_context::CallContext, note_hash::NoteHash, nullifier::Nullifier, read_request::ReadRequest,\n gas::Gas, global_variables::GlobalVariables, log_hash::LogHash\n},\n address::AztecAddress,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest; MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n // Global variables injected into this circuit\n global_variables: GlobalVariables,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n start_gas_left: Gas,\n end_gas_left: Gas,\n transaction_fee: Field,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NOTE_HASH_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.l1_to_l2_msg_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n for i in 0..MAX_UNENCRYPTED_LOGS_PER_CALL{\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n fields.push(self.transaction_fee);\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n l1_to_l2_msg_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n global_variables: reader.read_struct(GlobalVariables::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n transaction_fee: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x01681b19fb7fe21aa9c2cf9fb47520149f46edd679b2e7c2b2c4a279fd685125;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "214": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr", "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "22": { "path": "std/field.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 fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\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" }, "221": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.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, N, M>(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" }, "222": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr", "source": "use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n" }, "235": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr", "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n" }, "238": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr", "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "239": { "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, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = 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 pedersen_hash(\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, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\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 pedersen_hash(\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 compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\npub fn 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 pedersen_hash([left, right], 0)\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<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\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 = 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" }, "240": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n" }, "242": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr", "source": "use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n" }, "248": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr", "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n" }, "260": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr", "source": "struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> 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<K>(&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, K>(&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, K, C>(&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" }, "280": { "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr", "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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" }, "281": { "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, grumpkin_point::GrumpkinPoint,\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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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 = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\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" }, "382": { "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr", "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n" }, "4": { "path": "std/collections/bounded_vec.nr", "source": "use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u32) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u32) -> T {\n self.storage[index]\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<Len>(&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<Len>(&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<Len>(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\nimpl<T, MaxLen> 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, MaxLen, Len> 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 // TODO: Allow imports from \"super\"\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 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" }, "53": { "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr", "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\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 pedersen_hash(\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" }, "91": { "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,\n hash::{hash_args_array, ArgsHasher, compute_unencrypted_log_hash},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n note::note_interface::NoteInterface,\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::{\n emit_encrypted_note_log, emit_encrypted_event_log,\n emit_contract_class_unencrypted_log_private_internal, emit_unencrypted_log_private_internal\n},\n logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n hash::sha256_to_field,\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_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 contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, grumpkin_point::GrumpkinPoint, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{is_empty, Empty},\n utils::arrays::find_index\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 new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_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 new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n new_l2_to_l1_msgs: self.new_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 }\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.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // call oracle\n let _void = emit_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n pub fn emit_contract_class_unencrypted_log<N>(&mut self, log: [Field; N]) {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let counter = self.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, event_selector, log, counter);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n }\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<M>(&mut self, randomness: Field, encrypted_log: [u8; M]) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = encrypted_log.len() as Field + 4;\n let log_hash = sha256_to_field(encrypted_log);\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, encrypted_log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, encrypted_log: [u8; M]) {\n let counter = self.next_counter();\n let len = encrypted_log.len() as Field + 4;\n let log_hash = sha256_to_field(encrypted_log);\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, encrypted_log, counter);\n }\n\n pub fn call_private_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_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, 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 item = 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 assert_eq(item.public_inputs.call_context.side_effect_counter, start_side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\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 assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest { hash: item.hash(), caller_context, start_side_effect_counter, end_side_effect_counter }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\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<ARGS_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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\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 new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n new_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" } } }