0x60806040526040518060400160405280600681526020017f31323334353600000000000000000000000000000000000000000000000000008152505f9081610047919061029e565b50348015610053575f80fd5b506305f5e10060028190555061036d565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806100df57607f821691505b6020821081036100f2576100f161009b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610119565b61015e8683610119565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101a261019d61019884610176565b61017f565b610176565b9050919050565b5f819050919050565b6101bb83610188565b6101cf6101c7826101a9565b848454610125565b825550505050565b5f90565b6101e36101d7565b6101ee8184846101b2565b505050565b5b81811015610211576102065f826101db565b6001810190506101f4565b5050565b601f82111561025657610227816100f8565b6102308461010a565b8101602085101561023f578190505b61025361024b8561010a565b8301826101f3565b50505b505050565b5f82821c905092915050565b5f6102765f198460080261025b565b1980831691505092915050565b5f61028e8383610267565b9150826002028217905092915050565b6102a782610064565b67ffffffffffffffff8111156102c0576102bf61006e565b5b6102ca82546100c8565b6102d5828285610215565b5f60209050601f831160018114610306575f84156102f4578287015190505b6102fe8582610283565b865550610365565b601f198416610314866100f8565b5f5b8281101561033b57848901518255600182019150602085019450602081019050610316565b868310156103585784890151610354601f891682610267565b8355505b6001600288020188555050505b505050505050565b6106d78061037a5f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806318160ddd1461005957806327e235e314610077578063423f6cef146100a75780634e71d92d146100c3578063d54ad2a1146100cd575b5f80fd5b6100616100eb565b60405161006e9190610464565b60405180910390f35b610091600480360381019061008c91906104db565b6100f1565b60405161009e9190610464565b60405180910390f35b6100c160048036038101906100bc9190610530565b610106565b005b6100cb6102c2565b005b6100d5610446565b6040516100e29190610464565b60405180910390f35b60025481565b6001602052805f5260405f205f915090505481565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061015657505f8273ffffffffffffffffffffffffffffffffffffffff1631145b1561019857816040517f6a86d24c00000000000000000000000000000000000000000000000000000000815260040161018f919061057d565b60405180910390fd5b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020f906105f0565b60405180910390fd5b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610264919061063b565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546102b7919061066e565b925050819055505050565b600254600354106102ff576040517fcbe2483100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610380576040517f0b1327a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e860015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103ce919061066e565b925050819055506103e860035f8282546103e8919061066e565b92505081905550600160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b60035481565b5f819050919050565b61045e8161044c565b82525050565b5f6020820190506104775f830184610455565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104aa82610481565b9050919050565b6104ba816104a0565b81146104c4575f80fd5b50565b5f813590506104d5816104b1565b92915050565b5f602082840312156104f0576104ef61047d565b5b5f6104fd848285016104c7565b91505092915050565b61050f8161044c565b8114610519575f80fd5b50565b5f8135905061052a81610506565b92915050565b5f80604083850312156105465761054561047d565b5b5f610553858286016104c7565b92505060206105648582860161051c565b9150509250929050565b610577816104a0565b82525050565b5f6020820190506105905f83018461056e565b92915050565b5f82825260208201905092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6105da601483610596565b91506105e5826105a6565b602082019050919050565b5f6020820190508181035f830152610607816105ce565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106458261044c565b91506106508361044c565b92508282039050818111156106685761066761060e565b5b92915050565b5f6106788261044c565b91506106838361044c565b925082820190508082111561069b5761069a61060e565b5b9291505056fea264697066735822122057939e6c0a653261fd4bf3f74fe567001953fbe6978d3345f6840a4a5bcb690564736f6c634300081a0033