60806040526102586007553480156200001757600080fd5b5060408051808201909152600c8082526b462a636b204d79204c69666560a01b60209092019182526200004d91600391620002a4565b506040805180820190915260038082526211935360ea1b60209092019182526200007a91600491620002a4565b506005805460ff191660121790556a084595161401484a00000060065542600a55610bb8600855620000af3361a455620000c7565b600d80546001600160a01b0319163317905562000340565b6001600160a01b03821662000123576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200013f81600254620001e260201b620009f41790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000172918390620009f4620001e2821b17901c565b6001600160a01b038316600081815260208181526040822093909355600654919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620001cd91869162000a5562000246821b17901c565b60408051918252519081900360200190a35050565b6000828201838110156200023d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082620002575750600062000240565b828202828482816200026557fe5b04146200023d5760405162461bcd60e51b81526004018080602001828103825260218152602001806200150e6021913960400191505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e757805160ff191683800117855562000317565b8280016001018555821562000317579182015b8281111562000317578251825591602001919060010190620002fa565b506200032592915062000329565b5090565b5b808211156200032557600081556001016200032a565b6111be80620003506000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806354843492116100e3578063a457c2d71161008c578063cd2c8d6d11610066578063cd2c8d6d14610447578063dd62ed3e1461044f578063e79ffa111461047d57610198565b8063a457c2d7146103e7578063a9059cbb14610413578063b2ca23cd1461043f57610198565b806376732eef116100bd57806376732eef146103ab57806379cc6790146103b357806395d89b41146103df57610198565b8063548434921461035957806370a082311461037d578063747e2a3b146103a357610198565b8063313ce5671161014557806339c8de1a1161011f57806339c8de1a1461032c5780633b971f9f1461033457806342966c681461033c57610198565b8063313ce567146102da578063352cd083146102f8578063395093511461030057610198565b806318160ddd1161017657806318160ddd146102745780631ffa30211461027c57806323b872dd146102a457610198565b806306fdde031461019d578063095ea7b31461021a578063104130001461025a575b600080fd5b6101a5610485565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101df5781810151838201526020016101c7565b50505050905090810190601f16801561020c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102466004803603604081101561023057600080fd5b506001600160a01b03813516906020013561051b565b604080519115158252519081900360200190f35b610262610539565b60408051918252519081900360200190f35b6102626105cb565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166105e9565b005b610246600480360360608110156102ba57600080fd5b506001600160a01b0381358116916020810135909116906040013561063a565b6102e26106c1565b6040805160ff9092168252519081900360200190f35b6102626106ca565b6102466004803603604081101561031657600080fd5b506001600160a01b0381351690602001356106d0565b61026261071e565b610262610724565b6102a26004803603602081101561035257600080fd5b503561072a565b61036161073e565b604080516001600160a01b039092168252519081900360200190f35b6102626004803603602081101561039357600080fd5b50356001600160a01b031661074d565b610262610775565b61026261077b565b6102a2600480360360408110156103c957600080fd5b506001600160a01b038135169060200135610781565b6101a56107db565b610246600480360360408110156103fd57600080fd5b506001600160a01b03813516906020013561083c565b6102466004803603604081101561042957600080fd5b506001600160a01b0381351690602001356108a4565b6102626108b8565b6102a26108be565b6102626004803603604081101561046557600080fd5b506001600160a01b03813581169160200135166109ba565b6103616109e5565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105115780601f106104e657610100808354040283529160200191610511565b820191906000526020600020905b8154815290600101906020018083116104f457829003601f168201915b5050505050905090565b600061052f610528610aae565b8484610ab2565b5060015b92915050565b600a546000908190819061054e904290610b9e565b600654909150811580159061057c575060085460075461056d91610a55565b60065461057a9084610a55565b115b156105c4576105a86007546105a26008546105a286600654610a5590919063ffffffff16565b90610be0565b92506006548310156105c4576006546105c19084610b9e565b90505b9250505090565b60006105e4600654600254610a5590919063ffffffff16565b905090565b600d546001600160a01b0316331461060057600080fd5b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000610647848484610c22565b6106b784610653610aae565b6106b2856040518060600160405280602881526020016110ae602891396001600160a01b038a16600090815260016020526040812090610691610aae565b6001600160a01b031681526020810191909152604001600020549190610ded565b610ab2565b5060019392505050565b60055460ff1690565b60095481565b600061052f6106dd610aae565b846106b285600160006106ee610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906109f4565b60075481565b600b5481565b61073b610735610aae565b82610e84565b50565b600c546001600160a01b031681565b6006546001600160a01b03821660009081526020819052604081205490916105339190610a55565b60065481565b60085481565b60006107b8826040518060600160405280602481526020016110d6602491396107b1866107ac610aae565b6109ba565b9190610ded565b90506107cc836107c6610aae565b83610ab2565b6107d68383610e84565b505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105115780601f106104e657610100808354040283529160200191610511565b600061052f610849610aae565b846106b2856040518060600160405280602581526020016111646025913960016000610873610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ded565b600061052f6108b1610aae565b8484610c22565b600a5481565b6108c733610f94565b1580156108d357503332145b610924576040805162461bcd60e51b815260206004820181905260248201527f536f72727920776520646f206e6f742061636365707420636f6e747261637421604482015290519081900360640190fd5b60065461092f610539565b6006819055811461073b5742600a55600c546001600160a01b03161561073b57600c60009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561099f57600080fd5b505af11580156109b3573d6000803e3d6000fd5b5050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600d546001600160a01b031681565b600082820183811015610a4e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082610a6457506000610533565b82820282848281610a7157fe5b0414610a4e5760405162461bcd60e51b815260040180806020018281038252602181526020018061108d6021913960400191505060405180910390fd5b3390565b6001600160a01b038316610af75760405162461bcd60e51b81526004018080602001828103825260248152602001806111406024913960400191505060405180910390fd5b6001600160a01b038216610b3c5760405162461bcd60e51b81526004018080602001828103825260228152602001806110456022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610a4e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ded565b6000610a4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f9a565b6001600160a01b038316610c675760405162461bcd60e51b815260040180806020018281038252602581526020018061111b6025913960400191505060405180910390fd5b6001600160a01b038216610cac5760405162461bcd60e51b81526004018080602001828103825260238152602001806110006023913960400191505060405180910390fd5b600654811015610ced5760405162461bcd60e51b81526004018080602001828103825260238152602001806110006023913960400191505060405180910390fd5b610cf88383836107d6565b610d49610d1060065483610be090919063ffffffff16565b604051806060016040528060268152602001611067602691396001600160a01b0386166000908152602081905260409020549190610ded565b6001600160a01b038416600090815260208190526040902055600654610d9390610d74908390610be0565b6001600160a01b038416600090815260208190526040902054906109f4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e7c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e41578181015183820152602001610e29565b50505050905090810190601f168015610e6e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610ec95760405162461bcd60e51b81526004018080602001828103825260218152602001806110fa6021913960400191505060405180910390fd5b610ed5826000836107d6565b610f26610eed60065483610be090919063ffffffff16565b604051806060016040528060228152602001611023602291396001600160a01b0385166000908152602081905260409020549190610ded565b6001600160a01b038316600090815260208190526040902055600254610f4c9082610b9e565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b3b151590565b60008183610fe95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e41578181015183820152602001610e29565b506000838581610ff557fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208b2934ffe116969a32ba209efec604a14dcf748461bdcfb2ce59c601acd9ec6264736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77