0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638f32d59b116100de578063ce49265c11610097578063e2633bfe11610071578063e2633bfe14610440578063e35d0fec14610448578063f2fde38b14610450578063fd1a7e85146104765761018e565b8063ce49265c146103e0578063d91114bd146103fd578063d9377878146104235761018e565b80638f32d59b1461034557806398bc155f1461034d578063b4ef64f614610376578063c35855191461037e578063c4a7dea3146103a4578063c4db8413146103c35761018e565b80635bdc65bf1161014b57806373b8ff1a1161012557806373b8ff1a146102a757806376b467b7146102cd5780638229084b146102f35780638da5cb5b146103215761018e565b80635bdc65bf1461024a57806367adb0d414610270578063715018a61461029f5761018e565b806304e5871e146101935780630870d18a146101af57806310bee218146101d05780631310b8ce146101ed578063282d3fdf146101f557806339a79bdf14610221575b600080fd5b61019b610493565b604080519115158252519081900360200190f35b6101ce600480360360208110156101c557600080fd5b5035151561049c565b005b6101ce600480360360208110156101e657600080fd5b5035610538565b61019b610873565b6101ce6004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610881565b6101ce6004803603606081101561023757600080fd5b50803590602081013590604001356109e0565b61019b6004803603602081101561026057600080fd5b50356001600160a01b0316610a88565b61028d6004803603602081101561028657600080fd5b5035610aa6565b60408051918252519081900360200190f35b6101ce610aba565b61019b600480360360208110156102bd57600080fd5b50356001600160a01b0316610b4b565b61028d600480360360208110156102e357600080fd5b50356001600160a01b0316610b69565b61028d6004803603604081101561030957600080fd5b506001600160a01b0381358116916020013516610b84565b610329610baf565b604080516001600160a01b039092168252519081900360200190f35b61019b610bbf565b6101ce6004803603606081101561036357600080fd5b5080359060208101359060400135610be3565b610329610c9e565b61019b6004803603602081101561039457600080fd5b50356001600160a01b0316610cad565b6101ce600480360360208110156103ba57600080fd5b50351515610ccb565b61028d600480360360208110156103d957600080fd5b5035610d5f565b6101ce600480360360208110156103f657600080fd5b5035610d6c565b6101ce6004803603602081101561041357600080fd5b50356001600160a01b0316610f3a565b6101ce6004803603602081101561043957600080fd5b5035611037565b61032961125a565b6101ce611269565b6101ce6004803603602081101561046657600080fd5b50356001600160a01b0316611439565b61028d6004803603602081101561048c57600080fd5b5035611489565b60095460ff1681565b6104a4610bbf565b6104e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6009805461ff001916610100831515908102919091179091556040805191825242602083015280517f14abc48c0ce384372fd602cf0638af801440562a7b25a8948fc08947273835689281900390910190a150565b600954610100900460ff1615610595576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a2044414f39206465706f736974732061726520706175736564604482015290519081900360640190fd5b600a81600381106105a257fe5b01546002546001600160a01b03166370a082316105bd611496565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561060357600080fd5b505afa158015610617573d6000803e3d6000fd5b505050506040513d602081101561062d57600080fd5b5051101561066c5760405162461bcd60e51b8152600401808060200182810382526030815260200180611a2a6030913960400191505060405180910390fd5b6010816003811061067957fe5b0154600d826003811061068857fe5b0154106106d3576040805162461bcd60e51b815260206004820152601460248201527314dd185ad95c8e88141bdbdb081a5cc8199d5b1b60621b604482015290519081900360640190fd5b600760006106df611496565b6001600160a01b0316815260208101919091526040016000205460ff161561074e576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a205573657220616c7265616479207374616b65642044414f39604482015290519081900360640190fd5b6006600061075a611496565b6001600160a01b0316815260208101919091526040016000205460ff16156107c9576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a2055736572207374616b656420696e20463920706f6f6c0000604482015290519081900360640190fd5b6001600760006107d7611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550806008600061081b611496565b6001600160a01b031681526020810191909152604001600020556001600d826003811061084457fe5b0180549091019055600254610870906001600160a01b0316600a836003811061086957fe5b015461149a565b50565b600954610100900460ff1681565b6005600061088d611496565b6001600160a01b0316815260208101919091526040016000205460ff166108fb576040805162461bcd60e51b815260206004820152601a60248201527f5374616b65723a206f6e6c792049444f732063616e206c6f636b000000000000604482015290519081900360640190fd5b42811161094f576040805162461bcd60e51b815260206004820152601d60248201527f5374616b65723a20756e6c6f636b20697320696e207468652070617374000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600460205260409020548111156109dc576001600160a01b03821660008181526004602052604090208290557f75784e97e4541f1b3d2c44d8c51b419e33fb6de615033cfc6e6810db54ffa4fe42836109b5611496565b6040805193845260208401929092526001600160a01b031682820152519081900360600190a25b5050565b600560006109ec611496565b6001600160a01b0316815260208101919091526040016000205460ff16610a5a576040805162461bcd60e51b815260206004820152601a60248201527f5374616b65723a206f6e6c792049444f732063616e206c6f636b000000000000604482015290519081900360640190fd5b6040805160608101825284815260208101849052908101829052610a8290600a906003611937565b50505050565b6001600160a01b031660009081526006602052604090205460ff1690565b600d8160038110610ab357fe5b0154905081565b610ac2610bbf565b610b01576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b031660009081526004602052604090205490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b03165b90565b600080546001600160a01b0316610bd4611496565b6001600160a01b031614905090565b610beb610bbf565b610c2a576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6040805160608101825284815260208101849052908101829052610c52906010906003611937565b50604080518481526020810184905280820183905242606082015290517f31bf9fa4b0f0fde076b7b5e5f8dcc46bdf3be55b639bcc027e7946897748c8f69181900360800190a1505050565b6001546001600160a01b031681565b6001600160a01b031660009081526007602052604090205460ff1690565b610cd3610bbf565b610d12576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6009805460ff19168215159081179091556040805191825242602083015280517fa0d12d2b901943811df34853dd61bd90c36651f030a96b702b16ef4743fc561e9281900390910190a150565b600a8160038110610ab357fe5b4260046000610d79611496565b6001600160a01b03166001600160a01b03168152602001908152602001600020541115610de9576040805162461bcd60e51b815260206004820152601960248201527814dd185ad95c8e881858d8dbdd5b9d081a5cc81b1bd8dad959603a1b604482015290519081900360640190fd5b60008111610e285760405162461bcd60e51b815260040180806020018281038252602e8152602001806119b6602e913960400191505060405180910390fd5b6001546001600160a01b031660009081526003602052604081208291610e4c611496565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015610eaa5760405162461bcd60e51b81526004018080602001828103825260268152602001806119e46026913960400191505060405180910390fd5b600154610ec0906001600160a01b03168261160d565b6001546001600160a01b0316600090815260036020526040812090610ee3611496565b6001600160a01b0316815260208101919091526040016000205461087057600060066000610f0f611496565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b610f42610bbf565b610f81576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6001600160a01b038116610fdc576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a2063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260056020908152604091829020805460ff19166001179055815142815291517fc1e763b8f8f263d0ce7f54a773eff384107df641d4f99254b4d3d0563b895a8d9281900390910190a250565b60095460ff161561108f576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a204639206465706f7369747320617265207061757365640000604482015290519081900360640190fd5b600081116110ce5760405162461bcd60e51b815260040180806020018281038252602e8152602001806119b6602e913960400191505060405180910390fd5b60015481906001600160a01b03166370a082316110e9611496565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561112f57600080fd5b505afa158015611143573d6000803e3d6000fd5b505050506040513d602081101561115957600080fd5b505110156111985760405162461bcd60e51b815260040180806020018281038252602e815260200180611a5a602e913960400191505060405180910390fd5b600760006111a4611496565b6001600160a01b0316815260208101919091526040016000205460ff1615611213576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a2055736572207374616b656420696e2044414f3920706f6f6c604482015290519081900360640190fd5b600160066000611221611496565b6001600160a01b0390811682526020820192909252604001600020805460ff19169215159290921790915560015461087091168261149a565b6002546001600160a01b031681565b4260046000611276611496565b6001600160a01b03166001600160a01b031681526020019081526020016000205411156112e6576040805162461bcd60e51b815260206004820152601960248201527814dd185ad95c8e881858d8dbdd5b9d081a5cc81b1bd8dad959603a1b604482015290519081900360640190fd5b6000600860006112f4611496565b6001600160a01b03908116825260208083019390935260409182016000908120546002549092168152600390935290822090925081611331611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002054116113a4576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a20696e73756666696369656e74207374616b65642044414f39604482015290519081900360640190fd5b6001600d82600381106113b357fe5b01805491909103905560006007816113c9611496565b6001600160a01b03908116825260208083019390935260409182016000908120805460ff191695151595909517909455600254168084526003909252822061087092611413611496565b6001600160a01b03166001600160a01b031681526020019081526020016000205461160d565b611441610bbf565b611480576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6108708161179f565b60108160038110610ab357fe5b3390565b816001600160a01b03166323b872dd6114b1611496565b604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152306024830152604482018590525160648083019260209291908290030181600087803b15801561150557600080fd5b505af1158015611519573d6000803e3d6000fd5b505050506040513d602081101561152f57600080fd5b50506001600160a01b038216600090815260036020526040812061157e91839190611558611496565b6001600160a01b031681526020810191909152604001600020549063ffffffff61183f16565b6001600160a01b03831660009081526003602052604081209061159f611496565b6001600160a01b031681526020810191909152604001600020556115c1611496565b6001600160a01b03167f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b64283604051808381526020018281526020019250505060405180910390a25050565b61167281604051806060016040528060238152602001611a88602391396001600160a01b03851660009081526003602052604081209061164b611496565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6118a016565b6001600160a01b038316600090815260036020526040812090611693611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663a9059cbb6116ce611496565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b506117539050611496565b6001600160a01b03167ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb2804283604051808381526020018281526020019250505060405180910390a25050565b6001600160a01b0381166117e45760405162461bcd60e51b81526004018080602001828103825260268152602001806119906026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015611899576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000818484111561192f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118f45781810151838201526020016118dc565b50505050905090810190601f1680156119215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b8260038101928215611965579160200282015b8281111561196557825182559160200191906001019061194a565b50611971929150611975565b5090565b610bbc91905b80821115611971576000815560010161197b56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735374616b65723a20756e7374616b652076616c75652073686f756c642062652067726561746572207468616e20305374616b65723a20696e73756666696369656e74207374616b65642046392062616c616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725374616b65723a205374616b6520616d6f756e7420657863656564732077616c6c65742044414f392062616c616e63655374616b65723a205374616b6520616d6f756e7420657863656564732077616c6c65742046392062616c616e63655374616b65723a20696e73756666696369656e74207374616b65642062616c616e6365a265627a7a72315820a91982a99388ee40b6ad52574bbd3cb618a191f2609c49d0c395f6fbd628576264736f6c63430005100032
0x60e0604052683627e8f712373c0000608090815269010eff0fae29b1bc000060a05269021e0c0013070adc000060c0526200003f90600a9060036200017d565b5060408051606081018252600080825260208201819052918101919091526200006d90600d906003620001cb565b5060408051606081018252606480825260208201819052918101919091526200009b906010906003620001cb565b50348015620000a957600080fd5b5060405162001d0d38038062001d0d83398181016040526040811015620000cf57600080fd5b5080516020909101516000620000ed6001600160e01b036200017816565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b039384166001600160a01b031991821617909155600280549290931691161790556009805461ff0019166101001790556200021e565b335b90565b8260038101928215620001b9579160200282015b82811115620001b957825182906001600160501b031690559160200191906001019062000191565b50620001c792915062000201565b5090565b8260038101928215620001b9579160200282015b82811115620001b9578251829060ff16905591602001919060010190620001df565b6200017a91905b80821115620001c7576000815560010162000208565b611adf806200022e6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638f32d59b116100de578063ce49265c11610097578063e2633bfe11610071578063e2633bfe14610440578063e35d0fec14610448578063f2fde38b14610450578063fd1a7e85146104765761018e565b8063ce49265c146103e0578063d91114bd146103fd578063d9377878146104235761018e565b80638f32d59b1461034557806398bc155f1461034d578063b4ef64f614610376578063c35855191461037e578063c4a7dea3146103a4578063c4db8413146103c35761018e565b80635bdc65bf1161014b57806373b8ff1a1161012557806373b8ff1a146102a757806376b467b7146102cd5780638229084b146102f35780638da5cb5b146103215761018e565b80635bdc65bf1461024a57806367adb0d414610270578063715018a61461029f5761018e565b806304e5871e146101935780630870d18a146101af57806310bee218146101d05780631310b8ce146101ed578063282d3fdf146101f557806339a79bdf14610221575b600080fd5b61019b610493565b604080519115158252519081900360200190f35b6101ce600480360360208110156101c557600080fd5b5035151561049c565b005b6101ce600480360360208110156101e657600080fd5b5035610538565b61019b610873565b6101ce6004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610881565b6101ce6004803603606081101561023757600080fd5b50803590602081013590604001356109e0565b61019b6004803603602081101561026057600080fd5b50356001600160a01b0316610a88565b61028d6004803603602081101561028657600080fd5b5035610aa6565b60408051918252519081900360200190f35b6101ce610aba565b61019b600480360360208110156102bd57600080fd5b50356001600160a01b0316610b4b565b61028d600480360360208110156102e357600080fd5b50356001600160a01b0316610b69565b61028d6004803603604081101561030957600080fd5b506001600160a01b0381358116916020013516610b84565b610329610baf565b604080516001600160a01b039092168252519081900360200190f35b61019b610bbf565b6101ce6004803603606081101561036357600080fd5b5080359060208101359060400135610be3565b610329610c9e565b61019b6004803603602081101561039457600080fd5b50356001600160a01b0316610cad565b6101ce600480360360208110156103ba57600080fd5b50351515610ccb565b61028d600480360360208110156103d957600080fd5b5035610d5f565b6101ce600480360360208110156103f657600080fd5b5035610d6c565b6101ce6004803603602081101561041357600080fd5b50356001600160a01b0316610f3a565b6101ce6004803603602081101561043957600080fd5b5035611037565b61032961125a565b6101ce611269565b6101ce6004803603602081101561046657600080fd5b50356001600160a01b0316611439565b61028d6004803603602081101561048c57600080fd5b5035611489565b60095460ff1681565b6104a4610bbf565b6104e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6009805461ff001916610100831515908102919091179091556040805191825242602083015280517f14abc48c0ce384372fd602cf0638af801440562a7b25a8948fc08947273835689281900390910190a150565b600954610100900460ff1615610595576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a2044414f39206465706f736974732061726520706175736564604482015290519081900360640190fd5b600a81600381106105a257fe5b01546002546001600160a01b03166370a082316105bd611496565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561060357600080fd5b505afa158015610617573d6000803e3d6000fd5b505050506040513d602081101561062d57600080fd5b5051101561066c5760405162461bcd60e51b8152600401808060200182810382526030815260200180611a2a6030913960400191505060405180910390fd5b6010816003811061067957fe5b0154600d826003811061068857fe5b0154106106d3576040805162461bcd60e51b815260206004820152601460248201527314dd185ad95c8e88141bdbdb081a5cc8199d5b1b60621b604482015290519081900360640190fd5b600760006106df611496565b6001600160a01b0316815260208101919091526040016000205460ff161561074e576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a205573657220616c7265616479207374616b65642044414f39604482015290519081900360640190fd5b6006600061075a611496565b6001600160a01b0316815260208101919091526040016000205460ff16156107c9576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a2055736572207374616b656420696e20463920706f6f6c0000604482015290519081900360640190fd5b6001600760006107d7611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550806008600061081b611496565b6001600160a01b031681526020810191909152604001600020556001600d826003811061084457fe5b0180549091019055600254610870906001600160a01b0316600a836003811061086957fe5b015461149a565b50565b600954610100900460ff1681565b6005600061088d611496565b6001600160a01b0316815260208101919091526040016000205460ff166108fb576040805162461bcd60e51b815260206004820152601a60248201527f5374616b65723a206f6e6c792049444f732063616e206c6f636b000000000000604482015290519081900360640190fd5b42811161094f576040805162461bcd60e51b815260206004820152601d60248201527f5374616b65723a20756e6c6f636b20697320696e207468652070617374000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600460205260409020548111156109dc576001600160a01b03821660008181526004602052604090208290557f75784e97e4541f1b3d2c44d8c51b419e33fb6de615033cfc6e6810db54ffa4fe42836109b5611496565b6040805193845260208401929092526001600160a01b031682820152519081900360600190a25b5050565b600560006109ec611496565b6001600160a01b0316815260208101919091526040016000205460ff16610a5a576040805162461bcd60e51b815260206004820152601a60248201527f5374616b65723a206f6e6c792049444f732063616e206c6f636b000000000000604482015290519081900360640190fd5b6040805160608101825284815260208101849052908101829052610a8290600a906003611937565b50505050565b6001600160a01b031660009081526006602052604090205460ff1690565b600d8160038110610ab357fe5b0154905081565b610ac2610bbf565b610b01576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b031660009081526004602052604090205490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000546001600160a01b03165b90565b600080546001600160a01b0316610bd4611496565b6001600160a01b031614905090565b610beb610bbf565b610c2a576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6040805160608101825284815260208101849052908101829052610c52906010906003611937565b50604080518481526020810184905280820183905242606082015290517f31bf9fa4b0f0fde076b7b5e5f8dcc46bdf3be55b639bcc027e7946897748c8f69181900360800190a1505050565b6001546001600160a01b031681565b6001600160a01b031660009081526007602052604090205460ff1690565b610cd3610bbf565b610d12576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6009805460ff19168215159081179091556040805191825242602083015280517fa0d12d2b901943811df34853dd61bd90c36651f030a96b702b16ef4743fc561e9281900390910190a150565b600a8160038110610ab357fe5b4260046000610d79611496565b6001600160a01b03166001600160a01b03168152602001908152602001600020541115610de9576040805162461bcd60e51b815260206004820152601960248201527814dd185ad95c8e881858d8dbdd5b9d081a5cc81b1bd8dad959603a1b604482015290519081900360640190fd5b60008111610e285760405162461bcd60e51b815260040180806020018281038252602e8152602001806119b6602e913960400191505060405180910390fd5b6001546001600160a01b031660009081526003602052604081208291610e4c611496565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015610eaa5760405162461bcd60e51b81526004018080602001828103825260268152602001806119e46026913960400191505060405180910390fd5b600154610ec0906001600160a01b03168261160d565b6001546001600160a01b0316600090815260036020526040812090610ee3611496565b6001600160a01b0316815260208101919091526040016000205461087057600060066000610f0f611496565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b610f42610bbf565b610f81576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6001600160a01b038116610fdc576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a2063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260056020908152604091829020805460ff19166001179055815142815291517fc1e763b8f8f263d0ce7f54a773eff384107df641d4f99254b4d3d0563b895a8d9281900390910190a250565b60095460ff161561108f576040805162461bcd60e51b815260206004820152601e60248201527f5374616b65723a204639206465706f7369747320617265207061757365640000604482015290519081900360640190fd5b600081116110ce5760405162461bcd60e51b815260040180806020018281038252602e8152602001806119b6602e913960400191505060405180910390fd5b60015481906001600160a01b03166370a082316110e9611496565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561112f57600080fd5b505afa158015611143573d6000803e3d6000fd5b505050506040513d602081101561115957600080fd5b505110156111985760405162461bcd60e51b815260040180806020018281038252602e815260200180611a5a602e913960400191505060405180910390fd5b600760006111a4611496565b6001600160a01b0316815260208101919091526040016000205460ff1615611213576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a2055736572207374616b656420696e2044414f3920706f6f6c604482015290519081900360640190fd5b600160066000611221611496565b6001600160a01b0390811682526020820192909252604001600020805460ff19169215159290921790915560015461087091168261149a565b6002546001600160a01b031681565b4260046000611276611496565b6001600160a01b03166001600160a01b031681526020019081526020016000205411156112e6576040805162461bcd60e51b815260206004820152601960248201527814dd185ad95c8e881858d8dbdd5b9d081a5cc81b1bd8dad959603a1b604482015290519081900360640190fd5b6000600860006112f4611496565b6001600160a01b03908116825260208083019390935260409182016000908120546002549092168152600390935290822090925081611331611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002054116113a4576040805162461bcd60e51b815260206004820181905260248201527f5374616b65723a20696e73756666696369656e74207374616b65642044414f39604482015290519081900360640190fd5b6001600d82600381106113b357fe5b01805491909103905560006007816113c9611496565b6001600160a01b03908116825260208083019390935260409182016000908120805460ff191695151595909517909455600254168084526003909252822061087092611413611496565b6001600160a01b03166001600160a01b031681526020019081526020016000205461160d565b611441610bbf565b611480576040805162461bcd60e51b81526020600482018190526024820152600080516020611a0a833981519152604482015290519081900360640190fd5b6108708161179f565b60108160038110610ab357fe5b3390565b816001600160a01b03166323b872dd6114b1611496565b604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152306024830152604482018590525160648083019260209291908290030181600087803b15801561150557600080fd5b505af1158015611519573d6000803e3d6000fd5b505050506040513d602081101561152f57600080fd5b50506001600160a01b038216600090815260036020526040812061157e91839190611558611496565b6001600160a01b031681526020810191909152604001600020549063ffffffff61183f16565b6001600160a01b03831660009081526003602052604081209061159f611496565b6001600160a01b031681526020810191909152604001600020556115c1611496565b6001600160a01b03167f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b64283604051808381526020018281526020019250505060405180910390a25050565b61167281604051806060016040528060238152602001611a88602391396001600160a01b03851660009081526003602052604081209061164b611496565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6118a016565b6001600160a01b038316600090815260036020526040812090611693611496565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663a9059cbb6116ce611496565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b506117539050611496565b6001600160a01b03167ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb2804283604051808381526020018281526020019250505060405180910390a25050565b6001600160a01b0381166117e45760405162461bcd60e51b81526004018080602001828103825260268152602001806119906026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015611899576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000818484111561192f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118f45781810151838201526020016118dc565b50505050905090810190601f1680156119215780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b8260038101928215611965579160200282015b8281111561196557825182559160200191906001019061194a565b50611971929150611975565b5090565b610bbc91905b80821115611971576000815560010161197b56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735374616b65723a20756e7374616b652076616c75652073686f756c642062652067726561746572207468616e20305374616b65723a20696e73756666696369656e74207374616b65642046392062616c616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725374616b65723a205374616b6520616d6f756e7420657863656564732077616c6c65742044414f392062616c616e63655374616b65723a205374616b6520616d6f756e7420657863656564732077616c6c65742046392062616c616e63655374616b65723a20696e73756666696369656e74207374616b65642062616c616e6365a265627a7a72315820a91982a99388ee40b6ad52574bbd3cb618a191f2609c49d0c395f6fbd628576264736f6c6343000510003200000000000000000000000038a94e92a19e970c144ded0b2dd47278ca11cc1f000000000000000000000000dd0ef0b2de3efec847a79b4ce4de52c4bb98f488