0x6080604052600a600555600a600655603260075534801561001f57600080fd5b5060405161135138038061135183398101604081905261003e916100dd565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b039485166001600160a01b031991821617909155600380549385169382169390931790925560048054919093169116179055610120565b80516001600160a01b03811681146100d857600080fd5b919050565b6000806000606084860312156100f257600080fd5b6100fb846100c1565b9250610109602085016100c1565b9150610117604085016100c1565b90509250925092565b6112228061012f6000396000f3fe6080604052600436106101095760003560e01c806398968f1511610095578063ca50894211610064578063ca508942146102ee578063d07e21751461030e578063e74d17b51461032e578063f2fde38b1461034e578063fa67468b1461036e57600080fd5b806398968f1514610250578063b99d592114610263578063c5e8aece146102ae578063c6c71162146102ce57600080fd5b806353e5a118116100dc57806353e5a118146101a257806369b5b29c146101dd578063715018a6146101fd5780637ff5d46f146102125780638da5cb5b1461023257600080fd5b806301ea4f5c1461010e57806306863dc1146101305780633ccfd60b146101505780634e7902e014610165575b600080fd5b34801561011a57600080fd5b5061012e610129366004610f0f565b61039e565b005b34801561013c57600080fd5b5061012e61014b366004610f31565b6103f3565b34801561015c57600080fd5b5061012e61043d565b34801561017157600080fd5b50600254610185906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ae57600080fd5b506101cf6101bd366004610f66565b60086020526000908152604090205481565b604051908152602001610199565b3480156101e957600080fd5b5061012e6101f8366004610f7f565b610702565b34801561020957600080fd5b5061012e610969565b34801561021e57600080fd5b5061012e61022d366004610f0f565b6109dd565b34801561023e57600080fd5b506000546001600160a01b0316610185565b61012e61025e366004610fa1565b610a29565b34801561026f57600080fd5b5061029e61027e366004610fd4565b600960209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610199565b3480156102ba57600080fd5b5061012e6102c9366004611016565b610c95565b3480156102da57600080fd5b5061012e6102e9366004610f0f565b610d35565b3480156102fa57600080fd5b50600454610185906001600160a01b031681565b34801561031a57600080fd5b50600354610185906001600160a01b031681565b34801561033a57600080fd5b50600154610185906001600160a01b031681565b34801561035a57600080fd5b5061012e610369366004610f0f565b610d81565b34801561037a57600080fd5b5061029e610389366004610f66565b600a6020526000908152604090205460ff1681565b6000546001600160a01b031633146103d15760405162461bcd60e51b81526004016103c8906110e7565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461041d5760405162461bcd60e51b81526004016103c8906110e7565b6000918252600a6020526040909120805460ff1916911515919091179055565b6000546001600160a01b031633146104675760405162461bcd60e51b81526004016103c8906110e7565b6003546001600160a01b03166104cb5760405162461bcd60e51b8152602060048201526024808201527f5375737461696e6162696c6974792046756e642041646472657373206e6f742060448201526339b2ba1760e11b60648201526084016103c8565b6004546001600160a01b031661052e5760405162461bcd60e51b815260206004820152602260248201527f436f6c6c6563746976652057616c6c65742041646472657373206e6f742073656044820152613a1760f11b60648201526084016103c8565b478061057c5760405162461bcd60e51b815260206004820152601b60248201527f54686572652773206e6f7468696e6720746f207769746864726177000000000060448201526064016103c8565b600254600180546001600160a01b0319166001600160a01b039092169190911790556006546000906105ae9083611132565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166321c0da796040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063a9190611154565b6106449084611132565b6003546040519192506001600160a01b03169083156108fc029084906000818181858888f1935050505015801561067f573d6000803e3d6000fd5b506004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106ba573d6000803e3d6000fd5b50336108fc826106ca858761116d565b6106d4919061116d565b6040518115909202916000818181858888f193505050501580156106fc573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331461072c5760405162461bcd60e51b81526004016103c8906110e7565b600081116107875760405162461bcd60e51b815260206004820152602260248201527f5175616e74697479206d7573742062652067726561746572207468616e207a65604482015261726f60f01b60648201526084016103c8565b6007548111156107cf5760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e08185b1b1bddd959606a1b60448201526064016103c8565b600254600180546001600160a01b0319166001600160a01b0390921691909117905560005b81811015610964576007546000848152600860205260409020541061085b5760405162461bcd60e51b815260206004820152601e60248201527f5465616d2068617320686974206d617820616c6c6f776564206d696e7473000060448201526064016103c8565b600154604051630d4d151360e01b815233600482018190526024820186905260448201526000916001600160a01b031690630d4d151390606401602060405180830381600087803b1580156108af57600080fd5b505af11580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190611154565b9050600081116109285760405162461bcd60e51b815260206004820152600c60248201526b26b4b73a103330b4b632b21760a11b60448201526064016103c8565b600084815260086020526040902054610942906001611184565b600085815260086020526040902055508061095c8161119c565b9150506107f4565b505050565b6000546001600160a01b031633146109935760405162461bcd60e51b81526004016103c8906110e7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a075760405162461bcd60e51b81526004016103c8906110e7565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600a602052604090205460ff16151560011415610ab357600082815260096020908152604080832033845290915290205460ff161515600114610ab35760405162461bcd60e51b815260206004820152601960248201527f41646472657373206e6f74207261696e626f776c69737465640000000000000060448201526064016103c8565b600254600180546001600160a01b0319166001600160a01b039092169182179055604051633a17fbbd60e11b8152600481018490526000919063742ff77a90602401602060405180830381600087803b158015610b0f57600080fd5b505af1158015610b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b479190611154565b905034610b548284610e6b565b1115610ba25760405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f72726563740060448201526064016103c8565b60005b82811015610c8e57600154604051630d4d151360e01b81526001600160a01b038781166004830152602482018790523360448301526000921690630d4d151390606401602060405180830381600087803b158015610c0257600080fd5b505af1158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611154565b905060008111610c7b5760405162461bcd60e51b815260206004820152600c60248201526b26b4b73a103330b4b632b21760a11b60448201526064016103c8565b5080610c868161119c565b915050610ba5565b5050505050565b6000546001600160a01b03163314610cbf5760405162461bcd60e51b81526004016103c8906110e7565b60005b8151811015610964576000838152600960205260408120835160019290859085908110610cf157610cf16111b7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610d2d8161119c565b915050610cc2565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016103c8906110e7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610dab5760405162461bcd60e51b81526004016103c8906110e7565b6001600160a01b038116610e105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082610e7a57506000610eed565b6000610e8683856111cd565b905082610e938583611132565b14610eea5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103c8565b90505b92915050565b80356001600160a01b0381168114610f0a57600080fd5b919050565b600060208284031215610f2157600080fd5b610f2a82610ef3565b9392505050565b60008060408385031215610f4457600080fd5b8235915060208301358015158114610f5b57600080fd5b809150509250929050565b600060208284031215610f7857600080fd5b5035919050565b60008060408385031215610f9257600080fd5b50508035926020909101359150565b600080600060608486031215610fb657600080fd5b610fbf84610ef3565b95602085013595506040909401359392505050565b60008060408385031215610fe757600080fd5b82359150610ff760208401610ef3565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561102957600080fd5b8235915060208084013567ffffffffffffffff8082111561104957600080fd5b818601915086601f83011261105d57600080fd5b81358181111561106f5761106f611000565b8060051b604051601f19603f8301168101818110858211171561109457611094611000565b6040529182528482019250838101850191898311156110b257600080fd5b938501935b828510156110d7576110c885610ef3565b845293850193928501926110b7565b8096505050505050509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261114f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561116657600080fd5b5051919050565b60008282101561117f5761117f61111c565b500390565b600082198211156111975761119761111c565b500190565b60006000198214156111b0576111b061111c565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60008160001904831182151516156111e7576111e761111c565b50029056fea264697066735822122046fd38308b7c913de6c1fbde06717366be5c487443810c9febbf06308b30645f64736f6c634300080900330000000000000000000000008ec319e40e0a91a11cf584053eb5e420c613f01d00000000000000000000000054152cea794c69ffeb78502256ae31e7dd13113c000000000000000000000000bb097ec7602e3384ac96a7c026576872261f5837