0x60a06040523060805234801561001457600080fd5b506080516111116100456000396000818161039b015281816103e4015281816105f0015261063001526111116000f3fe6080604052600436106100905760003560e01c8063715018a611610059578063715018a6146101465780638da5cb5b1461015b578063b29a814014610179578063bc62afc714610199578063f2fde38b146101b957600080fd5b806223de29146100955780633659cfe6146100b7578063485cc955146100d75780634f1ef286146100f75780636e65b5391461010a575b600080fd5b3480156100a157600080fd5b506100b56100b0366004610d00565b6101d9565b005b3480156100c357600080fd5b506100b56100d2366004610dab565b610391565b3480156100e357600080fd5b506100b56100f2366004610dc6565b610462565b6100b5610105366004610e0f565b6105e6565b34801561011657600080fd5b5060ca5461012a906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561015257600080fd5b506100b561069f565b34801561016757600080fd5b506097546001600160a01b031661012a565b34801561018557600080fd5b506100b5610194366004610ed1565b6106d5565b3480156101a557600080fd5b5060c95461012a906001600160a01b031681565b3480156101c557600080fd5b506100b56101d4366004610dab565b610770565b60ca546001600160a01b0316331480156101fb57506001600160a01b03871615155b801561021557506097546001600160a01b03888116911614155b156102335760405163cb263c3f60e01b815260040160405180910390fd5b60c9546001600160a01b031633036103875760c954604080516324b76fd560e01b8152600481018890526024810191909152600060448201526001600160a01b03909116906324b76fd5906064016020604051808303816000875af11580156102a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c49190610efb565b5060ca5460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018890529091169063a9059cbb906044016020604051808303816000875af1158015610318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033c9190610efb565b5060ca5460c9546040518781526001600160a01b0392831692909116907f928fd5531324ee87d76cc5307dc37580174da76b85cd546da631b2670bc266b59060200160405180910390a35b5050505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103e25760405162461bcd60e51b81526004016103d990610f1d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610414610808565b6001600160a01b03161461043a5760405162461bcd60e51b81526004016103d990610f69565b61044381610836565b6040805160008082526020820190925261045f91839190610860565b50565b600054610100900460ff1661047d5760005460ff1615610481565b303b155b6104e45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103d9565b600054610100900460ff16158015610506576000805461ffff19166101011790555b61050e6109ab565b6040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561058757600080fd5b505af115801561059b573d6000803e3d6000fd5b505060c980546001600160a01b038088166001600160a01b03199283161790925560ca805492871692909116919091179055505080156105e1576000805461ff00191690555b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361062e5760405162461bcd60e51b81526004016103d990610f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610660610808565b6001600160a01b0316146106865760405162461bcd60e51b81526004016103d990610f69565b61068f82610836565b61069b82826001610860565b5050565b6097546001600160a01b031633146106c95760405162461bcd60e51b81526004016103d990610fb5565b6106d360006109e2565b565b6097546001600160a01b031633146106ff5760405162461bcd60e51b81526004016103d990610fb5565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190610efb565b6097546001600160a01b0316331461079a5760405162461bcd60e51b81526004016103d990610fb5565b6001600160a01b0381166107ff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103d9565b61045f816109e2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6097546001600160a01b0316331461045f5760405162461bcd60e51b81526004016103d990610fb5565b600061086a610808565b905061087584610a34565b6000835111806108825750815b15610893576108918484610ad9565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166109a457805460ff191660011781556040516001600160a01b038316602482015261091290869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052610ad9565b50805460ff19168155610923610808565b6001600160a01b0316826001600160a01b03161461099b5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016103d9565b6109a485610bc4565b5050505050565b600054610100900460ff166109d25760405162461bcd60e51b81526004016103d990610fea565b6109da610c04565b6106d3610c2b565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b803b610a985760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103d9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b610b385760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016103d9565b600080846001600160a01b031684604051610b539190611065565b600060405180830381855af49150503d8060008114610b8e576040519150601f19603f3d011682016040523d82523d6000602084013e610b93565b606091505b5091509150610bbb82826040518060600160405280602781526020016110b560279139610c5b565b95945050505050565b610bcd81610a34565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff166106d35760405162461bcd60e51b81526004016103d990610fea565b600054610100900460ff16610c525760405162461bcd60e51b81526004016103d990610fea565b6106d3336109e2565b60608315610c6a575081610c94565b825115610c7a5782518084602001fd5b8160405162461bcd60e51b81526004016103d99190611081565b9392505050565b80356001600160a01b0381168114610cb257600080fd5b919050565b60008083601f840112610cc957600080fd5b50813567ffffffffffffffff811115610ce157600080fd5b602083019150836020828501011115610cf957600080fd5b9250929050565b60008060008060008060008060c0898b031215610d1c57600080fd5b610d2589610c9b565b9750610d3360208a01610c9b565b9650610d4160408a01610c9b565b955060608901359450608089013567ffffffffffffffff80821115610d6557600080fd5b610d718c838d01610cb7565b909650945060a08b0135915080821115610d8a57600080fd5b50610d978b828c01610cb7565b999c989b5096995094979396929594505050565b600060208284031215610dbd57600080fd5b610c9482610c9b565b60008060408385031215610dd957600080fd5b610de283610c9b565b9150610df060208401610c9b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610e2257600080fd5b610e2b83610c9b565b9150602083013567ffffffffffffffff80821115610e4857600080fd5b818501915085601f830112610e5c57600080fd5b813581811115610e6e57610e6e610df9565b604051601f8201601f19908116603f01168101908382118183101715610e9657610e96610df9565b81604052828152886020848701011115610eaf57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215610ee457600080fd5b610eed83610c9b565b946020939093013593505050565b600060208284031215610f0d57600080fd5b81518015158114610c9457600080fd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611050578181015183820152602001611038565b8381111561105f576000848401525b50505050565b60008251611077818460208701611035565b9190910192915050565b60208152600082518060208401526110a0816040850160208701611035565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122084e6297256c2437ea52a42e325d1b5094df58bd7f317922a5d287c579439c35b64736f6c634300080d0033