0x608060405234801561001057600080fd5b5061003c60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046100d1565b60008051602061082a83398151915214610058576100586100f8565b61006133610066565b61010e565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61009d60008051602061082a8339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a160008051602061082a83398151915255565b818103818111156100f257634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052600160045260246000fd5b61070d8061011d6000396000f3fe6080604052600436106100705760003560e01c80635c60da1b1161004e5780635c60da1b146100f05780638da5cb5b14610121578063cf7a1d7714610136578063f851a4401461012157610070565b806313af4035146100905780633659cfe6146100b05780634f1ef286146100d0575b61008e6100896000805160206106b88339815191525490565b610156565b005b34801561009c57600080fd5b5061008e6100ab36600461052b565b61017a565b3480156100bc57600080fd5b5061008e6100cb36600461052b565b61018e565b3480156100dc57600080fd5b5061008e6100eb366004610596565b61019f565b3480156100fc57600080fd5b50610105610220565b6040516001600160a01b03909116815260200160405180910390f35b34801561012d57600080fd5b5061010561023d565b34801561014257600080fd5b5061008e6101513660046105e9565b610255565b3660008037600080366000845af43d6000803e808015610175573d6000f35b3d6000fd5b610182610353565b61018b816103da565b50565b610196610353565b61018b81610445565b6101a7610353565b6101b083610445565b6000836001600160a01b031683836040516101cc92919061064a565b600060405180830381855af49150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b505090508061021a57600080fd5b50505050565b60006102386000805160206106b88339815191525490565b905090565b60006102386000805160206106988339815191525490565b61025d610353565b60006102756000805160206106b88339815191525490565b6001600160a01b03161461028857600080fd5b6102b360017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61065a565b6000805160206106b8833981519152146102cf576102cf610681565b6102d884610445565b801561034a576000846001600160a01b031683836040516102fa92919061064a565b600060405180830381855af49150503d8060008114610335576040519150601f19603f3d011682016040523d82523d6000602084013e61033a565b606091505b505090508061034857600080fd5b505b61021a836103da565b600080516020610698833981519152546001600160a01b0316336001600160a01b0316146103d85760405162461bcd60e51b815260206004820152602760248201527f41524d3a204f6e6c79206f776e65722063616e2063616c6c20746869732066756044820152663731ba34b7b71760c91b60648201526084015b60405180910390fd5b565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104116000805160206106988339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a160008051602061069883398151915255565b6000816001600160a01b03163b116104c55760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084016103cf565b6000805160206106b88339815191528181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b80356001600160a01b038116811461052657600080fd5b919050565b60006020828403121561053d57600080fd5b6105468261050f565b9392505050565b60008083601f84011261055f57600080fd5b50813567ffffffffffffffff81111561057757600080fd5b60208301915083602082850101111561058f57600080fd5b9250929050565b6000806000604084860312156105ab57600080fd5b6105b48461050f565b9250602084013567ffffffffffffffff8111156105d057600080fd5b6105dc8682870161054d565b9497909650939450505050565b600080600080606085870312156105ff57600080fd5b6106088561050f565b93506106166020860161050f565b9250604085013567ffffffffffffffff81111561063257600080fd5b61063e8782880161054d565b95989497509550505050565b8183823760009101908152919050565b8181038181111561067b57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052600160045260246000fdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b24d254131d5ed6acd03b750136354b093352dcdc9950df1dfa77f4cd596104d64736f6c63430008170033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103