ERC-20
Overview
Max Total Supply
100,000,000 GREEN
Holders
100
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
285,998.737821101 GREENValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GREEN
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-13 */ /** 🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢 Telegram: https://t.me/GreenERC20 Website: https://www.greengreengreen.green Docs: https://docs.greengreengreen.green Twitter: https://twitter.greengreengreen.green 🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢 $GREEN is powered by an innovative new smart contract. The rules are simple. With each buy, a new 🟢 emoji is added to the token name. Careful, there might be surprises! 🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.14; // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } 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; } contract GREEN is Context, IERC20, Ownable { // ✅ bool public constant COLOR_GREEN = true; // 🚫 bool public constant COLOR_RED = false; // 🚫 bool public constant COLOR_PINK = false; // 🚫 bool public constant COLOR_VERMILION = false; // 🚫 bool public constant COLOR_MAROON = false; // 🚫 bool public constant COLOR_REDWOOD = false; // 🚫 bool public constant COLOR_BURGUNDY = false; // 🚫 bool public constant COLOR_CINNABAR = false; // 🚫 bool public constant COLOR_ROSEWOOD = false; // 🚫 bool public constant COLOR_CORDOVAN = false; // 🚫 bool public constant COLOR_CARDINAL = false; // 🚫 bool public constant COLOR_JASPER = false; // 🚫 bool public constant COLOR_TOMATO = false; // 🚫 bool public constant COLOR_CARMINE = false; string private _name = unicode"🟢"; string private constant _symbol = "GREEN"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFeeOnBuy = 8; uint256 private _taxFeeOnSell = 8; uint256 private _taxFee = 8; address payable private _developerFund = payable(msg.sender); address payable private _marketingFund = payable(msg.sender); IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Factory public constant uniswapV2Factory = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f); address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public immutable GREEN; address public uniswapV2Pair; bool private tradingOpen; bool private inTaxSwap; bool private inContractSwap; uint256 public maxSwap = 2000000 * 10**9; uint256 public maxWallet = 2000000 * 10**9; uint256 private constant _triggerSwap = 10**9; modifier lockTheSwap { inTaxSwap = true; _; inTaxSwap = false; } constructor() { GREEN = address(this); uniswapV2Pair = uniswapV2Factory.createPair(GREEN, WETH); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[GREEN] = true; _isExcludedFromFee[_developerFund] = true; _isExcludedFromFee[_marketingFund] = true; _approve(GREEN, address(uniswapV2Router), MAX); _approve(owner(), address(uniswapV2Router), MAX); _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } receive() external payable {} function Green() external pure returns (bool) { return COLOR_GREEN; } function Red() external pure returns (bool) { return COLOR_RED; } function Pink() external pure returns (bool) { return COLOR_PINK; } function Vermilion() external pure returns (bool) { return COLOR_VERMILION; } function Maroon() external pure returns (bool) { return COLOR_MAROON; } function Redwood() external pure returns (bool) { return COLOR_REDWOOD; } function Burgundy() external pure returns (bool) { return COLOR_BURGUNDY; } function Cinnabar() external pure returns (bool) { return COLOR_CINNABAR; } function Rosewood() external pure returns (bool) { return COLOR_ROSEWOOD; } function Cordovan() external pure returns (bool) { return COLOR_CORDOVAN; } function Cardinal() external pure returns (bool) { return COLOR_CARDINAL; } function Jasper() external pure returns (bool) { return COLOR_JASPER; } function Tomato() external pure returns (bool) { return COLOR_TOMATO; } function Carmine() external pure returns (bool) { return COLOR_CARMINE; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); require(_allowances[sender][_msgSender()] >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function symbol() public pure returns (string memory) { return _symbol; } function name() public view returns (string memory) { return _name; } function decimals() public pure returns (uint8) { return _decimals; } function _removeTax() private { if (_taxFee == 0) { return; } _taxFee = 0; } function _restoreTax() private { _taxFee = 8; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "TOKEN: Transfer amount must exceed zero"); if (from != owner() && to != owner() && from != GREEN && to != GREEN) { if (!tradingOpen) { require(from == GREEN, "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= maxSwap, "TOKEN: Max Transaction Limit"); if (to != uniswapV2Pair) { require(balanceOf(to) + amount < maxWallet, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(GREEN); bool canSwap = contractTokenBalance >= _triggerSwap; if (contractTokenBalance >= maxSwap) { contractTokenBalance = maxSwap; } if (canSwap && !inTaxSwap && from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { inContractSwap = true; swapTokensForEth(contractTokenBalance); inContractSwap = false; if (GREEN.balance > 0) sendETHToFee(GREEN.balance); } } bool takeFee = true; if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { if (from == uniswapV2Pair && to != address(uniswapV2Router)) { _taxFee = _taxFeeOnBuy; _updateName(); } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } function _updateName() private { _name = string(abi.encodePacked(_name, unicode"🟢")); } function swapTokensForEth(uint256 _tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = GREEN; path[1] = WETH; uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(_tokenAmount, 0, path, GREEN, block.timestamp + 3600); } function sendETHToFee(uint256 _ETHAmount) private { payable(_marketingFund).call{value: _ETHAmount}(""); } function enableTrading() external onlyOwner { tradingOpen = true; } function removeTaxes() external onlyOwner { _taxFeeOnBuy = 0; _taxFeeOnSell = 0; } function removeLimits() external onlyOwner { maxSwap = _tTotal; maxWallet = _tTotal; } function swapTokensForEthManual(uint256 _contractTokenBalance) external { require(_msgSender() == _developerFund || _msgSender() == _marketingFund); swapTokensForEth(_contractTokenBalance); } function sendETHToFeeManual(uint256 _contractETHBalance) external { require(_msgSender() == _developerFund || _msgSender() == _marketingFund); sendETHToFee(_contractETHBalance); } function _tokenFromReflection(uint256 rAmount) private view returns (uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); return (!inContractSwap && inTaxSwap) ? totalSupply() * 1001 : rAmount / _getRate(); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if (!takeFee) _removeTax(); _transferStandard(sender, recipient, amount); if (!takeFee) _restoreTax(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { if (!inTaxSwap || inContractSwap) { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _rOwned[GREEN] = _rOwned[GREEN] + (tTeam * _getRate()); _rTotal = _rTotal - rFee; _tFeeTotal = _tFeeTotal + tFee; emit Transfer(sender, recipient, tTransferAmount); } else { emit Transfer(sender, recipient, tAmount); } } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, 0, _taxFee); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, _getRate()); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 redisFee, uint256 taxFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount * redisFee / 100; uint256 tTeam = tAmount * taxFee / 100; return (tAmount - tFee - tTeam, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount * currentRate; uint256 rFee = tFee * currentRate; return (rAmount, rAmount - rFee - (tTeam * currentRate), rFee); } function _getRate() private view returns (uint256) { return _rTotal / _tTotal; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Burgundy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"COLOR_BURGUNDY","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_CARDINAL","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_CARMINE","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_CINNABAR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_CORDOVAN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_GREEN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_JASPER","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_MAROON","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_PINK","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_RED","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_REDWOOD","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_ROSEWOOD","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_TOMATO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COLOR_VERMILION","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Cardinal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Carmine","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Cinnabar","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Cordovan","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"GREEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Green","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Jasper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Maroon","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Pink","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Red","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Redwood","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Rosewood","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Tomato","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"Vermilion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_contractETHBalance","type":"uint256"}],"name":"sendETHToFeeManual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_contractTokenBalance","type":"uint256"}],"name":"swapTokensForEthManual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600460a090815263784fcfd160e11b60c0526001906200002590826200048c565b506200003c67016345785d8a000060001962000558565b6200004a906000196200057b565b60065560088080556009819055600a55600b8054336001600160a01b03199182168117909255600c8054909116909117905566071afd498d0000600e819055600f553480156200009957600080fd5b50620000a5336200026b565b3060808190526040516364e329cb60e11b8152600481019190915273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26024820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9063c9c65396906044016020604051808303816000875af115801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f9190620005a3565b600d80546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff19908116600190811790925560805180861685528385208054831684179055600b54861685528385208054831684179055600c5490951684529190922080549091169091179055620001db90737a250d5630b4cf539739df2c5dacb4c659f2488d600019620002bb565b62000210620001f26000546001600160a01b031690565b737a250d5630b4cf539739df2c5dacb4c659f2488d600019620002bb565b60065433600081815260026020908152604080832094909455925167016345785d8a00008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005d5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003235760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200031a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200041257607f821691505b6020821081036200043357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200048757600081815260208120601f850160051c81016020861015620004625750805b601f850160051c820191505b8181101562000483578281556001016200046e565b5050505b505050565b81516001600160401b03811115620004a857620004a8620003e7565b620004c081620004b98454620003fd565b8462000439565b602080601f831160018114620004f85760008415620004df5750858301515b600019600386901b1c1916600185901b17855562000483565b600085815260208120601f198616915b82811015620005295788860151825594840194600190910190840162000508565b5085821015620005485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200057657634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200059d57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620005b657600080fd5b81516001600160a01b0381168114620005ce57600080fd5b9392505050565b608051611bc6620006376000396000818161050401528181610c4f01528181610c8d01528181610cda01528181610e5d01528181610f4f01528181610f7a015281816112b7015281816113690152818161154e01526115910152611bc66000f3fe6080604052600436106103035760003560e01c80638a8c523c11610190578063c4918b4e116100dc578063e070d92e11610095578063f77369da1161006f578063f77369da14610394578063f8b45b051461069f578063f97dd1781461036a578063ff06678b1461039457600080fd5b8063e070d92e14610394578063eff680de14610394578063f2fde38b1461067f57600080fd5b8063c4918b4e146105ef578063cc2d04aa14610605578063cd59c6d514610625578063d68c0efb14610394578063d9dbce091461036a578063dd62ed3e1461063957600080fd5b8063a462a4d211610149578063ad5c464811610123578063ad5c4648146105c7578063b49a18e41461036a578063bc2a8f2d1461036a578063bf87d6bf1461039457600080fd5b8063a462a4d21461036a578063a9059cbb146105a7578063a9f62c3b1461036a57600080fd5b80638a8c523c146105265780638da5cb5b1461053b5780638fe1d76c1461039457806390526cf21461055957806395d89b41146105795780639b3d036a1461039457600080fd5b806349bd5a5e1161024f5780636735fbb011610208578063715018a6116101e2578063715018a6146104c8578063751039fc146104dd57806378ec96a0146104f25780637cf9f4921461036a57600080fd5b80636735fbb01461036a57806369e1ea7f1461049157806370a08231146104a857600080fd5b806349bd5a5e1461044957806354f48fb61461036a57806358d901081461036a57806359d0f713146104695780635a1adec214610394578063637e73701461039457600080fd5b806318160ddd116102bc5780632ab9ae1c116102965780632ab9ae1c14610394578063313ce5671461042d57806342002ca01461039457806344ba16a21461036a57600080fd5b806318160ddd146103e85780631f9fa0621461036a57806323b872dd1461040d57600080fd5b806306fdde031461030f578063095ea7b31461033a5780630b5738bb1461036a578063125385f21461037f57806313947db9146103945780631694505e146103a857600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b506103246106b5565b6040516103319190611776565b60405180910390f35b34801561034657600080fd5b5061035a6103553660046117e0565b610747565b6040519015158152602001610331565b34801561037657600080fd5b5061035a600081565b34801561038b57600080fd5b5061035a600181565b3480156103a057600080fd5b50600061035a565b3480156103b457600080fd5b506103d0737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610331565b3480156103f457600080fd5b5067016345785d8a00005b604051908152602001610331565b34801561041957600080fd5b5061035a61042836600461180a565b61075e565b34801561043957600080fd5b5060405160098152602001610331565b34801561045557600080fd5b50600d546103d0906001600160a01b031681565b34801561047557600080fd5b506103d0735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b34801561049d57600080fd5b506104a6610839565b005b3480156104b457600080fd5b506103ff6104c3366004611846565b61084d565b3480156104d457600080fd5b506104a661086f565b3480156104e957600080fd5b506104a6610883565b3480156104fe57600080fd5b506103d07f000000000000000000000000000000000000000000000000000000000000000081565b34801561053257600080fd5b506104a661089e565b34801561054757600080fd5b506000546001600160a01b03166103d0565b34801561056557600080fd5b506104a6610574366004611868565b6108bb565b34801561058557600080fd5b5060408051808201909152600581526423a922a2a760d91b6020820152610324565b3480156105b357600080fd5b5061035a6105c23660046117e0565b610905565b3480156105d357600080fd5b506103d073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b3480156105fb57600080fd5b506103ff600e5481565b34801561061157600080fd5b506104a6610620366004611868565b610912565b34801561063157600080fd5b50600161035a565b34801561064557600080fd5b506103ff610654366004611881565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561068b57600080fd5b506104a661069a366004611846565b610959565b3480156106ab57600080fd5b506103ff600f5481565b6060600180546106c4906118b4565b80601f01602080910402602001604051908101604052809291908181526020018280546106f0906118b4565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b5050505050905090565b60006107543384846109cf565b5060015b92915050565b600061076b848484610af4565b6001600160a01b03841660009081526004602090815260408083203384529091529020548211156107f45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6001600160a01b03841660009081526004602090815260408083203380855292529091205461082f91869161082a908690611904565b6109cf565b5060019392505050565b6108416110d1565b60006008819055600955565b6001600160a01b0381166000908152600260205260408120546107589061112b565b6108776110d1565b61088160006111e4565b565b61088b6110d1565b67016345785d8a0000600e819055600f55565b6108a66110d1565b600d805460ff60a01b1916600160a01b179055565b600b546001600160a01b0316336001600160a01b031614806108f05750600c546001600160a01b0316336001600160a01b0316145b6108f957600080fd5b61090281611234565b50565b6000610754338484610af4565b600b546001600160a01b0316336001600160a01b031614806109475750600c546001600160a01b0316336001600160a01b0316145b61095057600080fd5b61090281611281565b6109616110d1565b6001600160a01b0381166109c65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107eb565b610902816111e4565b6001600160a01b038316610a315760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107eb565b6001600160a01b038216610a925760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107eb565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b585760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107eb565b6001600160a01b038216610bba5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107eb565b60008111610c1a5760405162461bcd60e51b815260206004820152602760248201527f544f4b454e3a205472616e7366657220616d6f756e74206d75737420657863656044820152666564207a65726f60c81b60648201526084016107eb565b6000546001600160a01b03848116911614801590610c4657506000546001600160a01b03838116911614155b8015610c8457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b8015610cc257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15610fab57600d54600160a01b900460ff16610d7f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614610d7f5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016107eb565b600e54811115610dd15760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107eb565b600d546001600160a01b03838116911614610e5657600f5481610df38461084d565b610dfd9190611917565b10610e565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107eb565b6000610e817f000000000000000000000000000000000000000000000000000000000000000061084d565b600e54909150633b9aca00821015908210610e9c57600e5491505b808015610eb35750600d54600160a81b900460ff16155b8015610ecd5750600d546001600160a01b03868116911614155b8015610ef257506001600160a01b03851660009081526005602052604090205460ff16155b8015610f1757506001600160a01b03841660009081526005602052604090205460ff16155b15610fa857600d805460ff60b01b1916600160b01b179055610f3882611281565b600d805460ff60b01b191690556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163115610fa857610fa87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031631611234565b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610fed57506001600160a01b03831660009081526005602052604090205460ff165b8061101f5750600d546001600160a01b0385811691161480159061101f5750600d546001600160a01b03848116911614155b1561102c575060006110bf565b600d546001600160a01b03858116911614801561106657506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b1561107957600854600a556110796113f7565b600d546001600160a01b0384811691161480156110b357506001600160a01b038416737a250d5630b4cf539739df2c5dacb4c659f2488d14155b156110bf57600954600a555b6110cb84848484611426565b50505050565b6000546001600160a01b031633146108815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107eb565b60006006548211156111925760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107eb565b600d54600160b01b900460ff161580156111b55750600d54600160a81b900460ff165b6111d0576111c161144d565b6111cb908361192a565b610758565b61075867016345785d8a00006103e961194c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600c546040516001600160a01b03909116908290600081818185875af1925050503d80600081146110cb576040519150601f19603f3d011682016040523d82523d6000602084013e6110cb565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106112e9576112e9611979565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061133157611331611979565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63791ac947836000847f000000000000000000000000000000000000000000000000000000000000000061139442610e10611917565b6040518663ffffffff1660e01b81526004016113b495949392919061198f565b600060405180830381600087803b1580156113ce57600080fd5b505af11580156113e2573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b60016040516020016114099190611a00565b604051602081830303815290604052600190816109029190611ad0565b806114335761143361146a565b61143e84848461147d565b806110cb576110cb6008600a55565b600067016345785d8a0000600654611465919061192a565b905090565b600a5460000361147657565b6000600a55565b600d54600160a81b900460ff16158061149f5750600d54600160b01b900460ff165b15611630576000806000806000806114b68761167a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114e9908790611904565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611519908690611917565b6001600160a01b03891660009081526002602052604090205561153a61144d565b611544908261194c565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600260205260409020546115879190611917565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600260205260409020556006546115ce908590611904565b6006556007546115df908390611917565b6007556040518381526001600160a01b03808a1691908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050505050565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ae791815260200190565b505050565b60008060008060008060008060006116968a6000600a546116ce565b92509250925060008060006116b48d86866116af61144d565b611727565b919f909e50909c50959a5093985091965092945050505050565b600080808060646116df878961194c565b6116e9919061192a565b9050600060646116f9878a61194c565b611703919061192a565b905080611710838a611904565b61171a9190611904565b9891975095509350505050565b6000808080611736858961194c565b90506000611744868961194c565b905081611751878961194c565b61175b8385611904565b6117659190611904565b909a90995090975095505050505050565b600060208083528351808285015260005b818110156117a357858101830151858201604001528201611787565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146117db57600080fd5b919050565b600080604083850312156117f357600080fd5b6117fc836117c4565b946020939093013593505050565b60008060006060848603121561181f57600080fd5b611828846117c4565b9250611836602085016117c4565b9150604084013590509250925092565b60006020828403121561185857600080fd5b611861826117c4565b9392505050565b60006020828403121561187a57600080fd5b5035919050565b6000806040838503121561189457600080fd5b61189d836117c4565b91506118ab602084016117c4565b90509250929050565b600181811c908216806118c857607f821691505b6020821081036118e857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610758576107586118ee565b80820180821115610758576107586118ee565b60008261194757634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610758576107586118ee565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b03969096166060850152505050608001529392505050565b6000808354611a0e816118b4565b60018281168015611a265760018114611a3b57611a6a565b60ff1984168752821515830287019450611a6a565b8760005260208060002060005b85811015611a615781548a820152908401908201611a48565b50505082870194505b505063784fcfd160e11b835250506004019392505050565b601f82111561167557600081815260208120601f850160051c81016020861015611aa95750805b601f850160051c820191505b81811015611ac857828155600101611ab5565b505050505050565b815167ffffffffffffffff811115611aea57611aea611963565b611afe81611af884546118b4565b84611a82565b602080601f831160018114611b335760008415611b1b5750858301515b600019600386901b1c1916600185901b178555611ac8565b600085815260208120601f198616915b82811015611b6257888601518255948401946001909101908401611b43565b5085821015611b805787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212201deeb6aea4fb0e1c3aa8dc662cb3d68518741fa9cb00af0ffa26d7ce043359a064736f6c63430008130033
Deployed Bytecode
0x6080604052600436106103035760003560e01c80638a8c523c11610190578063c4918b4e116100dc578063e070d92e11610095578063f77369da1161006f578063f77369da14610394578063f8b45b051461069f578063f97dd1781461036a578063ff06678b1461039457600080fd5b8063e070d92e14610394578063eff680de14610394578063f2fde38b1461067f57600080fd5b8063c4918b4e146105ef578063cc2d04aa14610605578063cd59c6d514610625578063d68c0efb14610394578063d9dbce091461036a578063dd62ed3e1461063957600080fd5b8063a462a4d211610149578063ad5c464811610123578063ad5c4648146105c7578063b49a18e41461036a578063bc2a8f2d1461036a578063bf87d6bf1461039457600080fd5b8063a462a4d21461036a578063a9059cbb146105a7578063a9f62c3b1461036a57600080fd5b80638a8c523c146105265780638da5cb5b1461053b5780638fe1d76c1461039457806390526cf21461055957806395d89b41146105795780639b3d036a1461039457600080fd5b806349bd5a5e1161024f5780636735fbb011610208578063715018a6116101e2578063715018a6146104c8578063751039fc146104dd57806378ec96a0146104f25780637cf9f4921461036a57600080fd5b80636735fbb01461036a57806369e1ea7f1461049157806370a08231146104a857600080fd5b806349bd5a5e1461044957806354f48fb61461036a57806358d901081461036a57806359d0f713146104695780635a1adec214610394578063637e73701461039457600080fd5b806318160ddd116102bc5780632ab9ae1c116102965780632ab9ae1c14610394578063313ce5671461042d57806342002ca01461039457806344ba16a21461036a57600080fd5b806318160ddd146103e85780631f9fa0621461036a57806323b872dd1461040d57600080fd5b806306fdde031461030f578063095ea7b31461033a5780630b5738bb1461036a578063125385f21461037f57806313947db9146103945780631694505e146103a857600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b506103246106b5565b6040516103319190611776565b60405180910390f35b34801561034657600080fd5b5061035a6103553660046117e0565b610747565b6040519015158152602001610331565b34801561037657600080fd5b5061035a600081565b34801561038b57600080fd5b5061035a600181565b3480156103a057600080fd5b50600061035a565b3480156103b457600080fd5b506103d0737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610331565b3480156103f457600080fd5b5067016345785d8a00005b604051908152602001610331565b34801561041957600080fd5b5061035a61042836600461180a565b61075e565b34801561043957600080fd5b5060405160098152602001610331565b34801561045557600080fd5b50600d546103d0906001600160a01b031681565b34801561047557600080fd5b506103d0735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b34801561049d57600080fd5b506104a6610839565b005b3480156104b457600080fd5b506103ff6104c3366004611846565b61084d565b3480156104d457600080fd5b506104a661086f565b3480156104e957600080fd5b506104a6610883565b3480156104fe57600080fd5b506103d07f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a4581565b34801561053257600080fd5b506104a661089e565b34801561054757600080fd5b506000546001600160a01b03166103d0565b34801561056557600080fd5b506104a6610574366004611868565b6108bb565b34801561058557600080fd5b5060408051808201909152600581526423a922a2a760d91b6020820152610324565b3480156105b357600080fd5b5061035a6105c23660046117e0565b610905565b3480156105d357600080fd5b506103d073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b3480156105fb57600080fd5b506103ff600e5481565b34801561061157600080fd5b506104a6610620366004611868565b610912565b34801561063157600080fd5b50600161035a565b34801561064557600080fd5b506103ff610654366004611881565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561068b57600080fd5b506104a661069a366004611846565b610959565b3480156106ab57600080fd5b506103ff600f5481565b6060600180546106c4906118b4565b80601f01602080910402602001604051908101604052809291908181526020018280546106f0906118b4565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b5050505050905090565b60006107543384846109cf565b5060015b92915050565b600061076b848484610af4565b6001600160a01b03841660009081526004602090815260408083203384529091529020548211156107f45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6001600160a01b03841660009081526004602090815260408083203380855292529091205461082f91869161082a908690611904565b6109cf565b5060019392505050565b6108416110d1565b60006008819055600955565b6001600160a01b0381166000908152600260205260408120546107589061112b565b6108776110d1565b61088160006111e4565b565b61088b6110d1565b67016345785d8a0000600e819055600f55565b6108a66110d1565b600d805460ff60a01b1916600160a01b179055565b600b546001600160a01b0316336001600160a01b031614806108f05750600c546001600160a01b0316336001600160a01b0316145b6108f957600080fd5b61090281611234565b50565b6000610754338484610af4565b600b546001600160a01b0316336001600160a01b031614806109475750600c546001600160a01b0316336001600160a01b0316145b61095057600080fd5b61090281611281565b6109616110d1565b6001600160a01b0381166109c65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107eb565b610902816111e4565b6001600160a01b038316610a315760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107eb565b6001600160a01b038216610a925760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107eb565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b585760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107eb565b6001600160a01b038216610bba5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107eb565b60008111610c1a5760405162461bcd60e51b815260206004820152602760248201527f544f4b454e3a205472616e7366657220616d6f756e74206d75737420657863656044820152666564207a65726f60c81b60648201526084016107eb565b6000546001600160a01b03848116911614801590610c4657506000546001600160a01b03838116911614155b8015610c8457507f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a456001600160a01b0316836001600160a01b031614155b8015610cc257507f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a456001600160a01b0316826001600160a01b031614155b15610fab57600d54600160a01b900460ff16610d7f577f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a456001600160a01b0316836001600160a01b031614610d7f5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016107eb565b600e54811115610dd15760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107eb565b600d546001600160a01b03838116911614610e5657600f5481610df38461084d565b610dfd9190611917565b10610e565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107eb565b6000610e817f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a4561084d565b600e54909150633b9aca00821015908210610e9c57600e5491505b808015610eb35750600d54600160a81b900460ff16155b8015610ecd5750600d546001600160a01b03868116911614155b8015610ef257506001600160a01b03851660009081526005602052604090205460ff16155b8015610f1757506001600160a01b03841660009081526005602052604090205460ff16155b15610fa857600d805460ff60b01b1916600160b01b179055610f3882611281565b600d805460ff60b01b191690556001600160a01b037f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a45163115610fa857610fa87f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a456001600160a01b031631611234565b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610fed57506001600160a01b03831660009081526005602052604090205460ff165b8061101f5750600d546001600160a01b0385811691161480159061101f5750600d546001600160a01b03848116911614155b1561102c575060006110bf565b600d546001600160a01b03858116911614801561106657506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b1561107957600854600a556110796113f7565b600d546001600160a01b0384811691161480156110b357506001600160a01b038416737a250d5630b4cf539739df2c5dacb4c659f2488d14155b156110bf57600954600a555b6110cb84848484611426565b50505050565b6000546001600160a01b031633146108815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107eb565b60006006548211156111925760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107eb565b600d54600160b01b900460ff161580156111b55750600d54600160a81b900460ff165b6111d0576111c161144d565b6111cb908361192a565b610758565b61075867016345785d8a00006103e961194c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600c546040516001600160a01b03909116908290600081818185875af1925050503d80600081146110cb576040519150601f19603f3d011682016040523d82523d6000602084013e6110cb565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090507f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a45816000815181106112e9576112e9611979565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061133157611331611979565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63791ac947836000847f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a4561139442610e10611917565b6040518663ffffffff1660e01b81526004016113b495949392919061198f565b600060405180830381600087803b1580156113ce57600080fd5b505af11580156113e2573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b60016040516020016114099190611a00565b604051602081830303815290604052600190816109029190611ad0565b806114335761143361146a565b61143e84848461147d565b806110cb576110cb6008600a55565b600067016345785d8a0000600654611465919061192a565b905090565b600a5460000361147657565b6000600a55565b600d54600160a81b900460ff16158061149f5750600d54600160b01b900460ff165b15611630576000806000806000806114b68761167a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114e9908790611904565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611519908690611917565b6001600160a01b03891660009081526002602052604090205561153a61144d565b611544908261194c565b6001600160a01b037f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a45166000908152600260205260409020546115879190611917565b6001600160a01b037f000000000000000000000000ae19e87af05fd48bd674c45e5de3be16e5634a45166000908152600260205260409020556006546115ce908590611904565b6006556007546115df908390611917565b6007556040518381526001600160a01b03808a1691908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050505050565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ae791815260200190565b505050565b60008060008060008060008060006116968a6000600a546116ce565b92509250925060008060006116b48d86866116af61144d565b611727565b919f909e50909c50959a5093985091965092945050505050565b600080808060646116df878961194c565b6116e9919061192a565b9050600060646116f9878a61194c565b611703919061192a565b905080611710838a611904565b61171a9190611904565b9891975095509350505050565b6000808080611736858961194c565b90506000611744868961194c565b905081611751878961194c565b61175b8385611904565b6117659190611904565b909a90995090975095505050505050565b600060208083528351808285015260005b818110156117a357858101830151858201604001528201611787565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146117db57600080fd5b919050565b600080604083850312156117f357600080fd5b6117fc836117c4565b946020939093013593505050565b60008060006060848603121561181f57600080fd5b611828846117c4565b9250611836602085016117c4565b9150604084013590509250925092565b60006020828403121561185857600080fd5b611861826117c4565b9392505050565b60006020828403121561187a57600080fd5b5035919050565b6000806040838503121561189457600080fd5b61189d836117c4565b91506118ab602084016117c4565b90509250929050565b600181811c908216806118c857607f821691505b6020821081036118e857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610758576107586118ee565b80820180821115610758576107586118ee565b60008261194757634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610758576107586118ee565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b03969096166060850152505050608001529392505050565b6000808354611a0e816118b4565b60018281168015611a265760018114611a3b57611a6a565b60ff1984168752821515830287019450611a6a565b8760005260208060002060005b85811015611a615781548a820152908401908201611a48565b50505082870194505b505063784fcfd160e11b835250506004019392505050565b601f82111561167557600081815260208120601f850160051c81016020861015611aa95750805b601f850160051c820191505b81811015611ac857828155600101611ab5565b505050505050565b815167ffffffffffffffff811115611aea57611aea611963565b611afe81611af884546118b4565b84611a82565b602080601f831160018114611b335760008415611b1b5750858301515b600019600386901b1c1916600185901b178555611ac8565b600085815260208120601f198616915b82811015611b6257888601518255948401946001909101908401611b43565b5085821015611b805787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212201deeb6aea4fb0e1c3aa8dc662cb3d68518741fa9cb00af0ffa26d7ce043359a064736f6c63430008130033
Deployed Bytecode Sourcemap
12595:11956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18191:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17546:161;;;;;;;;;;-1:-1:-1;17546:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;17546:161:0;1004:187:1;13272:43:0;;;;;;;;;;;;13310:5;13272:43;;12657:39;;;;;;;;;;;;12692:4;12657:39;;16782:85;;;;;;;;;;-1:-1:-1;16823:4:0;16782:85;;14324:115;;;;;;;;;;;;14396:42;14324:115;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;14324:115:0;1196:229:1;16970:95:0;;;;;;;;;;-1:-1:-1;13960:17:0;16970:95;;;1576:25:1;;;1564:2;1549:18;16970:95:0;1430:177:1;17715:373:0;;;;;;;;;;-1:-1:-1;17715:373:0;;;;;:::i;:::-;;:::i;18282:83::-;;;;;;;;;;-1:-1:-1;18282:83:0;;13634:1;2087:36:1;;2075:2;2060:18;18282:83:0;1945:184:1;14684:28:0;;;;;;;;;;-1:-1:-1;14684:28:0;;;;-1:-1:-1;;;;;14684:28:0;;;14446:114;;;;;;;;;;;;14517:42;14446:114;;21515:105;;;;;;;;;;;;;:::i;:::-;;17073:139;;;;;;;;;;-1:-1:-1;17073:139:0;;;;;:::i;:::-;;:::i;3508:103::-;;;;;;;;;;;;;:::i;21628:109::-;;;;;;;;;;;;;:::i;14647:30::-;;;;;;;;;;;;;;;21426:81;;;;;;;;;;;;;:::i;2867:87::-;;;;;;;;;;-1:-1:-1;2913:7:0;2940:6;-1:-1:-1;;;;;2940:6:0;2867:87;;21967:202;;;;;;;;;;-1:-1:-1;21967:202:0;;;;;:::i;:::-;;:::i;18096:87::-;;;;;;;;;;-1:-1:-1;18168:7:0;;;;;;;;;;;;-1:-1:-1;;;18168:7:0;;;;18096:87;;17220:167;;;;;;;;;;-1:-1:-1;17220:167:0;;;;;:::i;:::-;;:::i;14567:73::-;;;;;;;;;;;;14598:42;14567:73;;14817:40;;;;;;;;;;;;;;;;21745:214;;;;;;;;;;-1:-1:-1;21745:214:0;;;;;:::i;:::-;;:::i;15650:83::-;;;;;;;;;;-1:-1:-1;12692:4:0;15650:83;;17395:143;;;;;;;;;;-1:-1:-1;17395:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17503:18:0;;;17476:7;17503:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17395:143;3766:201;;;;;;;;;;-1:-1:-1;3766:201:0;;;;;:::i;:::-;;:::i;14864:42::-;;;;;;;;;;;;;;;;18191:83;18228:13;18261:5;18254:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18191:83;:::o;17546:161::-;17621:4;17638:39;1656:10;17661:7;17670:6;17638:8;:39::i;:::-;-1:-1:-1;17695:4:0;17546:161;;;;;:::o;17715:373::-;17813:4;17830:36;17840:6;17848:9;17859:6;17830:9;:36::i;:::-;-1:-1:-1;;;;;17885:19:0;;;;;;:11;:19;;;;;;;;1656:10;17885:33;;;;;;;;:43;-1:-1:-1;17885:43:0;17877:96;;;;-1:-1:-1;;;17877:96:0;;3803:2:1;17877:96:0;;;3785:21:1;3842:2;3822:18;;;3815:30;3881:34;3861:18;;;3854:62;-1:-1:-1;;;3932:18:1;;;3925:38;3980:19;;17877:96:0;;;;;;;;;-1:-1:-1;;;;;18015:19:0;;;;;;:11;:19;;;;;;;;1656:10;18015:33;;;;;;;;;17984:74;;17993:6;;18015:42;;18051:6;;18015:42;:::i;:::-;17984:8;:74::i;:::-;-1:-1:-1;18076:4:0;17715:373;;;;;:::o;21515:105::-;2753:13;:11;:13::i;:::-;21583:1:::1;21568:12;:16:::0;;;21595:13:::1;:17:::0;21515:105::o;17073:139::-;-1:-1:-1;;;;;17187:16:0;;17139:7;17187:16;;;:7;:16;;;;;;17166:38;;:20;:38::i;3508:103::-;2753:13;:11;:13::i;:::-;3573:30:::1;3600:1;3573:18;:30::i;:::-;3508:103::o:0;21628:109::-;2753:13;:11;:13::i;:::-;13960:17:::1;21682:7;:17:::0;;;21710:9:::1;:19:::0;21628:109::o;21426:81::-;2753:13;:11;:13::i;:::-;21481:11:::1;:18:::0;;-1:-1:-1;;;;21481:18:0::1;-1:-1:-1::0;;;21481:18:0::1;::::0;;21426:81::o;21967:202::-;22068:14;;-1:-1:-1;;;;;22068:14:0;1656:10;-1:-1:-1;;;;;22052:30:0;;:64;;;-1:-1:-1;22102:14:0;;-1:-1:-1;;;;;22102:14:0;1656:10;-1:-1:-1;;;;;22086:30:0;;22052:64;22044:73;;;;;;22128:33;22141:19;22128:12;:33::i;:::-;21967:202;:::o;17220:167::-;17298:4;17315:42;1656:10;17339:9;17350:6;17315:9;:42::i;21745:214::-;21852:14;;-1:-1:-1;;;;;21852:14:0;1656:10;-1:-1:-1;;;;;21836:30:0;;:64;;;-1:-1:-1;21886:14:0;;-1:-1:-1;;;;;21886:14:0;1656:10;-1:-1:-1;;;;;21870:30:0;;21836:64;21828:73;;;;;;21912:39;21929:21;21912:16;:39::i;3766:201::-;2753:13;:11;:13::i;:::-;-1:-1:-1;;;;;3855:22:0;::::1;3847:73;;;::::0;-1:-1:-1;;;3847:73:0;;4477:2:1;3847:73:0::1;::::0;::::1;4459:21:1::0;4516:2;4496:18;;;4489:30;4555:34;4535:18;;;4528:62;-1:-1:-1;;;4606:18:1;;;4599:36;4652:19;;3847:73:0::1;4275:402:1::0;3847:73:0::1;3931:28;3950:8;3931:18;:28::i;18573:335::-:0;-1:-1:-1;;;;;18666:19:0;;18658:68;;;;-1:-1:-1;;;18658:68:0;;4884:2:1;18658:68:0;;;4866:21:1;4923:2;4903:18;;;4896:30;4962:34;4942:18;;;4935:62;-1:-1:-1;;;5013:18:1;;;5006:34;5057:19;;18658:68:0;4682:400:1;18658:68:0;-1:-1:-1;;;;;18745:21:0;;18737:68;;;;-1:-1:-1;;;18737:68:0;;5289:2:1;18737:68:0;;;5271:21:1;5328:2;5308:18;;;5301:30;5367:34;5347:18;;;5340:62;-1:-1:-1;;;5418:18:1;;;5411:32;5460:19;;18737:68:0;5087:398:1;18737:68:0;-1:-1:-1;;;;;18816:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18868:32;;1576:25:1;;;18868:32:0;;1549:18:1;18868:32:0;;;;;;;;18573:335;;;:::o;18916:1945::-;-1:-1:-1;;;;;19004:18:0;;18996:68;;;;-1:-1:-1;;;18996:68:0;;5692:2:1;18996:68:0;;;5674:21:1;5731:2;5711:18;;;5704:30;5770:34;5750:18;;;5743:62;-1:-1:-1;;;5821:18:1;;;5814:35;5866:19;;18996:68:0;5490:401:1;18996:68:0;-1:-1:-1;;;;;19083:16:0;;19075:64;;;;-1:-1:-1;;;19075:64:0;;6098:2:1;19075:64:0;;;6080:21:1;6137:2;6117:18;;;6110:30;6176:34;6156:18;;;6149:62;-1:-1:-1;;;6227:18:1;;;6220:33;6270:19;;19075:64:0;5896:399:1;19075:64:0;19167:1;19158:6;:10;19150:62;;;;-1:-1:-1;;;19150:62:0;;6502:2:1;19150:62:0;;;6484:21:1;6541:2;6521:18;;;6514:30;6580:34;6560:18;;;6553:62;-1:-1:-1;;;6631:18:1;;;6624:37;6678:19;;19150:62:0;6300:403:1;19150:62:0;2913:7;2940:6;-1:-1:-1;;;;;19229:15:0;;;2940:6;;19229:15;;;;:32;;-1:-1:-1;2913:7:0;2940:6;-1:-1:-1;;;;;19248:13:0;;;2940:6;;19248:13;;19229:32;:49;;;;;19273:5;-1:-1:-1;;;;;19265:13:0;:4;-1:-1:-1;;;;;19265:13:0;;;19229:49;:64;;;;;19288:5;-1:-1:-1;;;;;19282:11:0;:2;-1:-1:-1;;;;;19282:11:0;;;19229:64;19225:1066;;;19315:11;;-1:-1:-1;;;19315:11:0;;;;19310:142;;19363:5;-1:-1:-1;;;;;19355:13:0;:4;-1:-1:-1;;;;;19355:13:0;;19347:89;;;;-1:-1:-1;;;19347:89:0;;6910:2:1;19347:89:0;;;6892:21:1;6949:2;6929:18;;;6922:30;6988:34;6968:18;;;6961:62;7059:33;7039:18;;;7032:61;7110:19;;19347:89:0;6708:427:1;19347:89:0;19486:7;;19476:6;:17;;19468:58;;;;-1:-1:-1;;;19468:58:0;;7342:2:1;19468:58:0;;;7324:21:1;7381:2;7361:18;;;7354:30;7420;7400:18;;;7393:58;7468:18;;19468:58:0;7140:352:1;19468:58:0;19553:13;;-1:-1:-1;;;;;19547:19:0;;;19553:13;;19547:19;19543:142;;19620:9;;19611:6;19595:13;19605:2;19595:9;:13::i;:::-;:22;;;;:::i;:::-;:34;19587:82;;;;-1:-1:-1;;;19587:82:0;;7829:2:1;19587:82:0;;;7811:21:1;7868:2;7848:18;;;7841:30;7907:34;7887:18;;;7880:62;-1:-1:-1;;;7958:18:1;;;7951:33;8001:19;;19587:82:0;7627:399:1;19587:82:0;19701:28;19732:16;19742:5;19732:9;:16::i;:::-;19859:7;;19701:47;;-1:-1:-1;14953:5:0;19778:36;;;;19835:31;;19831:102;;19910:7;;19887:30;;19831:102;19953:7;:21;;;;-1:-1:-1;19965:9:0;;-1:-1:-1;;;19965:9:0;;;;19964:10;19953:21;:46;;;;-1:-1:-1;19986:13:0;;-1:-1:-1;;;;;19978:21:0;;;19986:13;;19978:21;;19953:46;:75;;;;-1:-1:-1;;;;;;20004:24:0;;;;;;:18;:24;;;;;;;;20003:25;19953:75;:102;;;;-1:-1:-1;;;;;;20033:22:0;;;;;;:18;:22;;;;;;;;20032:23;19953:102;19949:331;;;20076:14;:21;;-1:-1:-1;;;;20076:21:0;-1:-1:-1;;;20076:21:0;;;20116:38;20133:20;20116:16;:38::i;:::-;20173:14;:22;;-1:-1:-1;;;;20173:22:0;;;-1:-1:-1;;;;;20218:5:0;:13;;:17;20214:50;;20237:27;20250:5;-1:-1:-1;;;;;20250:13:0;;20237:12;:27::i;:::-;19295:996;;19225:1066;-1:-1:-1;;;;;20340:24:0;;20303:12;20340:24;;;:18;:24;;;;;;20318:4;;20340:24;;;:50;;-1:-1:-1;;;;;;20368:22:0;;;;;;:18;:22;;;;;;;;20340:50;20339:102;;;-1:-1:-1;20404:13:0;;-1:-1:-1;;;;;20396:21:0;;;20404:13;;20396:21;;;;:44;;-1:-1:-1;20427:13:0;;-1:-1:-1;;;;;20421:19:0;;;20427:13;;20421:19;;20396:44;20335:465;;;-1:-1:-1;20468:5:0;20335:465;;;20518:13;;-1:-1:-1;;;;;20510:21:0;;;20518:13;;20510:21;:55;;;;-1:-1:-1;;;;;;20535:30:0;;14396:42;20535:30;;20510:55;20506:150;;;20596:12;;20586:7;:22;20627:13;:11;:13::i;:::-;20680;;-1:-1:-1;;;;;20674:19:0;;;20680:13;;20674:19;:55;;;;-1:-1:-1;;;;;;20697:32:0;;14396:42;20697:32;;20674:55;20670:119;;;20760:13;;20750:7;:23;20670:119;20812:41;20827:4;20833:2;20837:6;20845:7;20812:14;:41::i;:::-;18985:1876;18916:1945;;;:::o;3032:132::-;2913:7;2940:6;-1:-1:-1;;;;;2940:6:0;1656:10;3096:23;3088:68;;;;-1:-1:-1;;;3088:68:0;;8233:2:1;3088:68:0;;;8215:21:1;;;8252:18;;;8245:30;8311:34;8291:18;;;8284:62;8363:18;;3088:68:0;8031:356:1;22177:264:0;22246:7;22285;;22274;:18;;22266:73;;;;-1:-1:-1;;;22266:73:0;;8594:2:1;22266:73:0;;;8576:21:1;8633:2;8613:18;;;8606:30;8672:34;8652:18;;;8645:62;-1:-1:-1;;;8723:18:1;;;8716:40;8773:19;;22266:73:0;8392:406:1;22266:73:0;22359:14;;-1:-1:-1;;;22359:14:0;;;;22358:15;:28;;;;-1:-1:-1;22377:9:0;;-1:-1:-1;;;22377:9:0;;;;22358:28;22357:76;;22423:10;:8;:10::i;:::-;22413:20;;:7;:20;:::i;:::-;22357:76;;;22390:20;13960:17;22406:4;22390:20;:::i;4127:191::-;4201:16;4220:6;;-1:-1:-1;;;;;4237:17:0;;;-1:-1:-1;;;;;;4237:17:0;;;;;;4270:40;;4220:6;;;;;;;4270:40;;4201:16;4270:40;4190:128;4127:191;:::o;21298:120::-;21367:14;;21359:51;;-1:-1:-1;;;;;21367:14:0;;;;21395:10;;21359:51;;;;21395:10;21367:14;21359:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20981:309;14999:9;:16;;-1:-1:-1;;;;14999:16:0;-1:-1:-1;;;14999:16:0;;;21084::::1;::::0;;21098:1:::1;21084:16:::0;;;;;::::1;::::0;;-1:-1:-1;;21084:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21084:16:0::1;21060:40;;21121:5;21111:4;21116:1;21111:7;;;;;;;;:::i;:::-;;;;;;:15;-1:-1:-1::0;;;;;21111:15:0::1;;;-1:-1:-1::0;;;;;21111:15:0::1;;;::::0;::::1;14598:42;21137:4;21142:1;21137:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21137:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:14;14396:42:::1;21162:66;21229:12:::0;21243:1:::1;21246:4:::0;21252:5:::1;21259:22;:15;21277:4;21259:22;:::i;:::-;21162:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15038:9:0;:17;;-1:-1:-1;;;;15038:17:0;;;-1:-1:-1;;;;20981:309:0:o;20869:104::-;20943:5;20926:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;20911:5;:54;;;;;;:::i;22449:235::-;22562:7;22557:26;;22571:12;:10;:12::i;:::-;22594:44;22612:6;22620:9;22631:6;22594:17;:44::i;:::-;22654:7;22649:27;;22663:13;18556:1;18546:7;:11;18504:61;24454:94;24496:7;13960:17;24523:7;;:17;;;;:::i;:::-;24516:24;;24454:94;:::o;18373:123::-;18418:7;;18429:1;18418:12;18414:51;;18373:123::o;18414:51::-;18487:1;18477:7;:11;18373:123::o;22692:719::-;22795:9;;-1:-1:-1;;;22795:9:0;;;;22794:10;;:28;;-1:-1:-1;22808:14:0;;-1:-1:-1;;;22808:14:0;;;;22794:28;22790:614;;;22840:15;22857:23;22882:12;22896:23;22921:12;22935:13;22952:19;22963:7;22952:10;:19::i;:::-;-1:-1:-1;;;;;23004:15:0;;;;;;:7;:15;;;;;;22839:132;;-1:-1:-1;22839:132:0;;-1:-1:-1;22839:132:0;;-1:-1:-1;22839:132:0;-1:-1:-1;22839:132:0;-1:-1:-1;22839:132:0;-1:-1:-1;23004:25:0;;22839:132;;23004:25;:::i;:::-;-1:-1:-1;;;;;22986:15:0;;;;;;;:7;:15;;;;;;:43;;;;23065:18;;;;;;;:36;;23086:15;;23065:36;:::i;:::-;-1:-1:-1;;;;;23044:18:0;;;;;;:7;:18;;;;;:57;23159:10;:8;:10::i;:::-;23151:18;;:5;:18;:::i;:::-;-1:-1:-1;;;;;23141:5:0;23133:14;;;;;:7;:14;;;;;;:37;;;;:::i;:::-;-1:-1:-1;;;;;23124:5:0;23116:14;;;;;:7;:14;;;;;:54;23195:7;;:14;;23205:4;;23195:14;:::i;:::-;23185:7;:24;23237:10;;:17;;23250:4;;23237:17;:::i;:::-;23224:10;:30;23274:44;;1576:25:1;;;-1:-1:-1;;;;;23274:44:0;;;;;;;;;;1564:2:1;1549:18;23274:44:0;;;;;;;22824:506;;;;;;22692:719;;;:::o;22790:614::-;23373:9;-1:-1:-1;;;;;23356:36:0;23365:6;-1:-1:-1;;;;;23356:36:0;;23384:7;23356:36;;;;1576:25:1;;1564:2;1549:18;;1430:177;22790:614:0;22692:719;;;:::o;23419:416::-;23478:7;23487;23496;23505;23514;23523;23544:23;23569:12;23583:13;23600:32;23612:7;23621:1;23624:7;;23600:11;:32::i;:::-;23543:89;;;;;;23644:15;23661:23;23686:12;23702:45;23714:7;23723:4;23729:5;23736:10;:8;:10::i;:::-;23702:11;:45::i;:::-;23643:104;;;;-1:-1:-1;23643:104:0;;-1:-1:-1;23798:15:0;;-1:-1:-1;23815:4:0;;-1:-1:-1;23821:5:0;;-1:-1:-1;23419:416:0;;-1:-1:-1;;;;;23419:416:0:o;23843:283::-;23937:7;;;;24011:3;23990:18;24000:8;23990:7;:18;:::i;:::-;:24;;;;:::i;:::-;23975:39;-1:-1:-1;24025:13:0;24060:3;24041:16;24051:6;24041:7;:16;:::i;:::-;:22;;;;:::i;:::-;24025:38;-1:-1:-1;24025:38:0;24082:14;24092:4;24082:7;:14;:::i;:::-;:22;;;;:::i;:::-;24074:44;24106:4;;-1:-1:-1;24106:4:0;-1:-1:-1;23843:283:0;-1:-1:-1;;;;23843:283:0:o;24134:312::-;24244:7;;;;24300:21;24310:11;24300:7;:21;:::i;:::-;24282:39;-1:-1:-1;24332:12:0;24347:18;24354:11;24347:4;:18;:::i;:::-;24332:33;-1:-1:-1;24384:7:0;24411:19;24419:11;24411:5;:19;:::i;:::-;24393:14;24403:4;24393:7;:14;:::i;:::-;:38;;;;:::i;:::-;24376:62;;;;-1:-1:-1;24433:4:0;;-1:-1:-1;24134:312:0;-1:-1:-1;;;;;;24134:312:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;2575:186::-;2634:6;2687:2;2675:9;2666:7;2662:23;2658:32;2655:52;;;2703:1;2700;2693:12;2655:52;2726:29;2745:9;2726:29;:::i;:::-;2716:39;2575:186;-1:-1:-1;;;2575:186:1:o;2766:180::-;2825:6;2878:2;2866:9;2857:7;2853:23;2849:32;2846:52;;;2894:1;2891;2884:12;2846:52;-1:-1:-1;2917:23:1;;2766:180;-1:-1:-1;2766:180:1:o;2951:260::-;3019:6;3027;3080:2;3068:9;3059:7;3055:23;3051:32;3048:52;;;3096:1;3093;3086:12;3048:52;3119:29;3138:9;3119:29;:::i;:::-;3109:39;;3167:38;3201:2;3190:9;3186:18;3167:38;:::i;:::-;3157:48;;2951:260;;;;;:::o;3216:380::-;3295:1;3291:12;;;;3338;;;3359:61;;3413:4;3405:6;3401:17;3391:27;;3359:61;3466:2;3458:6;3455:14;3435:18;3432:38;3429:161;;3512:10;3507:3;3503:20;3500:1;3493:31;3547:4;3544:1;3537:15;3575:4;3572:1;3565:15;3429:161;;3216:380;;;:::o;4010:127::-;4071:10;4066:3;4062:20;4059:1;4052:31;4102:4;4099:1;4092:15;4126:4;4123:1;4116:15;4142:128;4209:9;;;4230:11;;;4227:37;;;4244:18;;:::i;7497:125::-;7562:9;;;7583:10;;;7580:36;;;7596:18;;:::i;8803:217::-;8843:1;8869;8859:132;;8913:10;8908:3;8904:20;8901:1;8894:31;8948:4;8945:1;8938:15;8976:4;8973:1;8966:15;8859:132;-1:-1:-1;9005:9:1;;8803:217::o;9025:168::-;9098:9;;;9129;;9146:15;;;9140:22;;9126:37;9116:71;;9167:18;;:::i;9408:127::-;9469:10;9464:3;9460:20;9457:1;9450:31;9500:4;9497:1;9490:15;9524:4;9521:1;9514:15;9540:127;9601:10;9596:3;9592:20;9589:1;9582:31;9632:4;9629:1;9622:15;9656:4;9653:1;9646:15;9672:980;9934:4;9982:3;9971:9;9967:19;10013:6;10002:9;9995:25;10039:2;10077:6;10072:2;10061:9;10057:18;10050:34;10120:3;10115:2;10104:9;10100:18;10093:31;10144:6;10179;10173:13;10210:6;10202;10195:22;10248:3;10237:9;10233:19;10226:26;;10287:2;10279:6;10275:15;10261:29;;10308:1;10318:195;10332:6;10329:1;10326:13;10318:195;;;10397:13;;-1:-1:-1;;;;;10393:39:1;10381:52;;10488:15;;;;10453:12;;;;10429:1;10347:9;10318:195;;;-1:-1:-1;;;;;;;10569:32:1;;;;10564:2;10549:18;;10542:60;-1:-1:-1;;;10633:3:1;10618:19;10611:35;10530:3;9672:980;-1:-1:-1;;;9672:980:1:o;10783:993::-;11012:3;11041:1;11074:6;11068:13;11104:36;11130:9;11104:36;:::i;:::-;11159:1;11176:18;;;11203:133;;;;11350:1;11345:356;;;;11169:532;;11203:133;-1:-1:-1;;11236:24:1;;11224:37;;11309:14;;11302:22;11290:35;;11281:45;;;-1:-1:-1;11203:133:1;;11345:356;11376:6;11373:1;11366:17;11406:4;11451:2;11448:1;11438:16;11476:1;11490:165;11504:6;11501:1;11498:13;11490:165;;;11582:14;;11569:11;;;11562:35;11625:16;;;;11519:10;;11490:165;;;11494:3;;;11684:6;11679:3;11675:16;11668:23;;11169:532;-1:-1:-1;;;;;11710:33:1;;-1:-1:-1;;11768:1:1;11759:11;;10783:993;-1:-1:-1;;;10783:993:1:o;11781:545::-;11883:2;11878:3;11875:11;11872:448;;;11919:1;11944:5;11940:2;11933:17;11989:4;11985:2;11975:19;12059:2;12047:10;12043:19;12040:1;12036:27;12030:4;12026:38;12095:4;12083:10;12080:20;12077:47;;;-1:-1:-1;12118:4:1;12077:47;12173:2;12168:3;12164:12;12161:1;12157:20;12151:4;12147:31;12137:41;;12228:82;12246:2;12239:5;12236:13;12228:82;;;12291:17;;;12272:1;12261:13;12228:82;;;12232:3;;;11781:545;;;:::o;12502:1352::-;12628:3;12622:10;12655:18;12647:6;12644:30;12641:56;;;12677:18;;:::i;:::-;12706:97;12796:6;12756:38;12788:4;12782:11;12756:38;:::i;:::-;12750:4;12706:97;:::i;:::-;12858:4;;12922:2;12911:14;;12939:1;12934:663;;;;13641:1;13658:6;13655:89;;;-1:-1:-1;13710:19:1;;;13704:26;13655:89;-1:-1:-1;;12459:1:1;12455:11;;;12451:24;12447:29;12437:40;12483:1;12479:11;;;12434:57;13757:81;;12904:944;;12934:663;10730:1;10723:14;;;10767:4;10754:18;;-1:-1:-1;;12970:20:1;;;13088:236;13102:7;13099:1;13096:14;13088:236;;;13191:19;;;13185:26;13170:42;;13283:27;;;;13251:1;13239:14;;;;13118:19;;13088:236;;;13092:3;13352:6;13343:7;13340:19;13337:201;;;13413:19;;;13407:26;-1:-1:-1;;13496:1:1;13492:14;;;13508:3;13488:24;13484:37;13480:42;13465:58;13450:74;;13337:201;-1:-1:-1;;;;;13584:1:1;13568:14;;;13564:22;13551:36;;-1:-1:-1;12502:1352:1:o
Swarm Source
ipfs://1deeb6aea4fb0e1c3aa8dc662cb3d68518741fa9cb00af0ffa26d7ce043359a0
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.