0x60806040523480156200001157600080fd5b50604080518082018252601681527f43756269537761702046696e616e636520546f6b656e000000000000000000006020808301918252835180850190945260048452634355424960e01b908401528151919291620000739160039162000105565b5080516200008990600490602084019062000105565b50506005805460ff19166012179055506000620000a562000101565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001a1565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014857805160ff191683800117855562000178565b8280016001018555821562000178579182015b82811115620001785782518255916020019190600101906200015b565b50620001869291506200018a565b5090565b5b808211156200018657600081556001016200018b565b6113a780620001b16000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610381578063a9059cbb146103ad578063aa271e1a146103d9578063dd62ed3e146103ff578063f2fde38b1461042d5761012c565b806370a082311461031b578063715018a6146103415780638da5cb5b1461034b57806395d89b4114610353578063983b2d561461035b5761012c565b806323b872dd116100f457806323b872dd14610236578063313ce5671461026c578063395093511461028a57806340c10f19146102b65780635b7121f8146102e25761012c565b80630323aac71461013157806306fdde031461014b578063095ea7b3146101c857806318160ddd1461020857806323338b8814610210575b600080fd5b610139610453565b60408051918252519081900360200190f35b610153610464565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f4600480360360408110156101de57600080fd5b506001600160a01b0381351690602001356104fa565b604080519115158252519081900360200190f35b610139610518565b6101f46004803603602081101561022657600080fd5b50356001600160a01b031661051e565b6101f46004803603606081101561024c57600080fd5b506001600160a01b038135811691602081013590911690604001356105d2565b610274610659565b6040805160ff9092168252519081900360200190f35b6101f4600480360360408110156102a057600080fd5b506001600160a01b038135169060200135610662565b6101f4600480360360408110156102cc57600080fd5b506001600160a01b0381351690602001356106b0565b6102ff600480360360208110156102f857600080fd5b5035610716565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561033157600080fd5b50356001600160a01b03166107e4565b6103496107ff565b005b6102ff6108b1565b6101536108c5565b6101f46004803603602081101561037157600080fd5b50356001600160a01b0316610926565b6101f46004803603604081101561039757600080fd5b506001600160a01b0381351690602001356109da565b6101f4600480360360408110156103c357600080fd5b506001600160a01b038135169060200135610a42565b6101f4600480360360208110156103ef57600080fd5b50356001600160a01b0316610a56565b6101396004803603604081101561041557600080fd5b506001600160a01b0381358116916020013516610a63565b6103496004803603602081101561044357600080fd5b50356001600160a01b0316610a8e565b600061045f6006610b9c565b905090565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f05780601f106104c5576101008083540402835291602001916104f0565b820191906000526020600020905b8154815290600101906020018083116104d357829003601f168201915b5050505050905090565b600061050e610507610ba7565b8484610bab565b5060015b92915050565b60025490565b6000610528610ba7565b6001600160a01b03166105396108b1565b6001600160a01b031614610582576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b0382166105c75760405162461bcd60e51b815260040180806020018281038252602781526020018061126e6027913960400191505060405180910390fd5b610512600683610c97565b60006105df848484610cb3565b61064f846105eb610ba7565b61064a856040518060600160405280602881526020016112bc602891396001600160a01b038a16600090815260016020526040812090610629610ba7565b6001600160a01b031681526020810191909152604001600020549190610e0e565b610bab565b5060019392505050565b60055460ff1690565b600061050e61066f610ba7565b8461064a8560016000610680610ba7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ea5565b60006106bb33610a56565b61070c576040805162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206d696e7465720000000000000000604482015290519081900360640190fd5b61050e8383610eff565b6000610720610ba7565b6001600160a01b03166107316108b1565b6001600160a01b03161461077a576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001610784610453565b038211156107d9576040805162461bcd60e51b815260206004820152601c60248201527f4a66546f6b656e3a20696e646578206f7574206f6620626f756e647300000000604482015290519081900360640190fd5b610512600683610fef565b6001600160a01b031660009081526020819052604090205490565b610807610ba7565b6001600160a01b03166108186108b1565b6001600160a01b031614610861576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f05780601f106104c5576101008083540402835291602001916104f0565b6000610930610ba7565b6001600160a01b03166109416108b1565b6001600160a01b03161461098a576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b0382166109cf5760405162461bcd60e51b81526004018080602001828103825260278152602001806112956027913960400191505060405180910390fd5b610512600683610ffb565b600061050e6109e7610ba7565b8461064a8560405180606001604052806025815260200161134d6025913960016000610a11610ba7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e0e565b600061050e610a4f610ba7565b8484610cb3565b6000610512600683611010565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a96610ba7565b6001600160a01b0316610aa76108b1565b6001600160a01b031614610af0576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b038116610b355760405162461bcd60e51b81526004018080602001828103825260268152602001806112006026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600061051282611025565b3390565b6001600160a01b038316610bf05760405162461bcd60e51b81526004018080602001828103825260248152602001806113296024913960400191505060405180910390fd5b6001600160a01b038216610c355760405162461bcd60e51b81526004018080602001828103825260228152602001806112266022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610cac836001600160a01b038416611029565b9392505050565b6001600160a01b038316610cf85760405162461bcd60e51b81526004018080602001828103825260258152602001806113046025913960400191505060405180910390fd5b6001600160a01b038216610d3d5760405162461bcd60e51b81526004018080602001828103825260238152602001806111dd6023913960400191505060405180910390fd5b610d488383836110ef565b610d8581604051806060016040528060268152602001611248602691396001600160a01b0386166000908152602081905260409020549190610e0e565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610db49082610ea5565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e9d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e62578181015183820152602001610e4a565b50505050905090810190601f168015610e8f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610cac576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610f5a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f66600083836110ef565b600254610f739082610ea5565b6002556001600160a01b038216600090815260208190526040902054610f999082610ea5565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000610cac83836110f4565b6000610cac836001600160a01b038416611158565b6000610cac836001600160a01b0384166111a2565b5490565b600081815260018301602052604081205480156110e5578354600019808301919081019060009087908390811061105c57fe5b906000526020600020015490508087600001848154811061107957fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806110a957fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610512565b6000915050610512565b505050565b815460009082106111365760405162461bcd60e51b81526004018080602001828103825260228152602001806111bb6022913960400191505060405180910390fd5b82600001828154811061114557fe5b9060005260206000200154905092915050565b600061116483836111a2565b61119a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610512565b506000610512565b6000908152600191909101602052604090205415159056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654a66546f6b656e3a205f64656c4d696e74657220697320746865207a65726f20616464726573734a66546f6b656e3a205f6164644d696e74657220697320746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122095716f90ec2d8acaf17ada24807c10abfcf0fbdec88031375ed56398aa15d22664736f6c634300060c0033
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610381578063a9059cbb146103ad578063aa271e1a146103d9578063dd62ed3e146103ff578063f2fde38b1461042d5761012c565b806370a082311461031b578063715018a6146103415780638da5cb5b1461034b57806395d89b4114610353578063983b2d561461035b5761012c565b806323b872dd116100f457806323b872dd14610236578063313ce5671461026c578063395093511461028a57806340c10f19146102b65780635b7121f8146102e25761012c565b80630323aac71461013157806306fdde031461014b578063095ea7b3146101c857806318160ddd1461020857806323338b8814610210575b600080fd5b610139610453565b60408051918252519081900360200190f35b610153610464565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f4600480360360408110156101de57600080fd5b506001600160a01b0381351690602001356104fa565b604080519115158252519081900360200190f35b610139610518565b6101f46004803603602081101561022657600080fd5b50356001600160a01b031661051e565b6101f46004803603606081101561024c57600080fd5b506001600160a01b038135811691602081013590911690604001356105d2565b610274610659565b6040805160ff9092168252519081900360200190f35b6101f4600480360360408110156102a057600080fd5b506001600160a01b038135169060200135610662565b6101f4600480360360408110156102cc57600080fd5b506001600160a01b0381351690602001356106b0565b6102ff600480360360208110156102f857600080fd5b5035610716565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561033157600080fd5b50356001600160a01b03166107e4565b6103496107ff565b005b6102ff6108b1565b6101536108c5565b6101f46004803603602081101561037157600080fd5b50356001600160a01b0316610926565b6101f46004803603604081101561039757600080fd5b506001600160a01b0381351690602001356109da565b6101f4600480360360408110156103c357600080fd5b506001600160a01b038135169060200135610a42565b6101f4600480360360208110156103ef57600080fd5b50356001600160a01b0316610a56565b6101396004803603604081101561041557600080fd5b506001600160a01b0381358116916020013516610a63565b6103496004803603602081101561044357600080fd5b50356001600160a01b0316610a8e565b600061045f6006610b9c565b905090565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f05780601f106104c5576101008083540402835291602001916104f0565b820191906000526020600020905b8154815290600101906020018083116104d357829003601f168201915b5050505050905090565b600061050e610507610ba7565b8484610bab565b5060015b92915050565b60025490565b6000610528610ba7565b6001600160a01b03166105396108b1565b6001600160a01b031614610582576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b0382166105c75760405162461bcd60e51b815260040180806020018281038252602781526020018061126e6027913960400191505060405180910390fd5b610512600683610c97565b60006105df848484610cb3565b61064f846105eb610ba7565b61064a856040518060600160405280602881526020016112bc602891396001600160a01b038a16600090815260016020526040812090610629610ba7565b6001600160a01b031681526020810191909152604001600020549190610e0e565b610bab565b5060019392505050565b60055460ff1690565b600061050e61066f610ba7565b8461064a8560016000610680610ba7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ea5565b60006106bb33610a56565b61070c576040805162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206d696e7465720000000000000000604482015290519081900360640190fd5b61050e8383610eff565b6000610720610ba7565b6001600160a01b03166107316108b1565b6001600160a01b03161461077a576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001610784610453565b038211156107d9576040805162461bcd60e51b815260206004820152601c60248201527f4a66546f6b656e3a20696e646578206f7574206f6620626f756e647300000000604482015290519081900360640190fd5b610512600683610fef565b6001600160a01b031660009081526020819052604090205490565b610807610ba7565b6001600160a01b03166108186108b1565b6001600160a01b031614610861576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f05780601f106104c5576101008083540402835291602001916104f0565b6000610930610ba7565b6001600160a01b03166109416108b1565b6001600160a01b03161461098a576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b0382166109cf5760405162461bcd60e51b81526004018080602001828103825260278152602001806112956027913960400191505060405180910390fd5b610512600683610ffb565b600061050e6109e7610ba7565b8461064a8560405180606001604052806025815260200161134d6025913960016000610a11610ba7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e0e565b600061050e610a4f610ba7565b8484610cb3565b6000610512600683611010565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a96610ba7565b6001600160a01b0316610aa76108b1565b6001600160a01b031614610af0576040805162461bcd60e51b815260206004820181905260248201526000805160206112e4833981519152604482015290519081900360640190fd5b6001600160a01b038116610b355760405162461bcd60e51b81526004018080602001828103825260268152602001806112006026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600061051282611025565b3390565b6001600160a01b038316610bf05760405162461bcd60e51b81526004018080602001828103825260248152602001806113296024913960400191505060405180910390fd5b6001600160a01b038216610c355760405162461bcd60e51b81526004018080602001828103825260228152602001806112266022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610cac836001600160a01b038416611029565b9392505050565b6001600160a01b038316610cf85760405162461bcd60e51b81526004018080602001828103825260258152602001806113046025913960400191505060405180910390fd5b6001600160a01b038216610d3d5760405162461bcd60e51b81526004018080602001828103825260238152602001806111dd6023913960400191505060405180910390fd5b610d488383836110ef565b610d8581604051806060016040528060268152602001611248602691396001600160a01b0386166000908152602081905260409020549190610e0e565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610db49082610ea5565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e9d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e62578181015183820152602001610e4a565b50505050905090810190601f168015610e8f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610cac576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216610f5a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f66600083836110ef565b600254610f739082610ea5565b6002556001600160a01b038216600090815260208190526040902054610f999082610ea5565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000610cac83836110f4565b6000610cac836001600160a01b038416611158565b6000610cac836001600160a01b0384166111a2565b5490565b600081815260018301602052604081205480156110e5578354600019808301919081019060009087908390811061105c57fe5b906000526020600020015490508087600001848154811061107957fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806110a957fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610512565b6000915050610512565b505050565b815460009082106111365760405162461bcd60e51b81526004018080602001828103825260228152602001806111bb6022913960400191505060405180910390fd5b82600001828154811061114557fe5b9060005260206000200154905092915050565b600061116483836111a2565b61119a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610512565b506000610512565b6000908152600191909101602052604090205415159056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654a66546f6b656e3a205f64656c4d696e74657220697320746865207a65726f20616464726573734a66546f6b656e3a205f6164644d696e74657220697320746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122095716f90ec2d8acaf17ada24807c10abfcf0fbdec88031375ed56398aa15d22664736f6c634300060c0033