Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 639 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21239299 | 13 days ago | IN | 0 ETH | 0.00069371 | ||||
Approve | 21002041 | 46 days ago | IN | 0 ETH | 0.00080864 | ||||
Approve | 20756349 | 80 days ago | IN | 0 ETH | 0.00013153 | ||||
Approve | 19491778 | 257 days ago | IN | 0 ETH | 0.0006127 | ||||
Approve | 19491777 | 257 days ago | IN | 0 ETH | 0.00062476 | ||||
Approve | 19178325 | 301 days ago | IN | 0 ETH | 0.0018983 | ||||
Approve | 18936252 | 335 days ago | IN | 0 ETH | 0.00101234 | ||||
Approve | 18600276 | 382 days ago | IN | 0 ETH | 0.00122772 | ||||
Approve | 18387628 | 412 days ago | IN | 0 ETH | 0.00053379 | ||||
Approve | 18387598 | 412 days ago | IN | 0 ETH | 0.00056282 | ||||
Approve | 17939312 | 474 days ago | IN | 0 ETH | 0.00054045 | ||||
Approve | 17939307 | 474 days ago | IN | 0 ETH | 0.00107184 | ||||
Approve | 17669521 | 512 days ago | IN | 0 ETH | 0.00085526 | ||||
Approve | 17516137 | 534 days ago | IN | 0 ETH | 0.00090539 | ||||
Approve | 17476373 | 539 days ago | IN | 0 ETH | 0.00066958 | ||||
Approve | 17433338 | 545 days ago | IN | 0 ETH | 0.00115842 | ||||
Approve | 17360449 | 556 days ago | IN | 0 ETH | 0.00142614 | ||||
Approve | 17304444 | 563 days ago | IN | 0 ETH | 0.00120165 | ||||
Approve | 17304056 | 564 days ago | IN | 0 ETH | 0.00157739 | ||||
Approve | 17253889 | 571 days ago | IN | 0 ETH | 0.00163371 | ||||
Approve | 17168365 | 583 days ago | IN | 0 ETH | 0.00400975 | ||||
Approve | 17132777 | 588 days ago | IN | 0 ETH | 0.00218106 | ||||
Approve | 17110403 | 591 days ago | IN | 0 ETH | 0.00212823 | ||||
Approve | 17109882 | 591 days ago | IN | 0 ETH | 0.0026789 | ||||
Approve | 17109720 | 591 days ago | IN | 0 ETH | 0.00297176 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
16494965 | 677 days ago | 0.06408304 ETH | ||||
16494965 | 677 days ago | 0.19517786 ETH | ||||
16494965 | 677 days ago | 0.06408304 ETH | ||||
16494965 | 677 days ago | 0.32334396 ETH | ||||
16494894 | 677 days ago | 0.02347058 ETH | ||||
16494894 | 677 days ago | 0.00047899 ETH | ||||
16494894 | 677 days ago | 0.02347058 ETH | ||||
16494894 | 677 days ago | 0.04742015 ETH | ||||
16494894 | 677 days ago | 0.03171344 ETH | ||||
16494894 | 677 days ago | 0.01626714 ETH | ||||
16494894 | 677 days ago | 0.03171344 ETH | ||||
16494894 | 677 days ago | 0.07969403 ETH | ||||
16494893 | 677 days ago | 0.02287903 ETH | ||||
16494893 | 677 days ago | 0.00046691 ETH | ||||
16494893 | 677 days ago | 0.02287903 ETH | ||||
16494893 | 677 days ago | 0.04622499 ETH | ||||
16494893 | 677 days ago | 0.02357879 ETH | ||||
16494893 | 677 days ago | 0.00048119 ETH | ||||
16494893 | 677 days ago | 0.02357879 ETH | ||||
16494893 | 677 days ago | 0.04763879 ETH | ||||
16494893 | 677 days ago | 0.02431681 ETH | ||||
16494893 | 677 days ago | 0.00049626 ETH | ||||
16494893 | 677 days ago | 0.02431681 ETH | ||||
16494893 | 677 days ago | 0.04912988 ETH | ||||
16494893 | 677 days ago | 0.02748312 ETH |
Loading...
Loading
Contract Name:
Dogelena2
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-27 */ /* ██████╗ ██████╗ ██████╗ ███████╗██╗ ███████╗███╗ ██╗ █████╗ ███╗ ███╗ █████╗ ██████╗ ███████╗ ██╔══██╗██╔═══██╗██╔════╝ ██╔════╝██║ ██╔════╝████╗ ██║██╔══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝ ██║ ██║██║ ██║██║ ███╗█████╗ ██║ █████╗ ██╔██╗ ██║███████║██╔████╔██║███████║██████╔╝███████╗ ██║ ██║██║ ██║██║ ██║██╔══╝ ██║ ██╔══╝ ██║╚██╗██║██╔══██║██║╚██╔╝██║██╔══██║██╔══██╗╚════██║ ██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗███████╗██║ ╚████║██║ ██║██║ ╚═╝ ██║██║ ██║██║ ██║███████║ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ Website: https://www.dogelenamars.com */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** */ function transfer(address recipient, uint256 amount) external returns (bool); /** */ function allowance(address owner, address spender) external view returns (uint256); /** */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` 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 sender, address recipient, uint256 amount ) external returns (bool); /** * @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 Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ 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; } } /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, 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; _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; } _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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } /** */ 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() { } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** */ function renounceOwnership() public virtual onlyOwner { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) internal { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** */ abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** */ modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } /** */ modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } 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 Dogelena2 is ERC20, Ownable, Pausable { uint256 private initialSupply; uint256 private denominator = 100; uint256 private swapThreshold = 0.000005 ether; uint256 private devTaxBuy; uint256 private liquidityTaxBuy; uint256 private devTaxSell; uint256 private liquidityTaxSell; uint256 public maxWallet; address private devTaxWallet; address private liquidityTaxWallet; bool private tradingOpen; //Anti snipe feature uint256 private deadBlockNumber; uint256 private launchedBlockNumber; // Mappings mapping (address => bool) private blacklist; mapping (address => bool) private excludeList; mapping (string => uint256) private buyTaxes; mapping (string => uint256) private sellTaxes; mapping (string => address) private taxWallets; mapping (address => bool) public preTrader; bool public taxStatus = true; IUniswapV2Router02 private uniswapV2Router02; IUniswapV2Factory private uniswapV2Factory; IUniswapV2Pair public uniswapV2Pair; constructor(string memory _tokenName,string memory _tokenSymbol,uint256 _supply) ERC20(_tokenName, _tokenSymbol) payable { initialSupply =_supply * (10**18); maxWallet = initialSupply * 2 / 100; _setOwner(msg.sender); uniswapV2Router02 = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Factory = IUniswapV2Factory(uniswapV2Router02.factory()); uniswapV2Pair = IUniswapV2Pair(uniswapV2Factory.createPair(address(this), uniswapV2Router02.WETH())); taxWallets["liquidity"] = address(0); setBuyTax(15,5); setSellTax(1,98); setTaxWallets(0x1a58e7F25dA15F91559811cf9b43F86EbcCc311A); exclude(msg.sender); exclude(address(this)); exclude(devTaxWallet); _mint(msg.sender, initialSupply); } uint256 private devTokens; uint256 private liquidityTokens; /** * @dev Calculates the tax, transfer it to the contract. If the user is selling, and the swap threshold is met, it executes the tax. */ function handleTax(address from, address to, uint256 amount) private returns (uint256) { address[] memory sellPath = new address[](2); sellPath[0] = address(this); sellPath[1] = uniswapV2Router02.WETH(); if(!isExcluded(from) && !isExcluded(to)) { uint256 tax; uint256 baseUnit = amount / denominator; if(from == address(uniswapV2Pair)) { //BUY //Anti Snipe - Penalize 99% tax to snipers purchasing in launch block if(tradingOpen && block.number <= deadBlockNumber) { tax += baseUnit * 99; devTokens += baseUnit * 99; } else { tax += baseUnit * buyTaxes["dev"]; tax += baseUnit * buyTaxes["liquidity"]; devTokens += baseUnit * buyTaxes["dev"]; liquidityTokens += baseUnit * buyTaxes["liquidity"]; } if(tax > 0) { _transfer(from, address(this), tax); } } else if(to == address(uniswapV2Pair)) { //SELL tax += baseUnit * sellTaxes["dev"]; tax += baseUnit * sellTaxes["liquidity"]; if(tax > 0) { _transfer(from, address(this), tax); } devTokens += baseUnit * sellTaxes["dev"]; liquidityTokens += baseUnit * sellTaxes["liquidity"]; uint256 taxSum = devTokens + liquidityTokens; if(taxSum == 0) return amount; uint256 ethValue = uniswapV2Router02.getAmountsOut( devTokens + liquidityTokens, sellPath)[1]; if(ethValue >= swapThreshold) { uint256 startBalance = address(this).balance; uint256 toSell = devTokens + liquidityTokens / 2 ; _approve(address(this), address(uniswapV2Router02), toSell); uniswapV2Router02.swapExactTokensForETH( toSell, 0, sellPath, address(this), block.timestamp ); uint256 ethGained = address(this).balance - startBalance; uint256 liquidityToken = liquidityTokens / 2; uint256 liquidityETH = (ethGained * ((liquidityTokens / 2 * 10**18) / taxSum)) / 10**18; uint256 devETH = (ethGained * ((devTokens * 10**18) / taxSum)) / 10**18; _approve(address(this), address(uniswapV2Router02), liquidityToken); uniswapV2Router02.addLiquidityETH{value: liquidityETH}( address(this), liquidityToken, 0, 0, taxWallets["liquidity"], block.timestamp ); uint256 remainingTokens = (devTokens + liquidityTokens) - (toSell + liquidityToken); if(remainingTokens > 0) { _transfer(address(this), taxWallets["dev"], remainingTokens); } (bool success,) = taxWallets["dev"].call{value: devETH}(""); require(success, "transfer to dev wallet failed"); if(ethGained - ( devETH + liquidityETH) > 0) { (bool success1,) = taxWallets["dev"].call{value: ethGained - (devETH + liquidityETH)}(""); require(success1, "transfer to dev wallet failed"); } devTokens = 0; liquidityTokens = 0; } } amount -= tax; if (to != address(uniswapV2Pair)){ require(balanceOf(to) + amount <= maxWallet, "maxWallet limit exceeded"); } //Trade start check if(!tradingOpen) { require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled"); } } return amount; } function _transfer( address sender, address recipient, uint256 amount ) internal override virtual { require(!paused(), "ERC20: token transfer while paused"); require(!isBlacklisted(msg.sender), "ERC20: sender blacklisted"); require(!isBlacklisted(recipient), "ERC20: recipient blacklisted"); require(!isBlacklisted(tx.origin), "ERC20: sender blacklisted"); if(taxStatus) { amount = handleTax(sender, recipient, amount); } super._transfer(sender, recipient, amount); } /** * @dev Triggers the tax handling functionality */ function triggerTax() public onlyOwner { handleTax(address(0), address(uniswapV2Pair), 0); } /** * @dev Pauses transfers on the token. */ function pause() public onlyOwner { require(!paused(), "ERC20: Contract is already paused"); _pause(); } /** * @dev Unpauses transfers on the token. */ function unpause() public onlyOwner { require(paused(), "ERC20: Contract is not paused"); _unpause(); } /** * @dev set max wallet limit per address. */ function setMaxWallet(uint256 amount) external onlyOwner { require (amount > 10000, "NO rug pull"); maxWallet = amount * 10**18; } /** * @dev Burns tokens from caller address. */ function burn(uint256 amount) public onlyOwner { _burn(msg.sender, amount); } /** * @dev Blacklists the specified account (Disables transfers to and from the account). */ function enableBlacklist(address account) public onlyOwner { require(!blacklist[account], "ERC20: Account is already blacklisted"); blacklist[account] = true; } /** * @dev Remove the specified account from the blacklist. */ function disableBlacklist(address account) public onlyOwner { require(blacklist[account], "ERC20: Account is not blacklisted"); blacklist[account] = false; } /** * @dev Excludes the specified account from tax. */ function exclude(address account) public onlyOwner { require(!isExcluded(account), "ERC20: Account is already excluded"); excludeList[account] = true; } /** * @dev Re-enables tax on the specified account. */ function removeExclude(address account) public onlyOwner { require(isExcluded(account), "ERC20: Account is not excluded"); excludeList[account] = false; } /** * @dev Sets tax for buys. */ function setBuyTax(uint256 dev,uint256 liquidity) public onlyOwner { buyTaxes["dev"] = dev; buyTaxes["liquidity"] = liquidity; } /** * @dev Sets tax for sells. */ function setSellTax(uint256 dev, uint256 liquidity) public onlyOwner { sellTaxes["dev"] = dev; sellTaxes["liquidity"] = liquidity; } /** * @dev Sets wallets for taxes. */ function setTaxWallets(address dev) public onlyOwner { taxWallets["dev"] = dev; } function claimStuckTokens(address _token) external onlyOwner { if (_token == address(0x0)) { payable(owner()).transfer(address(this).balance); return; } IERC20 erc20token = IERC20(_token); uint256 balance = erc20token.balanceOf(address(this)); erc20token.transfer(owner(), balance); } /** * @dev Enables tax globally. */ function enableTax() public onlyOwner { require(!taxStatus, "ERC20: Tax is already enabled"); taxStatus = true; } /** * @dev Disables tax globally. */ function disableTax() public onlyOwner { require(taxStatus, "ERC20: Tax is already disabled"); taxStatus = false; } /** * @dev Returns true if the account is blacklisted, and false otherwise. */ function isBlacklisted(address account) public view returns (bool) { return blacklist[account]; } /** * @dev Returns true if the account is excluded, and false otherwise. */ function isExcluded(address account) public view returns (bool) { return excludeList[account]; } function setTrading(bool _tradingOpen, uint _deadBlocks) public onlyOwner { tradingOpen = _tradingOpen; //Run only first time of project launch //Anti snipe feature if(launchedBlockNumber == 0) { launchedBlockNumber = block.number; deadBlockNumber = block.number + _deadBlocks; } } function allowPreTrading(address account, bool allowed) public onlyOwner { require(preTrader[account] != allowed, "TOKEN: Already enabled."); preTrader[account] = allowed; } /// @notice Get the block. at which the project launched function getLaunchedBlockNumber() public view returns (uint256) { return launchedBlockNumber; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"stateMutability":"payable","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"disableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"enableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLaunchedBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dev","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"},{"internalType":"uint256","name":"_deadBlocks","type":"uint256"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"triggerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040819052606460075565048c273950006008556018805460ff191660011790556200356a388190039081908339810160408190526200004191620008a1565b8251839083906200005a9060039060208501906200072e565b508051620000709060049060208401906200072e565b50506005805460ff60a01b19169055506200009481670de0b6b3a76400006200092a565b6006819055606490620000a99060026200092a565b620000b591906200094c565b600d55620000c3336200033e565b60188054747a250d5630b4cf539739df2c5dacb4c659f2488d00610100600160a81b031990911617908190556040805163c45a015560e01b815290516101009092046001600160a01b03169163c45a0155916004808201926020929091908290030181865afa1580156200013b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016191906200096f565b601980546001600160a01b0319166001600160a01b03928316908117909155601854604080516315ab88c960e31b81529051929363c9c6539693309361010090049091169163ad5c46489160048083019260209291908290030181865afa158015620001d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f791906200096f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b91906200096f565b601a80546001600160a01b03929092166001600160a01b031992831617905560408051686c697175696469747960b81b815260166009820152905160299181900391909101902080549091169055620002c7600f600562000390565b620002d56001606262000438565b620002f4731a58e7f25da15f91559811cf9b43f86ebccc311a620004cd565b620002ff3362000564565b6200030a3062000564565b600e5462000321906001600160a01b031662000564565b62000335336006546200064960201b60201c565b505050620009f8565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620003df5760405162461bcd60e51b815260206004820181905260248201526000805160206200354a83398151915260448201526064015b60405180910390fd5b816014604051620003f990623232bb60e91b815260030190565b90815260405190819003602001812091909155686c697175696469747960b81b815281906014906009015b908152604051908190036020019020555050565b6005546001600160a01b03163314620004835760405162461bcd60e51b815260206004820181905260248201526000805160206200354a8339815191526044820152606401620003d6565b8160156040516200049d90623232bb60e91b815260030190565b90815260405190819003602001812091909155686c697175696469747960b81b8152819060159060090162000424565b6005546001600160a01b03163314620005185760405162461bcd60e51b815260206004820181905260248201526000805160206200354a8339815191526044820152606401620003d6565b8060166040516200053290623232bb60e91b815260030190565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b03163314620005af5760405162461bcd60e51b815260206004820181905260248201526000805160206200354a8339815191526044820152606401620003d6565b6001600160a01b03811660009081526013602052604090205460ff1615620006255760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b6064820152608401620003d6565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6001600160a01b038216620006a15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003d6565b8060026000828254620006b59190620009a1565b90915550506001600160a01b03821660009081526020819052604081208054839290620006e4908490620009a1565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200073c90620009bc565b90600052602060002090601f016020900481019282620007605760008555620007ab565b82601f106200077b57805160ff1916838001178555620007ab565b82800160010185558215620007ab579182015b82811115620007ab5782518255916020019190600101906200078e565b50620007b9929150620007bd565b5090565b5b80821115620007b95760008155600101620007be565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620007fc57600080fd5b81516001600160401b0380821115620008195762000819620007d4565b604051601f8301601f19908116603f01168101908282118183101715620008445762000844620007d4565b816040528381526020925086838588010111156200086157600080fd5b600091505b8382101562000885578582018301518183018401529082019062000866565b83821115620008975760008385830101525b9695505050505050565b600080600060608486031215620008b757600080fd5b83516001600160401b0380821115620008cf57600080fd5b620008dd87838801620007ea565b94506020860151915080821115620008f457600080fd5b506200090386828701620007ea565b925050604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000947576200094762000914565b500290565b6000826200096a57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200098257600080fd5b81516001600160a01b03811681146200099a57600080fd5b9392505050565b60008219821115620009b757620009b762000914565b500190565b600181811c90821680620009d157607f821691505b602082108103620009f257634e487b7160e01b600052602260045260246000fd5b50919050565b612b428062000a086000396000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063cba0e996116100ab578063e2aa6cae1161006f578063e2aa6cae1461069b578063f2fde38b146106bb578063f8b45b05146106db578063f9d0831a146106f1578063fe575a871461071157600080fd5b8063cba0e996146105e0578063ced695a414610600578063cfefd79e14610615578063d01dc84b14610635578063dd62ed3e1461065557600080fd5b806395d89b41116100f257806395d89b411461053b578063a457c2d714610550578063a9059cbb14610570578063abe4f11d14610590578063bdd795ef146105b057600080fd5b806370a082311461049d578063715018a6146104d3578063717a8651146104e85780638456cb59146105085780638da5cb5b1461051d57600080fd5b80632f9c4569116101bc57806349bd5a5e1161018057806349bd5a5e146103f15780634febf53d1461042957806353eb3bcf146104495780635c975abb1461045e5780635d0044ca1461047d57600080fd5b80632f9c456914610360578063313ce56714610380578063395093511461039c5780633f4ba83a146103bc57806342966c68146103d157600080fd5b806318160ddd1161020357806318160ddd146102dc57806323a38a38146102f157806323b872dd1461030b578063247b912d1461032b5780632c32abc21461034b57600080fd5b806305a1f36d1461024057806306fdde0314610262578063095ea7b31461028d5780630dbd397c146102bd57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061026061025b366004612625565b61074a565b005b34801561026e57600080fd5b506102776107c1565b6040516102849190612647565b60405180910390f35b34801561029957600080fd5b506102ad6102a83660046126b1565b610853565b6040519015158152602001610284565b3480156102c957600080fd5b506011545b604051908152602001610284565b3480156102e857600080fd5b506002546102ce565b3480156102fd57600080fd5b506018546102ad9060ff1681565b34801561031757600080fd5b506102ad6103263660046126dd565b610869565b34801561033757600080fd5b50610260610346366004612625565b610915565b34801561035757600080fd5b5061026061096f565b34801561036c57600080fd5b5061026061037b36600461272c565b6109b5565b34801561038c57600080fd5b5060405160128152602001610284565b3480156103a857600080fd5b506102ad6103b73660046126b1565b610a7a565b3480156103c857600080fd5b50610260610ab6565b3480156103dd57600080fd5b506102606103ec366004612765565b610b43565b3480156103fd57600080fd5b50601a54610411906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b34801561043557600080fd5b5061026061044436600461277e565b610b77565b34801561045557600080fd5b50610260610c26565b34801561046a57600080fd5b50600554600160a01b900460ff166102ad565b34801561048957600080fd5b50610260610498366004612765565b610cb2565b3480156104a957600080fd5b506102ce6104b836600461277e565b6001600160a01b031660009081526020819052604090205490565b3480156104df57600080fd5b50610260610d33565b3480156104f457600080fd5b5061026061050336600461277e565b610d67565b34801561051457600080fd5b50610260610e2c565b34801561052957600080fd5b506005546001600160a01b0316610411565b34801561054757600080fd5b50610277610ec2565b34801561055c57600080fd5b506102ad61056b3660046126b1565b610ed1565b34801561057c57600080fd5b506102ad61058b3660046126b1565b610f6a565b34801561059c57600080fd5b506102606105ab36600461277e565b610f77565b3480156105bc57600080fd5b506102ad6105cb36600461277e565b60176020526000908152604090205460ff1681565b3480156105ec57600080fd5b506102ad6105fb36600461277e565b611017565b34801561060c57600080fd5b50610260611035565b34801561062157600080fd5b5061026061063036600461277e565b6110bd565b34801561064157600080fd5b5061026061065036600461277e565b61117a565b34801561066157600080fd5b506102ce61067036600461279b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106a757600080fd5b506102606106b63660046127c9565b6111e5565b3480156106c757600080fd5b506102606106d636600461277e565b611249565b3480156106e757600080fd5b506102ce600d5481565b3480156106fd57600080fd5b5061026061070c36600461277e565b6112e1565b34801561071d57600080fd5b506102ad61072c36600461277e565b6001600160a01b031660009081526012602052604090205460ff1690565b6005546001600160a01b0316331461077d5760405162461bcd60e51b8152600401610774906127e7565b60405180910390fd5b81601460405161078c9061281c565b9081526020016040518091039020819055508060146040516107ad9061282b565b908152604051908190036020019020555050565b6060600380546107d090612840565b80601f01602080910402602001604051908101604052809291908181526020018280546107fc90612840565b80156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b5050505050905090565b6000610860338484611459565b50600192915050565b600061087684848461157d565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108fb5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610774565b6109088533858403611459565b60019150505b9392505050565b6005546001600160a01b0316331461093f5760405162461bcd60e51b8152600401610774906127e7565b81601560405161094e9061281c565b9081526020016040518091039020819055508060156040516107ad9061282b565b6005546001600160a01b031633146109995760405162461bcd60e51b8152600401610774906127e7565b601a546109b2906000906001600160a01b03168161172c565b50565b6005546001600160a01b031633146109df5760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03821660009081526017602052604090205481151560ff909116151503610a4f5760405162461bcd60e51b815260206004820152601760248201527f544f4b454e3a20416c726561647920656e61626c65642e0000000000000000006044820152606401610774565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610860918590610ab1908690612890565b611459565b6005546001600160a01b03163314610ae05760405162461bcd60e51b8152600401610774906127e7565b600554600160a01b900460ff16610b395760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20436f6e7472616374206973206e6f74207061757365640000006044820152606401610774565b610b41612192565b565b6005546001600160a01b03163314610b6d5760405162461bcd60e51b8152600401610774906127e7565b6109b2338261222f565b6005546001600160a01b03163314610ba15760405162461bcd60e51b8152600401610774906127e7565b610baa81611017565b15610c025760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b6064820152608401610774565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6005546001600160a01b03163314610c505760405162461bcd60e51b8152600401610774906127e7565b60185460ff1615610ca35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054617820697320616c726561647920656e61626c65640000006044820152606401610774565b6018805460ff19166001179055565b6005546001600160a01b03163314610cdc5760405162461bcd60e51b8152600401610774906127e7565b6127108111610d1b5760405162461bcd60e51b815260206004820152600b60248201526a1393c81c9d59c81c1d5b1b60aa1b6044820152606401610774565b610d2d81670de0b6b3a76400006128a8565b600d5550565b6005546001600160a01b03163314610d5d5760405162461bcd60e51b8152600401610774906127e7565b610b41600061237d565b6005546001600160a01b03163314610d915760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03811660009081526012602052604090205460ff1615610e085760405162461bcd60e51b815260206004820152602560248201527f45524332303a204163636f756e7420697320616c726561647920626c61636b6c6044820152641a5cdd195960da1b6064820152608401610774565b6001600160a01b03166000908152601260205260409020805460ff19166001179055565b6005546001600160a01b03163314610e565760405162461bcd60e51b8152600401610774906127e7565b600554600160a01b900460ff1615610eba5760405162461bcd60e51b815260206004820152602160248201527f45524332303a20436f6e747261637420697320616c72656164792070617573656044820152601960fa1b6064820152608401610774565b610b416123cf565b6060600480546107d090612840565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f535760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610774565b610f603385858403611459565b5060019392505050565b600061086033848461157d565b6005546001600160a01b03163314610fa15760405162461bcd60e51b8152600401610774906127e7565b610faa81611017565b610ff65760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204163636f756e74206973206e6f74206578636c7564656400006044820152606401610774565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6001600160a01b031660009081526013602052604090205460ff1690565b6005546001600160a01b0316331461105f5760405162461bcd60e51b8152600401610774906127e7565b60185460ff166110b15760405162461bcd60e51b815260206004820152601e60248201527f45524332303a2054617820697320616c72656164792064697361626c656400006044820152606401610774565b6018805460ff19169055565b6005546001600160a01b031633146110e75760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03811660009081526012602052604090205460ff166111595760405162461bcd60e51b815260206004820152602160248201527f45524332303a204163636f756e74206973206e6f7420626c61636b6c697374656044820152601960fa1b6064820152608401610774565b6001600160a01b03166000908152601260205260409020805460ff19169055565b6005546001600160a01b031633146111a45760405162461bcd60e51b8152600401610774906127e7565b8060166040516111b39061281c565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b0316331461120f5760405162461bcd60e51b8152600401610774906127e7565b600f805460ff60a01b1916600160a01b8415150217905560115460000361124557436011819055611241908290612890565b6010555b5050565b6005546001600160a01b031633146112735760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b0381166112d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610774565b6109b28161237d565b6005546001600160a01b0316331461130b5760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b038116611352576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611245573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf91906128c7565b9050816001600160a01b031663a9059cbb6113e26005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561142f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145391906128e0565b50505050565b6001600160a01b0383166114bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610774565b6001600160a01b03821661151c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610774565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600554600160a01b900460ff16156115e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20746f6b656e207472616e73666572207768696c652070617573604482015261195960f21b6064820152608401610774565b3360009081526012602052604090205460ff161561163e5760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610774565b6001600160a01b03821660009081526012602052604090205460ff16156116a75760405162461bcd60e51b815260206004820152601c60248201527f45524332303a20726563697069656e7420626c61636b6c6973746564000000006044820152606401610774565b3260009081526012602052604090205460ff16156117035760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610774565b60185460ff161561171c5761171983838361172c565b90505b611727838383612457565b505050565b60408051600280825260608201835260009283929190602083019080368337019050509050308160008151811061176557611765612913565b60200260200101906001600160a01b031690816001600160a01b031681525050601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fc9190612929565b8160018151811061180f5761180f612913565b60200260200101906001600160a01b031690816001600160a01b03168152505061183885611017565b15801561184b575061184984611017565b155b1561218957600080600754856118619190612946565b601a549091506001600160a01b03908116908816036119d457600f54600160a01b900460ff16801561189557506010544311155b156118d8576118a58160636128a8565b6118af9083612890565b91506118bc8160636128a8565b601b60008282546118cd9190612890565b909155506119be9050565b60146040516118e69061281c565b9081526020016040518091039020548161190091906128a8565b61190a9083612890565b9150601460405161191a9061282b565b9081526020016040518091039020548161193491906128a8565b61193e9083612890565b9150601460405161194e9061281c565b9081526020016040518091039020548161196891906128a8565b601b60008282546119799190612890565b909155505060405160149061198d9061282b565b908152602001604051809103902054816119a791906128a8565b601c60008282546119b89190612890565b90915550505b81156119cf576119cf87308461157d565b61204a565b601a546001600160a01b039081169087160361204a5760156040516119f89061281c565b90815260200160405180910390205481611a1291906128a8565b611a1c9083612890565b91506015604051611a2c9061282b565b90815260200160405180910390205481611a4691906128a8565b611a509083612890565b91508115611a6357611a6387308461157d565b6015604051611a719061281c565b90815260200160405180910390205481611a8b91906128a8565b601b6000828254611a9c9190612890565b9091555050604051601590611ab09061282b565b90815260200160405180910390205481611aca91906128a8565b601c6000828254611adb9190612890565b9091555050601c54601b54600091611af291612890565b905080600003611b08578594505050505061090e565b601854601c54601b5460009261010090046001600160a01b03169163d06ca61f91611b339190612890565b876040518363ffffffff1660e01b8152600401611b519291906129ac565b600060405180830381865afa158015611b6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b9691908101906129cd565b600181518110611ba857611ba8612913565b60200260200101519050600854811061204757601c544790600090611bcf90600290612946565b601b54611bdc9190612890565b9050611bfe30601860019054906101000a90046001600160a01b031683611459565b6018546040516318cbafe560e01b81526101009091046001600160a01b0316906318cbafe590611c3b9084906000908c9030904290600401612a8b565b6000604051808303816000875af1158015611c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c8291908101906129cd565b506000611c8f8347612ac7565b905060006002601c54611ca29190612946565b90506000670de0b6b3a7640000876002601c54611cbf9190612946565b611cd190670de0b6b3a76400006128a8565b611cdb9190612946565b611ce590856128a8565b611cef9190612946565b90506000670de0b6b3a764000088601b54670de0b6b3a7640000611d1391906128a8565b611d1d9190612946565b611d2790866128a8565b611d319190612946565b9050611d5330601860019054906101000a90046001600160a01b031685611459565b601860019054906101000a90046001600160a01b03166001600160a01b031663f305d7198330866000806016604051611d8b9061282b565b908152604051908190036020018120546001600160e01b031960e089901b1682526001600160a01b039586166004830152602482019490945260448101929092526064820152911660848201524260a482015260c40160606040518083038185885af1158015611dff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e249190612ade565b50505060008386611e359190612890565b601c54601b54611e459190612890565b611e4f9190612ac7565b90508015611e8857611e88306016604051611e699061281c565b908152604051908190036020019020546001600160a01b03168361157d565b60006016604051611e989061281c565b908152604051908190036020018120546001600160a01b031690849060006040518083038185875af1925050503d8060008114611ef1576040519150601f19603f3d011682016040523d82523d6000602084013e611ef6565b606091505b5050905080611f475760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610774565b6000611f538585612890565b611f5d9088612ac7565b11156120345760006016604051611f739061281c565b908152604051908190036020019020546001600160a01b0316611f968686612890565b611fa09089612ac7565b604051600081818185875af1925050503d8060008114611fdc576040519150601f19603f3d011682016040523d82523d6000602084013e611fe1565b606091505b50509050806120325760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610774565b505b50506000601b819055601c555050505050505b50505b6120548286612ac7565b601a549095506001600160a01b038781169116146120e757600d548561208f886001600160a01b031660009081526020819052604090205490565b6120999190612890565b11156120e75760405162461bcd60e51b815260206004820152601860248201527f6d617857616c6c6574206c696d697420657863656564656400000000000000006044820152606401610774565b600f54600160a01b900460ff16612186576001600160a01b03871660009081526017602052604090205460ff166121865760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610774565b50505b50909392505050565b600554600160a01b900460ff166121e25760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610774565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03821661228f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610774565b6001600160a01b038216600090815260208190526040902054818110156123035760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610774565b6001600160a01b0383166000908152602081905260408120838303905560028054849290612332908490612ac7565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff161561241c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610774565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122123390565b6001600160a01b0383166124bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610774565b6001600160a01b03821661251d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610774565b6001600160a01b038316600090815260208190526040902054818110156125955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610774565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906125cc908490612890565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161261891815260200190565b60405180910390a3611453565b6000806040838503121561263857600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561267457858101830151858201604001528201612658565b81811115612686576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146109b257600080fd5b600080604083850312156126c457600080fd5b82356126cf8161269c565b946020939093013593505050565b6000806000606084860312156126f257600080fd5b83356126fd8161269c565b9250602084013561270d8161269c565b929592945050506040919091013590565b80151581146109b257600080fd5b6000806040838503121561273f57600080fd5b823561274a8161269c565b9150602083013561275a8161271e565b809150509250929050565b60006020828403121561277757600080fd5b5035919050565b60006020828403121561279057600080fd5b813561090e8161269c565b600080604083850312156127ae57600080fd5b82356127b98161269c565b9150602083013561275a8161269c565b600080604083850312156127dc57600080fd5b82356126cf8161271e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b623232bb60e91b815260030190565b686c697175696469747960b81b815260090190565b600181811c9082168061285457607f821691505b60208210810361287457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156128a3576128a361287a565b500190565b60008160001904831182151516156128c2576128c261287a565b500290565b6000602082840312156128d957600080fd5b5051919050565b6000602082840312156128f257600080fd5b815161090e8161271e565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561293b57600080fd5b815161090e8161269c565b60008261296357634e487b7160e01b600052601260045260246000fd5b500490565b600081518084526020808501945080840160005b838110156129a15781516001600160a01b03168752958201959082019060010161297c565b509495945050505050565b8281526040602082015260006129c56040830184612968565b949350505050565b600060208083850312156129e057600080fd5b825167ffffffffffffffff808211156129f857600080fd5b818501915085601f830112612a0c57600080fd5b815181811115612a1e57612a1e6128fd565b8060051b604051601f19603f83011681018181108582111715612a4357612a436128fd565b604052918252848201925083810185019188831115612a6157600080fd5b938501935b82851015612a7f57845184529385019392850192612a66565b98975050505050505050565b85815284602082015260a060408201526000612aaa60a0830186612968565b6001600160a01b0394909416606083015250608001529392505050565b600082821015612ad957612ad961287a565b500390565b600080600060608486031215612af357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212200064a814ce321a1e699903cd909fd827d4a2776a1f90c4e86c6cff8f03e74f7a64736f6c634300080d00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000008446f67656c656e610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005454c454e41000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102345760003560e01c806370a082311161012e578063cba0e996116100ab578063e2aa6cae1161006f578063e2aa6cae1461069b578063f2fde38b146106bb578063f8b45b05146106db578063f9d0831a146106f1578063fe575a871461071157600080fd5b8063cba0e996146105e0578063ced695a414610600578063cfefd79e14610615578063d01dc84b14610635578063dd62ed3e1461065557600080fd5b806395d89b41116100f257806395d89b411461053b578063a457c2d714610550578063a9059cbb14610570578063abe4f11d14610590578063bdd795ef146105b057600080fd5b806370a082311461049d578063715018a6146104d3578063717a8651146104e85780638456cb59146105085780638da5cb5b1461051d57600080fd5b80632f9c4569116101bc57806349bd5a5e1161018057806349bd5a5e146103f15780634febf53d1461042957806353eb3bcf146104495780635c975abb1461045e5780635d0044ca1461047d57600080fd5b80632f9c456914610360578063313ce56714610380578063395093511461039c5780633f4ba83a146103bc57806342966c68146103d157600080fd5b806318160ddd1161020357806318160ddd146102dc57806323a38a38146102f157806323b872dd1461030b578063247b912d1461032b5780632c32abc21461034b57600080fd5b806305a1f36d1461024057806306fdde0314610262578063095ea7b31461028d5780630dbd397c146102bd57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061026061025b366004612625565b61074a565b005b34801561026e57600080fd5b506102776107c1565b6040516102849190612647565b60405180910390f35b34801561029957600080fd5b506102ad6102a83660046126b1565b610853565b6040519015158152602001610284565b3480156102c957600080fd5b506011545b604051908152602001610284565b3480156102e857600080fd5b506002546102ce565b3480156102fd57600080fd5b506018546102ad9060ff1681565b34801561031757600080fd5b506102ad6103263660046126dd565b610869565b34801561033757600080fd5b50610260610346366004612625565b610915565b34801561035757600080fd5b5061026061096f565b34801561036c57600080fd5b5061026061037b36600461272c565b6109b5565b34801561038c57600080fd5b5060405160128152602001610284565b3480156103a857600080fd5b506102ad6103b73660046126b1565b610a7a565b3480156103c857600080fd5b50610260610ab6565b3480156103dd57600080fd5b506102606103ec366004612765565b610b43565b3480156103fd57600080fd5b50601a54610411906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b34801561043557600080fd5b5061026061044436600461277e565b610b77565b34801561045557600080fd5b50610260610c26565b34801561046a57600080fd5b50600554600160a01b900460ff166102ad565b34801561048957600080fd5b50610260610498366004612765565b610cb2565b3480156104a957600080fd5b506102ce6104b836600461277e565b6001600160a01b031660009081526020819052604090205490565b3480156104df57600080fd5b50610260610d33565b3480156104f457600080fd5b5061026061050336600461277e565b610d67565b34801561051457600080fd5b50610260610e2c565b34801561052957600080fd5b506005546001600160a01b0316610411565b34801561054757600080fd5b50610277610ec2565b34801561055c57600080fd5b506102ad61056b3660046126b1565b610ed1565b34801561057c57600080fd5b506102ad61058b3660046126b1565b610f6a565b34801561059c57600080fd5b506102606105ab36600461277e565b610f77565b3480156105bc57600080fd5b506102ad6105cb36600461277e565b60176020526000908152604090205460ff1681565b3480156105ec57600080fd5b506102ad6105fb36600461277e565b611017565b34801561060c57600080fd5b50610260611035565b34801561062157600080fd5b5061026061063036600461277e565b6110bd565b34801561064157600080fd5b5061026061065036600461277e565b61117a565b34801561066157600080fd5b506102ce61067036600461279b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106a757600080fd5b506102606106b63660046127c9565b6111e5565b3480156106c757600080fd5b506102606106d636600461277e565b611249565b3480156106e757600080fd5b506102ce600d5481565b3480156106fd57600080fd5b5061026061070c36600461277e565b6112e1565b34801561071d57600080fd5b506102ad61072c36600461277e565b6001600160a01b031660009081526012602052604090205460ff1690565b6005546001600160a01b0316331461077d5760405162461bcd60e51b8152600401610774906127e7565b60405180910390fd5b81601460405161078c9061281c565b9081526020016040518091039020819055508060146040516107ad9061282b565b908152604051908190036020019020555050565b6060600380546107d090612840565b80601f01602080910402602001604051908101604052809291908181526020018280546107fc90612840565b80156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b5050505050905090565b6000610860338484611459565b50600192915050565b600061087684848461157d565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108fb5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610774565b6109088533858403611459565b60019150505b9392505050565b6005546001600160a01b0316331461093f5760405162461bcd60e51b8152600401610774906127e7565b81601560405161094e9061281c565b9081526020016040518091039020819055508060156040516107ad9061282b565b6005546001600160a01b031633146109995760405162461bcd60e51b8152600401610774906127e7565b601a546109b2906000906001600160a01b03168161172c565b50565b6005546001600160a01b031633146109df5760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03821660009081526017602052604090205481151560ff909116151503610a4f5760405162461bcd60e51b815260206004820152601760248201527f544f4b454e3a20416c726561647920656e61626c65642e0000000000000000006044820152606401610774565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610860918590610ab1908690612890565b611459565b6005546001600160a01b03163314610ae05760405162461bcd60e51b8152600401610774906127e7565b600554600160a01b900460ff16610b395760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20436f6e7472616374206973206e6f74207061757365640000006044820152606401610774565b610b41612192565b565b6005546001600160a01b03163314610b6d5760405162461bcd60e51b8152600401610774906127e7565b6109b2338261222f565b6005546001600160a01b03163314610ba15760405162461bcd60e51b8152600401610774906127e7565b610baa81611017565b15610c025760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b6064820152608401610774565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6005546001600160a01b03163314610c505760405162461bcd60e51b8152600401610774906127e7565b60185460ff1615610ca35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054617820697320616c726561647920656e61626c65640000006044820152606401610774565b6018805460ff19166001179055565b6005546001600160a01b03163314610cdc5760405162461bcd60e51b8152600401610774906127e7565b6127108111610d1b5760405162461bcd60e51b815260206004820152600b60248201526a1393c81c9d59c81c1d5b1b60aa1b6044820152606401610774565b610d2d81670de0b6b3a76400006128a8565b600d5550565b6005546001600160a01b03163314610d5d5760405162461bcd60e51b8152600401610774906127e7565b610b41600061237d565b6005546001600160a01b03163314610d915760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03811660009081526012602052604090205460ff1615610e085760405162461bcd60e51b815260206004820152602560248201527f45524332303a204163636f756e7420697320616c726561647920626c61636b6c6044820152641a5cdd195960da1b6064820152608401610774565b6001600160a01b03166000908152601260205260409020805460ff19166001179055565b6005546001600160a01b03163314610e565760405162461bcd60e51b8152600401610774906127e7565b600554600160a01b900460ff1615610eba5760405162461bcd60e51b815260206004820152602160248201527f45524332303a20436f6e747261637420697320616c72656164792070617573656044820152601960fa1b6064820152608401610774565b610b416123cf565b6060600480546107d090612840565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f535760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610774565b610f603385858403611459565b5060019392505050565b600061086033848461157d565b6005546001600160a01b03163314610fa15760405162461bcd60e51b8152600401610774906127e7565b610faa81611017565b610ff65760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204163636f756e74206973206e6f74206578636c7564656400006044820152606401610774565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6001600160a01b031660009081526013602052604090205460ff1690565b6005546001600160a01b0316331461105f5760405162461bcd60e51b8152600401610774906127e7565b60185460ff166110b15760405162461bcd60e51b815260206004820152601e60248201527f45524332303a2054617820697320616c72656164792064697361626c656400006044820152606401610774565b6018805460ff19169055565b6005546001600160a01b031633146110e75760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b03811660009081526012602052604090205460ff166111595760405162461bcd60e51b815260206004820152602160248201527f45524332303a204163636f756e74206973206e6f7420626c61636b6c697374656044820152601960fa1b6064820152608401610774565b6001600160a01b03166000908152601260205260409020805460ff19169055565b6005546001600160a01b031633146111a45760405162461bcd60e51b8152600401610774906127e7565b8060166040516111b39061281c565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b0316331461120f5760405162461bcd60e51b8152600401610774906127e7565b600f805460ff60a01b1916600160a01b8415150217905560115460000361124557436011819055611241908290612890565b6010555b5050565b6005546001600160a01b031633146112735760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b0381166112d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610774565b6109b28161237d565b6005546001600160a01b0316331461130b5760405162461bcd60e51b8152600401610774906127e7565b6001600160a01b038116611352576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611245573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf91906128c7565b9050816001600160a01b031663a9059cbb6113e26005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561142f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145391906128e0565b50505050565b6001600160a01b0383166114bb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610774565b6001600160a01b03821661151c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610774565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600554600160a01b900460ff16156115e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20746f6b656e207472616e73666572207768696c652070617573604482015261195960f21b6064820152608401610774565b3360009081526012602052604090205460ff161561163e5760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610774565b6001600160a01b03821660009081526012602052604090205460ff16156116a75760405162461bcd60e51b815260206004820152601c60248201527f45524332303a20726563697069656e7420626c61636b6c6973746564000000006044820152606401610774565b3260009081526012602052604090205460ff16156117035760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610774565b60185460ff161561171c5761171983838361172c565b90505b611727838383612457565b505050565b60408051600280825260608201835260009283929190602083019080368337019050509050308160008151811061176557611765612913565b60200260200101906001600160a01b031690816001600160a01b031681525050601860019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fc9190612929565b8160018151811061180f5761180f612913565b60200260200101906001600160a01b031690816001600160a01b03168152505061183885611017565b15801561184b575061184984611017565b155b1561218957600080600754856118619190612946565b601a549091506001600160a01b03908116908816036119d457600f54600160a01b900460ff16801561189557506010544311155b156118d8576118a58160636128a8565b6118af9083612890565b91506118bc8160636128a8565b601b60008282546118cd9190612890565b909155506119be9050565b60146040516118e69061281c565b9081526020016040518091039020548161190091906128a8565b61190a9083612890565b9150601460405161191a9061282b565b9081526020016040518091039020548161193491906128a8565b61193e9083612890565b9150601460405161194e9061281c565b9081526020016040518091039020548161196891906128a8565b601b60008282546119799190612890565b909155505060405160149061198d9061282b565b908152602001604051809103902054816119a791906128a8565b601c60008282546119b89190612890565b90915550505b81156119cf576119cf87308461157d565b61204a565b601a546001600160a01b039081169087160361204a5760156040516119f89061281c565b90815260200160405180910390205481611a1291906128a8565b611a1c9083612890565b91506015604051611a2c9061282b565b90815260200160405180910390205481611a4691906128a8565b611a509083612890565b91508115611a6357611a6387308461157d565b6015604051611a719061281c565b90815260200160405180910390205481611a8b91906128a8565b601b6000828254611a9c9190612890565b9091555050604051601590611ab09061282b565b90815260200160405180910390205481611aca91906128a8565b601c6000828254611adb9190612890565b9091555050601c54601b54600091611af291612890565b905080600003611b08578594505050505061090e565b601854601c54601b5460009261010090046001600160a01b03169163d06ca61f91611b339190612890565b876040518363ffffffff1660e01b8152600401611b519291906129ac565b600060405180830381865afa158015611b6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b9691908101906129cd565b600181518110611ba857611ba8612913565b60200260200101519050600854811061204757601c544790600090611bcf90600290612946565b601b54611bdc9190612890565b9050611bfe30601860019054906101000a90046001600160a01b031683611459565b6018546040516318cbafe560e01b81526101009091046001600160a01b0316906318cbafe590611c3b9084906000908c9030904290600401612a8b565b6000604051808303816000875af1158015611c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c8291908101906129cd565b506000611c8f8347612ac7565b905060006002601c54611ca29190612946565b90506000670de0b6b3a7640000876002601c54611cbf9190612946565b611cd190670de0b6b3a76400006128a8565b611cdb9190612946565b611ce590856128a8565b611cef9190612946565b90506000670de0b6b3a764000088601b54670de0b6b3a7640000611d1391906128a8565b611d1d9190612946565b611d2790866128a8565b611d319190612946565b9050611d5330601860019054906101000a90046001600160a01b031685611459565b601860019054906101000a90046001600160a01b03166001600160a01b031663f305d7198330866000806016604051611d8b9061282b565b908152604051908190036020018120546001600160e01b031960e089901b1682526001600160a01b039586166004830152602482019490945260448101929092526064820152911660848201524260a482015260c40160606040518083038185885af1158015611dff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e249190612ade565b50505060008386611e359190612890565b601c54601b54611e459190612890565b611e4f9190612ac7565b90508015611e8857611e88306016604051611e699061281c565b908152604051908190036020019020546001600160a01b03168361157d565b60006016604051611e989061281c565b908152604051908190036020018120546001600160a01b031690849060006040518083038185875af1925050503d8060008114611ef1576040519150601f19603f3d011682016040523d82523d6000602084013e611ef6565b606091505b5050905080611f475760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610774565b6000611f538585612890565b611f5d9088612ac7565b11156120345760006016604051611f739061281c565b908152604051908190036020019020546001600160a01b0316611f968686612890565b611fa09089612ac7565b604051600081818185875af1925050503d8060008114611fdc576040519150601f19603f3d011682016040523d82523d6000602084013e611fe1565b606091505b50509050806120325760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610774565b505b50506000601b819055601c555050505050505b50505b6120548286612ac7565b601a549095506001600160a01b038781169116146120e757600d548561208f886001600160a01b031660009081526020819052604090205490565b6120999190612890565b11156120e75760405162461bcd60e51b815260206004820152601860248201527f6d617857616c6c6574206c696d697420657863656564656400000000000000006044820152606401610774565b600f54600160a01b900460ff16612186576001600160a01b03871660009081526017602052604090205460ff166121865760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610774565b50505b50909392505050565b600554600160a01b900460ff166121e25760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610774565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03821661228f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610774565b6001600160a01b038216600090815260208190526040902054818110156123035760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610774565b6001600160a01b0383166000908152602081905260408120838303905560028054849290612332908490612ac7565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff161561241c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610774565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122123390565b6001600160a01b0383166124bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610774565b6001600160a01b03821661251d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610774565b6001600160a01b038316600090815260208190526040902054818110156125955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610774565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906125cc908490612890565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161261891815260200190565b60405180910390a3611453565b6000806040838503121561263857600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561267457858101830151858201604001528201612658565b81811115612686576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146109b257600080fd5b600080604083850312156126c457600080fd5b82356126cf8161269c565b946020939093013593505050565b6000806000606084860312156126f257600080fd5b83356126fd8161269c565b9250602084013561270d8161269c565b929592945050506040919091013590565b80151581146109b257600080fd5b6000806040838503121561273f57600080fd5b823561274a8161269c565b9150602083013561275a8161271e565b809150509250929050565b60006020828403121561277757600080fd5b5035919050565b60006020828403121561279057600080fd5b813561090e8161269c565b600080604083850312156127ae57600080fd5b82356127b98161269c565b9150602083013561275a8161269c565b600080604083850312156127dc57600080fd5b82356126cf8161271e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b623232bb60e91b815260030190565b686c697175696469747960b81b815260090190565b600181811c9082168061285457607f821691505b60208210810361287457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156128a3576128a361287a565b500190565b60008160001904831182151516156128c2576128c261287a565b500290565b6000602082840312156128d957600080fd5b5051919050565b6000602082840312156128f257600080fd5b815161090e8161271e565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561293b57600080fd5b815161090e8161269c565b60008261296357634e487b7160e01b600052601260045260246000fd5b500490565b600081518084526020808501945080840160005b838110156129a15781516001600160a01b03168752958201959082019060010161297c565b509495945050505050565b8281526040602082015260006129c56040830184612968565b949350505050565b600060208083850312156129e057600080fd5b825167ffffffffffffffff808211156129f857600080fd5b818501915085601f830112612a0c57600080fd5b815181811115612a1e57612a1e6128fd565b8060051b604051601f19603f83011681018181108582111715612a4357612a436128fd565b604052918252848201925083810185019188831115612a6157600080fd5b938501935b82851015612a7f57845184529385019392850192612a66565b98975050505050505050565b85815284602082015260a060408201526000612aaa60a0830186612968565b6001600160a01b0394909416606083015250608001529392505050565b600082821015612ad957612ad961287a565b500390565b600080600060608486031215612af357600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212200064a814ce321a1e699903cd909fd827d4a2776a1f90c4e86c6cff8f03e74f7a64736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000008446f67656c656e610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005454c454e41000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _tokenName (string): Dogelena
Arg [1] : _tokenSymbol (string): ELENA
Arg [2] : _supply (uint256): 1000000000000000
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000038d7ea4c68000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 446f67656c656e61000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 454c454e41000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
21235:12234:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30913:160;;;;;;;;;;-1:-1:-1;30913:160:0;;;;;:::i;:::-;;:::i;:::-;;5034:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6594:169;;;;;;;;;;-1:-1:-1;6594:169:0;;;;;:::i;:::-;;:::i;:::-;;;1490:14:1;;1483:22;1465:41;;1453:2;1438:18;6594:169:0;1325:187:1;33316:109:0;;;;;;;;;;-1:-1:-1;33398:19:0;;33316:109;;;1663:25:1;;;1651:2;1636:18;33316:109:0;1517:177:1;5547:108:0;;;;;;;;;;-1:-1:-1;5635:12:0;;5547:108;;22146:28;;;;;;;;;;-1:-1:-1;22146:28:0;;;;;;;;6795:492;;;;;;;;;;-1:-1:-1;6795:492:0;;;;;:::i;:::-;;:::i;31136:167::-;;;;;;;;;;-1:-1:-1;31136:167:0;;;;;:::i;:::-;;:::i;28852:106::-;;;;;;;;;;;;;:::i;33050:196::-;;;;;;;;;;-1:-1:-1;33050:196:0;;;;;:::i;:::-;;:::i;5389:93::-;;;;;;;;;;-1:-1:-1;5389:93:0;;5472:2;2812:36:1;;2800:2;2785:18;5389:93:0;2670:184:1;7319:215:0;;;;;;;;;;-1:-1:-1;7319:215:0;;;;;:::i;:::-;;:::i;29231:126::-;;;;;;;;;;;;;:::i;29663:91::-;;;;;;;;;;-1:-1:-1;29663:91:0;;;;;:::i;:::-;;:::i;22287:35::-;;;;;;;;;;-1:-1:-1;22287:35:0;;;;-1:-1:-1;;;;;22287:35:0;;;;;;-1:-1:-1;;;;;3231:32:1;;;3213:51;;3201:2;3186:18;22287:35:0;3044:226:1;30415:175:0;;;;;;;;;;-1:-1:-1;30415:175:0;;;;;:::i;:::-;;:::i;31901:136::-;;;;;;;;;;;;;:::i;12409:86::-;;;;;;;;;;-1:-1:-1;12480:7:0;;-1:-1:-1;;;12480:7:0;;;;12409:86;;29433:153;;;;;;;;;;-1:-1:-1;29433:153:0;;;;;:::i;:::-;;:::i;5718:127::-;;;;;;;;;;-1:-1:-1;5718:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5819:18:0;5792:7;5819:18;;;;;;;;;;;;5718:127;11233:94;;;;;;;;;;;;;:::i;29876:183::-;;;;;;;;;;-1:-1:-1;29876:183:0;;;;;:::i;:::-;;:::i;29032:127::-;;;;;;;;;;;;;:::i;10905:87::-;;;;;;;;;;-1:-1:-1;10978:6:0;;-1:-1:-1;;;;;10978:6:0;10905:87;;5253:104;;;;;;;;;;;;;:::i;7566:413::-;;;;;;;;;;-1:-1:-1;7566:413:0;;;;;:::i;:::-;;:::i;6058:175::-;;;;;;;;;;-1:-1:-1;6058:175:0;;;;;:::i;:::-;;:::i;30674:177::-;;;;;;;;;;-1:-1:-1;30674:177:0;;;;;:::i;:::-;;:::i;22095:42::-;;;;;;;;;;-1:-1:-1;22095:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;32565:110;;;;;;;;;;-1:-1:-1;32565:110:0;;;;;:::i;:::-;;:::i;32103:138::-;;;;;;;;;;;;;:::i;30151:180::-;;;;;;;;;;-1:-1:-1;30151:180:0;;;;;:::i;:::-;;:::i;31370:95::-;;;;;;;;;;-1:-1:-1;31370:95:0;;;;;:::i;:::-;;:::i;6296:151::-;;;;;;;;;;-1:-1:-1;6296:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;6412:18:0;;;6385:7;6412:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6296:151;32683:359;;;;;;;;;;-1:-1:-1;32683:359:0;;;;;:::i;:::-;;:::i;11482:192::-;;;;;;;;;;-1:-1:-1;11482:192:0;;;;;:::i;:::-;;:::i;21562:24::-;;;;;;;;;;;;;;;;31473:363;;;;;;;;;;-1:-1:-1;31473:363:0;;;;;:::i;:::-;;:::i;32349:111::-;;;;;;;;;;-1:-1:-1;32349:111:0;;;;;:::i;:::-;-1:-1:-1;;;;;32434:18:0;32410:4;32434:18;;;:9;:18;;;;;;;;;32349:111;30913:160;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;;;;;;;;;31009:3:::1;30991:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;31047:9;31023:8;:21;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:33;-1:-1:-1;;30913:160:0:o;5034:100::-;5088:13;5121:5;5114:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5034:100;:::o;6594:169::-;6677:4;6694:39;4128:10;6717:7;6726:6;6694:8;:39::i;:::-;-1:-1:-1;6751:4:0;6594:169;;;;:::o;6795:492::-;6935:4;6952:36;6962:6;6970:9;6981:6;6952:9;:36::i;:::-;-1:-1:-1;;;;;7028:19:0;;7001:24;7028:19;;;:11;:19;;;;;;;;4128:10;7028:33;;;;;;;;7080:26;;;;7072:79;;;;-1:-1:-1;;;7072:79:0;;5912:2:1;7072:79:0;;;5894:21:1;5951:2;5931:18;;;5924:30;5990:34;5970:18;;;5963:62;-1:-1:-1;;;6041:18:1;;;6034:38;6089:19;;7072:79:0;5710:404:1;7072:79:0;7187:57;7196:6;4128:10;7237:6;7218:16;:25;7187:8;:57::i;:::-;7275:4;7268:11;;;6795:492;;;;;;:::o;31136:167::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;31237:3:::1;31218:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;;31276:9;31251;:22;;;;;:::i;28852:106::-:0;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;28932:13:::1;::::0;28902:48:::1;::::0;28920:1:::1;::::0;-1:-1:-1;;;;;28932:13:0::1;28920:1:::0;28902:9:::1;:48::i;:::-;;28852:106::o:0;33050:196::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33142:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;:29;::::1;;:18;::::0;;::::1;:29;;::::0;33134:65:::1;;;::::0;-1:-1:-1;;;33134:65:0;;6321:2:1;33134:65:0::1;::::0;::::1;6303:21:1::0;6360:2;6340:18;;;6333:30;6399:25;6379:18;;;6372:53;6442:18;;33134:65:0::1;6119:347:1::0;33134:65:0::1;-1:-1:-1::0;;;;;33210:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:28;;-1:-1:-1;;33210:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;33050:196::o;7319:215::-;4128:10;7407:4;7456:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7456:34:0;;;;;;;;;;7407:4;;7424:80;;7447:7;;7456:47;;7493:10;;7456:47;:::i;:::-;7424:8;:80::i;29231:126::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;12480:7;;-1:-1:-1;;;12480:7:0;;;;29278:50:::1;;;::::0;-1:-1:-1;;;29278:50:0;;6938:2:1;29278:50:0::1;::::0;::::1;6920:21:1::0;6977:2;6957:18;;;6950:30;7016:31;6996:18;;;6989:59;7065:18;;29278:50:0::1;6736:353:1::0;29278:50:0::1;29339:10;:8;:10::i;:::-;29231:126::o:0;29663:91::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;29721:25:::1;29727:10;29739:6;29721:5;:25::i;30415:175::-:0;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;30486:19:::1;30497:7;30486:10;:19::i;:::-;30485:20;30477:67;;;::::0;-1:-1:-1;;;30477:67:0;;7296:2:1;30477:67:0::1;::::0;::::1;7278:21:1::0;7335:2;7315:18;;;7308:30;7374:34;7354:18;;;7347:62;-1:-1:-1;;;7425:18:1;;;7418:32;7467:19;;30477:67:0::1;7094:398:1::0;30477:67:0::1;-1:-1:-1::0;;;;;30555:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;30555:27:0::1;30578:4;30555:27;::::0;;30415:175::o;31901:136::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;31959:9:::1;::::0;::::1;;31958:10;31950:52;;;::::0;-1:-1:-1;;;31950:52:0;;7699:2:1;31950:52:0::1;::::0;::::1;7681:21:1::0;7738:2;7718:18;;;7711:30;7777:31;7757:18;;;7750:59;7826:18;;31950:52:0::1;7497:353:1::0;31950:52:0::1;32013:9;:16:::0;;-1:-1:-1;;32013:16:0::1;32025:4;32013:16;::::0;;31901:136::o;29433:153::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;29519:5:::1;29510:6;:14;29501:39;;;::::0;-1:-1:-1;;;29501:39:0;;8057:2:1;29501:39:0::1;::::0;::::1;8039:21:1::0;8096:2;8076:18;;;8069:30;-1:-1:-1;;;8115:18:1;;;8108:41;8166:18;;29501:39:0::1;7855:335:1::0;29501:39:0::1;29563:15;:6:::0;29572::::1;29563:15;:::i;:::-;29551:9;:27:::0;-1:-1:-1;29433:153:0:o;11233:94::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;11298:21:::1;11316:1;11298:9;:21::i;29876:183::-:0;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;29955:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;29954:19;29946:69;;;::::0;-1:-1:-1;;;29946:69:0;;8570:2:1;29946:69:0::1;::::0;::::1;8552:21:1::0;8609:2;8589:18;;;8582:30;8648:34;8628:18;;;8621:62;-1:-1:-1;;;8699:18:1;;;8692:35;8744:19;;29946:69:0::1;8368:401:1::0;29946:69:0::1;-1:-1:-1::0;;;;;30026:18:0::1;;::::0;;;:9:::1;:18;::::0;;;;:25;;-1:-1:-1;;30026:25:0::1;30047:4;30026:25;::::0;;29876:183::o;29032:127::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;12480:7;;-1:-1:-1;;;12480:7:0;;;;29085:9:::1;29077:55;;;::::0;-1:-1:-1;;;29077:55:0;;8976:2:1;29077:55:0::1;::::0;::::1;8958:21:1::0;9015:2;8995:18;;;8988:30;9054:34;9034:18;;;9027:62;-1:-1:-1;;;9105:18:1;;;9098:31;9146:19;;29077:55:0::1;8774:397:1::0;29077:55:0::1;29143:8;:6;:8::i;5253:104::-:0;5309:13;5342:7;5335:14;;;;;:::i;7566:413::-;4128:10;7659:4;7703:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7703:34:0;;;;;;;;;;7756:35;;;;7748:85;;;;-1:-1:-1;;;7748:85:0;;9378:2:1;7748:85:0;;;9360:21:1;9417:2;9397:18;;;9390:30;9456:34;9436:18;;;9429:62;-1:-1:-1;;;9507:18:1;;;9500:35;9552:19;;7748:85:0;9176:401:1;7748:85:0;7869:67;4128:10;7892:7;7920:15;7901:16;:34;7869:8;:67::i;:::-;-1:-1:-1;7967:4:0;;7566:413;-1:-1:-1;;;7566:413:0:o;6058:175::-;6144:4;6161:42;4128:10;6185:9;6196:6;6161:9;:42::i;30674:177::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;30750:19:::1;30761:7;30750:10;:19::i;:::-;30742:62;;;::::0;-1:-1:-1;;;30742:62:0;;9784:2:1;30742:62:0::1;::::0;::::1;9766:21:1::0;9823:2;9803:18;;;9796:30;9862:32;9842:18;;;9835:60;9912:18;;30742:62:0::1;9582:354:1::0;30742:62:0::1;-1:-1:-1::0;;;;;30815:20:0::1;30838:5;30815:20:::0;;;:11:::1;:20;::::0;;;;:28;;-1:-1:-1;;30815:28:0::1;::::0;;30674:177::o;32565:110::-;-1:-1:-1;;;;;32647:20:0;32623:4;32647:20;;;:11;:20;;;;;;;;;32565:110::o;32103:138::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;32161:9:::1;::::0;::::1;;32153:52;;;::::0;-1:-1:-1;;;32153:52:0;;10143:2:1;32153:52:0::1;::::0;::::1;10125:21:1::0;10182:2;10162:18;;;10155:30;10221:32;10201:18;;;10194:60;10271:18;;32153:52:0::1;9941:354:1::0;32153:52:0::1;32216:9;:17:::0;;-1:-1:-1;;32216:17:0::1;::::0;;32103:138::o;30151:180::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;30230:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;30222:64;;;::::0;-1:-1:-1;;;30222:64:0;;10502:2:1;30222:64:0::1;::::0;::::1;10484:21:1::0;10541:2;10521:18;;;10514:30;10580:34;10560:18;;;10553:62;-1:-1:-1;;;10631:18:1;;;10624:31;10672:19;;30222:64:0::1;10300:397:1::0;30222:64:0::1;-1:-1:-1::0;;;;;30297:18:0::1;30318:5;30297:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;30297:26:0::1;::::0;;30151:180::o;31370:95::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;31454:3:::1;31434:10;:17;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:23;;-1:-1:-1;;;;;31434:23:0;;;::::1;-1:-1:-1::0;;;;;;31434:23:0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;31370:95:0:o;32683:359::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;32768:11:::1;:26:::0;;-1:-1:-1;;;;32768:26:0::1;-1:-1:-1::0;;;32768:26:0;::::1;;;;::::0;;32889:19:::1;::::0;-1:-1:-1;32889:24:0;32886:149:::1;;32952:12;32930:19;:34:::0;;;32997:26:::1;::::0;33012:11;;32997:26:::1;:::i;:::-;32979:15;:44:::0;32886:149:::1;32683:359:::0;;:::o;11482:192::-;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11571:22:0;::::1;11563:73;;;::::0;-1:-1:-1;;;11563:73:0;;10904:2:1;11563:73:0::1;::::0;::::1;10886:21:1::0;10943:2;10923:18;;;10916:30;10982:34;10962:18;;;10955:62;-1:-1:-1;;;11033:18:1;;;11026:36;11079:19;;11563:73:0::1;10702:402:1::0;11563:73:0::1;11647:19;11657:8;11647:9;:19::i;31473:363::-:0;10978:6;;-1:-1:-1;;;;;10978:6:0;4128:10;11125:23;11117:68;;;;-1:-1:-1;;;11117:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;31552:22:0;::::1;31548:124;;10978:6:::0;;31591:48:::1;::::0;-1:-1:-1;;;;;10978:6:0;;;;31617:21:::1;31591:48:::0;::::1;;;::::0;::::1;::::0;;;31617:21;10978:6;31591:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;31548:124;31745:35;::::0;-1:-1:-1;;;31745:35:0;;31774:4:::1;31745:35;::::0;::::1;3213:51:1::0;31709:6:0;;31682:17:::1;::::0;-1:-1:-1;;;;;31745:20:0;::::1;::::0;::::1;::::0;3186:18:1;;31745:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31727:53;;31791:10;-1:-1:-1::0;;;;;31791:19:0::1;;31811:7;10978:6:::0;;-1:-1:-1;;;;;10978:6:0;;10905:87;31811:7:::1;31791:37;::::0;-1:-1:-1;;;;;;31791:37:0::1;::::0;;;;;;-1:-1:-1;;;;;11490:32:1;;;31791:37:0::1;::::0;::::1;11472:51:1::0;11539:18;;;11532:34;;;11445:18;;31791:37:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;31534:302;;31473:363:::0;:::o;9828:380::-;-1:-1:-1;;;;;9964:19:0;;9956:68;;;;-1:-1:-1;;;9956:68:0;;12029:2:1;9956:68:0;;;12011:21:1;12068:2;12048:18;;;12041:30;12107:34;12087:18;;;12080:62;-1:-1:-1;;;12158:18:1;;;12151:34;12202:19;;9956:68:0;11827:400:1;9956:68:0;-1:-1:-1;;;;;10043:21:0;;10035:68;;;;-1:-1:-1;;;10035:68:0;;12434:2:1;10035:68:0;;;12416:21:1;12473:2;12453:18;;;12446:30;12512:34;12492:18;;;12485:62;-1:-1:-1;;;12563:18:1;;;12556:32;12605:19;;10035:68:0;12232:398:1;10035:68:0;-1:-1:-1;;;;;10116:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10168:32;;1663:25:1;;;10168:32:0;;1636:18:1;10168:32:0;;;;;;;9828:380;;;:::o;28174:595::-;12480:7;;-1:-1:-1;;;12480:7:0;;;;28323:9;28315:56;;;;-1:-1:-1;;;28315:56:0;;12837:2:1;28315:56:0;;;12819:21:1;12876:2;12856:18;;;12849:30;12915:34;12895:18;;;12888:62;-1:-1:-1;;;12966:18:1;;;12959:32;13008:19;;28315:56:0;12635:398:1;28315:56:0;28405:10;32410:4;32434:18;;;:9;:18;;;;;;;;28390:26;28382:64;;;;-1:-1:-1;;;28382:64:0;;13240:2:1;28382:64:0;;;13222:21:1;13279:2;13259:18;;;13252:30;-1:-1:-1;;;13298:18:1;;;13291:55;13363:18;;28382:64:0;13038:349:1;28382:64:0;-1:-1:-1;;;;;32434:18:0;;32410:4;32434:18;;;:9;:18;;;;;;;;28465:25;28457:66;;;;-1:-1:-1;;;28457:66:0;;13594:2:1;28457:66:0;;;13576:21:1;13633:2;13613:18;;;13606:30;13672;13652:18;;;13645:58;13720:18;;28457:66:0;13392:352:1;28457:66:0;28557:9;32410:4;32434:18;;;:9;:18;;;;;;;;28542:25;28534:63;;;;-1:-1:-1;;;28534:63:0;;13240:2:1;28534:63:0;;;13222:21:1;13279:2;13259:18;;;13252:30;-1:-1:-1;;;13298:18:1;;;13291:55;13363:18;;28534:63:0;13038:349:1;28534:63:0;28621:9;;;;28618:89;;;28656:36;28666:6;28674:9;28685:6;28656:9;:36::i;:::-;28647:45;;28618:89;28719:42;28735:6;28743:9;28754:6;28719:15;:42::i;:::-;28174:595;;;:::o;23424:4738::-;23550:16;;;23564:1;23550:16;;;;;;;;23502:7;;;;23550:16;23564:1;23550:16;;;;;;;;;;-1:-1:-1;23550:16:0;23522:44;;23599:4;23577:8;23586:1;23577:11;;;;;;;;:::i;:::-;;;;;;:27;-1:-1:-1;;;;;23577:27:0;;;-1:-1:-1;;;;;23577:27:0;;;;;23629:17;;;;;;;;;-1:-1:-1;;;;;23629:17:0;-1:-1:-1;;;;;23629:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23615:8;23624:1;23615:11;;;;;;;;:::i;:::-;;;;;;:38;-1:-1:-1;;;;;23615:38:0;;;-1:-1:-1;;;;;23615:38:0;;;;;23678:16;23689:4;23678:10;:16::i;:::-;23677:17;:36;;;;;23699:14;23710:2;23699:10;:14::i;:::-;23698:15;23677:36;23674:4447;;;23730:11;23756:16;23784:11;;23775:6;:20;;;;:::i;:::-;23829:13;;23756:39;;-1:-1:-1;;;;;;23829:13:0;;;23813:30;;;;23810:3899;;23962:11;;-1:-1:-1;;;23962:11:0;;;;:46;;;;;23993:15;;23977:12;:31;;23962:46;23959:443;;;24040:13;:8;24051:2;24040:13;:::i;:::-;24033:20;;;;:::i;:::-;;-1:-1:-1;24089:13:0;:8;24100:2;24089:13;:::i;:::-;24076:9;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;23959:443:0;;-1:-1:-1;23959:443:0;;24169:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;24158:8;:26;;;;:::i;:::-;24151:33;;;;:::i;:::-;;;24225:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;24214:8;:32;;;;:::i;:::-;24207:39;;;;:::i;:::-;;;24293:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;24282:8;:26;;;;:::i;:::-;24269:9;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;24361:21:0;;:8;;:21;;;:::i;:::-;;;;;;;;;;;;;;24350:8;:32;;;;:::i;:::-;24331:15;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;23959:443:0;24441:7;;24438:93;;24473:35;24483:4;24497;24504:3;24473:9;:35::i;:::-;23810:3899;;;24571:13;;-1:-1:-1;;;;;24571:13:0;;;24557:28;;;;24554:3155;;24649:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;24638:8;:27;;;;:::i;:::-;24631:34;;;;:::i;:::-;;;24702:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;24691:8;:33;;;;:::i;:::-;24684:40;;;;:::i;:::-;;-1:-1:-1;24764:7:0;;24761:93;;24796:35;24806:4;24820;24827:3;24796:9;:35::i;:::-;24913:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;24902:8;:27;;;;:::i;:::-;24889:9;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;24978:22:0;;:9;;:22;;;:::i;:::-;;;;;;;;;;;;;;24967:8;:33;;;;:::i;:::-;24948:15;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;25067:15:0;;25055:9;;25037:14;;25055:27;;;:::i;:::-;25037:45;;25122:6;25132:1;25122:11;25119:29;;25142:6;25135:13;;;;;;;;25119:29;25204:17;;25249:15;;25237:9;;25185:16;;25204:17;;;-1:-1:-1;;;;;25204:17:0;;:31;;25237:27;;25249:15;25237:27;:::i;:::-;25266:8;25204:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25204:71:0;;;;;;;;;;;;:::i;:::-;25276:1;25204:74;;;;;;;;:::i;:::-;;;;;;;25185:93;;25330:13;;25318:8;:25;25315:2361;;25466:15;;25391:21;;25368:20;;25466:19;;25484:1;;25466:19;:::i;:::-;25454:9;;:31;;;;:::i;:::-;25437:48;;25531:59;25548:4;25563:17;;;;;;;;;-1:-1:-1;;;;;25563:17:0;25583:6;25531:8;:59::i;:::-;25627:17;;:240;;-1:-1:-1;;;25627:240:0;;:17;;;;-1:-1:-1;;;;;25627:17:0;;:39;;:240;;25693:6;;25726:1;;25754:8;;25797:4;;25829:15;;25627:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25627:240:0;;;;;;;;;;;;:::i;:::-;-1:-1:-1;25912:17:0;25932:36;25956:12;25932:21;:36;:::i;:::-;25912:56;;26013:22;26056:1;26038:15;;:19;;;;:::i;:::-;26013:44;;26080:20;26161:6;26150;26136:1;26118:15;;:19;;;;:::i;:::-;:28;;26140:6;26118:28;:::i;:::-;26117:39;;;;:::i;:::-;26104:53;;:9;:53;:::i;:::-;26103:64;;;;:::i;:::-;26080:87;;26212:14;26277:6;26266;26244:9;;26256:6;26244:18;;;;:::i;:::-;26243:29;;;;:::i;:::-;26230:43;;:9;:43;:::i;:::-;26229:54;;;;:::i;:::-;26212:71;;26328:67;26345:4;26360:17;;;;;;;;;-1:-1:-1;;;;;26360:17:0;26380:14;26328:8;:67::i;:::-;26440:17;;;;;;;;;-1:-1:-1;;;;;26440:17:0;-1:-1:-1;;;;;26440:33:0;;26481:12;26529:4;26561:14;26602:1;26630;26658:10;:23;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;;26440:306:0;;;;;;;-1:-1:-1;;;;;17480:15:1;;;26440:306:0;;;17462:34:1;17512:18;;;17505:34;;;;17555:18;;;17548:34;;;;17598:18;;;17591:34;26658:23:0;;17641:19:1;;;17634:44;26708:15:0;17694:19:1;;;17687:35;17396:19;;26440:306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;26791:23;26859:14;26850:6;:23;;;;:::i;:::-;26830:15;;26818:9;;:27;;;;:::i;:::-;26817:57;;;;:::i;:::-;26791:83;-1:-1:-1;26922:19:0;;26919:135;;26970:60;26988:4;26995:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;26995:17:0;27014:15;26970:9;:60::i;:::-;27098:12;27115:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;27115:17:0;;27145:6;;27115:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27097:59;;;27186:7;27178:50;;;;-1:-1:-1;;;27178:50:0;;18456:2:1;27178:50:0;;;18438:21:1;18495:2;18475:18;;;18468:30;18534:32;18514:18;;;18507:60;18584:18;;27178:50:0;18254:354:1;27178:50:0;27315:1;27290:21;27299:12;27290:6;:21;:::i;:::-;27276:36;;:9;:36;:::i;:::-;:40;27273:262;;;27345:13;27363:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;27363:17:0;27406:21;27415:12;27406:6;:21;:::i;:::-;27393:35;;:9;:35;:::i;:::-;27363:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27344:89;;;27468:8;27460:51;;;;-1:-1:-1;;;27460:51:0;;18456:2:1;27460:51:0;;;18438:21:1;18495:2;18475:18;;;18468:30;18534:32;18514:18;;;18507:60;18584:18;;27460:51:0;18254:354:1;27460:51:0;27318:217;27273:262;-1:-1:-1;;27591:1:0;27579:9;:13;;;27615:15;:19;-1:-1:-1;;;;;;25315:2361:0;24587:3122;;24554:3155;27737:13;27747:3;27737:13;;:::i;:::-;27783;;27737;;-1:-1:-1;;;;;;27769:28:0;;;27783:13;;27769:28;27765:140;;27851:9;;27841:6;27825:13;27835:2;-1:-1:-1;;;;;5819:18:0;5792:7;5819:18;;;;;;;;;;;;5718:127;27825:13;:22;;;;:::i;:::-;:35;;27817:72;;;;-1:-1:-1;;;27817:72:0;;18815:2:1;27817:72:0;;;18797:21:1;18854:2;18834:18;;;18827:30;18893:26;18873:18;;;18866:54;18937:18;;27817:72:0;18613:348:1;27817:72:0;27958:11;;-1:-1:-1;;;27958:11:0;;;;27954:143;;-1:-1:-1;;;;;27998:15:0;;;;;;:9;:15;;;;;;;;27990:91;;;;-1:-1:-1;;;27990:91:0;;19168:2:1;27990:91:0;;;19150:21:1;19207:2;19187:18;;;19180:30;19246:34;19226:18;;;19219:62;19317:33;19297:18;;;19290:61;19368:19;;27990:91:0;18966:427:1;27990:91:0;23715:4406;;23674:4447;-1:-1:-1;28148:6:0;;23424:4738;-1:-1:-1;;;23424:4738:0:o;13145:120::-;12480:7;;-1:-1:-1;;;12480:7:0;;;;12681:41;;;;-1:-1:-1;;;12681:41:0;;19600:2:1;12681:41:0;;;19582:21:1;19639:2;19619:18;;;19612:30;-1:-1:-1;;;19658:18:1;;;19651:50;19718:18;;12681:41:0;19398:344:1;12681:41:0;13204:7:::1;:15:::0;;-1:-1:-1;;;;13204:15:0::1;::::0;;13235:22:::1;4128:10:::0;13244:12:::1;13235:22;::::0;-1:-1:-1;;;;;3231:32:1;;;3213:51;;3201:2;3186:18;13235:22:0::1;;;;;;;13145:120::o:0;9209:591::-;-1:-1:-1;;;;;9293:21:0;;9285:67;;;;-1:-1:-1;;;9285:67:0;;19949:2:1;9285:67:0;;;19931:21:1;19988:2;19968:18;;;19961:30;20027:34;20007:18;;;20000:62;-1:-1:-1;;;20078:18:1;;;20071:31;20119:19;;9285:67:0;19747:397:1;9285:67:0;-1:-1:-1;;;;;9452:18:0;;9427:22;9452:18;;;;;;;;;;;9489:24;;;;9481:71;;;;-1:-1:-1;;;9481:71:0;;20351:2:1;9481:71:0;;;20333:21:1;20390:2;20370:18;;;20363:30;20429:34;20409:18;;;20402:62;-1:-1:-1;;;20480:18:1;;;20473:32;20522:19;;9481:71:0;20149:398:1;9481:71:0;-1:-1:-1;;;;;9588:18:0;;:9;:18;;;;;;;;;;9609:23;;;9588:44;;9654:12;:22;;9626:6;;9588:9;9654:22;;9626:6;;9654:22;:::i;:::-;;;;-1:-1:-1;;9694:37:0;;1663:25:1;;;9720:1:0;;-1:-1:-1;;;;;9694:37:0;;;;;1651:2:1;1636:18;9694:37:0;;;;;;;28174:595;;;:::o;11682:174::-;11758:6;;;-1:-1:-1;;;;;11775:17:0;;;-1:-1:-1;;;;;;11775:17:0;;;;;;;11808:40;;11758:6;;;11775:17;11758:6;;11808:40;;11739:16;;11808:40;11728:128;11682:174;:::o;12886:118::-;12480:7;;-1:-1:-1;;;12480:7:0;;;;12570:9;12562:38;;;;-1:-1:-1;;;12562:38:0;;20754:2:1;12562:38:0;;;20736:21:1;20793:2;20773:18;;;20766:30;-1:-1:-1;;;20812:18:1;;;20805:46;20868:18;;12562:38:0;20552:340:1;12562:38:0;12946:7:::1;:14:::0;;-1:-1:-1;;;;12946:14:0::1;-1:-1:-1::0;;;12946:14:0::1;::::0;;12976:20:::1;12983:12;4128:10:::0;;4048:98;8012:733;-1:-1:-1;;;;;8152:20:0;;8144:70;;;;-1:-1:-1;;;8144:70:0;;21099:2:1;8144:70:0;;;21081:21:1;21138:2;21118:18;;;21111:30;21177:34;21157:18;;;21150:62;-1:-1:-1;;;21228:18:1;;;21221:35;21273:19;;8144:70:0;20897:401:1;8144:70:0;-1:-1:-1;;;;;8233:23:0;;8225:71;;;;-1:-1:-1;;;8225:71:0;;21505:2:1;8225:71:0;;;21487:21:1;21544:2;21524:18;;;21517:30;21583:34;21563:18;;;21556:62;-1:-1:-1;;;21634:18:1;;;21627:33;21677:19;;8225:71:0;21303:399:1;8225:71:0;-1:-1:-1;;;;;8393:17:0;;8369:21;8393:17;;;;;;;;;;;8429:23;;;;8421:74;;;;-1:-1:-1;;;8421:74:0;;21909:2:1;8421:74:0;;;21891:21:1;21948:2;21928:18;;;21921:30;21987:34;21967:18;;;21960:62;-1:-1:-1;;;22038:18:1;;;22031:36;22084:19;;8421:74:0;21707:402:1;8421:74:0;-1:-1:-1;;;;;8531:17:0;;;:9;:17;;;;;;;;;;;8551:22;;;8531:42;;8595:20;;;;;;;;:30;;8567:6;;8531:9;8595:30;;8567:6;;8595:30;:::i;:::-;;;;;;;;8660:9;-1:-1:-1;;;;;8643:35:0;8652:6;-1:-1:-1;;;;;8643:35:0;;8671:6;8643:35;;;;1663:25:1;;1651:2;1636:18;;1517:177;8643:35:0;;;;;;;;8691:46;28174:595;14:248:1;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:1;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:1:o;267:597::-;379:4;408:2;437;426:9;419:21;469:6;463:13;512:6;507:2;496:9;492:18;485:34;537:1;547:140;561:6;558:1;555:13;547:140;;;656:14;;;652:23;;646:30;622:17;;;641:2;618:26;611:66;576:10;;547:140;;;705:6;702:1;699:13;696:91;;;775:1;770:2;761:6;750:9;746:22;742:31;735:42;696:91;-1:-1:-1;848:2:1;827:15;-1:-1:-1;;823:29:1;808:45;;;;855:2;804:54;;267:597;-1:-1:-1;;;267:597:1:o;869:131::-;-1:-1:-1;;;;;944:31:1;;934:42;;924:70;;990:1;987;980:12;1005:315;1073:6;1081;1134:2;1122:9;1113:7;1109:23;1105:32;1102:52;;;1150:1;1147;1140:12;1102:52;1189:9;1176:23;1208:31;1233:5;1208:31;:::i;:::-;1258:5;1310:2;1295:18;;;;1282:32;;-1:-1:-1;;;1005:315:1:o;1699:456::-;1776:6;1784;1792;1845:2;1833:9;1824:7;1820:23;1816:32;1813:52;;;1861:1;1858;1851:12;1813:52;1900:9;1887:23;1919:31;1944:5;1919:31;:::i;:::-;1969:5;-1:-1:-1;2026:2:1;2011:18;;1998:32;2039:33;1998:32;2039:33;:::i;:::-;1699:456;;2091:7;;-1:-1:-1;;;2145:2:1;2130:18;;;;2117:32;;1699:456::o;2160:118::-;2246:5;2239:13;2232:21;2225:5;2222:32;2212:60;;2268:1;2265;2258:12;2283:382;2348:6;2356;2409:2;2397:9;2388:7;2384:23;2380:32;2377:52;;;2425:1;2422;2415:12;2377:52;2464:9;2451:23;2483:31;2508:5;2483:31;:::i;:::-;2533:5;-1:-1:-1;2590:2:1;2575:18;;2562:32;2603:30;2562:32;2603:30;:::i;:::-;2652:7;2642:17;;;2283:382;;;;;:::o;2859:180::-;2918:6;2971:2;2959:9;2950:7;2946:23;2942:32;2939:52;;;2987:1;2984;2977:12;2939:52;-1:-1:-1;3010:23:1;;2859:180;-1:-1:-1;2859:180:1:o;3275:247::-;3334:6;3387:2;3375:9;3366:7;3362:23;3358:32;3355:52;;;3403:1;3400;3393:12;3355:52;3442:9;3429:23;3461:31;3486:5;3461:31;:::i;3735:388::-;3803:6;3811;3864:2;3852:9;3843:7;3839:23;3835:32;3832:52;;;3880:1;3877;3870:12;3832:52;3919:9;3906:23;3938:31;3963:5;3938:31;:::i;:::-;3988:5;-1:-1:-1;4045:2:1;4030:18;;4017:32;4058:33;4017:32;4058:33;:::i;4128:309::-;4193:6;4201;4254:2;4242:9;4233:7;4229:23;4225:32;4222:52;;;4270:1;4267;4260:12;4222:52;4309:9;4296:23;4328:28;4350:5;4328:28;:::i;4442:356::-;4644:2;4626:21;;;4663:18;;;4656:30;4722:34;4717:2;4702:18;;4695:62;4789:2;4774:18;;4442:356::o;4803:253::-;-1:-1:-1;;;5005:18:1;;5048:1;5039:11;;4803:253::o;5061:259::-;-1:-1:-1;;;5263:24:1;;5312:1;5303:11;;5061:259::o;5325:380::-;5404:1;5400:12;;;;5447;;;5468:61;;5522:4;5514:6;5510:17;5500:27;;5468:61;5575:2;5567:6;5564:14;5544:18;5541:38;5538:161;;5621:10;5616:3;5612:20;5609:1;5602:31;5656:4;5653:1;5646:15;5684:4;5681:1;5674:15;5538:161;;5325:380;;;:::o;6471:127::-;6532:10;6527:3;6523:20;6520:1;6513:31;6563:4;6560:1;6553:15;6587:4;6584:1;6577:15;6603:128;6643:3;6674:1;6670:6;6667:1;6664:13;6661:39;;;6680:18;;:::i;:::-;-1:-1:-1;6716:9:1;;6603:128::o;8195:168::-;8235:7;8301:1;8297;8293:6;8289:14;8286:1;8283:21;8278:1;8271:9;8264:17;8260:45;8257:71;;;8308:18;;:::i;:::-;-1:-1:-1;8348:9:1;;8195:168::o;11109:184::-;11179:6;11232:2;11220:9;11211:7;11207:23;11203:32;11200:52;;;11248:1;11245;11238:12;11200:52;-1:-1:-1;11271:16:1;;11109:184;-1:-1:-1;11109:184:1:o;11577:245::-;11644:6;11697:2;11685:9;11676:7;11672:23;11668:32;11665:52;;;11713:1;11710;11703:12;11665:52;11745:9;11739:16;11764:28;11786:5;11764:28;:::i;13749:127::-;13810:10;13805:3;13801:20;13798:1;13791:31;13841:4;13838:1;13831:15;13865:4;13862:1;13855:15;13881:127;13942:10;13937:3;13933:20;13930:1;13923:31;13973:4;13970:1;13963:15;13997:4;13994:1;13987:15;14013:251;14083:6;14136:2;14124:9;14115:7;14111:23;14107:32;14104:52;;;14152:1;14149;14142:12;14104:52;14184:9;14178:16;14203:31;14228:5;14203:31;:::i;14269:217::-;14309:1;14335;14325:132;;14379:10;14374:3;14370:20;14367:1;14360:31;14414:4;14411:1;14404:15;14442:4;14439:1;14432:15;14325:132;-1:-1:-1;14471:9:1;;14269:217::o;14491:461::-;14544:3;14582:5;14576:12;14609:6;14604:3;14597:19;14635:4;14664:2;14659:3;14655:12;14648:19;;14701:2;14694:5;14690:14;14722:1;14732:195;14746:6;14743:1;14740:13;14732:195;;;14811:13;;-1:-1:-1;;;;;14807:39:1;14795:52;;14867:12;;;;14902:15;;;;14843:1;14761:9;14732:195;;;-1:-1:-1;14943:3:1;;14491:461;-1:-1:-1;;;;;14491:461:1:o;14957:332::-;15164:6;15153:9;15146:25;15207:2;15202;15191:9;15187:18;15180:30;15127:4;15227:56;15279:2;15268:9;15264:18;15256:6;15227:56;:::i;:::-;15219:64;14957:332;-1:-1:-1;;;;14957:332:1:o;15294:1105::-;15389:6;15420:2;15463;15451:9;15442:7;15438:23;15434:32;15431:52;;;15479:1;15476;15469:12;15431:52;15512:9;15506:16;15541:18;15582:2;15574:6;15571:14;15568:34;;;15598:1;15595;15588:12;15568:34;15636:6;15625:9;15621:22;15611:32;;15681:7;15674:4;15670:2;15666:13;15662:27;15652:55;;15703:1;15700;15693:12;15652:55;15732:2;15726:9;15754:2;15750;15747:10;15744:36;;;15760:18;;:::i;:::-;15806:2;15803:1;15799:10;15838:2;15832:9;15901:2;15897:7;15892:2;15888;15884:11;15880:25;15872:6;15868:38;15956:6;15944:10;15941:22;15936:2;15924:10;15921:18;15918:46;15915:72;;;15967:18;;:::i;:::-;16003:2;15996:22;16053:18;;;16087:15;;;;-1:-1:-1;16129:11:1;;;16125:20;;;16157:19;;;16154:39;;;16189:1;16186;16179:12;16154:39;16213:11;;;;16233:135;16249:6;16244:3;16241:15;16233:135;;;16315:10;;16303:23;;16266:12;;;;16346;;;;16233:135;;;16387:6;15294:1105;-1:-1:-1;;;;;;;;15294:1105:1:o;16404:582::-;16703:6;16692:9;16685:25;16746:6;16741:2;16730:9;16726:18;16719:34;16789:3;16784:2;16773:9;16769:18;16762:31;16666:4;16810:57;16862:3;16851:9;16847:19;16839:6;16810:57;:::i;:::-;-1:-1:-1;;;;;16903:32:1;;;;16898:2;16883:18;;16876:60;-1:-1:-1;16967:3:1;16952:19;16945:35;16802:65;16404:582;-1:-1:-1;;;16404:582:1:o;16991:125::-;17031:4;17059:1;17056;17053:8;17050:34;;;17064:18;;:::i;:::-;-1:-1:-1;17101:9:1;;16991:125::o;17733:306::-;17821:6;17829;17837;17890:2;17878:9;17869:7;17865:23;17861:32;17858:52;;;17906:1;17903;17896:12;17858:52;17935:9;17929:16;17919:26;;17985:2;17974:9;17970:18;17964:25;17954:35;;18029:2;18018:9;18014:18;18008:25;17998:35;;17733:306;;;;;:::o
Swarm Source
ipfs://0064a814ce321a1e699903cd909fd827d4a2776a1f90c4e86c6cff8f03e74f7a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,814.2 | 0.0143 | $54.36 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.