0x6080604052600436106101855760003560e01c80637d1db4a5116100d15780639e78fb4f1161008a578063a9059cbb11610064578063a9059cbb1461047c578063bf8e28b91461049c578063dd62ed3e146104cc578063f2fde38b1461051257600080fd5b80639e78fb4f14610432578063a70419d214610447578063a8aa1b311461045c57600080fd5b80637d1db4a51461035d5780638cd4426d146103735780638da5cb5b146103935780639213c358146103c557806395d89b41146103e55780639d8740cb1461041257600080fd5b80633f4218e01161013e57806370a082311161011857806370a08231146102e7578063715018a61461031d578063751039fc1461033257806378109e541461034757600080fd5b80633f4218e01461028257806348ff2b8b146102b257806351bc3c85146102d257600080fd5b806306fdde0314610191578063095ea7b3146101dc57806318160ddd1461020c57806323b872dd1461022f578063293230b81461024f578063313ce5671461026657600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152601081526f50756d70497455702046696e616e636560801b60208201525b6040516101d39190611908565b60405180910390f35b3480156101e857600080fd5b506101fc6101f736600461196b565b610532565b60405190151581526020016101d3565b34801561021857600080fd5b50610221610549565b6040519081526020016101d3565b34801561023b57600080fd5b506101fc61024a366004611997565b6105ba565b34801561025b57600080fd5b50610264610624565b005b34801561027257600080fd5b50604051601281526020016101d3565b34801561028e57600080fd5b506101fc61029d3660046119d8565b60046020526000908152604090205460ff1681565b3480156102be57600080fd5b506102646102cd366004611a03565b6106ac565b3480156102de57600080fd5b50610264610701565b3480156102f357600080fd5b506102216103023660046119d8565b6001600160a01b031660009081526002602052604090205490565b34801561032957600080fd5b50610264610735565b34801561033e57600080fd5b50610264610769565b34801561035357600080fd5b5061022160195481565b34801561036957600080fd5b5061022160185481565b34801561037f57600080fd5b5061026461038e36600461196b565b6107a0565b34801561039f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d3565b3480156103d157600080fd5b506102646103e0366004611a3c565b6108cd565b3480156103f157600080fd5b506040805180820190915260048152630504955560e41b60208201526101c6565b34801561041e57600080fd5b5061026461042d366004611a87565b610973565b34801561043e57600080fd5b506102646109d9565b34801561045357600080fd5b50610264610bab565b34801561046857600080fd5b506007546103ad906001600160a01b031681565b34801561048857600080fd5b506101fc61049736600461196b565b610be6565b3480156104a857600080fd5b506101fc6104b73660046119d8565b60056020526000908152604090205460ff1681565b3480156104d857600080fd5b506102216104e7366004611ab3565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051e57600080fd5b5061026461052d3660046119d8565b610bf3565b600061053f338484610c8e565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105b59290916105af9190610db2565b90610db2565b905090565b60006105c7848484610dbe565b610619843361061485604051806060016040528060288152602001611c94602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611251565b610c8e565b5060015b9392505050565b6000546001600160a01b031633146106575760405162461bcd60e51b815260040161064e90611ae1565b60405180910390fd5b6007805460ff60a01b1916600160a01b179055600154620f42409061067d906009611b2c565b6106879190611b43565b600c55600154620f42409061069d906009611b2c565b6106a79190611b43565b600b55565b6000546001600160a01b031633146106d65760405162461bcd60e51b815260040161064e90611ae1565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461072b5760405162461bcd60e51b815260040161064e90611ae1565b61073361127d565b565b6000546001600160a01b0316331461075f5760405162461bcd60e51b815260040161064e90611ae1565b6107336000611434565b6000546001600160a01b031633146107935760405162461bcd60e51b815260040161064e90611ae1565b6001546018819055601955565b6000546001600160a01b031633146107ca5760405162461bcd60e51b815260040161064e90611ae1565b6040516370a0823160e01b815230600482015260009061084e906064906108489085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190611b65565b90611484565b90611490565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af11580156108a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c79190611b7e565b50505050565b6000546001600160a01b031633146108f75760405162461bcd60e51b815260040161064e90611ae1565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b0316331461099d5760405162461bcd60e51b815260040161064e90611ae1565b600a8390556001546109b890620186a0906108489085611484565b600b556001546109d190620186a0906108489084611484565b600c55505050565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161064e90611ae1565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7a9190611b9b565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611b9b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190611b9b565b600780546001600160a01b0319166001600160a01b039290921691909117905530600090815260026020526040902054610733904761149c565b6000546001600160a01b03163314610bd55760405162461bcd60e51b815260040161064e90611ae1565b60c8600e8190556011819055601255565b600061053f338484610dbe565b6000546001600160a01b03163314610c1d5760405162461bcd60e51b815260040161064e90611ae1565b6001600160a01b038116610c825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064e565b610c8b81611434565b50565b6001600160a01b038316610cf05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064e565b6001600160a01b038216610d515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061061d8284611bb8565b6001600160a01b038316610e225760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161064e565b6001600160a01b038216610e845760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161064e565b6001600160a01b03831660009081526004602052604090205460ff16158015610ec657506001600160a01b03821660009081526004602052604090205460ff16155b15610f1557600754600160a01b900460ff16610f155760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161064e565b6007546001600160a01b038381169116148015610f4b57506001600160a01b03831660009081526004602052604090205460ff16155b15610f6957600160086000828254610f639190611bcb565b90915550505b6007546001600160a01b038381169116148015610f9e57506001600160a01b03831660009081526005602052604090205460ff165b15610fd5576001600160a01b03821660009081526002602052604081208054839290610fcb908490611bcb565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561101757506001600160a01b03821660009081526004602052604090205460ff16155b801561103157506007546001600160a01b03838116911614155b801561104857506001600160a01b03821661dead14155b156110c1576019546001600160a01b0383166000908152600260205260409020546110739083611550565b11156110c15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161064e565b601854811115806110ea57506001600160a01b03831660009081526004602052604090205460ff165b8061110d57506001600160a01b03821660009081526004602052604090205460ff165b61114d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161064e565b61115883838361155c565b1561116b5761116561127d565b60006008555b6001600160a01b03831660009081526002602052604090205461118e9082610db2565b6001600160a01b0384166000908152600260205260408120919091556111b48484611616565b6111be57816111c9565b6111c984848461165c565b6001600160a01b0384166000908152600260205260409020549091506111ef9082611550565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112439085815260200190565b60405180910390a350505050565b600081848411156112755760405162461bcd60e51b815260040161064e9190611908565b505050900390565b6009805460ff1916600117905530600090815260026020526040902054600b546112a9906103e8611b2c565b8111156112c257600b546112bf906103e8611b2c565b90505b60006112f16002610842600f546112eb600e546112eb6001600d5461155090919063ffffffff16565b90611550565b9050600061130e82610848600d548661148490919063ffffffff16565b9050600061131c8483610db2565b90504761132882611763565b60006113344783610db2565b90506000611357611350600d5488610db290919063ffffffff16565b8390611490565b90506000611370600d548361148490919063ffffffff16565b9050801561138257611382868261149c565b600e5460009061139790610842856002611484565b905080156113db576016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113d9573d6000803e3d6000fd5b505b47801561141e576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561141c573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061061d8284611b2c565b600061061d8284611b43565b6006546114b49030906001600160a01b031684610c8e565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611524573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115499190611bde565b5050505050565b600061061d8284611bcb565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115975750600754600160a81b900460ff165b80156115ac5750600754600160a01b900460ff165b80156115b55750815b80156115da57506001600160a01b03861660009081526004602052604090205460ff16155b80156115f357506007546001600160a01b038681169116145b80156116035750600a5460085410155b801561160c5750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff1615801561061d5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061166985856118bd565b111561175c57600061168c61167e86866118bd565b601454610842908690611490565b306000908152600260205260409020549091506116a99082611550565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116fa9085815260200190565b60405180910390a3600060105411801561171e575060105461171c86866118bd565b115b1561174a5761174a3061dead6117456010546108426014548961149090919063ffffffff16565b610dbe565b6117548382610db2565b91505061061d565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179857611798611c0c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118159190611b9b565b8160018151811061182857611828611c0c565b6001600160a01b03928316602091820292909201015260065461184e9130911684610c8e565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611887908590600090869030904290600401611c22565b600060405180830381600087803b1580156118a157600080fd5b505af11580156118b5573d6000803e3d6000fd5b505050505050565b6007546000906001600160a01b03908116908316036118df5750601254610543565b6007546001600160a01b03908116908416036118fe5750601154610543565b5060135492915050565b600060208083528351808285015260005b8181101561193557858101830151858201604001528201611919565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c8b57600080fd5b6000806040838503121561197e57600080fd5b823561198981611956565b946020939093013593505050565b6000806000606084860312156119ac57600080fd5b83356119b781611956565b925060208401356119c781611956565b929592945050506040919091013590565b6000602082840312156119ea57600080fd5b813561061d81611956565b8015158114610c8b57600080fd5b60008060408385031215611a1657600080fd5b8235611a2181611956565b91506020830135611a31816119f5565b809150509250929050565b600080600060608486031215611a5157600080fd5b8335611a5c81611956565b92506020840135611a6c81611956565b91506040840135611a7c81611956565b809150509250925092565b600080600060608486031215611a9c57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611ac657600080fd5b8235611ad181611956565b91506020830135611a3181611956565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761054357610543611b16565b600082611b6057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b7757600080fd5b5051919050565b600060208284031215611b9057600080fd5b815161061d816119f5565b600060208284031215611bad57600080fd5b815161061d81611956565b8181038181111561054357610543611b16565b8082018082111561054357610543611b16565b600080600060608486031215611bf357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c725784516001600160a01b031683529383019391830191600101611c4d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201010a8699a24d5e15bc335826263d52b425f972ea914857d82859ba5a0e10a5f64736f6c63430008130033
0x6080604052620000126012600a62000380565b62000021906298968062000398565b60018190556007805461ffff60a01b1916600160a81b1790556000600a55620186a09062000052906103e862000398565b6200005e9190620003b2565b600b55620186a0600154600a62000076919062000398565b620000829190620003b2565b600c556000600d8190556107d0600e819055600f829055601091909155601181905560125560646013556127106014819055601580546001600160a01b031990811673f71c69d41d3d4119a3d5c0d527513e2545db06c61790915560168054821673f244a010bf41f334346ae13e12cf012f7c4b98eb1790556017805490911633179055600154620001169060c862000398565b620001229190620003b2565b60185561271060015460c862000139919062000398565b620001459190620003b2565b6019553480156200015557600080fd5b5062000161336200021b565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556015546001600160a01b03166000908152600560209081526040808320805460ff1990811660019081179092553085526004845282852080548216831790553380865283862080549092168317909155905460028452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620003d5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c2578160001904821115620002a657620002a66200026b565b80851615620002b457918102915b93841c939080029062000286565b509250929050565b600082620002db575060016200037a565b81620002ea575060006200037a565b81600181146200030357600281146200030e576200032e565b60019150506200037a565b60ff8411156200032257620003226200026b565b50506001821b6200037a565b5060208310610133831016604e8410600b841016171562000353575081810a6200037a565b6200035f838362000281565b80600019048211156200037657620003766200026b565b0290505b92915050565b60006200039160ff841683620002ca565b9392505050565b80820281158282048414176200037a576200037a6200026b565b600082620003d057634e487b7160e01b600052601260045260246000fd5b500490565b611cf180620003e56000396000f3fe6080604052600436106101855760003560e01c80637d1db4a5116100d15780639e78fb4f1161008a578063a9059cbb11610064578063a9059cbb1461047c578063bf8e28b91461049c578063dd62ed3e146104cc578063f2fde38b1461051257600080fd5b80639e78fb4f14610432578063a70419d214610447578063a8aa1b311461045c57600080fd5b80637d1db4a51461035d5780638cd4426d146103735780638da5cb5b146103935780639213c358146103c557806395d89b41146103e55780639d8740cb1461041257600080fd5b80633f4218e01161013e57806370a082311161011857806370a08231146102e7578063715018a61461031d578063751039fc1461033257806378109e541461034757600080fd5b80633f4218e01461028257806348ff2b8b146102b257806351bc3c85146102d257600080fd5b806306fdde0314610191578063095ea7b3146101dc57806318160ddd1461020c57806323b872dd1461022f578063293230b81461024f578063313ce5671461026657600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152601081526f50756d70497455702046696e616e636560801b60208201525b6040516101d39190611908565b60405180910390f35b3480156101e857600080fd5b506101fc6101f736600461196b565b610532565b60405190151581526020016101d3565b34801561021857600080fd5b50610221610549565b6040519081526020016101d3565b34801561023b57600080fd5b506101fc61024a366004611997565b6105ba565b34801561025b57600080fd5b50610264610624565b005b34801561027257600080fd5b50604051601281526020016101d3565b34801561028e57600080fd5b506101fc61029d3660046119d8565b60046020526000908152604090205460ff1681565b3480156102be57600080fd5b506102646102cd366004611a03565b6106ac565b3480156102de57600080fd5b50610264610701565b3480156102f357600080fd5b506102216103023660046119d8565b6001600160a01b031660009081526002602052604090205490565b34801561032957600080fd5b50610264610735565b34801561033e57600080fd5b50610264610769565b34801561035357600080fd5b5061022160195481565b34801561036957600080fd5b5061022160185481565b34801561037f57600080fd5b5061026461038e36600461196b565b6107a0565b34801561039f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d3565b3480156103d157600080fd5b506102646103e0366004611a3c565b6108cd565b3480156103f157600080fd5b506040805180820190915260048152630504955560e41b60208201526101c6565b34801561041e57600080fd5b5061026461042d366004611a87565b610973565b34801561043e57600080fd5b506102646109d9565b34801561045357600080fd5b50610264610bab565b34801561046857600080fd5b506007546103ad906001600160a01b031681565b34801561048857600080fd5b506101fc61049736600461196b565b610be6565b3480156104a857600080fd5b506101fc6104b73660046119d8565b60056020526000908152604090205460ff1681565b3480156104d857600080fd5b506102216104e7366004611ab3565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561051e57600080fd5b5061026461052d3660046119d8565b610bf3565b600061053f338484610c8e565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105b59290916105af9190610db2565b90610db2565b905090565b60006105c7848484610dbe565b610619843361061485604051806060016040528060288152602001611c94602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611251565b610c8e565b5060015b9392505050565b6000546001600160a01b031633146106575760405162461bcd60e51b815260040161064e90611ae1565b60405180910390fd5b6007805460ff60a01b1916600160a01b179055600154620f42409061067d906009611b2c565b6106879190611b43565b600c55600154620f42409061069d906009611b2c565b6106a79190611b43565b600b55565b6000546001600160a01b031633146106d65760405162461bcd60e51b815260040161064e90611ae1565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461072b5760405162461bcd60e51b815260040161064e90611ae1565b61073361127d565b565b6000546001600160a01b0316331461075f5760405162461bcd60e51b815260040161064e90611ae1565b6107336000611434565b6000546001600160a01b031633146107935760405162461bcd60e51b815260040161064e90611ae1565b6001546018819055601955565b6000546001600160a01b031633146107ca5760405162461bcd60e51b815260040161064e90611ae1565b6040516370a0823160e01b815230600482015260009061084e906064906108489085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190611b65565b90611484565b90611490565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af11580156108a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c79190611b7e565b50505050565b6000546001600160a01b031633146108f75760405162461bcd60e51b815260040161064e90611ae1565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b0316331461099d5760405162461bcd60e51b815260040161064e90611ae1565b600a8390556001546109b890620186a0906108489085611484565b600b556001546109d190620186a0906108489084611484565b600c55505050565b6000546001600160a01b03163314610a035760405162461bcd60e51b815260040161064e90611ae1565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7a9190611b9b565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b009190611b9b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190611b9b565b600780546001600160a01b0319166001600160a01b039290921691909117905530600090815260026020526040902054610733904761149c565b6000546001600160a01b03163314610bd55760405162461bcd60e51b815260040161064e90611ae1565b60c8600e8190556011819055601255565b600061053f338484610dbe565b6000546001600160a01b03163314610c1d5760405162461bcd60e51b815260040161064e90611ae1565b6001600160a01b038116610c825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064e565b610c8b81611434565b50565b6001600160a01b038316610cf05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064e565b6001600160a01b038216610d515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061061d8284611bb8565b6001600160a01b038316610e225760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161064e565b6001600160a01b038216610e845760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161064e565b6001600160a01b03831660009081526004602052604090205460ff16158015610ec657506001600160a01b03821660009081526004602052604090205460ff16155b15610f1557600754600160a01b900460ff16610f155760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161064e565b6007546001600160a01b038381169116148015610f4b57506001600160a01b03831660009081526004602052604090205460ff16155b15610f6957600160086000828254610f639190611bcb565b90915550505b6007546001600160a01b038381169116148015610f9e57506001600160a01b03831660009081526005602052604090205460ff165b15610fd5576001600160a01b03821660009081526002602052604081208054839290610fcb908490611bcb565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561101757506001600160a01b03821660009081526004602052604090205460ff16155b801561103157506007546001600160a01b03838116911614155b801561104857506001600160a01b03821661dead14155b156110c1576019546001600160a01b0383166000908152600260205260409020546110739083611550565b11156110c15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161064e565b601854811115806110ea57506001600160a01b03831660009081526004602052604090205460ff165b8061110d57506001600160a01b03821660009081526004602052604090205460ff165b61114d5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161064e565b61115883838361155c565b1561116b5761116561127d565b60006008555b6001600160a01b03831660009081526002602052604090205461118e9082610db2565b6001600160a01b0384166000908152600260205260408120919091556111b48484611616565b6111be57816111c9565b6111c984848461165c565b6001600160a01b0384166000908152600260205260409020549091506111ef9082611550565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112439085815260200190565b60405180910390a350505050565b600081848411156112755760405162461bcd60e51b815260040161064e9190611908565b505050900390565b6009805460ff1916600117905530600090815260026020526040902054600b546112a9906103e8611b2c565b8111156112c257600b546112bf906103e8611b2c565b90505b60006112f16002610842600f546112eb600e546112eb6001600d5461155090919063ffffffff16565b90611550565b9050600061130e82610848600d548661148490919063ffffffff16565b9050600061131c8483610db2565b90504761132882611763565b60006113344783610db2565b90506000611357611350600d5488610db290919063ffffffff16565b8390611490565b90506000611370600d548361148490919063ffffffff16565b9050801561138257611382868261149c565b600e5460009061139790610842856002611484565b905080156113db576016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113d9573d6000803e3d6000fd5b505b47801561141e576015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561141c573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061061d8284611b2c565b600061061d8284611b43565b6006546114b49030906001600160a01b031684610c8e565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611524573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115499190611bde565b5050505050565b600061061d8284611bcb565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115975750600754600160a81b900460ff165b80156115ac5750600754600160a01b900460ff165b80156115b55750815b80156115da57506001600160a01b03861660009081526004602052604090205460ff16155b80156115f357506007546001600160a01b038681169116145b80156116035750600a5460085410155b801561160c5750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff1615801561061d5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061166985856118bd565b111561175c57600061168c61167e86866118bd565b601454610842908690611490565b306000908152600260205260409020549091506116a99082611550565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116fa9085815260200190565b60405180910390a3600060105411801561171e575060105461171c86866118bd565b115b1561174a5761174a3061dead6117456010546108426014548961149090919063ffffffff16565b610dbe565b6117548382610db2565b91505061061d565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179857611798611c0c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118159190611b9b565b8160018151811061182857611828611c0c565b6001600160a01b03928316602091820292909201015260065461184e9130911684610c8e565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611887908590600090869030904290600401611c22565b600060405180830381600087803b1580156118a157600080fd5b505af11580156118b5573d6000803e3d6000fd5b505050505050565b6007546000906001600160a01b03908116908316036118df5750601254610543565b6007546001600160a01b03908116908416036118fe5750601154610543565b5060135492915050565b600060208083528351808285015260005b8181101561193557858101830151858201604001528201611919565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c8b57600080fd5b6000806040838503121561197e57600080fd5b823561198981611956565b946020939093013593505050565b6000806000606084860312156119ac57600080fd5b83356119b781611956565b925060208401356119c781611956565b929592945050506040919091013590565b6000602082840312156119ea57600080fd5b813561061d81611956565b8015158114610c8b57600080fd5b60008060408385031215611a1657600080fd5b8235611a2181611956565b91506020830135611a31816119f5565b809150509250929050565b600080600060608486031215611a5157600080fd5b8335611a5c81611956565b92506020840135611a6c81611956565b91506040840135611a7c81611956565b809150509250925092565b600080600060608486031215611a9c57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611ac657600080fd5b8235611ad181611956565b91506020830135611a3181611956565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761054357610543611b16565b600082611b6057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b7757600080fd5b5051919050565b600060208284031215611b9057600080fd5b815161061d816119f5565b600060208284031215611bad57600080fd5b815161061d81611956565b8181038181111561054357610543611b16565b8082018082111561054357610543611b16565b600080600060608486031215611bf357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c725784516001600160a01b031683529383019391830191600101611c4d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201010a8699a24d5e15bc335826263d52b425f972ea914857d82859ba5a0e10a5f64736f6c63430008130033