0x608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610363578063a9059cbb1461038f578063c53d1747146103bb578063ce36f807146103fe578063dd62ed3e1461042457610116565b806370a08231146102e357806379cc67901461030957806395d89b41146103355780639ae697bf1461033d57610116565b8063313ce567116100e9578063313ce56714610228578063395093511461024657806342966c68146102725780635576b79114610291578063654259dd146102bd57610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b610123610452565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b0381351690602001356104e8565b604080519115158252519081900360200190f35b6101e0610506565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b0381358116916020810135909116906040013561050c565b610230610593565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561059c565b61028f6004803603602081101561028857600080fd5b50356105ea565b005b6101c4600480360360408110156102a757600080fd5b506001600160a01b0381351690602001356105fe565b6101e0600480360360208110156102d357600080fd5b50356001600160a01b03166106a1565b6101e0600480360360208110156102f957600080fd5b50356001600160a01b031661075e565b61028f6004803603604081101561031f57600080fd5b506001600160a01b038135169060200135610779565b6101236107d3565b6101e06004803603602081101561035357600080fd5b50356001600160a01b0316610834565b6101c46004803603604081101561037957600080fd5b506001600160a01b038135169060200135610846565b6101c4600480360360408110156103a557600080fd5b506001600160a01b0381351690602001356108ae565b6103e1600480360360208110156103d157600080fd5b50356001600160a01b03166108bb565b6040805167ffffffffffffffff9092168252519081900360200190f35b6103e16004803603602081101561041457600080fd5b50356001600160a01b03166108d7565b6101e06004803603604081101561043a57600080fd5b506001600160a01b0381358116916020013516610945565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b820191906000526020600020905b8154815290600101906020018083116104c157829003601f168201915b5050505050905090565b60006104fc6104f5610aae565b8484610ab2565b5060015b92915050565b60025490565b6000610519848484610b9e565b61058984610525610aae565b61058485604051806060016040528060288152602001611032602891396001600160a01b038a16600090815260016020526040812090610563610aae565b6001600160a01b031681526020810191909152604001600020549190610cf9565b610ab2565b5060019392505050565b60055460ff1690565b60006104fc6105a9610aae565b8461058485600160006105ba610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610970565b6105fb6105f5610aae565b82610d90565b50565b600061061261060b610aae565b8484610b9e565b6001600160a01b0383166000908152600660205260409020546106359083610970565b6001600160a01b03841660009081526006602090815260408083209390935560079052205467ffffffffffffffff166104fc5750506001600160a01b03166000908152600760205260409020805467ffffffffffffffff19164267ffffffffffffffff16179055600190565b6000806106ad8361075e565b6001600160a01b0384166000908152600660209081526040808320546007909252909120549192509067ffffffffffffffff16806106f057829350505050610759565b600042826301dfe2000167ffffffffffffffff1611610710576000610727565b62093a804283900367ffffffffffffffff16046034035b905061075261074b60346107458667ffffffffffffffff86166109d1565b90610a2a565b8590610a6c565b9450505050505b919050565b6001600160a01b031660009081526020819052604090205490565b60006107b08260405180606001604052806024815260200161105a602491396107a9866107a4610aae565b610945565b9190610cf9565b90506107c4836107be610aae565b83610ab2565b6107ce8383610d90565b505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b60066020526000908152604090205481565b60006104fc610853610aae565b84610584856040518060600160405280602581526020016110e8602591396001600061087d610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610cf9565b60006104fc61060b610aae565b60076020526000908152604090205467ffffffffffffffff1681565b6001600160a01b03811660009081526007602052604081205467ffffffffffffffff161561093d57506001600160a01b03811660009081526007602052604090205462093a8067ffffffffffffffff918216428190039092168190046001010201610759565b506000610759565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156109ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000826109e057506000610500565b828202828482816109ed57fe5b04146109ca5760405162461bcd60e51b81526004018080602001828103825260218152602001806110116021913960400191505060405180910390fd5b60006109ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e8c565b60006109ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf9565b3390565b6001600160a01b038316610af75760405162461bcd60e51b81526004018080602001828103825260248152602001806110c46024913960400191505060405180910390fd5b6001600160a01b038216610b3c5760405162461bcd60e51b8152600401808060200182810382526022815260200180610fc96022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610be35760405162461bcd60e51b815260040180806020018281038252602581526020018061109f6025913960400191505060405180910390fd5b6001600160a01b038216610c285760405162461bcd60e51b8152600401808060200182810382526023815260200180610f5a6023913960400191505060405180910390fd5b610c33838383610ef1565b610c7081604051806060016040528060268152602001610feb602691396001600160a01b0386166000908152602081905260409020549190610cf9565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c9f9082610970565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d885760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4d578181015183820152602001610d35565b50505050905090810190601f168015610d7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610dd55760405162461bcd60e51b815260040180806020018281038252602181526020018061107e6021913960400191505060405180910390fd5b610de182600083610ef1565b610e1e81604051806060016040528060228152602001610f7d602291396001600160a01b0385166000908152602081905260409020549190610cf9565b6001600160a01b038316600090815260208190526040902055600254610e449082610a6c565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008183610edb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d4d578181015183820152602001610d35565b506000838581610ee757fe5b0495945050505050565b6001600160a01b0383166000908152600660205260409020541580610f1e5750610f1a836106a1565b8111155b6107ce5760405162461bcd60e51b815260040180806020018281038252602a815260200180610f9f602a913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365526571756972656420616d6f756e74206f6620746f6b656e73206973206e6f7420617661696c61626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220788e06f0e16a619ace5c54707c119a2d7726c570a130353e3ffe146f2cc52ca864736f6c634300060c0033
0x60806040523480156200001157600080fd5b506040518060400160405280601081526020016f4e69636543617368204e6574776f726b60801b815250604051806040016040528060038152602001622721a760e91b81525081600390805190602001906200006f929190620005ae565b50805162000085906004906020840190620005ae565b50506005805460ff1916601217905550620000bc33620000a4620000c2565b60ff16600a0a6305f5e10002620000cb60201b60201c565b6200064a565b60055460ff1690565b6001600160a01b03821662000127576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200013560008383620001da565b62000151816002546200024c60201b620009701790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000184918390620009706200024c821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03831660009081526006602052604090205415806200020a57506200020683620002b0565b8111155b620002475760405162461bcd60e51b815260040180806020018281038252602a8152602001806200179c602a913960400191505060405180910390fd5b505050565b600082820183811015620002a7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600080620002be836200039d565b6001600160a01b038416600090815260066020908152604080832054600790925290912054919250906001600160401b031680620003025782935050505062000398565b600042826301dfe200016001600160401b0316116200032357600062000339565b62093a80428390036001600160401b0316046034035b9050620003916200037c603462000368846001600160401b031687620003b860201b620009d11790919060201c565b6200041660201b62000a2a1790919060201c565b856200046060201b62000a6c1790919060201c565b9450505050505b919050565b6001600160a01b031660009081526020819052604090205490565b600082620003c957506000620002aa565b82820282848281620003d757fe5b0414620002a75760405162461bcd60e51b8152600401808060200182810382526021815260200180620017c66021913960400191505060405180910390fd5b6000620002a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004aa60201b60201c565b6000620002a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200055160201b60201c565b600081836200053a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004fe578181015183820152602001620004e4565b50505050905090810190601f1680156200052c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200054757fe5b0495945050505050565b60008184841115620005a65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620004fe578181015183820152602001620004e4565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005f157805160ff191683800117855562000621565b8280016001018555821562000621579182015b828111156200062157825182559160200191906001019062000604565b506200062f92915062000633565b5090565b5b808211156200062f576000815560010162000634565b611142806200065a6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610363578063a9059cbb1461038f578063c53d1747146103bb578063ce36f807146103fe578063dd62ed3e1461042457610116565b806370a08231146102e357806379cc67901461030957806395d89b41146103355780639ae697bf1461033d57610116565b8063313ce567116100e9578063313ce56714610228578063395093511461024657806342966c68146102725780635576b79114610291578063654259dd146102bd57610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b610123610452565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b0381351690602001356104e8565b604080519115158252519081900360200190f35b6101e0610506565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b0381358116916020810135909116906040013561050c565b610230610593565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561059c565b61028f6004803603602081101561028857600080fd5b50356105ea565b005b6101c4600480360360408110156102a757600080fd5b506001600160a01b0381351690602001356105fe565b6101e0600480360360208110156102d357600080fd5b50356001600160a01b03166106a1565b6101e0600480360360208110156102f957600080fd5b50356001600160a01b031661075e565b61028f6004803603604081101561031f57600080fd5b506001600160a01b038135169060200135610779565b6101236107d3565b6101e06004803603602081101561035357600080fd5b50356001600160a01b0316610834565b6101c46004803603604081101561037957600080fd5b506001600160a01b038135169060200135610846565b6101c4600480360360408110156103a557600080fd5b506001600160a01b0381351690602001356108ae565b6103e1600480360360208110156103d157600080fd5b50356001600160a01b03166108bb565b6040805167ffffffffffffffff9092168252519081900360200190f35b6103e16004803603602081101561041457600080fd5b50356001600160a01b03166108d7565b6101e06004803603604081101561043a57600080fd5b506001600160a01b0381358116916020013516610945565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b820191906000526020600020905b8154815290600101906020018083116104c157829003601f168201915b5050505050905090565b60006104fc6104f5610aae565b8484610ab2565b5060015b92915050565b60025490565b6000610519848484610b9e565b61058984610525610aae565b61058485604051806060016040528060288152602001611032602891396001600160a01b038a16600090815260016020526040812090610563610aae565b6001600160a01b031681526020810191909152604001600020549190610cf9565b610ab2565b5060019392505050565b60055460ff1690565b60006104fc6105a9610aae565b8461058485600160006105ba610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610970565b6105fb6105f5610aae565b82610d90565b50565b600061061261060b610aae565b8484610b9e565b6001600160a01b0383166000908152600660205260409020546106359083610970565b6001600160a01b03841660009081526006602090815260408083209390935560079052205467ffffffffffffffff166104fc5750506001600160a01b03166000908152600760205260409020805467ffffffffffffffff19164267ffffffffffffffff16179055600190565b6000806106ad8361075e565b6001600160a01b0384166000908152600660209081526040808320546007909252909120549192509067ffffffffffffffff16806106f057829350505050610759565b600042826301dfe2000167ffffffffffffffff1611610710576000610727565b62093a804283900367ffffffffffffffff16046034035b905061075261074b60346107458667ffffffffffffffff86166109d1565b90610a2a565b8590610a6c565b9450505050505b919050565b6001600160a01b031660009081526020819052604090205490565b60006107b08260405180606001604052806024815260200161105a602491396107a9866107a4610aae565b610945565b9190610cf9565b90506107c4836107be610aae565b83610ab2565b6107ce8383610d90565b505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b60066020526000908152604090205481565b60006104fc610853610aae565b84610584856040518060600160405280602581526020016110e8602591396001600061087d610aae565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610cf9565b60006104fc61060b610aae565b60076020526000908152604090205467ffffffffffffffff1681565b6001600160a01b03811660009081526007602052604081205467ffffffffffffffff161561093d57506001600160a01b03811660009081526007602052604090205462093a8067ffffffffffffffff918216428190039092168190046001010201610759565b506000610759565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156109ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000826109e057506000610500565b828202828482816109ed57fe5b04146109ca5760405162461bcd60e51b81526004018080602001828103825260218152602001806110116021913960400191505060405180910390fd5b60006109ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e8c565b60006109ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf9565b3390565b6001600160a01b038316610af75760405162461bcd60e51b81526004018080602001828103825260248152602001806110c46024913960400191505060405180910390fd5b6001600160a01b038216610b3c5760405162461bcd60e51b8152600401808060200182810382526022815260200180610fc96022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610be35760405162461bcd60e51b815260040180806020018281038252602581526020018061109f6025913960400191505060405180910390fd5b6001600160a01b038216610c285760405162461bcd60e51b8152600401808060200182810382526023815260200180610f5a6023913960400191505060405180910390fd5b610c33838383610ef1565b610c7081604051806060016040528060268152602001610feb602691396001600160a01b0386166000908152602081905260409020549190610cf9565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c9f9082610970565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d885760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4d578181015183820152602001610d35565b50505050905090810190601f168015610d7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610dd55760405162461bcd60e51b815260040180806020018281038252602181526020018061107e6021913960400191505060405180910390fd5b610de182600083610ef1565b610e1e81604051806060016040528060228152602001610f7d602291396001600160a01b0385166000908152602081905260409020549190610cf9565b6001600160a01b038316600090815260208190526040902055600254610e449082610a6c565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008183610edb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d4d578181015183820152602001610d35565b506000838581610ee757fe5b0495945050505050565b6001600160a01b0383166000908152600660205260409020541580610f1e5750610f1a836106a1565b8111155b6107ce5760405162461bcd60e51b815260040180806020018281038252602a815260200180610f9f602a913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365526571756972656420616d6f756e74206f6620746f6b656e73206973206e6f7420617661696c61626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220788e06f0e16a619ace5c54707c119a2d7726c570a130353e3ffe146f2cc52ca864736f6c634300060c0033526571756972656420616d6f756e74206f6620746f6b656e73206973206e6f7420617661696c61626c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77