608060405234801561000f575f80fd5b506103aa8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806316f198311461004e57806361bc221a14610063578063942e6bcf1461007e578063aa677354146100be575b5f80fd5b61006161005c366004610254565b6100d1565b005b61006b5f5481565b6040519081526020015b60405180910390f35b6100a661008c3660046102d0565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610075565b6100616100cc3660046102f0565b61018d565b6001600160a01b038084165f9081526001602052604090205484911633146101305760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b604482015260640160405180910390fd5b5f5461013d906001610321565b5f8190556040516001600160a01b03861691907f103fed9db65eac19c4d870f49ab7520fe03b99f1838e5996caf47e9e433083929061017f9087908790610346565b60405180910390a350505050565b6001600160a01b038181165f90815260016020526040902080546001600160a01b03191691841691821790556101fb576040516001600160a01b03808316919084169033907f3f4512aacd7a664fdb321a48e8340120d63253a91c6367a143abd19ecf68aedd905f90a45050565b6040516001600160a01b03808316919084169033907fc51cb1a93ec91e927852b3445875ec77b148271953e5c0b43698c968ad6fc47d905f90a45050565b80356001600160a01b038116811461024f575f80fd5b919050565b5f805f60408486031215610266575f80fd5b61026f84610239565b9250602084013567ffffffffffffffff8082111561028b575f80fd5b818601915086601f83011261029e575f80fd5b8135818111156102ac575f80fd5b8760208285010111156102bd575f80fd5b6020830194508093505050509250925092565b5f602082840312156102e0575f80fd5b6102e982610239565b9392505050565b5f8060408385031215610301575f80fd5b61030a83610239565b915061031860208401610239565b90509250929050565b8082018082111561034057634e487b7160e01b5f52601160045260245ffd5b92915050565b60208152816020820152818360408301375f818301604090810191909152601f909201601f1916010191905056fea26469706673582212207d7ee7a96cea9fa899f893d685afcf96eecd6f11d4dfb2f47e01ceaeb42ae6b964736f6c63430008140033