6080604052600080546001600160a01b031916331790556a52b7d2dcc80cd2e400000060035534801561003157600080fd5b50604051610ab2380380610ab28339818101604052602081101561005457600080fd5b50516003546001600160a01b038216600090815260016020526040902055610084816001600160e01b0361008a16565b5061019f565b6000546001600160a01b031633146100e9576040805162461bcd60e51b815260206004820152601360248201527f53656e646572206973206e6f74206f776e657200000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038116610144576040805162461bcd60e51b815260206004820152601a60248201527f6e6577206f776e6572206164647265737320697320656d707479000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610904806101ae6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461020a57806395d89b411461022e5780639dc29fac14610236578063a6f9dae114610264578063a9059cbb1461028a578063dd62ed3e146102b6576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806370a08231146101e4575b600080fd5b6100c16102e4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b03813516906020013561030d565b604080519115158252519081900360200190f35b61017e610373565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b03813581169160208101359091169060400135610379565b6101ce6104d9565b6040805160ff9092168252519081900360200190f35b61017e600480360360208110156101fa57600080fd5b50356001600160a01b03166104de565b6102126104f9565b604080516001600160a01b039092168252519081900360200190f35b6100c1610508565b6102626004803603604081101561024c57600080fd5b506001600160a01b038135169060200135610527565b005b6102626004803603602081101561027a57600080fd5b50356001600160a01b0316610683565b610162600480360360408110156102a057600080fd5b506001600160a01b03813516906020013561078e565b61017e600480360360408110156102cc57600080fd5b506001600160a01b038135811691602001351661085a565b6040518060400160405280600d81526020016c151bdd185b12db9bd8dad3dd5d609a1b81525081565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b6001600160a01b03831660009081526001602052604081205482111561039e57600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156103ce57600080fd5b6001600160a01b0384166000908152600160205260409020546103f7908363ffffffff61088516565b6001600160a01b0385166000908152600160209081526040808320939093556002815282822033835290522054610434908363ffffffff61088516565b6001600160a01b038086166000908152600260209081526040808320338452825280832094909455918616815260019091522054610478908363ffffffff61089716565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b601281565b6001600160a01b031660009081526001602052604090205490565b6000546001600160a01b031681565b60405180604001604052806003815260200162544b4f60e81b81525081565b6000546001600160a01b0316331461057c576040805162461bcd60e51b815260206004820152601360248201527229b2b73232b91034b9903737ba1037bbb732b960691b604482015290519081900360640190fd5b6001600160a01b0382166105c15760405162461bcd60e51b81526004018080602001828103825260218152602001806108ae6021913960400191505060405180910390fd5b6001600160a01b0382166000908152600160205260409020548111156105e657600080fd5b6001600160a01b03821660009081526001602052604090205461060f908263ffffffff61088516565b6001600160a01b03831660009081526001602052604090205560035461063b908263ffffffff61088516565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000546001600160a01b031633146106d8576040805162461bcd60e51b815260206004820152601360248201527229b2b73232b91034b9903737ba1037bbb732b960691b604482015290519081900360640190fd5b6001600160a01b038116610733576040805162461bcd60e51b815260206004820152601a60248201527f6e6577206f776e6572206164647265737320697320656d707479000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600160205260408120548211156107aa57600080fd5b336000908152600160205260409020546107ca908363ffffffff61088516565b33600090815260016020526040808220929092556001600160a01b038516815220546107fc908363ffffffff61089716565b6001600160a01b0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561089157fe5b50900390565b6000828201838110156108a657fe5b939250505056fe45524332303a206275726e2066726f6d20746865207a65726f2061646472657373a26469706673582212203f9572c3be2d4d178ee7b186380ce89c3de92f3add78345b0b6984fce7f8dbaf64736f6c634300060a003300000000000000000000000008f3ec531a6817960d5a641bd215459d4ecddc06