608060405260058054601260ff1990911617610100600160a81b03191661010033021790553480156200003157600080fd5b506040805180820182526007815266149bdbdd12da5d60ca1b6020808301918252835180850190945260048452631493d3d560e21b90840152815191929183918391620000819160039162000234565b5080516200009790600490602084019062000234565b5050505050620000b83369021e19e0c9bab2400000620000be60201b60201c565b620002e0565b6001600160a01b0382166200011a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200012860008383620001cd565b6200014481600254620001d260201b620008821790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200017791839062000882620001d2821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200022d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200026c5760008555620002b7565b82601f106200028757805160ff1916838001178555620002b7565b82800160010185558215620002b7579182015b82811115620002b75782518255916020019190600101906200029a565b50620002c5929150620002c9565b5090565b5b80821115620002c55760008155600101620002ca565b6114f580620002f06000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806361d8c817116100a2578063a457c2d711610071578063a457c2d71461030f578063a9059cbb1461033b578063b497534314610367578063dd62ed3e1461036f578063f2fde38b1461039d5761010b565b806361d8c8171461029757806370a08231146102bd5780638da5cb5b146102e357806395d89b41146103075761010b565b806323b872dd116100de57806323b872dd1461020f578063313ce5671461024557806339509351146102635780634e71e0c81461028f5761010b565b806306fdde0314610110578063095ea7b31461018d57806316114acd146101cd57806318160ddd146101f5575b600080fd5b6101186103c3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015257818101518382015260200161013a565b50505050905090810190601f16801561017f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b9600480360360408110156101a357600080fd5b506001600160a01b038135169060200135610451565b604080519115158252519081900360200190f35b6101f3600480360360208110156101e357600080fd5b50356001600160a01b0316610467565b005b6101fd61055b565b60408051918252519081900360200190f35b6101b96004803603606081101561022557600080fd5b506001600160a01b03813581169160208101359091169060400135610561565b61024d6105d7565b6040805160ff9092168252519081900360200190f35b6101b96004803603604081101561027957600080fd5b506001600160a01b0381351690602001356105e0565b6101f3610616565b6101f3600480360360208110156102ad57600080fd5b50356001600160a01b0316610693565b6101fd600480360360208110156102d357600080fd5b50356001600160a01b0316610706565b6102eb610718565b604080516001600160a01b039092168252519081900360200190f35b61011861072c565b6101b96004803603604081101561032557600080fd5b506001600160a01b038135169060200135610787565b6101b96004803603604081101561035157600080fd5b506001600160a01b0381351690602001356107d6565b6102eb6107e3565b6101fd6004803603604081101561038557600080fd5b506001600160a01b03813581169160200135166107f2565b6101f3600480360360208110156103b357600080fd5b50356001600160a01b031661080f565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104495780601f1061041e57610100808354040283529160200191610449565b820191906000526020600020905b81548152906001019060200180831161042c57829003601f168201915b505050505081565b600061045e3384846108dc565b50600192915050565b60055461010090046001600160a01b031633146104b8576040805162461bcd60e51b815260206004820152600a6024820152694f776e6572206f6e6c7960b01b604482015290519081900360640190fd5b6104c1816109c8565b6104ca57600080fd5b61055833826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d602081101561054557600080fd5b50516001600160a01b03841691906109da565b50565b60025481565b600061056e848484610a31565b6001600160a01b038416600090815260016020908152604080832033845290915290205460001981146105ca576105ca85336105c58660405180606001604052806028815260200161140460289139869190610d19565b6108dc565b60019150505b9392505050565b60055460ff1681565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045e9185906105c59086610882565b6006546001600160a01b0316331461062d57600080fd5b600680546001600160a01b0319169055600554604051339161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360058054610100600160a81b0319163361010002179055565b60055461010090046001600160a01b031633146106e4576040805162461bcd60e51b815260206004820152600a6024820152694f776e6572206f6e6c7960b01b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60006020819052908152604090205481565b60055461010090046001600160a01b031681565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104495780601f1061041e57610100808354040283529160200191610449565b600061045e33846105c58560405180606001604052806025815260200161149b602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190610d19565b600061045e338484610a31565b6007546001600160a01b031681565b600160209081526000928352604080842090915290825290205481565b60055461010090046001600160a01b03163314610860576040805162461bcd60e51b815260206004820152600a6024820152694f776e6572206f6e6c7960b01b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000828201838110156105d0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166109215760405162461bcd60e51b815260040180806020018281038252602481526020018061144d6024913960400191505060405180910390fd5b6001600160a01b0382166109665760405162461bcd60e51b81526004018080602001828103825260228152602001806113966022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038116301415919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610a2c908490610db0565b505050565b6001600160a01b038316610a605760405162461bcd60e51b8152600401610a5790611301565b60405180910390fd5b6001600160a01b038216610a865760405162461bcd60e51b8152600401610a57906112be565b610a91838383610a2c565b6007546001600160a01b0316818115610c4c5760006060836001600160a01b03166395c47d06338989896040518563ffffffff1660e01b8152600401610ada9493929190611294565b600060405180830381600087803b158015610af457600080fd5b505af1158015610b08573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b3091908101906111de565b90925090508115610b7b5760408051808201909152600d81526c084eae4dc40e8dede40daeac6d609b1b6020820152610b6c9084908490610d19565b9250829450610b7b8783610e61565b60005b8151811015610c4857600080838381518110610b9657fe5b602002602001015160000151848481518110610bae57fe5b60200260200101516020015191509150610bfc81604051806040016040528060118152602001700a8e4c2dce6cccae440e8dede40daeac6d607b1b81525088610d199092919063ffffffff16565b6001600160a01b038316600090815260208190526040902054909650610c229082610882565b6001600160a01b0390921660009081526020819052604090209190915550600101610b7e565b5050505b610c89836040518060600160405280602681526020016113b8602691396001600160a01b0388166000908152602081905260409020549190610d19565b6001600160a01b038087166000908152602081905260408082209390935590861681522054610cb89082610882565b6001600160a01b0380861660008181526020819052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0a908790611346565b60405180910390a35050505050565b60008184841115610da85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d6d578181015183820152602001610d55565b50505050905090810190601f168015610d9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060610e05826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f5d9092919063ffffffff16565b805190915015610a2c57808060200190516020811015610e2457600080fd5b5051610a2c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611471602a913960400191505060405180910390fd5b6001600160a01b038216610ea65760405162461bcd60e51b815260040180806020018281038252602181526020018061142c6021913960400191505060405180910390fd5b610eb282600083610a2c565b610eef81604051806060016040528060228152602001611374602291396001600160a01b0385166000908152602081905260409020549190610d19565b6001600160a01b038316600090815260208190526040902055600254610f159082610f74565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6060610f6c8484600085610fb6565b949350505050565b60006105d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d19565b606082471015610ff75760405162461bcd60e51b81526004018080602001828103825260268152602001806113de6026913960400191505060405180910390fd5b61100085611112565b611051576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110905780518252601f199092019160209182019101611071565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146110f2576040519150601f19603f3d011682016040523d82523d6000602084013e6110f7565b606091505b5091509150611107828286611118565b979650505050505050565b3b151590565b606083156111275750816105d0565b8251156111375782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315610d6d578181015183820152602001610d55565b60006040828403121561118f578081fd5b6040516040810181811067ffffffffffffffff821117156111ac57fe5b604052825190915081906001600160a01b03811681146111cb57600080fd5b8152602092830151920191909152919050565b60008060408084860312156111f1578283fd5b8351925060208085015167ffffffffffffffff80821115611210578485fd5b818701915087601f830112611223578485fd5b81518181111561122f57fe5b61123c848583020161134f565b8181528481019250838501868302850186018b1015611259578788fd5b8794505b828510156112835761126f8b8261117e565b84526001949094019392850192860161125d565b508096505050505050509250929050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561136b57fe5b60405291905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e0677cab89c65d698c253e1c48f8b36aa1edb6dd79be84632ac841ad15b851f264736f6c63430007040033