0x608060405234801561001057600080fd5b506108fe806100206000396000f3fe6080604052600436106100595760003560e01c80632763eaf5146100655780632e1a7d4d14610087578063715018a6146100a75780638da5cb5b146100bc578063c4d66de8146100e8578063f2fde38b1461010857600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5061008561008036600461076c565b610128565b005b34801561009357600080fd5b506100856100a23660046107f7565b610214565b3480156100b357600080fd5b5061008561040c565b3480156100c857600080fd5b50603354604080516001600160a01b039092168252519081900360200190f35b3480156100f457600080fd5b50610085610103366004610810565b610420565b34801561011457600080fd5b50610085610123366004610810565b61058b565b610130610604565b8160005b8181101561020d57826098600087878581811061015357610153610840565b90506020020160208101906101689190610810565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558484828181106101a2576101a2610840565b90506020020160208101906101b79190610810565b6001600160a01b03167f7f750456f30129de113d780ae5216f098139864c0bf9748c45c14398d6f31c29846040516101f3911515815260200190565b60405180910390a28061020581610856565b915050610134565b5050505050565b3360009081526098602052604090205460ff1615156001146102975760405162461bcd60e51b815260206004820152603160248201527f574e617469766552656c617965723a3a6f6e6c7957686974656c69737465644360448201527030b63632b91d1d1010b7b5a1b0b63632b960791b60648201526084015b60405180910390fd5b6002606554036102e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161028e565b6002606555609754604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561033457600080fd5b505af1158015610348573d6000803e3d6000fd5b50506040516000925033915083908381818185875af1925050503d806000811461038e576040519150601f19603f3d011682016040523d82523d6000602084013e610393565b606091505b50509050806104035760405162461bcd60e51b815260206004820152603660248201527f574e617469766552656c617965723a3a6f6e6c7957686974656c697374656443604482015275616c6c65723a3a2063616e277420776974686472617760501b606482015260840161028e565b50506001606555565b610414610604565b61041e600061065e565b565b600054610100900460ff16158080156104405750600054600160ff909116105b8061045a5750303b15801561045a575060005460ff166001145b6104bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161028e565b6000805460ff1916600117905580156104e0576000805461ff0019166101001790555b6104e86106b0565b6104f06106df565b609780546001600160a01b0319166001600160a01b0384169081179091556040519081527ffcf2a4afb6cf4cebc8dea9882dbdd0ae78d5f3835cf49a115e9e046d2b9d45179060200160405180910390a18015610587576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610593610604565b6001600160a01b0381166105f85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028e565b6106018161065e565b50565b6033546001600160a01b0316331461041e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166106d75760405162461bcd60e51b815260040161028e9061087d565b61041e61070e565b600054610100900460ff166107065760405162461bcd60e51b815260040161028e9061087d565b61041e61073e565b600054610100900460ff166107355760405162461bcd60e51b815260040161028e9061087d565b61041e3361065e565b600054610100900460ff166107655760405162461bcd60e51b815260040161028e9061087d565b6001606555565b60008060006040848603121561078157600080fd5b833567ffffffffffffffff8082111561079957600080fd5b818601915086601f8301126107ad57600080fd5b8135818111156107bc57600080fd5b8760208260051b85010111156107d157600080fd5b6020928301955093505084013580151581146107ec57600080fd5b809150509250925092565b60006020828403121561080957600080fd5b5035919050565b60006020828403121561082257600080fd5b81356001600160a01b038116811461083957600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161087657634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea264697066735822122089d23af176b84f2bf16f70e907769acb86ab87c98460d6e652b235bef41765c864736f6c63430008110033