0x6080604052600436106100955760003560e01c80638c21b290116100595780638c21b2901461015357806391b8f68114610173578063dad2e3a814610193578063ec1f3f63146101b3578063fbecd525146101d3576100b8565b806320800a00146100d4578063430fdd3f146100e957806349bc17e91461010957806351bc3c851461011e578063839006f214610133576100b8565b366100b8573260009081526003602052604090205460ff166100b657600080fd5b005b3260009081526003602052604090205460ff166100b657600080fd5b3480156100e057600080fd5b506100b66101f3565b3480156100f557600080fd5b506100b6610104366004610c1d565b61023e565b34801561011557600080fd5b506100b66102b0565b34801561012a57600080fd5b506100b6610618565b34801561013f57600080fd5b506100b661014e366004610c68565b6106ac565b34801561015f57600080fd5b506100b661016e366004610c8c565b6107e3565b34801561017f57600080fd5b506100b661018e366004610cbb565b610808565b34801561019f57600080fd5b506100b66101ae366004610d80565b61088c565b3480156101bf57600080fd5b506100b66101ce366004610c8c565b61091b565b3480156101df57600080fd5b506100b66101ee366004610db7565b6109a6565b3360009081526003602052604090205460ff1661020f57600080fd5b60405133904780156108fc02916000818181858888f1935050505015801561023b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102715760405162461bcd60e51b815260040161026890610de3565b60405180910390fd5b600480546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b3360009081526003602052604090205460ff166102cc57600080fd5b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201819052919092169163b2118a8d9190309084906370a0823190602401602060405180830381865afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b9190610e18565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b505050506000600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042b9190610e18565b610436906001610e47565b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a69190610e18565b6104b09190610e64565b6001546002546040516323b872dd60e01b81526001600160a01b0391821660048201523060248201526044810184905292935016906323b872dd906064016020604051808303816000875af115801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190610e77565b50600260009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561058257600080fd5b505af1158015610596573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190610e18565b9050610614816109fd565b5050565b6000546001600160a01b031633146106425760405162461bcd60e51b815260040161026890610de3565b600160009054906101000a90046001600160a01b03166001600160a01b03166351bc3c856040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561069257600080fd5b505af11580156106a6573d6000803e3d6000fd5b50505050565b3360009081526003602052604090205460ff166106c857600080fd5b6001600160a01b0381166107025760405133904780156108fc02916000818181858888f19350505050158015610614573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190610e18565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190610e77565b3360009081526003602052604090205460ff166107ff57600080fd5b61023b816109fd565b3360009081526003602052604090205460ff1661082457600080fd5b60005b81518110156106145760016003600084848151811061084857610848610e99565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061088481610eaf565b915050610827565b3360009081526003602052604090205460ff166108a857600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190610e77565b6000546001600160a01b031633146109455760405162461bcd60e51b815260040161026890610de3565b60015460405163ec1f3f6360e01b8152600481018390526001600160a01b039091169063ec1f3f6390602401600060405180830381600087803b15801561098b57600080fd5b505af115801561099f573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff166109c257600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156109f8573d6000803e3d6000fd5b505050565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b031691839150600090610a3e57610a3e610e99565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190610ec8565b81600181518110610ae857610ae8610e99565b6001600160a01b0392831660209182029290920101526001546004805460405163095ea7b360e01b815290841691810191909152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b739190610e77565b50600454600080546001600160a01b039283169263791ac9479286929091869116610ba242633b9aca00610ee5565b6040518663ffffffff1660e01b8152600401610bc2959493929190610ef8565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461023b57600080fd5b8035610c1881610bf8565b919050565b600080600060608486031215610c3257600080fd5b8335610c3d81610bf8565b92506020840135610c4d81610bf8565b91506040840135610c5d81610bf8565b809150509250925092565b600060208284031215610c7a57600080fd5b8135610c8581610bf8565b9392505050565b600060208284031215610c9e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610cce57600080fd5b823567ffffffffffffffff80821115610ce657600080fd5b818501915085601f830112610cfa57600080fd5b813581811115610d0c57610d0c610ca5565b8060051b604051601f19603f83011681018181108582111715610d3157610d31610ca5565b604052918252848201925083810185019188831115610d4f57600080fd5b938501935b82851015610d7457610d6585610c0d565b84529385019392850192610d54565b98975050505050505050565b600080600060608486031215610d9557600080fd5b8335610da081610bf8565b9250602084013591506040840135610c5d81610bf8565b60008060408385031215610dca57600080fd5b8235610dd581610bf8565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610e2a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610e5e57610e5e610e31565b92915050565b81810381811115610e5e57610e5e610e31565b600060208284031215610e8957600080fd5b81518015158114610c8557600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610ec157610ec1610e31565b5060010190565b600060208284031215610eda57600080fd5b8151610c8581610bf8565b80820180821115610e5e57610e5e610e31565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610f485784516001600160a01b031683529383019391830191600101610f23565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122064f17862d8431694c387fb35451b5c8f2464ee7c0cdd4535aa4f19d6a79e01b764736f6c63430008130033
0x608060405234801561001057600080fd5b50600080546001600160a01b0319338181169190921617811782558152600360205260409020805460ff19166001179055610f9f806100506000396000f3fe6080604052600436106100955760003560e01c80638c21b290116100595780638c21b2901461015357806391b8f68114610173578063dad2e3a814610193578063ec1f3f63146101b3578063fbecd525146101d3576100b8565b806320800a00146100d4578063430fdd3f146100e957806349bc17e91461010957806351bc3c851461011e578063839006f214610133576100b8565b366100b8573260009081526003602052604090205460ff166100b657600080fd5b005b3260009081526003602052604090205460ff166100b657600080fd5b3480156100e057600080fd5b506100b66101f3565b3480156100f557600080fd5b506100b6610104366004610c1d565b61023e565b34801561011557600080fd5b506100b66102b0565b34801561012a57600080fd5b506100b6610618565b34801561013f57600080fd5b506100b661014e366004610c68565b6106ac565b34801561015f57600080fd5b506100b661016e366004610c8c565b6107e3565b34801561017f57600080fd5b506100b661018e366004610cbb565b610808565b34801561019f57600080fd5b506100b66101ae366004610d80565b61088c565b3480156101bf57600080fd5b506100b66101ce366004610c8c565b61091b565b3480156101df57600080fd5b506100b66101ee366004610db7565b6109a6565b3360009081526003602052604090205460ff1661020f57600080fd5b60405133904780156108fc02916000818181858888f1935050505015801561023b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102715760405162461bcd60e51b815260040161026890610de3565b60405180910390fd5b600480546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b3360009081526003602052604090205460ff166102cc57600080fd5b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201819052919092169163b2118a8d9190309084906370a0823190602401602060405180830381865afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b9190610e18565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b505050506000600160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042b9190610e18565b610436906001610e47565b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a69190610e18565b6104b09190610e64565b6001546002546040516323b872dd60e01b81526001600160a01b0391821660048201523060248201526044810184905292935016906323b872dd906064016020604051808303816000875af115801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190610e77565b50600260009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561058257600080fd5b505af1158015610596573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190610e18565b9050610614816109fd565b5050565b6000546001600160a01b031633146106425760405162461bcd60e51b815260040161026890610de3565b600160009054906101000a90046001600160a01b03166001600160a01b03166351bc3c856040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561069257600080fd5b505af11580156106a6573d6000803e3d6000fd5b50505050565b3360009081526003602052604090205460ff166106c857600080fd5b6001600160a01b0381166107025760405133904780156108fc02916000818181858888f19350505050158015610614573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190610e18565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190610e77565b3360009081526003602052604090205460ff166107ff57600080fd5b61023b816109fd565b3360009081526003602052604090205460ff1661082457600080fd5b60005b81518110156106145760016003600084848151811061084857610848610e99565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061088481610eaf565b915050610827565b3360009081526003602052604090205460ff166108a857600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190610e77565b6000546001600160a01b031633146109455760405162461bcd60e51b815260040161026890610de3565b60015460405163ec1f3f6360e01b8152600481018390526001600160a01b039091169063ec1f3f6390602401600060405180830381600087803b15801561098b57600080fd5b505af115801561099f573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff166109c257600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156109f8573d6000803e3d6000fd5b505050565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b031691839150600090610a3e57610a3e610e99565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190610ec8565b81600181518110610ae857610ae8610e99565b6001600160a01b0392831660209182029290920101526001546004805460405163095ea7b360e01b815290841691810191909152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b739190610e77565b50600454600080546001600160a01b039283169263791ac9479286929091869116610ba242633b9aca00610ee5565b6040518663ffffffff1660e01b8152600401610bc2959493929190610ef8565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461023b57600080fd5b8035610c1881610bf8565b919050565b600080600060608486031215610c3257600080fd5b8335610c3d81610bf8565b92506020840135610c4d81610bf8565b91506040840135610c5d81610bf8565b809150509250925092565b600060208284031215610c7a57600080fd5b8135610c8581610bf8565b9392505050565b600060208284031215610c9e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610cce57600080fd5b823567ffffffffffffffff80821115610ce657600080fd5b818501915085601f830112610cfa57600080fd5b813581811115610d0c57610d0c610ca5565b8060051b604051601f19603f83011681018181108582111715610d3157610d31610ca5565b604052918252848201925083810185019188831115610d4f57600080fd5b938501935b82851015610d7457610d6585610c0d565b84529385019392850192610d54565b98975050505050505050565b600080600060608486031215610d9557600080fd5b8335610da081610bf8565b9250602084013591506040840135610c5d81610bf8565b60008060408385031215610dca57600080fd5b8235610dd581610bf8565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610e2a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610e5e57610e5e610e31565b92915050565b81810381811115610e5e57610e5e610e31565b600060208284031215610e8957600080fd5b81518015158114610c8557600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610ec157610ec1610e31565b5060010190565b600060208284031215610eda57600080fd5b8151610c8581610bf8565b80820180821115610e5e57610e5e610e31565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610f485784516001600160a01b031683529383019391830191600101610f23565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122064f17862d8431694c387fb35451b5c8f2464ee7c0cdd4535aa4f19d6a79e01b764736f6c63430008130033