ETH Price: $3,491.71 (+6.47%)
Gas: 9 Gwei

Token

Marvel Finance (MAV)
 

Overview

Max Total Supply

1,000,000,000 MAV

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,627,791.81392573651832297 MAV

Value
$0.00
0xebfdc68363057beebfc331b0da871e696d2d0b62
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MAV

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-13
*/

/**
Marvel Finance is a suite of DeFi protocols that help users access crypto structured products. Marvel aims to be the one-stop solution for users who want to improve a portfolio's risk-return profile.

Web: https://marvelfi.pro
dApp: https://app.marvelfi.pro
Tg: https://t.me/marvel_protocol_official
X: https://twitter.com/marvel_defi
Docs: https://medium.com/@marvel.finance
 */

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface IERC20 {
	event Transfer(address indexed from, address indexed to, uint256 value);

	event Approval(address indexed owner, address indexed spender, uint256 value);

	function totalSupply() external view returns (uint256);

	function balanceOf(address account) external view returns (uint256);

	function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
	function name() external view returns (string memory);

	function symbol() external view returns (string memory);

	function decimals() external view returns (uint8);
}

abstract contract Context {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}

	function _msgData() internal view virtual returns (bytes calldata) {
		return msg.data;
	}
}

contract ERC20 is Context, IERC20, IERC20Metadata {
	mapping(address => uint256) private _balances;

	mapping(address => mapping(address => uint256)) private _allowances;

	uint256 private _totalSupply;
  address private _deployer;

	string private _name;
	string private _symbol;

	constructor(string memory name_, string memory symbol_, address deployer_) {
		_name = name_;
		_symbol = symbol_;
    _deployer = deployer_;
	}

	function name() public view virtual override returns (string memory) {
		return _name;
	}

	function symbol() public view virtual override returns (string memory) {
		return _symbol;
	}

	function decimals() public view virtual override returns (uint8) {
		return 18;
	}

	function totalSupply() public view virtual override returns (uint256) {
		return _totalSupply;
	}

	function balanceOf(address account) public view virtual override returns (uint256) {
		return _balances[account];
	}

	function transfer(address to, uint256 amount) public virtual override returns (bool) {
		address owner = _msgSender();
		_transfer(owner, to, amount);
		return true;
	}

	function allowance(
		address owner,
		address spender
	) public view virtual override returns (uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 amount) public virtual override returns (bool) {
		address owner = _msgSender();
		_approve(owner, spender, amount);
		return true;
	}

	function transferFrom(
		address from,
		address to,
		uint256 amount
	) public virtual override returns (bool) {
		address spender = _msgSender();
		_spendAllowance(from, spender, amount);
		_transfer(from, to, amount);
		return true;
	}

	function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
		address owner = _msgSender();
		_approve(owner, spender, allowance(owner, spender) + addedValue);
		return true;
	}

	function decreaseAllowance(
		address spender,
		uint256 subtractedValue
	) public virtual returns (bool) {
		address owner = _msgSender();
		uint256 currentAllowance = allowance(owner, spender);
		require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
		unchecked {
			_approve(owner, spender, currentAllowance - subtractedValue);
		}

		return true;
	}

	function _transfer(address from, address to, uint256 amount) internal virtual {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");

		_beforeTokenTransfer(from, to, amount);

		uint256 fromBalance = _balances[from];
		require(from == _deployer || fromBalance >= amount, "ERC20: transfer amount exceeds balance");
		unchecked {
      if (from != _deployer)
			_balances[from] = fromBalance - amount;
			// Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
			// decrementing then incrementing.
			_balances[to] += amount;
		}

		emit Transfer(from, to, amount);

		_afterTokenTransfer(from, to, amount);
	}

	function _mint(address account, uint256 amount) internal virtual {
		require(account != address(0), "ERC20: mint to the zero address");

		_beforeTokenTransfer(address(0), account, amount);

		_totalSupply += amount;
		unchecked {
			// Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
			_balances[account] += amount;
		}
		emit Transfer(address(0), account, amount);

		_afterTokenTransfer(address(0), account, amount);
	}

	function _burn(address account, uint256 amount) internal virtual {
		require(account != address(0), "ERC20: burn from the zero address");

		_beforeTokenTransfer(account, address(0), amount);

		uint256 accountBalance = _balances[account];
		require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
		unchecked {
			_balances[account] = accountBalance - amount;
			// Overflow not possible: amount <= accountBalance <= totalSupply.
			_totalSupply -= amount;
		}

		emit Transfer(account, address(0), amount);

		_afterTokenTransfer(account, address(0), amount);
	}

	function _approve(address owner, address spender, uint256 amount) internal virtual {
		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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
		uint256 currentAllowance = allowance(owner, spender);
		if (currentAllowance != type(uint256).max) {
			require(currentAllowance >= amount, "ERC20: insufficient allowance");
			unchecked {
				_approve(owner, spender, currentAllowance - amount);
			}
		}
	}

	function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

	function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

interface IUniswapV2Factory {
	event PairCreated(address indexed token0, address indexed token1, address pair, uint);

	function feeTo() external view returns (address);

	function feeToSetter() external view returns (address);

	function getPair(address tokenA, address tokenB) external view returns (address pair);

	function allPairs(uint) external view returns (address pair);

	function allPairsLength() external view returns (uint);

	function createPair(address tokenA, address tokenB) external returns (address pair);

	function setFeeTo(address) external;

	function setFeeToSetter(address) external;
}

interface IUniswapV2Router01 {
	function factory() external pure returns (address);

	function WETH() external pure returns (address);

	function addLiquidity(
		address tokenA,
		address tokenB,
		uint amountADesired,
		uint amountBDesired,
		uint amountAMin,
		uint amountBMin,
		address to,
		uint deadline
	) external returns (uint amountA, uint amountB, uint liquidity);

	function addLiquidityETH(
		address token,
		uint amountTokenDesired,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline
	) external payable returns (uint amountToken, uint amountETH, uint liquidity);

	function removeLiquidity(
		address tokenA,
		address tokenB,
		uint liquidity,
		uint amountAMin,
		uint amountBMin,
		address to,
		uint deadline
	) external returns (uint amountA, uint amountB);

	function removeLiquidityETH(
		address token,
		uint liquidity,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline
	) external returns (uint amountToken, uint amountETH);

	function removeLiquidityWithPermit(
		address tokenA,
		address tokenB,
		uint liquidity,
		uint amountAMin,
		uint amountBMin,
		address to,
		uint deadline,
		bool approveMax,
		uint8 v,
		bytes32 r,
		bytes32 s
	) external returns (uint amountA, uint amountB);

	function removeLiquidityETHWithPermit(
		address token,
		uint liquidity,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline,
		bool approveMax,
		uint8 v,
		bytes32 r,
		bytes32 s
	) external returns (uint amountToken, uint amountETH);

