60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000616009600a620001f2565b620000729064efd0c8bc006200020a565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b56009600a620001f2565b620000c69064efd0c8bc006200020a565b60405190815260200160405180910390a362000224565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000134578160001904821115620001185762000118620000dd565b808516156200012657918102915b93841c9390800290620000f8565b509250929050565b6000826200014d57506001620001ec565b816200015c57506000620001ec565b81600181146200017557600281146200018057620001a0565b6001915050620001ec565b60ff841115620001945762000194620000dd565b50506001821b620001ec565b5060208310610133831016604e8410600b8410161715620001c5575081810a620001ec565b620001d18383620000f3565b8060001904821115620001e857620001e8620000dd565b0290505b92915050565b60006200020360ff8416836200013c565b9392505050565b8082028115828204841417620001ec57620001ec620000dd565b6109b280620002346000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461013e578063715018a6146101675780638da5cb5b1461017157806395d89b411461018c578063a9059cbb146101af578063dd62ed3e146101c257600080fd5b806306fdde03146100ae578063095ea7b3146100e357806318160ddd1461010657806323b872dd1461011c578063313ce5671461012f575b600080fd5b604080518082019091526007815266546f77656c696560c81b60208201525b6040516100da91906106f0565b60405180910390f35b6100f66100f136600461075a565b6101fb565b60405190151581526020016100da565b61010e610212565b6040519081526020016100da565b6100f661012a366004610784565b610234565b604051600981526020016100da565b61010e61014c3660046107c0565b6001600160a01b031660009081526001602052604090205490565b61016f61029d565b005b6000546040516001600160a01b0390911681526020016100da565b604080518082019091526007815266544f57454c494560c81b60208201526100cd565b6100f66101bd36600461075a565b610346565b61010e6101d03660046107db565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610208338484610353565b5060015b92915050565b60006102206009600a610908565b61022f9064efd0c8bc00610917565b905090565b6000610241848484610477565b610293843361028e85604051806060016040528060288152602001610955602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610650565b610353565b5060019392505050565b6000546001600160a01b031633146102fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610208338484610477565b6001600160a01b0383166103b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102f3565b6001600160a01b0382166104165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102f3565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166104db5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102f3565b6001600160a01b03821661053d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102f3565b6001600160a01b038316600090815260016020526040902054818110156105b55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102f3565b6105bf828261092e565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546105ee908361068a565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106429086815260200190565b60405180910390a350505050565b600081848411156106745760405162461bcd60e51b81526004016102f391906106f0565b506000610681848661092e565b95945050505050565b6000806106978385610941565b9050838110156106e95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102f3565b9392505050565b600060208083528351808285015260005b8181101561071d57858101830151858201604001528201610701565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461075557600080fd5b919050565b6000806040838503121561076d57600080fd5b6107768361073e565b946020939093013593505050565b60008060006060848603121561079957600080fd5b6107a28461073e565b92506107b06020850161073e565b9150604084013590509250925092565b6000602082840312156107d257600080fd5b6106e98261073e565b600080604083850312156107ee57600080fd5b6107f78361073e565b91506108056020840161073e565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561085f5781600019048211156108455761084561080e565b8085161561085257918102915b93841c9390800290610829565b509250929050565b6000826108765750600161020c565b816108835750600061020c565b816001811461089957600281146108a3576108bf565b600191505061020c565b60ff8411156108b4576108b461080e565b50506001821b61020c565b5060208310610133831016604e8410600b84101617156108e2575081810a61020c565b6108ec8383610824565b80600019048211156109005761090061080e565b029392505050565b60006106e960ff841683610867565b808202811582820484141761020c5761020c61080e565b8181038181111561020c5761020c61080e565b8082018082111561020c5761020c61080e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220325884ccbf500b6d2fd5cd1a8b0727253ec9cd7b9203401903b0db83f482aec764736f6c63430008110033