0x6080604052348015600f57600080fd5b5061092b8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063197fb873146100515780637acc0b2014610066578063d6c85ec814610097578063e03d7be1146100aa575b600080fd5b61006461005f3660046105b6565b6100bd565b005b610079610074366004610689565b610260565b60405161008e999897969594939291906106a2565b60405180910390f35b6100646100a536600461074e565b610350565b6100646100b836600461077a565b61046a565b600083815260208190526040902060050154600160a01b900460ff161561012b5760405162461bcd60e51b815260206004820152601860248201527f50726f6475637420616c72656164792070726f6475636564000000000000000060448201526064015b60405180910390fd5b604080516101208101825284815260208082018581526001600160a01b038516838501526000606084018190526080840181905260a08401819052600160c0850181905260e0850182905261010085018290528882529281905293909320825181559251919291908201906101a09082610836565b5060408201516002820180546001600160a01b039283166001600160a01b031991821617909155606084015160038401805491841691831691909117905560808401516004840180549184169190921617905560a08301516005909201805460c085015160e0860151610100909601511515600160b01b0260ff60b01b19961515600160a81b029690961661ffff60a81b19911515600160a01b026001600160a81b03199093169590941694909417179290921617919091179055505050565b60006020819052908152604090208054600182018054919291610282906107ad565b80601f01602080910402602001604051908101604052809291908181526020018280546102ae906107ad565b80156102fb5780601f106102d0576101008083540402835291602001916102fb565b820191906000526020600020905b8154815290600101906020018083116102de57829003601f168201915b50505060028401546003850154600486015460059096015494956001600160a01b03928316959183169450821692509081169060ff600160a01b8204811691600160a81b8104821691600160b01b9091041689565b600082815260208190526040902060050154600160a01b900460ff166103b85760405162461bcd60e51b815260206004820152601860248201527f50726f64756374206e6f742070726f64756365642079657400000000000000006044820152606401610122565b600082815260208190526040902060050154600160a81b900460ff16156104215760405162461bcd60e51b815260206004820152601b60248201527f50726f6475637420616c726561647920646973747269627574656400000000006044820152606401610122565b6000918252602082905260409091206003810180546001600160a01b039093166001600160a01b031990931692909217909155600501805460ff60a81b1916600160a81b179055565b600083815260208190526040902060050154600160a81b900460ff166104d25760405162461bcd60e51b815260206004820152601b60248201527f50726f64756374206e6f742064697374726962757465642079657400000000006044820152606401610122565b600083815260208190526040902060050154600160b01b900460ff16156105325760405162461bcd60e51b8152602060048201526014602482015273141c9bd91d58dd08185b1c9958591e481cdbdb1960621b6044820152606401610122565b6000928352602083905260409092206004810180546001600160a01b039384166001600160a01b03199091161790556005018054600162ff000160a01b0319169290911691909117600160b01b179055565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b03811681146105b157600080fd5b919050565b6000806000606084860312156105cb57600080fd5b83359250602084013567ffffffffffffffff8111156105e957600080fd5b8401601f810186136105fa57600080fd5b803567ffffffffffffffff81111561061457610614610584565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561064357610643610584565b60405281815282820160200188101561065b57600080fd5b816020840160208301376000602083830101528094505050506106806040850161059a565b90509250925092565b60006020828403121561069b57600080fd5b5035919050565b8981526101206020820152600089518061012084015260005b818110156106d9576020818d018101516101408684010152016106bb565b5060006101408285010152610140601f19601f83011684010191505061070a604083018a6001600160a01b03169052565b6001600160a01b03978816606083015295871660808201529390951660a084015290151560c0830152151560e0820152911515610100909201919091529392505050565b6000806040838503121561076157600080fd5b823591506107716020840161059a565b90509250929050565b60008060006060848603121561078f57600080fd5b8335925061079f6020850161059a565b91506106806040850161059a565b600181811c908216806107c157607f821691505b6020821081036107e157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561083157806000526020600020601f840160051c8101602085101561080e5750805b601f840160051c820191505b8181101561082e576000815560010161081a565b50505b505050565b815167ffffffffffffffff81111561085057610850610584565b6108648161085e84546107ad565b846107e7565b6020601f82116001811461089857600083156108805750848201515b600019600385901b1c1916600184901b17845561082e565b600084815260208120601f198516915b828110156108c857878501518255602094850194600190920191016108a8565b50848210156108e65786840151600019600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220443f3c60118398fe106bb82ec00b5a1cb5102ccf5a8954ae3108b7dd9e706e9864736f6c634300081a0033