0x608060405234801561001057600080fd5b50600436106100935760003560e01c80635aef7de6116100665780635aef7de61461019c57806363acc14d146101a4578063696da921146101e25780637165485d146101ea578063c85c8925146101f257610093565b806330ca0a5314610098578063511ffbff146100b257806355a373d6146100ec5780635861cab114610110575b600080fd5b6100a061021e565b60408051918252519081900360200190f35b6100d8600480360360208110156100c857600080fd5b50356001600160a01b0316610286565b604080519115158252519081900360200190f35b6100f461029b565b604080516001600160a01b039092168252519081900360200190f35b6100a06004803603608081101561012657600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561015d57600080fd5b82018360208201111561016f57600080fd5b8035906020019184600183028401116401000000008311171561019157600080fd5b5090925090506102aa565b6100f46104b4565b6101e0600480360360808110156101ba57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356104c3565b005b6100a06105c0565b6100f46105c6565b6100a06004803603604081101561020857600080fd5b506001600160a01b0381351690602001356105d5565b604051602001806022610b7f823972616464726573732042656e656669636961727960681b6022820152740c4f2e8cae666644082cee4cacadacadce890c2e6d605b1b603582015260408051602a818403018152604a90920190528051602090910120905081565b60036020526000908152604090205460ff1681565b6001546001600160a01b031681565b600080846002141561038a57604051602001806022610b7f823972616464726573732042656e656669636961727960681b6022820152740c4f2e8cae666644082cee4cacadacadce890c2e6d605b1b603582015260408051808303602a018152604a83018252805160209182012030606090811b606a8601528c901b6bffffffffffffffffffffffff1916607e85015260928085018c90528351808603909101815260b28501845280519083012060d285019190915260f28085019190915282518085039091018152610112909301909152815191012091506103f69050565b6103f330888860405160200180846001600160a01b03166001600160a01b031660601b8152601401836001600160a01b03166001600160a01b031660601b81526014018281526020019350505050604051602081830303815290604052805190602001206105eb565b90505b600061044085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff61063c169050565b90506001600160a01b03811661049d576040805162461bcd60e51b815260206004820152601c60248201527f72656465656d657220616464726573732063616e6e6f74206265203000000000604482015290519081900360640190fd5b6104a888828961072a565b98975050505050505050565b6004546001600160a01b031681565b6004546001600160a01b031615610521576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b038416610574576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b600180546001600160a01b038086166001600160a01b0319928316179092556004805487841690831617905560028054928516929091169190911790556105ba81610af0565b50505050565b60005490565b6002546001600160a01b031681565b60006105e283338461072a565b90505b92915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461064f575060006105e5565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561069557600093505050506105e5565b8060ff16601b141580156106ad57508060ff16601c14155b156106be57600093505050506105e5565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015610715573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b600081600054811461076d5760405162461bcd60e51b8152600401808060200182810382526028815260200180610ba16028913960400191505060405180910390fd5b6004546001600160a01b03166107ca576040805162461bcd60e51b815260206004820152601760248201527f73686f756c6420696e697469616c697a65206669727374000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205460ff16156108225760405162461bcd60e51b8152600401808060200182810382526034815260200180610b4b6034913960400191505060405180910390fd5b6001600160a01b038085166000818152600360209081526040808320805460ff191660019081179091555481516370a0823160e01b815260048101959095529051929416926370a082319260248083019392829003018186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60208110156108b257600080fd5b50516002549091506001600160a01b0316156109435760025460408051631c64813d60e11b81526004810184905290516001600160a01b03909216916338c9027a91602480820192602092909190829003018186803b15801561091457600080fd5b505afa158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b505190505b6001600160a01b038616610955578495505b6004805460408051638da5cb5b60e01b815290516001600160a01b0390921692638da5cb5b928282019260209290829003018186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d60208110156109c157600080fd5b5051600480546040805163757cca5960e11b81529283018590526001600160a01b038a8116602485015291821660448401525192169163eaf994b2916064808201926020929091908290030181600087803b158015610a1f57600080fd5b505af1158015610a33573d6000803e3d6000fd5b505050506040513d6020811015610a4957600080fd5b5051610a9c576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b846001600160a01b0316866001600160a01b03167fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d9836040518082815260200191505060405180910390a395945050505050565b60005415610b45576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b60005556fe72656465656d696e672074776963652066726f6d207468652073616d65206163636f756e74206973206e6f7420616c6c6f776564616464726573732052657075746174696f6e46726f6d546f6b656e4164647265737353656e646572206d7573742073656e64207468652072696768742061677265656d656e7448617368a265627a7a723158208e9e0a213379f499d1012cc004a549e3f2ef78b4f54219f8211d49731942349564736f6c634300050d0032
0x608060405234801561001057600080fd5b50610bfd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80635aef7de6116100665780635aef7de61461019c57806363acc14d146101a4578063696da921146101e25780637165485d146101ea578063c85c8925146101f257610093565b806330ca0a5314610098578063511ffbff146100b257806355a373d6146100ec5780635861cab114610110575b600080fd5b6100a061021e565b60408051918252519081900360200190f35b6100d8600480360360208110156100c857600080fd5b50356001600160a01b0316610286565b604080519115158252519081900360200190f35b6100f461029b565b604080516001600160a01b039092168252519081900360200190f35b6100a06004803603608081101561012657600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561015d57600080fd5b82018360208201111561016f57600080fd5b8035906020019184600183028401116401000000008311171561019157600080fd5b5090925090506102aa565b6100f46104b4565b6101e0600480360360808110156101ba57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001356104c3565b005b6100a06105c0565b6100f46105c6565b6100a06004803603604081101561020857600080fd5b506001600160a01b0381351690602001356105d5565b604051602001806022610b7f823972616464726573732042656e656669636961727960681b6022820152740c4f2e8cae666644082cee4cacadacadce890c2e6d605b1b603582015260408051602a818403018152604a90920190528051602090910120905081565b60036020526000908152604090205460ff1681565b6001546001600160a01b031681565b600080846002141561038a57604051602001806022610b7f823972616464726573732042656e656669636961727960681b6022820152740c4f2e8cae666644082cee4cacadacadce890c2e6d605b1b603582015260408051808303602a018152604a83018252805160209182012030606090811b606a8601528c901b6bffffffffffffffffffffffff1916607e85015260928085018c90528351808603909101815260b28501845280519083012060d285019190915260f28085019190915282518085039091018152610112909301909152815191012091506103f69050565b6103f330888860405160200180846001600160a01b03166001600160a01b031660601b8152601401836001600160a01b03166001600160a01b031660601b81526014018281526020019350505050604051602081830303815290604052805190602001206105eb565b90505b600061044085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff61063c169050565b90506001600160a01b03811661049d576040805162461bcd60e51b815260206004820152601c60248201527f72656465656d657220616464726573732063616e6e6f74206265203000000000604482015290519081900360640190fd5b6104a888828961072a565b98975050505050505050565b6004546001600160a01b031681565b6004546001600160a01b031615610521576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b038416610574576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b600180546001600160a01b038086166001600160a01b0319928316179092556004805487841690831617905560028054928516929091169190911790556105ba81610af0565b50505050565b60005490565b6002546001600160a01b031681565b60006105e283338461072a565b90505b92915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461064f575060006105e5565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561069557600093505050506105e5565b8060ff16601b141580156106ad57508060ff16601c14155b156106be57600093505050506105e5565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015610715573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b600081600054811461076d5760405162461bcd60e51b8152600401808060200182810382526028815260200180610ba16028913960400191505060405180910390fd5b6004546001600160a01b03166107ca576040805162461bcd60e51b815260206004820152601760248201527f73686f756c6420696e697469616c697a65206669727374000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205460ff16156108225760405162461bcd60e51b8152600401808060200182810382526034815260200180610b4b6034913960400191505060405180910390fd5b6001600160a01b038085166000818152600360209081526040808320805460ff191660019081179091555481516370a0823160e01b815260048101959095529051929416926370a082319260248083019392829003018186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60208110156108b257600080fd5b50516002549091506001600160a01b0316156109435760025460408051631c64813d60e11b81526004810184905290516001600160a01b03909216916338c9027a91602480820192602092909190829003018186803b15801561091457600080fd5b505afa158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b505190505b6001600160a01b038616610955578495505b6004805460408051638da5cb5b60e01b815290516001600160a01b0390921692638da5cb5b928282019260209290829003018186803b15801561099757600080fd5b505afa1580156109ab573d6000803e3d6000fd5b505050506040513d60208110156109c157600080fd5b5051600480546040805163757cca5960e11b81529283018590526001600160a01b038a8116602485015291821660448401525192169163eaf994b2916064808201926020929091908290030181600087803b158015610a1f57600080fd5b505af1158015610a33573d6000803e3d6000fd5b505050506040513d6020811015610a4957600080fd5b5051610a9c576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b846001600160a01b0316866001600160a01b03167fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d9836040518082815260200191505060405180910390a395945050505050565b60005415610b45576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b60005556fe72656465656d696e672074776963652066726f6d207468652073616d65206163636f756e74206973206e6f7420616c6c6f776564616464726573732052657075746174696f6e46726f6d546f6b656e4164647265737353656e646572206d7573742073656e64207468652072696768742061677265656d656e7448617368a265627a7a723158208e9e0a213379f499d1012cc004a549e3f2ef78b4f54219f8211d49731942349564736f6c634300050d0032