0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc10000600181905550610dc68061006e6000396000f3fe6080604052600436106100705760003560e01c806369fe0e2d1161004e57806369fe0e2d146100e35780638da5cb5b1461010c578063a1079c2814610137578063ddca3f431461015357610070565b806313af4035146100755780631ac3ddeb1461009e578063498eacbe146100c7575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061075f565b61017e565b005b3480156100aa57600080fd5b506100c560048036038101906100c091906107ca565b6102be565b005b6100e160048036038101906100dc9190610973565b610405565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190610a05565b610504565b005b34801561011857600080fd5b5061012161059c565b60405161012e9190610a41565b60405180910390f35b610151600480360381019061014c9190610a5c565b6105c0565b005b34801561015f57600080fd5b506101686106e7565b6040516101759190610af6565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610b6e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361027b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027290610bda565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461034c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610b6e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b290610bda565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610401573d6000803e3d6000fd5b5050565b6001543414610449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044090610c46565b60405180910390fd5b6000828251602084016000f59050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90610cb2565b60405180910390fd5b7f33c981baba081f8fd2c52ac6ad1ea95b6814b4376640f55689051f658472968833826040516104f7929190610cd2565b60405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058990610b6e565b60405180910390fd5b8060018190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001543414610604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fb90610c46565b60405180910390fd5b60008282604051602001610619929190610d6c565b60405160208183030381529060405290506000848251602084016000f59050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069e90610cb2565b60405180910390fd5b7f33c981baba081f8fd2c52ac6ad1ea95b6814b4376640f55689051f658472968833826040516106d8929190610cd2565b60405180910390a15050505050565b60015481565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061072c82610701565b9050919050565b61073c81610721565b811461074757600080fd5b50565b60008135905061075981610733565b92915050565b600060208284031215610775576107746106f7565b5b60006107838482850161074a565b91505092915050565b600061079782610701565b9050919050565b6107a78161078c565b81146107b257600080fd5b50565b6000813590506107c48161079e565b92915050565b6000602082840312156107e0576107df6106f7565b5b60006107ee848285016107b5565b91505092915050565b6000819050919050565b61080a816107f7565b811461081557600080fd5b50565b60008135905061082781610801565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61088082610837565b810181811067ffffffffffffffff8211171561089f5761089e610848565b5b80604052505050565b60006108b26106ed565b90506108be8282610877565b919050565b600067ffffffffffffffff8211156108de576108dd610848565b5b6108e782610837565b9050602081019050919050565b82818337600083830152505050565b6000610916610911846108c3565b6108a8565b90508281526020810184848401111561093257610931610832565b5b61093d8482856108f4565b509392505050565b600082601f83011261095a5761095961082d565b5b813561096a848260208601610903565b91505092915050565b6000806040838503121561098a576109896106f7565b5b600061099885828601610818565b925050602083013567ffffffffffffffff8111156109b9576109b86106fc565b5b6109c585828601610945565b9150509250929050565b6000819050919050565b6109e2816109cf565b81146109ed57600080fd5b50565b6000813590506109ff816109d9565b92915050565b600060208284031215610a1b57610a1a6106f7565b5b6000610a29848285016109f0565b91505092915050565b610a3b81610721565b82525050565b6000602082019050610a566000830184610a32565b92915050565b600080600060608486031215610a7557610a746106f7565b5b6000610a8386828701610818565b935050602084013567ffffffffffffffff811115610aa457610aa36106fc565b5b610ab086828701610945565b925050604084013567ffffffffffffffff811115610ad157610ad06106fc565b5b610add86828701610945565b9150509250925092565b610af0816109cf565b82525050565b6000602082019050610b0b6000830184610ae7565b92915050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b6000610b58600983610b11565b9150610b6382610b22565b602082019050919050565b60006020820190508181036000830152610b8781610b4b565b9050919050565b7f5a65726f20616464726573730000000000000000000000000000000000000000600082015250565b6000610bc4600c83610b11565b9150610bcf82610b8e565b602082019050919050565b60006020820190508181036000830152610bf381610bb7565b9050919050565b7f496e76616c696420666565000000000000000000000000000000000000000000600082015250565b6000610c30600b83610b11565b9150610c3b82610bfa565b602082019050919050565b60006020820190508181036000830152610c5f81610c23565b9050919050565b7f437265617465323a204661696c6564206f6e206465706c6f7900000000000000600082015250565b6000610c9c601983610b11565b9150610ca782610c66565b602082019050919050565b60006020820190508181036000830152610ccb81610c8f565b9050919050565b6000604082019050610ce76000830185610a32565b610cf46020830184610a32565b9392505050565b600081519050919050565b600081905092915050565b60005b83811015610d2f578082015181840152602081019050610d14565b60008484015250505050565b6000610d4682610cfb565b610d508185610d06565b9350610d60818560208601610d11565b80840191505092915050565b6000610d788285610d3b565b9150610d848284610d3b565b9150819050939250505056fea2646970667358221220a3fae686f10e69b4213f114c95c54789869447a3c97a71f78c24b7e662bc135364736f6c63430008130033