0x6080604052600436106100a8575f3560e01c80638da5cb5b116100625780638da5cb5b1461018157806398da35d3146101a7578063bdb019ff146101c6578063c4ed97d4146101da578063dd96440e146101f9578063f2fde38b1461020d575f80fd5b8063238dafe0146100b35780632c8cff13146100e157806370a0823114610102578063715018a61461012f5780637726bed31461014357806382cf37c514610162575f80fd5b366100af57005b5f80fd5b3480156100be575f80fd5b506006546100cc9060ff1681565b60405190151581526020015b60405180910390f35b3480156100ec575f80fd5b506101006100fb3660046108c9565b61022c565b005b34801561010d575f80fd5b5061012161011c366004610904565b61044c565b6040519081526020016100d8565b34801561013a575f80fd5b50610100610522565b34801561014e575f80fd5b5061010061015d366004610933565b610593565b34801561016d575f80fd5b5061010061017c366004610962565b6105cf565b34801561018c575f80fd5b505f546040516001600160a01b0390911681526020016100d8565b3480156101b2575f80fd5b506101006101c1366004610a22565b610661565b3480156101d1575f80fd5b506101006106b8565b3480156101e5575f80fd5b506101006101f4366004610962565b6106ff565b348015610204575f80fd5b5061010061078d565b348015610218575f80fd5b50610100610227366004610904565b6107e2565b5f546001600160a01b0316331461025e5760405162461bcd60e51b815260040161025590610a59565b60405180910390fd5b6040805160028082526060820183525f92602083019080368337505060025482519293506001600160a01b0316918391505f9061029d5761029d610a8e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156102f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103189190610aa2565b8160018151811061032b5761032b610a8e565b6001600160a01b03928316602091820292909201015260025460015460405163095ea7b360e01b815290831660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af9190610abd565b506001546001600160a01b031663791ac9476103cc84600a610bce565b5f8430426040518663ffffffff1660e01b81526004016103f0959493929190610bd9565b5f604051808303815f87803b158015610407575f80fd5b505af1158015610419573d5f803e3d5ffd5b50506040513392504780156108fc029250905f818181858888f19350505050158015610447573d5f803e3d5ffd5b505050565b6001600160a01b0381165f9081526004602052604081205460ff168061047b57506003546001600160a01b0316155b156104ab576001600160a01b0382165f9081526005602052604090205460ff16156104a4575f80fd5b505f919050565b5f546001600160a01b03838116911614806104ce57506001600160a01b03821630145b156104db57506001919050565b6003546001600160a01b038381169116146104a45760065460ff166104fe575f80fd5b6001600160a01b0382165f9081526005602052604090205460ff16156104a4575f80fd5b5f546001600160a01b0316331461054b5760405162461bcd60e51b815260040161025590610a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bc5760405162461bcd60e51b815260040161025590610a59565b6006805460ff1916911515919091179055565b5f546001600160a01b031633146105f85760405162461bcd60e51b815260040161025590610a59565b5f5b815181101561065d57600160055f84848151811061061a5761061a610a8e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061065581610c48565b9150506105fa565b5050565b5f546001600160a01b0316331461068a5760405162461bcd60e51b815260040161025590610a59565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b5f546001600160a01b031633146106e15760405162461bcd60e51b815260040161025590610a59565b600280546001600160a01b0319908116909155600380549091169055565b5f546001600160a01b031633146107285760405162461bcd60e51b815260040161025590610a59565b5f5b815181101561065d57600160045f84848151811061074a5761074a610a8e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061078581610c48565b91505061072a565b5f546001600160a01b031633146107b65760405162461bcd60e51b815260040161025590610a59565b60405133904780156108fc02915f818181858888f193505050501580156107df573d5f803e3d5ffd5b50565b5f546001600160a01b0316331461080b5760405162461bcd60e51b815260040161025590610a59565b6001600160a01b0381166108705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610255565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156108d9575f80fd5b5035919050565b6001600160a01b03811681146107df575f80fd5b80356108ff816108e0565b919050565b5f60208284031215610914575f80fd5b813561091f816108e0565b9392505050565b80151581146107df575f80fd5b5f60208284031215610943575f80fd5b813561091f81610926565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215610973575f80fd5b823567ffffffffffffffff8082111561098a575f80fd5b818501915085601f83011261099d575f80fd5b8135818111156109af576109af61094e565b8060051b604051601f19603f830116810181811085821117156109d4576109d461094e565b6040529182528482019250838101850191888311156109f1575f80fd5b938501935b82851015610a1657610a07856108f4565b845293850193928501926109f6565b98975050505050505050565b5f8060408385031215610a33575f80fd5b8235610a3e816108e0565b91506020830135610a4e816108e0565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610ab2575f80fd5b815161091f816108e0565b5f60208284031215610acd575f80fd5b815161091f81610926565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610b2657815f1904821115610b0c57610b0c610ad8565b80851615610b1957918102915b93841c9390800290610af1565b509250929050565b5f82610b3c57506001610bc8565b81610b4857505f610bc8565b8160018114610b5e5760028114610b6857610b84565b6001915050610bc8565b60ff841115610b7957610b79610ad8565b50506001821b610bc8565b5060208310610133831016604e8410600b8410161715610ba7575081810a610bc8565b610bb18383610aec565b805f1904821115610bc457610bc4610ad8565b0290505b92915050565b5f61091f8383610b2e565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610c275784516001600160a01b031683529383019391830191600101610c02565b50506001600160a01b03969096166060850152505050608001529392505050565b5f60018201610c5957610c59610ad8565b506001019056fea2646970667358221220de0af9657de8c4acc4eb1b0841a6a39462703489b304e34372f52cf40b9a629564736f6c63430008140033
0x6080604052600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1781556006805460ff19169091179055348015610042575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610c96806100905f395ff3fe6080604052600436106100a8575f3560e01c80638da5cb5b116100625780638da5cb5b1461018157806398da35d3146101a7578063bdb019ff146101c6578063c4ed97d4146101da578063dd96440e146101f9578063f2fde38b1461020d575f80fd5b8063238dafe0146100b35780632c8cff13146100e157806370a0823114610102578063715018a61461012f5780637726bed31461014357806382cf37c514610162575f80fd5b366100af57005b5f80fd5b3480156100be575f80fd5b506006546100cc9060ff1681565b60405190151581526020015b60405180910390f35b3480156100ec575f80fd5b506101006100fb3660046108c9565b61022c565b005b34801561010d575f80fd5b5061012161011c366004610904565b61044c565b6040519081526020016100d8565b34801561013a575f80fd5b50610100610522565b34801561014e575f80fd5b5061010061015d366004610933565b610593565b34801561016d575f80fd5b5061010061017c366004610962565b6105cf565b34801561018c575f80fd5b505f546040516001600160a01b0390911681526020016100d8565b3480156101b2575f80fd5b506101006101c1366004610a22565b610661565b3480156101d1575f80fd5b506101006106b8565b3480156101e5575f80fd5b506101006101f4366004610962565b6106ff565b348015610204575f80fd5b5061010061078d565b348015610218575f80fd5b50610100610227366004610904565b6107e2565b5f546001600160a01b0316331461025e5760405162461bcd60e51b815260040161025590610a59565b60405180910390fd5b6040805160028082526060820183525f92602083019080368337505060025482519293506001600160a01b0316918391505f9061029d5761029d610a8e565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156102f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103189190610aa2565b8160018151811061032b5761032b610a8e565b6001600160a01b03928316602091820292909201015260025460015460405163095ea7b360e01b815290831660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af9190610abd565b506001546001600160a01b031663791ac9476103cc84600a610bce565b5f8430426040518663ffffffff1660e01b81526004016103f0959493929190610bd9565b5f604051808303815f87803b158015610407575f80fd5b505af1158015610419573d5f803e3d5ffd5b50506040513392504780156108fc029250905f818181858888f19350505050158015610447573d5f803e3d5ffd5b505050565b6001600160a01b0381165f9081526004602052604081205460ff168061047b57506003546001600160a01b0316155b156104ab576001600160a01b0382165f9081526005602052604090205460ff16156104a4575f80fd5b505f919050565b5f546001600160a01b03838116911614806104ce57506001600160a01b03821630145b156104db57506001919050565b6003546001600160a01b038381169116146104a45760065460ff166104fe575f80fd5b6001600160a01b0382165f9081526005602052604090205460ff16156104a4575f80fd5b5f546001600160a01b0316331461054b5760405162461bcd60e51b815260040161025590610a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bc5760405162461bcd60e51b815260040161025590610a59565b6006805460ff1916911515919091179055565b5f546001600160a01b031633146105f85760405162461bcd60e51b815260040161025590610a59565b5f5b815181101561065d57600160055f84848151811061061a5761061a610a8e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061065581610c48565b9150506105fa565b5050565b5f546001600160a01b0316331461068a5760405162461bcd60e51b815260040161025590610a59565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b5f546001600160a01b031633146106e15760405162461bcd60e51b815260040161025590610a59565b600280546001600160a01b0319908116909155600380549091169055565b5f546001600160a01b031633146107285760405162461bcd60e51b815260040161025590610a59565b5f5b815181101561065d57600160045f84848151811061074a5761074a610a8e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061078581610c48565b91505061072a565b5f546001600160a01b031633146107b65760405162461bcd60e51b815260040161025590610a59565b60405133904780156108fc02915f818181858888f193505050501580156107df573d5f803e3d5ffd5b50565b5f546001600160a01b0316331461080b5760405162461bcd60e51b815260040161025590610a59565b6001600160a01b0381166108705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610255565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156108d9575f80fd5b5035919050565b6001600160a01b03811681146107df575f80fd5b80356108ff816108e0565b919050565b5f60208284031215610914575f80fd5b813561091f816108e0565b9392505050565b80151581146107df575f80fd5b5f60208284031215610943575f80fd5b813561091f81610926565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215610973575f80fd5b823567ffffffffffffffff8082111561098a575f80fd5b818501915085601f83011261099d575f80fd5b8135818111156109af576109af61094e565b8060051b604051601f19603f830116810181811085821117156109d4576109d461094e565b6040529182528482019250838101850191888311156109f1575f80fd5b938501935b82851015610a1657610a07856108f4565b845293850193928501926109f6565b98975050505050505050565b5f8060408385031215610a33575f80fd5b8235610a3e816108e0565b91506020830135610a4e816108e0565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610ab2575f80fd5b815161091f816108e0565b5f60208284031215610acd575f80fd5b815161091f81610926565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610b2657815f1904821115610b0c57610b0c610ad8565b80851615610b1957918102915b93841c9390800290610af1565b509250929050565b5f82610b3c57506001610bc8565b81610b4857505f610bc8565b8160018114610b5e5760028114610b6857610b84565b6001915050610bc8565b60ff841115610b7957610b79610ad8565b50506001821b610bc8565b5060208310610133831016604e8410600b8410161715610ba7575081810a610bc8565b610bb18383610aec565b805f1904821115610bc457610bc4610ad8565b0290505b92915050565b5f61091f8383610b2e565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610c275784516001600160a01b031683529383019391830191600101610c02565b50506001600160a01b03969096166060850152505050608001529392505050565b5f60018201610c5957610c59610ad8565b506001019056fea2646970667358221220de0af9657de8c4acc4eb1b0841a6a39462703489b304e34372f52cf40b9a629564736f6c63430008140033