0x60806040525f5f5f6101000a81548160ff0219169083151502179055503480156026575f5ffd5b50335f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c41806100745f395ff3fe608060405234801561000f575f5ffd5b5060043610610086575f3560e01c80638da5cb5b116100595780638da5cb5b1461013657806398f9bd5514610154578063f2fde38b14610184578063fb89796b146101a057610086565b80632b2369261461008a5780633b111c25146100ba5780634483a53a146100d65780634b4102ee14610106575b5f5ffd5b6100a4600480360381019061009f9190610727565b6101d0565b6040516100b191906107ad565b60405180910390f35b6100d460048036038101906100cf91906107c6565b6101dc565b005b6100f060048036038101906100eb919061082e565b610386565b6040516100fd91906108cc565b60405180910390f35b610120600480360381019061011b91906108ec565b6103c6565b60405161012d9190610939565b60405180910390f35b61013e6103d1565b60405161014b9190610961565b60405180910390f35b61016e600480360381019061016991906108ec565b6103f6565b60405161017b9190610939565b60405180910390f35b61019e6004803603810190610199919061097a565b610401565b005b6101ba60048036038101906101b591906109a5565b610541565b6040516101c791906107ad565b60405180910390f35b5f600190509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361024a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024190610a5b565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682836040516024016102749190610939565b6040516020818303038152906040527fa6b206bf000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102fe9190610abd565b5f6040518083038185875af1925050503d805f8114610338576040519150601f19603f3d011682016040523d82523d5f602084013e61033d565b606091505b5050905080610381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037890610b1d565b60405180910390fd5b505050565b60606040518060400160405280600781526020017f5375636365737300000000000000000000000000000000000000000000000000815250905092915050565b5f602a905092915050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f602a905092915050565b5f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f590610bed565b60405180910390fd5b805f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f600190509392505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105878261055e565b9050919050565b6105978161057d565b81146105a1575f5ffd5b50565b5f813590506105b28161058e565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610606826105c0565b810181811067ffffffffffffffff82111715610625576106246105d0565b5b80604052505050565b5f61063761054d565b905061064382826105fd565b919050565b5f67ffffffffffffffff821115610662576106616105d0565b5b61066b826105c0565b9050602081019050919050565b828183375f83830152505050565b5f61069861069384610648565b61062e565b9050828152602081018484840111156106b4576106b36105bc565b5b6106bf848285610678565b509392505050565b5f82601f8301126106db576106da6105b8565b5b81356106eb848260208601610686565b91505092915050565b5f819050919050565b610706816106f4565b8114610710575f5ffd5b50565b5f81359050610721816106fd565b92915050565b5f5f5f6060848603121561073e5761073d610556565b5b5f61074b868287016105a4565b935050602084013567ffffffffffffffff81111561076c5761076b61055a565b5b610778868287016106c7565b925050604061078986828701610713565b9150509250925092565b5f8115159050919050565b6107a781610793565b82525050565b5f6020820190506107c05f83018461079e565b92915050565b5f5f604083850312156107dc576107db610556565b5b5f6107e9858286016105a4565b92505060206107fa85828601610713565b9150509250929050565b61080d81610793565b8114610817575f5ffd5b50565b5f8135905061082881610804565b92915050565b5f5f6040838503121561084457610843610556565b5b5f610851858286016105a4565b92505060206108628582860161081a565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61089e8261086c565b6108a88185610876565b93506108b8818560208601610886565b6108c1816105c0565b840191505092915050565b5f6020820190508181035f8301526108e48184610894565b905092915050565b5f5f6040838503121561090257610901610556565b5b5f61090f85828601610713565b9250506020610920858286016105a4565b9150509250929050565b610933816106f4565b82525050565b5f60208201905061094c5f83018461092a565b92915050565b61095b8161057d565b82525050565b5f6020820190506109745f830184610952565b92915050565b5f6020828403121561098f5761098e610556565b5b5f61099c848285016105a4565b91505092915050565b5f5f5f606084860312156109bc576109bb610556565b5b5f6109c9868287016105a4565b935050602084013567ffffffffffffffff8111156109ea576109e961055a565b5b6109f6868287016106c7565b9250506040610a078682870161081a565b9150509250925092565b7f496e76616c696420636f6e7472616374206164647265737300000000000000005f82015250565b5f610a45601883610876565b9150610a5082610a11565b602082019050919050565b5f6020820190508181035f830152610a7281610a39565b9050919050565b5f81519050919050565b5f81905092915050565b5f610a9782610a79565b610aa18185610a83565b9350610ab1818560208601610886565b80840191505092915050565b5f610ac88284610a8d565b915081905092915050565b7f4661696c656420746f2063616c6c206f7468657220636f6e74726163740000005f82015250565b5f610b07601d83610876565b9150610b1282610ad3565b602082019050919050565b5f6020820190508181035f830152610b3481610afb565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f610b6f601783610876565b9150610b7a82610b3b565b602082019050919050565b5f6020820190508181035f830152610b9c81610b63565b9050919050565b7f496e76616c6964206164647265737320666f72206e6577206f776e65720000005f82015250565b5f610bd7601d83610876565b9150610be282610ba3565b602082019050919050565b5f6020820190508181035f830152610c0481610bcb565b905091905056fea26469706673582212208d4fc18e9a984fcaa40622fac6f58599343c1b65a988186a6fa450aa1ffe3e1d64736f6c634300081c0033