0x60c060405234801561001057600080fd5b50604051610f18380380610f1883398101604081905261002f916100b0565b6001600160a01b038216608052600081905561004a33610054565b505060a0526100f6565b600280546001600160a01b038381166201000081810262010000600160b01b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000606084860312156100c557600080fd5b835160208501519093506001600160a01b03811681146100e457600080fd5b80925050604084015190509250925092565b60805160a051610de86101306000396000818161010c01526101f60152600081816101d2015281816103c701526106d10152610de86000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80638129fc1c116100815780638da5cb5b1161005b5780638da5cb5b1461018f578063f2fde38b146101ba578063fc0c546a146101cd57600080fd5b80638129fc1c146101415780638284511b146101495780638cc080251461015c57600080fd5b8063715018a6116100b2578063715018a6146100ff57806378e97925146101075780637cb647591461012e57600080fd5b80632eb4a7ab146100ce5780633d13f874146100ea575b600080fd5b6100d760005481565b6040519081526020015b60405180910390f35b6100fd6100f8366004610bd6565b6101f4565b005b6100fd61027b565b6100d77f000000000000000000000000000000000000000000000000000000000000000081565b6100fd61013c366004610c60565b61028f565b6100fd61029c565b6100fd610157366004610c79565b6103bd565b61017f61016a366004610cac565b60016020526000908152604090205460ff1681565b60405190151581526020016100e1565b6002546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016100e1565b6100fd6101c8366004610cac565b6104e2565b6101a27f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000004210156102695760405162461bcd60e51b815260206004820152600b60248201527f4e4f545f5354415254454400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6102758484848461056f565b50505050565b610283610741565b61028d60006107a2565b565b610297610741565b600055565b600254610100900460ff16158080156102bc5750600254600160ff909116105b806102d65750303b1580156102d6575060025460ff166001145b6103485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610260565b6002805460ff19166001179055801561036b576002805461ff0019166101001790555b610374336107a2565b80156103ba576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6103c5610741565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036104465760405162461bcd60e51b815260206004820152600d60248201527f494e56414c49445f544f4b454e000000000000000000000000000000000000006044820152606401610260565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526104de9082906001600160a01b038516906370a0823190602401602060405180830381865afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd9190610cc7565b6001600160a01b0385169190610814565b5050565b6104ea610741565b6001600160a01b0381166105665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610260565b6103ba816107a2565b6001600160a01b03841660009081526001602052604090205460ff16156105d85760405162461bcd60e51b815260206004820152600f60248201527f414c52454144595f434c41494d454400000000000000000000000000000000006044820152606401610260565b6040516bffffffffffffffffffffffff19606086901b1660208201526034810184905260009060540160405160208183030381529060405280519060200120905061065883838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052505492508591506108999050565b6106a45760405162461bcd60e51b815260206004820152600d60248201527f494e56414c49445f50524f4f46000000000000000000000000000000000000006044820152606401610260565b6001600160a01b038086166000908152600160208190526040909120805460ff191690911790556106f8907f0000000000000000000000000000000000000000000000000000000000000000168686610814565b604080516001600160a01b0387168152602081018690527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a910160405180910390a15050505050565b6002546001600160a01b036201000090910416331461028d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610260565b600280546001600160a01b03838116620100008181027fffffffffffffffffffff0000000000000000000000000000000000000000ffff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526108949084906108af565b505050565b6000826108a68584610994565b14949350505050565b6000610904826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109e19092919063ffffffff16565b80519091501561089457808060200190518101906109229190610ce0565b6108945760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610260565b600081815b84518110156109d9576109c5828683815181106109b8576109b8610d02565b60200260200101516109f8565b9150806109d181610d18565b915050610999565b509392505050565b60606109f08484600085610a2a565b949350505050565b6000818310610a14576000828152602084905260409020610a23565b60008381526020839052604090205b9392505050565b606082471015610aa25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610260565b600080866001600160a01b03168587604051610abe9190610d63565b60006040518083038185875af1925050503d8060008114610afb576040519150601f19603f3d011682016040523d82523d6000602084013e610b00565b606091505b5091509150610b1187838387610b1c565b979650505050505050565b60608315610b8b578251600003610b84576001600160a01b0385163b610b845760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610260565b50816109f0565b6109f08383815115610ba05781518083602001fd5b8060405162461bcd60e51b81526004016102609190610d7f565b80356001600160a01b0381168114610bd157600080fd5b919050565b60008060008060608587031215610bec57600080fd5b610bf585610bba565b935060208501359250604085013567ffffffffffffffff80821115610c1957600080fd5b818701915087601f830112610c2d57600080fd5b813581811115610c3c57600080fd5b8860208260051b8501011115610c5157600080fd5b95989497505060200194505050565b600060208284031215610c7257600080fd5b5035919050565b60008060408385031215610c8c57600080fd5b610c9583610bba565b9150610ca360208401610bba565b90509250929050565b600060208284031215610cbe57600080fd5b610a2382610bba565b600060208284031215610cd957600080fd5b5051919050565b600060208284031215610cf257600080fd5b81518015158114610a2357600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610d3857634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015610d5a578181015183820152602001610d42565b50506000910152565b60008251610d75818460208701610d3f565b9190910192915050565b6020815260008251806020840152610d9e816040850160208701610d3f565b601f01601f1916919091016040019291505056fea264697066735822122022d223fcad8a67eb3f3a3ceea42ffb6b97a7ad1065e634101f2c85ded49c8e8964736f6c63430008110033000000000000000000000000000000000000000000000000000000006447dce00000000000000000000000001fa03edb1b8839a5319a7d2c1ae6aae492342bad337ca233911eecf9b0544a387c66eabb310e8c43115004f76d622837430ca6ac