0x60806040525f5f5f6101000a81548160ff0219169083151502179055503480156026575f5ffd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad0806100745f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806306dea4fb146100645780633b111c251461009457806373886057146100b05780638da5cb5b146100e0578063f2fde38b146100fe578063f76885b91461011a575b5f5ffd5b61007e600480360381019061007991906104c0565b61014a565b60405161008b9190610518565b60405180910390f35b6100ae60048036038101906100a9919061058b565b610155565b005b6100ca60048036038101906100c591906105f3565b6102ff565b6040516100d79190610518565b60405180910390f35b6100e861030b565b6040516100f59190610652565b60405180910390f35b6101186004803603810190610113919061066b565b610330565b005b610134600480360381019061012f91906107d2565b610470565b6040516101419190610869565b60405180910390f35b5f6001905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ba906108dc565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682836040516024016101ed9190610869565b6040516020818303038152906040527fa6b206bf000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610277919061094c565b5f6040518083038185875af1925050503d805f81146102b1576040519150601f19603f3d011682016040523d82523d5f602084013e6102b6565b606091505b50509050806102fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f1906109ac565b60405180910390fd5b505050565b5f600190509392505050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b690610a14565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361042d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042490610a7c565b60405180910390fd5b805f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f602a90509392505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61049f8161048d565b81146104a9575f5ffd5b50565b5f813590506104ba81610496565b92915050565b5f5f604083850312156104d6576104d5610485565b5b5f6104e3858286016104ac565b92505060206104f4858286016104ac565b9150509250929050565b5f8115159050919050565b610512816104fe565b82525050565b5f60208201905061052b5f830184610509565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61055a82610531565b9050919050565b61056a81610550565b8114610574575f5ffd5b50565b5f8135905061058581610561565b92915050565b5f5f604083850312156105a1576105a0610485565b5b5f6105ae85828601610577565b92505060206105bf858286016104ac565b9150509250929050565b6105d2816104fe565b81146105dc575f5ffd5b50565b5f813590506105ed816105c9565b92915050565b5f5f5f6060848603121561060a57610609610485565b5b5f610617868287016105df565b9350506020610628868287016104ac565b925050604061063986828701610577565b9150509250925092565b61064c81610550565b82525050565b5f6020820190506106655f830184610643565b92915050565b5f602082840312156106805761067f610485565b5b5f61068d84828501610577565b91505092915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106e48261069e565b810181811067ffffffffffffffff82111715610703576107026106ae565b5b80604052505050565b5f61071561047c565b905061072182826106db565b919050565b5f67ffffffffffffffff8211156107405761073f6106ae565b5b6107498261069e565b9050602081019050919050565b828183375f83830152505050565b5f61077661077184610726565b61070c565b9050828152602081018484840111156107925761079161069a565b5b61079d848285610756565b509392505050565b5f82601f8301126107b9576107b8610696565b5b81356107c9848260208601610764565b91505092915050565b5f5f5f606084860312156107e9576107e8610485565b5b5f84013567ffffffffffffffff81111561080657610805610489565b5b610812868287016107a5565b935050602084013567ffffffffffffffff81111561083357610832610489565b5b61083f868287016107a5565b925050604061085086828701610577565b9150509250925092565b6108638161048d565b82525050565b5f60208201905061087c5f83018461085a565b92915050565b5f82825260208201905092915050565b7f496e76616c696420636f6e7472616374206164647265737300000000000000005f82015250565b5f6108c6601883610882565b91506108d182610892565b602082019050919050565b5f6020820190508181035f8301526108f3816108ba565b9050919050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f610926826108fa565b6109308185610904565b935061094081856020860161090e565b80840191505092915050565b5f610957828461091c565b915081905092915050565b7f4661696c656420746f2063616c6c206f7468657220636f6e74726163740000005f82015250565b5f610996601d83610882565b91506109a182610962565b602082019050919050565b5f6020820190508181035f8301526109c38161098a565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6109fe601783610882565b9150610a09826109ca565b602082019050919050565b5f6020820190508181035f830152610a2b816109f2565b9050919050565b7f496e76616c6964206164647265737320666f72206e6577206f776e65720000005f82015250565b5f610a66601d83610882565b9150610a7182610a32565b602082019050919050565b5f6020820190508181035f830152610a9381610a5a565b905091905056fea2646970667358221220f0ae893d9f9d385b5ef7dd5ad141070b9121bfbd5fdbf74167acccb384509bb864736f6c634300081c0033