From ed856dcd4489e58b7dbc8466b271c23d0b42c7ce Mon Sep 17 00:00:00 2001 From: Chih Cheng Liang Date: Fri, 10 May 2019 17:12:52 +0800 Subject: [PATCH 1/3] add basic benchmark --- scripts/benchmark.py | 83 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 scripts/benchmark.py diff --git a/scripts/benchmark.py b/scripts/benchmark.py new file mode 100644 index 00000000..da8438b2 --- /dev/null +++ b/scripts/benchmark.py @@ -0,0 +1,83 @@ +import secrets +from time import time + +from py_ecc.optimized_bls12_381 import ( + field_modulus as q, + G1, + G2, + add, + multiply, + pairing, +) +from py_ecc import bls + +LARGE_NUMBER = 10000 + +N_VALIDATORS = 100 +print("Gen priv keys") +privkeys = [secrets.randbelow(q) for i in range(N_VALIDATORS)] +print("Gen pub keys") +pubkeys = [bls.privtopub(key) for key in privkeys] +msg = b'ab'*32 +domain = 5566 +print("Signing") +sigs = [bls.sign(message_hash=msg, privkey=key, domain=domain) for key in privkeys] +print("Agg sigs") +agg_sigs = bls.aggregate_signatures(sigs) +print("Agg keys") +agg_keys = bls.aggregate_pubkeys(pubkeys) + +P_G1 = multiply(G1, 100) +Q_G1 = multiply(G1, 5566) + +P_G2 = multiply(G2, 100) +Q_G2 = multiply(G2, 5566) + + +def profile(fn): + + a = time() + n_sample = fn() + total_time = time() - a + avg_time = total_time/n_sample + print(f"{fn.__name__} avg {avg_time} seconds") + + +def adding_G1(): + for i in range(LARGE_NUMBER): + add(P_G1, Q_G1) + return LARGE_NUMBER + + +def adding_G2(): + for i in range(LARGE_NUMBER): + add(P_G2, Q_G2) + return LARGE_NUMBER + + +def _pairing(): + ln = int(LARGE_NUMBER/1000) + for i in range(ln): + pairing(P_G2, Q_G1, final_exponentiate=False) + return ln + +def aggregate_keys(): + agg_keys = bls.aggregate_pubkeys(pubkeys) + return 1 + +def bls_verify(): + for i in range(10): + bls.verify(msg, agg_keys, agg_sigs, domain) + return 10 + +if __name__ == '__main__': + profile(adding_G1) + profile(adding_G2) + profile(_pairing) + profile(aggregate_keys) + profile(bls_verify) + # adding_G1 avg 3.800830841064453e-05 seconds + # adding_G2 avg 0.00018580918312072753 seconds + # _pairing avg 0.12307929992675781 seconds + # aggregate_keys avg 0.041207075119018555 seconds + # bls_verify avg 1.0701230764389038 seconds \ No newline at end of file From affabe83e4ad046dcfaaf2d85ab765157eb8427f Mon Sep 17 00:00:00 2001 From: Chih Cheng Liang Date: Fri, 10 May 2019 19:21:12 +0800 Subject: [PATCH 2/3] mess up more --- scripts/benchmark.py | 122 +++++++++++--------- scripts/constants.py | 26 +++++ scripts/fixtures/data.json | 208 +++++++++++++++++++++++++++++++++++ scripts/generate_fixtures.py | 55 +++++++++ 4 files changed, 360 insertions(+), 51 deletions(-) create mode 100644 scripts/constants.py create mode 100644 scripts/fixtures/data.json create mode 100644 scripts/generate_fixtures.py diff --git a/scripts/benchmark.py b/scripts/benchmark.py index da8438b2..592b7e00 100644 --- a/scripts/benchmark.py +++ b/scripts/benchmark.py @@ -7,77 +7,97 @@ G2, add, multiply, - pairing, + pairing as _pairing, ) from py_ecc import bls +from constants import ( + data_path, + msg, + domain, + P_G1, + P_G2, + Q_G1, + Q_G2, +) +import json +from eth_utils import ( + is_hex, + decode_hex, +) +import timeit + + +def _is_hex(value): + return isinstance(value, str) and is_hex(value) + + +def convert(value): + if isinstance(value, list) and _is_hex(value[0]): + return [decode_hex(v) for v in value] + elif _is_hex(value): + return decode_hex(value) + else: + return value -LARGE_NUMBER = 10000 -N_VALIDATORS = 100 -print("Gen priv keys") -privkeys = [secrets.randbelow(q) for i in range(N_VALIDATORS)] -print("Gen pub keys") -pubkeys = [bls.privtopub(key) for key in privkeys] -msg = b'ab'*32 -domain = 5566 -print("Signing") -sigs = [bls.sign(message_hash=msg, privkey=key, domain=domain) for key in privkeys] -print("Agg sigs") -agg_sigs = bls.aggregate_signatures(sigs) -print("Agg keys") -agg_keys = bls.aggregate_pubkeys(pubkeys) +with open(data_path) as f: + d = {k: convert(v) for k, v in json.load(f).items()} -P_G1 = multiply(G1, 100) -Q_G1 = multiply(G1, 5566) +pubkeys = d["pubkeys"] +sigs = d["sigs"] +agg_sigs = d["agg_sigs"] +agg_keys = d["agg_keys"] -P_G2 = multiply(G2, 100) -Q_G2 = multiply(G2, 5566) +def bench(func, seconds=2, repeat=3): + stmt = "{0}()".format(func.__name__) + setup = "from __main__ import {0}".format(func.__name__) + timer = timeit.Timer(stmt, setup=setup) + for _ in range(repeat): + total_time = 0 + count = 0 + while total_time < seconds: + total_time += timer.timeit(1) + count += 1 + yield total_time / count, count -def profile(fn): - a = time() - n_sample = fn() - total_time = time() - a - avg_time = total_time/n_sample - print(f"{fn.__name__} avg {avg_time} seconds") +def report(func): + results = "\t".join( + "{0}\tsecs / {1}\ttimes".format(seconds, count) + for seconds, count in bench(func) + ) + print(func.__name__, "\t", results) def adding_G1(): - for i in range(LARGE_NUMBER): - add(P_G1, Q_G1) - return LARGE_NUMBER + return add(P_G1, Q_G1) def adding_G2(): - for i in range(LARGE_NUMBER): - add(P_G2, Q_G2) - return LARGE_NUMBER + return add(P_G2, Q_G2) -def _pairing(): - ln = int(LARGE_NUMBER/1000) - for i in range(ln): - pairing(P_G2, Q_G1, final_exponentiate=False) - return ln +def pairing(): + return _pairing(P_G2, Q_G1, final_exponentiate=False) + def aggregate_keys(): - agg_keys = bls.aggregate_pubkeys(pubkeys) - return 1 + return bls.aggregate_pubkeys(pubkeys) + + +def aggregate_sigs(): + return bls.aggregate_signatures(sigs) + def bls_verify(): - for i in range(10): - bls.verify(msg, agg_keys, agg_sigs, domain) - return 10 + return bls.verify(msg, agg_keys, agg_sigs, domain) + if __name__ == '__main__': - profile(adding_G1) - profile(adding_G2) - profile(_pairing) - profile(aggregate_keys) - profile(bls_verify) - # adding_G1 avg 3.800830841064453e-05 seconds - # adding_G2 avg 0.00018580918312072753 seconds - # _pairing avg 0.12307929992675781 seconds - # aggregate_keys avg 0.041207075119018555 seconds - # bls_verify avg 1.0701230764389038 seconds \ No newline at end of file + report(adding_G1) + report(adding_G2) + report(pairing) + report(aggregate_keys) + report(aggregate_sigs) + report(bls_verify) diff --git a/scripts/constants.py b/scripts/constants.py new file mode 100644 index 00000000..afb3822c --- /dev/null +++ b/scripts/constants.py @@ -0,0 +1,26 @@ +from pathlib import Path +import os +from py_ecc.optimized_bls12_381 import ( + field_modulus as q, + G1, + G2, + add, + multiply, + pairing, +) +import secrets + + +data_path = Path(os.path.dirname(__file__)) / "fixtures" / "data.json" + + +N_VALIDATORS = 100 +privkeys = [secrets.randbelow(q) for i in range(N_VALIDATORS)] + +msg = b'\xab'*32 +domain = 5566 +P_G1 = multiply(G1, 100) +Q_G1 = multiply(G1, 5566) + +P_G2 = multiply(G2, 100) +Q_G2 = multiply(G2, 5566) diff --git a/scripts/fixtures/data.json b/scripts/fixtures/data.json new file mode 100644 index 00000000..571c7c08 --- /dev/null +++ b/scripts/fixtures/data.json @@ -0,0 +1,208 @@ +{ + "pubkeys": [ + "0xb053e3fc4ba337f2ea0e166655d712733300ac0e406ef67454ce9e692354e77fc91e9cc127b0612dd1e2af22c0e8e596", + "0xad97e96cbacdb1f8be91f9e7887ee2155666009a8e2e09da8da236f7517220955b29f54351d2881953e9a3a7f98a5171", + "0x8262ca44c00aabe1fc6c2019b062a18e33f135ac9eaa900e6f55d89d831a6b874760905902aa4266c7b8f4927c8f3d47", + "0x84c5e81ca3e47fbaf5e2155bdcc1dd37a24fde13f08f17961828600d9355dcc40d7e11718268048ba010296c66a253e7", + "0x81522694039185fe22944fdf4ddf1ffc4133da03d912a81565396f82878c8d2e6fb5551e445a206889d098d1c5f9a76e", + "0x984eb084f6e9e4cdeafcbc11c6471848d0330e1b950aab79677e87222fe8f4589775b004458e300ab25bd61fb756a132", + "0xb2a05bf09c6c06a558cebddc2fd19e65601c8475e2505df61d0b8ef0bdcf59c1057122a586fabf42143b629b304a90ca", + "0xb4d8063232d98af5a7781e4f9862389e886e36e5314fd4839a9f48d5aae2ccb77b4fdde604662a8e027396e2c3e280a7", + "0x853c6327c517d3a73ac174f89fa976d8070455529f380986ed3814178d0624b8391becda326bc1b89eed36029cf3da4f", + "0x86f7799fac9726bc9d795658ab62311844e7f35416ec90bbc549bdbff0fc61d37ecccd238fd0cd34a4f57882302a005e", + "0x9536fb7d3b559b2bf9c288db8b12637b8739ac5705e08b15462ddf64ba3916302179966fc66568f250f9d9bee301991e", + "0x876eca62d08b149316779af27515c58fa303da4f4e04bd59415c0b2c59f82ed637418d35774b6a7852a157673eeb0fcf", + "0x970f6abca53749ee2b004c25913ff1400defb76054bee6dd0b4d5f73414a6099a556fc740f06208a2e68ad0d0ec89794", + "0x90acc2b7970e8e6b55896997bdb015dec023f2d36b78623185db4640a15f62197f75adff1bc85d73dea562036acc1b8c", + "0xadbae815098760e6b6eb7fafc0e30575762db108e1915cfcb3ea006110c89487d5bd1b6b31ef059d8e782e097766aae4", + "0x9023bc946ec42525a4984d01ba5f08cb8c293464410c739ca3b1dec62657997ff70981982e31b0abcc0aab866563b01e", + "0xb1185c03bb3f2a62952d867108cfaa83ea3128a328ce97c8287594f59758801b301c6bfc04e5bc3effd2f8b0bbd2d26f", + "0xb794d8901bd1a0c9366a603ad0f22febb34a25c7baace35b9149dbf54a3bd78c7e2b19364236324b991dde2988bfc594", + "0x8b8febd3c4a642db476059f81846c2bce3fa6d4139ceaa099a71544e1b502af053bb10961d186d8db3398b51a4369371", + "0xb2224bcf90abe2f4af258f4eb76cd8b5301f70d803640c6e5e6313ec630b74b5024048d2f73ed0655574535ab6519ea2", + "0xb3555d90b34e7728bca8769706f5ffa8d54c86641c6a2cc1b6064d8b6bd34c24d2c0776cf9b409a75d7b388f29c9103e", + "0xa6624243120b5c282bbb05c5cee48d82dd668e1ffbc7dedc55c0ebeb53cda0a42cea968247eaa0063c74d5fc96932cc4", + "0x85818711fb573f3a1094f47760c79ec15f302702c69ebbe6eee28dbeae7b4d64ae468f01c36b9fd7e1f52e85a648aa1c", + "0xb0d9e8daf923d3725c8ac08ad69459741167c3a0d10de7496d349b3e3d59eba0aa1eb3bc9ccad9e77e10e6a2f182bf55", + "0xa9b59675825c6aacbde764eb7d51a0e0b1a57eaf06a306c6a75105edcf528010f230923909f46fb4dd4953617207abc5", + "0x91097ad93cf0b881ad1263045e816cb83e098a810a10fcbb1082518bf29a47db0b15f0bcbf71113cb674b0f4596fddc7", + "0x931d3fc8e2f2254bf8c994d3f33ae15088e7d04f77179bbeb34a5ec4c44ef5e6380972743ee55f0431a0852a5cdba773", + "0xb341e1336b44c998f990d346cb60e7eaac33fc8a41ad568202cde28c2f01079e13c169a6bc3de0eafc9550f9c1cae9b5", + "0xb7e5a31b0e56a316d0c218722cafb559b16343178cf1a3b36ce10154993915799d0f6918f354d3f3df7a15b84f2e094f", + "0x989d3e22986040a9c37c9a619675199f0df75b95c7ea9a8cfa2630e1cdfe4494e7f7b36f24be2e08da02f629ad60fafb", + "0xad4e0a67c61daf7f8a4b96ccb500f005d4898bc2f4a3069503ff02fa43d8cbee598dfc67abdce33d6f7fd03188a4a844", + "0xa95e86a382e802b3189b9b0c14fcad476c7572caaf1e4effb6595c0ae3777ff696212ec6474ac95e667ced25e18b789c", + "0xab2e721c2bda10895297e5bbcab2323f4b5cf6e19e161464cb4168fc8cea75d1334b0ae21a9b1ec5f3d07d4928035929", + "0xb20c4762dc73332a05a3f765c7e49475e0f6d80660bd141baff80bd5e7a466bce8ce3126aef55d08ace1ee8bef45524f", + "0x8421f8aea9cda3670036ad6e8b8f63f6427137b46c1e2a07ea53b9438471410fe4567c0cc1a69f3628e0a32d2f348689", + "0xa1614397b3606977265cc3fa09e8d6be87d12664b937235b2a267640560ed86c1f61f0f02b3023df5c3e5a8c7f2c9110", + "0x8d8837f86f8ccff837d070e26171aa1b910746fb816fd46104c42f7dba6ef07081011a9d6031b0ba0727889d2acd1886", + "0x8f3e708fbc523e694c11b538d212aa74032e7227a73c40259ebb33c8f90d48d788f462bd2608a60179e821460988d328", + "0xb899e15503c5a97180a831b4870ea4d4c6ef0792df031fb97dff340eff744619ace13ee31d5fb58b30388b3850b9237b", + "0x891fe8b41ce8813d9f80275136e8e019717c5eb37576bcea28d766fda7d33d09d29d9d8a229f8643cfdb9217f7fe2321", + "0xa8b9a4b7b76ed53e674dd935644cb4fd3db35cefbbe4fd160890241bbbb1fb30fca9c8082f796092a1e2a9f8d70e445e", + "0x85147260642f90a2408e10c1a69fd043577a464ea460e9b50a21b6938d0df134c63aed8dce3e5f40c3b10e6d432bc554", + "0xa65842bd64c2c8495d627de934226c79f9d7e29dec388dbb4e04d134d8bda415ced4e0c25f934f3d400394f96ef7070c", + "0x98bdbe2b96f310cb2beaf8eb04a428286e85dadec5c464c65276a2b7ad555c446e437b738f5e8444368d7da13afe42ae", + "0x88a496c0f23a416d62ebb689f057685b5f8d2cd57b1dfd8b1adfb31ea5173f3e1651f7db3dfc5df1dbca93e06729bbce", + "0xa2614b22385e4bb05c9d38f25c088af370517a387d79778c060af39cc9f060d8180d5ec76671960e4bca579ecac17bd2", + "0xb67100cd4d72d098fed408f747bc5a7f841b5746fb89552f521d7902594c368978ed24e57f8231b26de1a9de2832cf76", + "0x95c5e5a319674980f0636e5b5efd8788d4d3618cb87609c374af7e37b5f20ec6c7cf31de2d316fbd7fc71c8da47d18e2", + "0xa72ece05db9cdbd5e084b3820fab7561841a3d0d275c0ae0be035f0f660772b4cfbef2fa1e4aa6ac45ae02870e058435", + "0x97b2dfb148f982e5845564178276eca1dc54f554fcfa55cfc9e050315b0d4e0acf40e5cafc4cb0df9949995b3f4f8f80", + "0xa7f200fab88d7e2d1e6a4d2ece40a7908e22f988a83d17a64dddd03b6aead3f0799c98e27df7fce000e047c0b81d9846", + "0x802bd81bfffcdd2d43eb4dfcd42dd46ae154b4cc0e817807f07f0a1329934b61101693f2cf0e8c7ca2323b6f7a397d08", + "0xb9f51ec1cb5f7fe982f39c609a29587749bc893f372103428604e88c52fb44f81585163f353473f71dd3577dd2cec106", + "0x82acf6dcfce6ba2aa3c564ea6298a72cf0588262ddf0824e66ffdad45db6c80dc24ceb0b000a15b2362e158a5b498e05", + "0x9728b4b7b3befe1d7486584f9ec0cfb5f46eba6447bd4ae97593bdefde9c79506286a1d1e50d40c8ae24184919c86358", + "0xb45c7b8efe21a639d77812fbfe86680fdceb84935ff15721e08499cff9958edabba46d4ee78bfb00755674f910f8cecf", + "0xa1d0861a4eaf81f930b008bfca2474611d019ee26bd37086b92d3d6867cfe42e41388c96a56f1c3352882b30ba0ce842", + "0xb3e4d701f4c4cabe2bfe7b456970c7852a4c5c7af568ccc64569966b73477e9e659771de5705b04e8d3716dbca836963", + "0xae45db3183a9c472a1a7e0d64d77d97087a169109fa6589076cde46801e012d121934c300337e98316a4cdd851773b55", + "0xb609b51c4ac558de8b8da1deab4d55653eb3977e9d8e0bae206225ad756d7fe32000c9d68c56cd1e0c3e24c3caaa7e6a", + "0xa4cfefeaaffa3e70b897a6b3de4856714f1c47fed0e51b77e82741f3d39d5bef06da035a82c577ae41cdcbce2ed554ba", + "0xb67321d8788ee94b29fe925963416a48726a4e8ba8f87d804f7df6cf75ed92b7cc089fbabca95ea3bcb62d4c7058596b", + "0x88a00d7f9f9b241eef1f3730fe2c18de5ae8f3de004ad0cbd02d9c50de9e1249e900a73663c748237dfa0b38ebdf2f15", + "0xae2f213ad2846965ccdebb608b0686e5bf3eb2d76e43f6d3f55ca2d07c9bbcd88ae8695bed2a31538794a8eadfbfa7d4", + "0x89a46e762b5196857137bb313c75b9d0f3ae338484931802280aeb4ab76befe22a2d644100d6dd6ac92178bd18c84da0", + "0xa7de99130bc48c65642d79566101655afd16a433d861f49882be9c5705c34b866443c290736409e4b5cfceeb20a1ab78", + "0x92e716eada60a129045ea265236471efca765db38ed9c16bafcbe01d381ad1be3acb3b866ee808fc7ac71511a246f2f8", + "0x89c1612cd6db936753e9e32ac30052d1bdbe6d5f03a1e97bcda35a1a15e5272c516b0b59397ce261eb8d9b9bdf3f4488", + "0x9582d29e32325eda3a1818135a6f2489eceee1821af100df2e31f9c2eb9ae7598ba06028211b677451305c65a14e44c2", + "0x92561e004860aaa19b47c4fa516ec42baf8911b74f26581e90ce14eb67749dbf8e4e861934f0017e42b5dc7616e31afd", + "0xb1919c4ed73e61408b323c62b4b2c880a8285b00f69f9a5636924daba6ffcb8d0cbad03f6e0947a9e60c73febeb1169a", + "0x91f0c8e8125701672a0058677544d9ae7288521894d3610f68308716d8fba900b5faede12f55a02a9640e010e1cb5153", + "0x8c0d7cba1bc47073448fd8827349bdd5141e32c41a263baaf7aeb20438f527aaf607741fc35970c1048424b117b9389d", + "0xb0bc6d40d43017e5f34138644b07a49f7372c604df41c7c0b1d70704deb36f16312e2a41867a31d1c051316fa4955482", + "0xb385e5e2eceda45af17b9a4bf4e2c4d76539fd283a445379a5d1c94b8a16c897ecfd015491fec6924bf4ce39da1d38b6", + "0xb85779d289a90f20b2be1def0bb8082a2e783c581fe6587a41fd93a812c88dc1f980e60862690fcd88f18f3911eb51c0", + "0xb268db72228a5e04b5f2fc942a322f7cd28316c00c23d32ecc64e9b221c837c49bcf4d59674d2a76c4a7387f319c444a", + "0xb569388650bf2893b28c514a019325a3a18920eb011b82ce65ff8e9ce7a6a01f119d2b218ebfa0fbebefc7a99c8ce45c", + "0x82e418c9833970af1de7dcb226c78306680163417fe2720a945b233422aaf25b57df783df8dedcc8668b7c3f68aff420", + "0xa34848f71f3e44271c06249f469829aee42938b2dfcee433b7ca63608d77d6998dfd4f487eb4d85cc65b11778757e263", + "0x950b52303b03c0f265d3f34c9812e1409300615d062975e62c7bc071765b79ebe898184a901f76afb110c301c512c900", + "0xb8483610564ee9794d88e302f5573321c43c2d8f12803b2ef972db1366b64f6783029a26aac9c471e92adbfd21cbb0c5", + "0x9052580389d26e2f37702a4f1f0423720853ca99b20664c4672bb0afe444a42febe740e7e61053bd8bf6960f3bcaf504", + "0x92613d5987eed4ac43aa5ff0eb7fcab5c722c571bc143c49d773036c7793f537c715a1117e2f9674d3b3def912364139", + "0xa299c87febe1d996b82c1d62a8c0ac3ec39cfeb8c9c041148cfd84dc0afb5f7a96f4fcb8f01b8f3ed245f7d4bb2d83d2", + "0xb21a3512201740dfa9a1cc8dbde7227a77d32f07e4b0b7ebafc2809b4b2ceb660467b294d0032e0162bb7c1c97ae7d17", + "0xb1ae6edc8ddcef1800745a7eb792920bf541978c34f789ff7060a339dd5f8fc822404bf0eddbbfb843ec9c5f159be22b", + "0x8988020250b6e84baf6683de592c5f35c28da74d68ebb2d6353c78dd04b98f9c0f727e2b47ee03308c0cfc984093634d", + "0x96f8ccce598825e61981cf19b54dee590ad291a4852c63f125e7f7aedcac7362a53485c687ec27d70cf97adb23b0fb59", + "0x96ecdacfaf8627395efaa5dd0e454638ff6e8eb2697365e8e4bcd7ccf20227541eece58d67aaa4433ffc0ef5f8329429", + "0xa0de14cbbf4d283ccaccc76060451132d76972fe1622eabf903d77938bc7acf7401bbcd876b1a476113944fefcf00706", + "0x9362ca739b84ddd3ca9f987096279f31726e032bcd23cf3c951870858594407b7e8c10b331a30e621c3ee47629cf1755", + "0x91682c12ada59c0e2119e5a92059734acc1a52898c01466ad9844b00a927d8b8b773bf688c6ff77d2b3d19290cb6f14f", + "0x8c320f3b876bdd017904ab1051bd30b88c4422401ab1a109014202c38a41ff5ca93a8b0177ca361891aaaeaafab2d1c8", + "0x8e2115991dde1e82e7aaa5046fc00134a4ecf6bdc89188c92b11c6a83afb3bde1e77260edd8fd1a74e431ba07096c104", + "0x8063f525a817d24198ca8da26dc24c36887dc726ea90add015b1b74e70a843cfb7ba559cdc338c331ff2faeb4a8ba502", + "0xabb5bea639b8b1cf18dee63bb43fcc995a77d32007761991b8dd66161c2ea0fec018fa56c4a7951c220606c2d28838b9", + "0x8f2650ff13708a7edab864d2238fb4f6aca1329f3447960d27f99bafdf57a10c7581bd663c7aaf7f3a13899fc97d09ed", + "0xa173f8b1243f6a6d119dffabb5b390c65763dea9a5592db287db38c369f0fc3d4f501e16792ee048461ff190e6e05eb1", + "0xb1cafdbf5bf9ae2297549c4e1523b55c1b5aece8f0945675cb8dec4e2f562857b64e089e3ff03313f59c16fc0ec235f8" + ], + "sigs": [ + "0x95010a3b1576502098f89eb2f6cfa28ca29b7101a12851715f0acd97b37cf093e6349173cb50d089f53fd7000d67a61f06310a306b6cd9efb84e049b6b176409b1f34fe8dab30a84372522c1c4195355368a2e84d40e2f319db9bc1a805354f6", + "0x8dbca2df596d76d53ed202d2cbce126640a8ae325193577ccd5e17f036f9960f94c9454e8455ffc6cb2800f830b677f814b4da90ea507d31e9db7c498b54b7ac4f382fcfc07a5a79fb92b4919c317353dceef7cfc05ad905eeddce3448a6ebb3", + "0x8641600f7d9b0db720c6c3de31d0039fe37458e6a0caf0e920d6006fbd12e0fac62649c54b9213d0e0fd9203d19d75060e21b64fff020d67b1a6e74eda688a89f771527a518995e8a07f9c6010d562c46a5b0b7d6a217408c5ddbfe4b337c23d", + "0x8f22143aeff202668f6888d3872ef483b54d6242572c6dd9b0696016ed0d9a89db14460089dd91d1429721c39e4c535a18f83c01398107e3ca9b01d7f9fd0ea7c257b7fcbcf2b23ba8c48e5d5f4237a8820b462912e87bca59e27d4e0828d1d7", + "0xa82e32b30cd095592e2d02e35713524c09b3564c77ac7d9702f04dcd5fc9b3b00f58b0e7413fd5c01d4482adc315404a0aea40a6a894b0bc4bf7c4db519c30ac722a68e779f162c9838ded345b16148fc203da327a8ef087452b2934be0c7898", + "0xb9c2ae68a69a56058b429e4f3d3a8996d7ee350ce236adeba9b75cbc209761b35b8b2f4a7e5a56c496089657745fdb8e021d446fe77f5be94e9f9121fde25e2c3566a33da0cbfd7f6ab6282cfa0a254fae045ddff929a8dc13ce8b4d3ae745a7", + "0xa9d32296bc3f3b6bf49df679822b0f430a65a94ee2e3687e18168baeb6232ac50f8e5a6e4d3b5f141aba7cf45049b35807c88f0270537e336c3e8503540ca35abc8e9e8ce50cf97b56da7c34886aeb9bffb1b48cfcbec156d10ffd02cfdbf2de", + "0x835c1f635c9d0ff11ff9a6a40e8a07bbd399c32f7740e40396b15d32da4fddbdcadff8b78e149885218a41a7f30ebc241053c8c35ee514893e4b56596725fe71f2221b709c99e3cd1e985ec62a917ff47758ddc66d8a42eb71934cc65ea0d4b7", + "0x8db6dd8f70a7de9497888a0fb84577e6555c7f2ea2aaf353ab0588efe65dfc5125343fcd1124e8f7c2b53f2c9cbbe88f16ae63250ea20cb13b7655c44a415694cf4013005296168bd3741f745c8f94997ff9b886f234e10156f4f19592ce62d5", + "0x908d213ba068411f4af43d884537435cc1a96315c682ab828238c33856bdd791ab89bb7fd599ff08b3154c56ef2ee34b07ee1e1b82d99c10ca455c35b2cf7eddef1db082de6b32dfef506eca6b63bf8d0cbeb50a0f652e6929d36ee7194d889a", + "0xac10bc2041dd29febe00921e9a642a3b0b981e909f4746473c4085fb8041a112c1b6bf4646e5355cda3af485ec94f6fb064c05f2d360ed7a48b0a233b89478ed852f47943d034fabc4b534ad197724ed5d742f59b4ddcc45c3988b77288e760d", + "0xb463f601f4c188b961166a55cd5b56424ece65fa7f30170f7373130dbaf4c07585db218e8b5d5f2f7db6589f8271b5ad17bb1e7ad40b87ff255c2ec53ad890005648c122d840cbacc5de08f66a27990371ed1768daa13513245bcc8d67372714", + "0x946849db5a78578a3b09f404c80059b8618eb62fb6863c1f4861f0ce1a0e2d9d69c04c143c772fc6fb077fbcd8024be909be97cab7f50f9c3706ee406d0d908c6fd9f1ebb3a1632d23001c66275cdeff7ff77fe20a67457e0ea5663d5a893ac7", + "0x86551f358783980b977a3e6d583f8961b172ae94b23d95f4462f524b18d5622b20ddf6a6234d16e22dca674126284d600beaaf9ea31409029ef69eaf404fec0ac4bddbc581ecd605c06a3185a3ffd53edc432de1381c7417c24ed9b9fe23fa3e", + "0x9406cfba947c64c76ca0fe96d70b935daf06d043ab997a9045cb0a364a2b346688f1892734a08694ac8f660ae65494e800c63b6820f284902a2016989f2066e717246c4269badd38c1954782f0c56fe2c4b017ab0e505934de8010f213933a43", + "0x877efe7d578f1ba6808f17a006c4a35e1527d45071d252325f2021c4fd932a9ed11e49709604b1c6b96935f021aa7f1b078a7fbc1d89dc4db21d54b29ea12dcff2e4c0ce3308ee6710e27ee117634237d5d74641fc1c0d601847e120f7cefd55", + "0x8422d4259353f6c8795f55a348a4e0af1332bca220c4a24ea14e2709f56aa17db4bdaa1fe9686ab291d09877e2f6fdaf19f7e68ae312bca3b2b2b707eb6fbb1f26026376957139546870c3650398f526d187a253946ab61514f19c046c96e6ff", + "0x8f05f92f4ff86f763da811711e40827e0cdc86b2a8ae0a47cc51e56d15351aeaa8410ad76690f8963569b50d15516ba80c55d24a95b565c50d24a122a4349040f84cec8ae0b550c146a2bfde4f82e94ab22f2c01d22e6d83f1d1963484249c7b", + "0xa3bf553e39be6c899932584854d4bba629989e44279a7dc87902143ef412a5a7bdfe4abf60b49aafe518487b7e425138155ff11c59afa5c6e9f748979fec3c0be72601e27710af3a5297d56fd3819fcabf9bb1737d2f117900eecdf475e9886a", + "0x82d1fae55f42e9070a3e75fc40e4cc0aeeee791918673e75d5af34b9cf7b44f0bcc478006547dd2be4f4b4033ed2ab590795bf5446ca601e294676ca9e801319e1a1a3e25b5cecb1d77d4fcaa271f652004933bd676d3a38cb48b361d0dc1fbd", + "0xa4f1bb5f27aec94d498f926d0304e1619f48e0b8085e4b7ae06f65991555b8127b5001500ce84483e70dac9dc7a225480861b5e59dceaae2a467866b7227b3d9f40efd87ca6b5fedbbfa726d209a655d847946921c6c1907c6f433b3660343c7", + "0xae338f545bd11cee204477e406c3f49a79ed09a5bc1dd1deabce8e1d9e3257094b785bb2d65ff5090f8c43e867b1ab62159a359667c3923670302d5dd13a5fa5898bf09932e4433abb10303e27a18d15ca3c0a127661ddd7bb031a88aa710a15", + "0xaaa0c2cff9411ed594c0d0af767a44187e522b037f7b83d342507ec050b774dd581946bcdc0b0b56c47346de7aca5a3c03d841f83e52a7f37cb285855b7010edc04e60d22bbff1f4eeba39b1528f54338ef973209b850a3065167b6413d6bdb4", + "0x980aea04b589663e0b5cc9f8c460ea568f32abcbc36412c1f8891d45fa2ccb4e4845ad3a632c0a40a1c53cb50e8cb7090d62b7bec467b5f763e8295095b6910dacfeb78aa0078ae1747eee6631f61af699fde556e828e0eea54c901f6887c93b", + "0xb81e4a62a534e1217f235decf465324dc4571e7f2296f5548d3df6c4943b6761634305252c2e71457a29fe58e60e83960deb00290f351eb217dabcec869929534a648d6e387b858754f6654b41c115efd24722e9a6aa6c4f885e1182fe4d3987", + "0xb27b47a87058704874ffe8ab70e954c792908726d6ed72ee88913c9b43a99e2ca9b85cd2c21ad09d6122c0143dd968cd06bc4804150c2e5f64dfebec7bbe4b7eeb409e3bf84357aa2f76966bfac7162d15af444e88b8c695d61cfea06cca0489", + "0xaa786fed7a8991d1c1e4efcc8985a8e34e247a7cb7e60de1f9c820637e3ac413b29996f72018d160651e59fc3bf22dc90db3af5e1506c962eaad7d71075c52861a51b3373658c7cfc6dcd7fda4501a6e936e5eb6f8cbef517ed13414e5428c25", + "0xb214256ebfd5659a7cc6d9aeb7ca98be0599b4e5a6abee13bbd1b6f110bdd378d88ae1e609f217cb2f402cb8208acb121580b2559117454b35360eba3d511754f5c158db520fe7eabf256df378e097198257c4078dac5a45e0017f2252f754af", + "0xb575031afe2caa44b04c63ffcf8b7ea1bfcd58ff01683415aa79cec363d9f5774f9b5638911654c4d74107943790560915da2c1fb7aca5517263ff29a62a98fba1ec37bac1e447f8ad4155a933822ebc3402f6713ba5cd937b8c79bb84dd5fd6", + "0xa7799070cab13920d6d892759c9c9fdd3eb073f7cf5634899701ca85cee1e91554c3484cc650f80e916ebcd00c1f360b139892d68d20a24a7024812349de79eb5a79eb766a630c8b24778fea855f9acd658493bde4f9568a6662cab9ebd2255f", + "0xa6d5947d03482ecb5004508d691d17488fd030b7944baa5053f5c88fe2135a0f9cc59acd80426618bde5be9ec925adb8016e6b8c65558951ebe025fbd54821181f351b5578909aeef6830b6e0566055a4042c9f5f4edc86616f60db31247c1f0", + "0xb8ebb864c6c5af97fd429a7b4fc4845bb8b131b1fa3dcaaac39f772f3f9e60304389284a5209e9cf36e2e25652fb6e1d0e0198d63b8ad749f3a0ea0cf58f2829f04ce4b2a9bb043a57e1ae5ae1a69143de95b1d6bda62b9a9479e31393e187af", + "0xb76a3795243dce7ea454e4aad1a84f8b11a183c0186013ada185fe33144ef23ed077b52c7a88e0daf38464fe483a2cc0076956cd6b260ec194459cf605d1c8e6f469e774267ac1f6c6fd086a9ab3b3ea7ff699e3e2854902f0daa31a1b99f0a3", + "0x95357cfd80da4cffa424a8f8980a7deba93f20d129d293ea4f16438ce8f451d37de65dd6ad24527dc2b19fbc2954a4bc194bf3299d5d42c2677713cfb4de995c40a0791ebd020427d91544a777554ac772d515f31b7d122009b8c2fe009473ab", + "0x8f052dcda73f066dbe3b8f3fd8db8f79e02a0f38a6fba58d1c89cc39de08645bcfc0824384050365bc7afea0d940755e02f876165bd2e4e7d2777ee379b2e2b2f8f885a1fb739b10841c37ff10a9f9262a01df1ca45fb45084155d52f579f59e", + "0x854b52cc311e7c5a737dd6f061eae4e851c0476ac272aa05f76b8e90190ccd9cf9c1e2e0b540f503d54d803967dd804e16b471e407a3fed8c9a5f365c89c05393b83a42c2c5927318914cf692b7cfec8b3c3c374ba6b62c87da7fdae0cd36daf", + "0x82358320b3be91b8a5e2509b1af0a611545cabed7f1cd27630693b079c6e76ad6e32e76aaed1ee5cb8ccee8bcc474a951647432fa4ae39ec4f2e51cc3637d651785422d481170e8e49a8f5fecc334499b1de281742d59b881b88c287c7433220", + "0xb990951c11b8433200f3985cb1ab48c22fb36e2c5c9315ce2689ee9740c1feb34c703cc604f6de2e2f4bdc52cb1ba0960cffc0efbf8fb56717017cf26e7222ec335baaf7209e154f8338a870cf1f72b07f3bf25dd16ad82fa730f003906a2763", + "0x8392f64a24bf41f87a851825703c45120c02927e9ee88f9eecc7b4af3d95499e388da334340fd20100c7fc48029b940a1870f2cbfb4131b66c292ec33467ac68586f67067bf23cf7089bc775bfae6d1c1d190b9b39b59eb545fc4b301afb8c9f", + "0x96d2e70ff0ea0c69d32d4ffc3a78a48ac933c025ee2839d2b49181243713662e68a862b99ef7dff2c3ee6e993ae3b01b18265c4f8a574c5315cdb49cb6c96721fa2519cbfc49b16f37942de425ee30f776ead2a4db80b3b02de12abef9a5e3cc", + "0xb60389bf508a0e8ac9c666f2ecb4d865b3984fbfce41512cc5e9929d72ecb9485013d50593dd4bb720bdd89cd615cbff104a1e7a9e898273396eac4049e3dfda0939b5c27249d7cb87f03066e15b5bfdaa53cdfe1c0f1f14882ef9090ac0b09d", + "0x93bbb343f38afeb8c1d997a1f0842696275a1c56db3da64781172683128437ea46f244d23489501651cd5817d4e613d41511c0f91a5411a857a95ddf016008bd21495ed30bc17e9090de91d4b1eacdd18756e33a90eec5342374acec631672b8", + "0xb71a3dea4a780b419dcf44310391fe9f8080da6539acd46fdddd51d3238085a3bbe27b0242bebf183a84f7679ab730d00713d5675347f120c286f0da2106120668bf29a76af1745b77fafd96c0dbdd4944b878d7ec17297b43b74aed415f81cc", + "0x81c428577ee2957dff1edfd75674495784b4c43a944750166ffd568749154a1f65acc1def2a40aba5d17167886913a3b0dbb6a2cdd48cf1e39df18fd9ce03e2d76b3dc18f4654e9fe22e9db65e99091eba5064b11dae8504a291ce4740e16e93", + "0xb904a842ce6264c1b373374880af8da7161d3b6b18627477dd310e8a79303f466bdb62a8a1a1d8e9d67977156ba522b307dc6e43c64751c9f4351fc726d248d84710daca2ca962a50a0684175b656a3e7951aeb1877624c7e307343e24234bab", + "0x93ae773166a6e9cac98f8d2fbc297fa3da58f6432b628147a7b42911b8f101f43b392a7993ca0203354890a8abe8f1470bd57e22d6341b6d0770bf0eaf583d4c70028dffe3a6366ee5be02f42d7dd041b9f716620f7947dda9a86831e4e54a19", + "0xa5f51a5e6ab683611feafb765f92dcbb428e0e5b4d990ff51b87d3e93632eda6c32456f9b755b6bd7b7bf969e088122501c17a4c766dd036c5cc73322d5c93fbdf7a336e4e02a6d51ac0096db4882597c6b875b099c37c9e7a088a0e51406849", + "0xa5ea8f2748ee0225010b9e072eec6ff3c4cb4cb817f8f6c08143a48788bbd6d6def881761b8b19b009fe402c7bc7984d0efdb68b5eb0298d427c8083ab74c3e21dd7236b6be0c5828454a13b3bfed6a06c9c4db192ca8e76b8927fbb06425eef", + "0xa0b78bda1584310fe9e2c92e95a79072dc9c8999f06207e3b5f8bc394acdf377f0a4cd7e76686a256d17b89b1351995709aea2e559d32e71453674631dc332c4462392c843d111ee342de7e111ff7e628c9af6db22f55bad9d0f82a15c4eac14", + "0xa75bdcd4358042d931394d66f9c3668f9d834610565a886e7e6d1b23489dc74245769a79c99b0e20f2aebf14f335141b062c42fdb94aab7c0f52e68356acba48986d6e541e703d001cef8c097c33ea9ca791a86fca75a549fd45d349404de098", + "0xa092a96e5ca1ca45c9830c497e2c222f120ddb94f16b2a745310681be273c7562133b096bcd1e43960969976c49b01ec010a1e24a6cb13f9fe27fc17cdae6934f74ac2ec62898bf1e02a6abec853babc70197fb6f8b06a9d47ddfcb270af9076", + "0x80943d2e602328a25636b651a24ba7fe17bd7522aceea60630a93776b5c1bd9ea35c48b31db053805b165ad0545f63ba0a6c6a1380eb11f577d1c8766eacda030de303d1ee25a80b1ac79514e57c369aa457c6398f964c81cf4385b46e81839e", + "0x8481aee1b88a93ac8e8bc76899c4acbdf8377b435604c8fd7181a2ef97ac927be4bde8e4397febc392948f7521591e25077c3e91d31cf1a8415224d7f945fd9e67cdf208d42fec19c5a68e6aab173dea50c01d745e163feb191a0e3df78c068d", + "0xa6163fd6e4756bdea6f1962d37807b8a564f5157363629cd7d5427927aa45b358996a9624247fa0b359286641d254d1d0e661b57a8cd25ebc30218c8d19e2b9f61a0a9ea0c840036eeee371435a2304e2819aae69dc91e257edd3257b48df634", + "0x84cc2c7cf14b3cc206df2404acd7761df7afbdb7b22dd4a1f878e3d75f38c4894472fa30e370ec5683a37e45c9c23c8f14b8a0a98eb8f317284332d5394d5f6de7482360c9bcf82a59102975652b35c399d70ff3729cda430b1c70b1319149f0", + "0x93173eb1bade54b1490b40277036a76dcaaf08dc069074000fa5615d7369130482a0c08c6bb77480a1f9dfaea59f9ee40270e5c5e3fd6b251eb5ed838539abf0e378d7b28373b2ec113dfa4a50551bbed254ab6b06c5c2a1a5acaff841151a16", + "0xa6914aca09bce4a4558f3be813d2162f24b97af9ac7ed980ffbe3626de5103d1f02f3bc45434b0d2b2da34b92acc1ded184fdfe4c7bb988d61a1c3c7221d061921e8847cfeb3f691d6a068e0c876fdfeb267e8dc94620b302743f337e77f3b13", + "0x84a3b0d53b80efd389af451613dd90be02a95d473d8b44905559ec1daa3baca551ad57e17d173fbc4fea5829935401420c00543a50b8270b3a023fa35a234642dd7d4ad712364bde510d7cca19ba8e193cda032e6d460a0e354cf42eeb8a3004", + "0xa50bd0ffb83c6e62cd7a7d8100dec1e35498396ca04b5b34f04581a97d4e346b7deabe6e69ce99dea6974cbb0e17741a1886b43bdc6f6e569f96f67c7ce987ee91dea02a8349c03ce40d0ad588b1e7c6f6e71f2b7ced085acf33147ef352a334", + "0xadc453ce286a498194fcb9086efca2e46e481ab7cabf39aef60d7c92f6d46470eca2e0602dcbacc220e68c8dabda81e01089cbe7743abacec1c2a3da8543c218c299f26a009fb3b0f9078d11c1730bbae9cfc0062aff65fb67bd41d90bb1d346", + "0x85a0a6e8b619e184279b462c0a6325109acf737c75dd11dbbd01cb00eb97337175a5671b139c8681bfa31c05285d968e0891a4a31a4db750f603dd687e3943cce5f20c99752e77fc1cf0aa413de2206694c5ad4e7ab9e8b68c6a7f5854dbd9af", + "0x8d759e062e5d10a22f5674a9ea0e11e22241a43c33a88c0b0a3e1a9fbfef47754aa4028db02e120a9b27ec2dace2423718e343656638aed7f76ea33c31de147cd12006aa8776a3fd0e52087bb65ba4063d9a1c6a0a39f12cdca5553b2800a09a", + "0x8151edad362be3d8f2a32f2ecfb3380421557a40c594741623b6c9fdf4a16c0e9aff69e364ae2b31e0cb5d4a5e98594a0ef058655f596dd703364ee75ee48f39068121675de080b29e4dad8d72e2818dd7146e31e59ebb4ab2f4a4de50ab908c", + "0xaa84dc3d32073514dc77e951b53c2abe317def69ddb6d63939aa31fc250f841407277242eef2d29005b56ccd1ca7a3740c971c50e6682cff51df8848aba6b8c662fcc5a185237a0c7bcad851d4ef28315c7c568eb4604dc8ee50d9bee59a9b61", + "0x8e09f51f75d161cd2b9ba911da394b9694b3af2a47d72fd0d7352650f004250648807903ab02cc6d870086c52f8d748a001aaa2e0ea9e93c900b0d6ecd8582fdc8e8622df167207a7c2e0d52505a1449ec44a461195e9b9a274249260639dcf4", + "0xb9b16d46f8cad5844e945c58af53b39b320164e3b99d08b575792a1611ed062c3a4b6cdd58cf60793f83348e791891f015621509d8bf2bafe6730b63fdc9be8d76dc8521b4ac32f1eb70f501bbc22b92391261615ab267a10ac60c771f0cb9f2", + "0xa4a4f6529068f0805352e7cd65184605dc9563d538b577b6a11bc31002c9027701e65c7ea83dd0f842a9a19a9711d53d0085de745b858ae24a451c12347c59a1360cec31eff951cf452cb1d9457952a5f267796ed9beb771189c8a378abe8cde", + "0x8f4e607a5d151570124792a4372a7904122a01b2d77e5e22d96a73c85c7421569c252eae77cae7ff85b88ea978439e7f064e78cdb6c5797bea43b617e0f78ba4685342e967502d9c2dc016fe74cc98eec2563cb7a2f81bcf9e706428af5a8e78", + "0x94ba66595f250a8f8b71996b918ef5e3c2024b6a5e8625745a823b8adb928ff2c8a9e7663a175c66c8c88ca9bc2eb3bf11083d535ae7d58de780b4d2fe2ca8bacdad6ca801f3956cc3f1ca4a7cac8ff5e773c25d612f3b6e8db027a2dc759b81", + "0x994b86d9f165a8278bc6629bcb3d10a4793fd4f944acd680827f74a73a537926bc61b2c9dc2a6d1d74b8c6e714eb7dab09c142bd30779779322b5622635566998e4c9cb50c77a5b83a82b7a8ea3184acf76e7c567b43519f1dab14aac694bec2", + "0x9585f1cbefdcac73cda67fe8df6cb84a9e5b1f87070b5df0cd21eb5958b7c6bbc6f86f395c012ea5d7db084d2c03329810affa551cf8915484e50ac3698d0cc6cf870b2b429fa11635cda8527e234f19d300066825f0fa8bd0f2e2ca4c869077", + "0xaf1bb901947a1ccc0dcded9961b2a3294b8a7220175aea958e555a5faee875237240c244f1d8edd5e860ebaa03b37823133aef0c2af29a55a50ff292c231c560744ddcb0cecfede94b557a7d4c10c23342a55123850a51ff7fc0ad163f58039c", + "0x8acb9be3813f339dd3599ed03c1fb88e96552aa64eb4c13cb87ee97f3cbbca49314209974feb8787101959a1df42fcc6057b5770d887405f164be250aa8ec4bb68b6fbd17508a38f59af20a58f977de9912506c6c0c7312fc648bbb164493632", + "0x853c2dc8daadaa32d699de3aca18ce57267588e27e71c74d3c3a3bec94bfc8e63da17ab1d802791cc3c9cc42f8bb58491296c2609515efcc9bd555dc136548a06bba737952062a558a8e2a1038e3a747cf5a69c0fb6550d09ece604558d12c63", + "0x825235b9aa5a2884992fe43bd77d00f8bb32f8e6ad059e1ad71c384f7c6aaa1c0f433e4e89293f7edcdf9a405df7f46a02bab8a23f867db9622e92b4a41a25dd8f4b1389f16e6d6f07a5113c97c360a3f9455183a732ee5cfde2a324fd1f4dde", + "0xa7c2f7008a0ce06123d49a601dea8b8f9a2554882605c210bae4acbf626ac01c119bdcf83a1498ec93b55ac5dc0e014818bd485c60800ed29e14c0b923c65a14d0b56558fc86323de62f4f45159445cf3a3ce0b0ef17f87b03649153e4b9c214", + "0xa7c471e801e1d334dcfe504b03cb1d593c112b6d4a40ffdb7c8dd8a92a26e098166d61cf7d1244740a773bad2cc9cd640a8a363b62d28ce71c9deeb7ae1f2934e06e9c4687703bd52320c32cb3133b2240503744730a764114c0dcfcd7b2d29c", + "0x84047d637d7031ece9651aaafff9f5644c542beead04b323a76757e30b84c1150f513a352e9de851ea16511d3b0dd75c041d0f2396d15806758da2504997bf2456328a78373ad936c6ae8a933fb18f6d857a4415634c6f9ebbd5a49a86faffb9", + "0x93423d313769a0bae18f4a1eedcfe9bebb49483ac10b28ffc9504dde110a3fa2848ab77c923ef45fc209069889d1561c05559a4a8eee0028fb7fd68cd2e711de6baac6a57f03d5f172e9724b1e3135b9e648869504acbd650b16a295ccbf148a", + "0x92f763c48d50ec795003c4ddfa98bef1b354090f0e93a62ca0a25ce4d88f17d0c9a675325046d255ad03c230fd305d9819cfc0550156a8441c1bb30574272ab6239cc2760d211d3db3d339305b9018583259237118c2fbb7e9e3dd657241820e", + "0x873b99a1856d450d466325b028221beaf581741009f44cd04e90f3f7f50d24ee7d40e8c1d9bae6b6716fa7970bb473f5184eddcd51ed638d335bd68b3f612a58491c713c495ad4a73cfccd37a10c2ecb036b08fbed6ca62e4842ed705608094b", + "0xa2d2a5b4341bc03428a9a59af1931296e48fb0999f1e5536d8832abedd568317abce9b0d1809ed10f37a308d2ab36cf30e00865dbd223ff0b86c6fd6afe1ab81935fe6b07c4dbbd5c152821cf80b13acfb7472ac6d485c8a3e79bc5183156af6", + "0xb9b1ae0d7dfac939d3bfa8e4166cbb3d3f906024347df8630f564e5dfd4cc7e2af5892920e9611bcd65d44c7848cacf2007923e8e02ffd9e59b78372f1a15301729c03ca36f6fa569b3b93dc9b6a78be143c5d9184615834c7923dec3f2e875a", + "0x85c9b948f49fd24822f36e90decbf12363beb295c787a870b319e2995ea3d6d06d8f10aea72b88c87612f6039d5973380e1b85b0dadf136929efadbb6e966c73805d3a41b10fbb26d6ac12f01856e701c5ee9195f1cd42bfd428c39c54226ff0", + "0xa067d3120ee2991d9c64d27641969a7838c8b85226e257ad466241e0e2cd1658d32902dfd3bd2ef3f1db9faf420bfce417cb4a3b5563b0f2a718ca7cacb203a2a0d907917bf797ae21084a4ad53229fcb5a17462a27f9ad2c9046633480d19a1", + "0x97133da132e320f0e5f996d3361bb081b9e9466e1c5941a1db439a73ba8ffba89f46c1198785dc8f3fb8d03bfe9c04d111c91f9a6b84852de4bde18471db6956f77329c5547c4bc848de1d685d54d4eb541f2cd5c0b403c76e2d34f9251d78d1", + "0xacd709e8d5bee2649a5c96c7849ae36716b44a53ef34bf308aca92cc348ee03a1d9b8930ba07208698a409b4bef54f311542c2bbe4897e17b9938691660a816136ca5faa7491fe2e1555db8c17630d6e22e728baa07917fb82d085ed0aee683a", + "0xa335bd563f2860811750032947b5ed11c9f9bebffaf1c304478b9b432729fcd6b4c392b9c80d2767c1b0a9eb506bdfc20d54f8d3202b29db25bb9fa5e1155013c109225c871f29f33fe527751ff20d3587268356039b0bde9f9f388922283065", + "0xa53d8df22495a1ebcf637f9d6d47573b0cbd2736835fa5a917a6f3532b512dfe038099169e6ec93ff87ea00e2b3df14e15aa3ba119cffec81064708acf9228df16f8926f500d57a3d6cda60e758c5287cc284d23d518c7b3be911695587bb308", + "0x8015db7bcdbf4290edea9df8bce87a491bbc477674aa6a81bd9b9dc722e692da90b8138125f2791adeae943451952f0c02f07a140b047a78349fdaa93a34db5ca46766053661470c08bc108b5827c646ee65e32d394fa560b01e715de757b3cb", + "0x850a16597bf34968801f0e06b1409f86b2f9b4985a08e96d70bdf402609ecd89bb9549357d8da7356559d4c0fffa30421925001ebff69e7e0ac7d13c0c1436c247209f00823543ae28df7fd4dd80c541f166850ff71ee4ab3b2979f1b650240a", + "0x8dea8f58b27ee9bff4145ebae62e2a8074f719046d5e01a13fd8693c7225c28d0d21b4fedeb9e9eae5330eb4703c7a350a7669b882e13bf5463269c96f64e377da4c93403dd7b9610a59b6d3963d85c1682385f56e89f69a09c6dcdc77ed5c8e", + "0xaf7e8fa3b47301c98535faaecd8b29a6f2da4a6fa4963d7511dc2f44807a36428dd0140005312bf4314b0c19d68e062c195e420cbf06c1af7dda544d66ab4f02f20a3c31e10d5b253d56536f849ef1b5c1ea48dc4c2a141c804d5d8bc1c831df", + "0xa248414e7d0cff2cd27625294b42803e1f21debdf5188306fbce11c7dbe5e031b1d4d5a1bc66c1e193175654cfe397b60db383dcce973cb84d977a8b2326cc40fab65e6d74017cf4d6329833ad89a6a15c0fe1adf281395c0b19b6c0c7d334fa", + "0x8f4e48041ef9fd82885789ffcd3e5258c60560254e6d66bbc50a13dcc12dfcdc070ed931f0f78ed9b6b3ab8480db0a680562c26c758f53e7b182a62a0de181ef7013e86fb0be63ee1576287f74b0d3addc2109564c4b972b262d28a0a2eaab6e", + "0xb4cd61582739de891906b7c4f5409d3ad0e0bb23769a96bbe7fa6db95d632a1779644c64a1da6f6e08a5027df1d63ffc047ed1a4790ee898941b538942deba66c587e0cd3b1cbc2064cd9dd759d675c7bc73560f69bb6943c54973d3254d61c0", + "0xaecad6ea740146d18d7b3c54d211b41c97664f4af0f89f1c5f2a23c6a76b791ca405f6ffc46bf3faeda9a0ce38496f581430aaf00c6cb7af55bf577cbaad82791ba62f25638af13baaa68b7564754286a1409d642b075959989189b9083ffd5d", + "0x8ecf88270d806a9d5619f404303e00233be0ce7c3527d4ed28d064963829fdd2fad7f7f952eacac8e056ebaadc3125330fc922227fb78fbc3ad72492e7ce44e17e4e59375b4f50bbbeed912aed5fea9453808c9cc8e915789b9590400695f7ac", + "0x8c65d0cc6d0567cee0650b7b30834bff7bf90a828e448a7952ca174744749dc8e3116bd157de75d3407744bc5a9e89130f0a07d10a1b204fd4039e6a862670c55e197ae0caaebee3b871a4d9012f3c812a99a8ed05fc8e1dd23c635144f7b9ce", + "0x8e37d096bcd19dab0f5fc66450c7dad974f24ac6bf8ff9c6bc5b294961b9a446c9eadf700868a6a6255792de633e2a1708510afad83671f563cca08954ffc794d501cebd60024ab29ff169d355767a6bb8d19e0ff72eb184330e2400b9252215" + ], + "agg_sigs": "0xb636ff2f9a4e009341d0bce5bc23e89d597fbc2a24869ddedfdfbc0db676347f06756c8d904a3edace97d3ff60ae56651179310e2e71bf6bcbaf2f9339f10d0d3d0d7ac36143c4de9aeb401fea16626ee480f8ffdbfe8efd130695334e3e2fd3", + "agg_keys": "0xb9f70e3eea157a1515a8d79aa1f1c68e17f32902ffe3df49216a1c25f31e91589253768e58335b8d5608d06a92d037a3" +} \ No newline at end of file diff --git a/scripts/generate_fixtures.py b/scripts/generate_fixtures.py new file mode 100644 index 00000000..2f6d8101 --- /dev/null +++ b/scripts/generate_fixtures.py @@ -0,0 +1,55 @@ +import secrets +from time import time + +from py_ecc.optimized_bls12_381 import ( + field_modulus as q, + G1, + G2, + add, + multiply, + pairing, +) +from py_ecc import bls +import json + + +from eth_utils import encode_hex +from constants import ( + data_path, + privkeys, + domain, + msg, +) + + +print("Gen pub keys") +pubkeys = [bls.privtopub(key) for key in privkeys] + +print("Signing") +sigs = [bls.sign(message_hash=msg, privkey=key, domain=domain) for key in privkeys] +print("Agg sigs") +agg_sigs = bls.aggregate_signatures(sigs) +print("Agg keys") +agg_keys = bls.aggregate_pubkeys(pubkeys) + + +def convert(value): + if isinstance(value, list) and isinstance(value[0], bytes): + return [encode_hex(v) for v in value] + elif isinstance(value, bytes): + return encode_hex(value) + else: + return value + + +d = { + "pubkeys": pubkeys, + "sigs": sigs, + "agg_sigs": agg_sigs, + "agg_keys": agg_keys, +} +d_converted = {k: convert(v) for k, v in d.items()} + +if __name__ == '__main__': + with open(data_path, "w") as f: + json.dump(d_converted, f, indent=4) From 73c59e2e397ba1e653ca33317e433b6a7c72d33b Mon Sep 17 00:00:00 2001 From: Chih Cheng Liang Date: Tue, 28 May 2019 15:42:56 +0800 Subject: [PATCH 3/3] Deterministic key gen, and right upper bound --- scripts/constants.py | 5 +- scripts/fixtures/data.json | 404 ++++++++++++++++++------------------- 2 files changed, 204 insertions(+), 205 deletions(-) diff --git a/scripts/constants.py b/scripts/constants.py index afb3822c..2950eeff 100644 --- a/scripts/constants.py +++ b/scripts/constants.py @@ -1,21 +1,20 @@ from pathlib import Path import os from py_ecc.optimized_bls12_381 import ( - field_modulus as q, + curve_order as r, G1, G2, add, multiply, pairing, ) -import secrets data_path = Path(os.path.dirname(__file__)) / "fixtures" / "data.json" N_VALIDATORS = 100 -privkeys = [secrets.randbelow(q) for i in range(N_VALIDATORS)] +privkeys = [pow(2, i, r) for i in range(N_VALIDATORS)] msg = b'\xab'*32 domain = 5566 diff --git a/scripts/fixtures/data.json b/scripts/fixtures/data.json index 571c7c08..ac6506be 100644 --- a/scripts/fixtures/data.json +++ b/scripts/fixtures/data.json @@ -1,208 +1,208 @@ { "pubkeys": [ - "0xb053e3fc4ba337f2ea0e166655d712733300ac0e406ef67454ce9e692354e77fc91e9cc127b0612dd1e2af22c0e8e596", - "0xad97e96cbacdb1f8be91f9e7887ee2155666009a8e2e09da8da236f7517220955b29f54351d2881953e9a3a7f98a5171", - "0x8262ca44c00aabe1fc6c2019b062a18e33f135ac9eaa900e6f55d89d831a6b874760905902aa4266c7b8f4927c8f3d47", - "0x84c5e81ca3e47fbaf5e2155bdcc1dd37a24fde13f08f17961828600d9355dcc40d7e11718268048ba010296c66a253e7", - "0x81522694039185fe22944fdf4ddf1ffc4133da03d912a81565396f82878c8d2e6fb5551e445a206889d098d1c5f9a76e", - "0x984eb084f6e9e4cdeafcbc11c6471848d0330e1b950aab79677e87222fe8f4589775b004458e300ab25bd61fb756a132", - "0xb2a05bf09c6c06a558cebddc2fd19e65601c8475e2505df61d0b8ef0bdcf59c1057122a586fabf42143b629b304a90ca", - "0xb4d8063232d98af5a7781e4f9862389e886e36e5314fd4839a9f48d5aae2ccb77b4fdde604662a8e027396e2c3e280a7", - "0x853c6327c517d3a73ac174f89fa976d8070455529f380986ed3814178d0624b8391becda326bc1b89eed36029cf3da4f", - "0x86f7799fac9726bc9d795658ab62311844e7f35416ec90bbc549bdbff0fc61d37ecccd238fd0cd34a4f57882302a005e", - "0x9536fb7d3b559b2bf9c288db8b12637b8739ac5705e08b15462ddf64ba3916302179966fc66568f250f9d9bee301991e", - "0x876eca62d08b149316779af27515c58fa303da4f4e04bd59415c0b2c59f82ed637418d35774b6a7852a157673eeb0fcf", - "0x970f6abca53749ee2b004c25913ff1400defb76054bee6dd0b4d5f73414a6099a556fc740f06208a2e68ad0d0ec89794", - "0x90acc2b7970e8e6b55896997bdb015dec023f2d36b78623185db4640a15f62197f75adff1bc85d73dea562036acc1b8c", - "0xadbae815098760e6b6eb7fafc0e30575762db108e1915cfcb3ea006110c89487d5bd1b6b31ef059d8e782e097766aae4", - "0x9023bc946ec42525a4984d01ba5f08cb8c293464410c739ca3b1dec62657997ff70981982e31b0abcc0aab866563b01e", - "0xb1185c03bb3f2a62952d867108cfaa83ea3128a328ce97c8287594f59758801b301c6bfc04e5bc3effd2f8b0bbd2d26f", - "0xb794d8901bd1a0c9366a603ad0f22febb34a25c7baace35b9149dbf54a3bd78c7e2b19364236324b991dde2988bfc594", - "0x8b8febd3c4a642db476059f81846c2bce3fa6d4139ceaa099a71544e1b502af053bb10961d186d8db3398b51a4369371", - "0xb2224bcf90abe2f4af258f4eb76cd8b5301f70d803640c6e5e6313ec630b74b5024048d2f73ed0655574535ab6519ea2", - "0xb3555d90b34e7728bca8769706f5ffa8d54c86641c6a2cc1b6064d8b6bd34c24d2c0776cf9b409a75d7b388f29c9103e", - "0xa6624243120b5c282bbb05c5cee48d82dd668e1ffbc7dedc55c0ebeb53cda0a42cea968247eaa0063c74d5fc96932cc4", - "0x85818711fb573f3a1094f47760c79ec15f302702c69ebbe6eee28dbeae7b4d64ae468f01c36b9fd7e1f52e85a648aa1c", - "0xb0d9e8daf923d3725c8ac08ad69459741167c3a0d10de7496d349b3e3d59eba0aa1eb3bc9ccad9e77e10e6a2f182bf55", - "0xa9b59675825c6aacbde764eb7d51a0e0b1a57eaf06a306c6a75105edcf528010f230923909f46fb4dd4953617207abc5", - "0x91097ad93cf0b881ad1263045e816cb83e098a810a10fcbb1082518bf29a47db0b15f0bcbf71113cb674b0f4596fddc7", - "0x931d3fc8e2f2254bf8c994d3f33ae15088e7d04f77179bbeb34a5ec4c44ef5e6380972743ee55f0431a0852a5cdba773", - "0xb341e1336b44c998f990d346cb60e7eaac33fc8a41ad568202cde28c2f01079e13c169a6bc3de0eafc9550f9c1cae9b5", - "0xb7e5a31b0e56a316d0c218722cafb559b16343178cf1a3b36ce10154993915799d0f6918f354d3f3df7a15b84f2e094f", - "0x989d3e22986040a9c37c9a619675199f0df75b95c7ea9a8cfa2630e1cdfe4494e7f7b36f24be2e08da02f629ad60fafb", - "0xad4e0a67c61daf7f8a4b96ccb500f005d4898bc2f4a3069503ff02fa43d8cbee598dfc67abdce33d6f7fd03188a4a844", - "0xa95e86a382e802b3189b9b0c14fcad476c7572caaf1e4effb6595c0ae3777ff696212ec6474ac95e667ced25e18b789c", - "0xab2e721c2bda10895297e5bbcab2323f4b5cf6e19e161464cb4168fc8cea75d1334b0ae21a9b1ec5f3d07d4928035929", - "0xb20c4762dc73332a05a3f765c7e49475e0f6d80660bd141baff80bd5e7a466bce8ce3126aef55d08ace1ee8bef45524f", - "0x8421f8aea9cda3670036ad6e8b8f63f6427137b46c1e2a07ea53b9438471410fe4567c0cc1a69f3628e0a32d2f348689", - "0xa1614397b3606977265cc3fa09e8d6be87d12664b937235b2a267640560ed86c1f61f0f02b3023df5c3e5a8c7f2c9110", - "0x8d8837f86f8ccff837d070e26171aa1b910746fb816fd46104c42f7dba6ef07081011a9d6031b0ba0727889d2acd1886", - "0x8f3e708fbc523e694c11b538d212aa74032e7227a73c40259ebb33c8f90d48d788f462bd2608a60179e821460988d328", - "0xb899e15503c5a97180a831b4870ea4d4c6ef0792df031fb97dff340eff744619ace13ee31d5fb58b30388b3850b9237b", - "0x891fe8b41ce8813d9f80275136e8e019717c5eb37576bcea28d766fda7d33d09d29d9d8a229f8643cfdb9217f7fe2321", - "0xa8b9a4b7b76ed53e674dd935644cb4fd3db35cefbbe4fd160890241bbbb1fb30fca9c8082f796092a1e2a9f8d70e445e", - "0x85147260642f90a2408e10c1a69fd043577a464ea460e9b50a21b6938d0df134c63aed8dce3e5f40c3b10e6d432bc554", - "0xa65842bd64c2c8495d627de934226c79f9d7e29dec388dbb4e04d134d8bda415ced4e0c25f934f3d400394f96ef7070c", - "0x98bdbe2b96f310cb2beaf8eb04a428286e85dadec5c464c65276a2b7ad555c446e437b738f5e8444368d7da13afe42ae", - "0x88a496c0f23a416d62ebb689f057685b5f8d2cd57b1dfd8b1adfb31ea5173f3e1651f7db3dfc5df1dbca93e06729bbce", - "0xa2614b22385e4bb05c9d38f25c088af370517a387d79778c060af39cc9f060d8180d5ec76671960e4bca579ecac17bd2", - "0xb67100cd4d72d098fed408f747bc5a7f841b5746fb89552f521d7902594c368978ed24e57f8231b26de1a9de2832cf76", - "0x95c5e5a319674980f0636e5b5efd8788d4d3618cb87609c374af7e37b5f20ec6c7cf31de2d316fbd7fc71c8da47d18e2", - "0xa72ece05db9cdbd5e084b3820fab7561841a3d0d275c0ae0be035f0f660772b4cfbef2fa1e4aa6ac45ae02870e058435", - "0x97b2dfb148f982e5845564178276eca1dc54f554fcfa55cfc9e050315b0d4e0acf40e5cafc4cb0df9949995b3f4f8f80", - "0xa7f200fab88d7e2d1e6a4d2ece40a7908e22f988a83d17a64dddd03b6aead3f0799c98e27df7fce000e047c0b81d9846", - "0x802bd81bfffcdd2d43eb4dfcd42dd46ae154b4cc0e817807f07f0a1329934b61101693f2cf0e8c7ca2323b6f7a397d08", - "0xb9f51ec1cb5f7fe982f39c609a29587749bc893f372103428604e88c52fb44f81585163f353473f71dd3577dd2cec106", - "0x82acf6dcfce6ba2aa3c564ea6298a72cf0588262ddf0824e66ffdad45db6c80dc24ceb0b000a15b2362e158a5b498e05", - "0x9728b4b7b3befe1d7486584f9ec0cfb5f46eba6447bd4ae97593bdefde9c79506286a1d1e50d40c8ae24184919c86358", - "0xb45c7b8efe21a639d77812fbfe86680fdceb84935ff15721e08499cff9958edabba46d4ee78bfb00755674f910f8cecf", - "0xa1d0861a4eaf81f930b008bfca2474611d019ee26bd37086b92d3d6867cfe42e41388c96a56f1c3352882b30ba0ce842", - "0xb3e4d701f4c4cabe2bfe7b456970c7852a4c5c7af568ccc64569966b73477e9e659771de5705b04e8d3716dbca836963", - "0xae45db3183a9c472a1a7e0d64d77d97087a169109fa6589076cde46801e012d121934c300337e98316a4cdd851773b55", - "0xb609b51c4ac558de8b8da1deab4d55653eb3977e9d8e0bae206225ad756d7fe32000c9d68c56cd1e0c3e24c3caaa7e6a", - "0xa4cfefeaaffa3e70b897a6b3de4856714f1c47fed0e51b77e82741f3d39d5bef06da035a82c577ae41cdcbce2ed554ba", - "0xb67321d8788ee94b29fe925963416a48726a4e8ba8f87d804f7df6cf75ed92b7cc089fbabca95ea3bcb62d4c7058596b", - "0x88a00d7f9f9b241eef1f3730fe2c18de5ae8f3de004ad0cbd02d9c50de9e1249e900a73663c748237dfa0b38ebdf2f15", - "0xae2f213ad2846965ccdebb608b0686e5bf3eb2d76e43f6d3f55ca2d07c9bbcd88ae8695bed2a31538794a8eadfbfa7d4", - "0x89a46e762b5196857137bb313c75b9d0f3ae338484931802280aeb4ab76befe22a2d644100d6dd6ac92178bd18c84da0", - "0xa7de99130bc48c65642d79566101655afd16a433d861f49882be9c5705c34b866443c290736409e4b5cfceeb20a1ab78", - "0x92e716eada60a129045ea265236471efca765db38ed9c16bafcbe01d381ad1be3acb3b866ee808fc7ac71511a246f2f8", - "0x89c1612cd6db936753e9e32ac30052d1bdbe6d5f03a1e97bcda35a1a15e5272c516b0b59397ce261eb8d9b9bdf3f4488", - "0x9582d29e32325eda3a1818135a6f2489eceee1821af100df2e31f9c2eb9ae7598ba06028211b677451305c65a14e44c2", - "0x92561e004860aaa19b47c4fa516ec42baf8911b74f26581e90ce14eb67749dbf8e4e861934f0017e42b5dc7616e31afd", - "0xb1919c4ed73e61408b323c62b4b2c880a8285b00f69f9a5636924daba6ffcb8d0cbad03f6e0947a9e60c73febeb1169a", - "0x91f0c8e8125701672a0058677544d9ae7288521894d3610f68308716d8fba900b5faede12f55a02a9640e010e1cb5153", - "0x8c0d7cba1bc47073448fd8827349bdd5141e32c41a263baaf7aeb20438f527aaf607741fc35970c1048424b117b9389d", - "0xb0bc6d40d43017e5f34138644b07a49f7372c604df41c7c0b1d70704deb36f16312e2a41867a31d1c051316fa4955482", - "0xb385e5e2eceda45af17b9a4bf4e2c4d76539fd283a445379a5d1c94b8a16c897ecfd015491fec6924bf4ce39da1d38b6", - "0xb85779d289a90f20b2be1def0bb8082a2e783c581fe6587a41fd93a812c88dc1f980e60862690fcd88f18f3911eb51c0", - "0xb268db72228a5e04b5f2fc942a322f7cd28316c00c23d32ecc64e9b221c837c49bcf4d59674d2a76c4a7387f319c444a", - "0xb569388650bf2893b28c514a019325a3a18920eb011b82ce65ff8e9ce7a6a01f119d2b218ebfa0fbebefc7a99c8ce45c", - "0x82e418c9833970af1de7dcb226c78306680163417fe2720a945b233422aaf25b57df783df8dedcc8668b7c3f68aff420", - "0xa34848f71f3e44271c06249f469829aee42938b2dfcee433b7ca63608d77d6998dfd4f487eb4d85cc65b11778757e263", - "0x950b52303b03c0f265d3f34c9812e1409300615d062975e62c7bc071765b79ebe898184a901f76afb110c301c512c900", - "0xb8483610564ee9794d88e302f5573321c43c2d8f12803b2ef972db1366b64f6783029a26aac9c471e92adbfd21cbb0c5", - "0x9052580389d26e2f37702a4f1f0423720853ca99b20664c4672bb0afe444a42febe740e7e61053bd8bf6960f3bcaf504", - "0x92613d5987eed4ac43aa5ff0eb7fcab5c722c571bc143c49d773036c7793f537c715a1117e2f9674d3b3def912364139", - "0xa299c87febe1d996b82c1d62a8c0ac3ec39cfeb8c9c041148cfd84dc0afb5f7a96f4fcb8f01b8f3ed245f7d4bb2d83d2", - "0xb21a3512201740dfa9a1cc8dbde7227a77d32f07e4b0b7ebafc2809b4b2ceb660467b294d0032e0162bb7c1c97ae7d17", - "0xb1ae6edc8ddcef1800745a7eb792920bf541978c34f789ff7060a339dd5f8fc822404bf0eddbbfb843ec9c5f159be22b", - "0x8988020250b6e84baf6683de592c5f35c28da74d68ebb2d6353c78dd04b98f9c0f727e2b47ee03308c0cfc984093634d", - "0x96f8ccce598825e61981cf19b54dee590ad291a4852c63f125e7f7aedcac7362a53485c687ec27d70cf97adb23b0fb59", - "0x96ecdacfaf8627395efaa5dd0e454638ff6e8eb2697365e8e4bcd7ccf20227541eece58d67aaa4433ffc0ef5f8329429", - "0xa0de14cbbf4d283ccaccc76060451132d76972fe1622eabf903d77938bc7acf7401bbcd876b1a476113944fefcf00706", - "0x9362ca739b84ddd3ca9f987096279f31726e032bcd23cf3c951870858594407b7e8c10b331a30e621c3ee47629cf1755", - "0x91682c12ada59c0e2119e5a92059734acc1a52898c01466ad9844b00a927d8b8b773bf688c6ff77d2b3d19290cb6f14f", - "0x8c320f3b876bdd017904ab1051bd30b88c4422401ab1a109014202c38a41ff5ca93a8b0177ca361891aaaeaafab2d1c8", - "0x8e2115991dde1e82e7aaa5046fc00134a4ecf6bdc89188c92b11c6a83afb3bde1e77260edd8fd1a74e431ba07096c104", - "0x8063f525a817d24198ca8da26dc24c36887dc726ea90add015b1b74e70a843cfb7ba559cdc338c331ff2faeb4a8ba502", - "0xabb5bea639b8b1cf18dee63bb43fcc995a77d32007761991b8dd66161c2ea0fec018fa56c4a7951c220606c2d28838b9", - "0x8f2650ff13708a7edab864d2238fb4f6aca1329f3447960d27f99bafdf57a10c7581bd663c7aaf7f3a13899fc97d09ed", - "0xa173f8b1243f6a6d119dffabb5b390c65763dea9a5592db287db38c369f0fc3d4f501e16792ee048461ff190e6e05eb1", - "0xb1cafdbf5bf9ae2297549c4e1523b55c1b5aece8f0945675cb8dec4e2f562857b64e089e3ff03313f59c16fc0ec235f8" + "0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb", + "0xa572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e", + "0xac9b60d5afcbd5663a8a44b7c5a02f19e9a77ab0a35bd65809bb5c67ec582c897feb04decc694b13e08587f3ff9b5b60", + "0xa85ae765588126f5e860d019c0e26235f567a9c0c0b2d8ff30f3e8d436b1082596e5e7462d20f5be3764fd473e57f9cf", + "0xa73eb991aa22cdb794da6fcde55a427f0a4df5a4a70de23a988b5e5fc8c4d844f66d990273267a54dd21579b7ba6a086", + "0xa72841987e4f219d54f2b6a9eac5fe6e78704644753c3579e776a3691bc123743f8c63770ed0f72a71e9e964dbf58f43", + "0x911bb496153aa457e3302ea8e74427962c6eb57e97096f65cafe45a238f739b86d4b790debd5c7359f18f3642d7d774c", + "0x8b737f47d5b2794819b5dc01236895e684f1406f8b9f0d9aa06b5fb36dba6c185efec755b77d9424d09b848468127559", + "0x8025cdadf2afc5906b2602574a799f4089d90f36d73f94c1cf317cfc1a207c57f232bca6057924dd34cff5bde87f1930", + "0xa9843dc6497bb8028cdbaea5c085b8e8c28bb5182ce691fa9ab5303b6792b2f5af0fc8fe52abb92c07ad5f4cf586c400", + "0xae0031515253249cc68e8ff6381c85231781f9ba5c251f8d663d634b461bc6a35ecccd2938704d36cfd7eb7bcf843b82", + "0xadec245e630cdf805c86f14258ca0e24c8016ec11defb065d70ad9a8c6dee38b26b2499a5cf1931ec65a2640ecd8424b", + "0x956f2f510d8e6acf438600f0bbbf8b6c96e31183abadab8adb864d76dfb209bd3cedad07d188bc53ebcaef76eeb368b1", + "0x9664301dfcb940539b336e6b21c156cda3c8a63847727d37491a892db7f4f2bb9fc9730163254e8bd028b730c8b39309", + "0xa5b360b364f081836261542b2b89effd6a596ec8b34fd330a80446d64329bcc8c74bce9db9b5c6adcad5f70e3b631bb0", + "0xa5680dcfa6fe6f7878132df80664232f847e03748b6383a3255c019c45bc9299835562b0b288fa1282c267a94a6daf00", + "0x8494bff563fd1259a04b868f64e0472e2d1f48ff0a02a3142effe17df01f8611146e1218235837868b42963637a4e769", + "0x96fd045abfda74406e9626cb18b8dac331d2ac3b37d8429e16a2f08415e128be210ff16c47c8958043a9812cd78159d9", + "0xb5f5e6bb054d785fab30756d542e9cd9461b286fc75f09c6368b577f9e3b486d4d1b11fe4c60b3ec838421276b78e55a", + "0x8b3ba6ccb6ce819329a40ed6c804622423dff836f618a364f1b6abfafcf979014cc628c795a65f777ef73de1b60bb9eb", + "0xa06ed227d708d67e14dfb5062211b1ee95fd7af61989297e08bc0eb1a9b3c5a9eca256f181b59d09c86746acea06d5e0", + "0x8cfaed1a56f5709324661a8e98718ae1b1a556839d622d473852283887e44aa197c75787d67ec2d1e6ff06a88e4087e4", + "0x90acb49b847d2dc727499c14d667efc7788bfaf12736b80df4ae28c505037e7acf22936964a7a5e75b78d6fdaff196fa", + "0xa468bd3b3c8e5d281ee78ee82a79fe8a92fa29161a52e9fab6f89d5b504d79bf0a1839262c3ecdef123830a8ac31bb03", + "0xb4d042a6a4098d9e08bc71ef6be948b6281f0f5a0f827924d367a97dedfd7ad900041dc0dbf45c97908a6b7e7b8de2c1", + "0xaae77052de5f10b669565187ea3c65ffb21ffb71268b11d1e27ec0e8ded8dee8de2a8316a91d4004d31126bd7e09e0b8", + "0xb2f3447ee96702a908269eb79948537c86a1d1e425c191a012c5a869ea7aa5d7ef90bea26111d265c8623017b8cb3359", + "0x96f370cbd771a847ff9d37d000037d18dda7d113649036a403842c09e610606ac04217ad651c66edb3e66a8d65e66ad2", + "0xacc9e9dc5d1498c1a5cf2fa977298bb04b16d1ffe38f9ed7ca076fd55bd5bb2a2dbdc21d03640763a90ca66ced3a29aa", + "0x8be35cd7d9d7081147eace4ea3a41609f65fcad2677dbe659a2b2f7673cb9b986531817c314b0d9d1f93a5ee7c176b1e", + "0x838e6999e280483328b0893b74ac34268ed6d4c1c291cd6212f155cf959ffe96f4ed1c7dbec093125c5ff60cad253ab3", + "0x81598ae491efa7dc792da276f90c055dbfe54684e0718ed34f829bbf62966fdc177464c3611c81c5c912261d2f70814f", + "0x9962157960a16461b89c06aaf91d0e0817a650dfff74f041fe9100288769489e6cefe0aa501f2f165a53e5e5ba986f18", + "0x93595a99565efdf519dfacfb0682654a2652a53756db3ecf213cf28faaafd96bdf48450667690c48b9cc9a7ff08314e0", + "0x81cf17ed4079b9c601accec23f87414cee32baf86edfb8050fb8d980d0cd346767190f8735cde6be587c0cae6de25f29", + "0xaba9f2f9f74bf3cf053a18c2b4f1ac5a3cdf23ae9e45901a30385b765e1ed2ecd1e41edf89de5bc9fee777fec3b49971", + "0x8ed3dd2dc68b43a35ce6900eeda5382ce9dd71fd821a6375739ee07de8d3674d8e263c760986396822f4d9f14043c3fe", + "0xb68dd494a35bb87cb047d87e72ad575de648a6cf7b556774e5a6d555222f3233d8e659970a49ea4f47494bc2aa317442", + "0xaa46d7ad828715f4b0cf1569d2e2e6c2295bf6cd9d0be41c12216f94fa3b15892f31378e71d83ca5c4d0bdf5d499d00a", + "0xa6de4853510dcb06a0a090f60144367a52ef3a03c3ee8e85c7d44a57e0126fe039d573e5362f1cdaa321f864411e75a4", + "0xa221d4f8f33b4536d420f431408c99a9bb892d7dc6828f0d4480d057180aa5efa5a16cf0df6e42aa91ed749ba477afe9", + "0xab9eaa1569897ed7b0e8b5101eee59a151d6831539bdc6c5ee963172e6eca0128a85f3bfe2ead63c6d82b5e18ab1ba6c", + "0x9721a05bf7b4ecf2b0b0c3941397c6348966878ef958b493a1385824853fb2666b93cec4a12a218795c9a772e61b8f67", + "0xa7ee041a89f349b421fdb832dee4bc0f2661772a6cc38ef53bfbe2dcd677346863372e07187567bc576218436876f22d", + "0xb3dc7f6e963aa8daf98e8703602ed700b895f508e73f4b2ea50ae2763a6f2ceec5e3032408a4dcf303b46b9c94360a5c", + "0x94e973c8410ccc315cbcd5b8bed877e4955b17a0c189654133e27756443d975a3166286c109b6a5d89787a147b678e69", + "0x917576dfa3b891d906ef5638dd66b50471ce5363822f226a35a9e3d5f902155878936d9b7715f759b18a2029869c1d86", + "0xaffcaba212211b41ed2ad32300efeedc6bf8d6d5c0c5383331d75ff3b1ad8aab1805594080cd6d810a94eeb67ef06ced", + "0xb561ec5922f56b65ef63ba2cac01e47e82add1c909c73884f7e53379fa30ae35b8b2ea37cccf7bafd70949502ba5b01a", + "0xb40cbab1fd9f832fb86f29b214fc0269edc59460498070490322158b036ee68931e84ba305851a6d8d2a0816cb3e2bf8", + "0xafdead70d2396d5177a3666ac80b689403ebbc5e6d9d5bcfb3aa3b8310ffb2c0e7cedccf096550d9adbd55edf681974b", + "0x8eb5cb28d05c4dcea36b047a94c7542bc1043cb36bc5a3c5e8e158b3aed441c723061a256bc5a51c32b1f4d75b50440a", + "0x907a37bbaa0404791a7e35df9d88a491d096004461ae82c452d2c03a866ffd62c14ff2d66e5bda245126fd1124205ba9", + "0xa889073f601c573e596d10e203c01f793c1ea39406f9d6014ac4c5931ee19a467ada74562b787bfed5989bbf9290ac05", + "0x80fcf75be569eb58bce7eb94a35cbf12034804690f9b33bf148b81e0821665b23be368b295dcc6060d74efbf6baf37b7", + "0x895f0488bdd058df7c788f696d45545a50849f52c8fd50f1a1f75181d797a9adb3ebefcc12af83b66066470e90294fc6", + "0xb61214722a3d06e81515a445e3c786e750fe377b73cd7bb6923d3a62c2ad7baf47314c9bae1f31697c2d7e2b7630b623", + "0xb74a7c292b4484751f728c8d7f911e6cd0b78cff289923dafb9021a9334f0c79637ec5be115ea24717c88952f95c3a50", + "0x86e04697941a53043321ea118cebb78dc3fae7b456d609df68e529fb1ee55d1b5ae0c95c8e2f77ad6ee7595f442030c5", + "0xb0f5682dcae083882c8900dacae5ad172e80c7f05e35aab48a3fa6660ef01ab690fc935fe38b2660ba36796b7baa6122", + "0x8006ac05e8bd66612470da61255f08cc4cdee7c67ebf32c1581dfd77f8e931eb79265d6842dcc76a590c82383689dd2d", + "0xb645776da9577a5bba177eef60ee791566fd068e970af7c22a655a2dab656130fd90b088016d39bc8c2db8d6792254ab", + "0xb05b98b8ef7abeb852809b9b63efc22aaf0e3d042071cd003d0f9921962ffd26ed38cf6a4c7e3f9d3643544cb49b37fc", + "0xb2eeac34480fac83a32dfc044cbfdc9c40a99d20083ee918ea5a569674c3013437fb5cfa6aa76f3afa8c64af01da0d18", + "0x814857e17b2a0eaa5aa6e4f7fc894c8437bd537efb294e79fd253ec4d3fbe3b3d10f142e687325506111f54e8c78162c", + "0x9039996cd20e7c643c50fbf8018593c506a2d8eea53c7283a81cd7349f9a8688515e717f2de7d8e4940feece69be4b38", + "0xa12abe96060ffb93e5fe6dc2cda1c311e142ab8e0813364c90cfa679d62607b90afa3e4a241ee93431d8d650802c7675", + "0xae8bd19bc84b4ea9acb9b657d7e45932da268c70c4b34fda06f6259040923133e453fbbb0ce01f59b3d0b899c46065bc", + "0x8f914bf119a21c0876dc6b8f915a624f6f57695f7d40ef54a909d2c52a8c2a3be149812577ba93d401a862e3874f1562", + "0xae2e8553e79cbfa501bf7b02e412fd06466695d36aced47666220da549aa217c0bb0c8deed16c4698faa6fc320d418c8", + "0x8170bcf105a2c95ade043ed57a49fec99f20b610aec00d3db9e0912ba0965773a275d9102cb40c6757fe7ef9cc7ad6f9", + "0x913518a56ed2bc43d8673d10e3aa9975f1d5a589b04d183f965a736ba5d1d0cd30a1a120673917f8969d906fa8042a5b", + "0x860aa1307100d28a9c44cc5144f04a3ee426074a0864fc6e1c2b3f4bb7a8579e7473612dcf4357bd59d6560f96d34480", + "0xacd6aadaa1d0c97319755de1a1f51c338614e44dddc6ae7a4ed73767c669604eae8c69c568f188040a4f13e758ddfd23", + "0x94608153254e937e7a487258b28873d791947fa757e5e7dd5695f082e89e342285bd8e16081962ea1d8bf9c52fc11785", + "0x8c1d556949b6be9dbbdd340be745822ea63a2cf0fc8cdd98852153119f436f395d275258af238c5ff90664caa219068d", + "0x9395c50a8bbf4b92c185cbd4893691716aacb5ccb04ba2365562265519946e40f8f9f85c610e2dcef27bb3bb7ca6e58e", + "0xab00e0ef0a8671dc4ca5405f2e1148c3f6d0b2ec05d4ca259ea0be447d7294dd7c428323d1e8c35de8aa14300aa93128", + "0x8e896c950980f95f27e07382407b3e2e80777d84ff39607f415fbdfd38fca2b6283bf6ac439402b7406b9f3bcc03a157", + "0x9201be6baf9bb80fbfa7ebc2981dc2cd9254a59fc4e0a6543d5ae49987898b7469a3c82edd612dde54ce20d57c22c40f", + "0x8916ab4162e0ec64e23818635cc051ac4dfbc33094f054553290ed9af2f42de1fc5c95b11de952152f7a7063e82fe42f", + "0xa388fac3702958236d888a1a3ecdd9d431e865a1b2ca3a742d720a706c7c8ec52430e0b915c2e81976d30d85396e6d53", + "0xb2a826652ab208b93fa6357a0d83cfd834864b99dd3fac1831ef16d17ebb85381b881604521012fbb8e147f372350444", + "0x8a5154ec390033ec78cc79584004dede9ff49b4e41197d6445441d7f31d2236f3939fda0e0373285ec1ac641252f941d", + "0xa9cfce6adeff4cc6bca9b8dd690d85de27ebe12eed2fdb484ac1c781894f63147fcec4bfacc8b1c9d8be60b1e3915623", + "0x957fcaab055e2d13398b11eb4fd83ebf4de0f1b89d0e549df3856ef4c3cf9c89ae0965c17a49465ed8004627607e6cc4", + "0xa1ab48b49df0dd884bbc57052e787d7dd05346eb153e067f4dd9baa1e18d93133a5431301da13c241e37ee5fab6909c7", + "0x8263d488e99ea018733ce1012e7b8c15278bcbeb0a77696ea4589c439874ac08811083b00441f08ee6ac5250d1655f54", + "0x8cfd73effdbf9105e5a679040466280f03c02da94368222a05d83fd756d4c2ae341b73039cfe60746cd384599b850214", + "0x8260a905558e367e64ee72fd5cd751b36582fab1e9545a1c8d5e01ff0c2e4ce4c5cb3d9bcc7ea6a9f95b8b275c58e9f0", + "0xa9276fcf28f2f0a898e10acf96010714a09db508a10fce3a598bc0a55a6ecc9244fde28df1dd12fa1c5f5b844c58beee", + "0xb04b41fb22534c6ef5130af51f7727e99c8a498e89db9795154a15853a2b46f21e6f5ffacdf60149bb791bd4ed813045", + "0xad576e25e30c0c6f3440d317b08cd765985a84dc5adc5544fb2f24210ffa5f8b3322edd66f3be0fd940d0d9d1a39333f", + "0x97ae568d5726ed1de5c9314f2a5c00623226c944b764782130b67bf59c4b0055fb052ad0736b5a9bb094608302df396d", + "0x8b637092659202ce77a3214f71da8dc030a97f9744a2537057696515d2a44da2d78b2c326a2624e9d5d9377d6db7a885", + "0xb0f170fd80f236e8dd9ed7795128ccd91c34a42d602b3284b3e562df995af4c46323a0568c72cdd98565396f4bb24b3c", + "0xb8cad0f66815b6d2bdac76a93e0b15aaa74b87f7b53967eb8efcfb714f326b149aa01b57b5d6b41daa4266a54baa3dae", + "0xabb3972fca3444ee8109ca8c4f5f370f596a2e1d9d2badaf7b643e6894cd11dcdeec8f9b3a46554fc27069bc45604aa2", + "0x83faed8abbc86fc218c3fec62c34ebe10d967fac6f441c082ff61d4656b548e2a09c474541c8dfbe8793ca3c2d406ef2", + "0xacc8c55b2e751fbf6dbe203192f8a0964234c197232ebde2aa27ab57f703545550e192376a58bb7d3d29fbd7f5c25673" ], "sigs": [ - "0x95010a3b1576502098f89eb2f6cfa28ca29b7101a12851715f0acd97b37cf093e6349173cb50d089f53fd7000d67a61f06310a306b6cd9efb84e049b6b176409b1f34fe8dab30a84372522c1c4195355368a2e84d40e2f319db9bc1a805354f6", - "0x8dbca2df596d76d53ed202d2cbce126640a8ae325193577ccd5e17f036f9960f94c9454e8455ffc6cb2800f830b677f814b4da90ea507d31e9db7c498b54b7ac4f382fcfc07a5a79fb92b4919c317353dceef7cfc05ad905eeddce3448a6ebb3", - "0x8641600f7d9b0db720c6c3de31d0039fe37458e6a0caf0e920d6006fbd12e0fac62649c54b9213d0e0fd9203d19d75060e21b64fff020d67b1a6e74eda688a89f771527a518995e8a07f9c6010d562c46a5b0b7d6a217408c5ddbfe4b337c23d", - "0x8f22143aeff202668f6888d3872ef483b54d6242572c6dd9b0696016ed0d9a89db14460089dd91d1429721c39e4c535a18f83c01398107e3ca9b01d7f9fd0ea7c257b7fcbcf2b23ba8c48e5d5f4237a8820b462912e87bca59e27d4e0828d1d7", - "0xa82e32b30cd095592e2d02e35713524c09b3564c77ac7d9702f04dcd5fc9b3b00f58b0e7413fd5c01d4482adc315404a0aea40a6a894b0bc4bf7c4db519c30ac722a68e779f162c9838ded345b16148fc203da327a8ef087452b2934be0c7898", - "0xb9c2ae68a69a56058b429e4f3d3a8996d7ee350ce236adeba9b75cbc209761b35b8b2f4a7e5a56c496089657745fdb8e021d446fe77f5be94e9f9121fde25e2c3566a33da0cbfd7f6ab6282cfa0a254fae045ddff929a8dc13ce8b4d3ae745a7", - "0xa9d32296bc3f3b6bf49df679822b0f430a65a94ee2e3687e18168baeb6232ac50f8e5a6e4d3b5f141aba7cf45049b35807c88f0270537e336c3e8503540ca35abc8e9e8ce50cf97b56da7c34886aeb9bffb1b48cfcbec156d10ffd02cfdbf2de", - "0x835c1f635c9d0ff11ff9a6a40e8a07bbd399c32f7740e40396b15d32da4fddbdcadff8b78e149885218a41a7f30ebc241053c8c35ee514893e4b56596725fe71f2221b709c99e3cd1e985ec62a917ff47758ddc66d8a42eb71934cc65ea0d4b7", - "0x8db6dd8f70a7de9497888a0fb84577e6555c7f2ea2aaf353ab0588efe65dfc5125343fcd1124e8f7c2b53f2c9cbbe88f16ae63250ea20cb13b7655c44a415694cf4013005296168bd3741f745c8f94997ff9b886f234e10156f4f19592ce62d5", - "0x908d213ba068411f4af43d884537435cc1a96315c682ab828238c33856bdd791ab89bb7fd599ff08b3154c56ef2ee34b07ee1e1b82d99c10ca455c35b2cf7eddef1db082de6b32dfef506eca6b63bf8d0cbeb50a0f652e6929d36ee7194d889a", - "0xac10bc2041dd29febe00921e9a642a3b0b981e909f4746473c4085fb8041a112c1b6bf4646e5355cda3af485ec94f6fb064c05f2d360ed7a48b0a233b89478ed852f47943d034fabc4b534ad197724ed5d742f59b4ddcc45c3988b77288e760d", - "0xb463f601f4c188b961166a55cd5b56424ece65fa7f30170f7373130dbaf4c07585db218e8b5d5f2f7db6589f8271b5ad17bb1e7ad40b87ff255c2ec53ad890005648c122d840cbacc5de08f66a27990371ed1768daa13513245bcc8d67372714", - "0x946849db5a78578a3b09f404c80059b8618eb62fb6863c1f4861f0ce1a0e2d9d69c04c143c772fc6fb077fbcd8024be909be97cab7f50f9c3706ee406d0d908c6fd9f1ebb3a1632d23001c66275cdeff7ff77fe20a67457e0ea5663d5a893ac7", - "0x86551f358783980b977a3e6d583f8961b172ae94b23d95f4462f524b18d5622b20ddf6a6234d16e22dca674126284d600beaaf9ea31409029ef69eaf404fec0ac4bddbc581ecd605c06a3185a3ffd53edc432de1381c7417c24ed9b9fe23fa3e", - "0x9406cfba947c64c76ca0fe96d70b935daf06d043ab997a9045cb0a364a2b346688f1892734a08694ac8f660ae65494e800c63b6820f284902a2016989f2066e717246c4269badd38c1954782f0c56fe2c4b017ab0e505934de8010f213933a43", - "0x877efe7d578f1ba6808f17a006c4a35e1527d45071d252325f2021c4fd932a9ed11e49709604b1c6b96935f021aa7f1b078a7fbc1d89dc4db21d54b29ea12dcff2e4c0ce3308ee6710e27ee117634237d5d74641fc1c0d601847e120f7cefd55", - "0x8422d4259353f6c8795f55a348a4e0af1332bca220c4a24ea14e2709f56aa17db4bdaa1fe9686ab291d09877e2f6fdaf19f7e68ae312bca3b2b2b707eb6fbb1f26026376957139546870c3650398f526d187a253946ab61514f19c046c96e6ff", - "0x8f05f92f4ff86f763da811711e40827e0cdc86b2a8ae0a47cc51e56d15351aeaa8410ad76690f8963569b50d15516ba80c55d24a95b565c50d24a122a4349040f84cec8ae0b550c146a2bfde4f82e94ab22f2c01d22e6d83f1d1963484249c7b", - "0xa3bf553e39be6c899932584854d4bba629989e44279a7dc87902143ef412a5a7bdfe4abf60b49aafe518487b7e425138155ff11c59afa5c6e9f748979fec3c0be72601e27710af3a5297d56fd3819fcabf9bb1737d2f117900eecdf475e9886a", - "0x82d1fae55f42e9070a3e75fc40e4cc0aeeee791918673e75d5af34b9cf7b44f0bcc478006547dd2be4f4b4033ed2ab590795bf5446ca601e294676ca9e801319e1a1a3e25b5cecb1d77d4fcaa271f652004933bd676d3a38cb48b361d0dc1fbd", - "0xa4f1bb5f27aec94d498f926d0304e1619f48e0b8085e4b7ae06f65991555b8127b5001500ce84483e70dac9dc7a225480861b5e59dceaae2a467866b7227b3d9f40efd87ca6b5fedbbfa726d209a655d847946921c6c1907c6f433b3660343c7", - "0xae338f545bd11cee204477e406c3f49a79ed09a5bc1dd1deabce8e1d9e3257094b785bb2d65ff5090f8c43e867b1ab62159a359667c3923670302d5dd13a5fa5898bf09932e4433abb10303e27a18d15ca3c0a127661ddd7bb031a88aa710a15", - "0xaaa0c2cff9411ed594c0d0af767a44187e522b037f7b83d342507ec050b774dd581946bcdc0b0b56c47346de7aca5a3c03d841f83e52a7f37cb285855b7010edc04e60d22bbff1f4eeba39b1528f54338ef973209b850a3065167b6413d6bdb4", - "0x980aea04b589663e0b5cc9f8c460ea568f32abcbc36412c1f8891d45fa2ccb4e4845ad3a632c0a40a1c53cb50e8cb7090d62b7bec467b5f763e8295095b6910dacfeb78aa0078ae1747eee6631f61af699fde556e828e0eea54c901f6887c93b", - "0xb81e4a62a534e1217f235decf465324dc4571e7f2296f5548d3df6c4943b6761634305252c2e71457a29fe58e60e83960deb00290f351eb217dabcec869929534a648d6e387b858754f6654b41c115efd24722e9a6aa6c4f885e1182fe4d3987", - "0xb27b47a87058704874ffe8ab70e954c792908726d6ed72ee88913c9b43a99e2ca9b85cd2c21ad09d6122c0143dd968cd06bc4804150c2e5f64dfebec7bbe4b7eeb409e3bf84357aa2f76966bfac7162d15af444e88b8c695d61cfea06cca0489", - "0xaa786fed7a8991d1c1e4efcc8985a8e34e247a7cb7e60de1f9c820637e3ac413b29996f72018d160651e59fc3bf22dc90db3af5e1506c962eaad7d71075c52861a51b3373658c7cfc6dcd7fda4501a6e936e5eb6f8cbef517ed13414e5428c25", - "0xb214256ebfd5659a7cc6d9aeb7ca98be0599b4e5a6abee13bbd1b6f110bdd378d88ae1e609f217cb2f402cb8208acb121580b2559117454b35360eba3d511754f5c158db520fe7eabf256df378e097198257c4078dac5a45e0017f2252f754af", - "0xb575031afe2caa44b04c63ffcf8b7ea1bfcd58ff01683415aa79cec363d9f5774f9b5638911654c4d74107943790560915da2c1fb7aca5517263ff29a62a98fba1ec37bac1e447f8ad4155a933822ebc3402f6713ba5cd937b8c79bb84dd5fd6", - "0xa7799070cab13920d6d892759c9c9fdd3eb073f7cf5634899701ca85cee1e91554c3484cc650f80e916ebcd00c1f360b139892d68d20a24a7024812349de79eb5a79eb766a630c8b24778fea855f9acd658493bde4f9568a6662cab9ebd2255f", - "0xa6d5947d03482ecb5004508d691d17488fd030b7944baa5053f5c88fe2135a0f9cc59acd80426618bde5be9ec925adb8016e6b8c65558951ebe025fbd54821181f351b5578909aeef6830b6e0566055a4042c9f5f4edc86616f60db31247c1f0", - "0xb8ebb864c6c5af97fd429a7b4fc4845bb8b131b1fa3dcaaac39f772f3f9e60304389284a5209e9cf36e2e25652fb6e1d0e0198d63b8ad749f3a0ea0cf58f2829f04ce4b2a9bb043a57e1ae5ae1a69143de95b1d6bda62b9a9479e31393e187af", - "0xb76a3795243dce7ea454e4aad1a84f8b11a183c0186013ada185fe33144ef23ed077b52c7a88e0daf38464fe483a2cc0076956cd6b260ec194459cf605d1c8e6f469e774267ac1f6c6fd086a9ab3b3ea7ff699e3e2854902f0daa31a1b99f0a3", - "0x95357cfd80da4cffa424a8f8980a7deba93f20d129d293ea4f16438ce8f451d37de65dd6ad24527dc2b19fbc2954a4bc194bf3299d5d42c2677713cfb4de995c40a0791ebd020427d91544a777554ac772d515f31b7d122009b8c2fe009473ab", - "0x8f052dcda73f066dbe3b8f3fd8db8f79e02a0f38a6fba58d1c89cc39de08645bcfc0824384050365bc7afea0d940755e02f876165bd2e4e7d2777ee379b2e2b2f8f885a1fb739b10841c37ff10a9f9262a01df1ca45fb45084155d52f579f59e", - "0x854b52cc311e7c5a737dd6f061eae4e851c0476ac272aa05f76b8e90190ccd9cf9c1e2e0b540f503d54d803967dd804e16b471e407a3fed8c9a5f365c89c05393b83a42c2c5927318914cf692b7cfec8b3c3c374ba6b62c87da7fdae0cd36daf", - "0x82358320b3be91b8a5e2509b1af0a611545cabed7f1cd27630693b079c6e76ad6e32e76aaed1ee5cb8ccee8bcc474a951647432fa4ae39ec4f2e51cc3637d651785422d481170e8e49a8f5fecc334499b1de281742d59b881b88c287c7433220", - "0xb990951c11b8433200f3985cb1ab48c22fb36e2c5c9315ce2689ee9740c1feb34c703cc604f6de2e2f4bdc52cb1ba0960cffc0efbf8fb56717017cf26e7222ec335baaf7209e154f8338a870cf1f72b07f3bf25dd16ad82fa730f003906a2763", - "0x8392f64a24bf41f87a851825703c45120c02927e9ee88f9eecc7b4af3d95499e388da334340fd20100c7fc48029b940a1870f2cbfb4131b66c292ec33467ac68586f67067bf23cf7089bc775bfae6d1c1d190b9b39b59eb545fc4b301afb8c9f", - "0x96d2e70ff0ea0c69d32d4ffc3a78a48ac933c025ee2839d2b49181243713662e68a862b99ef7dff2c3ee6e993ae3b01b18265c4f8a574c5315cdb49cb6c96721fa2519cbfc49b16f37942de425ee30f776ead2a4db80b3b02de12abef9a5e3cc", - "0xb60389bf508a0e8ac9c666f2ecb4d865b3984fbfce41512cc5e9929d72ecb9485013d50593dd4bb720bdd89cd615cbff104a1e7a9e898273396eac4049e3dfda0939b5c27249d7cb87f03066e15b5bfdaa53cdfe1c0f1f14882ef9090ac0b09d", - "0x93bbb343f38afeb8c1d997a1f0842696275a1c56db3da64781172683128437ea46f244d23489501651cd5817d4e613d41511c0f91a5411a857a95ddf016008bd21495ed30bc17e9090de91d4b1eacdd18756e33a90eec5342374acec631672b8", - "0xb71a3dea4a780b419dcf44310391fe9f8080da6539acd46fdddd51d3238085a3bbe27b0242bebf183a84f7679ab730d00713d5675347f120c286f0da2106120668bf29a76af1745b77fafd96c0dbdd4944b878d7ec17297b43b74aed415f81cc", - "0x81c428577ee2957dff1edfd75674495784b4c43a944750166ffd568749154a1f65acc1def2a40aba5d17167886913a3b0dbb6a2cdd48cf1e39df18fd9ce03e2d76b3dc18f4654e9fe22e9db65e99091eba5064b11dae8504a291ce4740e16e93", - "0xb904a842ce6264c1b373374880af8da7161d3b6b18627477dd310e8a79303f466bdb62a8a1a1d8e9d67977156ba522b307dc6e43c64751c9f4351fc726d248d84710daca2ca962a50a0684175b656a3e7951aeb1877624c7e307343e24234bab", - "0x93ae773166a6e9cac98f8d2fbc297fa3da58f6432b628147a7b42911b8f101f43b392a7993ca0203354890a8abe8f1470bd57e22d6341b6d0770bf0eaf583d4c70028dffe3a6366ee5be02f42d7dd041b9f716620f7947dda9a86831e4e54a19", - "0xa5f51a5e6ab683611feafb765f92dcbb428e0e5b4d990ff51b87d3e93632eda6c32456f9b755b6bd7b7bf969e088122501c17a4c766dd036c5cc73322d5c93fbdf7a336e4e02a6d51ac0096db4882597c6b875b099c37c9e7a088a0e51406849", - "0xa5ea8f2748ee0225010b9e072eec6ff3c4cb4cb817f8f6c08143a48788bbd6d6def881761b8b19b009fe402c7bc7984d0efdb68b5eb0298d427c8083ab74c3e21dd7236b6be0c5828454a13b3bfed6a06c9c4db192ca8e76b8927fbb06425eef", - "0xa0b78bda1584310fe9e2c92e95a79072dc9c8999f06207e3b5f8bc394acdf377f0a4cd7e76686a256d17b89b1351995709aea2e559d32e71453674631dc332c4462392c843d111ee342de7e111ff7e628c9af6db22f55bad9d0f82a15c4eac14", - "0xa75bdcd4358042d931394d66f9c3668f9d834610565a886e7e6d1b23489dc74245769a79c99b0e20f2aebf14f335141b062c42fdb94aab7c0f52e68356acba48986d6e541e703d001cef8c097c33ea9ca791a86fca75a549fd45d349404de098", - "0xa092a96e5ca1ca45c9830c497e2c222f120ddb94f16b2a745310681be273c7562133b096bcd1e43960969976c49b01ec010a1e24a6cb13f9fe27fc17cdae6934f74ac2ec62898bf1e02a6abec853babc70197fb6f8b06a9d47ddfcb270af9076", - "0x80943d2e602328a25636b651a24ba7fe17bd7522aceea60630a93776b5c1bd9ea35c48b31db053805b165ad0545f63ba0a6c6a1380eb11f577d1c8766eacda030de303d1ee25a80b1ac79514e57c369aa457c6398f964c81cf4385b46e81839e", - "0x8481aee1b88a93ac8e8bc76899c4acbdf8377b435604c8fd7181a2ef97ac927be4bde8e4397febc392948f7521591e25077c3e91d31cf1a8415224d7f945fd9e67cdf208d42fec19c5a68e6aab173dea50c01d745e163feb191a0e3df78c068d", - "0xa6163fd6e4756bdea6f1962d37807b8a564f5157363629cd7d5427927aa45b358996a9624247fa0b359286641d254d1d0e661b57a8cd25ebc30218c8d19e2b9f61a0a9ea0c840036eeee371435a2304e2819aae69dc91e257edd3257b48df634", - "0x84cc2c7cf14b3cc206df2404acd7761df7afbdb7b22dd4a1f878e3d75f38c4894472fa30e370ec5683a37e45c9c23c8f14b8a0a98eb8f317284332d5394d5f6de7482360c9bcf82a59102975652b35c399d70ff3729cda430b1c70b1319149f0", - "0x93173eb1bade54b1490b40277036a76dcaaf08dc069074000fa5615d7369130482a0c08c6bb77480a1f9dfaea59f9ee40270e5c5e3fd6b251eb5ed838539abf0e378d7b28373b2ec113dfa4a50551bbed254ab6b06c5c2a1a5acaff841151a16", - "0xa6914aca09bce4a4558f3be813d2162f24b97af9ac7ed980ffbe3626de5103d1f02f3bc45434b0d2b2da34b92acc1ded184fdfe4c7bb988d61a1c3c7221d061921e8847cfeb3f691d6a068e0c876fdfeb267e8dc94620b302743f337e77f3b13", - "0x84a3b0d53b80efd389af451613dd90be02a95d473d8b44905559ec1daa3baca551ad57e17d173fbc4fea5829935401420c00543a50b8270b3a023fa35a234642dd7d4ad712364bde510d7cca19ba8e193cda032e6d460a0e354cf42eeb8a3004", - "0xa50bd0ffb83c6e62cd7a7d8100dec1e35498396ca04b5b34f04581a97d4e346b7deabe6e69ce99dea6974cbb0e17741a1886b43bdc6f6e569f96f67c7ce987ee91dea02a8349c03ce40d0ad588b1e7c6f6e71f2b7ced085acf33147ef352a334", - "0xadc453ce286a498194fcb9086efca2e46e481ab7cabf39aef60d7c92f6d46470eca2e0602dcbacc220e68c8dabda81e01089cbe7743abacec1c2a3da8543c218c299f26a009fb3b0f9078d11c1730bbae9cfc0062aff65fb67bd41d90bb1d346", - "0x85a0a6e8b619e184279b462c0a6325109acf737c75dd11dbbd01cb00eb97337175a5671b139c8681bfa31c05285d968e0891a4a31a4db750f603dd687e3943cce5f20c99752e77fc1cf0aa413de2206694c5ad4e7ab9e8b68c6a7f5854dbd9af", - "0x8d759e062e5d10a22f5674a9ea0e11e22241a43c33a88c0b0a3e1a9fbfef47754aa4028db02e120a9b27ec2dace2423718e343656638aed7f76ea33c31de147cd12006aa8776a3fd0e52087bb65ba4063d9a1c6a0a39f12cdca5553b2800a09a", - "0x8151edad362be3d8f2a32f2ecfb3380421557a40c594741623b6c9fdf4a16c0e9aff69e364ae2b31e0cb5d4a5e98594a0ef058655f596dd703364ee75ee48f39068121675de080b29e4dad8d72e2818dd7146e31e59ebb4ab2f4a4de50ab908c", - "0xaa84dc3d32073514dc77e951b53c2abe317def69ddb6d63939aa31fc250f841407277242eef2d29005b56ccd1ca7a3740c971c50e6682cff51df8848aba6b8c662fcc5a185237a0c7bcad851d4ef28315c7c568eb4604dc8ee50d9bee59a9b61", - "0x8e09f51f75d161cd2b9ba911da394b9694b3af2a47d72fd0d7352650f004250648807903ab02cc6d870086c52f8d748a001aaa2e0ea9e93c900b0d6ecd8582fdc8e8622df167207a7c2e0d52505a1449ec44a461195e9b9a274249260639dcf4", - "0xb9b16d46f8cad5844e945c58af53b39b320164e3b99d08b575792a1611ed062c3a4b6cdd58cf60793f83348e791891f015621509d8bf2bafe6730b63fdc9be8d76dc8521b4ac32f1eb70f501bbc22b92391261615ab267a10ac60c771f0cb9f2", - "0xa4a4f6529068f0805352e7cd65184605dc9563d538b577b6a11bc31002c9027701e65c7ea83dd0f842a9a19a9711d53d0085de745b858ae24a451c12347c59a1360cec31eff951cf452cb1d9457952a5f267796ed9beb771189c8a378abe8cde", - "0x8f4e607a5d151570124792a4372a7904122a01b2d77e5e22d96a73c85c7421569c252eae77cae7ff85b88ea978439e7f064e78cdb6c5797bea43b617e0f78ba4685342e967502d9c2dc016fe74cc98eec2563cb7a2f81bcf9e706428af5a8e78", - "0x94ba66595f250a8f8b71996b918ef5e3c2024b6a5e8625745a823b8adb928ff2c8a9e7663a175c66c8c88ca9bc2eb3bf11083d535ae7d58de780b4d2fe2ca8bacdad6ca801f3956cc3f1ca4a7cac8ff5e773c25d612f3b6e8db027a2dc759b81", - "0x994b86d9f165a8278bc6629bcb3d10a4793fd4f944acd680827f74a73a537926bc61b2c9dc2a6d1d74b8c6e714eb7dab09c142bd30779779322b5622635566998e4c9cb50c77a5b83a82b7a8ea3184acf76e7c567b43519f1dab14aac694bec2", - "0x9585f1cbefdcac73cda67fe8df6cb84a9e5b1f87070b5df0cd21eb5958b7c6bbc6f86f395c012ea5d7db084d2c03329810affa551cf8915484e50ac3698d0cc6cf870b2b429fa11635cda8527e234f19d300066825f0fa8bd0f2e2ca4c869077", - "0xaf1bb901947a1ccc0dcded9961b2a3294b8a7220175aea958e555a5faee875237240c244f1d8edd5e860ebaa03b37823133aef0c2af29a55a50ff292c231c560744ddcb0cecfede94b557a7d4c10c23342a55123850a51ff7fc0ad163f58039c", - "0x8acb9be3813f339dd3599ed03c1fb88e96552aa64eb4c13cb87ee97f3cbbca49314209974feb8787101959a1df42fcc6057b5770d887405f164be250aa8ec4bb68b6fbd17508a38f59af20a58f977de9912506c6c0c7312fc648bbb164493632", - "0x853c2dc8daadaa32d699de3aca18ce57267588e27e71c74d3c3a3bec94bfc8e63da17ab1d802791cc3c9cc42f8bb58491296c2609515efcc9bd555dc136548a06bba737952062a558a8e2a1038e3a747cf5a69c0fb6550d09ece604558d12c63", - "0x825235b9aa5a2884992fe43bd77d00f8bb32f8e6ad059e1ad71c384f7c6aaa1c0f433e4e89293f7edcdf9a405df7f46a02bab8a23f867db9622e92b4a41a25dd8f4b1389f16e6d6f07a5113c97c360a3f9455183a732ee5cfde2a324fd1f4dde", - "0xa7c2f7008a0ce06123d49a601dea8b8f9a2554882605c210bae4acbf626ac01c119bdcf83a1498ec93b55ac5dc0e014818bd485c60800ed29e14c0b923c65a14d0b56558fc86323de62f4f45159445cf3a3ce0b0ef17f87b03649153e4b9c214", - "0xa7c471e801e1d334dcfe504b03cb1d593c112b6d4a40ffdb7c8dd8a92a26e098166d61cf7d1244740a773bad2cc9cd640a8a363b62d28ce71c9deeb7ae1f2934e06e9c4687703bd52320c32cb3133b2240503744730a764114c0dcfcd7b2d29c", - "0x84047d637d7031ece9651aaafff9f5644c542beead04b323a76757e30b84c1150f513a352e9de851ea16511d3b0dd75c041d0f2396d15806758da2504997bf2456328a78373ad936c6ae8a933fb18f6d857a4415634c6f9ebbd5a49a86faffb9", - "0x93423d313769a0bae18f4a1eedcfe9bebb49483ac10b28ffc9504dde110a3fa2848ab77c923ef45fc209069889d1561c05559a4a8eee0028fb7fd68cd2e711de6baac6a57f03d5f172e9724b1e3135b9e648869504acbd650b16a295ccbf148a", - "0x92f763c48d50ec795003c4ddfa98bef1b354090f0e93a62ca0a25ce4d88f17d0c9a675325046d255ad03c230fd305d9819cfc0550156a8441c1bb30574272ab6239cc2760d211d3db3d339305b9018583259237118c2fbb7e9e3dd657241820e", - "0x873b99a1856d450d466325b028221beaf581741009f44cd04e90f3f7f50d24ee7d40e8c1d9bae6b6716fa7970bb473f5184eddcd51ed638d335bd68b3f612a58491c713c495ad4a73cfccd37a10c2ecb036b08fbed6ca62e4842ed705608094b", - "0xa2d2a5b4341bc03428a9a59af1931296e48fb0999f1e5536d8832abedd568317abce9b0d1809ed10f37a308d2ab36cf30e00865dbd223ff0b86c6fd6afe1ab81935fe6b07c4dbbd5c152821cf80b13acfb7472ac6d485c8a3e79bc5183156af6", - "0xb9b1ae0d7dfac939d3bfa8e4166cbb3d3f906024347df8630f564e5dfd4cc7e2af5892920e9611bcd65d44c7848cacf2007923e8e02ffd9e59b78372f1a15301729c03ca36f6fa569b3b93dc9b6a78be143c5d9184615834c7923dec3f2e875a", - "0x85c9b948f49fd24822f36e90decbf12363beb295c787a870b319e2995ea3d6d06d8f10aea72b88c87612f6039d5973380e1b85b0dadf136929efadbb6e966c73805d3a41b10fbb26d6ac12f01856e701c5ee9195f1cd42bfd428c39c54226ff0", - "0xa067d3120ee2991d9c64d27641969a7838c8b85226e257ad466241e0e2cd1658d32902dfd3bd2ef3f1db9faf420bfce417cb4a3b5563b0f2a718ca7cacb203a2a0d907917bf797ae21084a4ad53229fcb5a17462a27f9ad2c9046633480d19a1", - "0x97133da132e320f0e5f996d3361bb081b9e9466e1c5941a1db439a73ba8ffba89f46c1198785dc8f3fb8d03bfe9c04d111c91f9a6b84852de4bde18471db6956f77329c5547c4bc848de1d685d54d4eb541f2cd5c0b403c76e2d34f9251d78d1", - "0xacd709e8d5bee2649a5c96c7849ae36716b44a53ef34bf308aca92cc348ee03a1d9b8930ba07208698a409b4bef54f311542c2bbe4897e17b9938691660a816136ca5faa7491fe2e1555db8c17630d6e22e728baa07917fb82d085ed0aee683a", - "0xa335bd563f2860811750032947b5ed11c9f9bebffaf1c304478b9b432729fcd6b4c392b9c80d2767c1b0a9eb506bdfc20d54f8d3202b29db25bb9fa5e1155013c109225c871f29f33fe527751ff20d3587268356039b0bde9f9f388922283065", - "0xa53d8df22495a1ebcf637f9d6d47573b0cbd2736835fa5a917a6f3532b512dfe038099169e6ec93ff87ea00e2b3df14e15aa3ba119cffec81064708acf9228df16f8926f500d57a3d6cda60e758c5287cc284d23d518c7b3be911695587bb308", - "0x8015db7bcdbf4290edea9df8bce87a491bbc477674aa6a81bd9b9dc722e692da90b8138125f2791adeae943451952f0c02f07a140b047a78349fdaa93a34db5ca46766053661470c08bc108b5827c646ee65e32d394fa560b01e715de757b3cb", - "0x850a16597bf34968801f0e06b1409f86b2f9b4985a08e96d70bdf402609ecd89bb9549357d8da7356559d4c0fffa30421925001ebff69e7e0ac7d13c0c1436c247209f00823543ae28df7fd4dd80c541f166850ff71ee4ab3b2979f1b650240a", - "0x8dea8f58b27ee9bff4145ebae62e2a8074f719046d5e01a13fd8693c7225c28d0d21b4fedeb9e9eae5330eb4703c7a350a7669b882e13bf5463269c96f64e377da4c93403dd7b9610a59b6d3963d85c1682385f56e89f69a09c6dcdc77ed5c8e", - "0xaf7e8fa3b47301c98535faaecd8b29a6f2da4a6fa4963d7511dc2f44807a36428dd0140005312bf4314b0c19d68e062c195e420cbf06c1af7dda544d66ab4f02f20a3c31e10d5b253d56536f849ef1b5c1ea48dc4c2a141c804d5d8bc1c831df", - "0xa248414e7d0cff2cd27625294b42803e1f21debdf5188306fbce11c7dbe5e031b1d4d5a1bc66c1e193175654cfe397b60db383dcce973cb84d977a8b2326cc40fab65e6d74017cf4d6329833ad89a6a15c0fe1adf281395c0b19b6c0c7d334fa", - "0x8f4e48041ef9fd82885789ffcd3e5258c60560254e6d66bbc50a13dcc12dfcdc070ed931f0f78ed9b6b3ab8480db0a680562c26c758f53e7b182a62a0de181ef7013e86fb0be63ee1576287f74b0d3addc2109564c4b972b262d28a0a2eaab6e", - "0xb4cd61582739de891906b7c4f5409d3ad0e0bb23769a96bbe7fa6db95d632a1779644c64a1da6f6e08a5027df1d63ffc047ed1a4790ee898941b538942deba66c587e0cd3b1cbc2064cd9dd759d675c7bc73560f69bb6943c54973d3254d61c0", - "0xaecad6ea740146d18d7b3c54d211b41c97664f4af0f89f1c5f2a23c6a76b791ca405f6ffc46bf3faeda9a0ce38496f581430aaf00c6cb7af55bf577cbaad82791ba62f25638af13baaa68b7564754286a1409d642b075959989189b9083ffd5d", - "0x8ecf88270d806a9d5619f404303e00233be0ce7c3527d4ed28d064963829fdd2fad7f7f952eacac8e056ebaadc3125330fc922227fb78fbc3ad72492e7ce44e17e4e59375b4f50bbbeed912aed5fea9453808c9cc8e915789b9590400695f7ac", - "0x8c65d0cc6d0567cee0650b7b30834bff7bf90a828e448a7952ca174744749dc8e3116bd157de75d3407744bc5a9e89130f0a07d10a1b204fd4039e6a862670c55e197ae0caaebee3b871a4d9012f3c812a99a8ed05fc8e1dd23c635144f7b9ce", - "0x8e37d096bcd19dab0f5fc66450c7dad974f24ac6bf8ff9c6bc5b294961b9a446c9eadf700868a6a6255792de633e2a1708510afad83671f563cca08954ffc794d501cebd60024ab29ff169d355767a6bb8d19e0ff72eb184330e2400b9252215" + "0xa3d7a4d1cdc4b258527d1a4444f9f55526caea4a490471b14e10c068cb2a00dfd91fa811a40b715fd1587d12bdfac20e06ea6ff4ca11fd6ff4354f727399aa80227b842653c76a8b4687f26a53d5cd9559413c4de666eba4198e6acefe69d26c", + "0xb039c9efb0e929479e7ad05807ced0fa6c910457dcc2f9bcfa4959408b141ebc2dd9f65d09550d08999d400ee871d2cb03c2b9569ed4af45dc63a04dffbca65f6dc5ceb386ee6d060b6509898bb0a8a0b83d84bd577d63070dbc30ce9f3d6333", + "0xb775cbe8aaad3ab0f4bc3c729402c5ba0b20b89196e4b742c440f90b8f370a94a5060c12e5f678087ca5a8371e40460b076b0ab2391335a7aa4419c79e30e9f641c05176bbda7a25333beecdac793e59c0470cafb6b7cace39dbcb16901c665f", + "0x8dc0bdb6e82211334126c4b87a3ca854746ffcc75f47f5439d547cf91f85fef488277b9c47b1d3fa23988e73750896d61415179ea0f5bd5a925241abd3bd20d380373172faca772797ff9726d9689d653438524cc3ad3cdd5e474c6a59b8ba90", + "0x8a5fe46216b6547273e9b21e66a0b72cbd32ff6646345d8a5a3a9dc440fa26570c4a1a170bffab04c838089cfdda956f0523967b225f89c9d258c1f737e4960d45cc0e9cd6ed7575a9c139835ae79f667d8cdd85339e81966741bef7884df361", + "0xa70a3e450fea84c2256b018887cc026c3ed5543016c63f22b171c0ba12a2ce2fa9bfa99cf3574a78434dd7cf73cd31a604dc0ee1c3782ca53481784b106dbaa5d05fc824e677e0c48b40aec348e29165d10a3fa65b5603f9a543005d7fff8339", + "0x889f97d3973bacd2cc020a29c6ca418fd4a0e24a7d39a4a50c6c6a6e10c655f293ee257bbf3803c2d72697efea5ea0f314b8d70b71ffca80b339478578b3f9a305558a567e401d42d62c027886bafb385b5d898e42030b984fb3c781f1ec4994", + "0x93f64658893da0b1526484180c8fafa91938aad43377aaf8cae31f97e6d62e95a9c24fae6c9916901fc9d254d827ce1902a3dd4427801273eb348097d6558de1f27c048714c400f5f65a3fd5338d9f3e5351afcfc657116f66b1db53162a9ef4", + "0x8502f77c5f757c501cff8f77a9d2dce891ee3b0da85b50b0064966202295e51ff23a30a6cc41c8ce70b7e8561881499715e655c1640494d3d0a4125b3d311c65a9eb34192e63eb977bf1e051621e396d447a21b9d8b8f67a2737c03f4b49f3a9", + "0xb5e087b4c70fb0bea9ec426bb63be66f978ed99eeb25648e2c08ea0d7559e3df0aeb43249e8f38522e18e969dc81a7750f74dcf30ab8ca58202c174e1a68e05f78e9d8cea9ff494ed2ef9b21e42a301bd588a16d03c7b8e02d37e48defe9e4e9", + "0x99fb3986581b393fe9746aebf95855f9923928a283d5c2c80631958d8ce07bf9f39ab18b951d792f67c869e15aab2eed152cd529a99666d52e273fa9e90023cea15d533bead009e305b2430afabf96966953c82e8b479180ccdfa78fda495ab6", + "0x82ca1abf61270f66e27b8a8c928ab3c307f41a83bf32262164fc8bda57257bc7f9af6d371f2b52f20a29a6eedfb7ab8807742379d42eca935ee38c5f3a6838b295f31e7bb1e4ce10b29927227238d27ef7906b96813fbc971b7638e41c6671ef", + "0x997ffcf34c8bb39ad5d857786158d1510d3d1a322cc3ee99af7f2f6dec8f5079e9ca32dbe550257137fd36a456b28d29005aa9f2915946e61532154e67d1d32d9748147254fa14c16df9f2364fb59c2948f985d24c0515ff743335390337ce56", + "0xa9bad4ba43332489026646a6c402dee11a8a8a727dfab289749f1bedfd8ca80a93ce5f14ff054a74e06ec84bd3b6ae07003bc5b990260781e312489b5d38847de50ffc547d912aca1ac5d4447c95378ce43a80898b798a25ecde5320f597b8d4", + "0xa4786e7dde882ccd56e018098531e7c1f4a91161f2d837a694a86cee2f5eabf72557f6cd57d2da1de62281b36241c81907db12323c5ae9094b4f7d3277b30f2a7695d117f534092057987b352aa6d79934b652cfec38f22fd7c58073d1414f32", + "0x9404cc61283a139df3d36a32866067b09ce9f959738d0e0b12ec0071c72655b10b230b087900f4e3495958ee8fa2ca4f058ff19bd45ba0561fec64fa92682a8ce6c04b4a49f4de5a54d19c46ebf19cf1629fe7e8425980a5111e696a76ef1f71", + "0x949e0e1fba55cb9dd8c9ba74676b96248f17915e80d7cb809b76daab54c4e376e6871ab428fea03657b6b4e76c33b1030f1cf1f8eea2088210399d615db8178e0f7a587f489704bf0e2fd1e87c143e6a49a4c084781545e2ca9e049cc64f9663", + "0xabe627f1f6cf6b7f17f58d68c8475d50602a364ad7eac1de57384798543a10c58ffa45937d30cf73d495d94c9acc381612d4b26e7d9a5595960958cc4cb2ee7df31768014052913effd46a6c6d3a70db55de0820f078447f10afada49feef116", + "0x988d243e0a41ed4dcd21f7da9bf044bc8cec638b4e1e2bf2fcf1963082fa5020c2ad6ce395e757ac6eb7b39fdcae12df14cc6ffdfac63e40c5ac798a88211e3963295e335c57d42608884b71fb2af3e923d7a0156f9e37c6295090f3aafd32b9", + "0x98fef656f534220164902ac367b3f3a27d822297f73958f96a4a2cf8c5376098b1873f441be0500c593b81126b025d8f002621c0e36a9fb7c85749db810eb0ddaf12ec8c2f618588fe05a400e1a1d46b32d1565779cf4609a6ff7b28fd3dfce1", + "0x8b48140114bf074b7141454e64dd19a3e98c723e83ac6f0069dd391f8e4e2cd7160a80493da6257a25f0c753519db77509b30a80211eb696ea1ac65f54520ef416e4bdadd05618c56213a4d76836da675d252044032b587d1b4127232369ffa5", + "0xa27d89711c43c963241f9c0f7c15ab280e00ef41e9906127badfb4ab77250ec180fb9ed98bbc0c6fdc9924f54afcb28312f601717a3ed8f9537cbb80c3c8bb79bd6b1552599858720fff82e72d11d2762ef0b769d9b798d81236fe5413045be6", + "0x85f7aa2be46d8202bfabdbd691a1d1c4706db3dfc7c1390e7bc7c1e2997f3b7d35df9945db1a39eb5c1ae9486041ea6911c938ebcc45c1eeb1edfe0f7c63d8923d756fc1e4a12b59773366e6f9f37a9b154d131f35a738ef511b808f4301a576", + "0x850422d1c03d62598ed5d0c1098647b37879e4a5cde1a1fd9aec375a06261bbf0b98d54264809260ebc00defc051375f0d68369a74c24c56a34dd03263d643a94c7eecd04920ae4dd12eb28ab6020ecc022a87ac12941589561ea4ed73adcb3b", + "0xb56619203fae2767e3af29c0ebb679dbcde1d3caf770609d907d6f58d6db153dc34eb6d8a2287302af662adb749c2eb7198d85a048da7a606a7359d10f1423a861bcf2c004e5effec8456a8ac90a8f4bd3a7ca449918c78d562be33908bdabd9", + "0xa624dc4f52ab15a450a4e7549fbf7a0a211b478631167981c8c45d5331bcf7d32e8daa7b37f138e1747e4cf4466c2c0d0d114c8fabd0c3a7b26b4328bfb4470874f68d5fd8055227fcdb2536286a94e9d2b728861256df9d10b3920edd3fdb66", + "0x92db1185bbbeb5dbca647b85942b3ee9034aa2d117f51246c6e822e70085602b5bfa9a0891e57bd89d191067905974b8145b8ccbda616f9d207134687ec432f6dbac8e8ec03ff97d07e9559e0ec7fb0b813cc7b1286c038c634bc22619aa5fd5", + "0xa96ad58b0682b47f516cbf9d5a7a26bf09d1b6eb1328a48eba2105e1cbb4a950ec99f75e7c483d83ad704e3e78760a94020e585830a3f6744e708708db99e7f290c5bef280678975a4feba98854a3fbda03f07672fa819a3a72fedf9faed6c39", + "0xa614e2d148986aec93df9db0691293fbfb794b974b1362064b6adbf6900fe4def2c3bed0f5be0fcb63cc93879011cbe602cf2b32df5532256c9332c66fe329b3d182b6975c2e0d1ae454752c6be5aacbbcc903c1c46f960dfd1c2ec2e03adec1", + "0xb4503455b142066d7bbe54fa6413c43d899373e7f30f6b4ccc9a1fda292d6175d0b550009c07f86c165e9e88ee017d1605c2b24e979ff6cc90e929064e532d0f60f80eefe472727169b3120c996edf82d3c27a143687740a7ed0f9501750aaec", + "0x99b37fcf4e0df33ebdebd8ecf5524533a6130abb049be5cfcaa8e65ffe0e2c9096191aed89390272896f03f067375115015ec5e6f3697678aa7657d28d05f8b7d5ac4b32a0b6122589cfd9b25f052a3624c2c27bda6160547616fe95a6a1b380", + "0xab1572872feefb5b343d2e12f1ad3138b0e05236da2fd000f46dff33b5fbb31f50a7c225f06f2a0f70896ba952f6b7f8117cd67bd1103662b5d804d50477b7b059a37c8f657597ed3a9a76782b2c73ec2a2a55ae5b8cf6cad580f9d5b7d0672d", + "0xa52bb35767a8f64cd16ddc405ace8e7e16efd189bf1a1137edf596e39662abb207452449a521af41bee63f824e618c09100e7dbd0391276014730be738b22d8fb9ce0bac516d973403aa7f5bbf741f09e8f91845588ddf6fe8fc59dd4f34483e", + "0x8b6696533a539713df95869493931dcf1046ae9c70f1d1579e6bc332d5dbb991ae816dadc522e7a8b918e455c4971e970692b36dc98fd96cf40a64d0ad2a9f81e4512f10b3e40060d2a3ebd2ca748c8602ce78d7f0f34a25434bcc98366d9deb", + "0x81ad53333e69a23c0e19c49e846339c01ea062207e8821b9434b95cf9c5360b354261a94bb8a980ee79cfa221130996e13dc3d7b691b997d410d761dbfaf2f7a79ab3c04835c75229ce4ebcb629c4c120ec071b5893e45a12229139bb29b9631", + "0xb8e5d81411a00670513c939b19ca4b2f0228225f79b8c2d8116afc7d85897596e22e366d8d6db0abb24761c073e5a57509c6f0e0481388c24a4d67006bbefc9fbacc792a274a66ec03f4ced478c26a474aa38d87c5c0e6f6ca93c461308e087b", + "0x967817f9d49e5023aef6418a698e3d6e876e5f5b5dd6325cdd0a7895e16bb5482563c2b16db9aac0d417901e20c998a80c5ac46dcc1afd985d80becfa0d679075f7dcf96f4f35159d9d000d5f873041dc93f3806be67c8f70cf61dea256fbec7", + "0x8a90e4a276c55e5efadc15d7b5ebd7e2d0d33fe07fe8434b4d8987c7233c48aaa5d63cd2ebecaf7a9228a3e80e9439e711ca376c8e07f25f53c7aad29fff6871f9ef2baa7571609ae6260878cacd590869612657125e81a32a903589baaab880", + "0x85b86070c3d9234c483914033dc677736324516bfa500c89dee0cce80393ecbd126a0f0014d13820c8a8622c98691d56136d78a1b90da9bbc9d9e6cf419ed8c8c928bb0a2935aba6d40c77a87fdccbf5882dd4ce04a69eb4ebf9fd1b9f94683e", + "0xa6f8cc212d171a73d11b34bc5ef21f8380b6b7ffb6e467449e9d2a4875955ab5b63ebbc1460c6a51cc688544f7c4a04e0bb686cd9984c13e91c3a9bc179afcf4ef42401cb69587215bbddd810b4a7e825e01204c27b5aecdc85d9a23ff0f6209", + "0xa48c324d1d8e15817708d9f3f5827cf3fc57b313459ac8d5dc85003ce880ddf99b94bdd66bcbb7de1fe1aeb7cda9274b16962f12583d9d29c0f3191d211793bd3bfbde7c6044f861b8334035066dc70a8bfb84ac4caf2575dbfcd7bcecc97c32", + "0xaf80b49938f7faf36e15861a4b08473d4121eb1dec27bde35016387f337b65648c0df9e71d078e765db966a7536b063b07f4e386b7f6edef40047d4c6d6474bb96d7098899d46079abf5fc58c43fe2fc23ec3c11b234f813bba89b32abf77b1c", + "0xa098c5f95f0c7ab69c0b667998cdbc5fe27829dc609b87df474c1132e4e4308020c010cafc6ddfb9be43cbb8ada620f816644ac6932b69ad7f64655d164447437f66a6c509a09ffabb727f576426a9885599ed1eeec7e3c1b6579bafdbab09ca", + "0x99c356f901140fed8068f0e85901835da17f57c040e5b37b76f910bfcdbe674fa2fd838740cfce0faf72e8dda57b9d9500ecec4333972f938b1b231d726ac5af5819aaa0c4b928279339dbc12c650af334aa17bd57a8a9450a0eb56b1498da8d", + "0xa0165884bdf85e4b1bd48b6b9a126f1c59e96ec25c4a8673d6a16c4a7845eee9371ae5550703d057537c2f4742ff608318308dd849d8e1324afa47b83c42febfa91c7245501197bd796a158aeff1ac08f454983af4454026db91cebe0e7bb6d7", + "0xb8aa6b884e084ca19601402c95c6ef2bd4bdd46f8a8c9e52e774554567c3447e975d0cb2550f4ac059b867c1f22bff2b132098009e180fd708b03415b0d820307dc8ca6f2d92a0d2eed74cd341601fe83eb5deda6734507fb3423b2be1b26439", + "0xa41a3b53869f07f9e687caaf04c6baf616db3463577c1c1c5ec353cad49108d2d9c35fbe5dae1a71b6d37c9b395c6e13115f6a2d00aad6012a878ee99caf359663a17d0f1233aee7bd5d9c4b8c04abd6c71e00fbdf7deb3ca78becf9359b69d7", + "0x94548b1605b651d336f63dd65b6e87b43f8ad7c1c0ff473050405512a96c3ee259dca018375e15b0cfcc87481b4befa51924d57d5a4ba0f394ce44d7883e49d7ceafc323f908a3eec10bef2be4f3ae52d34c05922c2a13d170901d3ac6002efd", + "0x954e4a376904420a49009f3ad59155726cea3eff1da97de9709d5d601924d17a0a2df442afa861f2d1084cc913efe44318240621d70d4d03f24dc557ed0fb731bac4e5efb0e2fcbbc2c4d7003ad9cc045737bbb5ec7c11c4ac86a25ee3694a5b", + "0x87d4b8b2f5e07c4116ba4c6e9317105122111557a7af6b3fe7c72800c5abedf5ccd69b03210fde0a3e864c3136e835b50ffefc885f6801e93ab004743b16e4689af31745fcd0bff77b2ca629e209d88b2f7ded4e3efa617f35c35786aeeb5556", + "0x91648c2dbb36a218ad1af074d7180522473c628cea775c67a3d1acfd677e334840286b47435556f51b56b95e07c8d8ea03d7101cc1bbeb296df081f476808bc8278d23473eb46db679e8a16ec75d0de07ddeac0d0f947f2539ed58bf62aff8af", + "0x8e33116965971e068a22c57bfe538c32661b9befb07a07229ab615f642b9df5881876138b9115d8bdc4ca5cf194717b512b27c03efe91933cff2527192bd029998a487fed8aac9dd994ec65083ec00820f1ef1ff97175d4a48db49439610a0e1", + "0x830c88932496512388ae7a8414f3d7800224dbb7b81fc9936a957cae568c41ba742a31e7b442dd478fc096d6243816940f97a6bcfa086d1ba21044221c2002ae499fe2c31277587e71aa0a8a2504b531a2b8778ffe4e6faa0914c1c27d15e6ae", + "0xb9259b92a8292b6467901ab370665d5952a856adad235f492a798fc2917908da6372c62b63aade2d56f3107b2afaf79512f676d584bb80ecc7fa836266eca67ad82d6d9355b94339253621c8f509c09b606ce48bb286e7d3dea629d6bac6caa8", + "0x9614a5e9f0d60eec5b8d020c93e5ea8d445983567f1bfba515349797a4d501589a677b1f288576b6dc9c7e2614d5ffab07c1b9e15cda252ff6b8b11bf53326ded5cecdf1f6087eb03100409f5d75a3ee74a414f79f28d832dc64f60ec42e2fee", + "0xb48fabe033f721cee4bdff5fd1e9f9dffaa721259319f183ca8d78697db7f3b1ecbd6d5d5f24aa3d42c9c6749bbf32900529a5f9f2c1c7e085efb20a473b638d52d4581cf7b0cda7f0262b54e25b885dead4be58690e9c3b867a95dbc7c6869f", + "0x817f779dcd5569aa110fbaf9e8963ae849d8e548f8872d2b4b2d43c37261dcd512b9b481b9f7024f0f6e1d9451e7c5f9169c2c2048597fa5ad63e6a35bd69e39a76a654844ebb5782d5621576630f462ad9743d198de476c7fbca6bbe10b3283", + "0xb74f3a9d6d75273ca760e99549195f5c33cce712765d35ec67fd562faf70223e3fad4a6c6831da015ef19189b25adad611142b21512068a9a1d0946517575bef41b7c6a6e1f5fb61bd5c1e6e388a0f4513f2b86f0fbc025979000c5b6c271807", + "0x86e3e776bc8dff9779f1cafde4ba2bbd4da85e3b970080701a712d810a564d08f5536fba49999de8f576f6748c1759d10e7958e25152c0216e92628ce72400354b9d712b910c2a15d08cfbe13565f20b09b9d4614e5c368485ab7b09c3a818b6", + "0x8591865a724dd0d548469e98354d0d6fb09e7c820d565e2b9a3af28433cac17ed6279f95345f101052eebb8170bc8e2514aba7bb94daf49c648143327afe55ad8998beaeb95df062c53690348282505fd80626a36686907f0acfd0ef729b4cd0", + "0x84fcfb0e0d1569ce2e839d55ffdd2d11c33a8827fec60f05f81cf1d0ecde6a2e258e0fc979bcc90c2153c23a416ec5e30a0f445deb3719f0fa33f602ca7dbdcaa0baf81d2bd88636a3ccea243c0dc2a665e47277f67b8be334126492ed5f2203", + "0x91819a776c6181e6fd33f87a07cc8800ab9d8a8c873e0b2c4f510f8ca8638f15a64d308c1c61754fa90ffed9962d0d79111c754ce2c38ff7aabaa38a8a42dd6bcd5a6f739dbde2ab7d3674278362f7fe63af708412a9cdc9ce7e17aa00fe9332", + "0x874dc3fb5dd5d5af5847300ad807d01e87d5f7def473e05bda39cdb97107910bba8d3d7b1e954eb8e96b1246751da252121579fee2fcc4b135ae4f38acb0a04976e69e290ad712995fa7bd2d7067d8de9f8631204f2196380ff1807c6ebbcc90", + "0xa2a7c083404efa593d083754bdee537deceff3582f57bac18b01832986ff665fb6c5a42802b9c63c77704764feeace0d0a6a3b2549d8aca62f57d53da3c5b8dab3960c99691def3b6a01b51d212777254b11e671c025e9e937adf61e01156253", + "0xaa4d425833053e7bd4e91011400ec1a12f1f38f7ee9cb0e6220b5741af76d8fbf82470c72bb7630e928fac6bb74b7c8203792acf176d2fccddd6286a61cbffda368368081eeb8c41863a189c9f9490f36114e4a483b6f347ae9d9b6f16589cca", + "0x83d03426d6f417bc7163d49894592740e4c56145c1b7b5e26905fafb6acf6d3c1bcb4bd6c129ea1032b968804262761513e68c525976fcb59303bafe412ffbbcf0874b4a9960445b5be3135ec4be948915055c80f8b92be14aeb6b49b17aa2ab", + "0x8d88ac7d0fb9aa70d48b6c904952dad4f6327c56d9b6ede44c84acdf07718c9e016967946cb77c476076d09a3e06ec440118fa8738f7481c3f5c474502c2b85569f18353c4d277d66d1d2dbf058a9107160e82d835368b5cdc7a4ee6ec529076", + "0x8be625f77a7fe1445ebc5ea57a4ff75deeb6e4e6052a1a30ea1e64d1e2fd0d6f511e07f8ccade8dd279deb95cde05e8b13a3c0ec999cc2661b7db07e0d1ef61d88c87a49c444a011a90e25e217ab6f7e5d7db3d2211de8e0e76855eabb5e24ee", + "0xad9bb1d3f7e4b3e91fed2748abe460a212713e84504d9558601bb21f2bb23c285fb399180bc262426838fc45e7e4cca617ae601c1b4865dbacaf65b943dbd0677d8b36221796f2a6d902305f6c2657bc4ea3c802d80eb920d4daf661dec92e00", + "0xaa9de70f417aef054203d2a8862cbd63e9dd7ed93b340477983c9cc22a51184b455798e327b63f688809cf5b3560f68e11727017d3d3050b12cef4c85260c46293603c19ffb86a22dd1c7dd67df8f041a0f006ab2311b4c3172851f137733ad8", + "0x8038ba46df5a133b352a80c8c88ed390c5cfbb9ef610605cbeb79275baf1d77b5f76884ef758700b439d8778c989e2480e733bffd13a6b11dd6f8f706014de2b1404074aeb748cf4f0f7b10fb5fd32436597a8312d3c8a93bc39cb95c05c33b9", + "0x821e3319dd1491bc19ab88c941ec514271cdbfd408313fe7aa252d78d0cd8ba10992d5465b2e97a877125ca8af0b6ccb1747cf969b690118bf97e61b46ab06ccc4e74e841deab12ce9e58653b2f61085470a9d4f0fc1f8ee55843171fc2e946c", + "0x89e08e321e000ff1bea17093465b90536829cebee546392fb509c012df790d2b2cca85fb8bedce5d480bb86f439e556209443e33fbea92e9e03b70d34d99cbb7260c2e8fd8d3c9a82bbdb387539fbd96fa5b79e00e8150fb42ef3680260db4a7", + "0xa0cdd13e0ea283a20cc9acb86617dac5bf919c2b6692f89104bb521c0a2ac1539596e3c71eb29c5c5d2b9c09758005a50a6bc6b36f4612fbb798d830312222029b5d14a50a1e76af98f9965449afaa3bbb7ac1b2851f765606fd994b3a1ed4a9", + "0xb360e2995b41d1a517abdf69a2164c358dba90498e95902d08c61a0aa02472fbab59f9a4b0f63b09a84e8a6b823fc2c8088a0c0227dcea3e48a15258ad2b38c4d1b9307e08bad039f6e8c4c6804feaf8939da0268a44acc67b8225220e5b37c4", + "0x81703b663c191818698a3ba04a28cd819ac929e8291ad7f621126db480f0231f07a977f95f6ef218761b6e5a39815a150fc2b43e6ac41e3c6ff4ea8f9178a4e351489827ed5bb9a6952d6b13a4490c70295f4c031dd8bc862d0d67b2f00b1c7c", + "0x8511e9b1a9e84d799585b65e797ce0f20e1917c2a43af6fc1864cc323df34f7dc22e28be1c5d794353d5f44787483c1b16716c95c33aef8376b468bd7c5fae1efc14071776beff156960362cd4323280e8bb8af35ae62af083ae0ef33d8af1de", + "0xa8c75cbc07700c5b0f61e2b641b1d0bb6c27de9ff2ac0a13de94968981c99dbb50fc949a99131b013d06f35d6c575ecb18ecc18f8cb67b7b3f6400b879767fb03083d6ecc93fdb0118d0c96afbbb1d66bc0bbabe97390e957feeb3f9a43a48b6", + "0xaa5b7e1390dba902660585eb4d73dbbbbbcfc5a907742619028ddaed03434079f11325395ddd762f1c4ee4cad5841b26009f881604c691f0f59e768d55e4e323542a35b053614fdce8b22f1fdfe99dbd439bb9a6d9144aefc318c3c462445199", + "0xaeaa3b42b764b2d32a9e22cd033d5bd55459c8bf5e49fee7adca9ef419419bf8966597590b29bcfaff97c7d914addac612841d1b65ec0f71e36c48d9dc2bb490521bcf529567eb1f48362b7dbdfbb50eac259824dbc3e02d9a157ed1e475f8f0", + "0xae6cccb9b0f04425e49567ebd2575c7cbf0aa468a9f9d215498e84249347504fca089aeb027f8a64f9dc470b852d984207e5b3223791a4994c9fb910177a9bc256b811424f8a529803b1e75870a57067e703147588b19a8e2d0e5e95482cc9a2", + "0xb3dc07415fe72fa44fb937ff56ae2eee6bcf92ca9084a3268cc1f8ee5a6aec1490cde1a8f8e5984a2776f23730a710b201191fb92fa973b9ad1d2634d6b9c2688b1b26ef99e7a2364241b42c15d37e623f947327e0169291747a84b8206443d9", + "0x873bc1051d8f1b63fb78584c5dc9168f6b0a97fb87b299f286113232a866f13c2aea762835dd763d390c44226a1df78004d14e7f1fc62ec8fef372d35a5b71570e2d0c07159c3bddc6192d8ccb8c64798425ec9e0db4e990126b19b01c0b0b22", + "0xb06609f4af7e42d68cf9d33fc2df773f56ca81b9760a1423bfa536d65c654652a20a8885b5e023d5473e413cd0d0e9c40c33d4683da1fa612863e22100b9e461166c2a91d266ce349d6c284a89fa0ef2e778c92abb8041c4c4447af025760913", + "0xb8bfec6041b1a7c0b916fe9345a7ac0d8364356f2a701f11e17a55eb3a05b00b369d7dda2982c993e190b7851e3436d80517aa438789e295a1c5ea6c83262e6d68af878c6e61e06386353c387ededd0c33c4eafdb71b14868741462a461ffe77", + "0x925d27a577a20225f823c1763f378d6812848505011bb33a2b19d71f51a25ea965745316689c4e01890b486cae7420e510d5b36607e3f4b78b9d0b8b97fa5079d3cb476a5e034ff91f7200a5630a57224015917ee8358b1eee43d19636b27a70", + "0x8ddbc495fef00e735f7de5417c5ebf98815fa35291d14eddb25193e5be6142c6280345fc2895e6d310c14ce62bdb672509f83dac4c2f6509700d0f1783c02e32f1111ef607a3089954d5bcea23ee0383af907783c0cae875c68083e485218f2f", + "0x880de89458a87f6b3f9ba36267aac8b9bdf71eee03165bb4e1943ee05259745214a977c664632a68bca4cee06dc09f650561d0299a41ada35174d7e70b8624de56137d989475a10d1ff34ea37a3800ff411854bf3cc1b83e32b9ee00632de424", + "0xafbd312518ccb9bf2ee4d2830ee2f18c190b98d10d174106feb6272779f1719b415ed032bb3d3380fb82eff9955f953f17027a41b25228e3ae6aa33b35d4f53bc2814ac8e6b72d530b78db912798593201457368a6e9f2db51d88baf745d5533", + "0x8dd1162cfd94387441cb9fe2a808b500cb8208a569dfa8bf52cc6a04ecc525cc8a926b7e17981e72db033b0c64592c6e15d3714057dcd02b55f87b13f416025d64d58d6e767ec2626e7f83689c35443e24f0c9252153b4d211802a3b095eab67", + "0x99e2c60e8a3108fe47c4ce64739cbd3cef41bfe94978633f977be90892cdd1cecaf48bef2f8d6a7cf69935f43b99c64f153223b50779b434469224d79d7860b5d87c23ec20390b2db81f846ff50f39049b4276dc7b919dd7bc0a50bce6004e79", + "0x865f0ec8ca9601641e244e1edaeaf3f7f9478bafceff09e379a78bbc69d00a4edbe38cd0ba2ea72c0cb667c7420056bd0ffb30f4c0e82d6cf2f12d2463adafce4f5c9079167fac24c1ba01a61b319969765d6aad634f5df8269d5e0cdf710a27", + "0x97f111d32b6ad0ce9f9a421faa61e9c12b7c1695276a8367602560bbbc4e03ac476753ce67068ba17779a21e353e3e911827b3b3e43bcd2cacf0b3325b391a9506524baed4c3a9717c877e1217633c41f77db920eafd0e920aee95ada381a96b", + "0x84e1f46ac0f3bc7475964ccff438719a817ae3815a2c01c9bdeb22cfc1e29d0bc16bf36fb87c0a4f9b86975a94f6cbc6032404956b8f56a88a4eb8e7b075d0c599d07c6b90de7fa6796b31e4d0a983cdb4aa5e4bc1866a0fa4f440abfb8856fb", + "0xa9fbee5b0757d1828179cfb1fd91a93112d1ea98450f28b6672fa2de3c95c27c089ce703e225cf7fad9c34d4af104257164fc1c49af81c477facebcaf493872692b0203a18c21ff2f360721d3bc5cc66982bd241669115ab00420001d7084c7b", + "0xb86c96e6e4bb19311f30c002f0ad392c95e8f16c097a52e88e9639a714d5fb70d8a470e8bfba6ffb6977fc7d4117446005d4c469ec8db23e8f1f7c353b7b3647c62b7ece3b9a1a469467d7d399332f0bd855ef30b9554e93ee16aae606bcdc52", + "0x80c6e7933435b9e4eb25847978f0914fd24e3da157d8e6e434b86a4d6fe5388cd951544a08e980f560bd2daf03d589650315dcc5b2e845eddda2c9b8f9154273907610936adb48b64452cf0226a0446ff7fb4e137c6e18659c40d5cc0c7ba4eb", + "0x901208eb5525e1c0031e252783652f89e3a358e02d6e331f3a58c71e24d851a298005efd2e7b3dd4512140ad56015fe3071fd5e61aa2d2adafb4f339b1468e21e33572c639eef8919d98bed4cc8caaef5dba47d8a9bb0916793ca5bfa242130b", + "0x87fc840c7e515c142c410bf69ce60ed124182dac8d83357dcbbee854043de116b94d2f36e02ea87881c8816196f704e506db3f9d2fbff8d514ee003c15b05c1406a0a6d7b123e4064e2db26fbf9a41b6bffe054e121b59f7e37c7ec72cf9e8bd", + "0xa1abea12c7ebc7fc372436e08fc9f96ce92138518876ecacbd13a0c18dab8815eabd55b6f690cbbf8bdccf8b8fc278f206113ea3c44d4aa148ff2b1ae21372e7f73e80d347b49f5633ea3ef89eaf0eecac8de1c9c8495f7a8566a93766baeb01" ], - "agg_sigs": "0xb636ff2f9a4e009341d0bce5bc23e89d597fbc2a24869ddedfdfbc0db676347f06756c8d904a3edace97d3ff60ae56651179310e2e71bf6bcbaf2f9339f10d0d3d0d7ac36143c4de9aeb401fea16626ee480f8ffdbfe8efd130695334e3e2fd3", - "agg_keys": "0xb9f70e3eea157a1515a8d79aa1f1c68e17f32902ffe3df49216a1c25f31e91589253768e58335b8d5608d06a92d037a3" + "agg_sigs": "0xb2e06596f82478080aa09e275b51dce0effced876d0e5d8685cd87ec5e050a3742079e785d64b7006274053d8229245316165317f058204022c9e2fe675e5e975325660c0a716587a14cc558b780619353147f31f71f11a0cccc1da8ee91d3e0", + "agg_keys": "0x82bbb37b3c0d236bf0f3cf6ca03c503f068018f3c054c044923ce12c22bde534d5877f681fe5517ae42cc51c26dbbe4a" } \ No newline at end of file