Transaction id

0xf239da441854b87c4c6685263730ba05042f3e0e480cd391ec24318f2e0069c9

Feb 20, 2022   ·   05:01 UTC   ·   2 years ago

Blockchain

Ethereum

Transaction status

In block 14,240,942

Confirmations 5,922,558

Transaction purpose

Contract call

Transaction fee

0.453800860899440010 ETH Id: ethereum Name: Ethereum Verified currency · 1,199.39 USD

Additional events

There are no events of ERC-20, ERC-721 and ERC-1155 types.

Special data

  • Status: Successful
  • Nonce: 0
  • Type: 2
  • Gas used: 9122345 gas
  • Gas limit: 9122345 gas
  • Gas price: 49.746075258 Gwei
  • Effective gas price: 49.746075258 Gwei
  • Max gas price: 62.357450957 Gwei
  • Max priority gas price: 1.500000000 Gwei
  • Input data

    0x60806040523480156200001157600080fd5b506040516200a21b3803806200a21b8339810160408190526200003491620001dd565b60408051808201825260068152652432b23937b760d11b6020808301918252835180850190945260048452632422292760e11b9084015281519192916200007e9160039162000129565b5080516200009490600490602084019062000129565b5050600580546001600160a01b0319166001600160a01b0385161790555060068190556040518290620000c790620001b8565b6001600160a01b039091168152602001604051809103906000f080158015620000f4573d6000803e3d6000fd5b50600980546001600160a01b03929092166001600160a01b031992831681179091556007805490921617905550620002569050565b828054620001379062000219565b90600052602060002090601f0160209004810192826200015b5760008555620001a6565b82601f106200017657805160ff1916838001178555620001a6565b82800160010185558215620001a6579182015b82811115620001a657825182559160200191906001019062000189565b50620001b4929150620001c6565b5090565b61494280620058d983390190565b5b80821115620001b45760008155600101620001c7565b60008060408385031215620001f157600080fd5b82516001600160a01b03811681146200020957600080fd5b6020939093015192949293505050565b600181811c908216806200022e57607f821691505b602082108114156200025057634e487b7160e01b600052602260045260246000fd5b50919050565b61567380620002666000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636144a2d811610104578063a457c2d7116100a2578063d402972711610071578063d402972714610534578063dd62ed3e14610604578063ddeb24061461063d578063f812b9a41461065057600080fd5b8063a457c2d7146104e8578063a9059cbb146104fb578063b488dbc61461050e578063d240a93a1461052157600080fd5b80637fedcdf9116100de5780637fedcdf9146104a55780638523c745146104b857806395d89b41146104cd578063975fe3ca146104d557600080fd5b80636144a2d8146103d157806361c2acc31461046957806370a082311461047c57600080fd5b806323b872dd1161017c578063451df11b1161014b578063451df11b146103855780634552788a146103ad5780635c9302c9146103b65780635f169f5b146103be57600080fd5b806323b872dd1461033d5780632f52ca3614610350578063313ce56714610363578063395093511461037257600080fd5b806310d9d349116101b857806310d9d3491461024157806318160ddd146102545780631823b7dd1461025c57806322bb5e541461031257600080fd5b806306fdde03146101df578063095ea7b3146101fd5780630fa7609e14610220575b600080fd5b6101e7610663565b6040516101f49190614e34565b60405180910390f35b61021061020b366004614ea1565b6106f5565b60405190151581526020016101f4565b61023361022e366004614ecd565b61070b565b6040519081526020016101f4565b61023361024f366004614efd565b610ba0565b600254610233565b6102c361026a366004614f3f565b600c6020526000908152604090208054600182015460029092015490916001600160a01b0380821692600160a01b928390046001600160601b0316929181169181046001600160581b031690600160f81b900460ff1686565b604080519687526001600160a01b0395861660208801526001600160601b0390941693860193909352921660608401526001600160581b039091166080830152151560a082015260c0016101f4565b600954610325906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b61021061034b366004614f58565b611075565b61023361035e366004614ecd565b61111f565b604051600981526020016101f4565b610210610380366004614ea1565b61148e565b610398610393366004614efd565b6114ca565b604080519283526020830191909152016101f4565b610233600d5481565b6102336117c1565b6102336103cc366004614ecd565b6117d0565b6104286103df366004614f3f565b600b602052600090815260409020546001600160481b0380821691600160481b8104821691600160901b82041690600160d81b810463ffffffff1690600160f81b900460ff1685565b604080516001600160481b0396871681529486166020860152929094169183019190915263ffffffff16606082015260ff909116608082015260a0016101f4565b610233610477366004614f99565b611c77565b61023361048a366004614fbb565b6001600160a01b031660009081526020819052604090205490565b6103986104b3366004614efd565b611fb1565b6104cb6104c6366004614fd8565b6122aa565b005b6101e76124d7565b6102336104e3366004614ecd565b6124e6565b6102106104f6366004614ea1565b6129e2565b610210610509366004614ea1565b612a7b565b61023361051c366004615022565b612a88565b6104cb61052f366004614f3f565b612c44565b6105f0610542366004614f3f565b600a602090815260009182526040918290208251608081018452815464ffffffffff81168252650100000000008082046001600160481b031694830194909452600160701b810461ffff90811695830195909552600160801b90048416606082015260019091015490928181169262010000830460ff908116936301000000810484169392810490921691600160381b810463ffffffff1691600160581b8204811691600160601b90041688565b6040516101f4989796959493929190615047565b6102336106123660046150de565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61032561064b366004614f99565b612e07565b61023361065e366004615022565b6130ba565b6060600380546106729061510c565b80601f016020809104026020016040519081016040528092919081815260200182805461069e9061510c565b80156106eb5780601f106106c0576101008083540402835291602001916106eb565b820191906000526020600020905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b60006107023384846135f3565b50600192915050565b60006362196d804210156107545760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe83398151915260448201526064015b60405180910390fd5b6107866040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000610794613718565b815260200190815260200160002090506107ae8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156107f957600080fd5b505afa15801561080d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108319190615147565b9050806001600160a01b0316856001600160a01b0316146108825760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061088d86613872565b90508060e00151151560011515146108f25760405162461bcd60e51b815260206004820152602260248201527f4844524e3a2043616e6e6f7420706179206e6f6e2d6578697374616e74206c6f60448201526130b760f11b606482015260840161074b565b6000601e8260c00151610905919061517a565b905060008183608001516109199190615199565b90506000806000601e8411156109765785516020015161094490601e906001600160481b031661517a565b9250620f4240601e8760a0015161095b919061517a565b610965908561517a565b61096f91906151b0565b91506109c1565b8551602001516109909085906001600160481b031661517a565b9250620f4240848760a001516109a6919061517a565b6109b0908561517a565b6109ba91906151b0565b9150600190505b6109cb82846151d2565b336000908152602081905260409020541015610a425760405162461bcd60e51b815260206004820152603060248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526f18da5b1a5d185d19481c185e5b595b9d60821b606482015260840161074b565b60c08601805190610a52826151ea565b905250610a6886610a6384866151d2565b613975565b60018115151415610a97576000606087018190526080870181905260a0870181905260c0870181905260e08701525b600760009054906101000a90046001600160a01b03166001600160a01b031663317e2e63338e8e8a6040518563ffffffff1660e01b8152600401610ade9493929190615205565b600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020610b339250905087613a24565b610b3d82846151d2565b89604001818151610b4e91906151d2565b905250610b5b888a613b84565b82600d6000828254610b6d9190615199565b90915550610b86905033610b8184866151d2565b613c39565b610b9082846151d2565b9c9b505050505050505050505050565b60006362196d80421015610be45760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b60075460405163f2b2914160e01b81526001600160a01b03868116600483015260248201869052600092169063f2b291419060440160206040518083038186803b158015610c3157600080fd5b505afa158015610c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c699190615147565b9050806001600160a01b0316836001600160a01b031614610cba5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b6000610cc584613872565b90508060e0015115156001151514610d325760405162461bcd60e51b815260206004820152602a60248201527f4844524e3a2043616e6e6f74206c69717569646174652061206e6f6e2d65786960448201526939ba30b73a103637b0b760b11b606482015260840161074b565b6000601e8260c00151610d45919061517a565b90506000818360800151610d599190615199565b90506000828460600151610d6b613718565b610d759190615199565b610d7f9190615199565b90506000828560000151602001516001600160481b0316610da0919061517a565b9050605a821015610e085760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a2043616e6e6f74206c69717569646174652061206c6f616e206e6f60448201526b1d081a5b88191959985d5b1d60a21b606482015260840161074b565b82821115610e14578291505b6000620f4240838760a00151610e2a919061517a565b875160200151610e449086906001600160481b031661517a565b610e4e919061517a565b610e5891906151b0565b9050610e6481836151d2565b336000908152602081905260409020541015610edf5760405162461bcd60e51b815260206004820152603460248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201527331b4b634ba30ba32903634b8bab4b230ba34b7b760611b606482015260840161074b565b6000606087018190526080870181905260a0870181905260c0870181905260e087015260075460405163317e2e6360e01b81526001600160a01b039091169063317e2e6390610f38908e908e908e908c90600401615205565b600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020610f8d9250905087613a24565b600754604051635e21bb4560e01b81526001600160a01b038d81166004830152602482018d90528b811660448301526000606483015290911690635e21bb4590608401600060405180830381600087803b158015610fea57600080fd5b505af1158015610ffe573d6000803e3d6000fd5b505050506110188933838561101391906151d2565b613d7f565b506110368661102660085490565b8d61103185876151d2565b613ea9565b81600d60008282546110489190615199565b9091555061105c905033610b8183856151d2565b61106681836151d2565b9b9a5050505050505050505050565b6000611082848484613f62565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156111075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161074b565b61111485338584036135f3565b506001949350505050565b60006362196d804210156111635760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6111956040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b60006111a3613718565b815260200190815260200160002090506111bd8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b15801561120857600080fd5b505afa15801561121c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112409190615147565b9050806001600160a01b0316856001600160a01b0316146112915760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061129c86613872565b60e0810151909150156112f15760405162461bcd60e51b815260206004820152601d60248201527f4844524e3a20485349206c6f616e20616c726561647920657869737473000000604482015260640161074b565b602081015181516060015160009161130c9161ffff16615199565b90506000811161135e5760405162461bcd60e51b815260206004820181905260248201527f4844524e3a204e6f206c6f616e61626c6520646179732072656d61696e696e67604482015260640161074b565b81516020015160009061137b9083906001600160481b031661517a565b905080156114825761138b613718565b6060808501919091526080840183905286015160a0840152600160e08401526113b48382614130565b80866020018181516113c691906151d2565b905250600d80548291906000906113de9084906151d2565b909155505060075460405163317e2e6360e01b81526001600160a01b039091169063317e2e63906114199033908d908d908990600401615205565b600060405180830381600087803b15801561143357600080fd5b505af1158015611447573d6000803e3d6000fd5b505084515164ffffffffff166000908152600a6020526040902061146e9250905084613a24565b6114788587613b84565b61148233826141c6565b98975050505050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107029185906114c59086906151d2565b6135f3565b6000806362196d8042101561150f5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6115416040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061154f613718565b815260200190815260200160002090506115698183613736565b60075460405163f2b2914160e01b81526001600160a01b03898116600483015260248201899052600092169063f2b291419060440160206040518083038186803b1580156115b657600080fd5b505afa1580156115ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ee9190615147565b9050806001600160a01b0316866001600160a01b03161461163f5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061164a87613872565b90506000601e8260c0015161165f919061517a565b905060008183608001516116739190615199565b905060008060008560a00151111561170b57601e8311156116db578451602001516116a990601e906001600160481b031661517a565b9150620f4240601e8660a001516116c0919061517a565b6116ca908461517a565b6116d491906151b0565b90506117af565b8451602001516116f59084906001600160481b031661517a565b9150620f4240838660a001516116c0919061517a565b601e85600001516060015161ffff1611156117525784516020015161173b90601e906001600160481b031661517a565b9150620f4240601e89606001516116c0919061517a565b8451606081015160209091015161176d9161ffff16906152c8565b6001600160481b03169150620f424085600001516060015161ffff168960600151611798919061517a565b6117a2908461517a565b6117ac91906151b0565b90505b909c909b509950505050505050505050565b60006117cb613718565b905090565b60006362196d804210156118145760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6118466040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000611854613718565b8152602001908152602001600020905061186e8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156118b957600080fd5b505afa1580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f19190615147565b9050806001600160a01b0316856001600160a01b0316146119425760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061194d86613872565b90508060e00151151560011515146119b55760405162461bcd60e51b815260206004820152602560248201527f4844524e3a2043616e6e6f74207061796f6666206e6f6e2d6578697374616e74604482015264103637b0b760d91b606482015260840161074b565b6000601e8260c001516119c8919061517a565b905060008183608001516119dc9190615199565b905060008060008486606001516119f1613718565b6119fb9190615199565b1015611a2257855160200151611a1b9085906001600160481b031661517a565b9150611ab3565b848660600151611a30613718565b611a3a9190615199565b611a449190615199565b925083831115611a52578392505b855160200151611a6c9085906001600160481b031661517a565b9150620f4240838760a00151611a82919061517a565b875160200151611a9c9086906001600160481b031661517a565b611aa6919061517a565b611ab091906151b0565b90505b611abd81836151d2565b336000908152602081905260409020541015611b335760405162461bcd60e51b815260206004820152602f60248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526e31b4b634ba30ba32903830bcb7b33360891b606482015260840161074b565b611b4686611b4183856151d2565b6142a5565b6000866060018181525050600086608001818152505060008660a001818152505060008660c001818152505060008660e0019015159081151581525050600760009054906101000a90046001600160a01b03166001600160a01b031663317e2e63338e8e8a6040518563ffffffff1660e01b8152600401611bca9493929190615205565b600060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020611c1f9250905087613a24565b611c2981836151d2565b89604001818151611c3a91906151d2565b905250611c47888a613b84565b81600d6000828254611c599190615199565b90915550611c6d905033610b8183856151d2565b610b9081836151d2565b60006362196d80421015611cbb5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526000848152600c60205260409020611d058183614348565b60a08201511515600114611d6b5760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f7420626964206f6e20696e76616c6964206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b33600090815260208190526040902054841115611de75760405162461bcd60e51b815260206004820152603460248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201527331b4b634ba30ba32903634b8bab4b230ba34b7b760611b606482015260840161074b565b81604001518411611e605760405162461bcd60e51b815260206004820152603660248201527f4844524e3a204c69717569646174696f6e20626964206d75737420626520677260448201527f6561746572207468616e2063757272656e742062696400000000000000000000606482015260840161074b565b608082015182516201518091611e75916151d2565b611e7f9042615199565b1115611edd5760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f7420626964206f6e2065787069726564206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b60808201518251600091611ef0916151d2565b611efc4261012c6151d2565b611f069190615199565b905062015180811115611f3557611f206201518082615199565b83608001818151611f3191906151d2565b9052505b611f47836060015184604001516141c6565b33606084015260408301859052611f5e82846143ab565b6000611f6d8460200151613872565b805151909150611f7e90888861441c565b611f883387613c39565b60808401518451611f9991906151d2565b611fa690620151806151d2565b979650505050505050565b6000806362196d80421015611ff65760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6120286040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612036613718565b815260200190815260200160002090506120508183613736565b60075460405163f2b2914160e01b81526001600160a01b03898116600483015260248201899052600092169063f2b291419060440160206040518083038186803b15801561209d57600080fd5b505afa1580156120b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d59190615147565b9050806001600160a01b0316866001600160a01b0316146121265760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061213187613872565b90508060e00151151560011515146121995760405162461bcd60e51b815260206004820152602560248201527f4844524e3a2043616e6e6f74207061796f6666206e6f6e2d6578697374616e74604482015264103637b0b760d91b606482015260840161074b565b6000601e8260c001516121ac919061517a565b905060008183608001516121c09190615199565b905060008060008486606001516121d5613718565b6121df9190615199565b1015612206578551602001516121ff9085906001600160481b031661517a565b9150612297565b848660600151612214613718565b61221e9190615199565b6122289190615199565b925083831115612236578392505b8551602001516122509085906001600160481b031661517a565b9150620f4240838760a00151612266919061517a565b8751602001516122809086906001600160481b031661517a565b61228a919061517a565b61229491906151b0565b90505b909d909c509a5050505050505050505050565b6009546001600160a01b031633146123045760405162461bcd60e51b815260206004820152601960248201527f4853494d3a2043616c6c6572206d757374206265204853494d00000000000000604482015260640161074b565b60075460405163f2b2914160e01b81526001600160a01b03838116600483015260248201869052600092169063f2b291419060440160206040518083038186803b15801561235157600080fd5b505afa158015612365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123899190615147565b9050806001600160a01b0316836001600160a01b0316146123da5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b60006123e584613872565b905060646123f1613718565b101561243857612412612402613718565b61240d906064615199565b61448a565b6040820181905281518051602090910151612438926001600160481b039091169061453b565b60075460405163317e2e6360e01b81526001600160a01b039091169063317e2e639061246e908690899089908790600401615205565b600060405180830381600087803b15801561248857600080fd5b505af115801561249c573d6000803e3d6000fd5b505050506124d0816000015182602001518360400151846060015185608001518660a001518760c001518860e001516145ae565b5050505050565b6060600480546106729061510c565b60006362196d8042101561252a5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b61255c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061256a613718565b815260200190815260200160002090506125848183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156125cf57600080fd5b505afa1580156125e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126079190615147565b9050806001600160a01b0316856001600160a01b0316146126585760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061266386613872565b80516040015190915061ffff166126786147c6565b10156126dc5760405162461bcd60e51b815260206004820152602d60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e737420612070656e6460448201526c696e6720484558207374616b6560981b606482015260840161074b565b60e0810151156127435760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e73742061206c6f616e60448201526b656420484558207374616b6560a01b606482015260840161074b565b600080600083600001516040015161ffff1661275d6147c6565b6127679190615199565b84516060015190935061ffff168311156127885783516060015161ffff1692505b60208401516127979084615199565b8451602001519092506127b49083906001600160481b031661517a565b60408501519091501561281f5760006127d18560400151836147da565b90508015612819576127f7739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808860000181815161280991906151d2565b90525061281681836151d2565b91505b50612898565b6064612829613718565b10156128985761283a612402613718565b6040850181905260009061284e90836147da565b9050801561289657612874739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808860000181815161288691906151d2565b90525061289381836151d2565b91505b505b6080870151156128fc5760006128b28860800151836147da565b905080156128fa576128d8739d73ced2e36c89e5d167151809eee218a189f801826141c6565b80886000018181516128ea91906151d2565b9052506128f781836151d2565b91505b505b818460200181815161290e91906151d2565b905250801561292b5761292133826141c6565b61292b84826147f9565b808760000181815161293d91906151d2565b90525060075460405163317e2e6360e01b81526001600160a01b039091169063317e2e63906129769033908e908e908a90600401615205565b600060405180830381600087803b15801561299057600080fd5b505af11580156129a4573d6000803e3d6000fd5b505085515164ffffffffff166000908152600a602052604090206129cb9250905085613a24565b6129d58688613b84565b9998505050505050505050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015612a645760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074b565b612a7133858584036135f3565b5060019392505050565b6000610702338484613f62565b60006362196d80421015612acc5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6000612ad784614894565b90508264ffffffffff16816000015164ffffffffff1614612b445760405162461bcd60e51b815260206004820152602160248201527f4844524e3a20484558207374616b6520696e646578206964206d69736d6174636044820152600d60fb1b606482015260840161074b565b6000806000612b52846149b9565b90935091508215612ba55760405162461bcd60e51b815260206004820152601f60248201527f4844524e3a20484558205374616b6520616c726561647920636c61696d656400604482015260640161074b565b6064612baf613718565b1015612bde57612bc0612402613718565b9050612bde846000015185604001516001600160481b03168361453b565b612c3a6040518060800160405280866000015164ffffffffff16815260200186604001516001600160481b03168152602001866060015161ffff168152602001866080015161ffff1681525060008360008060008060006145ae565b9695505050505050565b6362196d80421015612c865760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b612cb86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612cc6613718565b81526020019081526020016000209050612ce08183613736565b33600090815260208190526040902054831115612d545760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526b31b4b634ba30ba32902837a160a11b606482015260840161074b565b33600090815260016020908152604080832030845290915290205483811015612dcb5760405162461bcd60e51b815260206004820152602360248201527f4844524e3a204275726e20616d6f756e74206578636565647320616c6c6f77616044820152626e636560e81b606482015260840161074b565b8383604001818151612ddd91906151d2565b905250612dea8284613b84565b612df733308684036135f3565b612e013385613c39565b50505050565b60006362196d80421015612e4b5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b612e7d6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612e8b613718565b81526020019081526020016000209050612ea58183613736565b6000848152600c60209081526040808320815160c081018352848152928301849052908201839052606082018390526080820183905260a0820192909252612eed8282614348565b60a08101511515600114612f545760405162461bcd60e51b815260206004820152602860248201527f4844524e3a2043616e6e6f742065786974206f6e20696e76616c6964206c69716044820152673ab4b230ba34b7b760c11b606482015260840161074b565b608081015181516201518091612f69916151d2565b612f739042615199565b1015612fd15760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f742065786974206f6e20616374697665206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b60075460208201516060830151604051635e21bb4560e01b815260006004820152602481018b90526001600160a01b0392831660448201529082166064820152911690635e21bb4590608401600060405180830381600087803b15801561303757600080fd5b505af115801561304b573d6000803e3d6000fd5b5050505080604001518460400181815161306591906151d2565b905250602081015160009061307990613872565b90506130978160000151600001518884606001518560400151614a80565b6130a18486613b84565b6130ab83836143ab565b50602001519695505050505050565b60006362196d804210156130fe5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6131306040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061313e613718565b815260200190815260200160002090506131588183613736565b600061316386614894565b90508464ffffffffff16816000015164ffffffffff16146131d05760405162461bcd60e51b815260206004820152602160248201527f4844524e3a20484558207374616b6520696e646578206964206d69736d6174636044820152600d60fb1b606482015260840161074b565b806060015161ffff166131e16147c6565b10156132455760405162461bcd60e51b815260206004820152602d60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e737420612070656e6460448201526c696e6720484558207374616b6560981b606482015260840161074b565b600080600080600080613256614dca565b61325f886149b9565b90975095508615613402576000868152600a602052604090206132829082614ae1565b80516040015161ffff166132946147c6565b61329e9190615199565b81516060015190955061ffff168511156132bf5780516060015161ffff1694505b60208101516132ce9086615199565b8151602001519094506132eb9085906001600160481b031661517a565b6040820151909350156133525760006133088260400151856147da565b905080156133505761332e739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b60000181815161334091906151d2565b90525061334d81856151d2565b93505b505b60808a0151156133b657600061336c8b60800151856147da565b905080156133b457613392739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b6000018181516133a491906151d2565b9052506133b181856151d2565b93505b505b83816020018181516133c891906151d2565b90525082156133e5576133db33846141c6565b6133e581846147f9565b6000868152600a602052604090206133fd9082613a24565b6135c3565b876060015161ffff166134136147c6565b61341d9190615199565b9450876080015161ffff1685111561343b57876080015161ffff1694505b8488604001516001600160481b0316613454919061517a565b92506064613460613718565b10156134c957613471612402613718565b9150600061347f83856147da565b905080156134c7576134a5739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b6000018181516134b791906151d2565b9052506134c481856151d2565b93505b505b60808a01511561352d5760006134e38b60800151856147da565b9050801561352b57613509739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b60000181815161351b91906151d2565b90525061352881856151d2565b93505b505b61358860405180608001604052808a6000015164ffffffffff1681526020018a604001516001600160481b031681526020018a6060015161ffff1681526020018a6080015161ffff16815250868460008060008060006145ae565b875164ffffffffff166000908152600a602052604090206135a99082614ae1565b82156135c3576135b933846141c6565b6135c381846147f9565b828a6000018181516135d591906151d2565b9052506135e2898b613b84565b50909b9a5050505050505050505050565b6001600160a01b0383166136555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074b565b6001600160a01b0382166136b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006201518061372c6362196d8042615199565b6117cb91906151b0565b81546001600160481b038082168352600160481b820481166020840152600160901b8204166040830152600160d81b810463ffffffff1660608301819052600160f81b90910460ff16608083015261386e5760006137926147c6565b905060006137a96137a4600284615199565b614bac565b905060006137b5614c80565b9050600081600001516001600160481b0316620f424084600001516001600160481b03166137e3919061517a565b6137ed91906151b0565b90506137fa6002826151b0565b6060860152600d54158015906138185750600061381660025490565b115b1561386957600061382860025490565b600d5461383690606461517a565b61384091906151b0565b9050603281111561386757613856603282615199565b61386190600261517a565b60808701525b505b505050505b5050565b61387a614dca565b6040805160808101825260008082526020820181905291810182905260608101919091526000806000806000806000896001600160a01b031663a8d5fd656040518163ffffffff1660e01b81526004016101606040518083038186803b1580156138e357600080fd5b505afa1580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b9190615365565b604080516101008101825298895261ffff97881660208a015260ff96871690890152938616606088015294909116608086015263ffffffff1660a0850152911660c0830152151560e08201529a9950505050505050505050565b81600001516000015164ffffffffff16336001600160a01b03167f861000bc726a08720e9c88acb7203b0f9cc6f1c91aa66ec7d3dba932eebbb6e860a8846001600160581b0316901b60a08660c0015160ff16901b60808760a0015163ffffffff16901b6070886080015161ffff16901b60288960000151602001516001600160481b0316901b4264ffffffffff161717171717604051613a1891815260200190565b60405180910390a35050565b80518051835460208084015160408086015160609687015164ffffffffff9096166dffffffffffffffffffffffffffff1990951694909417650100000000006001600160481b0390931683021771ffffffff00000000000000000000000000001916600160701b61ffff9586160261ffff60801b191617600160801b9585169590950294909417875590850151600190960180549386015194860151608087015160a088015160c089015160e09099015199861662ffffff19909716969096176201000060ff988916021766ffffffff000000191663010000009286169290920266ffff00000000001916919091179316909102919091176bffffffffff000000000000001916600160381b63ffffffff909316929092026bff0000000000000000000000191691909117600160581b9290931691909102919091176cff0000000000000000000000001916600160601b92151592909202919091179055565b8051825460208301516040840151606085015160809095015160ff16600160f81b026001600160f81b0363ffffffff909616600160d81b0263ffffffff60d81b196001600160481b03938416600160901b02167fff00000000000000000000000000ffffffffffffffffffffffffffffffffffff948416600160481b0271ffffffffffffffffffffffffffffffffffff1990961693909616929092179390931791909116929092179190911791909116179055565b6001600160a01b038216613c995760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161074b565b6001600160a01b03821660009081526020819052604090205481811015613d0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161074b565b6001600160a01b0383166000908152602081905260408120838303905560028054849290613d3c908490615199565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161370b565b6000613d8f600880546001019055565b6040518060c00160405280428152602001856001600160a01b03168152602001836001600160601b03168152602001846001600160a01b0316815260200160006001600160581b0316815260200160011515815250600c6000613df160085490565b815260208082019290925260409081016000208351815591830151908301516001600160a01b03918216600160a01b6001600160601b039092168202176001840155606084015160029093018054608086015160a090960151949093167fff00000000000000000000000000000000000000000000000000000000000000909316929092176001600160581b0390941602929092176001600160f81b0316600160f81b91151591909102179055600854949350505050565b8264ffffffffff1684600001516000015164ffffffffff16836001600160a01b03167f5ff6c3d9b175ccaaa9cac4061a5e73b1b21691ce56f40c846a0b12b4bd349ad460a8856001600160581b0316901b60a08960c0015160ff16901b60808a60a0015163ffffffff16901b60708b6080015161ffff16901b60288c60000151602001516001600160481b0316901b4264ffffffffff161717171717604051613f5491815260200190565b60405180910390a450505050565b6001600160a01b038316613fc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074b565b6001600160a01b0382166140285760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074b565b6001600160a01b038316600090815260208190526040902054818110156140a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074b565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906140d79084906151d2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161412391815260200190565b60405180910390a3612e01565b81600001516000015164ffffffffff16336001600160a01b03167fd1531219a20f2d83d987ee404dcc7e73580f8c88df13e9cd7568900c8aac2ac560a0846001600160601b0316901b60808660a0015163ffffffff16901b6070876080015161ffff16901b60288860000151602001516001600160481b0316901b4264ffffffffff1617171717604051613a1891815260200190565b6001600160a01b03821661421c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161074b565b806002600082825461422e91906151d2565b90915550506001600160a01b0382166000908152602081905260408120805483929061425b9084906151d2565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b81600001516000015164ffffffffff16336001600160a01b03167f563d5b42b3f744c16f6022019dde74a4717db5f2c3c420c2507537bd0b95151060a8846001600160581b0316901b60a08660c0015160ff16901b60808760a0015163ffffffff16901b6070886080015161ffff16901b60288960000151602001516001600160481b0316901b4264ffffffffff161717171717604051613a1891815260200190565b815481526002820154600160a01b8082046001600160581b031660808401526001909301546001600160a01b03808216602085015282166060840152929092046001600160601b03166040820152600160f81b90910460ff16151560a090910152565b60808101516020820151606083015160408401516001600160601b0316600160a01b9081026001600160a01b0393841617600187015560a0909401511515600160f81b0265ffffffffffff909316939093026affffffffffffffffffffff60a01b1692169190911717600290910155565b8164ffffffffff168364ffffffffff16336001600160a01b03167fe8a39971ed535d13041f79f54ea41f45a2435bc8e608d91068e374606bce9eb86028856001600160d81b0316901b4264ffffffffff161760405161447d91815260200190565b60405180910390a4505050565b6000605a82111561449d57506064919050565b60508211156144ae5750605a919050565b60468211156144bf57506050919050565b603c8211156144d057506046919050565b60328211156144e15750603c919050565b60288211156144f257506032919050565b601e82111561450357506028919050565b60148211156145145750601e919050565b600a82111561452557506014919050565b81156145335750600a919050565b506000919050565b8264ffffffffff16336001600160a01b03167fc4a10ff9f52151128e34f73797cbcc4097d1c7af612b87e89216517ec14ffc6b60708471ffffffffffffffffffffffffffffffffffff16901b6028866001600160481b0316901b4264ffffffffff16171760405161370b91815260200190565b6040518061010001604052808981526020018861ffff1681526020018760ff1681526020018661ffff1681526020018561ffff1681526020018463ffffffff1681526020018360ff168152602001821515815250600a60008a6000015164ffffffffff16815260200190815260200160002060008201518160000160008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a8154816001600160481b0302191690836001600160481b03160217905550604082015181600001600e6101000a81548161ffff021916908361ffff16021790555060608201518160000160106101000a81548161ffff021916908361ffff160217905550505060208201518160010160006101000a81548161ffff021916908361ffff16021790555060408201518160010160026101000a81548160ff021916908360ff16021790555060608201518160010160036101000a81548161ffff021916908361ffff16021790555060808201518160010160056101000a81548161ffff021916908361ffff16021790555060a08201518160010160076101000a81548163ffffffff021916908363ffffffff16021790555060c082015181600101600b6101000a81548160ff021916908360ff16021790555060e082015181600101600c6101000a81548160ff0219169083151502179055509050505050505050505050565b6000620151806006544261372c9190615199565b6000600a6147e8848461517a565b6147f291906151b0565b9392505050565b81600001516000015164ffffffffff16336001600160a01b03167fce84afc26010d49051ae429b96ad50c0ef3a958a5c5bdc44c80e090dee642dbe6088846effffffffffffffffffffffffffffff16901b6080866040015160ff16901b6070876020015161ffff16901b60288860000151602001516001600160481b0316901b4264ffffffffff1617171717604051613a1891815260200190565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152600554604051632607443b60e01b8152336004820152602481018490526000918291829182918291829182916001600160a01b031690632607443b9060440160e06040518083038186803b15801561492457600080fd5b505afa158015614938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061495c9190615478565b6040805160e08101825264ffffffffff9890981688526001600160481b039687166020890152949095169386019390935261ffff9182166060860152811660808501521660a0830152151560c08201529998505050505050505050565b6000806000806149c7614dca565b855164ffffffffff166000908152600a602052604090206149e89082614ae1565b855181515164ffffffffff9081169116148015614a22575085604001516001600160481b03168160000151602001516001600160481b0316145b8015614a415750856060015161ffff1681600001516040015161ffff16145b8015614a605750856080015161ffff1681600001516060015161ffff16145b15614a755785516001935064ffffffffff1691505b509094909350915050565b8264ffffffffff168464ffffffffff16836001600160a01b03167f4880f72426ed087acce5733f8d2607065f5eb9cf9888f4ba51e605c3f5d0efdc6028856001600160d81b0316901b4264ffffffffff1617604051613f5491815260200190565b6040805160808082018352845464ffffffffff81168352650100000000008082046001600160481b0316602080860191909152600160701b830461ffff90811686880152600160801b90930483166060808701919091529487526001909701548083169787019790975262010000870460ff908116958701959095526301000000870482169386019390935291850490911690830152600160381b830463ffffffff1660a0830152600160581b8304811660c0830152600160601b909204909116151560e090910152565b60408051606081018252600080825260208201819052918101919091526005546040516390de687160e01b815260048101849052600091829182916001600160a01b0316906390de68719060240160606040518083038186803b158015614c1257600080fd5b505afa158015614c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c4a9190615500565b604080516060810182526001600160481b03948516815293909216602084015266ffffffffffffff169082015295945050505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152600080600080600080600080600560009054906101000a90046001600160a01b03166001600160a01b031663c31245256040518163ffffffff1660e01b81526004016101006040518083038186803b158015614d1c57600080fd5b505afa158015614d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d549190615548565b60408051610100810182526001600160481b03998a168152978916602089015264ffffffffff96871690880152938716606087015261ffff90921660808601529490941660a0840152921660c08201526fffffffffffffffffffffffffffffffff90911660e08201529998505050505050505050565b6040805161018081019091526000610100820181815261012083018290526101408301829052610160830191909152819081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b600060208083528351808285015260005b81811015614e6157858101830151858201604001528201614e45565b81811115614e73576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114614e9e57600080fd5b50565b60008060408385031215614eb457600080fd5b8235614ebf81614e89565b946020939093013593505050565b60008060408385031215614ee057600080fd5b823591506020830135614ef281614e89565b809150509250929050565b600080600060608486031215614f1257600080fd5b8335614f1d81614e89565b9250602084013591506040840135614f3481614e89565b809150509250925092565b600060208284031215614f5157600080fd5b5035919050565b600080600060608486031215614f6d57600080fd5b8335614f7881614e89565b92506020840135614f8881614e89565b929592945050506040919091013590565b60008060408385031215614fac57600080fd5b50508035926020909101359150565b600060208284031215614fcd57600080fd5b81356147f281614e89565b600080600060608486031215614fed57600080fd5b833592506020840135614fff81614e89565b91506040840135614f3481614e89565b64ffffffffff81168114614e9e57600080fd5b6000806040838503121561503557600080fd5b823591506020830135614ef28161500f565b6101608101615091828b64ffffffffff81511682526001600160481b036020820151166020830152604081015161ffff808216604085015280606084015116606085015250505050565b61ffff988916608083015260ff97881660a083015295881660c08201529390961660e084015263ffffffff9190911661010083015290921661012083015291151561014090910152919050565b600080604083850312156150f157600080fd5b82356150fc81614e89565b91506020830135614ef281614e89565b600181811c9082168061512057607f821691505b6020821081141561514157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561515957600080fd5b81516147f281614e89565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561519457615194615164565b500290565b6000828210156151ab576151ab615164565b500390565b6000826151cd57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156151e5576151e5615164565b500190565b60006000198214156151fe576151fe615164565b5060010190565b6001600160a01b038581168252602082018590528316604082015281516101c082019061527190606084019064ffffffffff81511682526001600160481b036020820151166020830152604081015161ffff808216604085015280606084015116606085015250505050565b602083015160e083015260408301516101008301526060830151610120830152608083015161014083015260a083015161016083015260c083015161018083015260e083015115156101a083015295945050505050565b60006001600160481b03808316818516818304811182151516156152ee576152ee615164565b02949350505050565b80516153028161500f565b919050565b80516001600160481b038116811461530257600080fd5b805161ffff8116811461530257600080fd5b805160ff8116811461530257600080fd5b805163ffffffff8116811461530257600080fd5b8051801515811461530257600080fd5b600080600080600080600080888a0361016081121561538357600080fd5b608081121561539157600080fd5b506040516080810181811067ffffffffffffffff821117156153c357634e487b7160e01b600052604160045260246000fd5b6040526153cf8a6152f7565b81526153dd60208b01615307565b60208201526153ee60408b0161531e565b60408201526153ff60608b0161531e565b6060820152975061541260808a0161531e565b965061542060a08a01615330565b955061542e60c08a0161531e565b945061543c60e08a0161531e565b935061544b6101008a01615341565b925061545a6101208a01615330565b91506154696101408a01615355565b90509295985092959890939650565b600080600080600080600060e0888a03121561549357600080fd5b875161549e8161500f565b96506154ac60208901615307565b95506154ba60408901615307565b94506154c86060890161531e565b93506154d66080890161531e565b92506154e460a0890161531e565b91506154f260c08901615355565b905092959891949750929550565b60008060006060848603121561551557600080fd5b61551e84615307565b925061552c60208501615307565b9150604084015166ffffffffffffff81168114614f3457600080fd5b600080600080600080600080610100898b03121561556557600080fd5b61556e89615307565b975061557c60208a01615307565b9650604089015161558c8161500f565b955061559a60608a01615307565b94506155a860808a0161531e565b93506155b660a08a01615307565b925060c08901516155c68161500f565b60e08a01519092506fffffffffffffffffffffffffffffffff811681146155ec57600080fd5b80915050929598509295989093965056fe4844524e3a20436f6e7472616374206e6f7420796574206163746976650000004844524e3a2048534920696e6465782061646472657373206d69736d61746368a26469706673582212201c180c0e9f0e271ab1e90cf6295bc8f67783b430d675a76437afd1b121f55a9c64736f6c6343000809003360806040523480156200001157600080fd5b506040516200494238038062004942833981016040819052620000349162000233565b6040805180820182526012815271484558205374616b6520496e7374616e636560701b60208083019182528351808501909452600384526248534960e81b90840152815191929162000089916000916200017f565b5080516200009f9060019060208401906200017f565b5050600c80546001600160a01b03199081163317909155600d80546001600160a01b0385169083168117909155600e805490921617905550604051620000e5906200020e565b604051809103906000f08015801562000102573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b0392831690811790915560405163189acdbd60e31b8152918316600483015290819063c4d66de890602401600060405180830381600087803b1580156200015e57600080fd5b505af115801562000173573d6000803e3d6000fd5b505050505050620002a2565b8280546200018d9062000265565b90600052602060002090601f016020900481019282620001b15760008555620001fc565b82601f10620001cc57805160ff1916838001178555620001fc565b82800160010185558215620001fc579182015b82811115620001fc578251825591602001919060010190620001df565b506200020a9291506200021c565b5090565b610e948062003aae83390190565b5b808211156200020a57600081556001016200021d565b6000602082840312156200024657600080fd5b81516001600160a01b03811681146200025e57600080fd5b9392505050565b600181811c908216806200027a57607f821691505b602082108114156200029c57634e487b7160e01b600052602260045260246000fd5b50919050565b6137fc80620002b26000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636352211e11610104578063b947e629116100a2578063ceca96e611610071578063ceca96e6146104cd578063e985e9c5146104e0578063ed0e43d11461051c578063f2b291411461052f57600080fd5b8063b947e6291461045e578063c5a05f3214610487578063c87b56dd1461049a578063cad96cca146104ad57600080fd5b806395d89b41116100de57806395d89b411461041d5780639875cc0514610425578063a22cb46514610438578063b88d4fde1461044b57600080fd5b80636352211e146103dd57806370a08231146103f05780638da5cb5b1461040357600080fd5b80632607443b1161017c57806333060d901161014b57806333060d901461039157806342842e0e146103a45780634f6ccce7146103b75780635e21bb45146103ca57600080fd5b80632607443b146102aa5780632a55205a146103395780632f745c591461036b578063317e2e631461037e57600080fd5b8063095ea7b3116101b8578063095ea7b3146102475780631322e1041461025c57806318160ddd1461028557806323b872dd1461029757600080fd5b806301ffc9a7146101df57806306fdde0314610207578063081812fc1461021c575b600080fd5b6101f26101ed366004612d9e565b610542565b60405190151581526020015b60405180910390f35b61020f610595565b6040516101fe9190612e13565b61022f61022a366004612e26565b610627565b6040516001600160a01b0390911681526020016101fe565b61025a610255366004612e56565b6106c1565b005b61022f61026a366004612e26565b6011602052600090815260409020546001600160a01b031681565b6008545b6040519081526020016101fe565b61025a6102a5366004612e80565b6107d7565b6102bd6102b8366004612e56565b610852565b6040516101fe9190600060e08201905064ffffffffff8351168252602083015168ffffffffffffffffff80821660208501528060408601511660408501525050606083015161ffff80821660608501528060808601511660808501528060a08601511660a0850152505060c0830151151560c083015292915050565b61034c610347366004612ebc565b610950565b604080516001600160a01b0390931683526020830191909152016101fe565b610289610379366004612e56565b610a56565b61025a61038c36600461302d565b610aec565b61028961039f3660046130ed565b610c4e565b61025a6103b2366004612e80565b610c6c565b6102896103c5366004612e26565b610c87565b61025a6103d8366004613108565b610d1a565b61022f6103eb366004612e26565b610eb1565b6102896103fe3660046130ed565b610f28565b73f447be386164dadfb5d1e7622613f289f17024d861022f565b61020f610faf565b610289610433366004613155565b610fbe565b61025a610446366004613181565b61116b565b61025a6104593660046131b8565b61117a565b61028961046c3660046130ed565b6001600160a01b031660009081526010602052604090205490565b61022f610495366004612e26565b6111fc565b61020f6104a8366004612e26565b611329565b6104c06104bb366004612e26565b611404565b6040516101fe91906132d0565b6102896104db366004613155565b611493565b6101f26104ee3660046132e3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61022f61052a366004612ebc565b6117a7565b61022f61053d366004612e56565b611b60565b60006001600160e01b0319821663656cb66560e11b141561056557506001919050565b6001600160e01b0319821663152a902d60e11b141561058657506001919050565b61058f82611b98565b92915050565b6060600080546105a49061330d565b80601f01602080910402602001604051908101604052809291908181526020018280546105d09061330d565b801561061d5780601f106105f25761010080835404028352916020019161061d565b820191906000526020600020905b81548152906001019060200180831161060057829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166106a55760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106cc82610eb1565b9050806001600160a01b0316836001600160a01b0316141561073a5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161069c565b336001600160a01b0382161480610756575061075681336104ee565b6107c85760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161069c565b6107d28383611bbd565b505050565b6107e13382611c2b565b6108475760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606482015260840161069c565b6107d2838383611d22565b6040805160e08101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905260c083018290526001600160a01b0386168252601090529182208054919290918290859081106108b6576108b6613348565b9060005260206000200160009054906101000a90046001600160a01b03169050806001600160a01b031663acee069e6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561090f57600080fd5b505afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190613374565b95945050505050565b6000828152600a60209081526040808320805482518185028101850190935280835284938493929190849084015b828210156109cd57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b90046001600160601b03168183015282526001909201910161097e565b505050509050600081511115610a4657806000815181106109f0576109f0613348565b60200260200101516000015161271082600081518110610a1257610a12613348565b6020026020010151602001516001600160601b031686610a329190613442565b610a3c9190613477565b9250925050610a4f565b60008092509250505b9250929050565b6000610a6183610f28565b8210610ac35760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161069c565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600c546001600160a01b03163314610b545760405162461bcd60e51b815260206004820152602560248201527f4853494d3a2043616c6c6572206d75737420626520636f6e747261637420637260448201526432b0ba37b960d91b606482015260840161069c565b6001600160a01b03841660009081526010602052604090208054819085908110610b8057610b80613348565b6000918252602090912001546001600160a01b03848116911614610be65760405162461bcd60e51b815260206004820181905260248201527f4853494d3a2048534920696e6465782061646472657373206d69736d61746368604482015260640161069c565b604051637396ca6560e01b815283906001600160a01b03821690637396ca6590610c1490869060040161348b565b600060405180830381600087803b158015610c2e57600080fd5b505af1158015610c42573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b03811660009081526010602052604081205461058f565b6107d28383836040518060200160405280600081525061117a565b6000610c9260085490565b8210610cf55760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161069c565b60088281548110610d0857610d08613348565b90600052602060002001549050919050565b600c546001600160a01b03163314610d825760405162461bcd60e51b815260206004820152602560248201527f4853494d3a2043616c6c6572206d75737420626520636f6e747261637420637260448201526432b0ba37b960d91b606482015260840161069c565b6001600160a01b03808516600090815260106020526040808220928416825290208154829086908110610db757610db7613348565b6000918252602090912001546001600160a01b03858116911614610e1d5760405162461bcd60e51b815260206004820181905260248201527f4853494d3a2048534920696e6465782061646472657373206d69736d61746368604482015260640161069c565b80546001810182556000828152602090200180546001600160a01b0319166001600160a01b038616179055610e528286611ecd565b826001600160a01b0316866001600160a01b0316856001600160a01b03167fc24b27b33d05d2d17b1cf97ccbe0c85b21236ad0f06ba8359bf46f8e3b2749b642604051610ea191815260200190565b60405180910390a4505050505050565b6000818152600260205260408120546001600160a01b03168061058f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161069c565b60006001600160a01b038216610f935760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161069c565b506001600160a01b031660009081526003602052604090205490565b6060600180546105a49061330d565b3360009081526010602052604081208054819085908110610fe157610fe1613348565b6000918252602090912001546001600160a01b038481169116146110475760405162461bcd60e51b815260206004820181905260248201527f4853494d3a2048534920696e6465782061646472657373206d69736d61746368604482015260640161069c565b82600061105382611f8f565b60e0810151909150156110b45760405162461bcd60e51b8152602060048201526024808201527f4853494d3a2043616e6e6f7420746f6b656e697a652061206c6f616e6564207360448201526374616b6560e01b606482015260840161069c565b6110c2600b80546001019055565b60006110cd600b5490565b90506110d933826120f7565b600081815260116020526040902080546001600160a01b0319166001600160a01b03881617905561110981612245565b6111138488611ecd565b336001600160a01b0316866001600160a01b0316827fed10b8f4c54a638850d395c632b529baa72a9c68ee7ed868f15a0468405d51474260405161115991815260200190565b60405180910390a49695505050505050565b611176338383612308565b5050565b6111843383611c2b565b6111ea5760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606482015260840161069c565b6111f6848484846123d7565b50505050565b60003361120883610eb1565b6001600160a01b0316146112745760405162461bcd60e51b815260206004820152602d60248201527f4853494d3a204465746f6b656e697a6174696f6e20726571756972657320746f60448201526c06b656e206f776e65727368697609c1b606482015260840161069c565b600082815260116020818152604080842080543386526010845291852080546001810182558187528487200180546001600160a01b039094166001600160a01b03199485168117909155958890529390925281541690556112d484612455565b336001600160a01b0316826001600160a01b0316857f6bce622a5976965d5b72e030c8cab9696faae9e320a35bfd263b1681ae7f24904260405161131a91815260200190565b60405180910390a45092915050565b6000818152600260205260409020546060906001600160a01b03166113a85760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161069c565b60006113b26124fc565b905060008151116113d257604051806020016040528060008152506113fd565b806113dc84612587565b6040516020016113ed92919061352e565b6040516020818303038152906040525b9392505050565b6060600a6000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561148857600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b90046001600160601b031681830152825260019092019101611439565b505050509050919050565b33600090815260106020526040812080548190859081106114b6576114b6613348565b6000918252602090912001546001600160a01b0384811691161461151c5760405162461bcd60e51b815260206004820181905260248201527f4853494d3a2048534920696e6465782061646472657373206d69736d61746368604482015260640161069c565b82600061152882611f8f565b60e0810151909150156115975760405162461bcd60e51b815260206004820152603160248201527f4853494d3a2043616e6e6f742063616c6c207374616b65456e6420616761696e60448201527073742061206c6f616e6564207374616b6560781b606482015260840161069c565b816001600160a01b03166383197ef06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156115d257600080fd5b505af11580156115e6573d6000803e3d6000fd5b50506040514281523392506001600160a01b03881691507f14d0fe09f225917f351bd3b122714cfcc1c45015a67232167d4b561e186b26de9060200160405180910390a3600d546040516370a0823160e01b81526001600160a01b03878116600483015260009216906370a082319060240160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a8919061355d565b9050801561179357600d546040516323b872dd60e01b81526001600160a01b03888116600483015233602483015260448201849052909116906323b872dd90606401602060405180830381600087803b15801561170457600080fd5b505af1158015611718573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173c9190613576565b6117935760405162461bcd60e51b815260206004820152602260248201527f4853494d3a20484558207472616e736665722066726f6d20485349206661696c604482015261195960f21b606482015260840161069c565b61179d8488611ecd565b9695505050505050565b600d546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156117eb57600080fd5b505afa1580156117ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611823919061355d565b8311156118855760405162461bcd60e51b815260206004820152602a60248201527f4853494d3a20496e73756666696369656e742048455820746f20666163696c6960448201526974617465207374616b6560b01b606482015260840161069c565b336000908152601060205260408120600f549091906118ac906001600160a01b0316612685565b600e5460405163189acdbd60e31b81526001600160a01b03918216600482015291925082919082169063c4d66de890602401600060405180830381600087803b1580156118f857600080fd5b505af115801561190c573d6000803e3d6000fd5b505084546001808201875560008781526020812090920180546001600160a01b0319166001600160a01b038816179055865491935061194c925090613593565b600d546040516323b872dd60e01b81523360048201526001600160a01b038681166024830152604482018b90529293509116906323b872dd90606401602060405180830381600087803b1580156119a257600080fd5b505af11580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da9190613576565b611a4c5760405162461bcd60e51b815260206004820152603560248201527f4853494d3a20484558207472616e736665722066726f6d206d6573736167652060448201527f73656e64657220746f204853494d206661696c65640000000000000000000000606482015260840161069c565b604051631e02403760e21b8152600481018790526001600160a01b0383169063780900dc90602401600060405180830381600087803b158015611a8e57600080fd5b505af1158015611aa2573d6000803e3d6000fd5b5050600c54604051638523c74560e01b8152600481018590526001600160a01b0387811660248301523360448301529091169250829150638523c74590606401600060405180830381600087803b158015611afc57600080fd5b505af1158015611b10573d6000803e3d6000fd5b50506040514281523392506001600160a01b03871691507fd680a9b62662668ffed760ca1d0741736980d08c278efca9e0c6dcc1a4c166ca9060200160405180910390a350919695505050505050565b60106020528160005260406000208181548110611b7c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b60006001600160e01b0319821663780e9d6360e01b148061058f575061058f82612732565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611bf282610eb1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611ca45760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161069c565b6000611caf83610eb1565b9050806001600160a01b0316846001600160a01b03161480611cea5750836001600160a01b0316611cdf84610627565b6001600160a01b0316145b80611d1a57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611d3582610eb1565b6001600160a01b031614611d9d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161069c565b6001600160a01b038216611dff5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161069c565b611e0a838383612782565b611e15600082611bbd565b6001600160a01b0383166000908152600360205260408120805460019290611e3e908490613593565b90915550506001600160a01b0382166000908152600360205260408120805460019290611e6c9084906135aa565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8154600090611ede90600190613593565b9050808214611f5857828181548110611ef957611ef9613348565b9060005260206000200160009054906101000a90046001600160a01b0316838381548110611f2957611f29613348565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b82805480611f6857611f686135c2565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b611ffc6040805161018081019091526000610100820181815261012083018290526101408301829052610160830191909152819081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b6040805160808101825260008082526020820181905291810182905260608101919091526000806000806000806000896001600160a01b031663a8d5fd656040518163ffffffff1660e01b81526004016101606040518083038186803b15801561206557600080fd5b505afa158015612079573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209d91906135fd565b604080516101008101825298895261ffff97881660208a015260ff96871690890152938616606088015294909116608086015263ffffffff1660a0850152911660c0830152151560e08201529a9950505050505050505050565b6001600160a01b03821661214d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161069c565b6000818152600260205260409020546001600160a01b0316156121b25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161069c565b6121be60008383612782565b6001600160a01b03821660009081526003602052604081208054600192906121e79084906135aa565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908161225c579050509050600f8160008151811061229a5761229a613348565b6020026020010151602001906001600160601b031690816001600160601b03168152505073f447be386164dadfb5d1e7622613f289f17024d8816000815181106122e6576122e6613348565b60209081029190910101516001600160a01b039091169052611176828261278d565b816001600160a01b0316836001600160a01b0316141561236a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161069c565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6123e2848484611d22565b6123ee848484846129a8565b6111f65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606482015260840161069c565b600061246082610eb1565b905061246e81600084612782565b612479600083611bbd565b6001600160a01b03811660009081526003602052604081208054600192906124a2908490613593565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6060600061250946612587565b90506040518060400160405280601781526020017f68747470733a2f2f6170692e686564726f6e2e70726f2f00000000000000000081525081604051806040016040528060058152602001642f6873692f60d81b815250604051602001612572939291906136ec565b60405160208183030381529060405291505090565b6060816125ab5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156125d557806125bf8161372f565b91506125ce9050600a83613477565b91506125af565b60008167ffffffffffffffff8111156125f0576125f0612ede565b6040519080825280601f01601f19166020018201604052801561261a576020820181803683370190505b5090505b8415611d1a5761262f600183613593565b915061263c600a8661374a565b6126479060306135aa565b60f81b81838151811061265c5761265c613348565b60200101906001600160f81b031916908160001a90535061267e600a86613477565b945061261e565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b03811661272d5760405162461bcd60e51b815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640161069c565b919050565b60006001600160e01b031982166380ac58cd60e01b148061276357506001600160e01b03198216635b5e139f60e01b145b8061058f57506301ffc9a760e01b6001600160e01b031983161461058f565b6107d2838383612b00565b6000805b825181101561293e5760006001600160a01b03168382815181106127b7576127b7613348565b6020026020010151600001516001600160a01b0316141561281a5760405162461bcd60e51b815260206004820152601b60248201527f526563697069656e742073686f756c642062652070726573656e740000000000604482015260640161069c565b82818151811061282c5761282c613348565b6020026020010151602001516001600160601b0316600014156128915760405162461bcd60e51b815260206004820181905260248201527f526f79616c74792076616c75652073686f756c6420626520706f736974697665604482015260640161069c565b8281815181106128a3576128a3613348565b6020026020010151602001516001600160601b0316826128c391906135aa565b9150600a60008581526020019081526020016000208382815181106128ea576128ea613348565b6020908102919091018101518254600181018455600093845292829020815191909201516001600160601b0316600160a01b026001600160a01b0390911617910155806129368161372f565b915050612791565b50612710811061299e5760405162461bcd60e51b815260206004820152602560248201527f526f79616c747920746f74616c2076616c75652073686f756c64206265203c20604482015264031303030360dc1b606482015260840161069c565b6107d28383612bb8565b60006001600160a01b0384163b15612af557604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906129ec90339089908890889060040161375e565b602060405180830381600087803b158015612a0657600080fd5b505af1925050508015612a36575060408051601f3d908101601f19168201909252612a3391810190613790565b60015b612adb573d808015612a64576040519150601f19603f3d011682016040523d82523d6000602084013e612a69565b606091505b508051612ad35760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606482015260840161069c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611d1a565b506001949350505050565b6001600160a01b038316612b5b57612b5681600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612b7e565b816001600160a01b0316836001600160a01b031614612b7e57612b7e8382612bf5565b6001600160a01b038216612b95576107d281612c92565b826001600160a01b0316826001600160a01b0316146107d2576107d28282612d41565b7f3fa96d7b6bcbfe71ef171666d84db3cf52fa2d1c8afdb1cc8e486177f208b7df8282604051612be99291906137ad565b60405180910390a15050565b60006001612c0284610f28565b612c0c9190613593565b600083815260076020526040902054909150808214612c5f576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612ca490600190613593565b60008381526009602052604081205460088054939450909284908110612ccc57612ccc613348565b906000526020600020015490508060088381548110612ced57612ced613348565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612d2557612d256135c2565b6001900381819060005260206000200160009055905550505050565b6000612d4c83610f28565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b031981168114612d9b57600080fd5b50565b600060208284031215612db057600080fd5b81356113fd81612d85565b60005b83811015612dd6578181015183820152602001612dbe565b838111156111f65750506000910152565b60008151808452612dff816020860160208601612dbb565b601f01601f19169290920160200192915050565b6020815260006113fd6020830184612de7565b600060208284031215612e3857600080fd5b5035919050565b80356001600160a01b038116811461272d57600080fd5b60008060408385031215612e6957600080fd5b612e7283612e3f565b946020939093013593505050565b600080600060608486031215612e9557600080fd5b612e9e84612e3f565b9250612eac60208501612e3f565b9150604084013590509250925092565b60008060408385031215612ecf57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715612f1757612f17612ede565b60405290565b604051610100810167ffffffffffffffff81118282101715612f1757612f17612ede565b604051601f8201601f1916810167ffffffffffffffff81118282101715612f6a57612f6a612ede565b604052919050565b64ffffffffff81168114612d9b57600080fd5b68ffffffffffffffffff81168114612d9b57600080fd5b61ffff81168114612d9b57600080fd5b600060808284031215612fbe57600080fd5b612fc6612ef4565b90508135612fd381612f72565b81526020820135612fe381612f85565b60208201526040820135612ff681612f9c565b6040820152606082013561300981612f9c565b606082015292915050565b8015158114612d9b57600080fd5b803561272d81613014565b6000806000808486036101c081121561304557600080fd5b61304e86612e3f565b94506020860135935061306360408701612e3f565b925061016080605f198301121561307957600080fd5b613081612f1d565b91506130908860608901612fac565b825260e0870135602083015261010087013560408301526101208701356060830152610140870135608083015286013560a082015261018086013560c08201526130dd6101a08701613022565b60e0820152939692955090935050565b6000602082840312156130ff57600080fd5b6113fd82612e3f565b6000806000806080858703121561311e57600080fd5b61312785612e3f565b93506020850135925061313c60408601612e3f565b915061314a60608601612e3f565b905092959194509250565b6000806040838503121561316857600080fd5b8235915061317860208401612e3f565b90509250929050565b6000806040838503121561319457600080fd5b61319d83612e3f565b915060208301356131ad81613014565b809150509250929050565b600080600080608085870312156131ce57600080fd5b6131d785612e3f565b935060206131e6818701612e3f565b935060408601359250606086013567ffffffffffffffff8082111561320a57600080fd5b818801915088601f83011261321e57600080fd5b81358181111561323057613230612ede565b613242601f8201601f19168501612f41565b9150808252898482850101111561325857600080fd5b808484018584013760008482840101525080935050505092959194509250565b600081518084526020808501945080840160005b838110156132c557815180516001600160a01b031688528301516001600160601b0316838801526040909601959082019060010161328c565b509495945050505050565b6020815260006113fd6020830184613278565b600080604083850312156132f657600080fd5b6132ff83612e3f565b915061317860208401612e3f565b600181811c9082168061332157607f821691505b6020821081141561334257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b805161272d81612f9c565b805161272d81613014565b600060e0828403121561338657600080fd5b60405160e0810181811067ffffffffffffffff821117156133a9576133a9612ede565b60405282516133b781612f72565b815260208301516133c781612f85565b602082015260408301516133da81612f85565b604082015260608301516133ed81612f9c565b60608201526133fe6080840161335e565b608082015261340f60a0840161335e565b60a082015261342060c08401613369565b60c08201529392505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561345c5761345c61342c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261348657613486613461565b500490565b600061016082019050825164ffffffffff815116835268ffffffffffffffffff6020820151166020840152604081015161ffff808216604086015280606084015116606086015250505060208301516080830152604083015160a0830152606083015160c0830152608083015160e083015260a083015161010083015260c083015161012083015260e083015161352761014084018215159052565b5092915050565b60008351613540818460208801612dbb565b835190830190613554818360208801612dbb565b01949350505050565b60006020828403121561356f57600080fd5b5051919050565b60006020828403121561358857600080fd5b81516113fd81613014565b6000828210156135a5576135a561342c565b500390565b600082198211156135bd576135bd61342c565b500190565b634e487b7160e01b600052603160045260246000fd5b805160ff8116811461272d57600080fd5b805163ffffffff8116811461272d57600080fd5b600080600080600080600080888a0361016081121561361b57600080fd5b608081121561362957600080fd5b50613632612ef4565b895161363d81612f72565b815260208a015161364d81612f85565b602082015260408a015161366081612f9c565b604082015260608a015161367381612f9c565b6060820152975061368660808a0161335e565b965061369460a08a016135d8565b95506136a260c08a0161335e565b94506136b060e08a0161335e565b93506136bf6101008a016135e9565b92506136ce6101208a016135d8565b91506136dd6101408a01613369565b90509295985092959890939650565b600084516136fe818460208901612dbb565b845190830190613712818360208901612dbb565b8451910190613725818360208801612dbb565b0195945050505050565b60006000198214156137435761374361342c565b5060010190565b60008261375957613759613461565b500690565b60006001600160a01b0380871683528086166020840152508360408301526080606083015261179d6080830184612de7565b6000602082840312156137a257600080fd5b81516113fd81612d85565b828152604060208201526000611d1a604083018461327856fea2646970667358221220190f74f6d37d6347cc990a86eabcba509094f51b095460f06bb88097c7a635f364736f6c63430008090033608060405234801561001057600080fd5b50610e74806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806383197ef01161005b57806383197ef0146100b2578063a8d5fd65146100ba578063acee069e146101ee578063c4d66de81461027257600080fd5b80634313ae42146100825780637396ca651461008c578063780900dc1461009f575b600080fd5b61008a610285565b005b61008a61009a366004610c61565b610361565b61008a6100ad366004610cdf565b610470565b61008a61064b565b6040805160808101825260025464ffffffffff811682526501000000000080820468ffffffffffffffffff166020840152600160701b820461ffff90811694840194909452600160801b9091048316606083015260035461015d938181169262010000830460ff908116936301000000810484169392810490921691670100000000000000810463ffffffff1691600160581b8204811691600160601b90041688565b60408051895164ffffffffff1681526020808b015168ffffffffffffffffff16908201528982015161ffff908116928201929092526060998a0151821699810199909952968716608089015260ff95861660a089015293861660c08801529490911660e086015263ffffffff1661010085015291166101208301521515610140820152610160015b60405180910390f35b6101f6610858565b6040516101e59190600060e08201905064ffffffffff8351168252602083015168ffffffffffffffffff80821660208501528060408601511660408501525050606083015161ffff80821660608501528060808601511660808501528060a08601511660a0850152505060c0830151151560c083015292915050565b61008a610280366004610cf8565b61097e565b600254600160801b900461ffff166102e45760405162461bcd60e51b815260206004820152601f60248201527f4853493a204372656174696f6e206e6f742079657420706572666f726d65640060448201526064015b60405180910390fd5b600080546002546040516332e7b8d960e11b8152306004820152602481019390935264ffffffffff1660448301526001600160a01b0316906365cf71b290606401600060405180830381600087803b15801561033f57600080fd5b505af1158015610353573d6000803e3d6000fd5b5050505061035f610a22565b565b6001546001600160a01b0316331461038b5760405162461bcd60e51b81526004016102db90610d28565b60208101516003805460408401516060850151608086015160a087015160c088015160e09098015161ffff97881662ffffff19909616959095176201000060ff958616021766ffffffff000000191663010000009388169390930266ffff0000000000191692909217650100000000009690911695909502949094176bffffffffff00000000000000191667010000000000000063ffffffff909516949094026bff0000000000000000000000191693909317600160581b9390941692909202929092176cff0000000000000000000000001916600160601b91151591909102179055565b600080546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156104b457600080fd5b505afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec9190610d6c565b6001549091506001600160a01b031633146105195760405162461bcd60e51b81526004016102db90610d28565b600254600160801b900461ffff16156105745760405162461bcd60e51b815260206004820152601f60248201527f4853493a204372656174696f6e20616c726561647920706572666f726d65640060448201526064016102db565b600081116105da5760405162461bcd60e51b815260206004820152602d60248201527f4853493a204372656174696f6e2072657175697265732061206e6f6e2d7a657260448201526c6f204845582062616c616e636560981b60648201526084016102db565b600054604051630a54871760e31b815260048101839052602481018490526001600160a01b03909116906352a438b890604401600060405180830381600087803b15801561062757600080fd5b505af115801561063b573d6000803e3d6000fd5b50505050610647610a22565b5050565b6001546001600160a01b031633146106755760405162461bcd60e51b81526004016102db90610d28565b600254600160801b900461ffff166106cf5760405162461bcd60e51b815260206004820152601f60248201527f4853493a204372656174696f6e206e6f742079657420706572666f726d65640060448201526064016102db565b60008054600254604051631a1804d160e11b8152600481019390935264ffffffffff1660248301526001600160a01b03169063343009a290604401600060405180830381600087803b15801561072457600080fd5b505af1158015610738573d6000803e3d6000fd5b5050600080546040516370a0823160e01b81523060048201529193506001600160a01b031691506370a082319060240160206040518083038186803b15801561078057600080fd5b505afa158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190610d6c565b60005460015460405163095ea7b360e01b81526001600160a01b03918216600482015260248101849052929350169063095ea7b390604401602060405180830381600087803b15801561080a57600080fd5b505af115801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190610d85565b1561007d576001546001600160a01b0316ff5b50565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915260008054604051632607443b60e01b8152306004820152602481018390528291829182918291829182916001600160a01b0390911690632607443b9060440160e06040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190610da2565b6040805160e08101825264ffffffffff98909816885268ffffffffffffffffff9687166020890152949095169386019390935261ffff9182166060860152811660808501521660a0830152151560c082015298975050505050505050565b6001546001600160a01b0316156109e55760405162461bcd60e51b815260206004820152602560248201527f4853493a20496e697469616c697a6174696f6e20616c726561647920706572666044820152641bdc9b595960da1b60648201526084016102db565b600180543373ffffffffffffffffffffffffffffffffffffffff1991821617909155600080549091166001600160a01b0392909216919091179055565b60008054604051632607443b60e01b8152306004820152602481018390528291829182918291829182916001600160a01b0390911690632607443b9060440160e06040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190610da2565b50506002805464ffffffffff969096166dffffffffffffffffffffffffffff19909616959095176501000000000068ffffffffffffffffff94909416939093029290921771ffffffff00000000000000000000000000001916600160701b61ffff9283160261ffff60801b191617600160801b9290911691909102179091555050505050505050565b604051610100810167ffffffffffffffff81118282101715610b6c57634e487b7160e01b600052604160045260246000fd5b60405290565b64ffffffffff8116811461085557600080fd5b68ffffffffffffffffff8116811461085557600080fd5b61ffff8116811461085557600080fd5b600060808284031215610bbe57600080fd5b6040516080810181811067ffffffffffffffff82111715610bef57634e487b7160e01b600052604160045260246000fd5b6040529050808235610c0081610b72565b81526020830135610c1081610b85565b60208201526040830135610c2381610b9c565b60408201526060830135610c3681610b9c565b6060919091015292915050565b801515811461085557600080fd5b8035610c5c81610c43565b919050565b60006101608284031215610c7457600080fd5b610c7c610b3a565b610c868484610bac565b81526080830135602082015260a0830135604082015260c0830135606082015260e0830135608082015261010083013560a082015261012083013560c0820152610cd36101408401610c51565b60e08201529392505050565b600060208284031215610cf157600080fd5b5035919050565b600060208284031215610d0a57600080fd5b81356001600160a01b0381168114610d2157600080fd5b9392505050565b60208082526024908201527f4853493a2043616c6c6572206d75737420626520636f6e74726163742063726560408201526330ba37b960e11b606082015260800190565b600060208284031215610d7e57600080fd5b5051919050565b600060208284031215610d9757600080fd5b8151610d2181610c43565b600080600080600080600060e0888a031215610dbd57600080fd5b8751610dc881610b72565b6020890151909750610dd981610b85565b6040890151909650610dea81610b85565b6060890151909550610dfb81610b9c565b6080890151909450610e0c81610b9c565b60a0890151909350610e1d81610b9c565b60c0890151909250610e2e81610c43565b809150509295989194975092955056fea264697066735822122055e7b705b10f2b2c963984150458d56028c6a362cfda89761c00dbc65cff4c5164736f6c634300080900330000000000000000000000002b591e99afe9f32eaa6214f7b7629768c40eeb39000000000000000000000000000000000000000000000000000000005de5a580

Type / to focus