0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106818061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100d55760003560e01c80637328181911610087578063732818191461019b578063819ad68e146101be5780638da5cb5b146101d1578063adce758d146101eb578063ba306df1146101fe578063d4eb5db014610211578063e30c39781461023d578063f2fde38b1461025057600080fd5b806335914829146100da5780633a41ec64146101125780634910832f1461013e5780634e71e0c81461015357806354fd4d501461015b5780635f259aba14610171578063715018a614610193575b600080fd5b6100fd6100e8366004610607565b60026020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100fd610120366004610607565b6001600160a01b031660009081526002602052604090205460ff1690565b61015161014c366004610607565b610263565b005b6101516102b7565b610163600181565b604051908152602001610109565b6100fd61017f366004610607565b6000546001600160a01b0391821691161490565b61015161034c565b6100fd6101a9366004610607565b60036020526000908152604090205460ff1681565b6101516101cc366004610607565b610360565b6000546001600160a01b03165b6040516101099190610637565b6101516101f9366004610607565b6103b4565b61015161020c366004610607565b610440565b6100fd61021f366004610607565b6001600160a01b031660009081526003602052604090205460ff1690565b6001546101de906001600160a01b031681565b61015161025e366004610607565b6104cc565b61026b61055d565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517fae26b1cfe9454ba87274a4e8330b6654684362d0f3d7bbd17f7449a1d38387c69190a250565b6001546001600160a01b031633146103255760405162461bcd60e51b815260206004820152602660248201527f436c61696d61626c653a2053656e646572206973206e6f742070656e64696e676044820152651037bbb732b960d11b60648201526084015b60405180910390fd5b60015461033a906001600160a01b03166105b7565b600180546001600160a01b0319169055565b61035461055d565b61035e60006105b7565b565b61036861055d565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517fd400da6c0c0a894dacc0981730b88af0545d00272ee8fff1437bf560ff245fc49190a250565b6103bc61055d565b6001600160a01b03811660009081526003602052604090205460ff166103f757806040516357f592b760e01b815260040161031c9190610637565b6001600160a01b038116600081815260036020526040808220805460ff19169055517f1998397e7203f7baca9d6f41b9e4da6e768daac5caad4234fb9bf5869d2715459190a250565b61044861055d565b6001600160a01b03811660009081526002602052604090205460ff16610483578060405163e116318960e01b815260040161031c9190610637565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f28b01395b7e25d20552a0c8dc8ecd3b1d4abc986f14dad7885fd45b6fd73c8d99190a250565b6104d461055d565b6001600160a01b03811661053b5760405162461bcd60e51b815260206004820152602860248201527f436c61696d61626c653a206e6577206f776e657220697320746865207a65726f604482015267206164647265737360c01b606482015260840161031c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461035e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161031c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561061957600080fd5b81356001600160a01b038116811461063057600080fd5b9392505050565b6001600160a01b039190911681526020019056fea26469706673582212203ecd9f667b0e9c02f8eefc1eab26edf23137aabee6b215887e19153c0e60f68b64736f6c63430008130033