60806040523480156200001157600080fd5b5060006200001e6200011f565b600080546001600160a01b031916738807d23d6cd4a32e3a7148104471407cf780586b1781556040519192506001600160a01b038316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600980825268574f4c465920494e5560b81b6020909201918252620000ad9160049162000210565b5060408051808201909152600580825264574f4c465960d81b6020909201918252620000da918162000210565b5062000119620000e962000123565b620000f362000132565b6200010090600a6200035e565b620001139066038d7ea4c6800062000456565b62000137565b620004cb565b3390565b6000546001600160a01b031690565b601290565b6001600160a01b038216620001695760405162461bcd60e51b81526004016200016090620002b6565b60405180910390fd5b62000177600083836200020b565b80600360008282546200018b9190620002f6565b90915550506001600160a01b03821660009081526001602052604081208054839290620001ba908490620002f6565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001ff908590620002ed565b60405180910390a35050565b505050565b8280546200021e9062000478565b90600052602060002090601f0160209004810192826200024257600085556200028d565b82601f106200025d57805160ff19168380011785556200028d565b828001600101855582156200028d579182015b828111156200028d57825182559160200191906001019062000270565b506200029b9291506200029f565b5090565b5b808211156200029b5760008155600101620002a0565b6020808252601f908201527f42455032303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200030c576200030c620004b5565b500190565b80825b600180861162000325575062000355565b8187048211156200033a576200033a620004b5565b808616156200034857918102915b9490941c93800262000314565b94509492505050565b60006200037260001960ff85168462000379565b9392505050565b6000826200038a5750600162000372565b81620003995750600062000372565b8160018114620003b25760028114620003bd57620003f1565b600191505062000372565b60ff841115620003d157620003d1620004b5565b6001841b915084821115620003ea57620003ea620004b5565b5062000372565b5060208310610133831016604e8410600b841016171562000429575081810a83811115620004235762000423620004b5565b62000372565b62000438848484600162000311565b8086048211156200044d576200044d620004b5565b02949350505050565b6000816000190483118215151615620004735762000473620004b5565b500290565b6002810460018216806200048d57607f821691505b60208210811415620004af57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b610e8480620004db6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146101f3578063ca628c7814610206578063dd62ed3e1461020e578063f2fde38b1461022157610100565b8063715018a6146101bb5780638da5cb5b146101c357806395d89b41146101d8578063a457c2d7146101e057610100565b8063313ce567116100d3578063313ce5671461016b578063379607f514610180578063395093511461019557806370a08231146101a857610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014357806323b872dd14610158575b600080fd5b61010d610234565b60405161011a9190610b06565b60405180910390f35b610136610131366004610a55565b6102c6565b60405161011a9190610afb565b61014b6102e3565b60405161011a9190610db7565b610136610166366004610a1a565b6102e9565b610173610389565b60405161011a9190610dc0565b61019361018e366004610a9e565b61038e565b005b6101366101a3366004610a55565b610401565b61014b6101b63660046109c7565b610450565b61019361046f565b6101cb6104f8565b60405161011a9190610ace565b61010d610507565b6101366101ee366004610a55565b610516565b610136610201366004610a55565b610591565b6101936105a5565b61014b61021c3660046109e8565b6106e5565b61019361022f3660046109c7565b610710565b60606004805461024390610dfd565b80601f016020809104026020016040519081016040528092919081815260200182805461026f90610dfd565b80156102bc5780601f10610291576101008083540402835291602001916102bc565b820191906000526020600020905b81548152906001019060200180831161029f57829003601f168201915b5050505050905090565b60006102da6102d36107d0565b84846107d4565b50600192915050565b60035490565b60006102f6848484610888565b6001600160a01b0384166000908152600260205260408120816103176107d0565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156103635760405162461bcd60e51b815260040161035a90610be3565b60405180910390fd5b61037e8561036f6107d0565b6103798685610de6565b6107d4565b506001949350505050565b601290565b6103966107d0565b6001600160a01b03166103a76104f8565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161035a90610c2b565b6040513390819083156108fc029084906000818181858888f193505050501580156103fc573d6000803e3d6000fd5b505050565b60006102da61040e6107d0565b84846002600061041c6107d0565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546103799190610dce565b6001600160a01b0381166000908152600160205260409020545b919050565b6104776107d0565b6001600160a01b03166104886104f8565b6001600160a01b0316146104ae5760405162461bcd60e51b815260040161035a90610c2b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60606005805461024390610dfd565b600080600260006105256107d0565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156105715760405162461bcd60e51b815260040161035a90610ce9565b61058761057c6107d0565b856103798685610de6565b5060019392505050565b60006102da61059e6107d0565b8484610888565b6105ad6107d0565b6001600160a01b03166105be6104f8565b6001600160a01b0316146105e45760405162461bcd60e51b815260040161035a90610c2b565b6040516370a0823160e01b8152309060009082906370a082319061060c908390600401610ace565b60206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c9190610ab6565b9050816001600160a01b031663a9059cbb6106756104f8565b836040518363ffffffff1660e01b8152600401610693929190610ae2565b602060405180830381600087803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fc9190610a7e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107186107d0565b6001600160a01b03166107296104f8565b6001600160a01b03161461074f5760405162461bcd60e51b815260040161035a90610c2b565b6001600160a01b0381166107755760405162461bcd60e51b815260040161035a90610b9d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166107fa5760405162461bcd60e51b815260040161035a90610b59565b6001600160a01b0382166108205760405162461bcd60e51b815260040161035a90610d2e565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061087b908590610db7565b60405180910390a3505050565b6001600160a01b0383166108ae5760405162461bcd60e51b815260040161035a90610d70565b6001600160a01b0382166108d45760405162461bcd60e51b815260040161035a90610ca6565b6108df8383836103fc565b6001600160a01b038316600090815260016020526040902054818110156109185760405162461bcd60e51b815260040161035a90610c60565b6109228282610de6565b6001600160a01b038086166000908152600160205260408082209390935590851681529081208054849290610958908490610dce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109a29190610db7565b60405180910390a350505050565b80356001600160a01b038116811461046a57600080fd5b6000602082840312156109d8578081fd5b6109e1826109b0565b9392505050565b600080604083850312156109fa578081fd5b610a03836109b0565b9150610a11602084016109b0565b90509250929050565b600080600060608486031215610a2e578081fd5b610a37846109b0565b9250610a45602085016109b0565b9150604084013590509250925092565b60008060408385031215610a67578182fd5b610a70836109b0565b946020939093013593505050565b600060208284031215610a8f578081fd5b815180151581146109e1578182fd5b600060208284031215610aaf578081fd5b5035919050565b600060208284031215610ac7578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b81811015610b3257858101830151858201604001528201610b16565b81811115610b435783604083870101525b50601f01601f1916929092016040019392505050565b60208082526024908201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526028908201527f42455032303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526026908201527f42455032303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526023908201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526025908201527f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b60208082526022908201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526027908201527f424550323032303a207472616e736665722066726f6d20746865207a65726f206040820152666164647265737360c81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610de157610de1610e38565b500190565b600082821015610df857610df8610e38565b500390565b600281046001821680610e1157607f821691505b60208210811415610e3257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207ed211e42d46aa2f237e0a4f675d37d548d2d45035b0eaca87315d85bd8d51c064736f6c63430008000033