0x608060405234801561001057600080fd5b5061001a33610023565b60018055610073565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c65806100826000396000f3fe6080604052600436106100955760003560e01c80638da5cb5b116100595780638da5cb5b14610191578063b48028e3146101b9578063b6a5d7de146101d9578063b9181611146101f9578063f2fde38b1461022957600080fd5b806342cd6648146100dd5780635c975abb1461011d5780635f0f48bd14610147578063715018a6146101675780638456cb591461017c57600080fd5b366100d85734156100d65760405134815233907f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258749060200160405180910390a25b005b600080fd5b3480156100e957600080fd5b5061010a6100f8366004610adc565b60046020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561012957600080fd5b506002546101379060ff1681565b6040519015158152602001610114565b34801561015357600080fd5b506100d6610162366004610b11565b610249565b34801561017357600080fd5b506100d6610624565b34801561018857600080fd5b506100d6610638565b34801561019d57600080fd5b506000546040516001600160a01b039091168152602001610114565b3480156101c557600080fd5b506100d66101d4366004610b57565b610654565b3480156101e557600080fd5b506100d66101f4366004610b57565b61067d565b34801561020557600080fd5b50610137610214366004610b57565b60036020526000908152604090205460ff1681565b34801561023557600080fd5b506100d6610244366004610b57565b6106a9565b60025460ff16156102945760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b61029c610722565b3360009081526003602052604090205460ff166103105760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617574686f72697a65642075736572732063616e2063616c6c207460448201526b3434b990333ab731ba34b7b760a11b606482015260840161028b565b600082116103515760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b604482015260640161028b565b6001600160a01b0381163b156103945760405162461bcd60e51b81526020600482015260086024820152674f6e6c7920454f4160c01b604482015260640161028b565b600084815260046020526040902054156103e15760405162461bcd60e51b815260206004820152600e60248201526d416c72656164792065786973747360901b604482015260640161028b565b6001600160a01b0383166104ef57814710156104365760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161028b565b604080516000808252602082019092526001600160a01b0383169084906040516104609190610ba5565b60006040518083038185875af1925050503d806000811461049d576040519150601f19603f3d011682016040523d82523d6000602084013e6104a2565b606091505b50509050806104e95760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161028b565b506105b2565b6040516370a0823160e01b815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa158015610535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105599190610bc1565b101561059e5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161028b565b6105b26001600160a01b038416828461077c565b60008481526004602090815260409182902084905581516001600160a01b0386811682529181018590523381840152908316606082015290517fc6a296ccab426a7e641769688e8244cddcdb02dfe81ef03fe7e79e1db7d3fcf79181900360800190a161061e60018055565b50505050565b61062c6107d3565b610636600061082d565b565b6106406107d3565b6002805460ff19811660ff90911615179055565b61065c6107d3565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6106856107d3565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6106b16107d3565b6001600160a01b0381166107165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028b565b61071f8161082d565b50565b600260015414156107755760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161028b565b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107ce90849061087d565b505050565b6000546001600160a01b031633146106365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006108d2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661094f9092919063ffffffff16565b8051909150156107ce57808060200190518101906108f09190610bda565b6107ce5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161028b565b606061095e8484600085610966565b949350505050565b6060824710156109c75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161028b565b600080866001600160a01b031685876040516109e39190610ba5565b60006040518083038185875af1925050503d8060008114610a20576040519150601f19603f3d011682016040523d82523d6000602084013e610a25565b606091505b5091509150610a3687838387610a41565b979650505050505050565b60608315610aad578251610aa6576001600160a01b0385163b610aa65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161028b565b508161095e565b61095e8383815115610ac25781518083602001fd5b8060405162461bcd60e51b815260040161028b9190610bfc565b600060208284031215610aee57600080fd5b5035919050565b80356001600160a01b0381168114610b0c57600080fd5b919050565b60008060008060808587031215610b2757600080fd5b84359350610b3760208601610af5565b925060408501359150610b4c60608601610af5565b905092959194509250565b600060208284031215610b6957600080fd5b610b7282610af5565b9392505050565b60005b83811015610b94578181015183820152602001610b7c565b8381111561061e5750506000910152565b60008251610bb7818460208701610b79565b9190910192915050565b600060208284031215610bd357600080fd5b5051919050565b600060208284031215610bec57600080fd5b81518015158114610b7257600080fd5b6020815260008251806020840152610c1b816040850160208701610b79565b601f01601f1916919091016040019291505056fea2646970667358221220616f8235fcb45a1d4f8e25c5cd767dcfe3e52476a4a9ce81f67e05dd77a58a1864736f6c634300080c0033