0x608060405234801561001057600080fd5b50604051610804380380610804833981810160405281019061003291906100b2565b336000558360015582600255816003558060045550505050610119565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061007f82610054565b9050919050565b61008f81610074565b811461009a57600080fd5b50565b6000815190506100ac81610086565b92915050565b600080600080608085870312156100cc576100cb61004f565b5b60006100da8782880161009d565b94505060206100eb8782880161009d565b93505060406100fc8782880161009d565b925050606061010d8782880161009d565b91505092959194509250565b6106dc806101286000396000f3fe60806040526004361061004e5760003560e01c80630b44a2181461005a578063224ffb001461008357806328d49e1b146100ac5780636ff1c9bc146100d5578063d2180e61146100fe57610055565b3661005557005b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610530565b610127565b005b34801561008f57600080fd5b506100aa60048036038101906100a59190610570565b610167565b005b3480156100b857600080fd5b506100d360048036038101906100ce91906105e6565b61018a565b005b3480156100e157600080fd5b506100fc60048036038101906100f79190610639565b610392565b005b34801561010a57600080fd5b5061012560048036038101906101209190610666565b6103f7565b005b600054331461013e576382b4290060005260046000fd5b816008018054826000811461015857600282178355610160565b600219821683555b5050505050565b600054331461017e576382b4290060005260046000fd5b81600555806006555050565b60023360080154166000543314176101aa576382b4290060005260046000fd5b6000600101546001810360020154806008015460018116600081146102a25782600901546bffffffffffffffffffffffff81600a01541663ffffffff85600b015416600181014311600f6bffffffffffffffffffffffff88600a015416028311178061021e576382b4290060005260046000fd5b30608052602060a0602060808a5afa8061023757600080fd5b60a051806080528860a052602060e06040608060006003545af1915081610266576382b4290060005260046000fd5b6001198816896008015560008960090155600086600a0155600089600b01558860005260036020528861567860406000a2505050505050610389565b6007548411878511166102bd576382b4290060005260046000fd5b82608052608060a0602060806002545afa806102d857600080fd5b60a05160c05180608052602060a0602060806004545afa9250826102fb57600080fd5b60a051888110610313576382b4290060005260046000fd5b896080528660a052602060e06040608060006003545af193508361033f576382b4290060005260046000fd5b6001861787600801558187600901556bffffffffffffffffffffffff8a1682600a015563ffffffff431687600b0155876007558660005260026020528661123460406000a2505050505b50505050505050565b60005433146103a9576382b4290060005260046000fd5b30608052602060a060206080845afa806103c257600080fd5b60a051806103cf57600080fd5b6000546080528060a052602060c0604060806000875af19150816103f257600080fd5b505050565b6002336008015416600054331417610417576382b4290060005260046000fd5b7f095ea7b30000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff811660045260006024526020604060446000806004545af18061047257600080fd5b826024526020604060446000806004545af190508061049057600080fd5b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104c58261049a565b9050919050565b6104d5816104ba565b81146104e057600080fd5b50565b6000813590506104f2816104cc565b92915050565b60008115159050919050565b61050d816104f8565b811461051857600080fd5b50565b60008135905061052a81610504565b92915050565b6000806040838503121561054757610546610495565b5b6000610555858286016104e3565b92505060206105668582860161051b565b9150509250929050565b6000806040838503121561058757610586610495565b5b6000610595858286016104e3565b92505060206105a6858286016104e3565b9150509250929050565b6000819050919050565b6105c3816105b0565b81146105ce57600080fd5b50565b6000813590506105e0816105ba565b92915050565b6000806000606084860312156105ff576105fe610495565b5b600061060d868287016105d1565b935050602061061e868287016105d1565b925050604061062f868287016105d1565b9150509250925092565b60006020828403121561064f5761064e610495565b5b600061065d848285016104e3565b91505092915050565b6000806040838503121561067d5761067c610495565b5b600061068b858286016105d1565b925050602061069c858286016104e3565b915050925092905056fea2646970667358221220f368df36e13ccf55d848f5e983df52a5eb5844fec90a9f2e08ce4ff47c37286664736f6c634300081c0033000000000000000000000000158d7ccaa23dc3c8861c3323ed546e3d25e74309000000000000000000000000f66dea7b3e897cd44a5a231c61b6b4423d6132590000000000000000000000008292b43ab73efac11faf357419c38acf448202c50000000000000000000000000b3e328455c4059eeb9e3f84b5543f74e24e7e1b