diff --git a/app/rust/src/constants.rs b/app/rust/src/constants.rs index f2ca7b2a..511ea3eb 100644 --- a/app/rust/src/constants.rs +++ b/app/rust/src/constants.rs @@ -26,6 +26,8 @@ pub const DETECTION_DATA_QTY: usize = 16; pub const ACTION_DATA_QTY: usize = 16; pub const MAX_CLUE_SUBKEYS: usize = 10; +pub const EFFECT_HASH_LEN: usize = 64; + // Nonces: pub const NONCE_LEN: usize = 12; pub const NONCE_NOTE: &[u8; NONCE_LEN] = &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; diff --git a/app/rust/src/lib.rs b/app/rust/src/lib.rs index 96a33d76..50343f37 100644 --- a/app/rust/src/lib.rs +++ b/app/rust/src/lib.rs @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ********************************************************************************/ -#![no_std] +// #![no_std] #![no_builtins] #![allow(dead_code)] #![deny(unused_crate_dependencies)] @@ -44,14 +44,14 @@ pub(crate) use utils::prf::{expand_fq, expand_fr}; fn debug(_msg: &str) {} -#[cfg(all(not(test), not(feature = "clippy"), not(feature = "fuzzing")))] -use core::panic::PanicInfo; +// #[cfg(all(not(test), not(feature = "clippy"), not(feature = "fuzzing")))] +// use core::panic::PanicInfo; -#[cfg(all(not(test), not(feature = "clippy"), not(feature = "fuzzing")))] -#[panic_handler] -fn panic(_info: &PanicInfo) -> ! { - loop {} -} +// #[cfg(all(not(test), not(feature = "clippy"), not(feature = "fuzzing")))] +// #[panic_handler] +// fn panic(_info: &PanicInfo) -> ! { +// loop {} +// } extern "C" { fn check_app_canary(); diff --git a/app/rust/src/parser/plans.rs b/app/rust/src/parser/plans.rs index 1de9aba6..50ff42e7 100644 --- a/app/rust/src/parser/plans.rs +++ b/app/rust/src/parser/plans.rs @@ -25,6 +25,7 @@ use crate::effect_hash::EffectHash; use crate::parser::bytes::BytesC; use crate::parser::parameters::TransactionParametersC; use crate::ParserError; +use crate::constants::EFFECT_HASH_LEN; #[repr(C)] #[cfg_attr(any(feature = "derive-debug", test), derive(Debug))] @@ -68,7 +69,7 @@ pub unsafe extern "C" fn rs_compute_transaction_plan( crate::zlog("rs_compute_transaction_plan\x00"); let output = std::slice::from_raw_parts_mut(output, output_len); - if output.len() < 200 { + if output.len() < EFFECT_HASH_LEN { return ParserError::UnexpectedData as u32; } diff --git a/app/src/keys_def.h b/app/src/keys_def.h index 2062ca9a..2ade8f88 100644 --- a/app/src/keys_def.h +++ b/app/src/keys_def.h @@ -22,11 +22,6 @@ extern "C" { #include #include -typedef struct { - uint8_t *ptr; - uint16_t len; -} bytes_t; - #define KEY_LEN 32 #define DIVERSIFIER_KEY_LEN 16 #define OUTGOING_VIEWING_KEY_LEN KEY_LEN diff --git a/app/src/parser_impl.c b/app/src/parser_impl.c index 6586a52b..199d5b17 100644 --- a/app/src/parser_impl.c +++ b/app/src/parser_impl.c @@ -30,7 +30,7 @@ static bool decode_detection_data(pb_istream_t *stream, const pb_field_t *field, static uint16_t actions_qty = 0; static uint16_t detection_data_qty = 0; -void print_buffer(Bytes_t *buffer, const char *title) { +void print_buffer(bytes_t *buffer, const char *title) { #if defined(LEDGER_SPECIFIC) ZEMU_LOGF(50, "%s\n", title); char print[1000] = {0}; @@ -53,7 +53,7 @@ void print_string(const char *str) { #endif } -parser_error_t decode_output_plan(const Bytes_t *data, output_plan_t *output) { +parser_error_t decode_output_plan(const bytes_t *data, output_plan_t *output) { penumbra_core_component_shielded_pool_v1_OutputPlan output_plan = penumbra_core_component_shielded_pool_v1_OutputPlan_init_default; @@ -86,7 +86,7 @@ parser_error_t decode_output_plan(const Bytes_t *data, output_plan_t *output) { return parser_ok; } -parser_error_t decode_delegate_plan(const Bytes_t *data, delegate_plan_t *delegate) { +parser_error_t decode_delegate_plan(const bytes_t *data, delegate_plan_t *delegate) { penumbra_core_component_stake_v1_Delegate delegate_plan = penumbra_core_component_stake_v1_Delegate_init_default; @@ -115,7 +115,7 @@ parser_error_t decode_delegate_plan(const Bytes_t *data, delegate_plan_t *delega return parser_ok; } -parser_error_t decode_undelegate_plan(const Bytes_t *data, undelegate_plan_t *undelegate) { +parser_error_t decode_undelegate_plan(const bytes_t *data, undelegate_plan_t *undelegate) { penumbra_core_component_stake_v1_Undelegate undelegate_plan = penumbra_core_component_stake_v1_Undelegate_init_default; @@ -160,7 +160,7 @@ bool decode_action(pb_istream_t *stream, const pb_field_t *field, void **arg) { return false; } - Bytes_t action_data; + bytes_t action_data; action_data.ptr = stream->state + 3; action_data.len = stream->bytes_left - 3; @@ -223,7 +223,7 @@ bool decode_detection_data(pb_istream_t *stream, const pb_field_t *field, void * } parser_error_t _read(parser_context_t *c, parser_tx_t *v) { - Bytes_t data; + bytes_t data; action_t actions_plan[ACTIONS_QTY]; data.ptr = c->buffer; data.len = c->bufferLen; @@ -305,20 +305,19 @@ parser_error_t _read(parser_context_t *c, parser_tx_t *v) { print_buffer(&v->plan.memo.plaintext.return_address.alt_bech32m, "real memo return address alt bech32m"); for (uint16_t i = 0; i < actions_qty; i++) { - switch (actions_plan[i].action_type) { - case penumbra_core_transaction_v1_ActionPlan_spend_tag: - compute_spend_action_hash(&actions_plan[i].action.spend, &v->plan.actions.hashes[i]); - break; - case penumbra_core_transaction_v1_ActionPlan_output_tag: - compute_output_action_hash(&actions_plan[i].action.output, &v->plan.actions.hashes[i]); - break; - } + compute_action_hash(&actions_plan[i].action.spend, actions_plan[i].action_type, &v->plan.actions.hashes[i]); } v->plan.actions.qty = actions_qty; - compute_transaction_plan(&v->plan); + compute_transaction_plan(&v->plan, v->effect_hash, sizeof(v->effect_hash)); - return parser_unexpected_error; + // TODO: only for testing + bytes_t effect_hash; + effect_hash.ptr = v->effect_hash; + effect_hash.len = sizeof(v->effect_hash); + print_buffer(&effect_hash, "effect_hash"); + + return parser_ok; } const char *parser_getErrorDescription(parser_error_t err) { diff --git a/app/src/parser_interface.c b/app/src/parser_interface.c index fceff70b..4f86b342 100644 --- a/app/src/parser_interface.c +++ b/app/src/parser_interface.c @@ -20,6 +20,7 @@ #include "keys_def.h" #include "rslib.h" #include "zxformat.h" +#include "protobuf/penumbra/core/transaction/v1/transaction.pb.h" void print_buffer_interface(uint8_t *buffer, size_t len, const char *title) { #if defined(LEDGER_SPECIFIC) @@ -36,21 +37,17 @@ void print_buffer_interface(uint8_t *buffer, size_t len, const char *title) { #endif } -parser_error_t compute_transaction_plan(transaction_plan_t *plan) { - if (plan == NULL) return parser_unexpected_error; +parser_error_t compute_transaction_plan(transaction_plan_t *plan, uint8_t *effect_hash, uint16_t effect_hash_len) { + if (plan == NULL || effect_hash == NULL) return parser_unexpected_error; - uint8_t output[300] = {0}; - if (rs_compute_transaction_plan(plan, output, sizeof(output)) != parser_ok) { + if (rs_compute_transaction_plan(plan, effect_hash, effect_hash_len) != parser_ok) { return parser_unexpected_error; } - // TODO: only for testing - print_buffer_interface(output, 300, "output_bytes"); - return parser_ok; } -parser_error_t compute_spend_action_hash(spend_plan_t *plan, action_hash_t *output) { +parser_error_t compute_action_hash(spend_plan_t *plan, uint8_t action_type, action_hash_t *output) { if (plan == NULL || output == NULL) return parser_unexpected_error; @@ -60,8 +57,20 @@ parser_error_t compute_spend_action_hash(spend_plan_t *plan, action_hash_t *outp 0x2d, 0x35, 0x85, 0x3b, 0xf5, 0x91, 0xb3, 0x6b, 0xb4, 0x28, 0x63, 0x0a, 0x4d, 0x87, 0xc4, 0xdc }; - if (rs_spend_action_hash(&sk_bytes, plan, (uint8_t *)output, 64) != parser_ok) { - return parser_unexpected_error; + bytes_t memo = {0}; + switch (action_type) { + case penumbra_core_transaction_v1_ActionPlan_spend_tag: + if (rs_spend_action_hash(&sk_bytes, plan, (uint8_t *)output, 64) != parser_ok) { + return parser_unexpected_error; + } + break; + case penumbra_core_transaction_v1_ActionPlan_output_tag: + if (rs_output_action_hash(&sk_bytes, plan, &memo, (uint8_t *)output, 64) != parser_ok) { + return parser_unexpected_error; + } + break; + default: + return parser_unexpected_error; } // TODO: only for testing @@ -69,24 +78,3 @@ parser_error_t compute_spend_action_hash(spend_plan_t *plan, action_hash_t *outp return parser_ok; } - -parser_error_t compute_output_action_hash(output_plan_t *plan, action_hash_t *output) { - if (plan == NULL || output == NULL) - return parser_unexpected_error; - - // TODO: we need to get the spend key - spend_key_bytes_t sk_bytes = { - 0xa1, 0xff, 0xba, 0x0c, 0x37, 0x93, 0x1f, 0x0a, 0x62, 0x61, 0x37, 0x52, 0x0d, 0xa6, 0x50, 0x63, - 0x2d, 0x35, 0x85, 0x3b, 0xf5, 0x91, 0xb3, 0x6b, 0xb4, 0x28, 0x63, 0x0a, 0x4d, 0x87, 0xc4, 0xdc - }; - Bytes_t memo = {0}; - - if (rs_output_action_hash(&sk_bytes, plan, &memo, (uint8_t *)output, 64) != parser_ok) { - return parser_unexpected_error; - } - - // TODO: only for testing - print_buffer_interface((uint8_t *)output, 64, "output action hash"); - - return parser_ok; -} \ No newline at end of file diff --git a/app/src/parser_interface.h b/app/src/parser_interface.h index 47a715a0..666102d6 100644 --- a/app/src/parser_interface.h +++ b/app/src/parser_interface.h @@ -28,9 +28,8 @@ extern "C" { #include "zxerror.h" #include "zxmacros.h" -parser_error_t compute_transaction_plan(transaction_plan_t *plan); -parser_error_t compute_spend_action_hash(spend_plan_t *plan, action_hash_t *output); -parser_error_t compute_output_action_hash(output_plan_t *plan, action_hash_t *output); +parser_error_t compute_transaction_plan(transaction_plan_t *plan, uint8_t *effect_hash, uint16_t effect_hash_len); +parser_error_t compute_action_hash(spend_plan_t *plan, uint8_t action_type, action_hash_t *output); #ifdef __cplusplus } diff --git a/app/src/parser_pb_utils.c b/app/src/parser_pb_utils.c index 13d2ddfc..8f7aa80c 100644 --- a/app/src/parser_pb_utils.c +++ b/app/src/parser_pb_utils.c @@ -52,20 +52,20 @@ bool decode_variable_field(pb_istream_t *stream, const pb_field_t *field, void * return true; } -void setup_decode_fixed_field(pb_callback_t *callback, fixed_size_field_t *arg, Bytes_t *bytes, uint16_t expected_size) { +void setup_decode_fixed_field(pb_callback_t *callback, fixed_size_field_t *arg, bytes_t *bytes, uint16_t expected_size) { arg->bytes = bytes; arg->expected_size = expected_size; callback->funcs.decode = &decode_fixed_field; callback->arg = arg; } -void setup_decode_variable_field(pb_callback_t *callback, variable_size_field_t *arg, Bytes_t *bytes) { +void setup_decode_variable_field(pb_callback_t *callback, variable_size_field_t *arg, bytes_t *bytes) { arg->bytes = bytes; callback->funcs.decode = &decode_variable_field; callback->arg = arg; } -parser_error_t extract_data_from_tag(Bytes_t *in, Bytes_t *out, uint32_t tag) { +parser_error_t extract_data_from_tag(bytes_t *in, bytes_t *out, uint32_t tag) { const uint8_t *start = NULL; const uint8_t *end = NULL; bool eof = false; diff --git a/app/src/parser_pb_utils.h b/app/src/parser_pb_utils.h index e1ffb721..9cafec04 100644 --- a/app/src/parser_pb_utils.h +++ b/app/src/parser_pb_utils.h @@ -32,12 +32,12 @@ extern "C" { #include "zxtypes.h" typedef struct { - Bytes_t *bytes; + bytes_t *bytes; uint16_t expected_size; } fixed_size_field_t; typedef struct { - Bytes_t *bytes; + bytes_t *bytes; } variable_size_field_t; // Callback to parse binding fields in spend plans. all those fields are just @@ -46,9 +46,9 @@ typedef struct { bool decode_fixed_field(pb_istream_t *stream, const pb_field_t *field, void **arg); bool decode_variable_field(pb_istream_t *stream, const pb_field_t *field, void **arg); -void setup_decode_fixed_field(pb_callback_t *callback, fixed_size_field_t *arg, Bytes_t *bytes, uint16_t expected_size); -void setup_decode_variable_field(pb_callback_t *callback, variable_size_field_t *arg, Bytes_t *bytes); -parser_error_t extract_data_from_tag(Bytes_t *in, Bytes_t *out, uint32_t tag); +void setup_decode_fixed_field(pb_callback_t *callback, fixed_size_field_t *arg, bytes_t *bytes, uint16_t expected_size); +void setup_decode_variable_field(pb_callback_t *callback, variable_size_field_t *arg, bytes_t *bytes); +parser_error_t extract_data_from_tag(bytes_t *in, bytes_t *out, uint32_t tag); #ifdef __cplusplus } diff --git a/app/src/parser_txdef.h b/app/src/parser_txdef.h index 5400c8af..767df06f 100644 --- a/app/src/parser_txdef.h +++ b/app/src/parser_txdef.h @@ -37,7 +37,7 @@ extern "C" { typedef struct { const uint8_t *ptr; uint16_t len; -} Bytes_t; +} bytes_t; typedef struct { uint64_t lo; @@ -45,7 +45,7 @@ typedef struct { } amount_t; typedef struct { - Bytes_t inner; + bytes_t inner; } asset_id_t; typedef struct { @@ -54,21 +54,21 @@ typedef struct { } value_t; typedef struct { - Bytes_t inner; + bytes_t inner; // Field bellow is a sort of optional // and is a shortcut for the case address is already // bech32m encoded - Bytes_t alt_bech32m; + bytes_t alt_bech32m; } address_plan_t; typedef struct { value_t value; - Bytes_t rseed; + bytes_t rseed; address_plan_t address; } note_t; typedef struct { - Bytes_t ik; + bytes_t ik; } identity_key_t; typedef struct { @@ -79,19 +79,19 @@ typedef struct { typedef struct { note_t note; uint64_t position; - Bytes_t randomizer; - Bytes_t value_blinding; - Bytes_t proof_blinding_r; - Bytes_t proof_blinding_s; + bytes_t randomizer; + bytes_t value_blinding; + bytes_t proof_blinding_r; + bytes_t proof_blinding_s; } spend_plan_t; typedef struct { value_t value; address_plan_t dest_address; - Bytes_t rseed; - Bytes_t value_blinding; - Bytes_t proof_blinding_r; - Bytes_t proof_blinding_s; + bytes_t rseed; + bytes_t value_blinding; + bytes_t proof_blinding_r; + bytes_t proof_blinding_s; } output_plan_t; typedef struct { @@ -117,22 +117,22 @@ typedef struct { } undelegate_plan_t; typedef struct { - Bytes_t parameters; + bytes_t parameters; } transaction_parameters_t; typedef struct { address_plan_t return_address; - Bytes_t text; + bytes_t text; } memo_plain_text_t; typedef struct { memo_plain_text_t plaintext; - Bytes_t key; + bytes_t key; } memo_plan_t; typedef struct { address_plan_t address; - Bytes_t rseed; + bytes_t rseed; uint64_t precision_bits; } clue_plan_t; @@ -165,6 +165,7 @@ typedef struct { typedef struct { transaction_plan_t plan; + uint8_t effect_hash[64]; } parser_tx_t; #ifdef __cplusplus diff --git a/app/src/spend_plan.c b/app/src/spend_plan.c index 0edc7e0d..06915fa8 100644 --- a/app/src/spend_plan.c +++ b/app/src/spend_plan.c @@ -22,7 +22,7 @@ #include "protobuf/penumbra/core/transaction/v1/transaction.pb.h" #include "zxformat.h" -parser_error_t decode_spend_plan(const Bytes_t *data, spend_plan_t *output) { +parser_error_t decode_spend_plan(const bytes_t *data, spend_plan_t *output) { penumbra_core_component_shielded_pool_v1_SpendPlan spend_plan = penumbra_core_component_shielded_pool_v1_SpendPlan_init_default; diff --git a/app/src/spend_plan.h b/app/src/spend_plan.h index 84dbb445..57eaa642 100644 --- a/app/src/spend_plan.h +++ b/app/src/spend_plan.h @@ -30,7 +30,7 @@ extern "C" { #endif -parser_error_t decode_spend_plan(const Bytes_t *input, spend_plan_t *spend_plan); +parser_error_t decode_spend_plan(const bytes_t *input, spend_plan_t *spend_plan); #ifdef __cplusplus } diff --git a/tests/parser_impl.cpp b/tests/parser_impl.cpp index 419063fe..746a3b3e 100644 --- a/tests/parser_impl.cpp +++ b/tests/parser_impl.cpp @@ -38,5 +38,5 @@ TEST(SCALE, ReadBytes) { buffer, sizeof(buffer), "0a9102128e020a300a0a089e92c9dbf28597800112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5084506123bb61575ea404e7734087db179136b0e9cc1f62ff29880c5199fe8176c2a1b57c60b61d79b955d145b503c30d6e233b33ddc598b7f6404befdbb39b27c209cf3e7c43044106c9b90d500c74461a20e21e9d6e187cd382414758297fafb4b1a06a4dc6efb9299b2d70d72c0ceec288222099e2b31b8470c3b28a61342a4e8e9dc03aa89a2d1cdb55b19b4d82319df87e012a201be58b456e9d10eddfe2cb2839d554e1e36d25ae82b018355d0ce9b17e8e0a12322097c33e865ddc7b32075fe88f54f03a10a7a7758e354eb0efc49bcbb7fb2805040a9102128e020a300a0a08f89e99f6e2a8bea60812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a503b0c5b6250417576213e2a7eeee16e9a816b91cef8336be9c5b1d125f9e6e2769ccbc85fdd2bd1d29e92e78e659d5801964116ecc280156d2247a9433b5bb803682e26e9b6fa4dc59f9a3fb0c9ce662a1a20160054d1d9ce5b6db1fa846074dca4df8929f8123551eb600a52a693ee0815ad2220bb71525bc61fb4cdb82087468a0944361a5c394e7f24262f488e459224be9d032a20cac86a6cc8ae51f861e3cc2f023f256c89d298b0194936eb2253d5d4bdf1800c322026e955748103e77c098257ca9df191006d6bcc1ba7e0577a1d91dff264a8d0000a9102128e020a300a0a088bca90dc90ada4850512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a501a02f34fd21d6a56d6cd308717d955b580af5462dd56b06f95e9d1d3f41d172e5a5a64c34857aa962024132d576dc02b16f881198f2465b9565d475ac97040c96f7f742b4eda3028b5f8ad9a9ab4a19d1a203f9ea78658e69d1750a841138818dd7cc1c6cdd02456a522616e0ce44cb1211a22208c2fd85a84e184a6fa3d2f644f1f6efe1f53f22c60addb9b00db453364d018032a20fc29fc2dee02e0e42af1a7874da7988828c8b5685069e9faab7a79f1d9b7d40032209df349c1cdfd9d0dada6333b14282f93632cf1ee4578239640dd2e184eb9a7030abe020abb020aa8010a300a0a0891db8cc1cec2829a0112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220e406c5db8fd46de42bfa23021b24fba56aed33dd995c82af14ee66331655a5271a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f108495d5d38a89171a205434dbfd666bd395970e388f5b40e17ec166ab8a373919944a746e15926305012220b9b89bf8112d8f70501a485aa4d2eadd427e21d7a7c4c480335a5e1845fd44002a20e653e5cdaa0c1bf13a739544df995658622d44c44d2bcc1f270597e694c3220232209375bb05762a06306e8c3c81778a875a638d969df8f567bb80a37b982a176f120abe020abb020aa8010a300a0a089dd8f2fad1e2ed9e0812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012203ab4367b3b7a3957e045bf4b4f6ef49112883f20161e9ea815ff6c7e9b72a0281a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1085d0e884e0d73c1a20b0b138c127a91b4ed70c1bfe86738d66da4179d24001bad903622a5cba86060422203a339b4017ef099f4fa9f0e9f538b4a412adf436aa4274042c5689b57a54d4002a20e22e518d5e3ca1364372bb41bf715a2b875913df69ef04d102cba287b376ae0132202f95351d4a308667fef2551c24ca71dfb38ebde9c4ea112a5fdf5aeaef49c70e125508eff9ada202123f6b6f62687462637676666b6665696c6571706766786e75656b6279666376762d323737383432363234373330323535303935353735323131303131353638391a0c0a0a08a8cbd3dbcd9be3aa0a"); - parser_parse(&ctx, buffer, bufferLen, &tx_obj); + //parser_parse(&ctx, buffer, bufferLen, &tx_obj); } diff --git a/tests/plan_effect_hash.cpp b/tests/plan_effect_hash.cpp new file mode 100644 index 00000000..d2b54741 --- /dev/null +++ b/tests/plan_effect_hash.cpp @@ -0,0 +1,106 @@ +/******************************************************************************* + * (c) 2018 - 2024 Zondax AG + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ********************************************************************************/ + +#include +#include +#include + +#include +#include + +#include "app_mode.h" +#include "crypto.h" +#include "gmock/gmock.h" +#include "parser.h" +#include "utils/common.h" +#include "zxformat.h" + +using ::testing::TestWithParam; + +typedef struct { + uint64_t index; + std::string name; + std::string blob; + std::string hash; +} testcase_t; + +class JsonTestsA : public ::testing::TestWithParam { + public: + struct PrintToStringParamName { + template + std::string operator()(const testing::TestParamInfo &info) const { + auto p = static_cast(info.param); + std::stringstream ss; + ss << p.index << "_" << p.name; + return ss.str(); + } + }; +}; + +// Retrieve testcases from json file +std::vector GetJsonTestCases(std::string jsonFile) { + auto answer = std::vector(); + + Json::CharReaderBuilder builder; + Json::Value obj; + + std::string fullPathJsonFile = std::string(TESTVECTORS_DIR) + jsonFile; + + std::ifstream inFile(fullPathJsonFile); + if (!inFile.is_open()) { + return answer; + } + + // Retrieve all test cases + JSONCPP_STRING errs; + Json::parseFromStream(builder, inFile, &obj, &errs); + std::cout << "Number of testcases: " << obj.size() << std::endl; + + for (int i = 0; i < obj.size(); i++) { + answer.push_back(testcase_t{obj[i]["index"].asUInt64(), obj[i]["name"].asString(), obj[i]["blob"].asString(), + obj[i]["hash"].asString()}); + } + + return answer; +} + +void check_testcase(const testcase_t &tc, bool expert_mode) { + app_mode_set_expert(expert_mode); + + parser_context_t ctx; + parser_error_t err; + + uint8_t buffer[5000]; + uint16_t bufferLen = parseHexString(buffer, sizeof(buffer), tc.blob.c_str()); + + parser_tx_t tx_obj = {0}; + + err = parser_parse(&ctx, buffer, bufferLen, &tx_obj); + ASSERT_EQ(err, parser_ok) << parser_getErrorDescription(err); + + std::string expected = tc.hash; + char actual[129]; + array_to_hexstr(actual, sizeof(actual), tx_obj.effect_hash, sizeof(tx_obj.effect_hash)); + + EXPECT_EQ(std::string(actual), expected); +} + + +INSTANTIATE_TEST_SUITE_P + + (JsonTestCasesCurrentTxVer, JsonTestsA, ::testing::ValuesIn(GetJsonTestCases("plan_effect_hash_testcases.json"))); + +TEST_P(JsonTestsA, CheckUIOutput_CurrentTX) { check_testcase(GetParam(), false); } diff --git a/tests/plan_effect_hash_testcases.json b/tests/plan_effect_hash_testcases.json new file mode 100644 index 00000000..bdc8380f --- /dev/null +++ b/tests/plan_effect_hash_testcases.json @@ -0,0 +1,302 @@ +[ + { + "blob": "0abe020abb020aa8010a300a0a08ff92edb4edf593f80712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012204df3633619f96c7c8597e2fb74a4ace43fc6205ebf4db7487863297b701ddb981a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109dd6f7a7dd850f1a20c52d3bb357c411785ab1aaff8288b2631a0700875ca7df8f7463307c08e5da022220759e85175154109ee84811508026273ed6d281d5571eb2fcd360d3d6e6ec84022a203fea2ece06f39cca2e475da222553a749ec4212bb48d37b36b35269bdfdf77013220e0bd8f3bcb565c6183d109c4302638a5ef3f81275a2c5f343587d4fed5e7010b0a9102128e020a300a0a089dfbf7c68cf5d1e40912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5028bcdca98a6e8af48e33ec72bd13a94a15cb6e42d213171b8ee402f5d7e59d45dfacab7642ca9324500c325a138300f241e96672f530c9002a22f65e5263ff56928724fb4e9b08e48357d6e67c1580c01a20cefd62fd8f6964255c9edab8aee2ac216a96ae5d09486b7b19ceab81774a3b89222053aa6f4072557912cc56d979ced2ab57d6e27d36d5e39bea8906a9d20c5768002a2057f9993c6ebc62c700252771ef6e749f052e967ee5517b8eb86e520e8d74f60e322074fa65b45edee4509318466bfaba71dbaf379a8645ce7f62b9d57122510bab080a9102128e020a300a0a08ada0dcfca2bea89b0612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50bc4103eeead6e2827510fa1cd0455fd9e3845e02a5fabec52259f0f7f2eb279025319fc60542f7de60da0c4138c20490841f1deb0f59b41536e6318f14b97e52fca10d6a5216ab1538892c1212782ef81a20be73fee8f9a1fcb8beb99509bd0c0dd29d52de5597bdc42b3b173f0c0884e9e622209e4fdc38a2e2b7a3df18d2fd7f086648196c6a6c1e361e0dfd664fdb9f7a8f032a20891c51c806e05c6b2fbb6f3d65207810bb4f6ba73797381ddbe420b5b3f834013220d62d6612b63130620e66d3b64ca9857b40a52f9d007218e74e687d86e3a4ca06122608fce6fbc21e12107a61746766636a6e6b67706f6b2d37361a0c0a0a08b4858db78bab84b904", + "hash": "3ae46aa9a71e93e964cd8e4e2567aae7d0e1a93b4bea865b6c568cf1842c4ad4456132c8db7f5d40857da6cd76581a43a55f9d9fa76f3e59fd20780a45d0209a", + "index": 0, + "name": "Spend_Output_Output_0" + }, + { + "blob": "0a9102128e020a300a0a08b387a7c2b1a3b1930312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5049267b6619c078e7442b713b7d0b2094695a28b46c83f5bcb5baf2bceca6968d1273076f3c07bb8e50b74949638d7d5b1c8ec1b3d6e0701efe03cddfedc0999262c5806b90a26a98d7ac0beb1fe7ae041a209d62a7b8c7c5bb6c95d9bce640dc0dba0d714132d658b1cf9e6af25a064c4a8b22201cdea08a9ded84afeeb51402222e160da62588963df08291ea25935416ebe5002a20bc804cdbcab1a65767b35a9395014dc94d5221697822ecd466d1a8453e01ba0532202672ec8c126d898fc6380ec2f4e3dd395bd11366fbee60973233b437567f97050a9102128e020a300a0a088ad3d4cdbabcc9900812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50d5ea14902e09d0b71292caed09b348fbbe1948739bde7f21377dae317fbe26a8b5fc3adb1c706e1d4e6d3829ff18157c5d6c1036d9d5796f49d9a8e94d2aeffe6b7e1a99c28d889c102b3ce3057720ad1a203a7d6771b13705a07b6baf5c9a2c6fe332b413493da254580cf73cc6c349474b22202dbdaab1e27eca077865d8427c8925dd46720c88ff9c0836cf0f5104f81e22032a205da1f0a6d42cf0b5c217a196916e758d717c008fe5dae741096b0d0bd65e4b0032202306da0fbfa1acced2bf75dbfc632ddd0716d3a77d44202f10cbe54a26ddb6070abe020abb020aa8010a300a0a08af8798c9fccad6870512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122060ab4bc6adb7687dc9ee70a3e21773fbb966854edeb68ba598c5ea01af1f84f91a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10acce898ed1e0171a20e53c08982bf650bba4f859a2b3f49430577df176c487e79383960fe13af9c1002220946e01ccafa8b3c979df95a2760b4ac9d16a281777b5625263b8e7adf6ef68012a207b7513c1439e8b448368d88d465fa825365cfc7717097df019610321e357a90732203ef078b2f1b7b8b711753d1d425b3995cbee88ccc7382f58efd713c9121dbc0a0abe020abb020aa8010a300a0a08a1eb89d3b59beccf0112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220660dae1f8b3c61194bcad206fe7728453848eba7bfc54d0cac3ff3d5c0c20f361a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e1bdc3f89cbd331a20f765e545801b93f9ce22942240084b50fe5f8934984ad5c412f523c63fa489002220b66e25bb6eb1924cee7a7c2219a74d5475a25e133191c11cc2d460d861bbec012a200c1bc79946716575b82753d25b90bf542280d44410d832cf6cae52530ee861103220138d84ba9d7ccc559cd51c514c5930e9b09a3609144ffdca3fa6d773214ee401122c08af9cc6e20e121678632d323032363037393731353238383635373030351a0c0a0a08f788b3c1fee6d5a401", + "hash": "50618648edf8828de95d0feba9ba47d55774212732a5a728cee5b27187b3cf4457c5a523408719bb64de03c5e7319e7c0c61f0234394b1fe2b246c17cb5af336", + "index": 1, + "name": "Output_Output_Spend_Spend_1" + }, + { + "blob": "0abe020abb020aa8010a300a0a08cdabddcee6abb5b00d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012209ba10074a1def0a89223e1ccd628c8139dc31ac2d4f1daa8ff04b42360a720971a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10cec495a6ff87031a205496d2571938c4df62931f8c0f870de9dee82efc208e3112e8654d3fa5eb17022220c17a3d22a7a8b79b7fa2de08e72209aa06191e2fa87d36fe50ca21a1c1be09002a209f82e31406c828bcfd1afd1bdc3cb81b65e92b97e7d46786c8e4e8e501a2420532205d0c86709806e8b84b06df6292102f5f2f422e69c43cfd6d8000911b509cf90d0a9102128e020a300a0a088088fadefaa2e5db0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50c74547360d4cfe67e84f4866a0b80ef602c96a950731b4172432f61fbdf1e08f27441d371dcee543e851c01fbfb8563512209d86c1db6828d5d3471309d9337623a5d405a42b1ba751dfe706ce86be921a209ec71e34a71921f9e995e0c3d2039a048c3e1394a8defc41690c7e4c990856c92220d21404290bd3f5a652312169e5cf1ed2d6a1c77ac2abd23f3a9d6195d70f10022a20f389b185e26fca1df109724d938156f68776951ef7bc308676ca759936971d0b32207f6b3030dd4b8e7888e3a3ea1f44e471b66a73b1fd78780ca3a6c43b409a2b000abe020abb020aa8010a300a0a0895ebc691eccaacfc0412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012202496c70ef9b244469d96ee4ce8141b563973a48742d6c123af5f5e070ab439bd1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10ca8189f494ce371a20f3fd5945bb07013485d5c02160d70d19bd24283ff377a58e5e966d9f54bfae012220fc9d918a9ff472d759ffe3e6d291826f11bc6071634cc3cbb9bacb24dc1710002a2018522d8fe89d0fb1a19db953d4809023d72bf4016d9a7854b15fcba8adeeae093220667b9dcdfc97588091b1975b7e609e43e48c9a9955d3fb04c7e106204a0d6f011240089ace8e9524122a79687372686f75667368656e696a2d3638323833303237333638313938353234383630333831323539391a0c0a0a089aaac8feb58ef2ec07", + "hash": "4fbf903727e6ff5ba2c37513bdef109c9525e7a27ae89d770a6178ff0161dbf844f19871b0908f62cf83cfcd9a1e9910d97a41d0b2719a0caead056e43f97e66", + "index": 2, + "name": "Spend_Output_Spend_2" + }, + { + "blob": "0abe020abb020aa8010a300a0a08c0bcf08b83bd91f70112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220cc1d7bd2e06458074feee36e80b22c207dd6c1d375584c41add4baed0f32d5d81a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10918ec0dc84a60c1a203ef3cf84990352fcd07caa37be3a55ac7d8f2c33e0a4bf526c0b2eceab9b850022209b35a595dfbb122ce3b9be5c2b7031cd204ea176cde9a20917ba597543f096012a20cd8de1094475f2190abaf3d0c70f6d06ad699d633a40b01868816c699d05dc0f322059203602fe1d6cf99abdc9b8fd99d2dbc1787284cdd498ec9788e4589f8d90080a9102128e020a300a0a08a5f082a1ab85b5970a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50bdb6cc8615b51b109d635b967e459923499f890ec47dc654d540fb22f17890aac7b04c9bcf618e004cd8fc161126a00f4327eb5989f81d1dee4be5f00978a63b3e59ce876d63f26f7e582b7171de50101a20d93a9c6311aec12a52c19a2dbbb7116601cfa6a44e0b087a6ca4070b8d9fe025222037f44391be96dcaa6a9f78196a696c11a539cf213b634ce94716dfb8b8b2c6002a2056e8dc5e2596174c37bdb693b0427b99fc13caf0c22351dbf2162f06f36b230c3220c1f087b991acc601ec276c993b9418bacfb5abff7762af88bb0560cb5ff6a6020abe020abb020aa8010a300a0a08c4dccbde94a4e2e80912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220dedb157ba99fa0e1988faad35f55f252b2ddcfdd834cb68b0aa52d61f8e715b11a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10be9be9aabfe40d1a20c19044f6bd88a3e266647626b4d1b7b49a9efb760445a08483ac386c77032403222047a813a283353065e117a950dc48a7bb3112fc15088b6d7a7616c2a7222fb4022a201a4e21554342df326ef2e75ba8544064a73fbe843543206ea9c8728ccb64010e3220ea4194a3a005180e6e0e044ff2269a7e504eb17765b79224a8790ba0bd383d05123e0893e0a5b213122865636b7a6c6d63666b666277616b7a6b6a686f6f2d303636343139373037313634383438353031301a0c0a0a08f4c1859bd9ddf5d901", + "hash": "2a8f59fc21ac971d699c237e10612551155c7903128f01e73f3ad33d2f8c1b8573ba8b8c9e21b125f42ca05a3f224541e2573d2b1048fb0bc71b87390619cca5", + "index": 3, + "name": "Spend_Output_Spend_3" + }, + { + "blob": "0a9102128e020a300a0a08a5f0a8fcbfb0c98a0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a501fbed5923d4e229d3aa21dbdae922332f4a25fe18accbf328c089f6c49d72e7c9c9ff159ac26d959f03318d54ed5b16833f0becc4594d3e5474af2f47b1f32731b6e2b285e895db2e73ad5db65e6ac3f1a20082630f6359c3293197eed541e1a4c79e23c928d382320381082a6cd048078542220b9befa2c3b8c43a46a002d084a35cf9cf938db00dafd14c018133064125b85042a20b7ff10d6197d4d30c3aafde0efd7adba84105897844eab72056ca55b57a0320e3220e88d197fa04d600f1828aaa7fe68e68eb9ab42f71874ec4a406b8ce950442e010abe020abb020aa8010a300a0a089b9c94a2f6c4d2b50312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205c4aed5f1e8061d10883d8190739c2253189064f584454e7918c873cdffd437d1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10a8bde4fed6b6121a2074e72b5a19064a7ae2732f392096f77c2a449a6434fb16a782f3cd4872cadb02222094240bbfe7c615f495cdbe18d081d0825ede25b0f17a0aec49a92e41c33782032a20066b234e45dd4ceff53bb66a9f690e703a8cdab180dd3ceca1112e2786084012322036128e904db964013263691d833c4564b7a8c99b20e26b93406927022447c4080a9102128e020a300a0a0884d3ffb1bda48bdc0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50912cd1f7548615af908ce736c9cd957a6d65e826233d67bb0e8f81849daee63dc17f2972383eb1e3f7cb1511669c86d50a6256d6d1d2958c00465ecb9a2e63723337bbc6f8425996fd023788e613621b1a20d69b5cab329e42a5d90c634fc43cbf85a5f26e70981fc1a933b70f6d09d9eacd222094e13059bfc11b3b13c8265c5f1f83595d32e23ee44c84bc368291ce36d28b022a20752a174b4c24e8792cc4b76c269795037d539c28a2a2ba7c2de6e10d3cf5440d3220d4e419e2e8b0035bd1a9574723ed458da253161d317fd83e51686668238cb3000abe020abb020aa8010a300a0a08f8c0adfea080ffc30112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012209f517c5a8f0eecfddf11f8529b3e87807f3c057b249996693d9f1af78c9932ac1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b4fcb887ceb3201a20c66d18cf8bbeff74d5f55e5f22d001cdb73e98d13950beaec313d90b4428af0122208905a405034e41a32c814f535ee20e0fbdc84738b3ba9b15a29b21067f946f002a2052f52dab3290650ca1c8a5e5685e4a4f637273396bd988d30ffac0cf589ef5113220e473e0748966a1993677102081c4253bc4900b3d9c6853559e4b5f8dd497a60312360897fdc0ae131221716e7070667365776a79687676782d3335353238323635313834373733343038391a0b0a09089d88b390d7d3893c", + "hash": "e2f0cd11b55162b1237f4238d555aeef14bc49d7f17091fa78025c3a024f31e7540f29659de0a66532c8e4a0dae291eae115214bb6aaa88b6354e03aa904265f", + "index": 4, + "name": "Output_Spend_Output_Spend_4" + }, + { + "blob": "0a9102128e020a300a0a08eaea8cea8f8eaca10a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50367c7e81fd00a421f719bb3f83654d9fad11338cbf25a4a626131f2772d264f4c9f70b4a41eba39189c27e20174b82b34ebc1b465b0e5886ec07c1e8b540ace1ae5cf2b29c6836314c746f1729ce4e501a20d582a68628ec37c65be36565529d7c4c020a44b6dcc5c79ff9975ab0659beeac222090ee1a6aa7a08cccd3310b0dd8200e1f718108c459ac1424c8d99168fc89c7012a207987a6c2034e71c90453d0f97dd6d87650442d533a82a3e6a51e7f114779ed103220144a0cbda273fc39513e6dd93b438eb7e594b68e8a868264d932ee764c4b590c0a9102128e020a300a0a08cffb90a1ffeadbb30b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50e024c3ecdcc975e461d8c001df0f8e006f14c84ce1fa77b5b1241af1d5091ebfe86534d1be987f11e6e2ef9f9a5d864b83ed8ed9884b9116fa4dd3bbbac4f278f8c57142fa4ee4cd4c48c27c4de5f2071a208e1aa0e966e2f1704cc9bb4aaabd8370924fa68ee960e77fde583c9c174db2d122200ee12dd56583e44435cc33c720be7906dfb42512a6803f15483ac5b2c5d971022a204ae04ccf9a379bd6b4593b5538da6c690d8ec74dbc943fb0add511dc93e91c103220dc7db4389f7754b5bfab96d1257c586116974c10dbc5d3264fca9d2b55fff60a0abd020aba020aa7010a2f0a0908ecdc9fbf8a9de90712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012200c8ecb524910bf5d26a5535306da1ee5fa28d5375106f66f5a5e334adec5cdad1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f108ea9efa8c4cd0d1a20a335c5c7ee1a6ce47910545e3e34af88efbec5c4cf4506d2d0e2bdf53d81e2032220109c5ef4a4978a7ef196352a12df88e05169d81d9a675d9f8d50c9fae3eb43002a20608c2381b5192b6396469e03a8a2a5bbde88de2a77b5ba7010ba75a8f25df40d3220368884678b70e68bd208d3ca1b6cb0f14a56cbbc123dcf11d16f91f78d9cac01123308a2d4ffd30b121d6376626b766c72617079656a6f737565677a2d333839313830323837381a0c0a0a08ecdabc91b1bf98d80d", + "hash": "021249f5df6bc0d7d376e097b183c3008dbf63e51f1e0e20f8a1a5a4f5e735c198dd853407279af82c889be7f73cfb9065c2082963d4f17f6632896bba3a12d4", + "index": 5, + "name": "Output_Output_Spend_5" + }, + { + "blob": "0a9102128e020a300a0a08abbb92c8e1d095920212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5055e397d4836a957d0a455a11bed572bbf4ca89102752f141ad2ec0c4afe8791958f30f32744220b07587fa94351a189c6223b714b09c57029007c57a1131ee9031406d8aa35a6bbea04981e426c58afa1a20b95ddf80f35c267249dafe33f1beb01df71becb036ee1609a0c0a81b366a85a62220c4dc87c4561ba2e1674eb69c1b7341bba4347c3bfed400dc352a6400125f48002a207b16f85aa30b045e540b68d48bbe113fcb3d1d33888188b296caa12783cd690632201ab8b326ea0e13c9ed1b685da21e71146f773480b9e2cdff8c82822d0dc912090abd020aba020aa8010a300a0a0888e68892c1b993f40c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122031dc107ce17a7fcd767fde9160216be2ab8fe28b141bd20f8c472bf9aa84943b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c8c683f5d9191a203627532a751684d2a3a43e660dedce141ca8ecbad6736216200a2acdecdbb10122201f3c83c185d602a8fe460f1460b2118cfe98f27425b776277e661ad37cd5d6012a2006f0346eabb6ac6721ad19b1a51fd4b4b87d2dcce4c87f5525b9a575956cf60a32204faa3d4a299e254cd5a754e487ab4ba1aa03fb1e820cbac03fec82cb369953030abe020abb020aa8010a300a0a08e9b8e984debfdf860712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012204a092ca981f61157716698ceec5fcc49eddcb3d045ebb23967ed4fa7d2ffb6411a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f108ef5d9cecffc0f1a20ec678c61d7669726ecaac9631f5ba57f083742f196ffa3c154d84215bbc8e7002220cb3996f400517f5358cae2a049b83137ac853c25b06de4b879a0a3317c2696042a2016b50d7085fe585512964cccef62be2a4ba01fe4d96703eeb896e7426032561232203076566a3a6a95ab96ee8bcf7c57ed0a34b11da6d3b0c3d556de906ae5d3060a0abe020abb020aa8010a300a0a0886808ef486fff8b00112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012206dd705240c002017e59519575826400798d3fa3021a9a868e5ed7d413c87d1e91a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f108df0f6ace191051a20493b8804f86bd66a36f108431ac271454f72dbbcd5e0a492239b54b49c0a3303222033224adf142be92ed07438cd752da7677eab673a0e18016b92935a3a1b2ad1032a20787c5e80839e5acb6b4bc15ff6eca394e7a2ee5d83868629fbf4d994cff49f083220c09d5af510bb6569abfd9dbffe63a37870922022155f8b10701395d4b832e90512330880a7abcb09121d6570786f7a68736a6e716d6d676161686d6e746d622d303834363437341a0c0a0a08f080b0caa2b2ffd402", + "hash": "2d295dd31017a0633c477d7091fc9621aa3295cd190e63063fc60f4bd783ef66e84cedbe2b5a91b155f9deae568e8f284974437dee0a165a77a0c36ef1d6e9ce", + "index": 6, + "name": "Output_Spend_Spend_Spend_6" + }, + { + "blob": "0abe020abb020aa8010a300a0a089bc1c98c8799f5ba0c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012206d9b770b87e7e65fb783b6fee7cbf4bf71db4fbb3b81d770eeec6c235e0f6b391a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10a2d6f498a3fb251a2005434434588a3b6f9f05969503e7cb478c67fd129598533d0452bc79cbfd40032220b70f7332d2c6d4fb7681ed1563ad51290823f11f90db1d0c861ca40078c235002a20e9158c169e9068ef6441c0d23fc6f3d2743d00f5d15dcf5682bd33c4b7d1cf0c32203121059662d910b2757667ebb2534b5b7015b1163bb1117230ff4b55a80551070a9102128e020a300a0a08ef8699a3aaaaf8980712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5027401e4dde73f3488c1cde7f1f44604fc15461c09463395f4e40803fe7224b605f29972ed01e145980cc1d18e474cb050efc0d590075313c2f360e59570879b556016076370a0178462dad082cbc58731a2077dc1dafecf42d37b25c3578d9cdffd4f77bed0b31aabc50b1d892cd0a92ed8b22200c3832d27aea175704a0980c21663c25a97ec6aefd13e7fee04984c8175c58002a20e891d36547267f8d215157e5e4faf4f5576b238116c2413a7d9adaefbca8d80d322078250931f3bca8778236379df071920c7a747e88767c98e7ffce9c205ee819010abe020abb020aa8010a300a0a08c4a5adf3d6f5f0870912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208aae110b9bcaee2cc5bcb92a8b2762030b2398aa7aee1cb0ac38245af226324a1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1081f3d0d7c1ce261a20e7590e4467887806d7dbe33f7cfee370b5168e0b2d8934dfce2c821a7b7fbd0022206192e522dbb79c46eb61e8872f7624b23fd69d9b4cdcedc169590593944c84042a209e417d09d492584da7f4a1cfe776a18fbda5ebcc25198064c36e750e4941020f3220cc0b8b9e8915af9c4167475f3e51df43b0d08f8c77d7efbd7f4618842fa44c06123b08c9a2cafb0312257674716262646d746a69656261726f707a7a747166642d33303930363038333031363134361a0c0a0a088bf3c986cbf997ed06", + "hash": "ded75c61bd5aca2bacd00c06975b29972de7072a326358dcf6a22d099b204e355139b89dc5aac1d73d7eac724bdf95fa3fe2ca5aa6f4b0d66e3f2ae98388b279", + "index": 7, + "name": "Spend_Output_Spend_7" + }, + { + "blob": "0a9102128e020a300a0a08adebbaa4afcef3910712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a501794a1f6d46ae4f4756ffea63368499fb9356bcc6c8dccfd21a91adfd618091c343da0597b2ceb288f9ffb1f52f6ab9e12667d9a10c4c0ae48fdaafa86299cf00aadc902c015eabe3120d26f4509caae1a205f9b6ba17afeb18cf7b7692ff771e956f6dfd192153cc088ae5a00f43aafd4512220200aebae149610828449534c0b976c0424a03cd53b2a4ca5eacf860a7320d9032a2025856b181736a67467d75a86e39a3915d38d5ac5cbf0bbc8d3e1dc40d5e7a50f3220154c4d462bf1ef67efc0c86479293a8ab7914d34c937142cb8e71ca2ca2d14120abe020abb020aa8010a300a0a08ebb581c2eb879cdb0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220d8acc4ad5a51906bbf19d32ced5a0e4269483be77312849c8cfaeb2474270dbd1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e492c9e6c7a9371a201a5e9914fa77f07ff61f684da00a3c621835f9d07caf00c35b33133cfd93a1032220962ce4ff6ca8717431e406b8c5b9728720efbdb64570c9657d343244cae91a002a2008776a4561969af9d1ed3601d583ce0c705ba055c3a79ed168984805d792fe0f322051608dcedff4f5a848f0e18e348dac53044ef28de7c7bfbb373ebd84aa17f20e0abe020abb020aa8010a300a0a08d0dedfe498a8b4b90312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208cfd9be7edea5fefe5b994cb500b438373e780a1e604851009fc2a1283c107431a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10a39780a8b4950e1a2068282835187dc65a8c36b8cd701b68254b95a65ae282d73a010c77245d8dee022220c1a4461cb9cb6b25db9ef450f6c32473251e29b563921b1f01f0e0703b1152012a20057825e41c88a577873ed2e20674f2d8f6b0e0a776ec86e0bafeadc32ed2fa0a32206409d7b03a4f219dfdbcd96b6bdc5f914a271178ca913879dab916231acd4512122808f0cbedfb241212797171757065636365786b612d39363836331a0c0a0a08f1e0f1e1aea6b7970b", + "hash": "f52bc736231f3467e012bcd2d0be618d843b2210a3e02a80e3d657eea3099646fc5f3254567862a9b31ad0762d7fc0900a30b45467d7cef0ac803548f07de0bb", + "index": 8, + "name": "Output_Spend_Spend_8" + }, + { + "blob": "0abe020abb020aa8010a300a0a08c598e0a1ffe79df10612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208247d5c27ffbe6e1fcfec84b8bc52854d6120e90b3146391ca6e5ea841c6fa361a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bbfcbccbb5e4381a205abd18b24d6907bffb2c95a921ce6d27032f400c910123172645f8a2601ee10322203497b8a129fc9dd3728c53f861b716bddc3b13dddaab249eb0bd6dc4bfb139022a20fc0d5223db8aaed7357f4dccaed0038256dc6228d21eb0161b5bb83371723f0632200a6c8b47197b156d1060ede70b9f95226e3064e71bd5d9ac4601545a7e4e210c0abe020abb020aa8010a300a0a08c387f8d3ecdffef30112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220f8c1e42df4c71b6b44b733c1b46e785ac7c52ccf4c9fb2163035e0e2b0a0c2f41a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e8e1a3cfaebd1f1a20ceebcfc9efc8009c1a6224dc57ce256e5fc224093b91ec809c0bed8d33ad3404222034fa9cdf707af7ebf0a0369dc1d12174c10248063e3c5fd0080bc04b0c9849002a2075b12eca959ad65095c35d9795c9a8968fe653ceb5c933023d107298bcf03e0232208228e329d61d80a63eda132556ad6d02bfe4aa427a8622d660248e03f6a46908122a0881e6a4fc031214766366766f706c2d3937353339353439343235311a0c0a0a08afb49bd7b285a4bd03", + "hash": "b2d6fa1e6f7f52e5602f88faeb438b6989735ace9df97d06669fd5bd92e77c5f6fb1c4407210eb9d1c5aa9d8a6f62cb1f8bbeea000612e079d981bbe87270a4b", + "index": 9, + "name": "Spend_Spend_9" + }, + { + "blob": "0abe020abb020aa8010a300a0a08f6fc9ea5c8ce9ac50112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122029a755e7f4b2fe21cf9665ca8e05e5caf4607005b44d6fdd10003bf3318058d51a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b3cce78982a2121a2019d8ba7805f5a9a223b6fc4661f2cf83dc0db3d9ce4567c1859a82f7027b6b012220018d49e1c29ca1c467f283548a4c0851aafe0223487061800ade76ab940b82012a2090e060e88cd897e0674f28f239bc0449020621ab1f167a12c1875a00c9de600132204760551d3147e446b1e1c338c2567d01754a9b9c0c96a4f363071f8ecf191f0a0abe020abb020aa8010a300a0a0892f3a992d5a4b3de0412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122015de58bc056496efaa83623c1d243098e44440a8a4697d184533e8ae1c1d3fa51a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f0a8fee29bdd0b1a2023bde6677e910a7b9a507531e313ea19e72b0c92845165610cae6c260248e70022203ab8cc8b7024a5b32c561f960339be6ec5029ac5c5e948163a66299347aff1012a206d3dabca5ab450434fe57efb41ecb65356209035f97ad1543bd8bed42bb810123220446920cb6e0fd3d3f097bb2d1e0fce73ab36f1449fbae1da425d5b287abf9003123308a28d8dce1b121d702d3833313838313336393732343034383431393038343635313437371a0c0a0a08ec9dd595c993f9aa01", + "hash": "a6057ddcbe83bc2751443e3628447bc04aab6aea2a65e80acc819af65f0d9072f5ede52297268a3af51a76b55e672b8d168c0a5a5196d5c3113f226462bd9e7b", + "index": 10, + "name": "Spend_Spend_10" + }, + { + "blob": "0a9102128e020a300a0a08beb2af95a5baf5e80c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5080a91ef64cf2afa5388258d237ee0d8e0d8eff304af2f36cd54d5d2d9d34d11baee0b31c565dddccafde7e8144ac19f66abaca0b0eca130adf3c8f95423aadc8b3052bdbea32b476312be16784cf8b6b1a20d2fa7e2039de31f85f1ec422bcb6b2024c6dc25939a99a5787126774d5b215ff22207e1d188642672f0bfb061cc2e9c4efea88d897d835fb1aa55634192d74cf4b042a20fc880ae5846c779fb127c039571f35ea0346e1fce88b03d5f8c22b1af7822d1132202391ea81e6a9a7564712fc7470cc9e263cacbfe4441f4097429c96484bd519010a9102128e020a300a0a08ecf9f0abccadb5910712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50618e283b20d729ba78462bb2f99f6ae797c3aa4d93d5a9c2834e43d5ac6c793e213ec17bf99eacc853de0cb79be8abbd40961f3c8aac0cc1f0dfb4c975323c1884e8f89663fc8a48755473c7054f7e021a200b862b5c9ba4683e8cea4b70a928f856f6ace3e229a0c6916cd4677906602c0f22208866f0640796bb6bd05d679bea4ffa594c9ff73edbbbc82835a94ab108053c022a20fd69ea7bec72d49a62198993413b5e03e8eb1bf91be04828155c726db351d60332200ba98e8a972ca6096e1198f26415687abe30c7b37178670e9be20822dd57f30b122b088e8cd1990912157a72776772706e6369676672647473682d333731371a0c0a0a08edbaf0efbdd9a39906", + "hash": "d13fa65c0535888275c1dde78810e22220ae40c9c87dfc0a800588ae2588442b66b3bb93c21610f17850427c1afd6c9d97f3423eed8d26ba9f44449615e368ef", + "index": 11, + "name": "Output_Output_11" + }, + { + "blob": "0a9102128e020a300a0a08f6ab99b7fbc9b2af0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5068ed8830a02c9c6ef89a11456630343b9c99d647f0772ff18af00775d30394c4f7ac164f8b6bc5b4e5e4cf84fa9fe5f3cd0ea3d65a074025c97655591f6b555a13ccf9dcb566fe4efe4a72db35587d191a206c62f7253167de77ac31a45820c504a1f63a2c22ed6c63f632ec169c2398c29b22203d4e754a07fb5c232f95e8ee68d11cf0fe0a6a0852fe215d0bfb1cd9872de2032a20e663d704d562432d7390096c6a00c022b3afd99aacdab19634274b4edd96b2043220977dd2590683716e5063ecfc834607055157a8a8d5e241e7639798d789b151030abe020abb020aa8010a300a0a08c8f192f68ec9be960212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220d9d1e076ff0848a1c4ceec0eb57da4a80085980f455d433488f3d32436ad67281a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109fd0aaa3ebfb2c1a20ea0fb051ecbdb9841e459f79a8f67473e003a2ad6aea136b99c3e9c052ba94042220b457da6ff69673ef299a34c42269e916d1ed2e8acc1f476c2415900d352d7d002a20d3e2ce344aae2a0cc13e700bc6ddb349d57dc68cf916f58644d33db304e6170e3220d4fa4de80df2fe77561b42bf3c5046c94c447997a9c5369ca797286dbc07d10a0a9102128e020a300a0a088adeababa4e3d4890c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50bac9c38b3b3e83eb23f2d7ce4b6f444f6679375d3d08d49e0b7f331591a7be3418a21b65bd2941d74598c6e1fbb56cb60bb711107f7ad6d1519e3db0d6e7376c1f447329412631fda1ae577a125840af1a2037c89146fb83f9cfa86289610ac640893a2a7fbfd5a865707d1d3e2c3649103f2220ece3cdfd72441b270aa1658e650fa6dbcbddc911ed45f0d620f87090980e6d032a204b815413938b0eded259550650bbb60e9d9ae8369854725b547c5f4e8fd3a805322056237abc7e205c3163c48f058a52c36b2bb3f0ee9f4cb44aba63d1ceab693601123e08b1fcaa8c20122864676d686974656667766e69686e756972667370626472676b746d737266682d39393731363137341a0c0a0a08b1f0f4f6bcb0eb9a05", + "hash": "01ae6dfb8e8baeed2a9dd84e64b7485aad6f349cee0f6ce871a02842995b3c8b343fdf11197065878e340b24f053ac8a025926202247607f79418c8459aeb649", + "index": 12, + "name": "Output_Spend_Output_12" + }, + { + "blob": "0abe020abb020aa8010a300a0a08db91c0b98b84f7e90412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208eeaeb880aab7fe13992d5e3919dc05465847b2c9cfe6e45f81da8fa6822088d1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e9a2db858df1051a203dcc5fb92a53ee6d4e61bbc19ae3b30d2b634c0e29089ff07bd9cc5760d990042220899d17b33f105d8666f942cbf1a7fe9209f693312f372606d36baa12714e47042a20cd8376f7175c1749549a45cfac59286ee19592cf0eeb49fa2b4a32be6f9acb0b32203a5a94f864590eff9255a8d940eec55321f6194e2640062061f8af6c876dde0f0a9102128e020a300a0a08ffaaf0d5debe98ab0312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5085c98ed2c6a19988908f64edcefc68bc7d1a0a957634daa6860e76fca6c3251043c1b862d062e1917032d5448249ca25a9305e27e14f1308db5a4dab83f9168524074164986701dd63757b7ad0e1ce191a20478f305d3c969cd61b0abbf5e6118336b48e6fa237cbbecbd397cb094a54808c2220694681d22ec9eea65f8f95e858319e005f59fccc12034bb8f080f93ed90cf6012a2020d50ce13f45bc429a674b8ab509ae3c373c7a6209ecc09e742a40904d22ba00322088c84b779811c01e13ea28cacd2b9076bcb751f1fb1933d5206f32289ec078000abe020abb020aa8010a300a0a08fbbd94f5f2b5bd9e0412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205f2b5bf691097d1a63bf523d5f5c45bd7828a71263abca44b9a3882004ed7e091a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1099c1999f8783111a20bdb9f678fc62c47b9315b343188118ae616e81048f3bc49caf560711f88e380322206b5a3748180bd50b383867194e7d837550c805a2c0989eb40cca7541e7c7fd022a2059daa6711a451f91202c3ba52ab46e0646530601fd1efa306e58343a7455240732201e12a6b48c1acd301a5dcbdd36b87e3ebf5ed0d57a23ce85b3a272c7fb0513050a9102128e020a300a0a08ea98e5f5e6d0b4d10712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5057bb0d30d4b7254e5eca99e16c3f244588c11bc99f6239d9658ca684273256b2344c86815a79f62ab8e5ac39266d84a56ef1ad1e1ba981ecf1ea0c31bc0d42f69aa7c176c11d3a15946fcfa39533cc491a20220378cd15e5dd4ff7b2a61b62f6c3077dab81e61d1477967a174a24e58f5f5c22205a392df4e0d536389f2b82ad09f36f5b82bee8c426fb68bf3b469946255e50032a20316636487e24aa447b3fd5ec519653e561b17638fe147439c0ee42f15093490532201ba247a09f5e438d9b8f7869985f0dfabf3be11d6dead3ffa023aa14e49d2800123408deffc6ce03121e747a7273637275797679646862636f6b72617461682d35323234333235371a0c0a0a08c7ea8de5b7edd3b808", + "hash": "c6d3ba924eccc02c29238c9f5a41b1d469640daba38a8363b79dda34b69337230c699a3725afa3ff4195ae50c3885c5baf8d60ed6aac8f7e13e9c532631f44a7", + "index": 13, + "name": "Spend_Output_Spend_Output_13" + }, + { + "blob": "0abe020abb020aa8010a300a0a0887dbbbaec7ea98dc0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012204687c0bc8c08aaca121e79856c89078cf3dc44bc021264e841152035f2624ea81a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c3e5e7a1a6e4021a203cb3baac19c0a1ca058aedf3650fa1040008cdaa4ab8a9f4df4d25fdcc2cff0322203182fb7ed6f6c526be502c88694e65f7916b9eac9124e051c1cefe9d584930012a2013a03a9cc29c7136ec1e1a34ea97ee1e2e396685cfded63a9cc1a7ae32172e0532209e52057430a922e1d70b443981afa5abb2dd3d49ac77749262b54c2b163017050abe020abb020aa8010a300a0a08a4ceb7fa948efefa0612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205cea4cd8551a187bcf99e5b26c31abce6c163baa876b533405798ff73bb9c3bc1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e8e8ac8dec801b1a204ffe92b8f963cd8418c701514c62d79558b10b2b329b1c937c55992ec55b78042220a4d02e11062816ae43b59d9520db2bd17f5e4779209790c2125f8f565c60b4022a20787c21e98f97863f8d4ce95b28515c2761ebf72747f54b247f5c72f5eec60a013220d9430ee1d0fe1667fef7bd6c8877cc1fba5ce0d6106c2de1cddb3885aed4e200123608c5ea84b1101221746176796c7369742d3338363934373734373231303131363533323039333230381a0b0a0908cdc6adcfc2959411", + "hash": "63d999322cec0a17340bc46d86ee71d21f46033c447584434312547228146168ea56c212343772189583374839a8fd292c303b367550e6577fa98dbd01674fd2", + "index": 14, + "name": "Spend_Spend_14" + }, + { + "blob": "0a9102128e020a300a0a0890a4f0b88696f7f20b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50c94ca8722eb93a66b5d1469c170b183becb091a6d4a95004a0154f6fc738d53c73796a91fb8f542ae71281ccb4e0d713ef027c8a5fc1b28aff00f95dc7e511c05d2eda3bc1e49974242cdfb25bd952181a20ecc063ec0e269b80d38cd94fffe2ffceecd3665118e74a90fbb31e52f452b85122206ccbe7d9d7b06bcfa5446e78eddda982d737094fa9e10fc791cc7a055c629b042a2081bc2ef23e39a22706755baa3bd1ed4a59da89a464a0e48cb8b89608d9c3ea0232201bd6efc4819997876855aaa3769be01eee05091c2ca8cc0f7efd6bfbc8193e030abe020abb020aa8010a300a0a0892bc91f0b694e8c40212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220efce5982d15799b3d5a0a92d5b27e4c190db1574e88d3549993c0a808de5e45f1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10d39b9be1e5c50d1a200fa10854f0a04217add2716c73d531980a3ba7aff5a17cf83332d0ec67b3180122200a5f0fe5baa87061bbf9c58ceb90e3765021a86fdaff0a9190068f09dc10d7032a205afe4e495c88094c41afc60f8a0c2c9167507d48834ab78f105ff6fbb52fb3033220d0fdb47b8269c4effcfdbd7fca7a04d55babee0df0f2ae3de734c8b6e36591020a9102128e020a300a0a08b9e292d2a8e9b2f20c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50da3573970442b8a3c1a3710d84b4824617c9138b99c587deeeb85ddd58f55fb3b1b4b409490522a697942a927b79d858e0153b206918d39fbb2fb8191e367ead30ecc15931d0350b8dc40f0e44eed75e1a2088b3da47bf154ffc2b358055c7acb7ec94c62de27375c9ef558001d618943f312220cd733b474c541ed9bee34858ab50fc5cfce4271e53512e43f1c6e0a25fdb15032a20b2d1e6399cc950ce335b377a6ae4ddc4a0a05f244a66495e869835e9747b91093220e0b6d4a4a1782bea041aff95f961ab20bfbb861430086e0333885dee22f4e6070a9102128e020a300a0a0891b088c4a9d689f30b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5063f4f2e0742230fd13306067f27f5608cf18db26a6d78dd6ed564ffb5cb3bfac7eef1a38b15fd25b0b410361c41bc30f88e9e36d4043cca5d27a3dcbf44d4591f53edc434fff7073e3eab1178a4e65aa1a206fed09d028ff351b97917759717b3f51037adc3b80f0ce6ab711823539001c60222099aca61c0ef4cd64dddc6e5f47e0be4efd2deb263b5db9ac506764a3c704a4042a207006a9e1478f48d15919ebaef6e561ccddbf3c77888a75a336d69cb7367f5d0b3220e0d13bdf4359d6a1f007f84fb4bdadda15886064d32f2ce2307e337b121dfa08123b08f3f4d1ab1d1225706a6564647069796a2d3234323338303731383036323139323638383235333532383934321a0c0a0a08d8f6eec792b8f7b801", + "hash": "31576d32fb23c8c2ddaae67a4f8f9752691188d16adcc6a486420b5858d1548c009b2e0e9258595a41bc3341ab440bcf7edf836e46c2d9016985c38901c8f7fb", + "index": 15, + "name": "Output_Spend_Output_Output_15" + }, + { + "blob": "0a9102128e020a300a0a0899dea6d1d2d4eb810212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5066cecafb47aa5f896e72822236a0b52d8f5cf7643d1bb69849800cb88aaeaa4917c3faa9fbb95bb068ab3e90c424d59127852d29ec112a134fcfac5ac29bd104c574093129b54b003430160d8d97b5cb1a202573baa93f4eb400939d3acdc50a9f6c3568938e8c5ebc4249d6f6c45efa38362220181a83d25e9d6668c2e93e84b7b44e563716a479f3a2cefb611467444a5523002a2015ff6cabe9c1534a7cc2559b678f7ff70519fb2c6cfd174e08203a4109ca1f073220f5d1d9f98d31cf2d185f5ea2ad15ba7ee481d0509f261f6f4b1c3f69a044ae050abd020aba020aa7010a2f0a0908dfb5efcbacd9e15a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220f252f5d26abaa7a2c4d8b6aa5948263cbf39aa0053dee721ac9ec0fc4d1afa611a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10a6c0d7e896bf2c1a20363336f81fe1a9f998e82ad4b8b185d1eefcee33e102b320ab0fa324a16e9e032220a6f8e87ae7713113707faf7b0a154e5a316fcc08851b30824f7361fb463b2e002a2010493346771200039265a810e71c73a56a9bf543abcf5e891f9a97c59fa51301322022a81afa606b6faca316c736f15c992ac29e3a5f5cb271211ed71ae67dd48e11123908f7cca2f403122363677168617271642d37343234333632363931333234313936323636313834363230301a0c0a0a08eef3b6d1f085c6990c", + "hash": "aa60210e4772dff34ad49124902678ff533f32cd6ff51c5b831ed74aff8e016d10b9d2e25525110c01a7b43c264ffaf88e1420ba332ef09d32356c961d61d87a", + "index": 16, + "name": "Output_Spend_16" + }, + { + "blob": "0abe020abb020aa8010a300a0a08a7a58baba5bf95b80512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220de687b890b5961969d3addcd5f2771f3afb11805acf1441a952fd0a31a24993f1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10cff2a6b39ba4351a20638104c03128de09ea985fcdd8375c1642536114bcc4c8f2aaa43058b71569022220ffbaa52aa1481e858149afca76cc1aebcba11e3c61896316306b23f52b4903022a201655c8704e97295182c3eb9cff8fed020fafed9b7d3489ebe3824edc630b47103220ec9cee55e9729dcff7e462b45b5c65775ae31b006b96d35ad7500c919d6bdc070abe020abb020aa8010a300a0a08a9b4f38883d79f920112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122009c8db3ef98dd5ac2a7a4df4c76d0af755ae7d75ae2c628716fec62b987c9c4a1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f108abab1a1a38d1c1a20f86045d795af6f0bc2b3601a9e88d2cf4688346d01a7935da6dfd6d528fa12022220e592fb185fad390ef15f9fe918b885639b18197412e7679ad45bbc15782295012a201aefb91deae54152a063a856526ee623c13f66781dd4ab73255138732b1c591132201f4efa0193931f86dcfde3fa0c30c3b37f617a9da278a333244f821b9c408b0a0abe020abb020aa8010a300a0a08edc2eaf4d3bd8f870812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205bd6da68e7c3b86da4193de7515b94574fc88f0446392cfec1ce858143b0050b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10ee93e5dd9dbb321a2042585658e5e79af212a9fb1fe2342c2c0e9d10b0e9a7d1060b2096dbf20bf70222204799f9251f5e8e71a3e0b7f7e74330aba940a49578be0a88e56c40b8e8e6ef002a20978ff2f0884da981e1548e14d114972b29cdcf3badb9620321c4b75b1dbb211132207e697f951041d36256d9ddae50fa5e79957751b86e95aa5baf8f5db2e7276003122908ebdac8970c12137a787968736a65766b64692d393431373234301a0c0a0a08f88b988792aac28403", + "hash": "a0e8564723236bc0ff3f408603b4e4661a6893eb67a1d7874597900d85fea93e005ad114eb0f4e1b275ae820b42ba0ae32f7151693fc1626ad3e45b3b145bbe7", + "index": 17, + "name": "Spend_Spend_Spend_17" + }, + { + "blob": "0abe020abb020aa8010a300a0a089d88c6ebd68ac0a30612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220d1ebf9dc4e2e9a0358dab99e1ce9caf5ed55754df84a6a86da1758ab16da0c581a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b29d96a9da8d011a2053d75d3b89114eede09db7957dc3478585198606c9bcfb7a8d0af7dbe7590e042220d80559bef8041155fb620ad70896d93d192ff704a7c3029a4766a58d7e4f85042a20b5c0dd7fa687372afaa7070a80cecdde5aa0eb68a7878efa7d97a56ceee79a0e3220739243ef04932bc7f23971d66897f4d25bca19b5f0ad801883f918ba1cee840f0abe020abb020aa8010a300a0a08f5eb90e9f4dfd4900c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220b0a00a6238c8b740fa1cd443b03ff39cabe473fc3c49a75c58048388339a0b371a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10d8c5d5a7e3ad271a20a7c96162d0320a159787a8113af1ad2805184b6496790e2764efe130f2b96700222047620a8bbde66296a367d73a03365c21efe25e1642faf87f0df5f9ce77b968002a2062ffd98a26152707a27afaed546685158cc5e28d115431fa6fce4d5a71f5f71032206d69279e98ab47bb37cfd522075162811062d009adb15de4c68b47bb9be13201123308c3e1ddb31a121d73776e6470767a646d6a77787868792d313434353737393736363632321a0c0a0a0891dfbab38395b8d00d", + "hash": "f42062a5e0d4f8a75286feb0d910689949bd49d669a0776c77cb8877ab882b3ed272b5a3d41eb32f73fe8bfa67a23e587dda82f76f7b06b14099511ea92135da", + "index": 18, + "name": "Spend_Spend_18" + }, + { + "blob": "0abe020abb020aa8010a300a0a08fa94b0dff6b391960512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122062c65fc4596fadf98e7e829f20da4584b3d8bc9696bcedad800246c6ada264961a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10cec893cc939b2f1a20a6a1c059b882a38e52ca70b9451aef43e8eb48c8ee3077c446507b3e444a13032220ace97c17a1f59b9094a4a6b53c6959535ebd9ef107928d6e08d61640b18b91012a2094f79f0d2ae5f0b6b138ecbaa878f7df5a934e2df2ffe97ee5ebd0da210391043220cadce7f302c34b0ed3305e8b23046cceba1f1f3ac8ab7864874b9695828331010a9102128e020a300a0a08e2e3e4d6c78ee8800212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a503850bb4a5ac7caa1850f4915001fe70ad11b74bb0d86586f0c9b26ec319f2dbad0ebfb9379bfd8dfcba6e504678580e505081c63104ea6caebeb3f74f4c25c7e22f798d25538c234f9664ae9104234621a20d6f754e2dbbe9a5d61b65f7c85c9fe4083fba159df3e026ca4f6510e2ba708c6222019ee603e99a3f752ade94d976b97bf55c58351d25fc580dc17a39f758c75ed012a201179b7537d41e6d372941efc2b60e0cde2e46f125b68c83088fc0bc2ea7c73083220627fdb07f95bad5826b6ef2e9226e0189abc055ae7d38ad7139607659fb7d80a0abe020abb020aa8010a300a0a08e0eeacabe1e5cb8e0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012207e9d5366e7694860ca1dd70c8d7ddd8be08ed290792a420592b5982e9f4aa72b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e08e89a8a5a8121a209b62db14dcb5d75e02ec112244787f0ede4fdfef189d4eb90035afb20336660322201e0975f68098af12894b4e30114ae9671a9c92f24ba4c2d895a1f40aa1525b042a20bed47b1207f325a7539321630304abeacaa8d89d32fa02fb29589cee408d7010322089d21503ea8c75caad6d1fdb8eb2981ef3791aaa74245deeb8434dd680da3003122008cb91a2fd17120a6b7771726b6f6f652d321a0c0a0a088cd7b6f0e2f0f8fa0b", + "hash": "7bffa8bba2614075363b8083e89c125457633f95a9cf9b56d7ae691ee052cb6ad12008aeada153045e9ba8f1a12210fc62c9fe323e4dc46c01751b3ada77dede", + "index": 19, + "name": "Spend_Output_Spend_19" + }, + { + "blob": "0a9102128e020a300a0a0896b7d9f98c9fbff10b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a501e31fa50ac79e76fe214014ec4d5adbb1b2ddefc78edcb66ccecd63e50404e7c91e9f10948ba99fc332bb69d98168c91f515bce7efee401ab30e85e7a6db6e0668b8126204fa59488e209a820f0add411a201c504d2e2062d8125216098782900ca9e7d64260dfd5634ef90981d14df7a88822205c98d2a83fa36cd5ceede8e5ed8c9e193cc1ffe69bd6c07bf868182ff8db21032a2053158b3778f2a6235b6f7928f23595343f9e225fe5ee64416abc56f1eda09b0f3220287f22134e28b5ac44793634635c60de3516ab0596923e966bea4411168b8a030abe020abb020aa8010a300a0a08eca099c9f9c4eec60512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122004067d2e4ae33849d8f5ea144ab11ae398d7d2d1bb8932c850c0326cf5468d321a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10fa99eb90e3c5061a200c199ca1d20836d66752be89f77c908a1eb5df950c48f8e72753c35427b0eb002220074ed79b5b1b31460a370fb95b4d701ff28b52418e936abfde18e9e876ac13012a209b6974965439565594c29630ab75c8258a5ea8d522fbacf980fe965370529d0a3220244217bbf4506fb9ecff1df0a202c1b06befc1896a4cba52963c6a99c1ffdf0f0abe020abb020aa8010a300a0a08c3a4a3be91b5858a0112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220c0f84bbfaa236fb8858cce851a846b1ea238a48c0e24496dca7f5dcf97b227181a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10d485daa29dba1f1a20f24bec3d84468afcc01f97cc7357097ff36407ac3f8b8ba29f73b958ad83180022203a24034069a9fcb190eb3477fe3ff7a76305ff98b4c22b2f0dd9bad5ca244a012a2027c70b8622039d528e36999d7395976a1a8fca91ddf52823e7c6b7c12a6398053220fd339943b6bc70593158501e48328843db3a3c05570ade93d9435a9c7ff5e8000abe020abb020aa8010a300a0a08fbf8c3afdcfab2af0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220a5938e152c11cc710c7e2ba172cbeeda4f73fc132e56c2caf2c70468934c27561a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c4d0d6f7af983f1a2064be6307a0603ed4eb01203cea8df706e817c2abc10dfb67cd6efb32c988640422204340ae83d8cdcf30637c8cc52fc7465a38f03409747b7ec44e63217b633224022a20f4f95dfe2e102ab7da362824ccb46d4bee86bae7ef393ee1fb0252b8c267f5113220ec9cf5f390e4575f831836acb6f8e1cde2a07bbec27b7b69ca0c664706f76801125208fad6e09d05123c686e6b67736a6c777468677579796d6b7a75727866666972797171717a732d34383331353132323835343739353033383231333533313532333634301a0c0a0a08d3dda1d4eb9ad1a90a", + "hash": "eefc6d49ea2e612d26d820dce950f5503c9646063173c1b09da488542589e802477b51d2a9867ba3cc1e046241b98f9f412e821b80732db083e25b08c0ddaf3f", + "index": 20, + "name": "Output_Spend_Spend_Spend_20" + }, + { + "blob": "0abe020abb020aa8010a300a0a088b9ab0fcefa5d5c20d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208a8e279697329e3661e01722d02919b7e6a5d51f43b250489ec3366a38c6dfa21a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109cbdf0dae5ed2c1a206d2cb47f4d580e479fd8c9d60b55083f86792752eca8401d2aa70b455b656b0122209a19c34d1ba73880cbd66aa7a33a2d4b8d600c3d9d5babe4960118b672892f002a207efe84c836a2fd84e417ea68997b6fb65884fca057e86646c88655082bb90906322032bf8c2d6b6475f9af40e0011940d9e808003ff5aff4f19c2d0cafac165c01010abe020abb020aa8010a300a0a08a7faebddc9dbc5840112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012208764bf41a25c2b5386b0fd1319cc952244a4c778007a766b26652f046e9f30671a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10df829288e8e12f1a2014d6034dc8536203660ccc3aa9a9af5a39449ee6c5388ecae4387365257d67022220e7bf743916f8292c09aa56b6304e9a3bd4c8bb7888758f98b28a36ae413736022a209a9e2cecd9dd68df132e5c0e3d5ecdb18e63a377274f7a27f6435ea5512b7d02322007da95be2688558e1122af94ea994df0851b25d3208bdd7e201764219390790f0abe020abb020aa8010a300a0a08d79cb5cca394d7e60512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012200d94f457be1e5907c993a46f9a961e1b70b9ad815558a7bfd3c5e32d234c75381a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10d587bf8dcfa4181a20b57636128f3d38d1e8d889db6d98bc1d6fd9c10e5e5debe3011538437aa914032220acd6db64a4a182bfed55dfc212c21e15a64dbf62afef0ec290f5f3d4cb6a13042a2055425834b5dc3b65a5931cab32239ea73f184342803ddbdbad031ffc8fa7c5073220ef5b5a06d7539cf0782276df36e8825717ce72797c90800e565388a7c7657a0d123e08cba685b10e122866626661746477756c732d30393736303832353837323633363132323637393836353732393738311a0c0a0a08eba9fbe889a792ac01", + "hash": "715c83af311b963e44b42037a04bffce9677b47d4c50af4452d70cec8c5d012bc75787a92885cb1d3512941fd6e548d992d8edc6b71ad77381872ca1fbbdcca1", + "index": 21, + "name": "Spend_Spend_Spend_21" + }, + { + "blob": "0abe020abb020aa8010a300a0a08abd2f883c789dabf0612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012200290702eba83ae2a74ca20cccf04cc86c2e46b8f348f7b8e36c4d557fe99f7131a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bd8d96e681b70b1a20de21a24008ab868f190a925143cb7d28450c07ac3e30b8a4b2657604918677032220b6ef62fdf1211e0a6d800362ff55c2fb833e8136759c6f7cc6d508fdc2fd93012a20df3b2b88197811111e095a8db15cd662d245c4e210e9e04af2ae45fd85ce190932202c780869f688536a22545b9c1df74ff112228d8db42858df7fbf3f586bfe560b0abe020abb020aa8010a300a0a088db091a480f5dfce0d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012209ab45087cb26a1956c50e6c46358e9f8d83c2746d078587e92478ccba67005201a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b98fab8386eb1b1a2036d944bc282172d56943fd767596c7fa10be0b7f6a1231410be104e822c755042220f816e7bfcdc5cec69293bc50667d09c4284b8be618a0eb9dee4c49d852d14f042a20bb0c5a5827a0907a4edf3b57e7eba7f957237545334f7a103112c0238c758c093220c3bd57eea97148d1ec1b2646028d99811b0c835d0859573a62129e23b66e04080abe020abb020aa8010a300a0a08a6abc1b9cdd8e2b60512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122004985e0ec4bed141a696bd124859a852d6774fbcfab7dcb60d361399f89d99011a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dfb6a7abadb12c1a20ecd74194cadd127089585ef5dea7939c58c1c6cbe8976023a49a64a7ac150900222075d52ea3acd51266e26b769fb0aea7b1ef47eb708a2ec0925002b5f83c6e6a032a20b6966285db26cff92cf94d6c0ea7848b3738e8d5c4bd582f9b6dea676ea54000322059974219c66ed1877df784db7187e263e01b3006bf4c0932b1b5477fb3685712123008b6e9e4f308121a636c726b746f782d3032393339373035353635373639323138361a0c0a0a08c4e7a2b0f795b18605", + "hash": "fbca03efd4fa788825e6fe772d4bb1535633563147ef9cd87519af137ed299ff023424713cb493207188472a31e34654357f52d184eee6ebe2323dcc64df83f0", + "index": 22, + "name": "Spend_Spend_Spend_22" + }, + { + "blob": "0abe020abb020aa8010a300a0a08e1b9e4ba84aea7b70b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122087f9047ea57b612678221bb12afcd5e2e6e4d0d792c92c6b2df56e59b621c9b11a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10fbc6d5a1e8ea041a20755fe1c3472fd350cb90209289398c69081bdb1f5c2dc0fb42faeb7db8d479042220523d05e5f005929b21ff1dcf91c1c2f92656e36a728d74164a16e60157b14c022a20e5f991725981a99b08222fdab957f89faaebce492109c8b0bfec02ef109ad90a3220a9cda772b10d3c2cddd815994d8d2fcbc06cfb6acfe53107c8572244fdc5b40e0abd020aba020aa7010a2f0a0908a1faf0a0db83895212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122071095eb97f0da0ed70f042f95b3a3f15e06bcd7fca49c18b32272260baee7f811a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109bd5c89d9499031a2051b6a377ba0acf3d36c831a611d5e13208ce2e0cc8b230ebc6bdb7a4d3a8320122208c0c748c9141de329d4664826bea74f4f85816c073777c7d95009f59ff1412012a20c74f4950620e3437196b78601b0e8cb16eb072e12801c88fe5078b28ea52ca06322079502957ca8cb7cdd63b41b86d008398733a9981c312cc6b986b7dddbd7861090a9102128e020a300a0a08b3f3f5c994e296de0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50b7f450a909fa3d5afbe84090648be56cf0a2d460525dafdcb50c01cd116c382ee0aa682b7dd6eaf192e05d13261e6c208ff3244d6e94fbc79dc4e14ab7b538cedccfd51c225a78d827accc56c7a91efa1a20d2252d0aeb6e1e335212dd53ca45d1ecc4731d00c7c205145bcab3265a3d2d802220885a1793056bb0de219821911abf5047c7e3c2b9eb716025b03a0bbaa2ad1f042a207c32157ea48d1cd9e7013e1c5be8ca47d8ff8ebd108dd6b0e892ca1eca624e123220963eabf5d8d50a6948bc163c46a266461bdce50023668498ce2683486d86eb100a9002128d020a2f0a0908b1f498dbb8fbe25e12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50381af2aa88c56071812845cb4134445381d6fff4dba94970b1ee9318d644302d86ee8aed8e41602292d58058144a5280feb7e38bc441dbae26e52d732ac4aa3258c594416146a0d5c796c32b6eb315641a20b145e492c1ffeb39b5523b2cfd3834397b1e4c55aab50307e0c035d8f239632222201bced037604038467a081138b366d60be5fb5ff96b9d24d8f0e5dd86b30215002a20acbf5d1c6af7f397443df6d6a7b9269d7d2b471930ba10c8e9bcbe01509d48083220e72abd14bcf155b2bd5ea697872f7061c5fe96f3b39c8ab17be7d0ea11529511123c08d8fbdb851f1226657469737972666e6779676a69656c6973776c736375657965787662752d36303332333530331a0c0a0a08c5f789eaf581cbec0b", + "hash": "5631efd8f4c41f5d0a441fd6cfdf0ea31cb87dd2ae2a9e3e8a5035094d16434f3e453767ec5f17384761b692e775276d24cd4404bd5adc3320346bc223f00224", + "index": 23, + "name": "Spend_Spend_Output_Output_23" + }, + { + "blob": "0a9002128d020a2f0a0908bebbe2efcef2eb3b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50001e3ce3356b0d9248d0ed2c01ee554116a08844df4870f1f2ac003ca8e0597af5247486596ee8719af68909cda83e2ad9a676a0f76dcc5f3e69b447fe94494a4220fa5c09d003f651525a6c94aeac001a202afacb3230d304c72b31007922a77c7ac265f50e18605756e4e14f446a218c6a22206c6105ec64b7c35644d7108e3aef12747929c63d1f8b556c6410258f4d7249012a20ab4e115c197617e1401288198c2b69ade777df384fc506a43f981aa584ea17103220b20e5d4be5fc312b418d4f6d7b8966b04733cbf3eabd67d9ff5ef60222fdd3030abe020abb020aa8010a300a0a08d09282ccc7bdad990512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122098843a96980417ce3286eb3d99ba60c83afdb56b6f4060432fec589bc9d95ed51a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bbd8b1e9dfb43e1a20ab73b89ee1328697cc1b67582993d9d1a8fd24b4bb54033d39043869f60b9801222048c5f328dce2c8e1cdd0d448d51e635f3b6cf19fc9323be5446d74d76e796e032a20a97e29762a82bc303694749226e19218b2239c563d0a0e637c010858eddafb003220f640ca7f5d6bf9304b9f715743c8ba8c70ce65d974ab3df055a21c195e2c76030abe020abb020aa8010a300a0a08bd86d5b2e99ef1de0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122003417f976281d5859fae6fe8f1f3c084337256e687cd61e1f507b4db31ab06891a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10afde83fab1dc0e1a20b0e8e9183f618fcb73b462631dc03089ec2aa810e2c70e35423eef72c677120322205660d7ea1351e75e255381f2f7c969414dea731b9ebff92ffd58841e7f1aeb032a20226da2e2d004c0f143b4ae134d19ae4d0dfb900491ad84b81d5cc5e96941ae023220f873a9af92594af191871eac0971877bee131f9921a002a1ee943b4f72ba6801122b088be8f2f40e1215657a696b6c79666c6f73636d2d39323932313136321a0c0a0a08baf595ec90a4cffc03", + "hash": "526f23d936323076138a569694fb413e00c1ee79944d97e625d102f7c96789b82cc59e08e29a48a2847e955e2c75b4d6ad7c07c15bd3c8bbba138edb3bd4ce70", + "index": 24, + "name": "Output_Spend_Spend_24" + }, + { + "blob": "0a9102128e020a300a0a08b3c0d988bf95f1cb0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5004d1c79825124fa34ebd7549c5ca2f1a929a21a5d5caaf3d22026f74a9c0f1551ebb5b803739e17a18f1029d7f50bfe57161cef03fb2d4e78272eb9d05e02275b51426e6beb139fd98995d014a477d0f1a20fb42e26b2957dfd495138f428780e00bcb7bf06e10baea2e4ed8c55e5f4de6a32220654e87617305973f164fe57e5ec76d29ca15a1d3304bc2f10ad89726a3a21a042a2007989cd759309ca97f812146c5ff452e096b2c9dab515a59f2fb062a6feae6013220d549a6fdf2d9777611277f9889dd1bfa50792116e5fde1bda534b5c32bf9ff090abe020abb020aa8010a300a0a089898e884e9c99cff0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220e3af81c0787f6baed715a0b5a28770502cae41d709dbbe8435f857e747ff723f1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b5af87a0e6ed221a20a82d54f14a287b7ed4cda03340bef54fb87fe00c6b6e4f1c70663b1ed91a0002222012cacbd4ce77af6cfdd01945f3bf4d64b2f280c7bd377bdfc098cd46f065a5022a20b696cd2d20a434e6101ef20b68aa484f7e592758b6331f3d304bdf263feba209322005c75cacf44e3de312248b997e334dae06a48699433de42f3329cadf08f1e0080abe020abb020aa8010a300a0a08edeec9d7f5c7c5bf0112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012204cdbd2e372d88b5dcc9a19ee4af2fb73afd621656578b965442dc28a6433a4ae1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bcf9d9b0ad85391a2004e1c284792f167a420ec307190a296741132705d31d2a22e99db482203ffc012220b407b85fb0d0a62dfc02ef285d5fe09685113a08ae1b1cdffb240e7c51f665022a201abad5e2260799e5b6dbcabcf256f84fc90e1f5967a88a0e75821ef4a5e7a60032204a6c12185780831b8b5e4203e81f91d16aa5fae44604e3e8a84bc7e2bb7e2002123208fc9fd2dc23121c64686b742d31353438313330313038303335343831303939323532381a0c0a0a08cccbaddcbcd9adb906", + "hash": "380be469711c1efdb64b24255092f79a0a02d051f24de321e0ec034a7d767515df7bcd333f3fd4ba270dd1cf1894c335d985df96b4bd014c8686e2df087a08f3", + "index": 25, + "name": "Output_Spend_Spend_25" + }, + { + "blob": "0abe020abb020aa8010a300a0a08aeaeb5928bb6d5c30a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012209eed06f69a9ee95cd6b05b42b6159444e8e4b0d56225b184afbc8b563ffb35281a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10a5f2b98396e1221a20cbc3c4d9de8d205b51a25cf2c31956e896c9ff07a2c731ae2d2ab01ba32d3b03222065c6dc1c14f7df73b3a736bf889f703dd37c7063fcf057b0a08e397f6e0706022a2010903ae1bfd97a08e113f92c050fa59c16fac9819314f50af4e0a67ec1a0e61132202888176148b2f967aea8c3d5780107159d0dbd3522ddb6d90e28171cac45e0010a9102128e020a300a0a0882a0c7e0c7bcace20112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50955451c0f72fb57ed3bed0abbec02ca2f52da2e5147430cfe600988c24ce2d1b14e15a75d434f2e9bcc264f5cf3cc2dd3db8363f798286707e9875b2d728fab7da0aa7f213a0ede9ebdde96281cabbe31a20df48ed2f413f32b53a0c47b1894a38eec6dda4ce69ff1c578336d95bdf6d11a12220e42fc93e3aea4d01b57ea8e9b4bd30223e14e67ebdb0f1ee1630fcd14611ef002a2072ab3d086e6c82cfb09adc20679848275183f25d379e7a553ca7f4f72dda87053220eb16b992f4f0e7e769d8c2e32ed7448db796ec5048e3ab7e010dae85b1d28b0d0a9102128e020a300a0a08ebe59be8a19c95bd0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5016229c4b36fe127c903b3e17a56f022f9958179675fe2ad3ac8e573a38a6a288ac19893da30503cec7af0f3db2197c252e6671e9205e2852b9bf7e950be4a996ddf84196bf095712c102cd712604b1f11a206202290ea091779f06a1ccd98e6ccfa37f8f157c848771d7f451411faddd4ec7222065a66edabd36c37cc256852b99064d1af316d8e2812a0fb735fc426224e3f6002a20966b3ffc4f9ddb5b63cc3c1698db01cb025b858fb21fcfced6ebef9076eb3f01322035c33b366c722951c4d3bc593e505d81e69aa6e4ec459bf10ee4cc37140ff91012320880acf0e613121d6579726c6e65777363726e76746c79662d3834383331333938303434321a0b0a0908adc0f7babee3b80e", + "hash": "03cfe5d9c5d318a567a5abeb90d71e82e7284a7f3c2d5f56aab4676cc3f08fca849ab0552cafbbd2c62b8e41e7e946874117cccd051480563ec98a7a553256ea", + "index": 26, + "name": "Spend_Output_Output_26" + }, + { + "blob": "0a9102128e020a300a0a08b6a586a6c388fdb90912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50abc480c4fdd4155b67fde6f7681a60d66deb3e0e7479cc9214aff87ef0d10fdac93f20ba9b58fa176fb486543ebcef16d03f7161854535cb013164fb4b4c75c7277168e307d67c71e36ebe09b9d7457b1a2001417788312c6734e788b6117f177cc55b6787e33088e31aa6037d0aa2b87f8622209161334db94310598b56187b13bb5640725658179ca16d5e622ee05333bedc032a20b4c455010a0d599cae6b8339a1725bf1bde13b375157a6021e811ef0cd681a06322047033222f0cda82f841ed940411264e017fa9d79d770d60396642bd867f60c0a0a9102128e020a300a0a08918698c3d187c4fb0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50b45f82769866d6fea37d4c9189ea7570c7eeea8d59b4b846c0435b8adea976d4e5c3d5e9cfe544684d55ff4f82e3eff8eecce0049b01ddd8eb2f656a2991148ce85ac10a33aae7debc542bcc65e5ce7d1a20e466123f2fd7fc998a4f4948dee087085fa99c58a73dd689aa0da29015e8709f2220b3d9e0bea0107708ba3bbcc7f7e544601c9c480f7d91e9545a5fa2fbdb5dda032a206c57d49ec7540d855c1b91d77258678c42ea12b0db22dd00e823b25afa07480d3220980fa5c02f239c4e34e0a19f3102d671500760b4a003351cf06c3f78818e5d010a9002128d020a2f0a0908e08295b6a1a9bf0f12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5073d4f3ec8ebd65fa6efc5e1f88eab7be6e3c8bb8d04b267d0c5793c80540a2706895adb5538f9ccb1bc65109b20b5bd684c738ce6156d3df6157cdef6c5f8de32f52e980d96ff9283da7df03d6c1e2ee1a20d67f9264ce266b88404797d07df39bd2c971225d1e61003fde50bd6365d43f46222058e1efc866916996b8998b2c06d30a51eb360ff1763f2ceca4e483ee15234c022a20525b3c1a8779160d38f747d552994b128bc20c0b138f0ab67a6e346ea99dc4063220322bd1dba173a4d2e570a8eb458538cb1a4f63289607e0c2ca2d45335c985f00124308c1d0a149122e6164626378686d6a6e727275736f687674686577636c6e67767a722d3130313538323632373138353336353334311a0c0a0a08cea79e84fff884f10c", + "hash": "52dc2959b920815069e94df4aa4a7d6d6a83327be38e452d088ac1e353044792dfccd78825e1db0e72a8ceb00e07b672eed36629bd3bb0ccb0a2cfe0d618fbd6", + "index": 27, + "name": "Output_Output_Output_27" + }, + { + "blob": "0a9102128e020a300a0a08d58f959ffa8bb7940112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50e60ebdb3a5571574e25c718c821fef82e2bd5c80cff319a73cfcad09edf9c89eb621e996bafcc8afb6370d5f60dbd742c190d1d0332a503e64db6266a651114e8bb8e6c01a14018ce08bb5905abe1c5e1a20d53707bf32cc8a8cb0f265800e9d6e2c9e6cd63c46fc9376114862ca9e7ae4562220b0b846ec29cd4d850ebbee057e9b767ada3da7e4f15e9c63d1087c5e835f43022a207b5f1ed8ebafc0367000ef0c59b2881b1d00e54b7d786612e7ae77d0c497a10d322064345823844720b25737e9c21bd10ebf0160b2af15dddf41a7ded78f8a41a2000abe020abb020aa8010a300a0a08dcb7e1a5db94faa60112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122041983795bec9a216127b5882353de3146fe71c001ee0eaf8c8265441a927abea1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f3bcc69580bb081a20efdc952a91eeb01ef70dbd909114961faa6bcce4ed3014a19819f63ef2b5ad002220057c17f25cb0189c5e243531cd557dab3f82aab448cbeb49d71808ec3553bf032a20ee5b12c30fee661fef8e39d2c32e6cbfcc225b1e7fdc8e3231d5587259088108322041a6b531aa04d23f9e1bd36ae1dc8e7679bc05615d13cf407914f866245ef40f122d08af9fac931f12176b78786a7163737666757662657a636a6f7a672d3239351a0c0a0a08b6c6e796f2b7e1b902", + "hash": "2c02e506441796cb1e64a68242c4fc0579ebf66bd0318bd429b329e5bc93de055312c723f57e20e188be667153649af68392326d76918b9ae87fe1034aa43b55", + "index": 28, + "name": "Output_Spend_28" + }, + { + "blob": "0a9102128e020a300a0a08e0d0bab2cd9294e90d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a503fae7d8e3a13ef695eb8b3cc6be1a7be1b60b4a27dadf6f6ff7e5810239e4219880644dcc87fdfd6851cf951719aebefef423c288dd7eba6216f7d4163e20d61b063fced4c6b6d75823d5f371658772b1a20a8011067c83eee8bb92f9db9596f03c68422a4f735a059cd7786d207a7a360c02220799368150adfb12005f7f284ccc9b7c89f3cd2ded59ba4537bcd7b28d4046a032a20716ef5f0890dbb2199f6a7cb4cd96c79c70398ad590300a5068f3cb170424a0232202dc1b504c9a0a845a41642a11838dc1fbe0c50af891b595b49ce671a01b6810b0abe020abb020aa8010a300a0a0880ffa0d591ac94870212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122094f188c11a23fbc2193f48249c4909fec78462964ab4efdcb11290d9d2c7391b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dbd6ffa1a5a72b1a2052925ec222606bafa43e8b7afd49f70d1013960b59396e209c2a0fc75ec454032220d61afa3c3701d1d069072c3a85110343f46a7e2c5350c9a3e3ffd75d446c11012a20c22921827e34ced167e86cea0045a307d1efb15c6bf802bc023e972eb8e0d802322023675b18cf0e81e4fdca5d785e9aa828c6378735a269c4563563305002fd260b124b08d7d1a098141235786f66746e66756a7175737a6b68696a6a6e73657067756e6a742d38343737343233353633363934333730373433313735313333341a0c0a0a08a0c8aae484c4a6e107", + "hash": "dacdd95a85510caf2e4cb3157759ef3aabb2481694d0fa1b37803e11dcfb2ccf3403d487d767fc713d31c428103d260c558431816885ef77ebcdaf8d69bb7b5e", + "index": 29, + "name": "Output_Spend_29" + }, + { + "blob": "0a9102128e020a300a0a0885facadeaa93c2940712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50add894a0d590a82fd59a0ffbfe7e101f529a271a17899956e18952a53457e3020cce945aa6c0ebd2505f289b2cd6b0c5aa70c9e6e0bce009a020fb63c313d2db23db2e78412ecae1ee4537841b1308c11a20106811c97d6b163bf4198fd47dd2526dac16d885262f9dc177e48e7f31ae0dee2220d11cbe5400bf46a4c21173ea32d4f983040d29b0ddc256f4b96392587cbca2042a20677e92e0481868fcfe2d83095332fc2c754f3cc2ca3cae74b5d830f8238ed903322066f387c2d3a0e92f1773b05a655876289c5d25066f7a142381cd83aa5b33d6000a9102128e020a300a0a08b38dbdcbecb6abf70a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50e871eb22104c1afab7ec84fbd4b530fecbdfc2f0cd23ffadca70ed3f660d6e55a5034dcca48307c837b6a8190fd0417d341599eafed925d1621b9e74fca1acc01bdfcaa6d4be968b4d0c2a6e790f7c3e1a20d81d452abd2da8360a85bdb1cf9f3f253b149d95fa83d479193751736b2cf05d2220ea830b873ff3c477ee8213f6566e896753c511d1cdc6099248228c379c6304002a205aefcc87e1f0fe9470d8b3be2a1c561ebdad9c2447440565ce3460ea9974f6113220aea962a8b90fb70af2b1607bfb805aefe005667631e867a475f870be444f9a000abe020abb020aa8010a300a0a0896dac7a29ca5dcbf0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220f2936383493c9cfc574ed232bb78e4235f3a48df75c2643c54bef7a7822fb5871a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e6b4d1f1bf950c1a20ed4e9ca827a1a48b29a8b37bd0bef776a746c76a6d01b53243b210480cc88c0122203de5ae0e167fd8e9abaef302377f816f414263d5e2e6b45fc39a13c48d5aae022a20f3cb22872d20fcf20ff6125048cc4a8f11747ecc66f51712c1da9397d77edd1132208a2933c3f1b0df7ffd533e881c26f881dd85e77be24ecff280bdd7c63dc02110123008fb9e8a9404121a74646d726378746e756b756177616b6471672d353738383630301a0c0a0a08fc99c5e4b1c4bceb02", + "hash": "0034ae9bcfb634c27da901bf1c306334279e1a3f4f6287af85d151a4bf91b46cceddf2f1971d3c36ad80cc96a7e7a1d9c96b76c9abc8f763f25e50b95f556a60", + "index": 30, + "name": "Output_Output_Spend_30" + }, + { + "blob": "0abd020aba020aa7010a2f0a0908f6a2cfc3ddb09c6612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220b6425617ef6e16c625e856a3c1f6bc92bae0ac6e036d43f518f68a09d41389dc1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109ae693c59cf92d1a2004d42a2bb36db8a28dbe863716ca63cd312cefb4b56d5d339abbe43e441921022220588144b5a15cc0bf815467b3158e0e9a2f20fe5ac3bb8924701c73d390e676012a2072de9aa0f88ef0abbdbe4646c3b49f10279e898baa0b029a22512cf347a767083220757c4e9cc543ec3eb7c8ceb7684de4c67c7d6508facb24db0f5e7f7b754122110abe020abb020aa8010a300a0a08a093c3a59de18eae0912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122001570d87998df2419686cde1dda91c62081ce7bacd5b05e8eb2e9107b5ec34221a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e7fdfbb2bff50a1a207ef199b8ff57c4c2801570c7f2ee04a74172c54f89c516ddd2453c65d3e46f022220936761d9af8a080b434e9d0e544f3e669e12443518915a5793ac266c48f252022a209d998c7f85422d029f6515008738f15ac994b47f41ab04674039d742f40fd111322060f682b338a93c9b234ab9568834a007fccf04d3561b8237c87baf6052920f0f0a9102128e020a300a0a08c581a7e499fa87e80612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5028d831a2e9ee8bf778b1f9c4e4055863c006fd18b4b23492c605d78d9cca85774550d9d08a797e30491d0d2933e16015766604a6c9b3c40c0ba37d355737e5b165bbf12a838db0cd7c9cfeb5142f0abf1a200cb6ce4e9265305876abdcce3002ec363c6798bd2c2dc2853b4ecbc3c34c591622209acb9c3171f9a9a69e6547d0740a7864eb967fae0e8498974f872725f6832b002a20c890f00873c66dacb7fb7bbb75cc332cfdeace3a75b89108cf9c4b810ac06d03322089a015a97d36bcede3a9d645798e718170b937505ddd5b72dc40f4d7fe366a0a124d08f8b7bcc5041237696b6c776f656675656a6c68667a6571637571617770776364706361622d373836303239353331363238343136373736323237313434351a0c0a0a08d5ffdcb1e9ecd7bc04", + "hash": "ff04c78dc59630e3f92f52e22b03543682462edad064375cff25bf543f90efaac6eaf99692daf667c967da0c82af4d20b231a54b1616181e6bac0eb4e6f0813a", + "index": 31, + "name": "Spend_Spend_Output_31" + }, + { + "blob": "0abe020abb020aa8010a300a0a08e3c9a4c183e48a930c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220e4f868c946534d2e044d04cc6ccf770a0579305c4968a54b92a35833e5016b8d1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1095b98388dabf251a20f233b8a1d291e6dccce23f692f2ef9e89cfbe23edbd3d48a159ba923542588042220c55fbf56897d10619ced91742b76acc6222844007ad917e6eb11300fde5fb5022a20aab3c51c17834871774faaad495dab8d524697033c73a23e6a0270f001daaa063220103d59e27432538f717ae7cd61fa36852a3d6ab1e30d12ceacf8ff029f7486110a9102128e020a300a0a088f9bac96f7d8c1e50412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50ab574ea7796b30ac2ed820412560a91a205493fa7ec20162aad420f699c0d6c76b4f464d58e358c15f7f8abd1268fdedc867d350ddc5bc32ffea6d721938619435b5aaf581829aacfb75954fd94321de1a20aa64231f92ca11a487386a0b3d4b5325cb97cc059f0d3bab8437f54a049edd4022200761e00ae28ab8cb0b886cbf2cae2cd8d29b1b4ea3f3dec57a40ea7e29f938012a205e81e5d1b220b29d63749561a8c8b416f510b50e452d968985800dff20da8f0732209f7595257267d810357fba9d2bac203de105fbccc9eefeb5c44c4cf01b0a870e0a9102128e020a300a0a0897afd2d2bab5cb9d0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50c4f2d0b6ca355bb0597ebc78722355d310f6c17deb5cc04e80f1209914413f2b64ecba28dc70f559ddc9bdb3bc9bb72a4241da2a8e44c89a15fd2303f0ee3c33b642a6fbdd1c0b8e62d7b40a6700cd1d1a20a80d77076b9a1e0fcfec03d01ece3d85d2d7fcacc0fb0c4c87b5a6499c84cf492220f6547f461ffd7d3e17a6a87f58b287aa5938a065fda90fb0c2b02c8ef456f0012a205b0494a6e3a82e281b6f665863d5016ed08fde677d7161ad66513165f4b9540a32209b89d25e3282821169d2b0d5dc7bb9a44dfd35f81228ce2a18fd7bfb6db500090abe020abb020aa8010a300a0a08b48ac4dcf4fdb6c00312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220f52c25452567a10e10d692829fe7283b62537bfa9941a8bc36aca4180bd5063a1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b99ba1b7f6f51e1a204fd3499d43cca1a96f36bfdb6586d99fba469397777dd15e34ee1e8a2cb3e0032220b11f1890fa085bdf34beebc125a6c6e4f1f77aa5e88795fa6b9067b39d381c022a208e94d59d284fdd777b76f9ff6b643b7a803a7fb34ab2d8acec1576e462f452043220a632eb582200d925dae4c2c94b817bd5ac7b630e0a17964484724799e017f80a122208b0fdcfc70a120c666e766972782d37303836371a0c0a0a08baa89cdab8dc89bc05", + "hash": "1cd7585b07f8758497d48ad55c147d18ba32d575ed929d15302c94437cfe661ba154fc3bfddd926d505c6ed3c37bab8b571a733aabe56045d7c30fe5ab260575", + "index": 32, + "name": "Spend_Output_Output_Spend_32" + }, + { + "blob": "0a9102128e020a300a0a08b4a89a88f39fe6b30212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a505c3f8a6ecbe833f76314eb7f99f117791e4ae449089c9b8e16b6d6d383e6b6b4b8f33bcb57101672c8c467897b125f28eeeac97cb641e7e8b00bbf4ec8b3f31deced37d5ce161a787c376205ff6479161a20fbc37748825d8faa3cbeaf03a72cd554ec2da21546a63b409555c1dee890452122207ca6d58324034551170b1da350b85d257823978e5c1d531e402152ff35f94a042a209b3098f1bfd58e7527b8c38938c1724a625cbcb993045199b200e8c76b6cc10932200f051ffd733fbc4b7794ea3bcacafd7cf5ad87e106bd28a0dd9126945b5f3a0a0abe020abb020aa8010a300a0a089c9fb9d288bdf2e40712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220faad48ba6ba6dc289475ecff017b15b60648b41b3f2f1d0549e24d1ef2c42b411a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f2feadddeb9b121a20c92aec1396262339759a638a595027f1191fb8bbb509dfe77286ec7a4de95204222001fc8ef828ae8f6dfdf2017fb224e4a16e244cdbaf0e4dff18471d9d396a92042a20ca601533405436473fa537e7d97eaefd4dbcdc40d19e9e1537b3d503c9e6d00032203f2c3dfcfc1a097a27e15acd67facf34dec782e50465687bf140c9a7778dfa0e0abe020abb020aa8010a300a0a08b3d1f3c19aa1c0c90312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205770272d8f67d1011ebc4670fe80b881303980291a88434f388b3458327a8a161a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bda08286beaf331a20f8e40fe04cb7bfedbeb4ccd597fb9a0ec04799e80b02d505372eb87646763b042220326a6de2be97a4f75d63f043bcd9fe32f1f08a43b934606883f3fee1ef2997032a208e35b0bcee173fad6dd03bb7ca03404c6471a33b196a3d10e0ee7edc38ce54033220d68d308567f63302d012daaff042e9686588ae5816429c0e32d913bb024f64110a9102128e020a300a0a08e4a5b0bb82febce10812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a506b3ec6ad21c2e0ffd55116c9d9c1dd057f5f54a66acc29a3edc2791d90394d355fe165e848b8efbea3dad3237f3988d3a41c65b930a2003cf7ea7e7d4008304f4d016dc5a034f335be2911d4e2e410111a2002d876e19eb8856640248749d548bcbe98d985fb0601713a58caebe3b030d27922206e546664d32258d499b95f6c709de4205d51269ef6d42dde2ad0595dff5ad6002a205424f45cc2dee30c237b8fecb172c940b4fcd7ec4ed1827fc926b9d80f10860032207b003823ba4b76ac0d19dc15a554347c0048920f31202117799eae986cf50200123808c0ce9fd51212226965726b6a6d6c7a61706466696f626f686461646b72657a7171792d3739303030381a0c0a0a0887d6fa96eac281d90c", + "hash": "8a24932242a40272dcfa2917466ff57e73d0feb35853f600db0675a312b8f798aeea846a1bfbe6945c7a28fe50c34adc32916cbaab55ba0de1c42798e240e4e8", + "index": 33, + "name": "Output_Spend_Spend_Output_33" + }, + { + "blob": "0a9102128e020a300a0a089be8e190e1afe8dc0d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a500f7985d59ec41bbdd2a2163a9d4ad4c81c88639a5bf0ec755b476f6c91019d215d776c92bb4c03b35790399ac465156e2ebd5c27199478964ecd10dd483d85bc92b5c5fc949c91ae9ea56e921b5863a21a20bc66bc22914cc88ca5ffcf773af09945938bc6e1b0e31e92069f3de9d20eda172220b9d753ed1172c2649a45f76fd6fdb3079feeb789a9f66b84e29715ef044054012a203632ad0d1e9c4ba55e9d1b77483406120c42dd770a2f58eebd0014b44d06560d32202daec0036cc505f1483166ab19751f3466d69c11088eb9ddb32b139a1194a8030a9102128e020a300a0a08d8c9eea0c1c884cd0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50f718120c3f5a7fbd0102213040590cd5d15b576b522dc436a8d3817e5d75e29a46855297932c430db26807b3c4bd3df83a21dfbf1009d4fc2ac3f3bb64dfcd7f5eca4e60f21d572b05d5bb15e2fc3b001a2029d7d1874e71ebe7339221a42681e179406b626f95d37bf1ae74acc9d4123c2c2220384cb2d8654e6e2fdd5d4402feafb5f93f57c42bdee1336008f40acf6f4e38002a20d6c8ccabefdbb0658970025757084a321ec81e38dade7f9f67c06c9c67c9a40932205e5ca916b36bb396d0b4c5cd71972c79ad02e14517d92d8fa788bfdee5ddae070a9102128e020a300a0a08d1fad1e099e08acd0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5036a38ff0a9a4efc38aed3ae50ae0d132d9db46ccaea72f1ba7f4a153340ac1ff48d5d0c5c0329c5d4aee3ee0c0b35234a1ea73e3c298d044e1f9d1f3fddd3129d8d6a91f2848007f2cc0f55a7d800d8e1a20c690b72d40bcdd42554b25fbc68c6c723d9e6c0a157e427f47f7a9a9129b11032220304c896fd346949e1e5ad7366d4fcaede1e57db8b5737b83a215d4f90e5a2a032a200bd05e0f66d65acabf1ba7dcdaa5a834fb285e73fdc25f120a5a4706a8004c113220721dbf479c05be02d0589086ef210e59cc2c0ca161bc1c4a3e4f0c64de4a7000123d08a29393d5051227766865756c777461696b67696e63667362766b6565732d353735303636303835323537393732321a0c0a0a08ae98c583a2f89d8306", + "hash": "699859b001e2e9c3fc902811c10bb1639f78acbf52c6aa08ab161721421913732cdeb0dc7f80434a3517e19c61998565c8c844f1c1275a3f0b9816f7048df69f", + "index": 34, + "name": "Output_Output_Output_34" + }, + { + "blob": "0abe020abb020aa8010a300a0a08e5b5c8bb8afbaacf0412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220d2da59d0449e183c8a95788d134e469095f6704533bb14d46f73e5216e368c0b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e7e3e1c8dcd6271a20a3c01d84da43543619efcd048905e7b8d2e66a2cecec1c3e8223c098923e760422201aa8db17826e5b99cd8b2b07d0ea46cf26e5dd28f804531f98946e5246e29a022a20e6de4e03f68a13ad58d35a7bf80fc4904f5fbdd53564c723a65a37ea8072f40c32208fd4d8fc2bb18932831272e58beea62bd6341860575b8f4c83e1b0f4cd6aa3110abe020abb020aa8010a300a0a08c987faa3b9d2b28f0c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122009def813051fa048dfe59d91338f30a6c12d4e923d941079e2268b6ab0a021f11a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b8ff8fabaaa4351a20e9669cbb9ab98657e62320549ac57ddefd64574b083b43ec7a457ad7dc11c803222059e15c62d3e839da39b7e9d8ecae212ed04d4ea3d3f53ee25fefffce8494d9022a20e605b078c41e1a2294d4710adb1b5ffe304b55cb4b609ade2ac83f40252a2a0c32200178d1ad926599bef70b35d1baa1d87a2fcfa810c47f0ae54664a9a104d86d120a9102128e020a300a0a0890b7fdd084ccb6bb0812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50d69ab88e8fd43af75edb66e4bf246a0e40868a32be16ecbc5a432b6ec53768c596d133808246e63ea39d844ca826f74c440335065d1a31390dd5dae285cb30081162e79b986e2edaec058df99589477e1a20e34f80d34ebd7f91ecacda0fc7e15a797c5972963ab926cea93b14c8cef9ed1a222058420bd576451fecd6454f73a12de11172d4891551ef6414759002ca65a02d002a20fdd7a043af027f52154e7761a6e93d4c08a505bbd7c361b738506cb10bdeb90f3220cbbc09d60cf4fa606824e5e09c0bf05af9eb82c789a0ca7c5e554dfca9f199020a9102128e020a300a0a08c7dbf6be95aeb3ee0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a503f7bdcb4a70c36315bcbedbe7968813c05f9a98fe390e97de1f54e2fe1cfb440109aa2c13defa36d5fec4fe2c9de9f3de270ef41f77a84b2098762b24613b5b17d38381abeacb3fa0a9713ca29e000471a20f1dbb745ef37f73fde9dca163411e61deb8bcc72761f27d7db13bc7dcc17f86e222074880b3b7b317e9920f9d4437b5d5e51885637d16ab5d81f8d8940a9943afb022a2097919e68ee1532594029f4df8c572a9f620b9afc386c7931881b41d4449923123220ea48f76fe9827cadb68dee60ba35c537c86432392b5c25a45b1e0c109e273a08121b08d0ea86991012056f2d3739341a0c0a0a0894f2dec782a7d3db08", + "hash": "964c029956611f448f059c5fddd158152b54db06bea22b8e4f1170c865c3a2089f9a28f3499f39a880559eeda6aee623893c07d5db1754cb422e57ba4e349481", + "index": 35, + "name": "Spend_Spend_Output_Output_35" + }, + { + "blob": "0abe020abb020aa8010a300a0a08a19ed7a59c8892e40112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122022ef796f19b5a0e8caa73fc351c8c149bc483e24d194d767aedfb0966bab57641a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10bde2f4f4dee42e1a208a3b7ac84c496b7ab9f54e1689541f5e1b23b83755107017dcc16eca37f8cf0222205b4e886dafe3334471db78a35256f809cfd3fc099c9a47f9b38c273b3096f1022a2092feca4187d14d5b4e2e6048cabdea6e52b88296240a5215b462007c0680c90d32201e33e860390cd2b17be8e1480ef1a7d5407f6a98f99dd5f085c648a8a4f196100abe020abb020aa8010a300a0a08d592e0dff2eecaa80612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220fd0851f2e063e552f3bca12aab0cc9eaf0d6a7c5a42bd4c883a8be525c36c4471a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f109e96b3e9c9893f1a20d6ce0feca2affd2d9bb92222a9877aa4a8ea9afa9c468bcd9b6b82ad5a11fa012220c0a6e390e3094b223704732d00b8ab799b81b877c3e8e5bf753ff6f319a25f032a209b05e6a8f874a942ea59389dfdd0d2d756ff5ceb01e271a2454c7aa9a4e60f123220ba71e6f66db641936ca0fe38870736c1390e53fd863e8799e59951439a2cf7030a9102128e020a300a0a08b3e28ac6d19efe920d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50a01e434faf043f512aa2d8f7705e075c44485074491039503f49f22a91bdfbc46a1ce5b93ff213bba017032754e5fd12c09ab8c0bd01689d34e79c8e31478685224d3f23b8229d0139341557f1f9f7d31a20822b1064b83546577292f41ded971931425c0a65b1d35754969e3ef44bdba5a722202a06474859c5f679d6bfcc66fdf2d5e6d5fe805f7910046d494cc6ec27b684022a2053d2bf389dbfe2f1858be871c697a44ca491eb31cc0667473fc401471c5b160432200d1b71ddec1631662f851a0da916b2e2ba1cee55135e4474622ebab37383f7020a9102128e020a300a0a08e7bafac9e1def0bb0812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50bdce290f29b14841a9e4ddbb6c69874c4d18df050d356714e783934bb5f13ac550b455ccdfce4e3377cd08e76ad15d67b1dc7d898b361a07bbddf219c76e838f32b9777cd2ab2ebff5f132fadfff71a11a203ce10a620b487287b17496dd05321ca5471289801efb5694593c2a1237097cdc22205753f72dd97b244ff141d5ca5a04af212c6bedcf6ef5bc21be498c58155cbb012a2072942c6ce14bcf471f9d1a60072cc98fb8d58aa62f17d494607d2e14c681051132206224d59acfa23c1215c4cbfd495e6611ada20b959a17c0a893762d018c39ab0a123b08a5dea9800c12256973687574676f647875786e69702d373637303031353434343930363532393439383339331a0c0a0a08d3b0b9a6c5f6b0a606", + "hash": "a4fad6d0be392e29b2c00673defc3ee200e8d0718dd792ba3cea1e0ff8085ff29b1cde0dbf7586e83e25df0b3f2b15b4cf4b44a8a6284205c9644568e7a2f194", + "index": 36, + "name": "Spend_Spend_Output_Output_36" + }, + { + "blob": "0a9102128e020a300a0a08d3e5c0f4f2c9feda0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5075a0b9e5c39ed2cf5a6327e5a45180464656360557328f0ace1da721a984a6f8182645ab5d09da25a0965b4597d4bedf0907deca8960ed63767946bde27f6af45efa180f91b2b5ec72b3202233c9e75f1a207823ee62bb0f859d186200548a53e3ecf3219b3dfadb47cd046fd3bfe263aea52220983eb03802c836f36a3e199d02044742da0aba85d44658991ceb8a18468732042a204001e2b85f77b1c9dce89efec2c52e2d530deb6982cc636d856444a1760da30b3220db19f7f22363c01df0c5be7540be48469fac22da71ec73178b0a2be577e8e10c0abe020abb020aa8010a300a0a0885f6c2cdffc2f9a90112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220d7b105df3b3be5fa6dbbeb3a473e07fe6e3fc3102bf1d51196bdaea8ce61e8a51a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1082e19eddf1df0c1a20d970ff3f0f062e43d41de4552c9672575d4abcc1e0efe52bd49752d2f2fd9b012220edc2636ef85c9560f882e93376e7e2aa2908af678fd01da6a46cb9d6602e42032a202dddbae89eed38b32fdac4975f0075f7286ef42d2e27dbf48d6446357e0b481032201025d03049e81df53faaa84d7fc35c2c88e3b20a0e6f4d19a77af1b08efe38000abe020abb020aa8010a300a0a088daca0e986b8dde20412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220fe0f9d8f454d41591f0935f212afadf87f81a1cba88b6982ee8771f5a1caee021a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10849fdd8c9c84301a200f00acb8340931aa09ecf53232bd801f9e0a280078a3a9313e62b2bde7f8e1012220c3ab5aa67dae418c1a2f4936b9fec2ed01a8e47b44d84b2683fcccf634d9e7032a2081155d5edc340a5313503444fde2b4724b6b668d700cec6d4860939d052a920b3220aa6754ecaae30d845a9e899f0aa562608bf13ae85dfb4af23afdc8f6eb5fea08122608e8fcbde816121069797472776f70786f6a2d32313031361a0c0a0a0880b3ac9be2def48801", + "hash": "01485fc896e738627726a96cdd4467359f04f8b97ce3296060a37bcf7606af5edf2126f451a9e625a586f78f9dd3ba774a0a93c5a81d178b501dee414fa293aa", + "index": 37, + "name": "Output_Spend_Spend_37" + }, + { + "blob": "0abe020abb020aa8010a300a0a08b1b98991d1dbbef70512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220fecd224d2d82d204e17969083c2fde502ea98f599537118bb75743f2bde64a831a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dee2a3cea6b7251a20187084cf55c8b373ecdc07dc34cac51d3541b1d2301ef3072970bc31f9dcac012220dc9d22b415f03a97967f77d27f7b10106346b824317a0d9384ea8fbe6d884a042a20684ed169e3c9188ead85c9c3a3ebe8a9d22085180cbb87f3d7c8a610838c8b0a3220a97cdcf7202cebabd92ef620d8ca5934d3b409f58f9ef3cc0ff3cc0d749c9e060a9102128e020a300a0a089fa1a0a7f0c9faaf0712220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50b895abc36c8c6a45f5bbdd5feb2d45ac639ba5cc0e6eeda51db17673b0c828dbec8d93ebcf00ddf45d50dac9215b8e3e5b6b73eb0880625ad48958f78b0a80d126e3dd73f95254fcf0868db2c43547d21a2070a896dda3661001bd0e3e61082b1b20af4818b19ac76383b4a1d42eda8de62f22200e03c0b31dc206de45a4d96db6bb8f00758f36aaec5662cdf0e837bc02dee7032a2011a4179628ff3e8109e0d1f6fe902436aefe43af1c5a54d68f6494ca72a32a01322040d2ae208fd012547dbdef30236cbacc2b05001328d1a070983c7fc98cc158060abe020abb020aa8010a300a0a08b386fa97aaa7d4fe0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122096481bcf625719b27641c137adae07e687c730bd420a7fa1e955c6d784a290f91a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10cfbcbfddfaef3e1a20c2b482096a12ff183e57ffacbab2570c4bd69665c94e84795919029ef4ccfc00222040e008bfc08011ba025734fcae600a4c31e2ce912f56ac842365380895699c002a20d54cd984550535a69e660c2477494515b5f37c2ff03ae34243b8a0419bcdcb093220c99ae478eb20f641a001885901f7dc44ccec7972c40bd54ce1de02d5d5a6fa0a0abe020abb020aa8010a300a0a089783a992bae9ab9f0912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220ce07322bf1da108f5a4a401489ed6c11166e8583cc6aa6e05b800c8ddda7166d1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10b6829de489b13f1a20fc46e36e4170beb18c58bb2f6fd6e2448ded170ac8a858cc5fb3290345a28d032220c8ef28ec80a51758f54737e9cdf9ff3445d128b70289afd9abc89c97b96f6c032a20d465c4156c991ebf9287ffe28b4d6d5b29dcfef3c23be1b87429698bc07c4e093220e231791f6fbea3824fdb18f6dfd3213d057f449d844da4bb531025605243500412300880a2ac971f121a626e742d303033323032353831343538323834303739373736391a0c0a0a08ead9e9a095cbe1e603", + "hash": "4d694edcef54b17d1d9e8358655195f5da4379e8adcb39230e1a911aead4e0633ae7b51ed16932994d69a6ae22b1402ffafbc565a010a04806c4f339cc4d3012", + "index": 38, + "name": "Spend_Output_Spend_Spend_38" + }, + { + "blob": "0abe020abb020aa8010a300a0a08d9e9ee82ccc7bbc10a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012204fcef3f67387bec103c74313d076461aff337300ad6d896c89ef737f806236b81a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dce4a9e8b18b2a1a2035baf06d3180c85151c98fa32a1c56a9b926a59795f68112a39d0d12fdf546042220eb3d9aabf55396e8834f9545707e351d3f5c01413e406a8a52d4b3ea968d42032a20fe0cb4c8cb65f7e8bf254b29a50dcf1c1c24077c70ba55bcd002dc5a7e629b0c322007a3a763be61a9499150aab3eadffe671d99814f4c707e686417bc25d5cef10e0abe020abb020aa8010a300a0a08edbd8e8896dbbaeb0412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012207c6285735a2f249c3a4b7585399f92afed869c5d28edd588b618673af6f111ed1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dc9cc7a6eaf9071a200e2374dd377c9f4233488e7fd215aca29525a9483f0832d629dc327f1e9aa000222078fbb603c72b94d1f8855c25d60b65d2fe19d39376ca5d81e681233ea9ad97012a20ac6fcd5e572f9fd6c294a37f3dc8eed025d781948fb03ca830b83b7cd3cf240f3220fc9660dc0b665c57a40acf09eb3bde7ed1470f22a9260ba225874dfb413aba0c123308939af4ee0c121d752d3032373439363230393435323235393231373737373336383632361a0c0a0a08e6b5c9f7bdd1d99c05", + "hash": "178c2ae45d64e2b016e9c65d8fd409124ea743a0f328684277486acaf339d82868c03797a0bd7fe376b0d87e81eb13a1285f57beb56a6275b04ca5f6de636a72", + "index": 39, + "name": "Spend_Spend_39" + }, + { + "blob": "0abe020abb020aa8010a300a0a0891dbb68ce9d0a2b30412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220369891e5096e73f45b70ebf1fa8afb2dd210c68c13416ac4d30e86a582318ee51a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e68da9cddba2381a207d9361bdb0d0fd5260c7b45d10ca7f469577be1e0b10517078d537ca6f76da03222031659321d11fb1c11a32017eefda7c7078acf04b596a611cae4826ba9f4792012a20026e99ec993c3561dbcfcde634008cb55c5bc6a4d5493b7971d27e78f9927e063220358027470077939a2b4b9135935313a50511beb44d2e2338cb2bb54d139e27040abe020abb020aa8010a300a0a08eabbada6a6f5ebc50b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122098c83b1dd81e30ef44c5868be79e2bf95ecb45db3f3ee14d30a342f54c3fb0e01a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1086e4b6a1e6a23a1a205e050981b12872f1ef195ffd3636b070224136f587c93d181e9db0ccf005fe012220fb91a39b1dd6b842426de79e88dd43322e9de3c4773a02771b58d3937a0050032a2061e0ed8ad0cc46a5f9702f5102eae3c1e627c3746f15ed2a2243821a717336033220c9ca5831b7d209572beecc9b6065198ae85d10eb576ec23148cd630151f88c12124e08b8ecb7e81b1238786f6d6e6a6d63687a6b76636379636871777962716775776e76676e6367682d3536363735343537313233333636323133343333383031301a0c0a0a08cbfcd1969ebc9fe305", + "hash": "46724de2237140efe80a51ca4836063a239390eec5aa06af36d52cdf7ff96e8355e235b74aa1db9ee847c8f880becfaba163ba4d2a0ecd40c1519d3c26544044", + "index": 40, + "name": "Spend_Spend_40" + }, + { + "blob": "0abe020abb020aa8010a300a0a08fe9d84e980839eff0a12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205b8836b55b29e7df7afb739e14d73fa256fbf508b7ffbb93a8d19ee71ac29d481a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f19de8ffb6fa021a208e19893fe304fc7cb5473740842d2eb51d4361c046b877b40df3d71e221c7e012220435eb9e4d1a2506b18fba5bf42c57206dc124c7a80928363c39f0b026579d9022a207e5c02ac85e26d4b7eaefa7e7cbf57e1202c758fed71d67969fd050f47d839033220512597470ab866225ec0a4bb5ed81116c941da6864c8c6481772ec89cc5a370a0abe020abb020aa8010a300a0a08adcae49ec0bcf18d0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220c4a8aca1fe1388637bb6d7649b95581c79544825cac06eeed8c91c07ed55285b1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c7af9e90d68e0a1a2062f060ecbe5c3fecebe219fb19efd07f7efff405efc58c502914b28e141b150022201f15a84e12a63d404849ebe65aed76da9299b3109be9b7730e52287b05ece0012a208172e0a35bb6267dae7ee01e3ef6ac952d9427d2a8d573bee0f9c251afdacb063220e0f38433b8a1a308e533307d638845691442fbe19d9adfc5d499b33927926d0c0abe020abb020aa8010a300a0a08abbac4f2a0fdb0ce0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012202d72833ba869eeead73ce3d0a2b6aa56e2b1b67ecc237f545c873a2081d6842e1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10e5f2f1aee2bc171a2013eebc93aa4ae6715ac0cd2ca66be405bdefc6fb5b47fd4adf1ecddd1c76430122205dec3dd6bb3ce3d3e383a4c116ac702c090446f061651892d310751295ddf7022a204e0d788160e26ea9f6d345d85027cac2958d459f4f27743929885ca8618d58093220d6b7e4c2817c4d936dceef73ca68feb3fc7b1d4f2d01a0d8af115a6a26c17909123908d4d3cca11d122466766d63666a78796764706477666f626b6c74737a6561677965702d38333038333235331a0b0a0908cdb585a1f180b34e", + "hash": "a341f9fede45ad15c8dbb3cf61ca7a0da399fa9f0062f5d250a29e37831c168538bdd19d7391cf1c50239932e99a4c07640010fdf593d50e80b0068d3c8734fa", + "index": 41, + "name": "Spend_Spend_Spend_41" + }, + { + "blob": "0abe020abb020aa8010a300a0a08c2bea4e8e985c5810812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012207df0436e8e36062a9b20775c2a459bf74903ea7c7d78267e130d9cb551e2f2941a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f182d588fff42d1a209b1b91aaa7e25cac6d0d5b06ed2e75ee94192d5be4e0f1ad10532dd797dd53002220b5fb1aa7ed7b7efc05417c91f1c80ba0af42d54024f011ccc34c8159d11631002a20244491da5985c917f469a4384b3ceadefc3fd0076b02e0bf87a7fccfec9b480f3220e7c0549c6f239469674fb3a7c029718a48584595234746de7041fba68f1976010a9102128e020a300a0a08aed0c6fda0b3b6a80c12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50f4f2e53677eb05db99466ba3fbf549cbc406a6339c9e001eb38ba831ff1ff71743a6ad9c0deb27bd1ffec60891bb49cd35be33823014bd9f87f8641fb280ad76f3b1df6797e44bd0f3f2a6e8d537c8321a20753622eb8f9325f5a1bb797a465d5b6f7c52735899aa60602fc25845f0392d452220971a7a48eef94c473e01e632813d0e22ae9b2d31c87150ca24c02106f922a5032a20da51589f89ccb4e4ccee668e8e77093cdabd9bc3eb8a91f06c249a3bd241f90632202ff7f8778a19bc9be91b6e89fc2094c6a2505f8d08e98acb74b013ab55a89f01123e08d49980e0011228716268747576697669762d32323932353930343231393632383932343530313637343239343831371a0c0a0a08a190d886de88f59409", + "hash": "1df5040ee720586abdd57fd521b3f8b59e24cdc33308c73b1af35ec7938aa8c740a1959dfe9f889ad66661940eb75b33154badbd3f77c4c8dbe4d843f0a90c9f", + "index": 42, + "name": "Spend_Output_42" + }, + { + "blob": "0a9102128e020a300a0a089ca188cab1fbe99d0312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5000b247662b3289c528e7329bcc684e67faee7c44b6d1878f35e019d02d81c7ed2081cee54b0bf01f7c47c46e766ca4aca22713eeb2d3d539db73f5cdf2afea67c043af713bd27e58d13bd65b85db25c81a2015f0c355d24dea4cdfd82f0b89ede9e6e19b3acc5c7d96416651d7f818e7c3d522206dee6057207af4ee70d415d44c2b2bb90434d0631eed86aed199f846588a9f002a207bd44cb82af92cccb9fb85a47d5dec8c0ce5b82baa70696492c8bb2adef8c408322089eb1529f3c7f4ed84afc4b66b2fa169ab540add5d2249361286c567d76b9c0b0a9102128e020a300a0a0897fb97bff4d6c5d80412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a502e8837a070fe8cb95ed5e0e7ddb70903e2e6ee65c7e3e4789970e93079ba068f833e9a02dd6c7fa28ecbe64c000f98a3dc4bf5f28389b37e3dd700a73716c34f786174e78a9a0fbde6071acd2383a2e61a204fd57da19dff0141fce004174fe48f358e6996e8423cffa810fee1a7aa6f5b722220d112d4953597a8f3b2eec481ea1ac0c2b43f40da60930ec81aadecaeec6a41032a20c2e4c834ef57a4c1c984b8dde5d270af241431de6b09afdf413f6454f672c511322090e433225a67099b787df692fd4eedd3d51e4d55cc0f79490d69223e68a978090abe020abb020aa8010a300a0a0881f4fe9ea0edf4820812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122093b6216a5a89f2fda4883ec37284cafb90d74981675abba19615c6a44fdb5e801a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c087b0e3d9bd2a1a201375eb5fd46305128d8dfb6920c4404b92fc28780783c1341684aea18f3ce8022220cbf8515f4c4baa06ae65afd5115c0324bb35a4b6e9e022c7cd1a6fe3aa5a96042a2010d9317ee286e5b120721fdbc26b66914e7b4e4e54ad63a9af678a1bc32c3a0e3220d1e13228545d02c6bfc8e7a20917db103a1ace684cfabcd6f15b0a189d787f0e0a9102128e020a300a0a08b8d3a2f28e80ef9e0612220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a503fca9c69bc21c0bde480d5aa1aeeb8b1ef020464e7a60a2594f77299e6b008d121278bcdabf35fa5b1e9dc8cdc2d3f09a3cb6700cd19da1dae16b815516f00b55a2f14a5a290debd4a39f675a7e8e50a1a20493d2fab1fd0c57a61e054e8a93657a3fedbc2253427e9db62c4f2aaec96e7242220915bb0631ff3e6487712a1761cac4ed219829df6e9077582e7bbac0bf67309032a20c08ea3c19b604ea979557003be564ee10d2fd41da997c090fd8181b53e29b90032202a684696f46a930abd851e9fd7696453d4fc8b431c1d4e535b394b5498321200124708c3d481f31e12316c64697371686f716a757074686969627368627866747462656a2d393336303037353131333230323738383333343835321a0c0a0a08bdd9e5d5aea3bdb60a", + "hash": "aa231536eb34addb4e0e37247a45e92d3ef9761028bd3ea3d7665ea9766723d44e6dfba832671ae2ee6ec51475c2b79add9b9511e9d3434e86bbbb6905bc2e63", + "index": 43, + "name": "Output_Output_Spend_Output_43" + }, + { + "blob": "0abe020abb020aa8010a300a0a08fdb78cc2acf3c6c60912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012205f5b53f5f0280286983a6404e51193a6e87e11970cbc7aa9cb894c7633ddd8cb1a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10dff1908eb19c331a2095fe8d8d00bb5b84a165f29a7fe1ed1b295f41a1b9309f6aa77a305523ea9e00222074d8aa8169a95f870e88e355eaac50557e70f8c52b97b458f0546f2efcb309002a2065b16ad7719fc8e034fb0a0c8498003e79e402117d51a20fadfe20832b757a0632203bb6e8b2a34d8283ab0f5a9f648d6c4f2b8b0717d0f1b9a298072ebe3d92ad060abe020abb020aa8010a300a0a08eefbc9bba4c0b4e50212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220ca9dfca0c14018b6556e9f87dc667ed59cf481f105126521e4a557ef8decb2e11a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c4c0f2d4e8ae3b1a2059970ba2be5864906f8e9effd76fe5a1ba3dc9c67b647186a76e4c38c85396032220e9273708be2de1ff8d79d82aa5996e2673a8e4fe87d2b51ec50f29d60ddf7b042a20482050f1a7dcc172d5792e239339d23463541a345f5610a36fb97ddd373e7d0032207151518be63f229570b6ff9e90975c1ddc5b4e8e862afe08a69e36fc0eb3ce040abe020abb020aa8010a300a0a08d09c9994dafe88b40812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220abe2993ca4a85d555d31f03706e6ae031cedeeef753dac0ce925f2ab83ccbf731a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1099cf9591c38a011a20fd2199d0b15fc192b922d97e30073233947c610e40b96ce7aeba3fe36b06ae002220adb54546792eb4522ba36398a585900446f86f92693bc3313a11b7be208dbb002a20946e9a316ca6aae94ff54f943ff65f048ffe06c6d755fd44da56bcdeb388070b32204b76c29783acc11d23cfaa5ae37c6c5a5dd201d0e85d396f3132b435fb2d1b07122208b09dc9f01f120c736d6178726d2d30303237351a0c0a0a0890eecbddffaa8da10c", + "hash": "68788c6efab2f5d6e692479eedb9eb7d7cb42ec2f7a038bfe28330912c46b9e6343f852887650421ab3bb12db2890b0cb227325bacc118c30cd799df574cd11a", + "index": 44, + "name": "Spend_Spend_Spend_44" + }, + { + "blob": "0abe020abb020aa8010a300a0a08a1a2f9d5d3cfa6e80412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122024e8b79474f4c14499ee211a386c0dceb4dab6b2235dec2012332254aa04f0591a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10c1bd9cffa5cc221a20b8fa5cd3c55db421ca5888df834af615806b2248ba10013c4c5704372037d000222050414a4fb7d8ea9e6a449234f09a7de4857ad6bb1e56fbc0cdf03b4e50fb74012a20e7db4497b69ff5763e46618def3dda78b332b77d0a1b39efaf0a0b1f0802960b322032938478d2ed80484b4370ec038627d7b4c8be11b78a102b40835af1a1bda90d0abe020abb020aa8010a300a0a08ebfbfc8cdadffef70212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a10122006ff3e41a4664733145b3acb8daa1db80f2bd410c103d58f1915a2318f6604331a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f10f2f78cf2e4a4291a20b3a9570ef59e392b934ac410f4b7f4b99b694a2691b1dd41f7c54ebde6f50c012220097adcb31e0c4d1731b115aac33501a2267d041679b8af35e3e050021ca592002a200310ce17b40c7dd965d60b97998426a9696528a181ed3bdde1907f7c94a0421232201fed6eef8bf76d08637475bee1487c920009e7aace9b97db5abd09c2dafb42051232088ebbafb523121c7477696a756a6b69706a66767363717277732d3032393634323930331a0c0a0a08ffb3fba5f28bcc970b", + "hash": "b7d441384c0c460847b749f66a2f2048902b999ea9cbaa4f6e82ec867a45fa463d512ab5a725196d1d4ccbc956b5db6db1530362bccd2c7b27c0da373532ff99", + "index": 45, + "name": "Spend_Spend_45" + }, + { + "blob": "0a9102128e020a300a0a08ed99c1fdb8d3fe9e0112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50e8616455c4999378d993e4fbc6e7c9bd4ed8c70c395664a04c5a718da8527b862098797f24baed52adc56dda4f6868686829e9f65d614e311bc7d411535314f35a4fb7d288fd14042cc565a9b43d3d861a209be0b6f1dcbdb2769412e69a1914475d7d8fe11276c384be57328a1d055e6a692220a2b21b8a45564a2b1518ad2a9fa0463b7019fc84551777474702695a17142c002a2093a27d562de7e5f901db618e199334126ab74aad22b63ade711969266fd3130d322018fbf65d555578706ffbcb55f43761012f313dccb3214e1966a47b5ac0833f010a9002128d020a2f0a0908eca299cdf0f0d16812220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a500e469e30d1b221d019ad8ca44e468cddc9a5d6e8a466c01d89794b00e8fa5bf927564c21bed3a3a65543fcd42b693365e4a06bc7684a3294b89f1fbbdf8ca8506433cd1568bb3397848db5dbb703e50d1a20692868f2336680cb64807a41dfb5a1f9864376e1ddd1ef41d132d045fa90741d2220f98c90aee3d0938c2a7aef2ebcff46657fdc7da9181d51169267ae2dc90267042a205bc7ab01746df40a428569c4ab0fdec125c49e9682b8ed134fa45a510119b6103220c598ca7162cfa491e1ac1606ce1eed015ec2355a04432b87b94ef48aee1c3c0f0a9102128e020a300a0a08d2b7de81b2a2bae20112220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50911de2daa1f2f975e1fe6d96a539987b5116dae1b6fb22e591277c45cdf68e08d57af160aa15f8a6b5cd2522274a3d87b8702f766a4b9206affa88b20e17c7c0dbbaf8c7a1d7fa88f4c7f2f2cbfc9b6a1a20a16e9c3dc11d16b144479211315e8dc76a2f80ee8abd6519cac668295acd146922203351b290a83b1f68598e35ed79826deb90a0a930414a0919d4a036258787c3032a20d1c5ad4ed1de76d20f5f7b1c41021187cf7ac52806cb9e90b328f547fa89370a3220d0471d5b31afc4ccfdc2c8f3621e912adfda2448fc71d5654bd77c0046152606123a08a1a2defa1a12247863786471692d34393935353132343834393736363637313935383235323835353830331a0c0a0a08839de8a4bfd2efac09", + "hash": "363c6f96fd9f55d2281b5738a5f640c604cdadbc81693f9213cdb2e1cd807582c19d99ac619ba58503366b37dc688e11604f2080aec1adff21b831e6a54059ed", + "index": 46, + "name": "Output_Output_Output_46" + }, + { + "blob": "0a9102128e020a300a0a08bace88fed5f7d2840d12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50b989018c80ba8b9c0afcce039252f893d154ad6b2cadeb4bb4d6680f45c8bb1ae45d446e4348d281bd4424002037d8368ffa30b22c0a8449f3acfab63693d9e8d16c7df515fb7699d522b6487da9d8f81a20e1e45fe24ab35c6b828cb75de6c5e69107944a273848a841d6fe4fb2341e801422201696c2f4602dde46cad128bcd7bbacd0da62a01904d61bad898d106f044c7a012a20708ee8fc1355c04a71b2d58bb6c135e41f93320cc19111aa7a99c984b198810b322083d40429b1f010ae3fd61d09298693d0159f0ba274a75f208d6ec89e74221a0c0a9102128e020a300a0a08d7cee6e99cb7889e0512220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50d128390c8249bf5c43cb195472a21c53cca2035d8499dc1e9c56227c62579ce64ce165d9674ed873a5df927a67cc33a7a72a19a293c675b7c5ccfb8fe98c4f7598d56edcdec1eb154f51237addbe715f1a2075c5386819adbf41412249c7655a317fa17c886f888b90171b1ab6eaa275a87f22204a6110f3c9b3b5bc0ec8a47ed210debdc8ef2dc4bfa4f46de36df75afd413c002a202addd4bf9ee41c9165213dc16cd7b0c4925b6392f5601f91a0cbc291181c7b053220bd7f475d0d94e8b989301ebf8f20cb6cf27aaba762aed87c07385f41c467f704124908cad7ec8c1712336c776b72716c616b7269796672637970696c70616471792d3736333134363533303133363230333934373132303333323738301a0c0a0a08bf9de79bbee0e3cc05", + "hash": "abf37d3c20261d04bd331b23fa3b9180f12ba36825d07b4ac4375cb29989eb0cc23386bfafadae56b26b32e2c08f9c7ebdb83143dd8dc741cd27ef3b91e66ec7", + "index": 47, + "name": "Output_Output_47" + }, + { + "blob": "0a9102128e020a300a0a089de1acf6cabc97840312220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5043cf43a5252305bdf64e12d255e0f15fbf1abe1cb98f38cfab85233ca9d0305186c8649b4a456de817aff55eabbf33e4521db0b9ddf90346e04fd3564eefed37beaa644b675733e2ede407d9f61b37121a201c2ee8c9e9a6f5845b60a12dc68f8dd020d378df5af4c5eb27b3286e121cbbb1222028c52dd05e6a0d4edd556fc762404180eb538340a6177d376390e51b3d3287002a20ead3ed8897f74084ee71f07743b8de2d43a2a298eb5190bffc41128a85e0a80032203fa6ccd2cd0ba6d66666805b1c75194e2fbbf75a34383ca7d5d6a806f69016070a9102128e020a300a0a0898ad8feba7be86910912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a50975599b6550a751b2d062537090c70bedc6d8ead99ecb689f2a488e22d4f2822661bc7ecc5eb4eadfab85a54773afb6fd0c36a441eb2c28b69590d17ff157b2c6546ba395029692a3d1da93acb166a831a202275916490b6b2a91a8733722898fffac5f322e06f72a73e78481d20f884f2b1222000306bb00fc312dae7e23561298dbffb31bb43957bc42e164155b72c83f10c032a205671f536f2537e74245173465ee92207497eaffd713f678869a60a7b169cb51032209b28b1834a8344778749484b664aca3e6f5bef0b2d89713183e3a0a8e9805d0f0a9102128e020a300a0a08989a92ad81cbef8f0912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5035d518eeef9eedcb7dbd3fa3fa68869c69c670c7a28cd98d321150ed62bdf49514c1f9c568da83af1f1675f793500b7b6b617f799fb45e6fa4819498dc9a383208fc9eda45f22fe5b60429500956ea0c1a202a3fa205661b246094a8c8db06ec335d171b3af4bffb6091b79f57cb2b220eba2220a804778cdc87efb09dd2132e2abbd082a4b137be4bdf7137b155f36e13f796002a20d99fd636be30e81c0c12d1fc4bb36447ce5eb964564acc86b46cbb277a63660e3220cf9de1d666a46e5372cd5380a91958ff846779994d9b3ff2770ca94a698e690c0a9102128e020a300a0a08d2bafecce3e6cbc50412220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a506f478298eaaae7b1b08468a3d176a5c40d172f97ee383b2d51ca8a8555d9a40b3e73b0ee9ce1c50957dc3faa44cdae3c976105439b59296898d3ac966dcb16369b3848274231eb8677c632a3e412902a1a20dc9a3436775eeb1da1c1683c7b7d4e4d1a395106bb7bcaf3b317b682782847bf22203cfae4451bc69be3fdc6b5d6f3b3b4bf9a552f90e5de3afd25d8457f80369a022a20ab23ef2d83d3bc9611114d7197d6e3a64237a3214fa513a7ed212d79e913df0c32208c88e73d0fda3b13b5cba7b07c7ba3fdb753baba4a524b1685a0b6b9638f930d123408aaedbac317121e796d727373707a6f72732d333833363830333433363539333136323332331a0c0a0a089bb7e1898eb4e6b203", + "hash": "ae2df239b1ff6dba1d23db86201769e05f56637d3bb4cb04982d8a422e6fef0528da3289a6fc17a8d10aab9ee372647e220aa668ad95b92c3290327a02576766", + "index": 48, + "name": "Output_Output_Output_Output_48" + }, + { + "blob": "0a9102128e020a300a0a088aaa80d8889ae48c0912220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a505e6e3b75ed2ef79eebbd9e88603ee88ff97fe77d6d86b6bcf73b7816d1482a1767b6e0ec8593e10822e522f511e466e561c5cf4cf0605a7fc99ce8a6ae17675190ab1d41fc43982e7b075f1fc262cc581a20337bde596a27c5330db41c48ef5be30c03dbbd50ea82157a50bf87f2d959c9a5222077a6f9f1a020ccaa138c26777bf4ba04c42274d9ac16464f04bf94644fb434032a2045a059b199d8af7cc056e5b1cd48b195887acf4458fb139effca3ecbbd5f170f3220d9c03e86d9005e0ffd9a917d1e61c64fbf82ba943bdd3acb5afbac43e81df1020abe020abb020aa8010a300a0a0881fde795fbe39bda0212220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a101220a2416c69f33846723f8e812bdb2b83391f505f4e712640cfb4b8ed3463555ed31a520a50890bc98e3698aa4578e419b028da5672e627c280d8b06166f4c42d5366bccf1fcf3b296cd61e8d744a21f75f2fb697183e18595d8a79008539d8fb138b405db09db65cc42d54c0e772e5d42d5f20b52f1092b1dbcad097301a20360cc719ab4dac576a9164a7b755f9005a84c5768c5dca6c5d4604b85bd8d6032220a487898a03e1151db43858e8561cf111154a3a1fec506adbe084443ad52a6a042a20a3e2854e1057affff5896eefe8240286d8662f055f05370ec14c59681d32f51032202dcd381d27f49118b1c07f242133e6ebac0ce13346232fb2327db8c2b418ee0c0a9102128e020a300a0a08aafb95d1abefa5cf0b12220a2029ea9c2f3371f6a487e7e95c247041f4a356f983eb064e5d2b3bcf322ca96a1012520a5031f20e3155ee4cc862ac88bbd21f13a3b881691cf2e3e801eabe4a277eb92fcad1d1656b7df59aa85b0e690e2b26de1076b9428e37ee1f86c809a28dfbe7b4a1e04e95eb41c4e145efacb31c8e854e201a20a7ade3dcad8006f77d680952cc0a207ba2227e3b390cb9cb225961e18582933c2220fbe423d430b89bd84defd7a04837019516fc1933ec8633b5261258cb4a313f042a2073a55b6c1b51fcfb947f9427aaa92883823f334b0d12e235ab288a90a34a190a3220ae5b21c27db934012c71c074f145b3c8206973fe975354fd2e38ba56a9d9cf00124308dcbf917b122e666e77767872797a6a627472627376682d34313036353332363539333732393134333633353239393830313736321a0c0a0a08c7d4b2d0f3edb1c503", + "hash": "d24a4625ec6f2a48a0e390e727ca1c65c316079e48774cf8edf36e55510ef16603429820d6009cb8ab646de89b53eda4032d28c4edd99ca67e51995ac65a047a", + "index": 49, + "name": "Output_Spend_Output_49" + } +] \ No newline at end of file