0x60806040526007805460ff19908116909155601460085560466009556005600a9081556061600b556001600c556000600d55600e8054909216909155620000499060129062000519565b6200005890620186a062000531565b600f55620000696012600a62000519565b620000789062030d4062000531565b601055620000896012600a62000519565b6200009890620186a062000531565b601155620000a96012600a62000519565b620000b89062030d4062000531565b6012556014805462ffffff60a01b19166201000160a01b179055348015620000df57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000186573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ac91906200054b565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200054b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000283573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a991906200054b565b601480546001600160a01b0319166001600160a01b0392909216919091179055620002d13390565b600780546001600160a01b039290921661010002610100600160a81b0319909216919091179055620003066012600a62000519565b62000315906298968062000531565b336000908152600160208190526040822092909255600390620003406000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556007546101009004909116835291208054909216179055620003a43390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003de6012600a62000519565b620003ed906298968062000531565b60405190815260200160405180910390a362000576565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200045b5781600019048211156200043f576200043f62000404565b808516156200044d57918102915b93841c93908002906200041f565b509250929050565b600082620004745750600162000513565b81620004835750600062000513565b81600181146200049c5760028114620004a757620004c7565b600191505062000513565b60ff841115620004bb57620004bb62000404565b50506001821b62000513565b5060208310610133831016604e8410600b8410161715620004ec575081810a62000513565b620004f883836200041a565b80600019048211156200050f576200050f62000404565b0290505b92915050565b60006200052a60ff84168362000463565b9392505050565b808202811582820484141762000513576200051362000404565b6000602082840312156200055e57600080fd5b81516001600160a01b03811681146200052a57600080fd5b61162e80620005866000396000f3fe60806040526004361061012e5760003560e01c80637d1db4a5116100ab578063b9d0f1af1161006f578063b9d0f1af1461036b578063bf474bed1461038b578063c876d0b9146103a1578063dd62ed3e146103bb578063de2aa57d14610401578063ec6c12901461042157600080fd5b80637d1db4a5146102c55780638da5cb5b146102db5780638f9a55c01461030357806395d89b4114610319578063a9059cbb1461034b57600080fd5b8063313ce567116100f2578063313ce5671461020e5780633bbac5791461022a57806370a0823114610263578063715018a614610299578063751039fc146102b057600080fd5b806306fdde031461013a578063095ea7b3146101855780630faee56f146101b557806318160ddd146101d957806323b872dd146101ee57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152601081526f2922a220a1aa22a2102124aa21a7a4a760811b60208201525b60405161017c9190611234565b60405180910390f35b34801561019157600080fd5b506101a56101a036600461129a565b610436565b604051901515815260200161017c565b3480156101c157600080fd5b506101cb60125481565b60405190815260200161017c565b3480156101e557600080fd5b506101cb61044d565b3480156101fa57600080fd5b506101a56102093660046112c6565b61046d565b34801561021a57600080fd5b506040516012815260200161017c565b34801561023657600080fd5b506101a5610245366004611307565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561026f57600080fd5b506101cb61027e366004611307565b6001600160a01b031660009081526001602052604090205490565b3480156102a557600080fd5b506102ae6104d6565b005b3480156102bc57600080fd5b506102ae610553565b3480156102d157600080fd5b506101cb600f5481565b3480156102e757600080fd5b506000546040516001600160a01b03909116815260200161017c565b34801561030f57600080fd5b506101cb60105481565b34801561032557600080fd5b5060408051808201909152600981526871415fb4aa31a7b4a760b91b602082015261016f565b34801561035757600080fd5b506101a561036636600461129a565b6105c1565b34801561037757600080fd5b506102ae610386366004611324565b6105ce565b34801561039757600080fd5b506101cb60115481565b3480156103ad57600080fd5b506007546101a59060ff1681565b3480156103c757600080fd5b506101cb6103d636600461133d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040d57600080fd5b506102ae61041c366004611324565b6105fd565b34801561042d57600080fd5b506102ae61062c565b6000610443338484610665565b5060015b92915050565b600061045b6012600a611470565b610468906298968061147f565b905090565b600061047a848484610789565b6104cc84336104c7856040518060600160405280602881526020016115d1602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e76565b610665565b5060019392505050565b6000546001600160a01b031633146105095760405162461bcd60e51b815260040161050090611496565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461057d5760405162461bcd60e51b815260040161050090611496565b6105896012600a611470565b610596906298968061147f565b600f556105a56012600a611470565b6105b2906298968061147f565b6010556007805460ff19169055565b6000610443338484610789565b6000546001600160a01b031633146105f85760405162461bcd60e51b815260040161050090611496565b601255565b6000546001600160a01b031633146106275760405162461bcd60e51b815260040161050090611496565b601155565b6000546001600160a01b031633146106565760405162461bcd60e51b815260040161050090611496565b600e805460ff19166001179055565b6001600160a01b0383166106c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610500565b6001600160a01b0382166107285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610500565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107ed5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610500565b6001600160a01b03821661084f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610500565b600081116108b15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610500565b600080546001600160a01b038581169116148015906108de57506000546001600160a01b03848116911614155b15610d33576001600160a01b03841660009081526005602052604090205460ff1615801561092557506001600160a01b03831660009081526005602052604090205460ff16155b61092e57600080fd5b60075460ff16156109e7576013546001600160a01b0384811691161480159061096557506014546001600160a01b03848116911614155b156109e7573260009081526006602052604090205443116109d45760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610500565b3260009081526006602052604090204390555b6014546001600160a01b038581169116148015610a1257506013546001600160a01b03848116911614155b8015610a3757506001600160a01b03831660009081526003602052604090205460ff16155b15610b5657600f54821115610a8a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610500565b60105482610aad856001600160a01b031660009081526001602052604090205490565b610ab791906114cb565b1115610b055760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610500565b600c54600d541015610b1d57823b15610b1d57600080fd5b600d8054906000610b2d836114de565b90915550506001600160a01b0383166000908152600460205260409020805460ff191660011790555b600e54610b8490606490610b7e9060ff16610b7357600854610b77565b600a545b8590610eb0565b90610f39565b6014549091506001600160a01b038481169116148015610bad57506001600160a01b0384163014155b15610c9557600f54821115610c005760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b6044820152606401610500565b600e54610c2790606490610b7e9060ff16610c1d57600954610b77565b600b548590610eb0565b9050600c54600d541180610c5357506001600160a01b03841660009081526004602052604090205460ff165b610c955760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b6044820152606401610500565b30600090815260016020526040902054601454600160a81b900460ff16158015610ccc57506014546001600160a01b038581169116145b8015610ce15750601454600160b01b900460ff165b8015610cee575060115481115b8015610cfd5750600c54600d54115b15610d3157610d1f610d1a84610d1584601254610f7b565b610f7b565b610f90565b478015610d2f57610d2f47611123565b505b505b8015610dad5730600090815260016020526040902054610d539082611165565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610da49085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610dd090836111c4565b6001600160a01b038516600090815260016020526040902055610e15610df683836111c4565b6001600160a01b03851660009081526001602052604090205490611165565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e5f85856111c4565b60405190815260200160405180910390a350505050565b60008184841115610e9a5760405162461bcd60e51b81526004016105009190611234565b506000610ea784866114f7565b95945050505050565b600082600003610ec257506000610447565b6000610ece838561147f565b905082610edb858361150a565b14610f325760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610500565b9392505050565b6000610f3283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611206565b6000818311610f8a5782610f32565b50919050565b6014805460ff60a81b1916600160a81b179055801561111357601454600160a01b900460ff1615611113576040805160028082526060820183526000926020830190803683370190505090503081600081518110610ff057610ff061152c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106d9190611542565b816001815181106110805761108061152c565b6001600160a01b0392831660209182029290920101526013546110a69130911684610665565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906110df90859060009086903090429060040161155f565b600060405180830381600087803b1580156110f957600080fd5b505af115801561110d573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611161573d6000803e3d6000fd5b5050565b60008061117283856114cb565b905083811015610f325760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610500565b6000610f3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e76565b600081836112275760405162461bcd60e51b81526004016105009190611234565b506000610ea7848661150a565b600060208083528351808285015260005b8181101561126157858101830151858201604001528201611245565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461129757600080fd5b50565b600080604083850312156112ad57600080fd5b82356112b881611282565b946020939093013593505050565b6000806000606084860312156112db57600080fd5b83356112e681611282565b925060208401356112f681611282565b929592945050506040919091013590565b60006020828403121561131957600080fd5b8135610f3281611282565b60006020828403121561133657600080fd5b5035919050565b6000806040838503121561135057600080fd5b823561135b81611282565b9150602083013561136b81611282565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113c75781600019048211156113ad576113ad611376565b808516156113ba57918102915b93841c9390800290611391565b509250929050565b6000826113de57506001610447565b816113eb57506000610447565b8160018114611401576002811461140b57611427565b6001915050610447565b60ff84111561141c5761141c611376565b50506001821b610447565b5060208310610133831016604e8410600b841016171561144a575081810a610447565b611454838361138c565b806000190482111561146857611468611376565b029392505050565b6000610f3260ff8416836113cf565b808202811582820484141761044757610447611376565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561044757610447611376565b6000600182016114f0576114f0611376565b5060010190565b8181038181111561044757610447611376565b60008261152757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561155457600080fd5b8151610f3281611282565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115af5784516001600160a01b03168352938301939183019160010161158a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c547c60155e0329b973a1d707a3e17615becb382ca8dc5774276f2ac5fb267a064736f6c63430008120033