0x608060405234801561001057600080fd5b506040516108b63803806108b6833981810160405281019061003291906100ce565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610140565b6000815190506100c881610129565b92915050565b6000602082840312156100e057600080fd5b60006100ee848285016100b9565b91505092915050565b600061010282610109565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610132816100f7565b811461013d57600080fd5b50565b6107678061014f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806366829b16146100515780638bc5f8451461006d5780638da5cb5b14610089578063fc0c546a146100a7575b600080fd5b61006b600480360381019061006691906103cb565b6100c5565b005b610087600480360381019061008291906103f4565b610198565b005b6100916102ac565b60405161009e91906104de565b60405180910390f35b6100af6102d2565b6040516100bc9190610530565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061054b565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60005b82518110156102a75760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3385848151811061021a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151856040518463ffffffff1660e01b8152600401610241939291906104f9565b602060405180830381600087803b15801561025b57600080fd5b505af115801561026f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102939190610448565b50808061029f90610645565b91505061019b565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006103096103048461059c565b61056b565b9050808382526020820190508285602086028201111561032857600080fd5b60005b85811015610358578161033e8882610362565b84526020840193506020830192505060018101905061032b565b5050509392505050565b600081359050610371816106ec565b92915050565b600082601f83011261038857600080fd5b81356103988482602086016102f6565b91505092915050565b6000815190506103b081610703565b92915050565b6000813590506103c58161071a565b92915050565b6000602082840312156103dd57600080fd5b60006103eb84828501610362565b91505092915050565b6000806040838503121561040757600080fd5b600083013567ffffffffffffffff81111561042157600080fd5b61042d85828601610377565b925050602061043e858286016103b6565b9150509250929050565b60006020828403121561045a57600080fd5b6000610468848285016103a1565b91505092915050565b61047a816105d9565b82525050565b61048981610621565b82525050565b600061049c6003836105c8565b91507f45525200000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6104d881610617565b82525050565b60006020820190506104f36000830184610471565b92915050565b600060608201905061050e6000830186610471565b61051b6020830185610471565b61052860408301846104cf565b949350505050565b60006020820190506105456000830184610480565b92915050565b600060208201905081810360008301526105648161048f565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610592576105916106bd565b5b8060405250919050565b600067ffffffffffffffff8211156105b7576105b66106bd565b5b602082029050602081019050919050565b600082825260208201905092915050565b60006105e4826105f7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061062c82610633565b9050919050565b600061063e826105f7565b9050919050565b600061065082610617565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156106835761068261068e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106f5816105d9565b811461070057600080fd5b50565b61070c816105eb565b811461071757600080fd5b50565b61072381610617565b811461072e57600080fd5b5056fea26469706673582212208f1c5abc84f3ed91e67400c9ae137291cd1363b7515ffbf50e0c7be7ceab969964736f6c63430008000033000000000000000000000000d64e96fb96d42f48d9e479b6d8dd42ddb1dbbd19