0x608060405234801561001057600080fd5b50336000818152602081905260409020805460ff1916600190811790915580546001600160a01b03191690911790556106b38061004e6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806386d516e81161006657806386d516e8146100f1578063a8b0574e146100f7578063cb8523c614610105578063d63a8e111461011a578063ee82ac5e1461014d57600080fd5b80630f28c97d14610098578063252dba42146100ad57806327e86d6e146100ce5780634d2301cc146100d6575b600080fd5b425b6040519081526020015b60405180910390f35b6100c06100bb3660046103e5565b61015f565b6040516100a4929190610567565b61009a61030b565b61009a6100e43660046105e9565b6001600160a01b03163190565b4561009a565b6040514181526020016100a4565b6101186101133660046105e9565b61031e565b005b61013d6101283660046105e9565b60006020819052908152604090205460ff1681565b60405190151581526020016100a4565b61009a61015b36600461060b565b4090565b3360009081526020819052604081205460609060ff1615156001146101d85760405162461bcd60e51b815260206004820152602560248201527f75736572206e6f7420616c6c6f77656420746f2065786563757465206d756c746044820152641a58d85b1b60da1b606482015260840160405180910390fd5b439150825167ffffffffffffffff8111156101f5576101f5610359565b60405190808252806020026020018201604052801561022857816020015b60608152602001906001900390816102135790505b50905060005b83518110156103055760008085838151811061024c5761024c610624565b6020026020010151600001516001600160a01b031686848151811061027357610273610624565b60200260200101516020015160405161028c919061063a565b6000604051808303816000865af19150503d80600081146102c9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ce565b606091505b5091509150816102dd57600080fd5b808484815181106102f0576102f0610624565b6020908102919091010152505060010161022e565b50915091565b6000610318600143610656565b40905090565b6001546001600160a01b0316331461033557600080fd5b6001600160a01b03166000908152602081905260409020805460ff19166001179055565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561039257610392610359565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156103c1576103c1610359565b604052919050565b80356001600160a01b03811681146103e057600080fd5b919050565b600060208083850312156103f857600080fd5b823567ffffffffffffffff8082111561041057600080fd5b818501915085601f83011261042457600080fd5b81358181111561043657610436610359565b8060051b610445858201610398565b918252838101850191858101908984111561045f57600080fd5b86860192505b838310156105365782358581111561047d5760008081fd5b86016040601f19828d0381018213156104965760008081fd5b61049e61036f565b6104a98b85016103c9565b815282840135898111156104bd5760008081fd5b8085019450508d603f8501126104d35760008081fd5b8a840135898111156104e7576104e7610359565b6104f78c84601f84011601610398565b92508083528e8482870101111561050e5760008081fd5b808486018d85013760009083018c0152808b0191909152845250509186019190860190610465565b9998505050505050505050565b60005b8381101561055e578181015183820152602001610546565b50506000910152565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b828110156105db57878603605f19018452815180518088526105bc81888a01898501610543565b601f01601f191696909601850195509284019290840190600101610595565b509398975050505050505050565b6000602082840312156105fb57600080fd5b610604826103c9565b9392505050565b60006020828403121561061d57600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b6000825161064c818460208701610543565b9190910192915050565b8181038181111561067757634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220ca945d62e9be1c65c95ff408b7da0b58d706c4fb25a30133dddb6377105314dd64736f6c63430008170033