From e3959621fda97e8140d41995e96be2a07f4669e9 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Wed, 12 Jan 2022 18:10:18 -0700 Subject: [PATCH] Add zip244 test vectors. --- test-vectors/json/zip_0244.json | 2 +- test-vectors/rust/zip_0244.rs | 22 +++++++++++----------- test-vectors/zcash/zip_0244.json | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test-vectors/json/zip_0244.json b/test-vectors/json/zip_0244.json index 0fb1375..799fd5f 100644 --- a/test-vectors/json/zip_0244.json +++ b/test-vectors/json/zip_0244.json @@ -1,6 +1,6 @@ [ ["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/zip_0244.py"], - ["tx, txid, auth_digest, amounts, script_codes, transparent_input, sighash_shielded, sighash_all, sighash_none, sighash_single, sighash_all_anyone, sighash_none_anyone, sighash_single_anyone"], + ["tx, txid, auth_digest, amounts, script_pubkeys, transparent_input, sighash_shielded, sighash_all, sighash_none, sighash_single, sighash_all_anyone, sighash_none_anyone, sighash_single_anyone"], ["050000800a27a726219651377a8f739a2d6f2c0201e152a8049e294c4d6e66b164939daffa2ef6ee6921481cdd86b3cc4318d9614fc820905d0453516aaca3f2498800019f33bf3a109bdd1b232b47b1646d91e1296634ebde5ccad57288b5b2228186e54b6968912a6381ce3dc166d56a1d62f5a8d7551db5fd9313e8c7203d996af7d41a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a5301466b3da612149df5eda0f14f2efc5c6ac03884428a315dc91f8d7b492ebc57e475a4a6f26572504b192232ecb9f0c02411e52596bc5e90457e745939ffedbd121e37ec1e9dddc31b06dc9576a1738ef73e6ba71648913dbf75a779fdd488d83f857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d4642789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13936a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2afa733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388e76c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a192440ea06828123d97884806f15fa08da52754a1095e3ff1abd5ce4fddfccfc3a6128aef784a64610a89d1a7099216d0814d3a2d452431c32d411ac1cce82ad0229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423c3737f5b2a0615f5722db041a3ef66fa483afd3c2e19e59444a64add6df1d963f5dd5b5010d3d025f0287c4cf19c75f33d51ddddba5d657b43ee8da645443814cc7329f3e9b4e54c236c29af3923101756d9fa4bd0f7d2ddaacb6b0f86a2658e0a07a05ac5b950051cd24c47a88d13d659ba2a46ca1830816d09cd7646f76f716abec5de07fe9b523410806ea6f288f8736c23357c85f45791e1708029d9824d90704607f387a03e49bf9836574431345a7877efaa8a08e73081ef8d62cb780ab6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1a51ed44cfab70000c7b3534201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe01f7e9c8e367edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d1070689f2ccf975b2b176e1c69dbe381340ef1f98fdc4b453abda3a2bfac3069ba7f1cc50a81c2520e412fab4e5d397ecf739f280d5b684533d5d29cfe7e7302ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd664052528a5f8ed028f59af985ad1315c2e25aeb9d7f134e4bf478642ab96b15d3b3e13ce2387ac84dc0819e81260e11d392a5f06db8b5633de281a0e9c958c24060297f608af1dc51616562b1ffff6e2a28bab1f7772713a0a4b56fe47fb5a7b73aeee5345566ecf3e95e825f92eb469eb5d69164206a0ea1ce73bfb2a942e73703214d270d80534389b1a1e2bba67481eb3667d6d38254ac4b44559b4708cdd12898972a895bf0fb055cf1fb9b73029d6bfb27da2b5294f5cb354a894322848cc3d35b9554a5f62b44a7dcb25406e5ba07882cb6473714e77a051a7dcd29fea0a943785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10eea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a7cf39cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed20b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d325b440f6b9f59aff66879bb6688fdb462af43582b983f92b5698b87db46e4b02dd8e81eca555a44f2f1aef11d88a0bcee76af9ad3f9c46a67062e1a9ca7ea5c014384af07219c7c0ee7fc7bfc7933d174650f46b4cc000190c19b44c57ae891aa86646c10a177a8626be064409931c37d9e8bdc433b7d79e08a12f738a8f0dbddfef2f2657ef3e47d1b0fd11e6a13654db2854fcbff49aa0dadafec320b6ed2d4b279aee9060c1b221e2eb2f13b0691c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d1094903570519d4442f0200e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b871e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089d029e7fbbaf3cf37e9b9a6b776791e4c5e6fda57e8d5f14c8c35a2d270846b9dbe005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f47f80b53ccbb904bd68fd65fbd3fbdea1035e98c21a7dba5fe1089f7d1c032f24d36835aa8815266e897ff829403cfac3a715954b9b68958a0111a2c9265633ba2831a2e86b941e569d58d99c1383597fad81193c4c13151f40aedb487b5c04ae3b1ddfbafa26e720099f26d5a7535aee57306fd2c4f30673cd9b698fecf32faf88f62e21c90665859dd26833d21d9bc5452bd19515d3fa5c1e68bc209b9dc2a10ae6b630726a67b33603c691fafc281dd94dc9888a68c4f45155aa7897c045aafd9335be2e0ddcf5f586d7f6b4fe12dad9a17f5db7031", "3c7ce92a1059c0f63f140f1cb9ac5e38900a684595638fcef773185dcf2f7f91", "1b6046b682f69db16665632d21dc7f8346b282ec04b840f2451d09c0863cda6b", [1800841178198868], ["650051"], 0, "abbd63f1ea2c3a0e96c9de9963a516bfd4e37c884d438a3b01804db5cadf82fd", "af895b8ed37b1130ef937d392dcec4d2e2825e098d4269db62ba3712d94a3a16", "ac5474f4908f699a6f0ba3204e5e41e66514ee114697da06d54b6b96a011851d", null, "28d1fcf5d0e932d8fcb9d73d39ae0ff25c99f183c5796eec9f591ea916745b49", "aed4e21aac2e51229276a92c1f241f83539d0c75b8df411c239770dfe0568bd9", null], ["050000800a27a726219651371fc998c31f4dd20800015058e5754c2104000753ac515300515202f89d3226fb53292bfb5dbbf7ff013af3341ea7a35f553f6d7a0221ae195ea84eb97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e0685406994d28264e4d74d5a25fa3fa38fed813c505dd90289f301c75e53a716c5b54a45eb32c165448d4d5d61ca2859585369f53f1a137e9e82b67b8fdaf01bda54a317311896ae10280a032440c420a421e944d1e952b70d5826cd3b08b7db901e5849f96bae6f2056f33ab1e6989d7d264adc97855a990103b4d1e6350d5c31a39c3caf69459e462f141be8b39037ffa255ce27e4ad7b566a29620a9f011ab08fb2ad3050652b3f65b8e34526a2a15fc2ddc5b5113e4882c7cca0dd5577be067ba7a175dae4bbe3ef4863d53708915090f47a068e227433f9e49d3aa09e356d8d66d0c0121e91a3c4aa3f27fa1b63396e2b41db908fdab8b18cc7304e94e970568f9421c0dbbbaf84598d972b0534f48a5e52670436aaa776ed2482ad703430201e53443c36dcfd34a0cb6637876105e79bf3bd58ec148cb64970e3223a91f71dfcfd5a04b667fbaf3d4b3b908b9828820dfecdd753750b5f9d2216e56c615272f854464c0ca4b1e85aedd038292c4e1a57744ebba010b9ebfbb011bd6f0b78805025d27f3c17746bae116c15d9f471f0f6288a150647b2afe9df7cccf01f5cde5f04680bbfed87f6cf429fb27ad6babe791766611cf5bc20e48bef119259b9b8a0e39c3df28cb9582ea338601cdc481b32fb82adeebb3dade25d1a3df20c37e712506b5d996c49a9f0f30ddcb91fe9004e1e83294a6c9203d94e8dc2cbb449de4155032604e47997016b304fd437d8235045e255a19b743a0a9f2e336b44cae307bb3987bd3e4e777fbb34c0ab8cc3d67466c0a88dd4ccad18a07a8d1068df5b629e5718d0f6df5c957cf71bb00a5178f175caca944e635c5159f738e2402a2d21aa081e10e456afb00b9f62416c8b9c0f7228f510729e0be3f305313d77f7379dc2af24869c6c74ee4471498861d192f0ff0f508285dab6b6a36ccf7d12256cc76b95503720ac672d08268d2cf7773b6ba2a5f664847bf707f2fc10c98f2f006ec22ccb5a8c8b7c40c7c2d49a6639b9f2ce33c25c04bc461e744dfa536b00d94baddf4f4d14044c695a33881477df124f0fcf206a9fb2e65e304cdbf0c4d2390170c130ab849c2f22b5cdd3921640c8cf1976ae1010b0dfd9cb2543e45f99749cc4d61f2e8aabfe98bd905fa39951b33ea769c45ab9531c57209862ad12fd76ba4807e65417b6cd12fa8ec916f013ebb8706a9a556c762f8850000bdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e4999d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952bbf33d8a4104078ade3eaaa49699a69fdf1c5ac7732146ee5e1d6b6ca9b9180f964cc9d0878ae1373524d7d510e58227df6de9d30d271867640177b0f1856e28d5c8afb0630fe4fd5f22125de840fcc40b98038af11d55be25432597b4b65b9ec1c7a8bbfd052cbf7e1c1785314934b262d5853754f1f17771cfb7503072655753fa3f54ecc587e9f83b581916092df26e63e18994cb0db91a0bbdc7b6119b32222adf5e61d8d8ae89dae4954b54813bb33f08d562ba513fee1b09c0fcd516055419474dd7fda038a89c84ea7b9468287f0eb0c10c4b132520194d3d8d5351fc10d09c15c8cc101aa1663bbf17b84111f38bb439f07353bdea3596d15e713e1e2e7d3f1c93cfcb46238b6e0398b46d76aff2d8f05745c465a94fca4365a93741b2e7516a1d2a00de7d1f80a5d3f791d35058a96380dced302c60c0062f67a331cf71e004ef78407a7c51161c7b8d46aba76714bac170d185e27ce3ebff2446164e0db23c02ea332b6afe11084ac25d73e63e51e75f6da74707bec9b1c2224f11dc18ed0a6effeda06c4be24b04846392e9d1e6930eae01fa21fbd700583fb598b92c8f4eb8a61aa6235db60f2841cf3a1c6ab54c67066844711d091eb931a1bd6281aedf2a0e8fab18817202a9be06402ed9cc720c16bfe881e4df4255e87afb7fc62f38116bbe03cd8a3cb11a27d568414782f47b1a44c97c680467694bc9709d32916c97e8006cbb07ba0e4180a3738038c374c4cce8f32959afb25f303f5815c4533124acf9d18940e77522ac5dc4b9570aae8f47b7f57fd8767bea1a24ae7bed65b409e1dd26b8dddd68858d6f5161f073d90636860a9aaee18629b06330a8ee30591debfcef56a026bb28c3b06ec2cfaf5b79ab72694d1d012a7594dd80ae7dfa0c00", "2f95e5a95d209e0a27d1fe669a46f4a644a327d79b846e979264186ade049ba0", "364ea0bf6bd4b4a626dccf0f96ca1b0c3b4c468160247bce13f4689884104eb1", [], [], null, "f289618d7f6153293c4e24c276a0a15d562d4e6c91de3e93104d31654e5d71c5", null, null, null, null, null, null], ["050000800a27a72621965137c2eb518f68984d020000000000", "a22f92f043793d109db74354c7d4e32843e21195e7cae4c0030cf8b42cb640f5", "d4fb0a17d14aee9b7f6705ff78a143ba07ae4c59b23c8477d0fd72f57097b738", [], [], null, "a22f92f043793d109db74354c7d4e32843e21195e7cae4c0030cf8b42cb640f5", null, null, null, null, null, null], diff --git a/test-vectors/rust/zip_0244.rs b/test-vectors/rust/zip_0244.rs index a7dc6c5..5d9fefd 100644 --- a/test-vectors/rust/zip_0244.rs +++ b/test-vectors/rust/zip_0244.rs @@ -3,7 +3,7 @@ txid: [u8; 32], auth_digest: [u8; 32], amounts: [i64; 2], - script_codes: [Vec; 2], + script_pubkeys: [Vec; 2], transparent_input: Option, sighash_shielded: [u8; 32], sighash_all: Option<[u8; 32]>, @@ -29,7 +29,7 @@ amounts: [ 1800841178198868, ], - script_codes: [ + script_pubkeys: [ vec![ 0x65, 0x00, 0x51 ], @@ -65,7 +65,7 @@ ], amounts: [ ], - script_codes: [ + script_pubkeys: [ ], transparent_input: None, sighash_shielded: [ @@ -90,7 +90,7 @@ ], amounts: [ ], - script_codes: [ + script_pubkeys: [ ], transparent_input: None, sighash_shielded: [ @@ -115,7 +115,7 @@ ], amounts: [ ], - script_codes: [ + script_pubkeys: [ ], transparent_input: None, sighash_shielded: [ @@ -143,7 +143,7 @@ 447389782351145, 620151782842275, ], - script_codes: [ + script_pubkeys: [ vec![ 0xac, 0x00, 0x00 ], @@ -191,7 +191,7 @@ 1561051182746413, 1535468271734483, ], - script_codes: [ + script_pubkeys: [ vec![ 0x65, 0x6a, 0x51, 0x6a, 0xac, 0x51, 0x6a, 0x65, 0x52 ], @@ -234,7 +234,7 @@ ], amounts: [ ], - script_codes: [ + script_pubkeys: [ ], transparent_input: None, sighash_shielded: [ @@ -262,7 +262,7 @@ 1685382316228727, 1715663111103469, ], - script_codes: [ + script_pubkeys: [ vec![ 0x65, 0x6a ], @@ -307,7 +307,7 @@ 316847576141144, 1780844721475339, ], - script_codes: [ + script_pubkeys: [ vec![ 0x00, 0x65, 0x51, 0xac, 0x65, 0x63, 0x00, 0x53 ], @@ -351,7 +351,7 @@ 1399781968202734, 1999413718097392, ], - script_codes: [ + script_pubkeys: [ vec![ 0x00, 0x53, 0x00 ], diff --git a/test-vectors/zcash/zip_0244.json b/test-vectors/zcash/zip_0244.json index 58fc350..58d81f6 100644 --- a/test-vectors/zcash/zip_0244.json +++ b/test-vectors/zcash/zip_0244.json @@ -1,6 +1,6 @@ [ ["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/zip_0244.py"], - ["tx, txid, auth_digest, amounts, script_codes, transparent_input, sighash_shielded, sighash_all, sighash_none, sighash_single, sighash_all_anyone, sighash_none_anyone, sighash_single_anyone"], + ["tx, txid, auth_digest, amounts, script_pubkeys, transparent_input, sighash_shielded, sighash_all, sighash_none, sighash_single, sighash_all_anyone, sighash_none_anyone, sighash_single_anyone"], ["050000800a27a726219651377a8f739a2d6f2c0201e152a8049e294c4d6e66b164939daffa2ef6ee6921481cdd86b3cc4318d9614fc820905d0453516aaca3f2498800019f33bf3a109bdd1b232b47b1646d91e1296634ebde5ccad57288b5b2228186e54b6968912a6381ce3dc166d56a1d62f5a8d7551db5fd9313e8c7203d996af7d41a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a5301466b3da612149df5eda0f14f2efc5c6ac03884428a315dc91f8d7b492ebc57e475a4a6f26572504b192232ecb9f0c02411e52596bc5e90457e745939ffedbd121e37ec1e9dddc31b06dc9576a1738ef73e6ba71648913dbf75a779fdd488d83f857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984d567db2857b927b7fae2db587105415d4642789d38f50b8dbcc129cab3d17d19f3355bcf73cecb8cb8a5da01307152f13936a270572670dc82d39026c6cb4cd4b0f7f5aa2a4f5a5341ec5dd715406f2fdd2afa733f5f641c8c21862a1bafce2609d9eecfa158cfb5cd79f88008e315dc7d8388e76c1782fd2795d18a763624c25fa959cc97489ce75745824b77868c53239cfbdf73caec65604037314faaceb56218c6bd30f8374ac13386793f21a9fb80ad03bc0cda4a44946c00e1b1a1df0e5b87b5bece477a709649e950060591394812951e1fe3895b8cc3d14d2cf6556df6ed4b4ddd3d9a69f53357d7767f4f5ccbdbc596631277f8fecd08cb056b95e3025b9792fff7f244fc716269b926d62e9596fa825c6bf21aff9e68625a192440ea06828123d97884806f15fa08da52754a1095e3ff1abd5ce4fddfccfc3a6128aef784a64610a89d1a7099216d0814d3a2d452431c32d411ac1cce82ad0229407bbc48985675e3f874a4533f1d63a84dfa3e0f460fe2f57e34fbc75423c3737f5b2a0615f5722db041a3ef66fa483afd3c2e19e59444a64add6df1d963f5dd5b5010d3d025f0287c4cf19c75f33d51ddddba5d657b43ee8da645443814cc7329f3e9b4e54c236c29af3923101756d9fa4bd0f7d2ddaacb6b0f86a2658e0a07a05ac5b950051cd24c47a88d13d659ba2a46ca1830816d09cd7646f76f716abec5de07fe9b523410806ea6f288f8736c23357c85f45791e1708029d9824d90704607f387a03e49bf9836574431345a7877efaa8a08e73081ef8d62cb780ab6883a50a0d470190dfba10a857f82842d3825b3d6da0573d316eb160dc0b716c48fbd467f75b780149ae8808f4e68f50c0536acddf6f1aeab016b6bc1a51ed44cfab70000c7b3534201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe01f7e9c8e367edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d1070689f2ccf975b2b176e1c69dbe381340ef1f98fdc4b453abda3a2bfac3069ba7f1cc50a81c2520e412fab4e5d397ecf739f280d5b684533d5d29cfe7e7302ec144b4e553acfd670f77e755fc88e0677e31ba459b44e307768958fe3789d41c2b1ff434cb30e15914f01bc6bc2307b488d2556d7b7380ea4ffd712f6b02fe806b94569cd4059f396bf29b99d0a40e5e1711ca944f72d436a102fca4b97693da0b086fe9d2e7162470d02e0f05d4bec9512bfb3f38327296efaa74328b118c27402c70c3a90b49ad4bbc68e37c0aa7d9b3fe17799d73b841e751713a02943905aae0803fd69442eb7681ec2a05600054e92eed555028f21b6a155268a2dd664052528a5f8ed028f59af985ad1315c2e25aeb9d7f134e4bf478642ab96b15d3b3e13ce2387ac84dc0819e81260e11d392a5f06db8b5633de281a0e9c958c24060297f608af1dc51616562b1ffff6e2a28bab1f7772713a0a4b56fe47fb5a7b73aeee5345566ecf3e95e825f92eb469eb5d69164206a0ea1ce73bfb2a942e73703214d270d80534389b1a1e2bba67481eb3667d6d38254ac4b44559b4708cdd12898972a895bf0fb055cf1fb9b73029d6bfb27da2b5294f5cb354a894322848cc3d35b9554a5f62b44a7dcb25406e5ba07882cb6473714e77a051a7dcd29fea0a943785b325cdab95404fc7aed70525cddb41872cfcc214b13232edc78609753dbff930eb0dc156612b9cb434bc4b693392deb87c530435312edcedc6a961133338d786c4a3e103f60110a16b1337129704bf4754ff6ba9fbe65951e610620f71cda8fc877625f2c5bb04cbe1228b1e886f4050afd8fe94e97d2e9e85c6bb748c0042d3249abb1342bb0eebf62058bf3de080d94611a3750915b5dc6c0b3899d41222bace760ee9c8818ded599e34c56d7372af1eb86852f2a732104bdb750739de6c2c6e0f9eb7cb17f1942bfc9f4fd6ebb6b4cdd4da2bca26fac4578e9f543405acc7d86ff59158bd0cba3aef6f4a8472d144d99f8b8d1dedaa9077d4f01d4bb27bbe31d88fbefac3dcd4797563a26b1d61fcd9a464ab21ed550fe6fa09695ba0b2f10eea6468cc6e20a66f826e3d14c5006f0563887f5e1289be1b2004caca8d3f34d6e84bf59c1e04619a7c23a996941d889e4622a9b9b1d59d5e319094318cd405ba27b7e2c084762d31453ec4549a4d97729d033460fcf89d6494f2ffd789e98082ea5ce9534b3acd60fe49e37e4f666931677319ed89f85588741b3128901a93bd78e4be0225a9e2692c77c969ed0176bdf9555948cbd5a332d045de6ba6bf4490adfe7444cd467a09075417fcc0062e49f008c51ad4227439c1b4476ccd8e97862dab7be1e8d399c05ef27c6e22ee273e15786e394c8f1be31682a30147963ac8da8d41d804258426a3f70289b8ad19d8de13be4eebe3bd4c8a6f55d6e0c373d456851879f5fbc282db9e134806bff71e11bc33ab75dd6ca067fb73a043b646a7cf39cab4928386786d2f24141ee120fdc34d6764eafc66880ee0204f53cc1167ed20b43a52dea3ca7cff8ef35cd8e6d7c111a68ef44bcd0c1513ad47ca61c659cc5d325b440f6b9f59aff66879bb6688fdb462af43582b983f92b5698b87db46e4b02dd8e81eca555a44f2f1aef11d88a0bcee76af9ad3f9c46a67062e1a9ca7ea5c014384af07219c7c0ee7fc7bfc7933d174650f46b4cc000190c19b44c57ae891aa86646c10a177a8626be064409931c37d9e8bdc433b7d79e08a12f738a8f0dbddfef2f2657ef3e47d1b0fd11e6a13654db2854fcbff49aa0dadafec320b6ed2d4b279aee9060c1b221e2eb2f13b0691c4d842406d0ec4282c9526174a09878fe8fdde33a29604e5e5e7b2a025d6650b97dbb52befb59b1d30a57433b0a351474444099daa371046613260cf3354cfcdada663ece824ffd7e44393886a86165ddddf2b4c41773554c86995269408b11e6737a4c447586f69173446d8e48bf84cbc000a807899973eb93c5e819aad669413f8387933ad1584aa35e43f4ecd1e2d0407c0b1b89920ffdfdb9bea51ac95b557af71b89f903f5d9848f14fcbeb1837570f544d6359eb23faf38a0822da36ce426c4a2fbeffeb0a8a2e297a9d19ba15024590e3329d9fa9261f9938a4032dd34606c9cf9f3dd33e576f05cd1dd6811c6298757d77d9e810abdb226afcaa4346a6560f8932b3181fd355d5d391976183f8d99388839632d6354f666d09d3e5629ea19737388613d38a34fd0f6e50ee5a0cc9677177f50028c141378187bd2819403fc534f80076e9380cb4964d3b6b45819d3b8e9caf54f051852d671bf8c1ffde2d1510756418cb4810936aa57e6965d6fb656a760b7f19adf96c173488552193b147ee58858033dac7cd0eb204c06490bbdedf5f7571acb2ebe76acef3f2a01ee987486dfe6c3f0a5e234c127258f97a28fb5d164a8176be946b8097d0e317287f33bf9c16f9a545409ce29b1f4273725fc0df02a04ebae178b3414fb0a82d50deb09fcf4e6ee9d180ff4f56ff3bc1d3601fc2dc90d814c3256f4967d3a8d64c83fea339c51f5a8e5801fbb97835581b602465dee04b5922c2761b54245bec0c9eef2db97d22b2b3556cc969fbb13d06509765a52b3fac54b93f421bf08e18d52ddd52cc1c8ca8adfaccab7e5cc2f4573fbbf8239bb0b8aedbf8dad16282da5c9125dba1c059d0df8abf621078f02d6c4bc86d40845ac1d59710c45f07d585eb48b32fc0167ba256e73ca3b9311c62d1094903570519d4442f0200e6ad11f2452dc9ae85aec01fc56f8cbfda75a7727b75ebbd6bbffb43b63a3b1b871e40feb0db002974a3c3b1a788567231bf6399ff89236981149d423802d2341a3bedb9ddcbac1fe7b6435e1479c72e7089d029e7fbbaf3cf37e9b9a6b776791e4c5e6fda57e8d5f14c8c35a2d270846b9dbe005cda16af4408f3ab06a916eeeb9c9594b70424a4c1d171295b6763b22f47f80b53ccbb904bd68fd65fbd3fbdea1035e98c21a7dba5fe1089f7d1c032f24d36835aa8815266e897ff829403cfac3a715954b9b68958a0111a2c9265633ba2831a2e86b941e569d58d99c1383597fad81193c4c13151f40aedb487b5c04ae3b1ddfbafa26e720099f26d5a7535aee57306fd2c4f30673cd9b698fecf32faf88f62e21c90665859dd26833d21d9bc5452bd19515d3fa5c1e68bc209b9dc2a10ae6b630726a67b33603c691fafc281dd94dc9888a68c4f45155aa7897c045aafd9335be2e0ddcf5f586d7f6b4fe12dad9a17f5db7031", "917f2fcf5d1873f7ce8f639545680a90385eacb91c0f143ff6c059102ae97c3c", "6bda3c86c0091d45f240b804ec82b246837fdc212d636566b19df682b646601b", [1800841178198868], ["650051"], 0, "fd82dfcab54d80013b8a434d887ce3d4bf16a56399dec9960e3a2ceaf163bdab", "163a4ad91237ba62db69428d095e82e2d2c4ce2d397d93ef30117bd38e5b89af", "1d8511a0966b4bd506da974611ee1465e6415e4e20a30b6f9a698f90f47454ac", null, "495b7416a91e599fec6e79c583f1995cf20fae393dd7b9fcd832e9d0f5fcd128", "d98b56e0df7097231c41dfb8750c9d53831f241f2ca9769222512eac1ae2d4ae", null], ["050000800a27a726219651371fc998c31f4dd20800015058e5754c2104000753ac515300515202f89d3226fb53292bfb5dbbf7ff013af3341ea7a35f553f6d7a0221ae195ea84eb97a14943649305521326bde085630864629291bae25ff8822a14c4b666a9259bea6fa0bf2999956fbfd0ee68ec36e4688809ae231eb8bc4369f5fe1573f57e0685406994d28264e4d74d5a25fa3fa38fed813c505dd90289f301c75e53a716c5b54a45eb32c165448d4d5d61ca2859585369f53f1a137e9e82b67b8fdaf01bda54a317311896ae10280a032440c420a421e944d1e952b70d5826cd3b08b7db901e5849f96bae6f2056f33ab1e6989d7d264adc97855a990103b4d1e6350d5c31a39c3caf69459e462f141be8b39037ffa255ce27e4ad7b566a29620a9f011ab08fb2ad3050652b3f65b8e34526a2a15fc2ddc5b5113e4882c7cca0dd5577be067ba7a175dae4bbe3ef4863d53708915090f47a068e227433f9e49d3aa09e356d8d66d0c0121e91a3c4aa3f27fa1b63396e2b41db908fdab8b18cc7304e94e970568f9421c0dbbbaf84598d972b0534f48a5e52670436aaa776ed2482ad703430201e53443c36dcfd34a0cb6637876105e79bf3bd58ec148cb64970e3223a91f71dfcfd5a04b667fbaf3d4b3b908b9828820dfecdd753750b5f9d2216e56c615272f854464c0ca4b1e85aedd038292c4e1a57744ebba010b9ebfbb011bd6f0b78805025d27f3c17746bae116c15d9f471f0f6288a150647b2afe9df7cccf01f5cde5f04680bbfed87f6cf429fb27ad6babe791766611cf5bc20e48bef119259b9b8a0e39c3df28cb9582ea338601cdc481b32fb82adeebb3dade25d1a3df20c37e712506b5d996c49a9f0f30ddcb91fe9004e1e83294a6c9203d94e8dc2cbb449de4155032604e47997016b304fd437d8235045e255a19b743a0a9f2e336b44cae307bb3987bd3e4e777fbb34c0ab8cc3d67466c0a88dd4ccad18a07a8d1068df5b629e5718d0f6df5c957cf71bb00a5178f175caca944e635c5159f738e2402a2d21aa081e10e456afb00b9f62416c8b9c0f7228f510729e0be3f305313d77f7379dc2af24869c6c74ee4471498861d192f0ff0f508285dab6b6a36ccf7d12256cc76b95503720ac672d08268d2cf7773b6ba2a5f664847bf707f2fc10c98f2f006ec22ccb5a8c8b7c40c7c2d49a6639b9f2ce33c25c04bc461e744dfa536b00d94baddf4f4d14044c695a33881477df124f0fcf206a9fb2e65e304cdbf0c4d2390170c130ab849c2f22b5cdd3921640c8cf1976ae1010b0dfd9cb2543e45f99749cc4d61f2e8aabfe98bd905fa39951b33ea769c45ab9531c57209862ad12fd76ba4807e65417b6cd12fa8ec916f013ebb8706a9a556c762f8850000bdcbd49fe4f85b623c7828c71382e1034ea67bc8ae97404b0c50b2a04f559e4999d9c09901bf39caac48dc11956a8ae905ead86954547c448ae43d315e669c4242da565938f417bf43ce7b2b30b1cd4018388e1a910f0fc41fb0877a5925e466819d375b0a912d4fe843b76ef6f223f0f7c894f38f7ab780dfd75f669c8c06cffa43eb47565a50e3b1fa45ad61ce9a1c4727b7aaa53562f523e73952bbf33d8a4104078ade3eaaa49699a69fdf1c5ac7732146ee5e1d6b6ca9b9180f964cc9d0878ae1373524d7d510e58227df6de9d30d271867640177b0f1856e28d5c8afb0630fe4fd5f22125de840fcc40b98038af11d55be25432597b4b65b9ec1c7a8bbfd052cbf7e1c1785314934b262d5853754f1f17771cfb7503072655753fa3f54ecc587e9f83b581916092df26e63e18994cb0db91a0bbdc7b6119b32222adf5e61d8d8ae89dae4954b54813bb33f08d562ba513fee1b09c0fcd516055419474dd7fda038a89c84ea7b9468287f0eb0c10c4b132520194d3d8d5351fc10d09c15c8cc101aa1663bbf17b84111f38bb439f07353bdea3596d15e713e1e2e7d3f1c93cfcb46238b6e0398b46d76aff2d8f05745c465a94fca4365a93741b2e7516a1d2a00de7d1f80a5d3f791d35058a96380dced302c60c0062f67a331cf71e004ef78407a7c51161c7b8d46aba76714bac170d185e27ce3ebff2446164e0db23c02ea332b6afe11084ac25d73e63e51e75f6da74707bec9b1c2224f11dc18ed0a6effeda06c4be24b04846392e9d1e6930eae01fa21fbd700583fb598b92c8f4eb8a61aa6235db60f2841cf3a1c6ab54c67066844711d091eb931a1bd6281aedf2a0e8fab18817202a9be06402ed9cc720c16bfe881e4df4255e87afb7fc62f38116bbe03cd8a3cb11a27d568414782f47b1a44c97c680467694bc9709d32916c97e8006cbb07ba0e4180a3738038c374c4cce8f32959afb25f303f5815c4533124acf9d18940e77522ac5dc4b9570aae8f47b7f57fd8767bea1a24ae7bed65b409e1dd26b8dddd68858d6f5161f073d90636860a9aaee18629b06330a8ee30591debfcef56a026bb28c3b06ec2cfaf5b79ab72694d1d012a7594dd80ae7dfa0c00", "a09b04de6a186492976e849bd727a344a6f4469a66fed1270a9e205da9e5952f", "b14e10849868f413ce7b246081464c3b0c1bca960fcfdc26a6b4d46bbfa04e36", [], [], null, "c5715d4e65314d10933ede916c4e2d565da1a076c2244e3c2953617f8d6189f2", null, null, null, null, null, null], ["050000800a27a72621965137c2eb518f68984d020000000000", "f540b62cb4f80c03c0e4cae79511e24328e3d4c75443b79d103d7943f0922fa2", "38b79770f572fdd077843cb2594cae07ba43a178ff05677f9bee4ad1170afbd4", [], [], null, "f540b62cb4f80c03c0e4cae79511e24328e3d4c75443b79d103d7943f0922fa2", null, null, null, null, null, null],