0x6080604052600436106100865760003560e01c80634246a577116100595780634246a5771461029a57806398d5fdca146102af5780639d76ea58146102c4578063c3428d85146102f5578063c9116b691461030a57610086565b806302e1c9901461023f5780630766a13b146102665780631b7d88fe1461027b5780633ce03cf314610290575b426003541080156100985750600a5442105b6100d8576040805162461bcd60e51b815260206004820152600c60248201526b2832b934b7b21032b93937b960a11b604482015290519081900360640190fd5b60006100e261031f565b34816100ea57fe5b600b54604080516370a0823160e01b8152306004820152905193909204600a0293506001600160a01b0316916370a0823191602480820192602092909190829003018186803b15801561013c57600080fd5b505afa158015610150573d6000803e3d6000fd5b505050506040513d602081101561016657600080fd5b50518111156101bc576040805162461bcd60e51b815260206004820152601e60248201527f496e66756369656e7420746f6b656e2062616c616e636520696e2049434f0000604482015290519081900360640190fd5b600b546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561021057600080fd5b505af1158015610224573d6000803e3d6000fd5b505050506040513d602081101561023a57600080fd5b505050005b34801561024b57600080fd5b5061025461033b565b60408051918252519081900360200190f35b34801561027257600080fd5b50610254610344565b34801561028757600080fd5b5061025461034d565b610298610356565b005b3480156102a657600080fd5b506102546103e5565b3480156102bb57600080fd5b5061025461031f565b3480156102d057600080fd5b506102d9610461565b604080516001600160a01b039092168252519081900360200190f35b34801561030157600080fd5b50610298610470565b34801561031657600080fd5b5061025461060d565b6000600954421061033257600854610336565b6007545b905090565b600a5442900390565b60095442900390565b60035442900390565b6000546001600160a01b031633146103a8576040805162461bcd60e51b815260206004820152601060248201526f2cb7ba9034b9903737ba1037bbb732b960811b604482015290519081900360640190fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103e2573d6000803e3d6000fd5b50565b600b54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561043057600080fd5b505afa158015610444573d6000803e3d6000fd5b505050506040513d602081101561045a57600080fd5b5051905090565b600b546001600160a01b031690565b6000546001600160a01b031633146104c2576040805162461bcd60e51b815260206004820152601060248201526f2cb7ba9034b9903737ba1037bbb732b960811b604482015290519081900360640190fd5b600a54421161050c576040805162461bcd60e51b81526020600482015260116024820152701250d3c81a5cc81b9bdd0818db1bdcd959607a1b604482015290519081900360640190fd5b600b54600054604080516370a0823160e01b815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b15801561056457600080fd5b505afa158015610578573d6000803e3d6000fd5b505050506040513d602081101561058e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105df57600080fd5b505af11580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b5050565b600b54604080516370a0823160e01b815233600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561043057600080fdfea265627a7a723158209de8ed13d67f8d587b6bab066f2b2d51f52464f9c96c7b7b4e05486b0761730264736f6c63430005110032
0x60806040819052600180546001600160a01b03191630179055670de0b6b3a7640000600255635f5a4d8060035562015180600481815560059182556023600655600755600855635f5b9f00600955635f5cf080600a5561005e906101cb565b604051809103906000f08015801561007a573d6000803e3d6000fd5b50600b80546001600160a01b0319166001600160a01b03929092169190911790553480156100a757600080fd5b50600080546001600160a01b031916331790819055600b54600654604080516318160ddd60e01b815290516001600160a01b039384169463a9059cbb941692606490810392909186916318160ddd916004808301926020929190829003018186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d602081101561013f57600080fd5b50518161014857fe5b04026040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561019957600080fd5b505af11580156101ad573d6000803e3d6000fd5b505050506040513d60208110156101c357600080fd5b506101d89050565b610d4b8061087483390190565b61068d806101e76000396000f3fe6080604052600436106100865760003560e01c80634246a577116100595780634246a5771461029a57806398d5fdca146102af5780639d76ea58146102c4578063c3428d85146102f5578063c9116b691461030a57610086565b806302e1c9901461023f5780630766a13b146102665780631b7d88fe1461027b5780633ce03cf314610290575b426003541080156100985750600a5442105b6100d8576040805162461bcd60e51b815260206004820152600c60248201526b2832b934b7b21032b93937b960a11b604482015290519081900360640190fd5b60006100e261031f565b34816100ea57fe5b600b54604080516370a0823160e01b8152306004820152905193909204600a0293506001600160a01b0316916370a0823191602480820192602092909190829003018186803b15801561013c57600080fd5b505afa158015610150573d6000803e3d6000fd5b505050506040513d602081101561016657600080fd5b50518111156101bc576040805162461bcd60e51b815260206004820152601e60248201527f496e66756369656e7420746f6b656e2062616c616e636520696e2049434f0000604482015290519081900360640190fd5b600b546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561021057600080fd5b505af1158015610224573d6000803e3d6000fd5b505050506040513d602081101561023a57600080fd5b505050005b34801561024b57600080fd5b5061025461033b565b60408051918252519081900360200190f35b34801561027257600080fd5b50610254610344565b34801561028757600080fd5b5061025461034d565b610298610356565b005b3480156102a657600080fd5b506102546103e5565b3480156102bb57600080fd5b5061025461031f565b3480156102d057600080fd5b506102d9610461565b604080516001600160a01b039092168252519081900360200190f35b34801561030157600080fd5b50610298610470565b34801561031657600080fd5b5061025461060d565b6000600954421061033257600854610336565b6007545b905090565b600a5442900390565b60095442900390565b60035442900390565b6000546001600160a01b031633146103a8576040805162461bcd60e51b815260206004820152601060248201526f2cb7ba9034b9903737ba1037bbb732b960811b604482015290519081900360640190fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103e2573d6000803e3d6000fd5b50565b600b54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561043057600080fd5b505afa158015610444573d6000803e3d6000fd5b505050506040513d602081101561045a57600080fd5b5051905090565b600b546001600160a01b031690565b6000546001600160a01b031633146104c2576040805162461bcd60e51b815260206004820152601060248201526f2cb7ba9034b9903737ba1037bbb732b960811b604482015290519081900360640190fd5b600a54421161050c576040805162461bcd60e51b81526020600482015260116024820152701250d3c81a5cc81b9bdd0818db1bdcd959607a1b604482015290519081900360640190fd5b600b54600054604080516370a0823160e01b815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b15801561056457600080fd5b505afa158015610578573d6000803e3d6000fd5b505050506040513d602081101561058e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156105df57600080fd5b505af11580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b5050565b600b54604080516370a0823160e01b815233600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561043057600080fdfea265627a7a723158209de8ed13d67f8d587b6bab066f2b2d51f52464f9c96c7b7b4e05486b0761730264736f6c63430005110032608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361006c33683635c9adc5dea000006001600160e01b0361007116565b6101d0565b6001600160a01b0382166100cc576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6100e58160035461016f60201b61090f1790919060201c565b6003556001600160a01b03821660009081526001602090815260409091205461011791839061090f61016f821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828201838110156101c9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610b6c806101df6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d71461029f578063a9059cbb146102cb578063dd62ed3e146102f7578063f2fde38b14610325576100f5565b8063715018a6146102615780638da5cb5b1461026b5780638f32d59b1461028f57806395d89b4114610297576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461020f57806370a082311461023b576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b61010261034b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b038135169060200135610372565b604080519115158252519081900360200190f35b6101bf610388565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b0381358116916020810135909116906040013561038e565b6101bf6103fd565b6101a36004803603604081101561022557600080fd5b506001600160a01b038135169060200135610402565b6101bf6004803603602081101561025157600080fd5b50356001600160a01b031661043e565b610269610459565b005b6102736104fc565b604080516001600160a01b039092168252519081900360200190f35b6101a361050b565b61010261051c565b6101a3600480360360408110156102b557600080fd5b506001600160a01b03813516906020013561053c565b6101a3600480360360408110156102e157600080fd5b506001600160a01b038135169060200135610591565b6101bf6004803603604081101561030d57600080fd5b506001600160a01b038135811691602001351661059e565b6102696004803603602081101561033b57600080fd5b50356001600160a01b03166105c9565b6040518060400160405280600b81526020016a0eadcd2c4dee85cc6c2e6d60ab1b81525081565b600061037f33848461062e565b50600192915050565b60035490565b600061039b84848461071a565b6103f384336103ee85604051806060016040528060288152602001610aa2602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919063ffffffff61087816565b61062e565b5060019392505050565b601281565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161037f9185906103ee908663ffffffff61090f16565b6001600160a01b031660009081526001602052604090205490565b61046161050b565b6104b2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b604051806040016040528060048152602001632aa7222160e11b81525081565b600061037f33846103ee85604051806060016040528060258152602001610b13602591393360009081526002602090815260408083206001600160a01b038d168452909152902054919063ffffffff61087816565b600061037f33848461071a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6105d161050b565b610622576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61062b81610970565b50565b6001600160a01b0383166106735760405162461bcd60e51b8152600401808060200182810382526024815260200180610aef6024913960400191505060405180910390fd5b6001600160a01b0382166106b85760405162461bcd60e51b8152600401808060200182810382526022815260200180610a5a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661075f5760405162461bcd60e51b8152600401808060200182810382526025815260200180610aca6025913960400191505060405180910390fd5b6001600160a01b0382166107a45760405162461bcd60e51b8152600401808060200182810382526023815260200180610a116023913960400191505060405180910390fd5b6107e781604051806060016040528060268152602001610a7c602691396001600160a01b038616600090815260016020526040902054919063ffffffff61087816565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461081c908263ffffffff61090f16565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109075760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108cc5781810151838201526020016108b4565b50505050905090810190601f1680156108f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610969576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0381166109b55760405162461bcd60e51b8152600401808060200182810382526026815260200180610a346026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209fbc242c9d188b1e3cb562e4da3b0436744c413737ea0ca75b62a335ca8647c664736f6c63430005110032