0x608060405234801562000010575f80fd5b5060405162000dcf38038062000dcf833981810160405281019062000036919062000192565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009e9062000220565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000240565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200015c8262000131565b9050919050565b6200016e8162000150565b811462000179575f80fd5b50565b5f815190506200018c8162000163565b92915050565b5f60208284031215620001aa57620001a96200012d565b5b5f620001b9848285016200017c565b91505092915050565b5f82825260208201905092915050565b7f746f6b656e0000000000000000000000000000000000000000000000000000005f82015250565b5f62000208600583620001c2565b91506200021582620001d2565b602082019050919050565b5f6020820190508181035f8301526200023981620001fa565b9050919050565b610b81806200024e5f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c80638da5cb5b116100645780638da5cb5b1461011d5780639638845d1461013b5780639f678cca14610159578063c43f645814610163578063fc0c546a1461018157610091565b80631b0d83a3146100955780634dea080a146100b35780636ea056a9146100e35780637b1be880146100ff575b5f80fd5b61009d61019f565b6040516100aa9190610696565b60405180910390f35b6100cd60048036038101906100c8919061070d565b6101a5565b6040516100da9190610696565b60405180910390f35b6100fd60048036038101906100f89190610762565b6101ba565b005b610107610394565b6040516101149190610696565b60405180910390f35b61012561039b565b60405161013291906107af565b60405180910390f35b6101436103c0565b6040516101509190610696565b60405180910390f35b6101616103c6565b005b61016b610654565b6040516101789190610696565b60405180910390f35b61018961065b565b60405161019691906107af565b60405180910390f35b60035481565b6004602052805f5260405f205f915090505481565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024090610822565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ae9061088a565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b81526004016103119291906108a8565b6020604051808303815f875af115801561032d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103519190610904565b610390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038790610979565b60405180910390fd5b5050565b621e848081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b5f62015180426103d691906109f1565b905060025481146103f057806002819055505f6003819055505b8060045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20540361046f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046690610a6b565b60405180910390fd5b62895440621e84806003546104849190610a89565b11156104c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bc90610b06565b60405180910390fd5b8060045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550621e848060035f82825461051b9190610a89565b925050819055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33621e84806040518363ffffffff1660e01b815260040161057f9291906108a8565b6020604051808303815f875af115801561059b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bf9190610904565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590610979565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fa4acd6546ca2a791c494afafa902f3ea075e5f5381f061cc8ec601651591a59b621e848083604051610649929190610b24565b60405180910390a250565b6289544081565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f819050919050565b6106908161067e565b82525050565b5f6020820190506106a95f830184610687565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106dc826106b3565b9050919050565b6106ec816106d2565b81146106f6575f80fd5b50565b5f81359050610707816106e3565b92915050565b5f60208284031215610722576107216106af565b5b5f61072f848285016106f9565b91505092915050565b6107418161067e565b811461074b575f80fd5b50565b5f8135905061075c81610738565b92915050565b5f8060408385031215610778576107776106af565b5b5f610785858286016106f9565b92505060206107968582860161074e565b9150509250929050565b6107a9816106d2565b82525050565b5f6020820190506107c25f8301846107a0565b92915050565b5f82825260208201905092915050565b7f6f776e65720000000000000000000000000000000000000000000000000000005f82015250565b5f61080c6005836107c8565b9150610817826107d8565b602082019050919050565b5f6020820190508181035f83015261083981610800565b9050919050565b7f746f0000000000000000000000000000000000000000000000000000000000005f82015250565b5f6108746002836107c8565b915061087f82610840565b602082019050919050565b5f6020820190508181035f8301526108a181610868565b9050919050565b5f6040820190506108bb5f8301856107a0565b6108c86020830184610687565b9392505050565b5f8115159050919050565b6108e3816108cf565b81146108ed575f80fd5b50565b5f815190506108fe816108da565b92915050565b5f60208284031215610919576109186106af565b5b5f610926848285016108f0565b91505092915050565b7f78666572000000000000000000000000000000000000000000000000000000005f82015250565b5f6109636004836107c8565b915061096e8261092f565b602082019050919050565b5f6020820190508181035f83015261099081610957565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6109fb8261067e565b9150610a068361067e565b925082610a1657610a15610997565b5b828204905092915050565b7f636c61696d6564000000000000000000000000000000000000000000000000005f82015250565b5f610a556007836107c8565b9150610a6082610a21565b602082019050919050565b5f6020820190508181035f830152610a8281610a49565b9050919050565b5f610a938261067e565b9150610a9e8361067e565b9250828201905080821115610ab657610ab56109c4565b5b92915050565b7f656d7074790000000000000000000000000000000000000000000000000000005f82015250565b5f610af06005836107c8565b9150610afb82610abc565b602082019050919050565b5f6020820190508181035f830152610b1d81610ae4565b9050919050565b5f604082019050610b375f830185610687565b610b446020830184610687565b939250505056fea2646970667358221220b17a1311869e0414bbeff0bfeb1f272407584e62122d48efcb14aeeca7600d6b6468797063430000020033000000000000000000000000adf94bb6e061a9f3b1d54826241eba701d43fb86