Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Besu/geth consensus issue (EIP-2929) #24

Closed
holiman opened this issue Oct 17, 2020 · 4 comments
Closed

Besu/geth consensus issue (EIP-2929) #24

holiman opened this issue Oct 17, 2020 · 4 comments

Comments

@holiman
Copy link
Owner

holiman commented Oct 17, 2020

Not sure what's amiss here, just dumping for later investigation. cc @shemnon @MariusVanDerWijden

diff:

diff: 
geth: {"pc":33,"op":80,"gas":"0x1059","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x2"],"returnStack":[],"returnData":null,"depth":3,"refund":0,"opName":"POP","error":""}
besu: {"pc":33,"op":80,"gas":"0x889","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x2"],"returnStack":[],"returnData":null,"depth":3,"refund":0,"opName":"POP","error":""}
output files:  ./geth-output-0.jsonl ./besu-output-0.jsonl
closing testCh
Possible consensus error!
File: /tmp/00000003-storagefuzz-0.json

Same stateroot

martin@mediaNUK:~$ tail ./geth-output-0.jsonl  ./besu-output-0.jsonl
==> ./geth-output-0.jsonl <==
{"pc":15,"op":96,"gas":"0x3715e","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":17,"op":96,"gas":"0x3715b","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x1"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":19,"op":85,"gas":"0x37158","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x1","0x1"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
{"pc":20,"op":96,"gas":"0x31b04","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":22,"op":84,"gas":"0x31b01","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x2"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"SLOAD","error":""}
{"pc":23,"op":80,"gas":"0x312cd","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0xc"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
{"pc":24,"op":96,"gas":"0x312cb","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":26,"op":96,"gas":"0x312c8","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x0"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":28,"op":243,"gas":"0x312c5","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x0","0x0"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"RETURN","error":""}
{"stateRoot":"0x04c0e714d75f4399650f26b8fed22717e153a824342efd8a8988f8e47f5ef709"}

==> ./besu-output-0.jsonl <==
{"pc":15,"op":96,"gas":"0x3715e","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":17,"op":96,"gas":"0x3715b","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x1"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":19,"op":85,"gas":"0x37158","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x1","0x1"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"SSTORE","error":""}
{"pc":20,"op":96,"gas":"0x31b04","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":22,"op":84,"gas":"0x31b01","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x2"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"SLOAD","error":""}
{"pc":23,"op":80,"gas":"0x312cd","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0xc"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"POP","error":""}
{"pc":24,"op":96,"gas":"0x312cb","gasCost":"0x0","memory":"0x","memSize":0,"stack":[],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":26,"op":96,"gas":"0x312c8","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x0"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"PUSH1","error":""}
{"pc":28,"op":243,"gas":"0x312c5","gasCost":"0x0","memory":"0x","memSize":0,"stack":["0x0","0x0"],"returnStack":[],"returnData":null,"depth":1,"refund":0,"opName":"RETURN","error":""}
{"stateRoot":"0x04c0e714d75f4399650f26b8fed22717e153a824342efd8a8988f8e47f5ef709"}

file

{"00000003-storagefuzz-0":{"env":{"currentCoinbase":"b94f5374fce5edbc8e2a8697c15331677e6ebf0b","currentDifficulty":"0x20000","currentGasLimit":"0x26e1f476fe1e22","currentNumber":"0x1","currentTimestamp":"0x3e8","previousHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"pre":{"0x00000000000000000000000000000000000000f1":{"code":"0x6000600060006000600060fa5af15060016001556002545060006000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000006":"0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000008":"0x0000000000000000000000000000000000000000000000000000000000000006","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000000000000000000000000000000000000000000012","0x000000000000000000000000000000000000000000000000000000000000000c":"0x0000000000000000000000000000000000000000000000000000000000000011","0x000000000000000000000000000000000000000000000000000000000000000d":"0x000000000000000000000000000000000000000000000000000000000000000b"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f2":{"code":"0x7f60025450600160045560006003556003545060095450600060015560026002556000527f60075450600160035560035450600260045560016004556006545060095450606020527e600455600260005560005450600160045560606000536002600153605460026040527f53605060035360606004536001600553606060065360016007536055600853606060527f606009536000600a536060600b536002600c536055600d536060600e536002606080527f0f5360546010536050601153606060125360006013536060601453600060155360a052606060c05360fd60c153606060c253601660c353605360c453606060c553601760c653606060c753600060c85360f360c95360ca60006000f060006000600060006000855af150506000600060006000600060f75af150600060006000600060fa5af450600160005560006004557f6001600155606060005360006001536060600253600060035360f360045360056000526060602053600060215360f36022536000602360006000f560006000600060006000855af1505060006003556004545060006000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000004":"0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000005"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f3":{"code":"0x60026002556000600060006000600060f55af25060006000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000010","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000013"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f4":{"code":"0x600454507f7f7f6003545060006004556005545060016003557f60006001556000600060006000527f606000527e6000527f600060f75af1506000545060006004556000606000527e6020527f600060006020527f600060f95a6020527ff150600254506004545060006000606040527e600060f15af4606040527f20527f5060035450606040527f0354507f6005546060527f5060016003556000600155606060527f026004557f60026040527f60026060526080527f7f55600260035560016000527f6004556080527f60035450600060006000600060a0527f60f35a60606080527f527ff4506000527f60006060a0527f03557f600260205260c0527f7f60045560016001556001600460a0527f55606080527f0160c0527f6004556060e0527f01600155606020527f035450606040527f0160600060c0527f527f0460e0527f610100527f55600660a0527f5450600454506006545060015450600060036040527f60e052610120527f610100527f7f6060527f55600160035560c0527f600260026020527f55600060610140527e55600160610120527e610100527f55600354506004546080527f606060e052610160527f7f527f50600954507f610140527f7f6009545060610120527e606040527f0355610180527f600260015560006060a061010052610160527f7f527f045560016080526101406101a0527f527f7f60005560026001557f7f6000527f6060610180527e526060527f6101206101c0527f527f7e6060c0610160527f527e5560606000536060a0526101a0527f7e6001536101e0527f60606002536000600353606061014052610180527f7f6004602052606101c052610200527f7fe0527f7f6080527f53606000602060c0527f527f527e6000526101a0527f7f610220527f616101e0527f0160527f600553606060065360610100527e6007536060600853610240527f60a0527f6101610200527fc0527f604060e0527f610180527f527f6000600953610260527f606060604052610120527f610220527f7f0a606101e0527f20527f5360f7600b610280527f6020526101a0527f7f536060c0610100610240527f527f527f5a600c536102006102a0527f527f6060610140527f527f60f1600d5360506101c0610260527f527f600e53606102c0527f606060527f600f610220527f53600060610120527f4052606101610280527f606102e0527f527fe0527f7f6101e0527f601053606060610240527f116080527f5360604061610300527f02a0527f527f026012536055601361014061018052610200527f7f610260527f610320527f527f53606102c0527f6080527f610100527f60601453600060155360605260a0610340527f527f7f6061610280526102e0527f7f0220527f606101a0527f6016610160527f610360527f53600060175360f3606060610120610300527f526102a0527f7f526018610240610380527f527f6060a0527f806101c0527f536053608153610320527f60610180527f61026103a0527fc0527f60c0527f6060825360610260527f6080527f196083610340527f6101406103c0527f526101e0527f7f536102e0527f606060845360006085536101a05261026103606103e0527f527f80527f7f6060c0527ff360865360e052610300527f7f6000610200527f60610400527f8760610380527e6000610160527f6102a0527ff560006000606101610320527f610420527fc0527fa0527f6103a0527f60006000845af4610220527f5050600460e06102c0610440527f527f527f61610340527f016103c0527e527f545060610180527f016101e0527f610460527f6002556001610240527f546102e0616103e0527f0360527f527f506000600155610480527f600060045560c0527f6002600155600061012061610400527f610200526103806104a0527f527f7f61610300527f0260527f01a0527f527f610100527f60610420527e60006104c0527f600060f75af46103a0527f507f6003545060610320527f0160025561026104406104e0527f527f80527f610220527f6003545061016103c0527fc0527f60e0610140527f52610500527f7f61610460527f0340527f7f6004610120527f546102a0527f506103e0527f7f610520527f60016061024052610480527f7f0155600454507f60610360527f046101e0527f610540527f54600052610400527f7f507f6104a0527f616102c0527f0160527f6001600155610560527f60610260610380527f527f0261016104206104c0527f527e610140527f527f60610580527f03556102006102e0527f527f60056000527f6103a0526104e0527f7f610440526105a0527f7f54506001606061610280527f0180527e527f0155600060606103610500527e6105c0527f527f20527f610460527f6103c0527f03556061610220527f0160527e546101616105e0527f0520527f206102a0527f527f600052610480527f7f506103206103e0527f527f610600527f606101a0610540527f527f0260006000527f6020527f6102406104a0527f527f610620527f5560036102c0527f61610560527f0400527f5450610340527f60026061018052610640527f7e60606104c0527f40527f206101610580527f6101c0527f40527f5261042052610660527f7f7f556102606102610360527f6104e0527fe06105a0527f527f527f60006001610680527f5560045450600154506020610440527f527f6101a0527f616105c0527f0500526106a0527f7f7f60405261610380527f01e052610300527f7f7f610280527f6104606105e06106c0527f527f527f7f7f610520527f6001545060610160527f60527f60026103a0527f606106e0527f2052610600527f7f6060405261036104610540527f80527f20527f7f046101c0610700527f52616102a0527f610620527f0200527f7f55606103c0527f0354610560527f50610720527f7f606104a0527f0854506002610640527f545060610340527f6052610180527f610740527f7f600160610580527f8061026103e0527f610660527f6104c0527fc0527f527f610760527f5460610220527f406101e0527f616105a0527f036052610680527f7f527f5060610780527e600260006104e0527f610400527f527f556060527f60616105c06106a0527f6107a0527f527f02e0527e526040526101a052610261038052610500527f7f40527f7f61046107c0527f6106c0527f20526105e0527f7f7f7f606000610200527f608060a0527f5261036107e0527e527f61056106e0527f20527f7f527f02610600527f54506103a05261044052610800527f7f7f6000600355606060610700527f610260527f527f0261054052610620527f610820527f7f6000556101c0527f610261032052610720527f7f610460527f206103c0527f610840527f527f606060610640527f80610560527f527e527e610740527f60025560c0527f610860527f60610280527f6060a0610480527f52610660527f7f20527f61610760527f6161610880527f0580527f03e0527f0340527f6060527f02600255610240527f610680527f61076108a0527f80527f6101e0526104a0527f7f606105a0527f6020527f076102a052610400526108c0527f7f7f546107a0527f6106a0527f6080610360527f527f506060a06061046105c06108e0527f527fc0527fe0527f6107c0527f527f0260206106c0527f5260c0610260527f61610900527f0420527f527f7f6000616102616107e0527f05e0527fc061036104e06106e052610920527f7f527f80527f527f0200527f556060600053610800527f600060015360610440610940527f610600527f52610700527f7f6080527f6040610500527f610820527f52610100610960527f610280526103a0527f7f526102e05261610720527f0620527f7f7f7f61084052610980527f7f60600260610460527fa0610520527f60c0610220527f527f60610740527fe06109a0527f52610860527f7f52610640527f7f6020526103c0527f605360604052616161616109c0527f0540527f6107610880527f60527f0480527f0300527f02610660527fa0527f7f6109e0527f405360606041610120527f6108a0527f536000610780527f616103e052610560610a00527f527f7f024052610680527f6104a0527f6108c0527f7f6040527f6042606107a0610a20527f527fa0610320527f527f53616102c0527f610580526108e0527f6106a0527f7f610a40527f0100527f60e0616107c0527f04006104c0527f527f527f606060610900527fc0610a60527f527f606060610140616106c0527f0261056107e0527fa0527f60610340527f61610a80527f0920527f527f527f527f43536104e0527f6061610420527f6106e0610800527f610aa0527f527f02e0610940527f527f03606105c0527f44536053604553606060527f6101610ac0527f205261036061082052610960527f7f6105610700527e527f527f7f6060465361610ae0527f6105e0527f0440527f6101610280610980527f52610840527f7e526161030061610b00527f0720527f527f0160527f7f60610520527ff3606109a0527f60610600527f6108610b20527f60527fc05260e0610380527f6104610740527f60527f527f6109c0527f7f4753610b40527f6060604860606080610880527f527f610540610620527f527f616102a06109e0610b60527f527f610760527f610320527f527f0140527f6108a0527f527f610480527f6103610b80527fa052610a00527f7f536101610640527f80610780527f52610560527f6108c052610ba0527f7f7f6004604953610a20527f60610120527f53604a536060606103406104a061610bc0527f6107a0527f066108e0527f60610a40527f527f527f527f4b6061610580527f61610be0527f03c0527f02c0527f80610100527f526161610a60527f0900527f07c0527f60e0610c00527f6101610680527f606101a0527f526104c0527f6105a0610a80527f527f7f5261610c20527f0920527f7f7f53606107e0527f056103606103e0527f6106a0527f610aa0527f610c40527f527f604c536060604d610940527f6102e0527f53610161610800527f05c0527f610c60527f610ac0527f6104e0527f40527f60a06106c052610960527f7f527f6000604e53610c80527f6060616104610ae0527e610820527f527f01c0610380527f6105e05261098052610ca0527f7f7f527f8052616106610b00527fe0527f610500527f018052610840527f7f7f610cc0527ff361610300526109a0527f7f0120610b20527f527f604f53606104610600527f610ce0527f610700527f20527e610860527f6101006109c0610b40527f527f527f60616105610d00527f20527f03a0527f50610160527f606101e0527e6061072061610b60527f088061610d20527f09e0527f527f527f610620527f60a0527e610320610440527f527ff561610b80610d40527f527f0540527f6101a0610a00527f527f6108a0527f6000610740527f60006103610d60527fc061610ba0527f0640527f527f600060c0527f610a20527f6000610140527f61610d80527f08c0527f845a61610bc0527f04606105610760527f60527f527ff46102610a40610da0527f527e52610660527f7f506103610be0527f406108e0527f527f50600061016103610dc0527fe0527f610780610a60527f527f80527f60610c00527e606101610580527fc052610de0527f610900527f610680527f610480527f610a80527f7f610c20527f610120527e60610e00527f6107a0527fa0527f6000600060f461610920527f610360527f61610c40527f0a610e20527fa0527f61040061056106a0527fa0527f527f02206107c0527f527f5a61046161610e40527f0c60527f0940527f610ac0527fa0527f60c0527ff150610160527f60006101a0610e60527f616106c0610c80527f527f01e06107e0527f610ae0527f610960527f526105c0610e80527f527f7f527f60e0527f610ca0527f610420527f6104c0527f61038052610b0052610ea0527f7f7f60006106610980527f610800610cc0527f527fe0527f5560610240527f02610ec0527f6105e0527f54610b20527f507f610140527f60610ce0527f02546109a0527f50610ee0527f60045450610820527f60610461070052610b40527f7fe052610d00527f7f6104610f00527f40527f6060005361616109c0527f0600527f6103a0527f026108610b60610d20610f20527f527f527f40527e527f61016101c0610720527f610260527f6109e0527f527f80610f40527f6105610d40527e52610b80527f7f527f60c05261610860527f0620527f610460610f60527f527f7f600260610d60527f610a00527f6107610ba0527f40527f60e0527f6101610f80527f6103c0527e527f01610880610d80527f527f5360610161052052610a610bc052610fa0527f7f20527f7f610640527f606102206107610da0527f60527f527f610280526104610fc0527f806108a0527f610be0527f527f7f610a40527f527f610dc0527f606002536061610fe0527f01e0527f036103e06106605261078052610c00527f7f7f610540610de0527f61611000527f08c0610a60527f527f527f527f60036101a0527f536055600460610c20527f61611020527f0e00527f6104a0527e527f536060616107610a80527fa0526108e0527f7f0261611040527f0680527f610e20527f610c40527fa0527f6102610560527f40527f6005536104611060527f610aa0527e527f6003610e40527f6060610900610c60527f527fe06107c0527f611080527f5261016104c06106a0527f527f20610e60527f610ac0527f610200527f610c806110a0527f527f6101610580527f610920527f80527f527f610e80527f616107e0527f61016110c0527f6102610ae0527f610ca0527fc0527fc0527f616106c0527f610ea0527f0420526110e0527f7f01610940527e616104e0527f02605261610cc0527f610b00527f6108610ec0611100527f527e527f05a0527f7f527f7f0653605460075360610960527f61610ce0527f06611120527fe0610ee0527f527f50610b20527f6008536060610220527f610820527f6102e0611140527f61044061610d610f00527e527f05006105610980527fc0610b40527f527f527f611160527f527f527f60610700527f610f20527f095360610d20527e600a610840527f5360611180527f6061028061610b60527f09a0527f52610f40527f7f6101a06101e0610d40527f6111a0527f527f527f206105e0527f5261610720527f616108610f60527f610b80527f60526111c0527f7f056109c0610d60527f527f20527f0140610460527f527f61610f80527f03006111e0527f527f606060405361610ba0527f0240610d80527f527f61610661616109e0610f611200527fa0527f527f0880527f0740527e527f0120527f6102a061610b610da0527fc052611220527f7f0540610fc0527f527f527f6061010052610480610a00527f527f7f606108a0611240527f527f60610dc0527f610fe0527f415361610be0527f0760527f600b6161062052611260527f7f0320527f606102610a20527e611000527f610de0527f527f42536105605261611280527f0c00527f6108c0527f7f6101c0527f605361611020527f0780527f61610e00526112a0527f7f0260527f610a40527f6104a061610c20527f0640527f611040527f527f61026112c0527fc0526108e052610e20527f7f7f604353606061016103406105610a60611060526112e0527f7f52610c40527f7f6107a0527f80527f610e40527f527f60527f604453600061611300527f61611080527f0900527f0660527f604553610c60527f60610a80610e60527f52611320527f7f60610161046110a0527fc0527f40616107c0527f0220527f527f6046616109611340527f610c8052610e80527f7f206110c0527f527f05a052610aa0527f7f6102e0527f611360527f610680527f6102610360527f8052610e6110e0527fa0527f61610ca0527f07e0611380527f527f7f53600c610940610ac0527f527f6101e05261611100527f04e052610ec06113a0527f527f7f7f60610120610cc0527f6105c0527f6106a0527f527f47611120527f536113c0527f6108610ae0527e610ee0527f52610960527f7f60536048610ce0527f610180616113e0527f1140527f527f53606103610380527e527f610f00527f60610261610b00527f05611400527e527f61611160527f06c0610d00527f610980527f52610820527f610f20527f611420527f7f6105e0527f405261611180527f02a0527f7f610b20527f6049610d20527f53611440527f60f3604a53610f40527f6060604b6111a0527f6109a0527f610200527f616108611460527f40527f616106e0610b610d40527f40610f60526111c0527f7f527f527f03a052611480527f7f01610600527f610520527f6109c0527f6052610320527f6111e0527f61610f6114a0527f80527f0d60527f7f5360610b60527f0d610860527f604c5360536061076112006114c0527f527e527f6102c0610fa0527f527f6109610d80527fe0527f4d61026052610b806114e0527f52611220527f7f610620527f7f53616161610fc0527f61610880527f05405261611500527f0da0527f7f03611240527fc0527f01a052610a00527f610ba0527f610fe0527f611520527f610720527f7f0140527f61611260527f034052610dc0527f7f6060604e536161611540527f08a0527f06611000527f40527f606161611280527f0bc0527f610a20527f0220611560527f527f610de0527f0e604f5361056107611020527f406112a0527f527f60527f61611580527f02e0526103e05261610be0527f08c0527f610e00527f7f610a616112c0527f106115a0527f40527f40527f7f60606050536061610660527f0280527f6161036107610c00616115c0527f12e0527f52610e20611060527f527f7f60527f60527f01805261610a60527f086115e0527fe0527f7e611300527f60610580527f515360611080527ff360610e40527f5261611600527f0c20527f6101c06104611320527e610680527f527f6107610a80526110a0527f611620527f7f80527f526109610e60527e52611340527f7f7f5360610c40527e6061030052611640527f7f536102406110c0527f527f606105a0527f611360527f61610a610e80527fa0611660527f527f0380527e606161610c60527f066110e0527f616109611380527f20527f07611680527fa0527fa0527f016102610ea0527fa0527f6061042052610ac06111006113a0526116a0527f7f527f527f7f52610c80527f7ef560006000600060006000610ec0527f6109406116c0527f526113c0527f7f61611120527f05c0526107c0527f7f610161610a610ca0527f6116e0527fe0527f06c0526113e0527f7f610ee0527f61611140527f0320527fa0526103a0611700527f527f7f855a610960527ff2611400527f61610440610cc0527f527f6161116052611720527f7f0f00527f01610b00527fe06107e052611420527f7f527f6102605261056106611740527fe0527fe0527f611180527f7f61610c610f20527fe0611440527f527f61098052611760527f7f02c052610b20527f7f5050600354506111a0527f6000600061611460527f08611780527e527f610f40527f606103610d00527f6103c0527f610460527f6111c0527f616117a0527f1480527f6109a0610b40527f527f61070052610f60527f7f40527e61060052616117c0527f0d20527f6114a0527f6111e0527f7f600060006061610820527f0180527ffa5a6117e0527f61610f80527f0b60526114c0527f7ff1506109611200527fc0527f6000610d40611800527f527f606101c06102e052610720526114e0527f7f7f610fa0527f610280611220611820527f527f526104806161610b80527f0840527f610d611500527f60527f0620526109611840527fe0527f7f610fc0611240527f527f527f6103e0527f7f6161611520527f036052611860527f7f0200527f52610ba052610d80527f7f61611260527f0740610fe0527f611540611880527f527f527f7e600060610860610a00527f527e600060f25af1506061611280527f6118a0527f0640611560527f52610da052611000527f7f7e610bc0527f546104a0527f50606118c0527f01600161046112611580527fa0527e610760610a20527f526108611020527f806118e0527f610dc0527f527f7f527f55616115a0527f0be06112c0527f527f610300527f60611900527f610380527f02600261611040527f0660526115c0527f7f6161610de0526112e0611920527f527f7f02610a40527fa0527f0161610c00527f0461086115e0527fa052611060611940527f527f7fc0610780611300527f527f527fa052610e00527f60556102611600527f611960527f20527f61610420610a60527f611080527f611320527f610c20527f527f6101e0611980527f611620527f527f61068052610e20527f6108c0527f7f01c0536060611340527f6119a0527f6110a0527f611640527f6107a0527f61616103a0610c40527f610a80527f52616119c0527f0e40527f7f611360527f611660527f6104e0527f6110c0527f0320527f01c1536119e0527f60036108e0527f6101c2536061610c611680527f611380527f60527f61610e60611a00527f527f066110e0527fa0527f610aa0527f6107c0526116a0527f7f610440526113611a20527fa0527f7f02c0527f546101c3536050616161611100527f0e806116c0527f527f611a40527f0c80527f0900527f6113c0527f61610500527f610ac0527f01c4610240616116611a60527fe0527f03c052611120527f7f6107e0610ea06113e0527f527f527f6106610ca0611a80527f527fc0611700527f527f527f53606103610920527f611140527f406161140052611aa0527f7f0ae0527f527f60611720527f610ec0527f610460527f6101c561610cc0527f611ac0527f020052616111611420527f6052611740527f7f0520527f610800527f60536102611ae0527f20610ee0527f6161610b00527f0940526114611760527f40527f7f06e0611180611b00527f527f52610ce0527f7f53606102e0527f6061026103610f611780527e527f6114611b20527f60527fe0527f21536000616111a0527f61046108610b20527f20526117a0527f611b40527f610d00527f7f8061611480527f0960527f52610f20527f7f02226111c0527f61611b60527f6117c0527f0540527f610700527f536061036114a0527f60527f6161610b610d611b80527f20527f40526117e0527f7f610f406111e0527f527f02610260527f236114c052611ba0527f7f5361610980527f0840611800527f527f60016102245360c661040061611200611bc0527f527f0d40610f6114e0527f60527f52611820527f7f527f61610b60527f046107611be0527f20527f610560527fa0527f616112205261150052611840527f7f7f09a0527f61611c00527f0261610f80527f0361610d60527f0860527e527f2553610b80611860527f5261611c20527f1520527f7f611240527f6053610226610380527f5360610fa0527f6061026118611c40527f80527f61074052610d611540527f80527f6109c0611260527f527f7f27536060611c60527f6161056118a0527f610ba0527f6108610fc052611560527f7f80527f80527f02611c80527f285361611280527f6118c0527f04c0610da0527f527f610420527f6102611580611ca0527f527f806109e0527f610fe0527f6118e0527f527f60610b6112a0527fc0527f61611cc0527f6102610760527f6115a0527f29610dc0527f611900527f536108a0527f606103611ce0527f20611000527f6112c0527f527f016161056115c0527fa0611920527f527f6161611d00527f0a00610be0527f527f03a0610de0527f527f022a536112e0527f616161194052611d20527f7f15e0527f1020527f6104e0527f60c7610261076108c0527f80527f2b610440611d40527f61611960527f0c005261611600527f1300527f610e00527f611040527f7f527f611d60527f610a20527f53611980527f605361022c53606061611620527f05c0527f611320611d80527f527f61022d5360006102a06119a0527f61611060527f610e20527f08610c6116611da0527f40527f20527fe0527f527f61611340526119c0527f7f61610a40527f07a0527f611dc0527f0261050052611080611660527f527f7f61036103616119e0527f0e40527fc052611de0527f611360527f7f40527f610c40527f61046052611680527f6105e0611a00527f52611e00527f6109006110a0527f52610a60527f7f611380527f7f7f2e610e60527f6116a061611e20527f1a20527f527f53606161026107c0527f2f610c60527f536110c0527f60016113611e40527fa0527f61611a40527f02306116c0527f5360c861610520527f02610e80527f31611e60527f610a80527f53610920611a60527f527f61106113c06116e0527f527fe0527f60611e80527f536102610c80527f325361060052611a80527f7f60606107610ea0527fe05261611ea0527f1700527f7f616113e0527f6103e0611100527f611aa0527f61048052610aa052611ec0527f7f7f527f0261610ca0611720527f527f0261094052611400611ac0527f527f7f611ee0527f610ec0527f6103611120527f60527fc0526105611740527f40527f7f33611ae0611f00527f527f53606106610800611420527f610ac0527f610cc0527f52610e6111611760611f20527f527f611b00527f40527fe0527f7f20527ff3610234536061611440527f096052611f40527f7f616102355360611b20527f611780527f016102366104a052611160527f7f53611f60527f61610f00527f0c611460527f611b40527fe0527f610a6117a0527fe0527f6061611f80527f0400527f61610820527f05605261118052611b60527f7f61610980611480527f611fa0527f6117c0527f527f0640610f20527f527f7fc9610d0052611b80527f7f61023753611fc0527f60610b00527f6111a0526117e0527f6114a0527f7f536161038052611ba0527f611fe0527f7f0238536102e0610f40527f527f606161084052611800527f61610d20526114612000527f611bc0527fc0527f7f6111c0527f09a0527f7f61026104c0610b20527f526118612020527f20527f7f39611be0527f610f60527f6106606114e0527f527f536105806111e0612040527f527f527f600161616118611c00527f40527f0d40527f023a610420527f536061612060527f09611500527fc052610f80527f7fca611c20527f610b61611860527f1200527f612080527f40527f610860527f61023b536060616161152052611c40527f7f0d60527f023c6120a0527f53611880527f6103a06106610fa052611220527f7f80527f52611c60527f7f606120c0527e610461611540527f05616118a0527f610b60527f09e0527fa0527f610d611c6120e0527f80527f80527fe052611240527f7f610fc0527f61156118c0527f60527f610880612100527f527f61611ca0527f023d5360f3610300527f61610440527f610b805261126061612120527f18e0527f527f7f61611cc0527f1580527f0261610da0610fe0527f527f06a061612140527f0a00527f527f3e536161190052611ce0527f7f023f6000600061616115a0527f612160527f1280527f08a0527ff0606105c0527e611000611d00527f52611920527f7f610b612180527f610dc0527fa0527f60006115c0527f610500526112a052611d20527f7f7f60006121a0527f610a611940527f20527f606103c0527e6061611020527f06c06115e0611d40526121c0527f7f527f527e855af2610de052611960527f6112c0527f7f506108610bc0527fc06121e0527f52611d60527f7f506000610460611600527f527f6061611980527f1040527f04612200527f61610a405261611d80527f12e0527f7f05e0527f55610e00527f610361162052612220527f6119a0527f7f2052606061611da0527f61610be0527f0520611060527f526113612240527e527f6106e0527f61086119c0527fe0611dc0527f611640527f527f7f034053612260527f6003610e20527f610a60527f610341536061611361611de0527f19e0527f2052612280527f7f108052611660527f7f546161610c00527f03e0527f03426106611e00527e526122a0527f7f53611a00527f6050610e40527f61611340611680527f527f0480526161611e6122c0527f20527f10a0527f0900527f61611a20527f610a80527f070052610c20527f7f7f6122e0527f616116611e40527fa0527f0343611360527f53606105611a40527f610e60527f612300527f6110c0527f40527f611e60527f60610344536002616116c0527f034553605461612320527f611a60527f61611380527f0661611e80527f610aa0610c40527f527f09206110612340527fe0527f616116e0527f0e611a80527f80527f611ea0527f527f20527f03466161612360527f13a0527f0720527f536050610347610400527f61611aa0611ec0527f527f1700612380527f527f6104a052611100527f7f610c6052610ea06113c0527f527f7f61611ee0526123a0527f7f0561611ac0527f0ac0527f611720527f60527f53610940527f6060610348616123c0527f11611f00527f20527f53600161611ae0527f13e0527f6106610740611740527f6123e0527f527f610ec052611f20527f7f40610c80527f527f610349611b00527f5360610a612400527fe052611140611400527f61611f40527f1760527f527f7f5461034a5360506103612420527f61611b20527f0960527f610ee0527f4b611f60527f5360606103610ca0526117612440527f80527f611420527f7f4c61611b40527f1160527f53611f80527f60610580527f612460527f61610760610b00527f527f04c06117a0527f610f00611b60527f611fa0527f52612480527f7f611440527f52610660527f7f611180527f61042061610cc0527f096117c0616124a0527f1fc0527f611b80527f527f80527f52600061044053611460527f6061610441616124c0527f0f20527f611fe0527f53616111a0611ba0527f527f6117e0527f0b20527f60036124e0527f610442536061078061612000527f611480527f0ce0527f52611bc0527f7f4d61612500527f04436105611800527fa06109610f612020527f6111c0527f40527fa0527f5261612520527f0680611be0527f6114a0527f527f7f53610b40612040527f611820527f527f60612540527f53610461610d00527f04e052611c00527f6111e0527f7f44612060527f53610f612560527f6114c0527f6052611840527f7f6060610445536107a0611c20527f527f612080612580527f527f60606109c0527f610446610b60611200527f6114611860527fe0527f527f6125a0527f611c6120a0527f40527f610d20527f53610f80527f606161044753606106a0526125c0527f7f036105c061186120c0527f80527f611c60527f527f61611500527f611220526125e0527f7f044853604e6104610761096120e0527fe061610fa0527f0d611c80527f6118612600527fa0527f40527f610b80527f611520527f52612100527f7fc0527f611240527f49612620527f536105611ca0527e527f60536118c0527f61044a5360612120527f6061044b61612640527f0fc052611540527f7f6106c0611cc0527f52610d60527f61126052612140527f612660527f6118e0527f7f7f53600061610ba0527f044c610a0052611ce0527f7f61156052612680527f612160527f7f6105e06107e0610fe0611900527f527f527f527f611280527f536126a0527f611d00527f612180527f60616104610d80527f4d53611580527f6003610461196126c0527f20527f4e53604f610bc06121a0527f611d20527f527f610520611000526112a06126e0527f527f7f527f6161610a6115a05261196121c0527f40527f7f20611d40527f527f612700527f06e0527f04610da0527f4f5360610800527f53616121e0527f04506112c0527f612720527f536119611d60527f60527f616115c0527f1020527f6060610b612200527fe052612740527f7f610600527f6104515360fd61611d80527f610dc0611980527f527f610a6122612760527f20527f61126115e0527fe0527f40527f04525361104052611da0527f7f606161612780527f045353612240527f616119a0527f0700526108610c00527f20611600527f527f6127a0527f7f611dc0527f6113612260527e527f600361610de0527f6119c0527f046105616127c0527f1060527f40527f545360611d612280527fe0527f5061611620527f0a60527f616127e0527f0455616113206119e0527f527f0620527f6122a0527f536061611e00527f0c20612800527f527f5361610e00611080611640527f527f527f0456616122c0527f1a00527f53612820527f606161611e20527f610840611340527f527f04610720527f5753606122e0527f612840527f610a80611660527f52611a2052611e40527f7f7f03610458536110a0527f610c612860527f612300527f610e2052611360527f7f40527f6051610459611e60527f61611a40612880527f527f168052612320527f7f53610560527f6060610640527f610860526110c0526128a0527f7f611e80527f7f611380612340527f527f611a60527f61045a536116a0527f616128c0527f0a610e40527fa0527f610c611ea052612360527f7f60527f6000610740527f616128e0527f611a80527f045b5360616113a0526116c0527f7f612380527f10611ec0527fe0612900527f527ff361045c53600061045d600061611aa0527f0e60527f606123a0527ef560612920527f610880611ee0527f52610c6116e0527f806113c0527f527f610a6111006123c0612940527f527f611ac0527f527fc0527f7e611f00527f60006105610660527f8061076061612960527f17006123e0527f527f610e80527f526113611ae0527fe0611f20527f527f7f52612980527f60606105a05360612400527f611120527e6105610ca0527f611720527fa153606129a0527f61611f40527f1b00527f6061612420527f610ae0527f61611400527f08a052616129c0527f0ea0527f7f05a253606111611f60527f40612440527f611740611b20527f527f6129e0527f527e6105a35360606105a4536161610c611420527f61612460527f1f80527fc0612a00527f527f0780527f0680611b40527f527f611760527f60610ec0527e61612480527f612a20527f1160527f611fa0527f610b00527f6105a5536061144052611b60527f7f6108c0612a40527f6124a0527f527f85611780527f61611fc0527f05a653605a610ce0527f6105a7612a60527f53616111806124c0527f52611b80527f7f0ee0527f606114611fe0527f60527f612a80527ff26117a0527f6105a8536124e0527f6050610561610b20527f07611ba0527fa0612aa0527f527f612000527fa953605061066108612500527f6111a0527f616117c0527f14612ac0527f80527f610d0052610f611bc0612020527f527e52612520527f7f7fe0527fa052612ae0527f60616106c05360056106c153606117e0527faa61610b612040612540527f527f612b00527f61611be0527f14a0527f6111c0527f40527f06c253605361610f20527f066125612b20527f60527f610d612060527f20611800527f611c00527f527fc3536107c0527f6114612b40527fc0527f612580527f60610900526111612080527fe0527f7f616106c453600561612b60527f1c20527f611820526125a0527f7f6106c5536061610f40527f6120a0527f0b60612b80527f526114e0527f7fab61610d40526125c0527f7f611c40527f06c6611200611840612ba0527f527f526120c0527f7f5360606106c75360006125e0527f6106c85360f3616161612bc0527f1500611c60527f527f0920610f6120e0527f60527f5261612600527f1860527f612be0527f7f07e052606161611220527f08610b610d611c80527f60612100527f61262052612c00527f7f527f80527e53611520527f600661611880527f08015360c961080253610f80612c20527f61612640527f612120527f1ca0527f527f605361611240527f08035360606108612c40527f6115406118a0612660527f527f527f04612140527f61094052611cc0527f7f61612c60527f0d80527f5360610ba0527e612680527f61080553610fa0611260612160527f52612c80527f7f6118c0527f527f611ce0527f6115606126a0527f527f606161080653600661612ca0527f08075360612180527fca61080853606061610da0526126c0527f6118611d0052612cc0527f7fe0527f7f0809536061126115806121a0527f527f80527f61096126e0527f61612ce0527f0fc0527f610bc0527f6052611d20527f7e6108611900527f6121c0527f0a5361612d00527f2700527f606061080b53600061086115a0527f0c53606112a052611d40527f7f612d20527ff5616121612720527fe0527f0dc0527f61611920527f610fe0527f080d536060612d40527f61080e5360610b6115612740527f611d60612200527f527fc0527fe0527e6161612d60527f0980526112611940527fc0527f7f612760527f080f536060610810612220527f612d80527f5360611d80527f61611000527f0de06115e052612780527f7f527e6108116119612da0527f60527f5360612240527f60610812536061611da0527f12e06127a0527f527e61612dc0527f08610c00527f135360606108146116612260527e527f611980527f61096127c0612de0527f527f6110611dc0527f20527fa0527f610e00527f53606113612280527e527e61612e00527f08156127e0527f536060610816536119a052611de0527f7f611620527f600061612e20527f086122a0527f17612800527f5360610c2052611040527f7f8561081861132052612e40527f7f611e00527f536119c05261612820527f22c0527f7f605a610e20611640527f612e60527f527f61081953606109c05260f26109e061612840527f1e20527f6122e0527f53612e80527f60616109616119e0527f1060527f611340527fe16116612860527f60527f5360612ea0527f08610961612300527f611e40527f0c40527fe253610e40527f611a612880527e612ec0527f527f601a6109e35360536109e4612320527f5360606161611e60527f16805261612ee0527f28a0527f7f1360527f611080527f6109e5611a20527f53612340527f60506109612f00527fe65360616128c0527f6109611e80527fe753610c610e60527f6116a0527f6052612f20527f7f612360527f6061136128e0527f80611a40527f527f086109e8611ea0527f53612f40527f6110a0527f601b6109e953612380612900527f527f60536109ea53606116c052612f60527f7f6061611a60527f09611ec0527feb53605061612920527f09616123a0527f13612f80527fa0527fec610e80527f536061616110c0527f0c8052611661612940527f611ee0612fa0527f527f1a806123c0527f527fe0527f7f6109ed5360086109ee53601c6161612960612fc0527f527f13c0527f09ef53605361611f6123e0527e527f09f05360611aa0527f6161612fe0527f0e61612980527f1700527fa0526110e0527f7f6109f153612400527f60086161613000527f1f20527f09610c6129a0527fa06113e0527f611ac0527f527ff253601d610961613020527f17612420527f20527ff353606129c0527f6061611f40527f09f4536000610961613040527f1100527ff561611ae0527f612440527f0e6129e0527fc0527f53611400527f60613060527ff361611f60527f611740527f09f6536109f760006061612a00527f2460527f61613080527f0cc05260611b00527e610ce05360f06161611f80527f1120527f0c612a20527f6130a0527fe1611420612480527f611760527f527f53606061610ee0611b20527f527f0ce26130c0527f612a40527f611fa0527f536000616124a0527f0ce3536060610ce4536000610c6130e0527fe553611780612a60527f527f61116114611b4052611fc0526124c0527f7f7f40613100527f527f40527f6060610ce6612a80527f536000610ce7610f00527f536060610ce8613120527f61176124e0527fa0611fe0527f5261612aa0527f1b60527f7f536000610ce953613140527f611460527f60846161116052612500527f7f0cea612ac0527f53605a61200052613160527f7f610ceb5360f4611b80527f616117c0527f0cec5360612520612ae0527f527f613180527f610f20526050610f611480612020527f527f40536061610f415361611ba0612b6131a0527e527f527f612540527f1180527f600c6117e0527f610f425360612040527fed6131c0527f610f43612b20527f536053610f4453612560527f606114a052611bc0527f7f606131e0527f610f45536050610f612b40527f46612060527f611800527f53612580527f6061613200527f6111a0527f610f4753600c610f612b60527f611be0527f485360ee610f612080613220527f527f616125a0527f14c0527f495360536161612b80527f1820527f0f4a536061613240527f610f4b53600c611c00527f61616125c0527f20a0527f0f612ba0527f6111c052613260527f7f4c5360ef610f4d53606114e0527f611840527f60610f6125e0527f612bc052613280527f7f4e5360616120c0527f1c20527e610f4f5360f3610f50536000610f516061116132a0527fe0612be0527f612600527f5260006112006118606120e0527f527f61611c40526132c0527f7f1500527f53612c00527f6060611201612620527f5360006112025360f561126132e0527f035360612100527f606112612c20527f0453600061611c60527f612640527f18613300527f80527f6112055360611520527f606112612c40527f0653612120527f60006112613320527f07536060612660527f6112085360611c80527e6112612c60527f096118a0527f613340527f53606061120a612140527f536000612680527f61611540527f12612c80527f0b613360527f53606061120c611ca0527f53600061120d536085616121606126a0527f527f61613380527f2ca0527f18c0527f61120e53605a61120f5360f2611210611560611cc0527f526133a0527f60536126612cc0527fc0527f6115612180527f8053606061158153606118e0526133c0527f7f5061158253606161612ce0527f1583536126e0527f6012611ce0527f6121a06133e0527f527f611584536011611585536053612d00527f6115865360606161612700527f613400527f1900527f15875360506115886121c0527f611d612d20527e527f536061611589613420527f53601261612720527f158a53601261158b53605361158c612d40527f61192061613440527f21e0527f527f536061611d20527f612740527f61158d53601261158e612d6052613460527f7f53601361158f53606061159053612200527f6000611591612760527f536061613480527f19612d80527f40611d40527f5260f361196053606161196153601561196122206134a0527f527f61278052612da0527f7f625360926119635360536119645360611d60527f6134c0527f6161196553601561196653612dc0527f606127a0527f612240527f93611967536134e0527f60606119685360006119695360606161612de0527f1d80527f196a6127c0527f613500527f5360006119612260527f6b5360f061196c53606061612e00527f196d53600061613520527f196e5360606127e0527f61196f611da0527f5360612280527e61612e20527f19613540527f705360606119715360006119725360612800527f606119735360006119745361613560527f2e40527f60611d6122a0527fc0527f60611975536000611976612820527f5360613580527f85611977612e60527f53605a6119785360f2611979536122c0527f605061611d6135a0527fe05260612840527f19612e80527f611e0053607a611e01536053611e025360606135c0527f611e0353606122e0527f50611e61612ea0527f2860527f04536061611e0553606135e0527f19611e0653607b611e07536053611e08536061612ec0527f6161230061288052613600527f7f527f1e09536019611e0a53607c611e0b536060611e0c53612ee0527f600061613620527f1e0d5360f3616128a0527f1e0e61232052605361234053606061234153612f00613640527f527f600061234253606161234353601e6128c0527f61234453600f6123455360613660527f6061612f20527f234653600061234753606061234853600061236128e0527f49613680527f5360f561234a53612f40527f606061234b53600061234c53606061234d5360006136a0527f61234e53612900527f606061612f60527f234f536000612350536060612351536136c0527f600061235253608461235353605a612920612f80527f526061612940536023616136e0527f29415360546129425360536129435360606129445360612fa0527ff461294553613700527f606161294653602361294753605561294853605361294953606061612fc0527f613720527f294a53605061294b53606161294c53602361294d53605661294e53605361294f613740527f612fe0527f536060612950536050612951536061612952536023612953536057613760527f6129545360613000527f53612955536061612956536023612957536058612958613780527f53606061295953600061613020527f295a5360f361295b53600061295c6000606137a05260006137c05360f56137c15360606137c25360006137c35360606137c45360006137c55360606137c65360006137c75360606137c85360006137c95360846137ca53605a6137cb5360f46137cc5360506137cd5360506137ce5360616137cf5360306137d05360406137d15360526137d25360616137d35360306137d45360606137d55360606137d65360006137d75360f36137d85360006137d960006000f560006000600060006000855af15050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000009":"0x0000000000000000000000000000000000000000000000000000000000000004","0x000000000000000000000000000000000000000000000000000000000000000a":"0x0000000000000000000000000000000000000000000000000000000000000002","0x000000000000000000000000000000000000000000000000000000000000000b":"0x0000000000000000000000000000000000000000000000000000000000000010"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f5":{"code":"0x600354506001545060006002556000600060006000600060f75af1506002600355600160005560016003556000600255600054506002545060006000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000009"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f6":{"code":"0x7f60016003556009545060016002556001600355600954506001600155600160046000527f556000545060006003556001600255600260025560045450600054507f6004546020527f507f7f7f600254506000545060025450600654506001545060026000556000526040527f7f60005450606000527f076000527f54600052605060205360606021536060606060527f226020527f5360606023536000606020527f24536053606020527f25536060606080527f26536000606040527f275360606028536001602953606040527f53602a53606060a0527f602b536040527f60606060527f602c536060602d536002602e536053602f606060c0527f527f53606060305360006031536080527f60606060527f60325360036033536060e0527f5360345360606080527f60355360f3603660a0527f5360606037536004603860610100527f80527f5360536039536060603a5360a0527f60056060c0527f3b536060603c53610120527f6000603d5360f3603e536060a0527e603f60006000f560c05260e0527f7f6000610140527f600060006000845af45050600060006000600060006060c0527ff25af1610100610160527f527f5060e0527f6002600155600060006000600060f65af45060006000600060610180527e60610120527ff560e0527f610100527f5af450600454507f600854506009546101a0527f50600954507f60610140527f02600455600254506002610120527f610100527f6101c0527f60045560006000606000527e610160527f600060f45af45060006001556000526101e0527f610140527f6060602053610120527f6002610180527f60215360546022536060610200527f20527f50602353606060610160527f245360006025536101a0527f6060606101610220527f40527f2653600060275360fd6028536029606040610180527f52606101c0527e610240527f60605360f360615360006062610160527f60006000f560006000600060610161610260527f01e0527fa0527e845af45050600060006000600060f35af45060610180527f02610280527f60025560610200527f01606101c0527f045560026002556004545060035450606102a0527e6003556000600060610220527f6101a0526000616101e0527f01c0536060616102c0527f01c15360006101c25360606101c3610240527f5360006101c45360606101c5616102e0527f0200527f5360f26101c653605a6101c75360f1610260527f6101c85360506101610300527fc95360606101ca5360610220526000610240536061610241610280527f536001610320527f6102425360cb61024353605361024453606061024553606061024653606102a0610340527f527f616102475360016102485360cc61024953605361024a53606061024b5360610360527e616102c0527f024c53606161024d53600161024e5360cd61024f5360536102610380527f505360606102516102e0527f5360fd61025253606161025353600161025453606103a0527fce6102555360536102565360610300527f616102575360016102585360cf61026103c0527f5953606061025a53600061025b5360f361610320527f025c5361025d600060006103e0527ff06000600060006000845af45050600254506001600161034052605561036053610400527f60606103615360006103625360606103635360006103645360f36103655361036104205260666104405360606104415360006104425360f36104435361044460006000f06000600060006000845af45050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x000000000000000000000000000000000000000000000000000000000000000e"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f7":{"code":"0x7f6002600455600754507f600354506000600255600160005560015450600260046000527f557f600854507f7f60006000527f6002556000600455600260005560606000536020527f6000600153606000527f606002536020527f606000527e6000526060602053606040527f03602153605360225360606023536020527f6040527f60f360245360606060206060527f527f25536004602653605360275360606028536005606060527f6040527f29536080527f6060602a536000602b536040527f60f3602c53602d60006000f06080527f600060a0527f60006060527f600060006000855af1505060006000606060527e6000600060a060c0527f527f60f95af2506001546080527f5060015450600454507f7f7f60006004556060e0527f096060c0527f80527f54506002600455600260a0527f60015560085450600354610100527f50600160600060e0527f527f016000527f60a0527f556000526060c0527f6060610120527f20536060602153606060610100527f225360006023536053606020527f2460c0610140527f527f5360e0527f6060606020527f25610120527f536000602653606060275360610160527f016028536053602953606060610100527fe0527f610140527f40527f60602a53610180527f6060602b536040527f6060602c536002602d53605360610120610160527f527f6101a0527f2e5360610100527f60602f6060527f53600060305360606031536003606061016101c0527f80527f527f610140527f6032536053603353610120527f606060345360fd60806101e0527f527f606101a0527f35536060603653610160527f600460375360536038608052610200527f7f610140527f53606101c0527f606039536005603a5360a052610180527f7f60610220527f60603b536000603c5360f3603d6101e0527f53603e610160527f6000600060a0610240527f527ff06101a0527f60006000600060c0527f610200527f60006000855af15050610260527f60025450610180527f7f6002546101c0527f5060026002610220527f55600160610280527fc0527f60015560e0527f60055450600454507f6101a0526101e0527f610240526102a0527f7f7f6002600455600060026000527f5560006003556060e052610100527f7f026102c0527f60610260527f610200527f036101c0527f556000600060006000600060f260006102e0527f527f5af25060610280527e6020527f610220527f6004610120526101e0527f7f610300527f55610100527f600160046102a0527f55600060006000600060610240527e60f6610320527f5af1507f60065460610200527f20616102c0527f0140527f527f506040526101610340527f2052610260527f7f7f60606000536000600153606102e0527f60600261022052610360527f7f536000600353610160527f610280527f6060600453600060610300527f6000610380527f52610140527f606060527f610240527f40527f7f05536102a0527f60606061036103a0527f20527f0653610180527f60006007536060600853600060095360610260527f616103c0527f6102c0610340527f527f0160527f60600a53606080527ff6606101a0527f0b606103e0527f60527f536020527f610360527f60616102e0527f0280527f5a600c5360f1600d610400527f5360610180527f50600e536060610380527f6101c0527f600f610300527f5360610420527fa0526102a0527f7f600160105360606080526103a0527f7f6011536002604052610440527f6101a0610320527f527f7f6101e0527f606102c0527f126103c0527f53605560610460527f13536060601460c0527f536000610340527f601553606060165360a06103e052610480527f7f527f61616102e0527f0200527f01c0527f6000601753610360527f60fd60186104a0527f60610400527f6052605360805360e0527f606060610300527f815360196102206104c0527f52610380527f610420527f7f608253606101e0527f6060835360c0527f6000606104e0527f845360610320527ff36085610440527f6103a0527f536086606101610240527e610500527f527e6000f0600060610200527e600060610460527e606103406103c0527f527e610520527f855af1505060e0527f7f6009610260527f545060610480527f02600161012052610540527f7f55606103e0527f61610360527f0220527f045450600054506104a0527f6001610560527f6000557f60610280527e600060610400527e6000610100610380527f527f6104610580527fc0527f606000526101610240527f40527f7e60f35af1610420527f506102a0526105a0527f7f7f606104e0527f0854506103a0527f6007545060606000536000606000527f6105c0527f610440527f016161610500527f0260527f012052616102c0527f6103c0527f016105e0527f60527f7f536060606020610460610520527f527f527f02536000600353606060610600527f046000527f610280526103e0527f6102e052610540527f7f7f610480527f5360610620527e6005536060610180527f60610140527f065360602052610560527f7e610400610640527f527f606104a0527f6040527f610300527f076102a0527f536060600861058052610660527f7f53600060095360606101a0616104c0527f0420527f527f600a536060206101610680527f616105a0527f0320527f60527f527ff76102c0527f600b6104e0527f53605a606106a0527f610440527f0c6105c0527f60406060527f527f5360f26101c0610340527f527f6106c0527f60610500527f0d536050606105e0527f0e536061610460527f02e0527f6060616106e0527f0180527f0f536000601053610520527f610600527f6060610360527f60604052610700527f601160610480527f6101e0527f6080527f61030052610620527f610540527f7f610720527f60536060527f6053606153610380527f60616104a0527f01a052610640527f7f610740527f60606253610560527f6000606353606061020052610320527f7f606453601261610760527f0660527f61036104c0527fa0527f610580527f6065536060a0527f5360665360610780527f60608061610680527f01c0527f527f6067536103406104e06105a0527f527f526107a0527f7f606103c0527f61026106a0527f20527ff360685360606069536013606a53606107c0527f53606105c0527f6b60610500527f6106c0527fc0527f53606060616103e0527f6107e0527f0360527f6101e0527f6c61026105e0527f40526106e0527f7f53601460610520610800527f527f6d60a0527f536060606e536000610400527f606f6106610700527e527f53610820527f60610380527ff360705360610540527f7160e0527f61610260527f0261072052610840527f7e527f610620527f600060610420527ef06000600060006061610560527f03a0610860527f610740527f527e6060c0527e85610640527f5af250507f600060026102806104610880527f40527f527f610760527f556005610580527f5461022052610660527f7f6101616108a0527f03c0527e527f50600454610780527f5060026002556060610460527f6105a0526108c0527f7f610680527f6000536000606102a06107a0527f527fe0527f6001536103e0526108e0527f7f606060610240527f02606106a0527f6105c0526107c0527f7f610480527e52610900527f7f610120527f53600360035360556102c0527f60616106c0526107e0527f7f04610920527e527f046105e0527f536060606104a0527f0553600160065361610260526108610940527e527f7f6106e0527f0100527f606060075360610600527f6101406161042052610960527f7f6104610820527fc0527f02e052610700527f7f527e600853606020527f5560610980527f0953610620527f60610840527f60600a53610280527f6000610720527f600b616109a0527f04e0527f610440527f53606060610860527f61030052610640527f7f610120526109c0527f7f0c610740527f610160527f536000600d53610880527f60610500527ff3600e6109e0527f5360610460610660527f527f610760527f0f6102a0527f6108a0527f60604061610a00527f0320527f52600060605360f3610520527f6061536106610780527f806108c052610a20527f7f527f60006062616101610480527f80527f0140527f600060006102c0610340610a40527f616108e0527f07a0527f6105406106a0527f527f527f527ff560006000600060610a60527e60006104a0610900527f527f855a6107c0527ff1505060006001556106c052610a80527f7f6003610560527f546101610920527fa0527f50610360527f6107e0527f7f60610aa0527f6102e0527f026104c0527f6106e0527f610940527f610160527f545061058052610ac0527f7f6001610800527f60025560006004556001600255610960527f600461038061610ae0527f0700527f527f5450606104e052610820527f7f02616105a0527f610980527f01610b00527fc0610300527f527f600255600854610720527f50600061610840527f01805261610b20527f09a0527f7f527f60086103a061056105c0527e527f527f545060075450610740610b40527f526108606109c0527f527f7f60016004557f610320527f7f606101e0527e6002610b60527f556105e0527f6000606109e0527f6105610880527f20610760527f527f025561610b80527f03c0527f60025450606101a0527f610a00527f01546020527f506108a0527f61610ba0527f0600527f61610780527f0340527f6006546105610a20527f40527f5060026102610bc0527e5261036108c0527fe0527f7f600255600260616107a052610a40527f7f0620610be0527f527e6000527f556000527f6002606108e0527f610560527f6101610360610a60610c00527f527f527fc0527f016107c0527f556104610640527e527f60610900527f606000610c20527f6040610a80527f610220527f527f5360610580527e60016107e0527f53606060610c40527f0253610920527f610aa0527f60610660527e60610380527f610420527f035360610c60527ff36020527f61610800527f01610ac0527f610940527f6105a0527fe0527f6004610c80527f610680527f53610240527f600560205260610ae0527f6060605261610960527f610ca0527f0820527f7f610440527f6103a0527f6105c0527f6106610b00527fa0527f6040610cc0527f5360006041610980527f5360f360610840527f4253600060436061610b20527f610ce0527f0200610260527f52610460527f61066109a0527fc0527f6105e0527f7e610860610d00527f610b40527f527f6000f5606103c0527f4052606060605360006109c0527f6080610d20527f527f606153610b60527f606106e0527f60610880527f60625360610600527f61610d40527f0480526109e0527f7e60610b80527f6353610280527f606103e0527f61022061610d60527f6108a0527f0700527f527f6060610a610ba0527e527f64536000606561062052610d80527f7f536060606104a0527f665360006108c0527f610bc0527f606760610a20527f610da0527fa0610720527f527f5360846061610400527f02a052610640610be0527f527f7f610dc0527f68536108e0610a40527f527f605a606961026104c0610740527f527f40610c00610de0527f527f527f5360f4606a536050606b53610a60527f6050610900527f606c610660610e00527f527f610c20527f5360610420527f610760527f60606d536102610a80527fc061610e20527f04e0527f526109610c40527f20527f7f6060c0527f02606e536060610680527f610e40527f610261610aa0527f0780527f610c60527f60527f606f536000610940527f6070610e60527f610440527f5360610500527f55610ac052610c80527f7f607153606060616106610e80527f6107a0527fa0527f610960527f02e0527f7253600060610ca0527f73610ae052610ea0527f7f5360606060e05260746161026104610520527f6107c061098052610cc0527f610ec0527f7f527f60527f610b00527f6106c0527f80527f01005360536101015360606103610ee0527f610ce0527e527f6101026109a0527f610b20527f53606107e0527e6101035361610f00527f05406106610d00527fe0527f527f606061610480527f010453610b40527f6109610f20527fc0527f607561010561610d20527f610800527f02a0527f536053610106610320610f40527f610700610b60527f527f527f6161610d40527f09e0527f0560527f5360606101610f60527f0753610820527f606104a0527f610b80527ffd610d60527f6101085360606101610f80527f09610a00527f5360610720527f7661010a53606161056161610d80527f0ba052610fa0527f7f0840527f80527f02c0527f53610340610a20527f527f61010b6104c0610da0610fc0527f527f527f5360610bc0527f610740527f6061010c610860527f53607761010d61610fe0527f0a40610dc0527f527f53606105a0527f610be0527f6061010e53600061010f53611000527f60f36161610760610de0527f52610880527f7f610a60527f6103610c00527f60611020527f6104e0527f527f02e0527f01610e00527f10536105c0527f6000610111600060611040527e61610a610c20527f80527f08a0527ff5610e20527f610780527f6000600060611060527e60006000855af2610500527f50610c40527f506103610e40527f610aa0527f611080527f6105e0526108c0527f7f80527f60026107a0527f60036103610c60610e60527f6110a0527f527e527f5560035450610ac0527f6001600255600260036108e0527f556061056110c0527f610e80527f20610c80527f52610600527f6107c0527f7f01610ae0527f54507f6110e0527f6003546103610ea0527fa0527f506006610ca0527f610900527f545060065450611100527f610320527f7f60610b00610ec0527f527f0454506107e0527f61610cc0527f06611120527f20527f60610540527f610920527f01610ee0527f60015560006000610b20527f611140527f60006000610ce0527f6103c0527f600060006108610f00527e527f527f60f75a611160527f61610940527f064052610b4052610d00527f7f7ff2506000610f20527f546161611180527f0560527f0340527f50600254506000610820527f526109610d20527f60610f406111a0527f527f610b60527f527f7f600454506103e052610660527f7f600354507f6001606111c0527f0161610f60527f0d40527f55610580527f610b80527f6061610980527f0840526111e0527f7f6020527f0454610f80527f50606103610d60527f60527e6000610680527f55611200527f610ba0527f7f600060046104610fa0527f6109a0527e527f5561610d80527f08611220527f60527f600260606105a0527f20527f610b610fc0527fc0527f04556000600060611240527e6106a0610da0527f6109c0527f527f606000604052610fe0527f7f61088052611260527f7f6103610be0527f80527f527e60610dc0527e610420527f6105c0611000527f611280527f526109e0527f7f60f25af250606106c052610c00527f7e610de0527f600061086112a0527f611020527fa0527f6000606000527e606040527e60610a00527ff35af25060026112c0527f61610e0052611040527f7f0c20527f6103a0526105e0527f616106e06108c0526112e0527f7f527f0440527f7f6061611060527f0a610e20527f20527f60610c40527f527f611300527f600355606020527e60006000600060611080527ff55af4506001610e40527f61611320527f08e0527f54616161610c60527f0a40527f0700526110a0527f7f0600527f5060611340527f60605261610e60527f0460527f7f6103c0527f01602052610c6110c0527f8052611360527f7f60610900610a60527f527f8052610e80527f7f7f600455610720527f606110611380527fe0527e5450610620527f610ca0527f6000606040527e60610ea0527e610a80526113a0527f7f60611100527f61610920527f0480527e600060f25a6103610cc0527fe061076113c0527f610ec0527f4052611120527f7f527ff25060006080610aa0527f52610640527f6113e0527f7f610940527f60610ce0610e611140527fe0527f527fa0527f60006000600060611400527e606104a052610760610ac0527f527f7f611160527f40527f610f00527f60f3611420527f610d00527f5af25060610960527f6060610461066052611180527f7e527f527e611440527f600061610f20527f0ae0527f600060610d20527e600060610780526111a0527f611460527f7ff760c0527f610980527f6104610f40527fc0527f60a0527f5a610b00610d40611480527f6111c0527f527f527ff25060610680527e600060006000610f60527f606104616114a0527f07a0527f616111e0527f09a0527f20527e610d60527f60f4610b20527f6060526114c0527f7f610f80527f5af16080611200527f526104e0527f7f50606106a0527f0460e06114e0527f610d80527f527f6109c052610fa052611220527f7f7f610b40527f6107c0527f611500527f5450600060c0527f60035560610440610da0527f611240527f52610fc0527f7e611520527f60045560006000610500610b60527f6109e0527f6106c0527f611260527f6107611540527fe0527f61610fe0527f0dc0527f527f60006000600060f85af150606101006112611560527f80527f610b80527f527f8060a061611000527f0a00527f610de0527f527f527f611580527f6104606112a0527f527f7f610800527f6106e0527f60e061611020527f0ba0526115a0527f7f610520527f610e6112c0527e527f527f7f6000610a20527f600060006000606115c0527ff7611040527f5af4506001546112e0527f506108610bc0527f610e20527f20526115e0527f7f6002610120610700527f611060527f52611300527f7f610a40527f60016104611600527f80610540527f527f610e40527f610be0527f55600161611320527f1080527f60611620527e556060610840527fc052610100527f610a60527f7f01610e6052611340527f611640527f7f5461076110a0527f2052610c00527f7f60a0527f506000527f7f6000610560611660527f611360527f527f61086052610e806110c0527f527f7f6101610a80527f610461611680527f0c20527fa0611380527f527f40527f527f600854610740526110e0527f7f50616116a0527f0ea0527f7f60035450606113a0527f03545060006108610a610c40527fa0527f6116c0527f8052611100527f7f610120527f61616113c0527f0ec0527f0580527f6060e0526116e0527f7f01556104c0610760527f52611120527f610c606113e0527f527f7f6000610a611700527fc052610ee0527f7f6061016108a0527f60527e60c052611140611400527f527f611720527f7f600060006060205261610c80527f05a0610f00527f527f7ff85af4610a6114611740527f20527fe052611160527f7f50610780527f60606108c0527f205261014061610c611760527f610f20611440527f527fa0527f04e0611180527f527f527f7f6000527e610161611780527f0b00527f80527f61611460527f01006105c0527f610f40527f6111a0527f61076117a0527f61610cc0527f08e0527fa0527f611480527f527f600060006000526060610b206117c0527f527f606111c0527f610f60527f60e0527f206114a0527f610500610ce0527f526117e0527f7f53600060215360610900527f6111e0527f61016061076114c0527f610f8052611800527f7fc0527f61610b40527f05e0527f610d00527f527f6101611200527f6114e052611820527f7fa0527f606040527f6022610fa0527f5360f16101610920527f20527f61610b611840527f60611500527f611220527f52610d20527f7f0520527f6107e052610fc0527f7f611860527f602353606061611520527f0600527f40611240527f527f5a6024602052610940611880527f610d40527f52610b80610f611540527fe0527f527f7f61010061611260527f016118a0527fc0527f610180527f610800527f527f7f611560527f53606105610d60526110006118c0527f527f7f40611280527f527f610620610ba0527f5261611580527f0960527f7ff46118e0527f60255360506026536061014061106112a0527f20527f52610d806115a0527f52611900527f7f7f6060610820527f527f60610bc0527f60276101e052616112c0527f098061611920527f15c0527f52611040527f7f7f53600260610da0527f28610640527f610560527f611940527f610161126115e0527fe0527fa0527f610be0527f611060527f5360610840527f611960527f54602960610dc0527f611600527f6109a0611300527f527f60610120527f527f611980527f536050611080527f602a53610161611620527f0c00527f61066052611320527f6119a0527f7f61610de0527f0200527f6105610860526161611640527f10a0527f09c0527f6119c0527f7f80527f60611340527f527f60604052610c20527f7f610e611660527e527f606119e0527f606101c0526110c0527f7f2b5360611360527f80527f60610680527f61168052611a00527f7f046109e0527f60610880527f61610e20527f0c6110e052611380527f7f4052611a20527f7f6116a0527f2c536054602d53606105a0527f610220527f610140527f50602e611a40527f610a6113a0526116c0527f7f61611100527f0e40527e527f61610c60527f0180611a60527f5261066108a0527fa0527f6116e0527f7f6113c0527f53606101e05261112052611a80527f7f7f6060610e60527f80527f602f6105611700527fc061610c80526113e0527f611aa0527f7f0a20527f527f53600160611140527f3061024052611720527f6108c0610e80611ac0527f527f527f7f611400527f53606106c0527f606060a0610ca0527f611740527f61611ae0527f1160527f527f6060610a40527f527f611420527f3153610ea0527f6061016061611b00527f1760527f610161026105e0526108611180527fe0527f7e5261611440527f0cc0611b20527f527f7fa0611780527f527f527f6106610ec0527fe0610a60527f527f036111a0611b40527f527f60611460527f616117a0527f0260527f325360556033536060610ce0527f611b60527f603453610ee0527f6109005261616117c0527f1480527f11c0527f7f60a0527f611b80527f6061610a80527f0600527e603553610700527f6117e0527f60610d006114a052611ba0527f7f610f00526111e0527f7f527f6060c0610220527f527f61611800527f028061611bc0527f0920527f52616114c0527f0aa0527f7f606101c0611200527f52610f20611820611be0527f527f527f7f36610d20527f53610180526114e0527f61062052610720527f7f7f611c00527f6000611840527f60611220527f375360806161610f40527f0ac0611500527f52611c20527f7f094052610d40611860527f527f7f52606060a05360fd611240527f60a16102611c40527f6102a052611520527f7f4052611880527f610f60527f7f536060610740527f61611c60527f0ae0610d6052611260527f7f527f6115406118a0527f527f6061064061096052611c80527f7f527fa260610f80527fc0526101e0527f7f536038616118c0527f1280611560611ca0527f527f527f60e0526101a0610d80527f527f610b00527f7f60a3610f6118e0527f611cc0527fa0527f53616107611580527f60526112a0527f610980527f7f02c0527f605361611ce0527f611900527f066052610da0527f7f6061026115a0527f60610fc0527f526112c0611d00527f527f7f610b611920527f20527fa453606060a553603960a65360616115c0527f611d20527f6109a0527f02610dc052611940527f7f616112e0527f0fe0527f610780527e52611d40527f7f6060a7536115e0527f60610b4052611960527f7e6102610680527fe0527f60611d60527f611300527fa8536060611000527f61611600527f611980527f0de0527fe06101611d80527f6109c0527f610280527f6107a0610b611320527f60527f527f6119a0527f6116611da0527f20527fc0527f52611020527f610100527f610e00527f7ff360a95360aa616119611dc0527fc0527f611340527f611640527f06a0527f606109e0527e61610361611040527f611de0527f0b80526119e0527f7e527f02205261610e20611660527f611360527f527f07c0611e00527f527f7f6000f06000611a00527f600060006102a0611060527f527f6061168052611e20527f7e610a0052611380527f610ba0611a20527f527f7f60610e40527e855a6106c0611e40527f527ff150616116a0527f01e0611080527f52611a40527f61076113a0527fe052611e60527f7f7f50610320527f60006000610b616116c0527f0e6052611a60527f7fc0527f611e80527f60610a20526110a06113c0527f527f7f61012052610240527f6116e0611a8052611ea0527f7f527f7e610100616106e0527f02610800610e80527f526113e0527f7fc06110611ec0527fc0611aa0527f527f611700527f610be0527f527f527f6000610a40527f60f35a611ee0527ff45061034052611ac0527f611400527f7f60611720527e54610ea06110e0527f611f00527f527f506000600060610261611ae0527f0c00527e527e6161086114611740527f611f20527f20527f20527f0700610a60527f527f61611b00527f1100527f6000610ec0527f611f40527f6000606102611760527f605261611440527f02e052611b20527f7f610c20527f611f60527f7ff95af161036052611120527f7f50611780527f610140526161611b40527f0e611f80527fe0611460527f527f08610a80527f40527f7f600054610720526117a0527f6161611fa0527f1b60527f0c40611140527f527f7f5060611480527f01610120526054610f0052611fc0527f7f610161611b80527f17c0527f405360610220527f61610aa052611160527f61611fe0527f14a0527f7f03005261611ba0527f0860610c6117e0527f60527f527f61038061612000527f0f20527f527f7f50610261074052611bc0527f6114c0527f6111805261180052612020527f7f7f7f80527f61014153606061610ac0527f01611be0527f610c80527f610f40612040527f527f6114e052611820527f7f42536000616111a0527f0161611c00527f610880612060527f527f016052604361018053606103a052611840527f61611500527f0760611c20612080527f527f527f61610f60527f6111c0527f610ca0527f0ae0527f7f53611860527f616120a0527f0320611c40527f527f61611520527f01815360616108a0527f6102a0527f61116120c0527fe0527f61611880611c60527f527f0f80527f0240527f60610c611540527fc0526120e0527f7f61018253610b00527f6060611c80527f61016118a0527f8361078061120052612100527f7f527f536103610f611560527fa0527fc0611ca0527f527f60616108c06118c0612120527f527f527f610ce0527f61018453610340611220527f52611cc0527f7f61158052612140527f7f610b20527f606118e0527f0161610fc0527f0185536044610186611ce0527f612160527f6102c0526107a0610d61126115a0527f40611900527f527e527f527f7f536061612180527f611d00527f08e0527f5361610fe0527f6161610b40527f03e05261611920527f6121a0527f15c0527f7f611d20527f02611260527f60527f0187536060610d20527f6101616121c0527f0360527f61611940527f611d40527f1000527f6115e0527f88536000616107616121e0527f1280527fc061090052610b60527f7f611d60527f611960527f527f0189536061612200527f610d611600527f40527f6101611020527f8a5361611d80527f12a0527f606119612220527f80527f01610400527f6102e0527f61018b611620527f536045611da0527f6101612240527f610b80527f8c61096119a0527f610d61106112c0527f40527f60527f2052611d612260527fc0527f7f61611640527f026107e0527f61036119c0527f80527f80527f536053612280527f61018d611de0527f53606112e0527f6104206110611660527f60527f6119e0526122a0527f7f610ba0610d8052611e00527f7f527f527f6061018e610940527f5360fd61136122c0527e527f611680611a00527f527f611e20527f61018f6161080052611080527f7f6122e0527f0300527f536061610da0527f6101610b611a611e40527f20527fc0526116a052612300527f7f611320527f7f906103a0527f5360016101616110a052611e60527f7f096061612320527f1a40527f527f91610440526116c0527f7f53606161611340527f0dc0611e8052612340527f7f527f02a052610820611a60527f52610be0527f7f7f6110c0526116e0527f7f612360527f46611ea0527f6101925360536101611360527f611a80527f9353606161610980612380527f52610de0527f611ec0527f7f0320611700527f527f616103c06110e052611aa06123a0527f527f7f527f016161138052611ee0527f7f0c00527f610460527f9461086117206123c0527f527f40527f5360611ac0527f0161610e611f00527e527f0195536061110052616123e0527f13a0527f7f47616109a052611740527f611ae052611f20527f7f7f0196536060612400527f61610c20527f6102c0527f0197536000610e206113c0527f52611f40527f6161612420527f1b00527f611760527f1120527f7f610198616161610860527f0480527f03611f612440527f60527f6109c0527fe0611b20527f610c406113611780527fe0527f527f527f03612460527f406111611f80527f40527f52610e40527f7f53611b40527f60f3610199536101612480527f9a606117a0527e60611fa0527e611400527ff0600060006061088052611b60526124a0527f7f7e611160527f61610c6052611fc0527f7f610e6117c0527f60527f09e0527f6124c0527f60611420527e611b80527f846104a0527f611fe0527f6102e052610400527f616124e0527f1180526117e0527f7f7f5af450610360611ba0527f52612000527f7f507f6114612500527f40527f610e80527f610c80527f6000606161611800527f0a005261612020527f612520527f1bc0527f7f08a06111a0527f527f02556002611460527f6001557f606104c052612540527f612040527f7e611820611be0527f527f610ea0527f6004556004610ca0527f54612560527f6111c0527f612060527f50611480527f606104611c00527f2052611840527f7f612580527f01610a20527f60015560612080527f6108c052610ec0527f7e61030061611c206125a0527f527f03616114a0527f611860527f116120a0527fe0527f80527f52610cc0527f6125c0527f7f60006104e052611c40527f7f600060600052616120c0527f0a40610e6118806125e0527f527f6114c0527fe0527f52611200527f7f611c60527f7e60f86120e0527f5af4612600527f5060026108e0527f610ce0526118a0527f7f610440526114e0527f611c806121612620527e527f527f7f6000556000527f61611220527f0f00527f600454506118c0527f612640527f600161612120527f610a611ca0527f60527f0500611500527f527f606103a061612660527f0d00527f527f0361612140527f12406118e0527f611cc0527f527f5561610961612680527f0f20527e527f0320611520527f612160527f527f60006003556061046052611c6126a0527fe0527f611900527f610a80527f7f03611260612180527f527f54610d20527f606126c0527f20611540527f610f611d00527f40527f527f611920527f6121a0527f506061056126e0527f20527e60005560610920527f01611280527f611d20527f60045561156121c052612700527f7f60527f6002611940527f6103c0610aa0610d610f60527f40527f52611d4052612720527f7f6121e0527f7f527f60006020527f556112a06115611960527f80527f527f61612740527f610480527f03612200527f611d60527f4052610540527f61094052610f80527f612760527f7f7f6061611980527f0d60612220527f526115a052611d80527f7f7e606112c0612780527f527f610ac0527e60006000600060f560612240527f40527f6119a0527f5af1616127a0527f1da0527f50606103610f6115c0527fa0527fe0527f612260527f016112e0527f6127c0527f545061610d80526119611dc0527fc0527f7f04a061096052610a612280527fe06127e0527f527f7f6115e0527f610560527f527f7f610fc0611de0527f5261136119e05261612800527f22a0527f7e527f7f600154506060600061036052610d611600527fa052611e00612820527f527f7f7f6122c0527f5360006040611a00527f527f600153610b00611320527f612840527f52610fe0527f7f611e6122e0527f20527f606109611620527f80527f60611a20612860527f527f60025361610580527f610dc0612300527f527f04611e40527e6104611340612880527f527fc0527f527f61164052611a40527f7f6061612320527f1000527f606052616128a0527f1e60527f7e6003610b20527f5360f36004536109a0526113612340527f6052616128c0527f1a60527f7f61166052611e80527f7f7f610de0527f60056060616110206123606128e0527f527f527f0380527e526105a0527f611a80527f611ea0527f6000602053606116612900527f8052612380527f7f611380527f610b40527ff36104e0527f610e00527f611ec0612920527f527f611aa0527f6123a0527f611040527f6060610420616116a0527f09c0527f612940527f526113a0527f7f611ee0527f6123c0527f60527f2153611ac0527f6000606080612960527f527f2261610b60527f05616116c0527f106123e0527f611f00527f60527f610e612980527f20527fc061611ae0527f13c0527f527f60006000f560612400527e606103a0616129a0527f1f20527f526109e06116e0527f527f61050052611b00527f7f7e612420527f606129c0527f611080527e606113e0611f40527f527e8461610e40527f0b80527f5a611700616129e0527f2440527f527f61611b20527f0440527ff45050611f60527f6105e0527f600260612a00527e611061612460527f1400527fa0527f557f60610a61611b40527f1720611f80612a20527f527f527e527f086061612480527f0e60527f80527f54610ba0527f60a0527f61612a40527f611420527f611b611fa0527f60526124a0527f7f052052611740527f6110c052612a60527f7f7f50600160006103c0527f6106005261611f6124c0527fc0527f0e8052611b612a80527f80527f7f7f556061611440611760527f527f0a20527f61616124e0527f0bc061612aa0527f611fe0527f10e0527f527f0460611ba0527f527f025450606060005360612500612ac0527f527f0360611780527f01612000527f53611460527f60610ea0527f54611bc052612ae0527f7f61612520527f0540527f60611100527f025360612020527f506106616117a0612b00527f527f610be0527f612540527f0a406114611be0527f80527f527f20527f606120612b20527f40527f0360006060610ec052612560527f7fc05261116117c0527f20527f7f61612b40527f1c00527fa0610361612060527f0480527f612580527f6114a0527fe0527f527f612b60527f526053610c00527f60206117e052611c2052612080526125a0527f7f7f7f6105612b80527f610a6052610e611140527fe0527f7f6114c0527f60527f610640526125c0527f612ba0527f7f6120a0527f53611c40527f60611800527f6060215360606022536060602361612bc0527f6125e0527f0c20527f61116120c0527f60526114e052611c60527f7f7f536004612be0527f6161182052612600527f7f0f00527f6024536061046120e0527f610a80527fa0612c00527f527f536060611c80527f612620527f610461066052611500527f611840527f61612c20527f2100527f7f611180527f610580527e612640527f610c40610f611ca0527f2052612c40527f7f527f527fe0527f25612120527f536060c05261612660527f1860527f611520612c60527f527f7f6060610aa0611cc0527f6111a0527f52612140527f7f612680527f2653612c80527f600060275360606028610f40611880527f527f53616161611ce0527f15616126612ca0527fa0527f2160527f40527f0c60527f610680527f04c06111c0527f527f6105a052612cc0527f6118a06126c0527f527f7f61612180527f1d00527f6005602953610ac0526115612ce0527f60527f7f60610f606126e0527f527f5360610420527f6121a0527f610c616161612d00527f1d20527f18c0527f11e0527f80612700527f527f2a5360610100527f61158052612d20527f6121c0527f7f60606106a0527f2b611d4052612720527f7f536060606118e052612d40527f7f610f80527f60e0527f6121e0527f611200527f610ae0612740527f527f6161612d60527f15a0611d60527f527f05c0610ca0527f61190052612200527f7f527f61276052612d80527f7f6104e0527f2c536060602d5360610fa0611d80527f52611220527f7f616122612da0527f20612780527f527f15c0527f0660611920527f2e53606106c0527f6104405261612dc0527f611da0527f0b6127a0527e61612240527f0cc0527f527f7f53602f5360606161612de0527f15611940527fe0527f126127c0527f40527f60611dc0612260527f527f610fc0612e00527f527f30616105e0527f0120527f53616127e0527f0500527f6000611960527f60612e20527f612280527f6106611de0527f611600527f610ce0612800527f52611260527f7f612e40527fe052610b20610fe0527f6122a0527f527f7f31611980611e00612820527f527f612e60527f527f5360606032536101611620527e527f6007606122c0527f61046061126128612e80527f40527f80527f52610600611e20527f527f6119a0527f610d00527f6110006122612ea0527fe0527f612860527f527f7f33611640527f5360536034610b40611e40527f527f612ec0527f53610700616119c0612880527f612300527f527f12a0527f527f606061052052612ee0527f7f60355360611660611e60527f6128a0527f527f610140612320527f61102052612f00527f7f610d6119e0527f20527f527ff3603653616128c0527f12c0527f60611e8052612f20527f7f612340527f6060376106610b611680527f60527f20526128e0527f611a0052612f40527f7f7f536008610720526110612360527f611ea0527f40527f7f60385361290052612f60527f7f61616112e0527f0d40526116a0527f611a20527f612380527f7f0480527f61612f80527f1e612920527fc0527f60536101610540527f20527f60610b80527f6110605261612fa0527f23a0527f7f39612940527f611300611a40527f611ee0527f6116c0527f527f53612fc0527f6060603a53606106616123612960527fc0527f0d60527f40610740527f527f09612fe0527f6061611f00527f611a60527f0160527f612980527f3b61166123e0527fe0527f613000527f5361611320527f1080527f6060603c5361611f20526129a0527f7f0ba0527f60613020527f611a612400527f80527e6104a0610d80527f52611700527f61056129c0527f60613040527f527f7f6061611f40527f1340612420527f527f3d53606161611aa0527f10a061613060527f29e0527f527f0760527ff360610660527f611720611f612440527f60527f527f613080527f3e53603f612a00527f610bc0527f610da0611ac0527f611360527f527f6000616130a0527f612460527f01405261612a20527f1f80527f606110c0527f60611740527f61016130c0527f6053606101611ae0527f61248052612a40527f7f80527e6101616107611fa0526130e0527f7f8052611380527f7f610580527f53610dc061612a60527f176124a0527f6052613100527f7f527f611b00527f610b61611fc0527f10e0527fe0527f61612a80527f610680613120527f527f046124c0527fc0527f6113a0527f60f06101626117611b20611fe0612aa0613140527f527f527f527f80527f536060616124e0527f0163536000610161610d61110052613160527f7fe0612ac0527f527f07a0527f64612000527f6113611b612500527f40527fc0613180527f527f6117a0527f612ae0527f610c00527f5360606101655360006105616120206131a0527f52612520527f7f06a0527fa0612b00527f527f611b60527f611120527f6161016131c0527f6117c0527f6113e0527f61612540527f0e612b20527f612040527e527fa0527f6131e0527f6104e0527f01611b80527f61610c20527f07c0527f61612b40527f2560527f66613200527f53606117612060527fe0527f6061611140611400527f527f016761612b60527f613220527f1ba0527f612580527f536000610168610e2052612080527f7f536060616106c0613240527f612b80527f611800527f527f01696125a0527f536105c061611bc0527f0c6114613260527f20526120a0612ba0527f527f7f4052611160527f7f527f606125c0527e6107e0613280527f527f611820527f61016a612bc0527f61611be0527f6120c0527f0e40527f53606132a0527f606125e0527f61016b61611440527f612be0527f0500527f6101c0611180527f6132c0527f611840526120e0527f611c612600527e527f7f52612c00527f7f53600061610c6132e0527f60527f06e0527f61016c610e611460527f606121612620527e612c20527f527f613300527f527f536061611c20527f08611860527e527f85616111a0527f016105e061612c613320527f40527f2640527f527f6d612120527f53605a61016e53606114611c40527f8052613340527f7ff261612c60527f61188052612660527f7f0c80527f610161612140527f0e80613360527f527f6f5360506111612c80527fc0527f6105611c6052612680527f7f20610700613380527f527f610861146118612160527f612ca0527fa0527fa0527f20527f527f6101706133a0527f6126a0527f53606101e052611c80527f7f50612cc0527f610c610ea0612180526133c0527f7f526111e0527f7fa0616126c0527f18c0527f527f6161612ce0527f14c0527f6133e0527f0600527f611ca0527f61016121a0527f715360606126e0527f610172612d0052613400527f7f5360006101610840527f616118e0527f07205261120052611c6121c0526127613420527e612d20527f527f7fc0527f7f6114e0527f7f610ec0527f735360610cc0527f613440527f606101746161612d40527f1900612720527f526121e0527f7f0540611ce0527f613460527f527f536000610175610620612d60527f611500527f6112612740527f20527f52613480527f7f53612200527f60f361610ee0611961612d80527f1d00527f20527f527f61086134a0527f60612760527f527f610200610ce0527f5261222052612da0527f7f60616115206134c0527f527f0740527f0161611d20612780527f527f124052611940527f612dc0527f7f6134e0527f6102205360612240527f766102215360610f00527f6127a0527f536102225361613500527f2de0527f6161611d40527f1540527f0560527f61612260527f1960527f610861613520527f27c0527f612e00527f80610d00611260527f527f527f60610640611d60527f52613540527f7f6161612280527f02612e20527f6127e0527f2361076161156052611980527f613560527f7f0f20527f60527f536001610224612e40527f611d805261612800527f22a052613580527f7f7f5360611280527f77610225536060610d20612e60527f526119a0527f7f616135a0527f1580612820527f527f61026122c0527f61611da0527f08a0612e80527f527f266135c0527f53610f40527f600061022753612840527f6112a0527f606119c06122e0612ea06135e0527f527f527f527ff3616106611dc0527f60526115a0527f612860527f610780527f613600527f7f05612ec0527f805260610d4052612300527f7f616105a0610f6119e052611d613620527f612880527fe052612ee0527f7f7f60527f536112c0527f60026115c052612320613640527f527f7f6108c0527f61056128612f00527fa0527fa15360286105a253611e0052613660527f7f60611a00527f536105a353612340527f612f20527f6060616128c0527f0561613680527f0d60526161126115e0527fe0527f0f80611e20527f52612f40527f7f7f6107a06136a0527f6123606128e0527f527f611a20527f527fa4610680527f536108e0612f60527f6136c0527f527f60006105a55360611e4052612900527f7f61612380527f1600527f6161056136e0527f612f80527f611300611a40527f527fa6536002610fa052612920527f7f61610d613700527f8052616123612fa0527fa0527f1e60527f7f05a75360296105a853611620527f613720527f60612940527f611a6052612fc0527f7f6107c0527f60616123c0527f61132052613740527f611e80527f7f610900527f61296052612fe0527f7f05a95360610fc0527f6106613760527fa0527e61611a6123e0527f80527f1640527f6161613000527f61612980527f1e613780527fa0527f0da0527f05aa5360606105611340527fab5361240052613020527f7f606137a0527e6105ac6129a0527f5360f5611aa0527f61611ec0527f05ad616116605261306137c0527f40527f7f610fe0527f612420527f6129c0527f07610920527fe0527f5360610d6137e0527f611360613060527f527f61611ee0527f1ac0527fc0527f606129e0527f612440613800527f527f6105ae536061613080527f1680527e616106c0527f05af53611000527f61613820527f1f00612a00527f527f606061616130a0527f2460527f05611ae0527fb0536000613840527f611380527f6105b1616116a0612a20527f526130c0527f7f0940527f61611f20613860527f612480527f527f0de0527f5360606108611b00527e52616130e0527f2a40527f613880527f7f6105b2611020527f5360006113a06124a0527f5261611f40527f16613100526138a0527f7fc0527f7f612a60527f6105b35360606105611b20527fb46106e0527f5361246138c0527fc0613120527f527f600061610e0052612a80527f611f60527f7f610960527f056138e0527f61106116e052613140527f7f406113c0611b6124e0527f4052612aa0527f7f52613900527f7f527fb553608461611f80613160527f527f05b6610820527f53605a6105b753613920527f606125612ac0527e527ff46105b86117613180527e52611b60527f7f53606161613940527f1fa0527f0e20526113e052612ae0527f7f7f50616131a0527f2520527f611060613960527f527f6105b953610980527f60610700611b8052611f612b00526131c0527f7fc0613980527f527f7f52611720612540527f527f6050610720536061610840611400527f61316139a0527fe0527f52612b20527f7f61072153616110611fe0527f612560527f80611ba0526139c0527f7f527f613200527f0e40527f6117612b40527f40527f60056107225360ba61076139e0527f6109a0527f612580613220527f527f612000527f23611420612b60527f527f61613a00527f1bc0527f536053610724536061613240527f6107611760527f6125a0527f2561613a20527f10a0612b80527f52612020527f7f53600561613260527f610e60527f07611be0613a40527f527f610860527f616125c052612ba0527f7f1440527f26613280527f5360bb61613a60527f07612040527f611780527f2753606109c0527f606107612bc0527f616132a052613a80527f7f6125e0527f1c00527f6110c0527f285360006107612060527f295360616114613aa0527f616132c0527f2be0527f60527f0e6117612600527fa0527f80527ff36107611c613ac0527f20527f2a53606132e0527e610761612c00527f2080527f2b6061088052606126613ae0527f20527e616110e0527f08613300527fa06109e0616117c052612c20527f7f1461613b00527f1c40527f806120a0527f527f612640613320527f527f527f5360606108a15361613b20527f0ea0612c40527f527f60006108a25360f56108a3613340527f53606161616120613b40527f612660527fc0527f1c60527f612c60527f17e0527f1100527f613360527f6114613b60527fa0527f606108a45360006108a55360612680527f610a612c80527e6120e06133613b80527f80527f527f527f6061611c80527f610ec052611800527f7f08a6536000612661613ba0527f2ca0526133a0527f7fa0527f6108a76114c0527f612100527f611120527f5360613bc0527f6061611ca0527f086133c0527fa8612cc0527f5360006126c0527f6108a95361613be0527f1820527f60606108612120527f6133e0527faa5360006161612ce0527f0a610e613c00527fe06114e0526126e0527f611cc0527f7f527f613400527f20527f611140527f08613c20527fab61612d00527f2140527f53611840527f608461612700613420527f527f08ac613c40527f53605a6108ad5360611ce052612d20527f7ff46108ae53606115612161344052613c60527f7f60527e527f5061612720527f08af53605061611860612d40527f527f0f0061613c80527f11613460527f60527f52611d00527f7f6108612180527f612740527fb0610a40613ca0527f612d60527f52613480527f6053610a60536061611520527f610a61611880527f613cc0527f536008611d2061276052616134a0527f2d80527f7f6121a0527f527f610a6253613ce0527f60b1610a63611180527f5360610f20526134c0527f7f60610a612da0527f6461613d00527f2780527f53611540616121c0527f18a0611d40527f6134e0527f527f527f6000613d20527f610a65612dc0527f5360f3610a666127a0527f53610a67600060613500527ef0613d40527f616121e0527f11a0527f6000612de0527f60611d60527e606118c05261276135613d60527f20527fc0527f7e60611560527f610f40526000610f61612e00527f2200527f60613d80527f536060613540527f610f6153600061616127e0527f1d80527f0f625360856161613da0527f612e20527f18e052613560527f7f6111c0527f612220527f0f63611580527f61613dc0527f2800527f53605a610f64612e40613580527f527f5360f1611da0527f610f6553613de0527f6050610f665360612240527f6119612820526135a0527f7e52612e60527f7f50613e00527f610f6753610f68600061116115a052611dc0527f7fe0526135c0527f60f36161613e20527f226128612e80527f40527f60527f12005360006112016000611920526135e052613e40527f7f7f6000f56000600060006000612ea0527f611de0612860527f527f60612280613e60527f52613600527f7e855af2506115c05260506115e0536115612ec0527fe1600061613e80527f194052606128613620527f80527ff36119605361616122a0527f1e0052601961613ea0527f1e612ee0527f2053606161613640527f1e21536060611e226128a0527f536000613ec0527f611e23536060611e246122612f00527f613660527fc0527f536000611e255360613ee0527ff0611e265360606128c0527f611e27536000611e28613680527f612f20527f53613f00527f6060611e2953606122e0527e611e2a536060611e2b536128e0526136a0527f7f613f20527f6000611e612f40527f2c536060611e2d536000611e2e53606061612300527f61613f40527f36c0527f1e2f5360006161290052612f60527f7f1e30536085611e3153605a61613f60527f1e3253606136e0527ff2611e33536050611e346123205260612f80527f536129613f80527f20527f612340536060613700527f61234153605061234253606161234353601e613fa0527f6123612fa0527f44536035612361613720527f2940527f455360536123465360613fc0527f6161234753601e6123485360612fc0527f3661613740527f234953606061234a613fe0527f53612960527f600061234b5360f361234c5360006123612f613760527fe0527f614000527f4d60006000f56000600060006000845a6129805260f46129a053605061613780614020527f527f29a153613000526060613020536050613021536061613022536029613023614040527f53606137a0527fa26130245360536130255360616130265360296130275360a3614060527f613028536060616137c0527f302953600061302a5360f361302b5361302c6000614080527f6000f06000600060006000846137e052605a6138005360f461380153605061386140a05260026140c05360536140c15360606140c25360506140c35360616140c45360386140c55360036140c65360536140c75360616140c85360386140c95360046140ca5360606140cb5360006140cc5360f36140cd5360006140ce60006000f560006000600060006000855af15050","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000010","0x0000000000000000000000000000000000000000000000000000000000000001":"0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000004":"0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000006":"0x000000000000000000000000000000000000000000000000000000000000000c"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f8":{"code":"0x6003545060026002556000545060035450600054506000600455600354507f60025450600954506009545060065450600060015560085450600160005560076000527f5450606060005360006001536060600253600060035360fd60045360056000f36020526000604060006000f560006000600060006000855af150507f60015450600060005560015450600154506060600053600260015360606002536000527f60006003536055600453606060055360006006536060600753600060085360fd6020526060604053600960415360536042536060604353600a6044536060604553600060465360f36047536000604860006000f560006000600060006000855af2505060006000f3","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000009"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000f9":{"code":"0x60006000556002600455600060006000600060fa5af45060016003557f60026001556060600053600060015360606002536000600353606060045360006000527f60055360606006536000600753606060085360006009536060600a5360f7600b6020527f53605a600c5360f1600d536050600e536060600f5360006010536060601153606040526000606053606060615360126062536053606353606060645360f360655360606066536013606753605360685360606069536014606a536060606b536000606c5360f3606d53606e60006000f060006000600060006000855af250506000600060006000600060f25af25060006000556004545060006001556001600455600160045560016001556000600355600154506000600060006000600060f15af2506000600060006000600060fa5af25060006000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000001":"0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000002":"0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000013","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007":"0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000009":"0x000000000000000000000000000000000000000000000000000000000000000f","0x000000000000000000000000000000000000000000000000000000000000000b":"0x0000000000000000000000000000000000000000000000000000000000000004"},"balance":"0x0","nonce":"0x0"},"0x00000000000000000000000000000000000000fa":{"code":"0x600454506000545060016001557f60026003557f6000600060006000600060f45af25060006000600060006000606000527ff45af150600360005260546020536050602153606060225360006023536054606020527f2453605060255360606026536001602753605460285360506029536060602a536040527f6000602b536060602c536002602d536055602e536060602f536000603053606060605260606080536031608153605360825360606083536000608453606060855360326086536053608753606060885360f36089536060608a536033608b536053608c536060608d536034608e536060608f53600060905360f3609153609260006000f060006000600060006000855af15050600454506002600455600260045560006000fd","storage":{"0x0000000000000000000000000000000000000000000000000000000000000003":"0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000005":"0x0000000000000000000000000000000000000000000000000000000000000010","0x0000000000000000000000000000000000000000000000000000000000000006":"0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000007":"0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000008":"0x0000000000000000000000000000000000000000000000000000000000000007","0x000000000000000000000000000000000000000000000000000000000000000a":"0x000000000000000000000000000000000000000000000000000000000000000d","0x000000000000000000000000000000000000000000000000000000000000000b":"0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000c":"0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000d":"0x0000000000000000000000000000000000000000000000000000000000000001"},"balance":"0x0","nonce":"0x0"},"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":{"code":"0x","storage":{},"balance":"0xffffffff","nonce":"0x0"}},"transaction":{"gasPrice":"0x1","nonce":"0x0","to":"0x00000000000000000000000000000000000000f1","data":["0x3a5b355b564f179348262cdb949ded1f07c6a31a6e71c45293e6a084ceeb8d3c0e3045c9db96ffa17ede484c27ac3bbd4cf9261f69f966"],"gasLimit":["0x7a1200"],"value":["0xef3f54"],"secretKey":"0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8"},"out":"0x","post":{"Berlin":[{"hash":"0000000000000000000000000000000000000000000000000000000000000000","logs":"0000000000000000000000000000000000000000000000000000000000000000","indexes":{"data":0,"gas":0,"value":0}}]}}}
@shemnon
Copy link

shemnon commented Oct 17, 2020

Prior operation is a SLOAD and the difference in gas remaining is 2000. Besu charged 2100 and geth 100. Cold sload vs warm sload. So my guess is one of us has the warm/cold state wrong. I'll investigate when I get back this evening.

@shemnon
Copy link

shemnon commented Oct 17, 2020

Bug to besu. After a successful call to CREATE (or CREATE2, but that's not in this state-test) we didn't propagate the warm account state back up the message frame stack like we do for the call family (CALL, DELEGATECALL, CALLCODE, STATICCALL).

The reason the state root matched is because both executions wound up running out of gas because of a string of SLOADs.

@holiman
Copy link
Owner Author

holiman commented Oct 18, 2020

Awesome, thanks for confirming. I"m going to fuzz it a bit more, to get some test(s) with stateroot diffs, and then rerun them on the patched version.

@holiman holiman changed the title False positive (besu / geth) Besu/geth consensus issue (EIP-2929) Oct 19, 2020
@holiman holiman closed this as completed Dec 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants
@shemnon @holiman and others