6080604052600780546001600160a01b031990811673bc14de74243788c5d934c963c4eaf3b743f1b0c6179091556008805490911673cd819f3393af02b99293fa1d343a18f4246cd7631790556000196009553480156200005f57600080fd5b50604051806060016040528060218152602001620013ac602191398051620000909160039160209091019062000287565b5060408051808201909152600880825267737065656368414960c01b6020909201918252620000c29160049162000287565b506005805460ff19166012179055600854600280546001600160a01b0319166001600160a01b03928316179055600754633b9aca00916200011191166b033b2e3c9fd0803ce800000062000118565b5062000323565b6008546001600160a01b0316331462000178576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000194816006546200022560201b62000bb91790919060201c565b6006556008546001600160a01b031660009081526020818152604090912054620001c991839062000bb962000225821b17901c565b6008546001600160a01b0390811660009081526020818152604080832094909455835185815293519286169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000280576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ca57805160ff1916838001178555620002fa565b82800160010185558215620002fa579182015b82811115620002fa578251825591602001919060010190620002dd565b50620003089291506200030c565b5090565b5b808211156200030857600081556001016200030d565b61107980620003336000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a9059cbb11610066578063a9059cbb14610347578063dd62ed3e14610373578063e81a939c146103a1578063f0dda65c146104d8576100ea565b806370a08231146102f557806395d89b411461031b5780639d54e74c14610323576100ea565b80631c85a85a116100c85780631c85a85a146101c657806323b872dd146101fe578063313ce567146102345780633811ac0214610252576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f7610504565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561059a565b604080519115158252519081900360200190f35b6101b46105b7565b60408051918252519081900360200190f35b6101fc600480360360608110156101dc57600080fd5b506001600160a01b038135811691602081013590911690604001356105bd565b005b6101986004803603606081101561021457600080fd5b506001600160a01b038135811691602081013590911690604001356106e5565b61023c61076c565b6040805160ff9092168252519081900360200190f35b6101fc6004803603602081101561026857600080fd5b81019060208101813564010000000081111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460208302840111640100000000831117156102b757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610775945050505050565b6101b46004803603602081101561030b57600080fd5b50356001600160a01b031661093f565b6100f761095a565b61032b6109bb565b604080516001600160a01b039092168252519081900360200190f35b6101986004803603604081101561035d57600080fd5b506001600160a01b0381351690602001356109ca565b6101b46004803603604081101561038957600080fd5b506001600160a01b03813581169160200135166109de565b6101fc600480360360608110156103b757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156103e257600080fd5b8201836020820111156103f457600080fd5b8035906020019184602083028401116401000000008311171561041657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561046657600080fd5b82018360208201111561047857600080fd5b8035906020019184602083028401116401000000008311171561049a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610a09945050505050565b6101fc600480360360408110156104ee57600080fd5b506001600160a01b038135169060200135610adb565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105905780601f1061056557610100808354040283529160200191610590565b820191906000526020600020905b81548152906001019060200180831161057357829003601f168201915b5050505050905090565b60006105ae6105a7610c1a565b8484610c1e565b50600192915050565b60065490565b6008546001600160a01b0316331461061c576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b670de0b6b3a764000002610631838383610d0a565b61066e81604051806060016040528060228152602001610f49602291396001600160a01b0386166000908152602081905260409020549190610d0f565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461069d9082610bb9565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020610fdb83398151915292918290030190a3505050565b60006106f2848484610da6565b610762846106fe610c1a565b61075d85604051806060016040528060288152602001610fb3602891396001600160a01b038a1660009081526001602052604081209061073c610c1a565b6001600160a01b031681526020810191909152604001600020549190610d0f565b610c1e565b5060019392505050565b60055460ff1690565b6008546001600160a01b031633146107ce576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b815181101561093b5760008060008484815181106107eb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054905061083683838151811061082557fe5b602002602001015161dead83610d0a565b61089a81604051806060016040528060228152602001610f496022913960008087878151811061086257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054610d0f9092919063ffffffff16565b6000808585815181106108a957fe5b6020908102919091018101516001600160a01b031682528181019290925260400160009081209290925561dead8252527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83546109059082610bb9565b61dead60009081526020527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf8355506001016107d1565b5050565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105905780601f1061056557610100808354040283529160200191610590565b6008546001600160a01b031681565b60006105ae6109d7610c1a565b8484610da6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6008546001600160a01b03163314610a62576040805162461bcd60e51b8152602060048201526017602482015276139bdd08185b1b1bddd959081d1bc81a5b9d195c9858dd604a1b604482015290519081900360640190fd5b60005b8251811015610ad557828181518110610a7a57fe5b60200260200101516001600160a01b0316846001600160a01b0316600080516020610fdb833981519152848481518110610ab057fe5b60200260200101516040518082815260200191505060405180910390a3600101610a65565b50505050565b6008546001600160a01b03163314610b3a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600654610b479082610bb9565b6006556008546001600160a01b0316600090815260208190526040902054610b6f9082610bb9565b6008546001600160a01b039081166000908152602081815260408083209490945583518581529351928616939192600080516020610fdb8339815191529281900390910190a35050565b600082820183811015610c13576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610c635760405162461bcd60e51b81526004018080602001828103825260248152602001806110206024913960400191505060405180910390fd5b6001600160a01b038216610ca85760405162461bcd60e51b8152600401808060200182810382526022815260200180610f6b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b505050565b60008184841115610d9e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d63578181015183820152602001610d4b565b50505050905090810190601f168015610d905780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b8282826001600160a01b038316610dee5760405162461bcd60e51b8152600401808060200182810382526025815260200180610ffb6025913960400191505060405180910390fd5b6001600160a01b038516610e335760405162461bcd60e51b8152600401808060200182810382526023815260200180610f266023913960400191505060405180910390fd5b610e3e868686610d0a565b610e7b84604051806060016040528060268152602001610f8d602691396001600160a01b0389166000908152602081905260409020549190610d0f565b6001600160a01b038088166000908152602081905260408082209390935590871681522054610eaa9085610bb9565b6001600160a01b0380871660009081526020819052604090209190915560085487821691161415610ee4576007546001600160a01b031695505b846001600160a01b0316866001600160a01b0316600080516020610fdb833981519152866040518082815260200191505060405180910390a350505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207aae6881806d4ec9e98e2689988f9037ac7fd7fd601fc50930e450678c8fbaa364736f6c634300060c00335370656563682047656e65726174696f6e204149207c20696d676e41492e636f6d