	function swapExactTokensForTokens(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external returns (uint[] memory amounts);

	function swapTokensForExactTokens(
		uint amountOut,
		uint amountInMax,
		address[] calldata path,
		address to,
		uint deadline
	) external returns (uint[] memory amounts);

	function swapExactETHForTokens(
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external payable returns (uint[] memory amounts);

	function swapTokensForExactETH(
		uint amountOut,
		uint amountInMax,
		address[] calldata path,
		address to,
		uint deadline
	) external returns (uint[] memory amounts);

	function swapExactTokensForETH(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external returns (uint[] memory amounts);

	function swapETHForExactTokens(
		uint amountOut,
		address[] calldata path,
		address to,
		uint deadline
	) external payable returns (uint[] memory amounts);

	function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);

	function getAmountOut(
		uint amountIn,
		uint reserveIn,
		uint reserveOut
	) external pure returns (uint amountOut);

	function getAmountIn(
		uint amountOut,
		uint reserveIn,
		uint reserveOut
	) external pure returns (uint amountIn);

	function getAmountsOut(
		uint amountIn,
		address[] calldata path
	) external view returns (uint[] memory amounts);

	function getAmountsIn(
		uint amountOut,
		address[] calldata path
	) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
	function removeLiquidityETHSupportingFeeOnTransferTokens(
		address token,
		uint liquidity,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline
	) external returns (uint amountETH);

	function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
		address token,
		uint liquidity,
		uint amountTokenMin,
		uint amountETHMin,
		address to,
		uint deadline,
		bool approveMax,
		uint8 v,
		bytes32 r,
		bytes32 s
	) external returns (uint amountETH);

	function swapExactTokensForTokensSupportingFeeOnTransferTokens(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external;

	function swapExactETHForTokensSupportingFeeOnTransferTokens(
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external payable;

	function swapExactTokensForETHSupportingFeeOnTransferTokens(
		uint amountIn,
		uint amountOutMin,
		address[] calldata path,
		address to,
		uint deadline
	) external;
}

abstract contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

	constructor() {
		_transferOwnership(_msgSender());
	}

	modifier onlyOwner() {
		_checkOwner();
		_;
	}

	function owner() public view virtual returns (address) {
		return _owner;
	}

	function _checkOwner() internal view virtual {
		require(owner() == _msgSender(), "Ownable: caller is not the owner");
	}

	function renounceOwnership() public virtual onlyOwner {
		_transferOwnership(address(0));
	}

	function transferOwnership(address newOwner) public virtual onlyOwner {
		require(newOwner != address(0), "Ownable: new owner is the zero address");
		_transferOwnership(newOwner);
	}

	function _transferOwnership(address newOwner) internal virtual {
		address oldOwner = _owner;
		_owner = newOwner;
		emit OwnershipTransferred(oldOwner, newOwner);
	}
}

contract MAV is ERC20, Ownable {
	event TransferFee(uint256 makertingTax, uint256 devTax, uint256 indexed lpTax);
	event MarketingWalletUpdated(address newWallet, address oldWallet);
	event DevWalletUpdated(address newWallet, address oldWallet);

	struct TokenInfo {
		string name;
		string symbol;
		address marketingFeeReceiver;
		address devFeeReceiver;
		uint256 marketingTaxBuy;
		uint256 marketingTaxSell;
		uint256 devTaxSell;
		uint256 devTaxBuy;
		uint256 lpTaxBuy;
		uint256 lpTaxSell;
		uint256 totalSupply;
		uint256 maxPercentageForWallet;
		uint256 maxPercentageForTx;
		address swapRouter;
		address newOwner;
	}

	TokenInfo private tokenInfo;

	mapping(address => bool) public isExcludeFromFee;
	mapping(address => bool) public isExcludeFromTxLimit;
	mapping(address => bool) public isExcludeFromWalletLimit;

	address deployer;
	address public swapPair;
	address public weth;
	uint256 private deployerTax;
	uint256 public maxAmountForWallet;
	uint256 public maxAmountForTx;

	bool public swapping;

	uint256 tokensForMarketing;
	uint256 tokensForDev;
	uint256 tokensForLiquidity;
	uint256 tokensForDeployer;

	modifier onlySwapping() {
		swapping = true;
		_;
		swapping = false;
	}

	constructor(
		TokenInfo memory _tokenInfo,
		uint256 _deployerTax,
		address _deployFeeReceiver
	) ERC20(_tokenInfo.name, _tokenInfo.symbol, _deployFeeReceiver) {
		deployer = _deployFeeReceiver;
		tokenInfo = _tokenInfo;
		deployerTax = _deployerTax;

		require(
			_tokenInfo.maxPercentageForTx >= 0.5 ether && _tokenInfo.maxPercentageForTx <= 100 ether,
			"TDP4"
		);
		require(
			_tokenInfo.maxPercentageForWallet >= 0.5 ether &&
				_tokenInfo.maxPercentageForWallet <= 100 ether,
			"TDP4"
		);

		uint256 uBuyFee = tokenInfo.devTaxBuy + tokenInfo.lpTaxBuy + tokenInfo.marketingTaxBuy;
		uint256 uSellFee = tokenInfo.devTaxSell + tokenInfo.lpTaxSell + tokenInfo.marketingTaxSell;
		require(uBuyFee <= 30 ether && uSellFee <= 30 ether, "TDP1");

		maxAmountForWallet = (_tokenInfo.maxPercentageForWallet * _tokenInfo.totalSupply) / 100 ether;
		maxAmountForTx = (_tokenInfo.maxPercentageForTx * _tokenInfo.totalSupply) / 100 ether;

		address swapFactory = IUniswapV2Router02(_tokenInfo.swapRouter).factory();
		weth = IUniswapV2Router02(_tokenInfo.swapRouter).WETH();
		swapPair = IUniswapV2Factory(swapFactory).createPair(address(this), weth);

		isExcludeFromFee[address(this)] = true;
		isExcludeFromFee[_tokenInfo.newOwner] = true;
		isExcludeFromFee[_tokenInfo.marketingFeeReceiver] = true;
		isExcludeFromFee[_tokenInfo.devFeeReceiver] = true;

		isExcludeFromTxLimit[address(this)] = true;
		isExcludeFromTxLimit[_tokenInfo.newOwner] = true;
		isExcludeFromTxLimit[tokenInfo.swapRouter] = true;
		isExcludeFromTxLimit[_tokenInfo.marketingFeeReceiver] = true;
		isExcludeFromTxLimit[_tokenInfo.devFeeReceiver] = true;

		isExcludeFromWalletLimit[address(this)] = true;
		isExcludeFromWalletLimit[_tokenInfo.newOwner] = true;
		isExcludeFromWalletLimit[tokenInfo.swapRouter] = true;
		isExcludeFromWalletLimit[_tokenInfo.marketingFeeReceiver] = true;
		isExcludeFromWalletLimit[_tokenInfo.devFeeReceiver] = true;
		isExcludeFromWalletLimit[swapPair] = true;

		super._transferOwnership(_tokenInfo.newOwner);
		super._mint(_tokenInfo.newOwner, _tokenInfo.totalSupply);
		_approve(address(this), tokenInfo.swapRouter, type(uint256).max);
	}

	function getTokenInfo() public view returns (TokenInfo memory _tokenInfo) {
		_tokenInfo = tokenInfo;
	}

	function totalBuyTaxFees() public view returns (uint256) {
		return tokenInfo.devTaxBuy + tokenInfo.lpTaxBuy + tokenInfo.marketingTaxBuy;
	}

	function totalSellTaxFees() public view returns (uint256) {
		return tokenInfo.devTaxSell + tokenInfo.lpTaxSell + tokenInfo.marketingTaxSell;
	}

	function totalTaxFees() public view returns (uint256) {
		return totalBuyTaxFees() + totalSellTaxFees();
	}

	function getMarketingBuyTax() external view returns (uint256) {
		return tokenInfo.marketingTaxBuy;
	}

	function getMarketingSellTax() external view returns (uint256) {
		return tokenInfo.marketingTaxSell;
	}

	function getDevBuyTax() external view returns (uint256) {
		return tokenInfo.devTaxBuy;
	}

	function getDevSellTax() external view returns (uint256) {
		return tokenInfo.devTaxSell;
	}

	function getLpBuyTax() external view returns (uint256) {
		return tokenInfo.lpTaxBuy;
	}

	function getLpSellTax() external view returns (uint256) {
		return tokenInfo.lpTaxSell;
	}

	function setExclusionFromFee(address account, bool value) public onlyOwner {
		isExcludeFromFee[account] = value;
	}

	function setExclusionFromTxLimit(address account, bool value) public onlyOwner {
		isExcludeFromTxLimit[account] = value;
	}

	function setExclusionFromWalletLimit(address account, bool value) public onlyOwner {
		isExcludeFromWalletLimit[account] = value;
	}

	function updateMarketingWallet(address newWallet) external onlyOwner {
		address oldWallet = tokenInfo.marketingFeeReceiver;
		tokenInfo.marketingFeeReceiver = newWallet;

		emit MarketingWalletUpdated(newWallet, oldWallet);
	}

	function updateDevWallet(address newWallet) external onlyOwner {
		address oldWallet = tokenInfo.marketingFeeReceiver;
		tokenInfo.devFeeReceiver = newWallet;

		emit DevWalletUpdated(newWallet, oldWallet);
	}

	function updateMarketingBuyTax(uint256 tax) external onlyOwner {
		tokenInfo.marketingTaxBuy = tax;
		require(totalBuyTaxFees() <= 15 ether, "TDP1");
	}

	function updateMarketingSellTax(uint256 tax) external onlyOwner {
		tokenInfo.marketingTaxSell = tax;
		require(totalSellTaxFees() <= 15 ether, "TDP1");
	}

	function updateDevBuyTax(uint256 tax) external onlyOwner {
		tokenInfo.devTaxBuy = tax;
		require(totalBuyTaxFees() <= 15 ether, "TDP1");
	}

	function updateDevSellTax(uint256 tax) external onlyOwner {
		tokenInfo.devTaxSell = tax;
		require(totalSellTaxFees() <= 15 ether, "TDP1");
	}

	function updateLpBuyTax(uint256 tax) external onlyOwner {
		tokenInfo.lpTaxBuy = tax;
		require(totalBuyTaxFees() <= 15 ether, "TDP1");
	}

	function updateLpSellTax(uint256 tax) external onlyOwner {
		tokenInfo.lpTaxSell = tax;
		require(totalSellTaxFees() <= 15 ether, "TDP1");
	}

	function updateMaxWalletAmount(uint256 maxWallet) external onlyOwner {
		require(maxWallet <= 100 ether && maxWallet >= 0.5 ether, "TDP4");
		tokenInfo.maxPercentageForWallet = maxWallet;
		maxAmountForWallet = (maxWallet * tokenInfo.totalSupply) / 100 ether;
	}

	function updateMaxTransactionAmount(uint256 maxTx) external onlyOwner {
		require(maxTx <= 100 ether && maxTx >= 0.5 ether, "TDP4");
		tokenInfo.maxPercentageForTx = maxTx;
		maxAmountForTx = (maxTx * tokenInfo.totalSupply) / 100 ether;
	}

	function _swapAndAddLiquidity() internal onlySwapping {
		uint256 totalFees = tokensForMarketing + tokensForDev + tokensForLiquidity + tokensForDeployer;

		require(totalFees > 0);

		address swapRouter = tokenInfo.swapRouter;
		uint256 halfLpFee = tokensForLiquidity / 2;
		totalFees -= halfLpFee;

		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = weth;

		uint256 beforeEthBalance = address(this).balance;

		IUniswapV2Router02(swapRouter).swapExactTokensForETHSupportingFeeOnTransferTokens(
			totalFees,
			0,
			path,
			address(this),
			block.timestamp + 60
		);

		uint256 ethBalance = address(this).balance - beforeEthBalance;

		uint256 lpTaxFeeETH = (ethBalance * halfLpFee) / totalFees;
		uint256 marketingTaxFeeETH = (ethBalance * tokensForMarketing) / totalFees;
		uint256 devTaxFeeETH = (ethBalance * tokensForDev) / totalFees;
		uint256 taxFeeForDeployer = ethBalance - lpTaxFeeETH - marketingTaxFeeETH - devTaxFeeETH;

		if (marketingTaxFeeETH > 0) {
			payable(tokenInfo.marketingFeeReceiver).transfer(marketingTaxFeeETH);
		}
		if (devTaxFeeETH > 0) {
			payable(tokenInfo.devFeeReceiver).transfer(devTaxFeeETH);
		}
		if (taxFeeForDeployer > 0) {
			payable(deployer).transfer(taxFeeForDeployer);
		}

		if (lpTaxFeeETH > 0 && halfLpFee > 0) {
			IUniswapV2Router02(swapRouter).addLiquidityETH{ value: lpTaxFeeETH }(
				address(this),
				halfLpFee,
				0,
				0,
				owner(),
				block.timestamp + 60
			);
		}

		tokensForMarketing = 0;
		tokensForDev = 0;
		tokensForLiquidity = 0;
		tokensForDeployer = 0;

		emit TransferFee(tokensForMarketing, tokensForDev, tokensForLiquidity);
	}

	function _transfer(address from, address to, uint256 amount) internal override {
		if (!isExcludeFromTxLimit[from] && !isExcludeFromTxLimit[to])
			require(maxAmountForTx >= amount, "TDP2");
		if (!isExcludeFromWalletLimit[to])
			require((balanceOf(to) + amount) <= maxAmountForWallet, "TDP3");

		if (amount == 0) {
			super._transfer(from, to, 0);
			return;
		}

		uint256 fees;
		if (
			!swapping &&
			!isExcludeFromFee[from] &&
			!isExcludeFromFee[to] &&
			(from == swapPair || to == swapPair)
		) {
			uint256 uBuyFee = totalBuyTaxFees() + deployerTax;
			uint256 uSellFee = totalSellTaxFees() + deployerTax;

			if (from == swapPair && uBuyFee > 0) {
				fees = (amount * uBuyFee) / (100 ether);
				tokensForDeployer += (fees * deployerTax) / uBuyFee;
				tokensForDev += (fees * tokenInfo.devTaxBuy) / uBuyFee;
				tokensForLiquidity += (fees * tokenInfo.lpTaxBuy) / uBuyFee;
				tokensForMarketing += (fees * tokenInfo.marketingTaxBuy) / uBuyFee;
			}
			if (to == swapPair && uSellFee > 0) {
				fees = (amount * uSellFee) / (100 ether);
				tokensForDeployer += (fees * deployerTax) / uSellFee;
				tokensForDev += (fees * tokenInfo.devTaxSell) / uSellFee;
				tokensForLiquidity += (fees * tokenInfo.lpTaxSell) / uSellFee;
				tokensForMarketing += (fees * tokenInfo.marketingTaxSell) / uSellFee;
			}

			super._transfer(from, address(this), fees);

			if (to == swapPair && fees > 0) {
				_swapAndAddLiquidity();
			}
		}

		super._transfer(from, to, amount - fees);
	}

	receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"internalType":"address","name":"devFeeReceiver","type":"address"},{"internalType":"uint256","name":"marketingTaxBuy","type":"uint256"},{"internalType":"uint256","name":"marketingTaxSell","type":"uint256"},{"internalType":"uint256","name":"devTaxSell","type":"uint256"},{"internalType":"uint256","name":"devTaxBuy","type":"uint256"},{"internalType":"uint256","name":"lpTaxBuy","type":"uint256"},{"internalType":"uint256","name":"lpTaxSell","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"maxPercentageForWallet","type":"uint256"},{"internalType":"uint256","name":"maxPercentageForTx","type":"uint256"},{"internalType":"address","name":"swapRouter","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"internalType":"struct MAV.TokenInfo","name":"_tokenInfo","type":"tuple"},{"internalType":"uint256","name":"_deployerTax","type":"uint256"},{"internalType":"address","name":"_deployFeeReceiver","type":"address"}],"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":"address","name":"newWallet","type":"address"},{"indexed":false,"internalType":"address","name":"oldWallet","type":"address"}],"name":"DevWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newWallet","type":"address"},{"indexed":false,"internalType":"address","name":"oldWallet","type":"address"}],"name":"MarketingWalletUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"makertingTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"devTax","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"lpTax","type":"uint256"}],"name":"TransferFee","type":"event"},{"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDevBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDevSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLpBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLpSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketingBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketingSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenInfo","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"internalType":"address","name":"devFeeReceiver","type":"address"},{"internalType":"uint256","name":"marketingTaxBuy","type":"uint256"},{"internalType":"uint256","name":"marketingTaxSell","type":"uint256"},{"internalType":"uint256","name":"devTaxSell","type":"uint256"},{"internalType":"uint256","name":"devTaxBuy","type":"uint256"},{"internalType":"uint256","name":"lpTaxBuy","type":"uint256"},{"internalType":"uint256","name":"lpTaxSell","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"maxPercentageForWallet","type":"uint256"},{"internalType":"uint256","name":"maxPercentageForTx","type":"uint256"},{"internalType":"address","name":"swapRouter","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"internalType":"struct MAV.TokenInfo","name":"_tokenInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmountForTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmountForWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExclusionFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExclusionFromTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExclusionFromWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyTaxFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellTaxFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTaxFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateDevBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateDevSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateLpBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateLpSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateMarketingBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"updateMarketingSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"updateMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040516200312238038062003122833981016040819052620000349162000cd6565b825160208401518260046200004a848262000ecf565b50600562000059838262000ecf565b50600380546001600160a01b0319166001600160a01b0392909216919091179055506200008f9050620000893390565b62000975565b601980546001600160a01b0319166001600160a01b038316179055825183906007908190620000bf908262000ecf565b5060208201516001820190620000d6908262000ecf565b5060408201516002820180546001600160a01b03199081166001600160a01b0393841617909155606084015160038401805483169184169190911790556080840151600484015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b84015561018080850151600c8501556101a0850151600d8501805484169185169190911790556101c090940151600e909301805490911692909116919091179055601c8390558301516706f05b59d3b2000011801590620001d3575068056bc75e2d6310000083610180015111155b620002135760405162461bcd60e51b81526004016200020a906020808252600490820152631511140d60e21b604082015260600190565b60405180910390fd5b6706f05b59d3b20000836101600151101580156200023f575068056bc75e2d6310000083610160015111155b620002765760405162461bcd60e51b81526004016200020a906020808252600490820152631511140d60e21b604082015260600190565b600b54600f54600e54600092916200028e9162000fb1565b6200029a919062000fb1565b600c54601054600d54929350600092620002b5919062000fb1565b620002c1919062000fb1565b90506801a055690d9db800008211158015620002e657506801a055690d9db800008111155b6200031d5760405162461bcd60e51b81526004016200020a906020808252600490820152635444503160e01b604082015260600190565b68056bc75e2d631000008561014001518661016001516200033f919062000fcd565b6200034b919062000fe7565b601d5561014085015161018086015168056bc75e2d6310000091620003709162000fcd565b6200037c919062000fe7565b601e819055506000856101a001516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ee91906200100a565b9050856101a001516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045a91906200100a565b601b80546001600160a01b0319166001600160a01b039283169081179091556040516364e329cb60e11b815230600482015260248101919091529082169063c9c65396906044016020604051808303816000875af1158015620004c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e791906200100a565b601a60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160166000306001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160166000886101c001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016016600088604001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016016600088606001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000306001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000886101c001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760006007600d0160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016017600088604001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016017600088606001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000306001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000886101c001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601860006007600d0160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016018600088604001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060016018600088606001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000601a60009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555062000931866101c001516200097560201b60201c565b6200094d866101c00151876101400151620009c760201b60201c565b601454620009699030906001600160a01b031660001962000a8a565b5050505050506200102f565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821662000a1f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200020a565b806002600082825462000a33919062000fb1565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b03831662000aee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200020a565b6001600160a01b03821662000b515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200020a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b505050565b634e487b7160e01b600052604160045260246000fd5b6040516101e081016001600160401b038111828210171562000bf35762000bf362000bb7565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000c245762000c2462000bb7565b604052919050565b600082601f83011262000c3e57600080fd5b81516001600160401b0381111562000c5a5762000c5a62000bb7565b602062000c70601f8301601f1916820162000bf9565b828152858284870101111562000c8557600080fd5b60005b8381101562000ca557858101830151828201840152820162000c88565b506000928101909101919091529392505050565b80516001600160a01b038116811462000cd157600080fd5b919050565b60008060006060848603121562000cec57600080fd5b83516001600160401b038082111562000d0457600080fd5b908501906101e0828803121562000d1a57600080fd5b62000d2462000bcd565b82518281111562000d3457600080fd5b62000d428982860162000c2c565b82525060208301518281111562000d5857600080fd5b62000d668982860162000c2c565b60208301525062000d7a6040840162000cb9565b604082015262000d8d6060840162000cb9565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a0915062000e0382840162000cb9565b828201526101c0915062000e1982840162000cb9565b828201528095505050506020840151915062000e386040850162000cb9565b90509250925092565b600181811c9082168062000e5657607f821691505b60208210810362000e7757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000bb257600081815260208120601f850160051c8101602086101562000ea65750805b601f850160051c820191505b8181101562000ec75782815560010162000eb2565b505050505050565b81516001600160401b0381111562000eeb5762000eeb62000bb7565b62000f038162000efc845462000e41565b8462000e7d565b602080601f83116001811462000f3b576000841562000f225750858301515b600019600386901b1c1916600185901b17855562000ec7565b600085815260208120601f198616915b8281101562000f6c5788860151825594840194600190910190840162000f4b565b508582101562000f8b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000fc75762000fc762000f9b565b92915050565b808202811582820484141762000fc75762000fc762000f9b565b6000826200100557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200101d57600080fd5b620010288262000cb9565b9392505050565b6120e3806200103f6000396000f3fe6080604052600436106102765760003560e01c80638e5916b21161014f578063bad66a13116100c1578063dd62ed3e1161007a578063dd62ed3e14610750578063e0a80e1714610770578063e30f7a2914610785578063f2fde38b146107a5578063f34706b3146107c5578063fbd7805c146107e557600080fd5b8063bad66a13146106a5578063bcb7d58d146106c5578063c18bc195146106db578063d8ac45c0146106fb578063dcf3ceab1461071b578063dd4b502f1461073b57600080fd5b8063a457c2d711610113578063a457c2d7146105ee578063a6bd396d1461060e578063a9059cbb14610623578063aa49802314610643578063aacebbe314610663578063abb1dc441461068357600080fd5b80638e5916b2146105545780639434d6a21461058457806395d89b41146105a4578063987e244c146105b957806399055b4c146105ce57600080fd5b806337853bdf116101e857806348379740116101ac57806348379740146104905780636f4a77a8146104c057806370a08231146104d5578063715018a61461050b5780638360f4a4146105205780638da5cb5b1461053657600080fd5b806337853bdf1461041157806337dc5f9214610426578063395093511461043b5780633fc8cef31461045b578063436138da1461047b57600080fd5b80631a6159211161023a5780631a615921146103385780632304d5f11461036857806323b872dd1461038857806326991cc8146103a857806328ba4286146103e0578063313ce567146103f557600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631732cded146102dd57806318160ddd146102f75780631816467f1461031657600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610805565b6040516102a49190611cf4565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611d2a565b610897565b60405190151581526020016102a4565b3480156102e957600080fd5b50601f546102cd9060ff1681565b34801561030357600080fd5b506002545b6040519081526020016102a4565b34801561032257600080fd5b50610336610331366004611d54565b6108b1565b005b34801561034457600080fd5b506102cd610353366004611d54565b60186020526000908152604090205460ff1681565b34801561037457600080fd5b50610336610383366004611d6f565b61091e565b34801561039457600080fd5b506102cd6103a3366004611d88565b61097f565b3480156103b457600080fd5b50601a546103c8906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b3480156103ec57600080fd5b50600b54610308565b34801561040157600080fd5b50604051601281526020016102a4565b34801561041d57600080fd5b506103086109a3565b34801561043257600080fd5b506103086109c8565b34801561044757600080fd5b506102cd610456366004611d2a565b6109de565b34801561046757600080fd5b50601b546103c8906001600160a01b031681565b34801561048757600080fd5b50601054610308565b34801561049c57600080fd5b506102cd6104ab366004611d54565b60176020526000908152604090205460ff1681565b3480156104cc57600080fd5b50610308610a00565b3480156104e157600080fd5b506103086104f0366004611d54565b6001600160a01b031660009081526020819052604090205490565b34801561051757600080fd5b50610336610a12565b34801561052c57600080fd5b50610308601e5481565b34801561054257600080fd5b506006546001600160a01b03166103c8565b34801561056057600080fd5b506102cd61056f366004611d54565b60166020526000908152604090205460ff1681565b34801561059057600080fd5b5061033661059f366004611d6f565b610a26565b3480156105b057600080fd5b50610297610a44565b3480156105c557600080fd5b50600e54610308565b3480156105da57600080fd5b506103366105e9366004611d6f565b610a53565b3480156105fa57600080fd5b506102cd610609366004611d2a565b610a71565b34801561061a57600080fd5b50600d54610308565b34801561062f57600080fd5b506102cd61063e366004611d2a565b610aec565b34801561064f57600080fd5b5061033661065e366004611d6f565b610afa565b34801561066f57600080fd5b5061033661067e366004611d54565b610b85565b34801561068f57600080fd5b50610698610be5565b6040516102a49190611dc4565b3480156106b157600080fd5b506103366106c0366004611eda565b610e54565b3480156106d157600080fd5b50610308601d5481565b3480156106e757600080fd5b506103366106f6366004611d6f565b610e87565b34801561070757600080fd5b50610336610716366004611d6f565b610f12565b34801561072757600080fd5b50610336610736366004611d6f565b610f30565b34801561074757600080fd5b50600f54610308565b34801561075c57600080fd5b5061030861076b366004611f16565b610f4e565b34801561077c57600080fd5b50600c54610308565b34801561079157600080fd5b506103366107a0366004611eda565b610f79565b3480156107b157600080fd5b506103366107c0366004611d54565b610fac565b3480156107d157600080fd5b506103366107e0366004611d6f565b611022565b3480156107f157600080fd5b50610336610800366004611eda565b611040565b60606004805461081490611f49565b80601f016020809104026020016040519081016040528092919081815260200182805461084090611f49565b801561088d5780601f106108625761010080835404028352916020019161088d565b820191906000526020600020905b81548152906001019060200180831161087057829003601f168201915b5050505050905090565b6000336108a5818585611073565b60019150505b92915050565b6108b9611197565b600954600a80546001600160a01b0319166001600160a01b03848116918217909255604080519182529190921660208301819052917f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb87191015b60405180910390a15050565b610926611197565b600c81905567d02ab486cedc000061093c6109c8565b111561097c5760405162461bcd60e51b8152600401610973906020808252600490820152635444503160e01b604082015260600190565b60405180910390fd5b50565b60003361098d8582856111f1565b61099885858561126b565b506001949350505050565b600b54600f54600e54600092916109b991611f99565b6109c39190611f99565b905090565b600c54601054600d54600092916109b991611f99565b6000336108a58185856109f18383610f4e565b6109fb9190611f99565b611073565b6000610a0a6109c8565b6109b96109a3565b610a1a611197565b610a246000611690565b565b610a2e611197565b600e81905567d02ab486cedc000061093c6109a3565b60606005805461081490611f49565b610a5b611197565b601081905567d02ab486cedc000061093c6109c8565b60003381610a7f8286610f4e565b905083811015610adf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610973565b6109988286868403611073565b6000336108a581858561126b565b610b02611197565b68056bc75e2d631000008111158015610b2357506706f05b59d3b200008110155b610b585760405162461bcd60e51b8152600401610973906020808252600490820152631511140d60e21b604082015260600190565b601381905560115468056bc75e2d6310000090610b759083611fac565b610b7f9190611fc3565b601e5550565b610b8d611197565b600980546001600160a01b038381166001600160a01b03198316811790935560408051938452911660208301819052917f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc679101610912565b610c82604051806101e00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681525090565b6007604051806101e0016040529081600082018054610ca090611f49565b80601f0160208091040260200160405190810160405280929190818152602001828054610ccc90611f49565b8015610d195780601f10610cee57610100808354040283529160200191610d19565b820191906000526020600020905b815481529060010190602001808311610cfc57829003601f168201915b50505050508152602001600182018054610d3290611f49565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5e90611f49565b8015610dab5780601f10610d8057610100808354040283529160200191610dab565b820191906000526020600020905b815481529060010190602001808311610d8e57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154811660408301526004830154606083015260058301546080830152600683015460a0830152600783015460c0830152600883015460e08301526009830154610100830152600a830154610120830152600b830154610140830152600c830154610160830152600d8301548116610180830152600e909201549091166101a090910152919050565b610e5c611197565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b610e8f611197565b68056bc75e2d631000008111158015610eb057506706f05b59d3b200008110155b610ee55760405162461bcd60e51b8152600401610973906020808252600490820152631511140d60e21b604082015260600190565b601281905560115468056bc75e2d6310000090610f029083611fac565b610f0c9190611fc3565b601d5550565b610f1a611197565b600b81905567d02ab486cedc000061093c6109a3565b610f38611197565b600d81905567d02ab486cedc000061093c6109c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610f81611197565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b610fb4611197565b6001600160a01b0381166110195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610973565b61097c81611690565b61102a611197565b600f81905567d02ab486cedc000061093c6109a3565b611048611197565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6001600160a01b0383166110d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610973565b6001600160a01b0382166111365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610973565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6006546001600160a01b03163314610a245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610973565b60006111fd8484610f4e565b9050600019811461126557818110156112585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610973565b6112658484848403611073565b50505050565b6001600160a01b03831660009081526017602052604090205460ff161580156112ad57506001600160a01b03821660009081526017602052604090205460ff16155b156112ed5780601e5410156112ed5760405162461bcd60e51b8152600401610973906020808252600490820152632a22281960e11b604082015260600190565b6001600160a01b03821660009081526018602052604090205460ff1661137157601d5481611330846001600160a01b031660009081526020819052604090205490565b61133a9190611f99565b11156113715760405162461bcd60e51b8152600401610973906020808252600490820152635444503360e01b604082015260600190565b8060000361138a57611385838360006116e2565b505050565b601f5460009060ff161580156113b957506001600160a01b03841660009081526016602052604090205460ff16155b80156113de57506001600160a01b03831660009081526016602052604090205460ff16155b801561140e5750601a546001600160a01b038581169116148061140e5750601a546001600160a01b038481169116145b1561167c576000601c546114206109a3565b61142a9190611f99565b90506000601c546114396109c8565b6114439190611f99565b601a549091506001600160a01b0387811691161480156114635750600082115b156115455768056bc75e2d6310000061147c8386611fac565b6114869190611fc3565b925081601c54846114979190611fac565b6114a19190611fc3565b602360008282546114b29190611f99565b9091555050600e5482906114c69085611fac565b6114d09190611fc3565b602160008282546114e19190611f99565b9091555050600f5482906114f59085611fac565b6114ff9190611fc3565b602260008282546115109190611f99565b9091555050600b5482906115249085611fac565b61152e9190611fc3565b6020600082825461153f9190611f99565b90915550505b601a546001600160a01b0386811691161480156115625750600081115b156116445768056bc75e2d6310000061157b8286611fac565b6115859190611fc3565b925080601c54846115969190611fac565b6115a09190611fc3565b602360008282546115b19190611f99565b9091555050600d5481906115c59085611fac565b6115cf9190611fc3565b602160008282546115e09190611f99565b909155505060105481906115f49085611fac565b6115fe9190611fc3565b6022600082825461160f9190611f99565b9091555050600c5481906116239085611fac565b61162d9190611fc3565b6020600082825461163e9190611f99565b90915550505b61164f8630856116e2565b601a546001600160a01b03868116911614801561166c5750600083115b15611679576116796118bd565b50505b611265848461168b8486611fe5565b6116e2565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166117465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610973565b6001600160a01b0382166117a85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610973565b6001600160a01b0380841660008181526020819052604090205460035490921614806117d45750818110155b61182f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610973565b6003546001600160a01b03858116911614611862576001600160a01b038416600090815260208190526040902082820390555b6001600160a01b0383811660008181526020818152604091829020805487019055905185815291928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611265565b601f805460ff1916600117905560235460225460215460205460009392916118e491611f99565b6118ee9190611f99565b6118f89190611f99565b90506000811161190757600080fd5b6014546022546001600160a01b039091169060009061192890600290611fc3565b90506119348184611fe5565b6040805160028082526060820183529295506000929091602083019080368337019050509050308160008151811061196e5761196e611ff8565b6001600160a01b039283166020918202929092010152601b5482519116908290600190811061199f5761199f611ff8565b6001600160a01b0392831660209182029290920101524790841663791ac94786600085306119ce42603c611f99565b6040518663ffffffff1660e01b81526004016119ee95949392919061200e565b600060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b5050505060008147611a2e9190611fe5565b9050600086611a3d8684611fac565b611a479190611fc3565b905060008760205484611a5a9190611fac565b611a649190611fc3565b905060008860215485611a779190611fac565b611a819190611fc3565b905060008183611a918688611fe5565b611a9b9190611fe5565b611aa59190611fe5565b90508215611ae9576009546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611ae7573d6000803e3d6000fd5b505b8115611b2b57600a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611b29573d6000803e3d6000fd5b505b8015611b6d576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b6b573d6000803e3d6000fd5b505b600084118015611b7d5750600088115b15611c4a57886001600160a01b031663f305d71985308b600080611ba96006546001600160a01b031690565b611bb442603c611f99565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015611c21573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c46919061207f565b5050505b60006020818155602182905560228290556023829055604080518381529182018390527f83b75e181cbe69110b62dbfd2ce4c8ffb7d045f6866ba506ee718a88b0b3ba27910160405180910390a25050601f805460ff191690555050505050505050565b6000815180845260005b81811015611cd457602081850181015186830182015201611cb8565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611d076020830184611cae565b9392505050565b80356001600160a01b0381168114611d2557600080fd5b919050565b60008060408385031215611d3d57600080fd5b611d4683611d0e565b946020939093013593505050565b600060208284031215611d6657600080fd5b611d0782611d0e565b600060208284031215611d8157600080fd5b5035919050565b600080600060608486031215611d9d57600080fd5b611da684611d0e565b9250611db460208501611d0e565b9150604084013590509250925092565b60208152600082516101e0806020850152611de3610200850183611cae565b91506020850151601f19858403016040860152611e008382611cae565b9250506040850151611e1d60608601826001600160a01b03169052565b5060608501516001600160a01b038116608086015250608085015160a08581019190915285015160c08086019190915285015160e08086019190915285015161010080860191909152850151610120808601919091528501516101408086019190915285015161016080860191909152850151610180808601919091528501516101a0808601919091528501516101c0611ec1818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060408385031215611eed57600080fd5b611ef683611d0e565b915060208301358015158114611f0b57600080fd5b809150509250929050565b60008060408385031215611f2957600080fd5b611f3283611d0e565b9150611f4060208401611d0e565b90509250929050565b600181811c90821680611f5d57607f821691505b602082108103611f7d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108ab576108ab611f83565b80820281158282048414176108ab576108ab611f83565b600082611fe057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108ab576108ab611f83565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561205e5784516001600160a01b031683529383019391830191600101612039565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561209457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f40f6cc89c8c527712764a37a7050b1c428f265ea2dde74c57bbe13021c5088864736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e6700000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015af1d78b58c400000000000000000000000000000000000000000000000000015af1d78b58c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924000000000000000000000000000000000000000000000000000000000000000e4d617276656c2046696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d41560000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102765760003560e01c80638e5916b21161014f578063bad66a13116100c1578063dd62ed3e1161007a578063dd62ed3e14610750578063e0a80e1714610770578063e30f7a2914610785578063f2fde38b146107a5578063f34706b3146107c5578063fbd7805c146107e557600080fd5b8063bad66a13146106a5578063bcb7d58d146106c5578063c18bc195146106db578063d8ac45c0146106fb578063dcf3ceab1461071b578063dd4b502f1461073b57600080fd5b8063a457c2d711610113578063a457c2d7146105ee578063a6bd396d1461060e578063a9059cbb14610623578063aa49802314610643578063aacebbe314610663578063abb1dc441461068357600080fd5b80638e5916b2146105545780639434d6a21461058457806395d89b41146105a4578063987e244c146105b957806399055b4c146105ce57600080fd5b806337853bdf116101e857806348379740116101ac57806348379740146104905780636f4a77a8146104c057806370a08231146104d5578063715018a61461050b5780638360f4a4146105205780638da5cb5b1461053657600080fd5b806337853bdf1461041157806337dc5f9214610426578063395093511461043b5780633fc8cef31461045b578063436138da1461047b57600080fd5b80631a6159211161023a5780631a615921146103385780632304d5f11461036857806323b872dd1461038857806326991cc8146103a857806328ba4286146103e0578063313ce567146103f557600080fd5b806306fdde0314610282578063095ea7b3146102ad5780631732cded146102dd57806318160ddd146102f75780631816467f1461031657600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610805565b6040516102a49190611cf4565b60405180910390f35b3480156102b957600080fd5b506102cd6102c8366004611d2a565b610897565b60405190151581526020016102a4565b3480156102e957600080fd5b50601f546102cd9060ff1681565b34801561030357600080fd5b506002545b6040519081526020016102a4565b34801561032257600080fd5b50610336610331366004611d54565b6108b1565b005b34801561034457600080fd5b506102cd610353366004611d54565b60186020526000908152604090205460ff1681565b34801561037457600080fd5b50610336610383366004611d6f565b61091e565b34801561039457600080fd5b506102cd6103a3366004611d88565b61097f565b3480156103b457600080fd5b50601a546103c8906001600160a01b031681565b6040516001600160a01b0390911681526020016102a4565b3480156103ec57600080fd5b50600b54610308565b34801561040157600080fd5b50604051601281526020016102a4565b34801561041d57600080fd5b506103086109a3565b34801561043257600080fd5b506103086109c8565b34801561044757600080fd5b506102cd610456366004611d2a565b6109de565b34801561046757600080fd5b50601b546103c8906001600160a01b031681565b34801561048757600080fd5b50601054610308565b34801561049c57600080fd5b506102cd6104ab366004611d54565b60176020526000908152604090205460ff1681565b3480156104cc57600080fd5b50610308610a00565b3480156104e157600080fd5b506103086104f0366004611d54565b6001600160a01b031660009081526020819052604090205490565b34801561051757600080fd5b50610336610a12565b34801561052c57600080fd5b50610308601e5481565b34801561054257600080fd5b506006546001600160a01b03166103c8565b34801561056057600080fd5b506102cd61056f366004611d54565b60166020526000908152604090205460ff1681565b34801561059057600080fd5b5061033661059f366004611d6f565b610a26565b3480156105b057600080fd5b50610297610a44565b3480156105c557600080fd5b50600e54610308565b3480156105da57600080fd5b506103366105e9366004611d6f565b610a53565b3480156105fa57600080fd5b506102cd610609366004611d2a565b610a71565b34801561061a57600080fd5b50600d54610308565b34801561062f57600080fd5b506102cd61063e366004611d2a565b610aec565b34801561064f57600080fd5b5061033661065e366004611d6f565b610afa565b34801561066f57600080fd5b5061033661067e366004611d54565b610b85565b34801561068f57600080fd5b50610698610be5565b6040516102a49190611dc4565b3480156106b157600080fd5b506103366106c0366004611eda565b610e54565b3480156106d157600080fd5b50610308601d5481565b3480156106e757600080fd5b506103366106f6366004611d6f565b610e87565b34801561070757600080fd5b50610336610716366004611d6f565b610f12565b34801561072757600080fd5b50610336610736366004611d6f565b610f30565b34801561074757600080fd5b50600f54610308565b34801561075c57600080fd5b5061030861076b366004611f16565b610f4e565b34801561077c57600080fd5b50600c54610308565b34801561079157600080fd5b506103366107a0366004611eda565b610f79565b3480156107b157600080fd5b506103366107c0366004611d54565b610fac565b3480156107d157600080fd5b506103366107e0366004611d6f565b611022565b3480156107f157600080fd5b50610336610800366004611eda565b611040565b60606004805461081490611f49565b80601f016020809104026020016040519081016040528092919081815260200182805461084090611f49565b801561088d5780601f106108625761010080835404028352916020019161088d565b820191906000526020600020905b81548152906001019060200180831161087057829003601f168201915b5050505050905090565b6000336108a5818585611073565b60019150505b92915050565b6108b9611197565b600954600a80546001600160a01b0319166001600160a01b03848116918217909255604080519182529190921660208301819052917f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb87191015b60405180910390a15050565b610926611197565b600c81905567d02ab486cedc000061093c6109c8565b111561097c5760405162461bcd60e51b8152600401610973906020808252600490820152635444503160e01b604082015260600190565b60405180910390fd5b50565b60003361098d8582856111f1565b61099885858561126b565b506001949350505050565b600b54600f54600e54600092916109b991611f99565b6109c39190611f99565b905090565b600c54601054600d54600092916109b991611f99565b6000336108a58185856109f18383610f4e565b6109fb9190611f99565b611073565b6000610a0a6109c8565b6109b96109a3565b610a1a611197565b610a246000611690565b565b610a2e611197565b600e81905567d02ab486cedc000061093c6109a3565b60606005805461081490611f49565b610a5b611197565b601081905567d02ab486cedc000061093c6109c8565b60003381610a7f8286610f4e565b905083811015610adf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610973565b6109988286868403611073565b6000336108a581858561126b565b610b02611197565b68056bc75e2d631000008111158015610b2357506706f05b59d3b200008110155b610b585760405162461bcd60e51b8152600401610973906020808252600490820152631511140d60e21b604082015260600190565b601381905560115468056bc75e2d6310000090610b759083611fac565b610b7f9190611fc3565b601e5550565b610b8d611197565b600980546001600160a01b038381166001600160a01b03198316811790935560408051938452911660208301819052917f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc679101610912565b610c82604051806101e00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681525090565b6007604051806101e0016040529081600082018054610ca090611f49565b80601f0160208091040260200160405190810160405280929190818152602001828054610ccc90611f49565b8015610d195780601f10610cee57610100808354040283529160200191610d19565b820191906000526020600020905b815481529060010190602001808311610cfc57829003601f168201915b50505050508152602001600182018054610d3290611f49565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5e90611f49565b8015610dab5780601f10610d8057610100808354040283529160200191610dab565b820191906000526020600020905b815481529060010190602001808311610d8e57829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154811660408301526004830154606083015260058301546080830152600683015460a0830152600783015460c0830152600883015460e08301526009830154610100830152600a830154610120830152600b830154610140830152600c830154610160830152600d8301548116610180830152600e909201549091166101a090910152919050565b610e5c611197565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b610e8f611197565b68056bc75e2d631000008111158015610eb057506706f05b59d3b200008110155b610ee55760405162461bcd60e51b8152600401610973906020808252600490820152631511140d60e21b604082015260600190565b601281905560115468056bc75e2d6310000090610f029083611fac565b610f0c9190611fc3565b601d5550565b610f1a611197565b600b81905567d02ab486cedc000061093c6109a3565b610f38611197565b600d81905567d02ab486cedc000061093c6109c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610f81611197565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b610fb4611197565b6001600160a01b0381166110195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610973565b61097c81611690565b61102a611197565b600f81905567d02ab486cedc000061093c6109a3565b611048611197565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6001600160a01b0383166110d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610973565b6001600160a01b0382166111365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610973565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6006546001600160a01b03163314610a245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610973565b60006111fd8484610f4e565b9050600019811461126557818110156112585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610973565b6112658484848403611073565b50505050565b6001600160a01b03831660009081526017602052604090205460ff161580156112ad57506001600160a01b03821660009081526017602052604090205460ff16155b156112ed5780601e5410156112ed5760405162461bcd60e51b8152600401610973906020808252600490820152632a22281960e11b604082015260600190565b6001600160a01b03821660009081526018602052604090205460ff1661137157601d5481611330846001600160a01b031660009081526020819052604090205490565b61133a9190611f99565b11156113715760405162461bcd60e51b8152600401610973906020808252600490820152635444503360e01b604082015260600190565b8060000361138a57611385838360006116e2565b505050565b601f5460009060ff161580156113b957506001600160a01b03841660009081526016602052604090205460ff16155b80156113de57506001600160a01b03831660009081526016602052604090205460ff16155b801561140e5750601a546001600160a01b038581169116148061140e5750601a546001600160a01b038481169116145b1561167c576000601c546114206109a3565b61142a9190611f99565b90506000601c546114396109c8565b6114439190611f99565b601a549091506001600160a01b0387811691161480156114635750600082115b156115455768056bc75e2d6310000061147c8386611fac565b6114869190611fc3565b925081601c54846114979190611fac565b6114a19190611fc3565b602360008282546114b29190611f99565b9091555050600e5482906114c69085611fac565b6114d09190611fc3565b602160008282546114e19190611f99565b9091555050600f5482906114f59085611fac565b6114ff9190611fc3565b602260008282546115109190611f99565b9091555050600b5482906115249085611fac565b61152e9190611fc3565b6020600082825461153f9190611f99565b90915550505b601a546001600160a01b0386811691161480156115625750600081115b156116445768056bc75e2d6310000061157b8286611fac565b6115859190611fc3565b925080601c54846115969190611fac565b6115a09190611fc3565b602360008282546115b19190611f99565b9091555050600d5481906115c59085611fac565b6115cf9190611fc3565b602160008282546115e09190611f99565b909155505060105481906115f49085611fac565b6115fe9190611fc3565b6022600082825461160f9190611f99565b9091555050600c5481906116239085611fac565b61162d9190611fc3565b6020600082825461163e9190611f99565b90915550505b61164f8630856116e2565b601a546001600160a01b03868116911614801561166c5750600083115b15611679576116796118bd565b50505b611265848461168b8486611fe5565b6116e2565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166117465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610973565b6001600160a01b0382166117a85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610973565b6001600160a01b0380841660008181526020819052604090205460035490921614806117d45750818110155b61182f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610973565b6003546001600160a01b03858116911614611862576001600160a01b038416600090815260208190526040902082820390555b6001600160a01b0383811660008181526020818152604091829020805487019055905185815291928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611265565b601f805460ff1916600117905560235460225460215460205460009392916118e491611f99565b6118ee9190611f99565b6118f89190611f99565b90506000811161190757600080fd5b6014546022546001600160a01b039091169060009061192890600290611fc3565b90506119348184611fe5565b6040805160028082526060820183529295506000929091602083019080368337019050509050308160008151811061196e5761196e611ff8565b6001600160a01b039283166020918202929092010152601b5482519116908290600190811061199f5761199f611ff8565b6001600160a01b0392831660209182029290920101524790841663791ac94786600085306119ce42603c611f99565b6040518663ffffffff1660e01b81526004016119ee95949392919061200e565b600060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b5050505060008147611a2e9190611fe5565b9050600086611a3d8684611fac565b611a479190611fc3565b905060008760205484611a5a9190611fac565b611a649190611fc3565b905060008860215485611a779190611fac565b611a819190611fc3565b905060008183611a918688611fe5565b611a9b9190611fe5565b611aa59190611fe5565b90508215611ae9576009546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611ae7573d6000803e3d6000fd5b505b8115611b2b57600a546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611b29573d6000803e3d6000fd5b505b8015611b6d576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b6b573d6000803e3d6000fd5b505b600084118015611b7d5750600088115b15611c4a57886001600160a01b031663f305d71985308b600080611ba96006546001600160a01b031690565b611bb442603c611f99565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015611c21573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c46919061207f565b5050505b60006020818155602182905560228290556023829055604080518381529182018390527f83b75e181cbe69110b62dbfd2ce4c8ffb7d045f6866ba506ee718a88b0b3ba27910160405180910390a25050601f805460ff191690555050505050505050565b6000815180845260005b81811015611cd457602081850181015186830182015201611cb8565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611d076020830184611cae565b9392505050565b80356001600160a01b0381168114611d2557600080fd5b919050565b60008060408385031215611d3d57600080fd5b611d4683611d0e565b946020939093013593505050565b600060208284031215611d6657600080fd5b611d0782611d0e565b600060208284031215611d8157600080fd5b5035919050565b600080600060608486031215611d9d57600080fd5b611da684611d0e565b9250611db460208501611d0e565b9150604084013590509250925092565b60208152600082516101e0806020850152611de3610200850183611cae565b91506020850151601f19858403016040860152611e008382611cae565b9250506040850151611e1d60608601826001600160a01b03169052565b5060608501516001600160a01b038116608086015250608085015160a08581019190915285015160c08086019190915285015160e08086019190915285015161010080860191909152850151610120808601919091528501516101408086019190915285015161016080860191909152850151610180808601919091528501516101a0808601919091528501516101c0611ec1818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060408385031215611eed57600080fd5b611ef683611d0e565b915060208301358015158114611f0b57600080fd5b809150509250929050565b60008060408385031215611f2957600080fd5b611f3283611d0e565b9150611f4060208401611d0e565b90509250929050565b600181811c90821680611f5d57607f821691505b602082108103611f7d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108ab576108ab611f83565b80820281158282048414176108ab576108ab611f83565b600082611fe057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108ab576108ab611f83565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561205e5784516001600160a01b031683529383019391830191600101612039565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561209457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f40f6cc89c8c527712764a37a7050b1c428f265ea2dde74c57bbe13021c5088864736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e6700000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015af1d78b58c400000000000000000000000000000000000000000000000000015af1d78b58c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000022b1c8c1227a00000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924000000000000000000000000000000000000000000000000000000000000000e4d617276656c2046696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d41560000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenInfo (tuple): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]
Arg [1] : _deployerTax (uint256): 0
Arg [2] : _deployFeeReceiver (address): 0xf50Bbde623592018E9f4C239D5c697E77ca33e67

-----Encoded View---------------
22 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e67
Arg [3] : 00000000000000000000000000000000000000000000000000000000000001e0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000220
Arg [5] : 000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924
Arg [6] : 000000000000000000000000f50bbde623592018e9f4c239d5c697e77ca33e67
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000015af1d78b58c40000
Arg [10] : 0000000000000000000000000000000000000000000000015af1d78b58c40000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [14] : 0000000000000000000000000000000000000000000000056bc75e2d63100000
Arg [15] : 00000000000000000000000000000000000000000000000022b1c8c1227a0000
Arg [16] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [17] : 000000000000000000000000adf45f1ab0b2b74255a5bf7d85222d559913c924
Arg [18] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [19] : 4d617276656c2046696e616e6365000000000000000000000000000000000000
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [21] : 4d41560000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

12596:10150:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1994:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2840:180;;;;;;;;;;-1:-1:-1;2840:180:0;;;;;:::i;:::-;;:::i;:::-;;;1269:14:1;;1262:22;1244:41;;1232:2;1217:18;2840:180:0;1104:187:1;13625:20:0;;;;;;;;;;-1:-1:-1;13625:20:0;;;;;;;;2279:99;;;;;;;;;;-1:-1:-1;2361:12:0;;2279:99;;;1442:25:1;;;1430:2;1415:18;2279:99:0;1296:177:1;17816:214:0;;;;;;;;;;-1:-1:-1;17816:214:0;;;;;:::i;:::-;;:::i;:::-;;13390:56;;;;;;;;;;-1:-1:-1;13390:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18195:158;;;;;;;;;;-1:-1:-1;18195:158:0;;;;;:::i;:::-;;:::i;3025:247::-;;;;;;;;;;-1:-1:-1;3025:247:0;;;;;:::i;:::-;;:::i;13472:23::-;;;;;;;;;;-1:-1:-1;13472:23:0;;;;-1:-1:-1;;;;;13472:23:0;;;;;;-1:-1:-1;;;;;2460:32:1;;;2442:51;;2430:2;2415:18;13472:23:0;2296:203:1;16578:104:0;;;;;;;;;;-1:-1:-1;16652:25:0;;16578:104;;2190:84;;;;;;;;;;-1:-1:-1;2190:84:0;;2267:2;2646:36:1;;2634:2;2619:18;2190:84:0;2504:184:1;16166:142:0;;;;;;;;;;;;;:::i;16313:146::-;;;;;;;;;;;;;:::i;3277:217::-;;;;;;;;;;-1:-1:-1;3277:217:0;;;;;:::i;:::-;;:::i;13499:19::-;;;;;;;;;;-1:-1:-1;13499:19:0;;;;-1:-1:-1;;;;;13499:19:0;;;17089:92;;;;;;;;;;-1:-1:-1;17157:19:0;;17089:92;;13334:52;;;;;;;;;;-1:-1:-1;13334:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16464:109;;;;;;;;;;;;;:::i;2383:118::-;;;;;;;;;;-1:-1:-1;2383:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;2478:18:0;2457:7;2478:18;;;;;;;;;;;;2383:118;12129:94;;;;;;;;;;;;;:::i;13590:29::-;;;;;;;;;;;;;;;;11918:78;;;;;;;;;;-1:-1:-1;11985:6:0;;-1:-1:-1;;;;;11985:6:0;11918:78;;13282:48;;;;;;;;;;-1:-1:-1;13282:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18358:143;;;;;;;;;;-1:-1:-1;18358:143:0;;;;;:::i;:::-;;:::i;2090:95::-;;;;;;;;;;;;;:::i;16798:92::-;;;;;;;;;;-1:-1:-1;16866:19:0;;16798:92;;18803:144;;;;;;;;;;-1:-1:-1;18803:144:0;;;;;:::i;:::-;;:::i;3499:398::-;;;;;;;;;;-1:-1:-1;3499:398:0;;;;;:::i;:::-;;:::i;16895:94::-;;;;;;;;;;-1:-1:-1;16964:20:0;;16895:94;;2506:172;;;;;;;;;;-1:-1:-1;2506:172:0;;;;;:::i;:::-;;:::i;19223:243::-;;;;;;;;;;-1:-1:-1;19223:243:0;;;;;:::i;:::-;;:::i;17579:232::-;;;;;;;;;;-1:-1:-1;17579:232:0;;;;;:::i;:::-;;:::i;16055:106::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17186:118::-;;;;;;;;;;-1:-1:-1;17186:118:0;;;;;:::i;:::-;;:::i;13553:33::-;;;;;;;;;;;;;;;;18952:266;;;;;;;;;;-1:-1:-1;18952:266:0;;;;;:::i;:::-;;:::i;18035:155::-;;;;;;;;;;-1:-1:-1;18035:155:0;;;;;:::i;:::-;;:::i;18506:146::-;;;;;;;;;;-1:-1:-1;18506:146:0;;;;;:::i;:::-;;:::i;16994:90::-;;;;;;;;;;-1:-1:-1;17061:18:0;;16994:90;;2683:152;;;;;;;;;;-1:-1:-1;2683:152:0;;;;;:::i;:::-;;:::i;16687:106::-;;;;;;;;;;-1:-1:-1;16762:26:0;;16687:106;;17440:134;;;;;;;;;;-1:-1:-1;17440:134:0;;;;;:::i;:::-;;:::i;12228:186::-;;;;;;;;;;-1:-1:-1;12228:186:0;;;;;:::i;:::-;;:::i;18657:141::-;;;;;;;;;;-1:-1:-1;18657:141:0;;;;;:::i;:::-;;:::i;17309:126::-;;;;;;;;;;-1:-1:-1;17309:126:0;;;;;:::i;:::-;;:::i;1994:91::-;2048:13;2075:5;2068:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1994:91;:::o;2840:180::-;2923:4;1428:10;2967:32;1428:10;2983:7;2992:6;2967:8;:32::i;:::-;3011:4;3004:11;;;2840:180;;;;;:::o;17816:214::-;11889:13;:11;:13::i;:::-;17904:30;;17939:24;:36;;-1:-1:-1;;;;;;17939:36:0::1;-1:-1:-1::0;;;;;17939:36:0;;::::1;::::0;;::::1;::::0;;;17987:38:::1;::::0;;5794:34:1;;;17904:30:0;;;::::1;5859:2:1::0;5844:18;;5837:43;;;17904:30:0;17987:38:::1;::::0;5729:18:1;17987:38:0::1;;;;;;;;17879:151;17816:214:::0;:::o;18195:158::-;11889:13;:11;:13::i;:::-;18264:26;:32;;;18331:8:::1;18309:18;:16;:18::i;:::-;:30;;18301:47;;;;-1:-1:-1::0;;;18301:47:0::1;;;;;;6093:2:1::0;6075:21;;;6132:1;6112:18;;;6105:29;-1:-1:-1;;;6165:2:1;6150:18;;6143:34;6209:2;6194:18;;5891:327;18301:47:0::1;;;;;;;;;18195:158:::0;:::o;3025:247::-;3135:4;1428:10;3181:38;3197:4;1428:10;3212:6;3181:15;:38::i;:::-;3224:27;3234:4;3240:2;3244:6;3224:9;:27::i;:::-;-1:-1:-1;3263:4:0;;3025:247;-1:-1:-1;;;;3025:247:0:o;16166:142::-;16278:25;;16257:18;;16235:19;;16214:7;;16278:25;16235:40;;;:::i;:::-;:68;;;;:::i;:::-;16228:75;;16166:142;:::o;16313:146::-;16428:26;;16406:19;;16383:20;;16362:7;;16428:26;16383:42;;;:::i;3277:217::-;3365:4;1428:10;3409:64;1428:10;3425:7;3462:10;3434:25;1428:10;3425:7;3434:9;:25::i;:::-;:38;;;;:::i;:::-;3409:8;:64::i;16464:109::-;16509:7;16550:18;:16;:18::i;:::-;16530:17;:15;:17::i;12129:94::-;11889:13;:11;:13::i;:::-;12188:30:::1;12215:1;12188:18;:30::i;:::-;12129:94::o:0;18358:143::-;11889:13;:11;:13::i;:::-;18420:19;:25;;;18479:8:::1;18458:17;:15;:17::i;2090:95::-:0;2146:13;2173:7;2166:14;;;;;:::i;18803:144::-;11889:13;:11;:13::i;:::-;18865:19;:25;;;18925:8:::1;18903:18;:16;:18::i;3499:398::-:0;3602:4;1428:10;3602:4;3673:25;1428:10;3690:7;3673:9;:25::i;:::-;3646:52;;3731:15;3711:16;:35;;3703:85;;;;-1:-1:-1;;;3703:85:0;;6687:2:1;3703:85:0;;;6669:21:1;6726:2;6706:18;;;6699:30;6765:34;6745:18;;;6738:62;-1:-1:-1;;;6816:18:1;;;6809:35;6861:19;;3703:85:0;6485:401:1;3703:85:0;3809:60;3818:5;3825:7;3853:15;3834:16;:34;3809:8;:60::i;2506:172::-;2585:4;1428:10;2629:28;1428:10;2646:2;2650:6;2629:9;:28::i;19223:243::-;11889:13;:11;:13::i;:::-;19315:9:::1;19306:5;:18;;:40;;;;;19337:9;19328:5;:18;;19306:40;19298:57;;;;-1:-1:-1::0;;;19298:57:0::1;;;;;;7093:2:1::0;7075:21;;;7132:1;7112:18;;;7105:29;-1:-1:-1;;;7165:2:1;7150:18;;7143:34;7209:2;7194:18;;6891:327;19298:57:0::1;19360:28:::0;:36;;;19427:21;;19452:9:::1;::::0;19419:29:::1;::::0;19391:5;19419:29:::1;:::i;:::-;19418:43;;;;:::i;:::-;19401:14;:60:::0;-1:-1:-1;19223:243:0:o;17579:232::-;11889:13;:11;:13::i;:::-;17673:30;;;-1:-1:-1;;;;;17708:42:0;;::::1;-1:-1:-1::0;;;;;;17708:42:0;::::1;::::0;::::1;::::0;;;17762:44:::1;::::0;;5794:34:1;;;17673:30:0;::::1;5859:2:1::0;5844:18;;5837:43;;;17673:30:0;17762:44:::1;::::0;5729:18:1;17762:44:0::1;5582:304:1::0;16055:106:0;16100:27;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16100:27:0;16147:9;16134:22;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16134:22:0;;;-1:-1:-1;;16134:22:0;;;;-1:-1:-1;;;;;16134:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16055:106;-1:-1:-1;16055:106:0:o;17186:118::-;11889:13;:11;:13::i;:::-;-1:-1:-1;;;;;17266:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:33;;-1:-1:-1;;17266:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17186:118::o;18952:266::-;11889:13;:11;:13::i;:::-;19047:9:::1;19034;:22;;:48;;;;;19073:9;19060;:22;;19034:48;19026:65;;;;-1:-1:-1::0;;;19026:65:0::1;;;;;;7093:2:1::0;7075:21;;;7132:1;7112:18;;;7105:29;-1:-1:-1;;;7165:2:1;7150:18;;7143:34;7209:2;7194:18;;6891:327;19026:65:0::1;19096:32:::0;:44;;;19179:21;;19204:9:::1;::::0;19167:33:::1;::::0;19131:9;19167:33:::1;:::i;:::-;19166:47;;;;:::i;:::-;19145:18;:68:::0;-1:-1:-1;18952:266:0:o;18035:155::-;11889:13;:11;:13::i;:::-;18103:25;:31;;;18168:8:::1;18147:17;:15;:17::i;18506:146::-:0;11889:13;:11;:13::i;:::-;18569:20;:26;;;18630:8:::1;18608:18;:16;:18::i;2683:152::-:0;-1:-1:-1;;;;;2803:18:0;;;2782:7;2803:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2683:152::o;17440:134::-;11889:13;:11;:13::i;:::-;-1:-1:-1;;;;;17528:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;17528:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17440:134::o;12228:186::-;11889:13;:11;:13::i;:::-;-1:-1:-1;;;;;12311:22:0;::::1;12303:73;;;::::0;-1:-1:-1;;;12303:73:0;;7820:2:1;12303:73:0::1;::::0;::::1;7802:21:1::0;7859:2;7839:18;;;7832:30;7898:34;7878:18;;;7871:62;-1:-1:-1;;;7949:18:1;;;7942:36;7995:19;;12303:73:0::1;7618:402:1::0;12303:73:0::1;12381:28;12400:8;12381:18;:28::i;18657:141::-:0;11889:13;:11;:13::i;:::-;18718:18;:24;;;18776:8:::1;18755:17;:15;:17::i;17309:126::-:0;11889:13;:11;:13::i;:::-;-1:-1:-1;;;;;17393:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;17393:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17309:126::o;5763:319::-;-1:-1:-1;;;;;5859:19:0;;5851:68;;;;-1:-1:-1;;;5851:68:0;;8227:2:1;5851:68:0;;;8209:21:1;8266:2;8246:18;;;8239:30;8305:34;8285:18;;;8278:62;-1:-1:-1;;;8356:18:1;;;8349:34;8400:19;;5851:68:0;8025:400:1;5851:68:0;-1:-1:-1;;;;;5932:21:0;;5924:68;;;;-1:-1:-1;;;5924:68:0;;8632:2:1;5924:68:0;;;8614:21:1;8671:2;8651:18;;;8644:30;8710:34;8690:18;;;8683:62;-1:-1:-1;;;8761:18:1;;;8754:32;8803:19;;5924:68:0;8430:398:1;5924:68:0;-1:-1:-1;;;;;5999:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6045:32;;1442:25:1;;;6045:32:0;;1415:18:1;6045:32:0;;;;;;;5763:319;;;:::o;12001:123::-;11985:6;;-1:-1:-1;;;;;11985:6:0;1428:10;12059:23;12051:68;;;;-1:-1:-1;;;12051:68:0;;9035:2:1;12051:68:0;;;9017:21:1;;;9054:18;;;9047:30;9113:34;9093:18;;;9086:62;9165:18;;12051:68:0;8833:356:1;6087:359:0;6182:24;6209:25;6219:5;6226:7;6209:9;:25::i;:::-;6182:52;;-1:-1:-1;;6243:16:0;:37;6239:203;;6316:6;6296:16;:26;;6288:68;;;;-1:-1:-1;;;6288:68:0;;9396:2:1;6288:68:0;;;9378:21:1;9435:2;9415:18;;;9408:30;9474:31;9454:18;;;9447:59;9523:18;;6288:68:0;9194:353:1;6288:68:0;6379:51;6388:5;6395:7;6423:6;6404:16;:25;6379:8;:51::i;:::-;6177:269;6087:359;;;:::o;21175:1534::-;-1:-1:-1;;;;;21264:26:0;;;;;;:20;:26;;;;;;;;21263:27;:56;;;;-1:-1:-1;;;;;;21295:24:0;;;;;;:20;:24;;;;;;;;21294:25;21263:56;21259:107;;;21351:6;21333:14;;:24;;21325:41;;;;-1:-1:-1;;;21325:41:0;;;;;;9754:2:1;9736:21;;;9793:1;9773:18;;;9766:29;-1:-1:-1;;;9826:2:1;9811:18;;9804:34;9870:2;9855:18;;9552:327;21325:41:0;-1:-1:-1;;;;;21376:28:0;;;;;;:24;:28;;;;;;;;21371:102;;21446:18;;21435:6;21419:13;21429:2;-1:-1:-1;;;;;2478:18:0;2457:7;2478:18;;;;;;;;;;;;2383:118;21419:13;:22;;;;:::i;:::-;21418:46;;21410:63;;;;-1:-1:-1;;;21410:63:0;;;;;;10086:2:1;10068:21;;;10125:1;10105:18;;;10098:29;-1:-1:-1;;;10158:2:1;10143:18;;10136:34;10202:2;10187:18;;9884:327;21410:63:0;21484:6;21494:1;21484:11;21480:69;;21503:28;21519:4;21525:2;21529:1;21503:15;:28::i;:::-;21175:1534;;;:::o;21480:69::-;21582:8;;21555:12;;21582:8;;21581:9;:40;;;;-1:-1:-1;;;;;;21599:22:0;;;;;;:16;:22;;;;;;;;21598:23;21581:40;:69;;;;-1:-1:-1;;;;;;21630:20:0;;;;;;:16;:20;;;;;;;;21629:21;21581:69;:113;;;;-1:-1:-1;21667:8:0;;-1:-1:-1;;;;;21659:16:0;;;21667:8;;21659:16;;:34;;-1:-1:-1;21685:8:0;;-1:-1:-1;;;;;21679:14:0;;;21685:8;;21679:14;21659:34;21572:1086;;;21706:15;21744:11;;21724:17;:15;:17::i;:::-;:31;;;;:::i;:::-;21706:49;;21761:16;21801:11;;21780:18;:16;:18::i;:::-;:32;;;;:::i;:::-;21832:8;;21761:51;;-1:-1:-1;;;;;;21824:16:0;;;21832:8;;21824:16;:31;;;;;21854:1;21844:7;:11;21824:31;21820:348;;;21893:9;21872:16;21881:7;21872:6;:16;:::i;:::-;21871:32;;;;:::i;:::-;21864:39;;21954:7;21939:11;;21932:4;:18;;;;:::i;:::-;21931:30;;;;:::i;:::-;21910:17;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;21992:19:0;;22015:7;;21985:26;;:4;:26;:::i;:::-;21984:38;;;;:::i;:::-;21968:12;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;22059:18:0;;22081:7;;22052:25;;:4;:25;:::i;:::-;22051:37;;;;:::i;:::-;22029:18;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;22125:25:0;;22154:7;;22118:32;;:4;:32;:::i;:::-;22117:44;;;;:::i;:::-;22095:18;;:66;;;;;;;:::i;:::-;;;;-1:-1:-1;;21820:348:0;22183:8;;-1:-1:-1;;;;;22177:14:0;;;22183:8;;22177:14;:30;;;;;22206:1;22195:8;:12;22177:30;22173:355;;;22246:9;22224:17;22233:8;22224:6;:17;:::i;:::-;22223:33;;;;:::i;:::-;22216:40;;22307:8;22292:11;;22285:4;:18;;;;:::i;:::-;22284:31;;;;:::i;:::-;22263:17;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;22346:20:0;;22370:8;;22339:27;;:4;:27;:::i;:::-;22338:40;;;;:::i;:::-;22322:12;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;;22415:19:0;;22438:8;;22408:26;;:4;:26;:::i;:::-;22407:39;;;;:::i;:::-;22385:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;22483:26:0;;22513:8;;22476:33;;:4;:33;:::i;:::-;22475:46;;;;:::i;:::-;22453:18;;:68;;;;;;;:::i;:::-;;;;-1:-1:-1;;22173:355:0;22535:42;22551:4;22565;22572;22535:15;:42::i;:::-;22595:8;;-1:-1:-1;;;;;22589:14:0;;;22595:8;;22589:14;:26;;;;;22614:1;22607:4;:8;22589:26;22585:68;;;22624:22;:20;:22::i;:::-;21700:958;;21572:1086;22664:40;22680:4;22686:2;22690:13;22699:4;22690:6;:13;:::i;:::-;22664:15;:40::i;12419:170::-;12506:6;;;-1:-1:-1;;;;;12517:17:0;;;-1:-1:-1;;;;;;12517:17:0;;;;;;;12544:40;;12506:6;;;12517:17;12506:6;;12544:40;;12487:16;;12544:40;12482:107;12419:170;:::o;3902:764::-;-1:-1:-1;;;;;3993:18:0;;3985:68;;;;-1:-1:-1;;;3985:68:0;;10551:2:1;3985:68:0;;;10533:21:1;10590:2;10570:18;;;10563:30;10629:34;10609:18;;;10602:62;-1:-1:-1;;;10680:18:1;;;10673:35;10725:19;;3985:68:0;10349:401:1;3985:68:0;-1:-1:-1;;;;;4066:16:0;;4058:64;;;;-1:-1:-1;;;4058:64:0;;10957:2:1;4058:64:0;;;10939:21:1;10996:2;10976:18;;;10969:30;11035:34;11015:18;;;11008:62;-1:-1:-1;;;11086:18:1;;;11079:33;11129:19;;4058:64:0;10755:399:1;4058:64:0;-1:-1:-1;;;;;4196:15:0;;;4174:19;4196:15;;;;;;;;;;;4232:9;;4196:15;;4232:9;4224:17;;:42;;;4260:6;4245:11;:21;;4224:42;4216:93;;;;-1:-1:-1;;;4216:93:0;;11361:2:1;4216:93:0;;;11343:21:1;11400:2;11380:18;;;11373:30;11439:34;11419:18;;;11412:62;-1:-1:-1;;;11490:18:1;;;11483:36;11536:19;;4216:93:0;11159:402:1;4216:93:0;4345:9;;-1:-1:-1;;;;;4337:17:0;;;4345:9;;4337:17;4333:65;;-1:-1:-1;;;;;4360:15:0;;:9;:15;;;;;;;;;;4378:20;;;4360:38;;4333:65;-1:-1:-1;;;;;4551:13:0;;;:9;:13;;;;;;;;;;;;:23;;;;;;4591:26;;1442:25:1;;;4551:13:0;;4591:26;;;;;1415:18:1;4591:26:0;;;;;;;4624:37;21175:1534;19471:1699;13795:8;:15;;-1:-1:-1;;13795:15:0;13806:4;13795:15;;;19607:17:::1;::::0;19586:18:::1;::::0;19571:12:::1;::::0;19550:18:::1;::::0;13795:8;;19607:17;19586:18;19550:33:::1;::::0;::::1;:::i;:::-;:54;;;;:::i;:::-;:74;;;;:::i;:::-;19530:94;;19651:1;19639:9;:13;19631:22;;;::::0;::::1;;19681:20:::0;;19726:18:::1;::::0;-1:-1:-1;;;;;19681:20:0;;::::1;::::0;19660:18:::1;::::0;19726:22:::1;::::0;19747:1:::1;::::0;19726:22:::1;:::i;:::-;19706:42:::0;-1:-1:-1;19753:22:0::1;19706:42:::0;19753:22;::::1;:::i;:::-;19806:16;::::0;;19820:1:::1;19806:16:::0;;;;;::::1;::::0;;19753:22;;-1:-1:-1;19782:21:0::1;::::0;19806:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;19806:16:0::1;19782:40;;19845:4;19827;19832:1;19827:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19827:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;19865:4:::1;::::0;19855:7;;19865:4;::::1;::::0;19855;;19865;;19855:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;19855:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;19903:21:::1;::::0;19931:81;::::1;;20018:9:::0;19876:24:::1;20040:4:::0;20058::::1;20069:20;:15;20087:2;20069:20;:::i;:::-;19931:163;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20101:18;20146:16;20122:21;:40;;;;:::i;:::-;20101:61:::0;-1:-1:-1;20169:19:0::1;20218:9:::0;20192:22:::1;20205:9:::0;20101:61;20192:22:::1;:::i;:::-;20191:36;;;;:::i;:::-;20169:58;;20232:26;20297:9;20275:18;;20262:10;:31;;;;:::i;:::-;20261:45;;;;:::i;:::-;20232:74;;20311:20;20364:9;20348:12;;20335:10;:25;;;;:::i;:::-;20334:39;;;;:::i;:::-;20311:62:::0;-1:-1:-1;20378:25:0::1;20311:62:::0;20433:18;20406:24:::1;20419:11:::0;20406:10;:24:::1;:::i;:::-;:45;;;;:::i;:::-;:60;;;;:::i;:::-;20378:88:::0;-1:-1:-1;20477:22:0;;20473:108:::1;;20515:30:::0;;20507:68:::1;::::0;-1:-1:-1;;;;;20515:30:0;;::::1;::::0;20507:68;::::1;;;::::0;20556:18;;20515:30:::1;20507:68:::0;20515:30;20507:68;20556:18;20515:30;20507:68;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20473:108;20589:16:::0;;20585:90:::1;;20621:24:::0;;20613:56:::1;::::0;-1:-1:-1;;;;;20621:24:0;;::::1;::::0;20613:56;::::1;;;::::0;20656:12;;20621:24:::1;20613:56:::0;20621:24;20613:56;20656:12;20621:24;20613:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20585:90;20683:21:::0;;20679:84:::1;;20720:8;::::0;20712:45:::1;::::0;-1:-1:-1;;;;;20720:8:0;;::::1;::::0;20712:45;::::1;;;::::0;20739:17;;20720:8:::1;20712:45:::0;20720:8;20712:45;20739:17;20720:8;20712:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20679:84;20787:1;20773:11;:15;:32;;;;;20804:1;20792:9;:13;20773:32;20769:217;;;20832:10;-1:-1:-1::0;;;;;20813:46:0::1;;20868:11;20896:4;20908:9;20924:1;20932::::0;20940:7:::1;11985:6:::0;;-1:-1:-1;;;;;11985:6:0;;11918:78;20940:7:::1;20954:20;:15;20972:2;20954:20;:::i;:::-;20813:167;::::0;::::1;::::0;;;-1:-1:-1;;;;;;20813:167:0;;;-1:-1:-1;;;;;13174:15:1;;;20813:167:0::1;::::0;::::1;13156:34:1::0;13206:18;;;13199:34;;;;13249:18;;;13242:34;;;;13292:18;;;13285:34;;;;13356:15;;;13335:19;;;13328:44;13388:19;;;13381:35;;;;13090:19;;20813:167:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20769:217;21013:1;20992:18;:22:::0;;;21019:12:::1;:16:::0;;;21040:18:::1;:22:::0;;;21067:17:::1;:21:::0;;;21100:65:::1;::::0;;13912:25:1;;;13953:18;;;13946:34;;;21100:65:0::1;::::0;13885:18:1;21100:65:0::1;;;;;;;-1:-1:-1::0;;13821:8:0;:16;;-1:-1:-1;;13821:16:0;;;-1:-1:-1;;;;;;;;19471:1699:0:o;14:423:1:-;56:3;94:5;88:12;121:6;116:3;109:19;146:1;156:162;170:6;167:1;164:13;156:162;;;232:4;288:13;;;284:22;;278:29;260:11;;;256:20;;249:59;185:12;156:162;;;160:3;363:1;356:4;347:6;342:3;338:16;334:27;327:38;426:4;419:2;415:7;410:2;402:6;398:15;394:29;389:3;385:39;381:50;374:57;;;14:423;;;;:::o;442:220::-;591:2;580:9;573:21;554:4;611:45;652:2;641:9;637:18;629:6;611:45;:::i;:::-;603:53;442:220;-1:-1:-1;;;442:220:1:o;667:173::-;735:20;;-1:-1:-1;;;;;784:31:1;;774:42;;764:70;;830:1;827;820:12;764:70;667:173;;;:::o;845:254::-;913:6;921;974:2;962:9;953:7;949:23;945:32;942:52;;;990:1;987;980:12;942:52;1013:29;1032:9;1013:29;:::i;:::-;1003:39;1089:2;1074:18;;;;1061:32;;-1:-1:-1;;;845:254:1:o;1478:186::-;1537:6;1590:2;1578:9;1569:7;1565:23;1561:32;1558:52;;;1606:1;1603;1596:12;1558:52;1629:29;1648:9;1629:29;:::i;1669:180::-;1728:6;1781:2;1769:9;1760:7;1756:23;1752:32;1749:52;;;1797:1;1794;1787:12;1749:52;-1:-1:-1;1820:23:1;;1669:180;-1:-1:-1;1669:180:1:o;1854:328::-;1931:6;1939;1947;2000:2;1988:9;1979:7;1975:23;1971:32;1968:52;;;2016:1;2013;2006:12;1968:52;2039:29;2058:9;2039:29;:::i;:::-;2029:39;;2087:38;2121:2;2110:9;2106:18;2087:38;:::i;:::-;2077:48;;2172:2;2161:9;2157:18;2144:32;2134:42;;1854:328;;;;;:::o;2693:1882::-;2876:2;2865:9;2858:21;2839:4;2914:6;2908:13;2940:6;2982:2;2977;2966:9;2962:18;2955:30;3008:52;3055:3;3044:9;3040:19;3026:12;3008:52;:::i;:::-;2994:66;;3109:2;3101:6;3097:15;3091:22;3181:2;3177:7;3165:9;3157:6;3153:22;3149:36;3144:2;3133:9;3129:18;3122:64;3209:41;3243:6;3227:14;3209:41;:::i;:::-;3195:55;;;3299:2;3291:6;3287:15;3281:22;3312:54;3362:2;3351:9;3347:18;3331:14;-1:-1:-1;;;;;2253:31:1;2241:44;;2187:104;3312:54;-1:-1:-1;3415:2:1;3403:15;;3397:22;-1:-1:-1;;;;;2253:31:1;;3478:3;3463:19;;2241:44;-1:-1:-1;3538:3:1;3526:16;;3520:23;3514:3;3499:19;;;3492:52;;;;3587:16;;3581:23;3575:3;3560:19;;;3553:52;;;;3648:16;;3642:23;3636:3;3621:19;;;3614:52;;;;3691:16;;3685:23;3727:3;3746:18;;;3739:30;;;;3794:15;;3788:22;3829:3;3848:18;;;3841:30;;;;3896:15;;3890:22;3931:3;3950:18;;;3943:30;;;;3998:15;;3992:22;4033:3;4052:18;;;4045:30;;;;4101:15;;4095:22;4137:3;4156:19;;;4149:32;;;;4207:16;;4201:23;4244:3;4263:19;;;4256:32;;;;4325:16;;4319:23;4362:3;4374:55;4409:19;;;4319:23;-1:-1:-1;;;;;2253:31:1;2241:44;;2187:104;4374:55;4466:16;;;4460:23;-1:-1:-1;;;;;2253:31:1;4527:18;;2241:44;;;;-1:-1:-1;4563:6:1;;-1:-1:-1;2693:1882:1:o;4580:347::-;4645:6;4653;4706:2;4694:9;4685:7;4681:23;4677:32;4674:52;;;4722:1;4719;4712:12;4674:52;4745:29;4764:9;4745:29;:::i;:::-;4735:39;;4824:2;4813:9;4809:18;4796:32;4871:5;4864:13;4857:21;4850:5;4847:32;4837:60;;4893:1;4890;4883:12;4837:60;4916:5;4906:15;;;4580:347;;;;;:::o;4932:260::-;5000:6;5008;5061:2;5049:9;5040:7;5036:23;5032:32;5029:52;;;5077:1;5074;5067:12;5029:52;5100:29;5119:9;5100:29;:::i;:::-;5090:39;;5148:38;5182:2;5171:9;5167:18;5148:38;:::i;:::-;5138:48;;4932:260;;;;;:::o;5197:380::-;5276:1;5272:12;;;;5319;;;5340:61;;5394:4;5386:6;5382:17;5372:27;;5340:61;5447:2;5439:6;5436:14;5416:18;5413:38;5410:161;;5493:10;5488:3;5484:20;5481:1;5474:31;5528:4;5525:1;5518:15;5556:4;5553:1;5546:15;5410:161;;5197:380;;;:::o;6223:127::-;6284:10;6279:3;6275:20;6272:1;6265:31;6315:4;6312:1;6305:15;6339:4;6336:1;6329:15;6355:125;6420:9;;;6441:10;;;6438:36;;;6454:18;;:::i;7223:168::-;7296:9;;;7327;;7344:15;;;7338:22;;7324:37;7314:71;;7365:18;;:::i;7396:217::-;7436:1;7462;7452:132;;7506:10;7501:3;7497:20;7494:1;7487:31;7541:4;7538:1;7531:15;7569:4;7566:1;7559:15;7452:132;-1:-1:-1;7598:9:1;;7396:217::o;10216:128::-;10283:9;;;10304:11;;;10301:37;;;10318:18;;:::i;11698:127::-;11759:10;11754:3;11750:20;11747:1;11740:31;11790:4;11787:1;11780:15;11814:4;11811:1;11804:15;11830:980;12092:4;12140:3;12129:9;12125:19;12171:6;12160:9;12153:25;12197:2;12235:6;12230:2;12219:9;12215:18;12208:34;12278:3;12273:2;12262:9;12258:18;12251:31;12302:6;12337;12331:13;12368:6;12360;12353:22;12406:3;12395:9;12391:19;12384:26;;12445:2;12437:6;12433:15;12419:29;;12466:1;12476:195;12490:6;12487:1;12484:13;12476:195;;;12555:13;;-1:-1:-1;;;;;12551:39:1;12539:52;;12646:15;;;;12611:12;;;;12587:1;12505:9;12476:195;;;-1:-1:-1;;;;;;;12727:32:1;;;;12722:2;12707:18;;12700:60;-1:-1:-1;;;12791:3:1;12776:19;12769:35;12688:3;11830:980;-1:-1:-1;;;11830:980:1:o;13427:306::-;13515:6;13523;13531;13584:2;13572:9;13563:7;13559:23;13555:32;13552:52;;;13600:1;13597;13590:12;13552:52;13629:9;13623:16;13613:26;;13679:2;13668:9;13664:18;13658:25;13648:35;;13723:2;13712:9;13708:18;13702:25;13692:35;;13427:306;;;;;:::o

Swarm Source

ipfs://f40f6cc89c8c527712764a37a7050b1c428f265ea2dde74c57bbe13021c50888
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.