0x60a060405266b1a2bc2ec5000060015534801561001b57600080fd5b5061002533610074565b30604051610032906100c4565b6001600160a01b039091168152602001604051809103906000f08015801561005e573d6000803e3d6000fd5b5060601b6001600160601b0319166080526100d1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103a180610cd583390190565b60805160601c610bdf6100f66000396000818161011301526101c10152610bdf6000f3fe60806040526004361061007b5760003560e01c8063c20bb33c1161004e578063c20bb33c14610101578063ddca3f4314610135578063df8de3e714610159578063f2fde38b1461017957600080fd5b806321c69a19146100805780636a1db1bf14610095578063715018a6146100b55780638da5cb5b146100ca575b600080fd5b61009361008e3660046109a2565b610199565b005b3480156100a157600080fd5b506100936100b0366004610acf565b6104ca565b3480156100c157600080fd5b50610093610529565b3480156100d657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561010d57600080fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b34801561014157600080fd5b5061014b60015481565b6040519081526020016100f8565b34801561016557600080fd5b50610093610174366004610980565b61058f565b34801561018557600080fd5b50610093610194366004610980565b610821565b6001543410156101a857600080fd5b6001600160a01b038516156103b3576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639fc314c886336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0392831660048201529116602482015260448101879052606401600060405180830381600087803b15801561024f57600080fd5b505af1158015610263573d6000803e3d6000fd5b505050506001600160a01b038216610316576040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820186905286169063095ea7b390604401602060405180830381600087803b1580156102d857600080fd5b505af11580156102ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103109190610aad565b506103b3565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820186905286169063095ea7b390604401602060405180830381600087803b15801561037957600080fd5b505af115801561038d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b19190610aad565b505b600080846001600160a01b0316600154346103ce9190610b3c565b846040516103dc9190610b01565b60006040518083038185875af1925050503d8060008114610419576040519150601f19603f3d011682016040523d82523d6000602084013e61041e565b606091505b5091509150816104755760405162461bcd60e51b815260206004820152601960248201527f4f6e636861696e537761703a204661696c20746f2063616c6c0000000000000060448201526064015b60405180910390fd5b600154604080516001600160a01b038a1681526020810189905280820192909252517f61a4ff3bb8bbf861e1aa28d574e4b88959510ac2ae1b845521bb8c13c33d566b9181900360600190a150505050505050565b6000546001600160a01b031633146105245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046c565b600155565b6000546001600160a01b031633146105835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046c565b61058d60006108fc565b565b6000546001600160a01b031633146105e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046c565b6001600160a01b03811661069357604051600090339047908381818185875af1925050503d8060008114610639576040519150601f19603f3d011682016040523d82523d6000602084013e61063e565b606091505b505090508061068f5760405162461bcd60e51b815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161046c565b5050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906000906001600160a01b038316906370a082319060240160206040518083038186803b1580156106f057600080fd5b505afa158015610704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107289190610ae8565b90506001600160a01b03821663a9059cbb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610aad565b50604080516001600160a01b038516815233602082015280820183905290517ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c9181900360600190a150505b50565b6000546001600160a01b0316331461087b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046c565b6001600160a01b0381166108f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161046c565b61081e815b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461097b57600080fd5b919050565b60006020828403121561099257600080fd5b61099b82610964565b9392505050565b600080600080600060a086880312156109ba57600080fd5b6109c386610964565b9450602086013593506109d860408701610964565b92506109e660608701610964565b9150608086013567ffffffffffffffff80821115610a0357600080fd5b818801915088601f830112610a1757600080fd5b813581811115610a2957610a29610b7a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a6f57610a6f610b7a565b816040528281528b6020848701011115610a8857600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b600060208284031215610abf57600080fd5b8151801515811461099b57600080fd5b600060208284031215610ae157600080fd5b5035919050565b600060208284031215610afa57600080fd5b5051919050565b6000825160005b81811015610b225760208186018101518583015201610b08565b81811115610b31576000828501525b509190910192915050565b600082821015610b75577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220733c387e79229681ade43607ad178983541a03ee44bd816557e37aed2ba4576f64736f6c6343000807003360a060405234801561001057600080fd5b506040516103a13803806103a183398101604081905261002f91610044565b60601b6001600160601b031916608052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160601c61030361009e6000396000818160400152818160a201526101ae01526103036000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ec609031461003b5780639fc314c81461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e610099366004610268565b6100a0565b005b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f53796d623a2063616c6c6572206973206e6f7420746865206f6e636861696e5360448201527f7761700000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390528416906323b872dd90606401602060405180830381600087803b15801561020157600080fd5b505af1158015610215573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023991906102a4565b50505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461026357600080fd5b919050565b60008060006060848603121561027d57600080fd5b6102868461023f565b92506102946020850161023f565b9150604084013590509250925092565b6000602082840312156102b657600080fd5b815180151581146102c657600080fd5b939250505056fea2646970667358221220489f9ae0e5ff4d708afb664245d895032f4ff127fcb2102de46b4363065f699e64736f6c63430008070033