0x60806040526301e133806003553480156200001957600080fd5b50604051620011403803806200114083398181016040528101906200003f9190620000b4565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035442620000909190620000e0565b60008190555050620001c4565b600081519050620000ae81620001aa565b92915050565b600060208284031215620000c757600080fd5b6000620000d7848285016200009d565b91505092915050565b6000620000ed8262000171565b9150620000fa8362000171565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200013257620001316200017b565b5b828201905092915050565b60006200014a8262000151565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b620001b5816200013d565b8114620001c157600080fd5b50565b610f6c80620001d46000396000f3fe6080604052600436106100c65760003560e01c806370ed0ada1161007f5780638da5cb5b116100595780638da5cb5b1461024d578063e30c397814610278578063efbe1c1c146102a3578063f3fef3a3146102ce576100cd565b806370ed0ada146101e057806379ba50971461020b578063893d20e814610222576100cd565b80630fb5a6b4146100d25780631300a6d1146100fd57806313af4035146101285780633aecd0e314610151578063403462f01461018e57806347e7ef24146101b7576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102f7565b6040516100f49190610cc1565b60405180910390f35b34801561010957600080fd5b506101126102fd565b60405161011f9190610cc1565b60405180910390f35b34801561013457600080fd5b5061014f600480360381019061014a9190610a03565b610326565b005b34801561015d57600080fd5b50610178600480360381019061017391906109da565b6103fa565b6040516101859190610cc1565b60405180910390f35b34801561019a57600080fd5b506101b560048036038101906101b09190610a91565b61048c565b005b3480156101c357600080fd5b506101de60048036038101906101d99190610a2c565b610537565b005b3480156101ec57600080fd5b506101f56105cb565b6040516102029190610cc1565b60405180910390f35b34801561021757600080fd5b506102206105d3565b005b34801561022e57600080fd5b506102376106c8565b6040516102449190610bab565b60405180910390f35b34801561025957600080fd5b506102626106f2565b60405161026f9190610bc6565b60405180910390f35b34801561028457600080fd5b5061028d610718565b60405161029a9190610bc6565b60405180910390f35b3480156102af57600080fd5b506102b861073e565b6040516102c59190610cc1565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f09190610a2c565b610744565b005b60035481565b600042600054111561031e57426000546103179190610d43565b9050610323565b600090505b90565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ad90610c61565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104359190610bab565b60206040518083038186803b15801561044d57600080fd5b505afa158015610461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104859190610aba565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051390610c81565b60405180910390fd5b8060008082825461052d9190610ced565b9250508190555050565b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161057493929190610c0a565b602060405180830381600087803b15801561058e57600080fd5b505af11580156105a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c69190610a68565b505050565b600047905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065a90610c41565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cb90610c81565b60405180910390fd5b600054421015610819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081090610ca1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108bc57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156108b6573d6000803e3d6000fd5b5061096d565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610919929190610be1565b602060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b9190610a68565b505b5050565b60008135905061098081610eda565b92915050565b60008135905061099581610ef1565b92915050565b6000815190506109aa81610f08565b92915050565b6000813590506109bf81610f1f565b92915050565b6000815190506109d481610f1f565b92915050565b6000602082840312156109ec57600080fd5b60006109fa84828501610971565b91505092915050565b600060208284031215610a1557600080fd5b6000610a2384828501610986565b91505092915050565b60008060408385031215610a3f57600080fd5b6000610a4d85828601610971565b9250506020610a5e858286016109b0565b9150509250929050565b600060208284031215610a7a57600080fd5b6000610a888482850161099b565b91505092915050565b600060208284031215610aa357600080fd5b6000610ab1848285016109b0565b91505092915050565b600060208284031215610acc57600080fd5b6000610ada848285016109c5565b91505092915050565b610aec81610dd1565b82525050565b610afb81610d89565b82525050565b610b0a81610d77565b82525050565b6000610b1d601e83610cdc565b9150610b2882610e36565b602082019050919050565b6000610b40600d83610cdc565b9150610b4b82610e5f565b602082019050919050565b6000610b63600a83610cdc565b9150610b6e82610e88565b602082019050919050565b6000610b86600983610cdc565b9150610b9182610eb1565b602082019050919050565b610ba581610dc7565b82525050565b6000602082019050610bc06000830184610b01565b92915050565b6000602082019050610bdb6000830184610af2565b92915050565b6000604082019050610bf66000830185610ae3565b610c036020830184610b9c565b9392505050565b6000606082019050610c1f6000830186610b01565b610c2c6020830185610b01565b610c396040830184610b9c565b949350505050565b60006020820190508181036000830152610c5a81610b10565b9050919050565b60006020820190508181036000830152610c7a81610b33565b9050919050565b60006020820190508181036000830152610c9a81610b56565b9050919050565b60006020820190508181036000830152610cba81610b79565b9050919050565b6000602082019050610cd66000830184610b9c565b92915050565b600082825260208201905092915050565b6000610cf882610dc7565b9150610d0383610dc7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3857610d37610e07565b5b828201905092915050565b6000610d4e82610dc7565b9150610d5983610dc7565b925082821015610d6c57610d6b610e07565b5b828203905092915050565b6000610d8282610da7565b9050919050565b6000610d9482610da7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610ddc82610de3565b9050919050565b6000610dee82610df5565b9050919050565b6000610e0082610da7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f6163636570744f776e6572736869703a202170656e64696e674f776e65720000600082015250565b7f6f776e65723a20216f776e657200000000000000000000000000000000000000600082015250565b7f6f6e6c79206f776e657200000000000000000000000000000000000000000000600082015250565b7f746f6f206561726c790000000000000000000000000000000000000000000000600082015250565b610ee381610d77565b8114610eee57600080fd5b50565b610efa81610d89565b8114610f0557600080fd5b50565b610f1181610d9b565b8114610f1c57600080fd5b50565b610f2881610dc7565b8114610f3357600080fd5b5056fea2646970667358221220227802d13769955729a90e5245f5fb2b3b0f12d4e9cf00283dbc911d55b387bd64736f6c634300080400330000000000000000000000003b4c25895da64a42e758048ed375d85b36443ab5