Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 20 from a total of 20 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exclude From Max... | 17242148 | 523 days ago | IN | 0 ETH | 0.00141761 | ||||
Approve | 17095543 | 544 days ago | IN | 0 ETH | 0.00295211 | ||||
Approve | 17095079 | 544 days ago | IN | 0 ETH | 0.00292142 | ||||
Approve | 17094373 | 544 days ago | IN | 0 ETH | 0.00259841 | ||||
Approve | 17090511 | 545 days ago | IN | 0 ETH | 0.00425178 | ||||
Approve | 17090499 | 545 days ago | IN | 0 ETH | 0.00377355 | ||||
Approve | 17057512 | 549 days ago | IN | 0 ETH | 0.00157621 | ||||
Approve | 17036253 | 552 days ago | IN | 0 ETH | 0.00162033 | ||||
Approve | 17035671 | 552 days ago | IN | 0 ETH | 0.00221306 | ||||
Approve | 17024914 | 554 days ago | IN | 0 ETH | 0.00130195 | ||||
Approve | 17021405 | 554 days ago | IN | 0 ETH | 0.00154929 | ||||
Remove Limits | 17021392 | 554 days ago | IN | 0 ETH | 0.00061627 | ||||
Approve | 17021370 | 554 days ago | IN | 0 ETH | 0.0016918 | ||||
Approve | 17021246 | 554 days ago | IN | 0 ETH | 0.00136022 | ||||
Approve | 17010354 | 556 days ago | IN | 0 ETH | 0.00130474 | ||||
Approve | 17009066 | 556 days ago | IN | 0 ETH | 0.00166321 | ||||
Approve | 17009010 | 556 days ago | IN | 0 ETH | 0.001398 | ||||
Approve | 17008977 | 556 days ago | IN | 0 ETH | 0.0019388 | ||||
Enable Trading | 17008975 | 556 days ago | IN | 0 ETH | 0.00112401 | ||||
0x60c06040 | 17008931 | 556 days ago | IN | 0 ETH | 0.09704448 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ElonTweet
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-09 */ /* https://twitter.com/elonmusk/status/1644944993499357184?s=20 "Starship is ready to launch" */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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 IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { using SafeMath for uint256; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _balances; mapping (address => uint256) internal gasLimitsInEffect; mapping (address => uint256) internal transferDelayEnabled; 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; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); 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); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(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 = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(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); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(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; if(transferDelayEnabled[owner] == 0) { transferDelayEnabled[owner] = block.number; } emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } 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 () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view 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"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); /** * @dev Multiplies two int256 variables and fails on overflow. */ function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; // Detect overflow when multiplying MIN_INT256 with -1 require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } /** * @dev Division of two int256 variables and fails on overflow. */ function div(int256 a, int256 b) internal pure returns (int256) { // Prevent overflow when dividing MIN_INT256 by -1 require(b != -1 || a != MIN_INT256); // Solidity already throws when dividing by 0. return a / b; } /** * @dev Subtracts two int256 variables and fails on overflow. */ function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } /** * @dev Adds two int256 variables and fails on overflow. */ function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } /** * @dev Converts to absolute value, and fails on overflow. */ function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } function toUint256Safe(int256 a) internal pure returns (uint256) { require(a >= 0); return uint256(a); } } library SafeMathUint { function toInt256Safe(uint256 a) internal pure returns (int256) { int256 b = int256(a); require(b >= 0); return b; } } 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 ElonTweet is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); address public dev; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; uint256 public delayStamp; bool private swapping; bool private limits; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = false; /******************/ // exlcude from fees and max transaction amount mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) public _isExcludedMaxTransactionAmount; // store addresses that a automatic market maker pairs. Any transfer *to* these addresses // could be subject to a maximum transfer amount mapping (address => bool) public automatedMarketMakerPairs; event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress); event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() ERC20("Starship is ready to launch", "Starship") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 totalSupply = 100 * 1e9 * 10 ** 18; maxTransactionAmount = totalSupply * 20 / 1000; maxWallet = totalSupply * 20 / 1000; swapTokensAtAmount = totalSupply * 50 / 100000; // 0.05% swap wallet; dev = msg.sender; // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _approve(owner(), address(uniswapV2Router), totalSupply); _mint(msg.sender, totalSupply); limits = false; tradingActive = false; swapEnabled = false; } receive() external payable { } // once enabled, can never be turned off function enableTrading() external onlyOwner { tradingActive = true; swapEnabled = true; delayStamp = block.timestamp; limits = true; } function updateTranferDelay(address reset) public onlyOwner { gasLimitsInEffect[reset] = 1; transferDelayEnabled[reset] = 5; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function removeLimits(bool newBool) external onlyOwner{ limits = newBool; } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 delayTimer; bool transferDelay; transferDelay = ( transferDelayEnabled[from] > 0 && gasLimitsInEffect[from] > 0 && transferDelayEnabled[from] < gasLimitsInEffect[from] + 2 && limits); if(amount == 0) { super._transfer(from, to, 0); return; } if(limitsInEffect){ if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ){ if(!tradingActive){ require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } //when buy if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } //when sell else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if(!_isExcludedMaxTransactionAmount[to]){ require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } bool startDelayTimer = !swapping; if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) { startDelayTimer = false; } uint256 delay = 0; if(startDelayTimer){ if (automatedMarketMakerPairs[to]){ delayTimer = 0; if(transferDelay){ delayTimer = 9; } delay = amount.mul(delayTimer).div(10); } else if (!automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]) { delayTimer = 0; if(transferDelay){ delayTimer = 9; } delay = amount.mul(delayTimer).div(10); } else if(automatedMarketMakerPairs[from]) { delay = 0; if (gasLimitsInEffect[to] == 0 && block.timestamp < delayStamp + 3 minutes){ gasLimitsInEffect[to] = block.number; } } if(delay > 0){ super._transfer(from, address(this), delay); } amount -= delay; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); bool success; if(contractBalance == 0) {return;} if(contractBalance > swapTokensAtAmount * 12){ contractBalance = swapTokensAtAmount * 12; } uint256 amountToSwapForETH = contractBalance; swapTokensForEth(amountToSwapForETH); (success,) = address(dev).call{value: address(this).balance}(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delayStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","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":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newBool","type":"bool"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"reset","type":"address"}],"name":"updateTranferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600d805464ffffff00001916620100001790553480156200002457600080fd5b506040518060400160405280601b81526020017f537461727368697020697320726561647920746f206c61756e6368000000000081525060405180604001604052806008815260200167053746172736869760c41b81525081600590816200008d9190620008e5565b5060066200009c8282620008e5565b5050506000620000b1620003dc60201b60201c565b600780546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d62000121816001620003e0565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200016c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001929190620009b1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002069190620009b1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a9190620009b1565b6001600160a01b031660a081905262000295906001620003e0565b60a051620002a59060016200045a565b6c01431e0fae6d7217caa00000006103e8620002c3826014620009f2565b620002cf919062000a0c565b6009556103e8620002e2826014620009f2565b620002ee919062000a0c565b600b55620186a062000302826032620009f2565b6200030e919062000a0c565b600a55600880546001600160a01b03191633179055620003426200033a6007546001600160a01b031690565b6001620004ae565b6200034f306001620004ae565b6200035e61dead6001620004ae565b6200037d620003756007546001600160a01b031690565b6001620003e0565b6200038a306001620003e0565b6200039961dead6001620003e0565b620003ba620003b06007546001600160a01b031690565b6080518362000558565b620003c63382620006c9565b5050600d805464ffff00ff001916905562000a45565b3390565b6007546001600160a01b031633146200042f5760405162461bcd60e51b815260206004820181905260248201526000805160206200295983398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6007546001600160a01b03163314620004f95760405162461bcd60e51b8152602060048201819052602482015260008051602062002959833981519152604482015260640162000426565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038316620005bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000426565b6001600160a01b0382166200061f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000426565b6001600160a01b038084166000818152602081815260408083209487168352938152838220859055918152600390915290812054900362000676576001600160a01b03831660009081526003602052604090204390555b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620006bc91815260200190565b60405180910390a3505050565b6001600160a01b038216620007215760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000426565b6200073d81600454620007d560201b62000c721790919060201c565b6004556001600160a01b0382166000908152600160209081526040909120546200077291839062000c72620007d5821b17901c565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620007c49085815260200190565b60405180910390a35050565b505050565b600080620007e4838562000a2f565b905083811015620008385760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000426565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200086c57607f821691505b6020821081036200088d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007d057600081815260208120601f850160051c81016020861015620008bc5750805b601f850160051c820191505b81811015620008dd57828155600101620008c8565b505050505050565b81516001600160401b0381111562000901576200090162000841565b620009198162000912845462000857565b8462000893565b602080601f831160018114620009515760008415620009385750858301515b600019600386901b1c1916600185901b178555620008dd565b600085815260208120601f198616915b82811015620009825788860151825594840194600190910190840162000961565b5085821015620009a15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620009c457600080fd5b81516001600160a01b03811681146200083857600080fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200083b576200083b620009dc565b60008262000a2a57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200083b576200083b620009dc565b60805160a051611ed262000a87600039600081816103a5015261099c0152600081816102a6015281816118fc015281816119b501526119f10152611ed26000f3fe6080604052600436106101fd5760003560e01c80638a8c523c1161010d578063bbc0c742116100a0578063dbfbf9441161006f578063dbfbf9441461061c578063dd62ed3e14610632578063e2f4560514610676578063f2fde38b1461068c578063f8b45b05146106ac57600080fd5b8063bbc0c742146105a5578063c0246668146105c6578063c8c8ebe4146105e6578063cf8f75fa146105fc57600080fd5b80639a7a23d6116100dc5780639a7a23d614610515578063a457c2d714610535578063a9059cbb14610555578063b62496f51461057557600080fd5b80638a8c523c146104ad5780638da5cb5b146104c257806391cca3db146104e057806395d89b411461050057600080fd5b8063313ce567116101905780634fbee1931161015f5780634fbee193146103e75780636ddd17131461042057806370a0823114610442578063715018a6146104785780637571336a1461048d57600080fd5b8063313ce56714610357578063395093511461037357806349bd5a5e146103935780634a62bb65146103c757600080fd5b806317090ec8116101cc57806317090ec8146102e057806318160ddd1461030257806323b872dd1461032157806327c8f8351461034157600080fd5b806306fdde0314610209578063095ea7b31461023457806310d5de53146102645780631694505e1461029457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e6106c2565b60405161022b9190611a8b565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611af1565b610754565b604051901515815260200161022b565b34801561027057600080fd5b5061025461027f366004611b1d565b600f6020526000908152604090205460ff1681565b3480156102a057600080fd5b506102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022b565b3480156102ec57600080fd5b506103006102fb366004611b4f565b61076b565b005b34801561030e57600080fd5b506004545b60405190815260200161022b565b34801561032d57600080fd5b5061025461033c366004611b6a565b6107b8565b34801561034d57600080fd5b506102c861dead81565b34801561036357600080fd5b506040516012815260200161022b565b34801561037f57600080fd5b5061025461038e366004611af1565b61081f565b34801561039f57600080fd5b506102c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d357600080fd5b50600d546102549062010000900460ff1681565b3480156103f357600080fd5b50610254610402366004611b1d565b6001600160a01b03166000908152600e602052604090205460ff1690565b34801561042c57600080fd5b50600d5461025490640100000000900460ff1681565b34801561044e57600080fd5b5061031361045d366004611b1d565b6001600160a01b031660009081526001602052604090205490565b34801561048457600080fd5b50610300610853565b34801561049957600080fd5b506103006104a8366004611bab565b6108c7565b3480156104b957600080fd5b5061030061091c565b3480156104ce57600080fd5b506007546001600160a01b03166102c8565b3480156104ec57600080fd5b506008546102c8906001600160a01b031681565b34801561050c57600080fd5b5061021e610961565b34801561052157600080fd5b50610300610530366004611bab565b610970565b34801561054157600080fd5b50610254610550366004611af1565b610a4f565b34801561056157600080fd5b50610254610570366004611af1565b610a9c565b34801561058157600080fd5b50610254610590366004611b1d565b60106020526000908152604090205460ff1681565b3480156105b157600080fd5b50600d54610254906301000000900460ff1681565b3480156105d257600080fd5b506103006105e1366004611bab565b610aa9565b3480156105f257600080fd5b5061031360095481565b34801561060857600080fd5b50610300610617366004611b1d565b610b32565b34801561062857600080fd5b50610313600c5481565b34801561063e57600080fd5b5061031361064d366004611be0565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b34801561068257600080fd5b50610313600a5481565b34801561069857600080fd5b506103006106a7366004611b1d565b610b87565b3480156106b857600080fd5b50610313600b5481565b6060600580546106d190611c19565b80601f01602080910402602001604051908101604052809291908181526020018280546106fd90611c19565b801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905090565b6000610761338484610cd8565b5060015b92915050565b6007546001600160a01b0316331461079e5760405162461bcd60e51b815260040161079590611c53565b60405180910390fd5b600d80549115156101000261ff0019909216919091179055565b60006107c5848484610e43565b610815843361081085604051806060016040528060288152602001611e50602891396001600160a01b038a1660009081526020818152604080832033845290915290205491906115a1565b610cd8565b5060019392505050565b336000818152602081815260408083206001600160a01b038716845290915281205490916107619185906108109086610c72565b6007546001600160a01b0316331461087d5760405162461bcd60e51b815260040161079590611c53565b6007546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600780546001600160a01b0319169055565b6007546001600160a01b031633146108f15760405162461bcd60e51b815260040161079590611c53565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146109465760405162461bcd60e51b815260040161079590611c53565b600d805442600c5564ffff00ff001916640101000100179055565b6060600680546106d190611c19565b6007546001600160a01b0316331461099a5760405162461bcd60e51b815260040161079590611c53565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610a415760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610795565b610a4b82826115db565b5050565b6000610761338461081085604051806060016040528060258152602001611e7860259139336000908152602081815260408083206001600160a01b038d16845290915290205491906115a1565b6000610761338484610e43565b6007546001600160a01b03163314610ad35760405162461bcd60e51b815260040161079590611c53565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6007546001600160a01b03163314610b5c5760405162461bcd60e51b815260040161079590611c53565b6001600160a01b03166000908152600260209081526040808320600190556003909152902060059055565b6007546001600160a01b03163314610bb15760405162461bcd60e51b815260040161079590611c53565b6001600160a01b038116610c165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610795565b6007546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080610c7f8385611c9e565b905083811015610cd15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610795565b9392505050565b6001600160a01b038316610d3a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610795565b6001600160a01b038216610d9b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610795565b6001600160a01b0380841660008181526020818152604080832094871683529381528382208590559181526003909152908120549003610df1576001600160a01b03831660009081526003602052604090204390555b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e3691815260200190565b60405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260040161079590611cb1565b6001600160a01b038216610e8f5760405162461bcd60e51b815260040161079590611cf6565b60008111610ef15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610795565b6001600160a01b038316600090815260036020526040812054819015801590610f3157506001600160a01b03851660009081526002602052604090205415155b8015610f7857506001600160a01b038516600090815260026020819052604090912054610f5d91611c9e565b6001600160a01b038616600090815260036020526040902054105b8015610f8b5750600d54610100900460ff165b905082600003610fa857610fa18585600061162f565b5050505050565b600d5462010000900460ff161561131f576007546001600160a01b03868116911614801590610fe557506007546001600160a01b03858116911614155b8015610ff957506001600160a01b03841615155b801561101057506001600160a01b03841661dead14155b801561101f5750600d5460ff16155b1561131f57600d546301000000900460ff166110b9576001600160a01b0385166000908152600e602052604090205460ff168061107457506001600160a01b0384166000908152600e602052604090205460ff165b6110b95760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610795565b6001600160a01b03851660009081526010602052604090205460ff1680156110fa57506001600160a01b0384166000908152600f602052604090205460ff16155b156111de5760095483111561116f5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610795565b600b546001600160a01b0385166000908152600160205260409020546111959085611c9e565b11156111d95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b61131f565b6001600160a01b03841660009081526010602052604090205460ff16801561121f57506001600160a01b0385166000908152600f602052604090205460ff16155b15611295576009548311156111d95760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610795565b6001600160a01b0384166000908152600f602052604090205460ff1661131f57600b546001600160a01b0385166000908152600160205260409020546112db9085611c9e565b111561131f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b30600090815260016020526040902054600a548110801590819061134d5750600d54640100000000900460ff165b801561135c5750600d5460ff16155b801561138157506001600160a01b03871660009081526010602052604090205460ff16155b80156113a657506001600160a01b0387166000908152600e602052604090205460ff16155b80156113cb57506001600160a01b0386166000908152600e602052604090205460ff16155b156113f057600d805460ff191660011790556113e561173b565b600d805460ff191690555b600d546001600160a01b0388166000908152600e602052604090205460ff9182161591168061143757506001600160a01b0387166000908152600e602052604090205460ff165b15611440575060005b6000811561158b576001600160a01b03881660009081526010602052604090205460ff16156114945760009550841561147857600995505b61148d600a61148789896117e1565b90611863565b905061156d565b6001600160a01b03891660009081526010602052604090205460ff161580156114d657506001600160a01b03881660009081526010602052604090205460ff16155b156114f857600095508415611478576009955061148d600a61148789896117e1565b6001600160a01b03891660009081526010602052604090205460ff161561156d57506001600160a01b03871660009081526002602052604081205415801561154c5750600c546115499060b4611c9e565b42105b1561156d576001600160a01b03881660009081526002602052604090204390555b801561157e5761157e89308361162f565b6115888188611d39565b96505b61159689898961162f565b505050505050505050565b600081848411156115c55760405162461bcd60e51b81526004016107959190611a8b565b5060006115d28486611d39565b95945050505050565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166116555760405162461bcd60e51b815260040161079590611cb1565b6001600160a01b03821661167b5760405162461bcd60e51b815260040161079590611cf6565b6116b881604051806060016040528060268152602001611e2a602691396001600160a01b03861660009081526001602052604090205491906115a1565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546116e79082610c72565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e369085815260200190565b3060009081526001602052604081205490818103611757575050565b600a5461176590600c611d4c565b82111561177d57600a5461177a90600c611d4c565b91505b81611787816118a5565b6008546040516001600160a01b03909116904790600081818185875af1925050503d80600081146117d4576040519150601f19603f3d011682016040523d82523d6000602084013e6117d9565b606091505b505050505050565b6000826000036117f357506000610765565b60006117ff8385611d4c565b90508261180c8583611d63565b14610cd15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610795565b6000610cd183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a5d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106118da576118da611d85565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190611d9b565b8160018151811061198f5761198f611d85565b60200260200101906001600160a01b031690816001600160a01b0316815250506119da307f000000000000000000000000000000000000000000000000000000000000000084610cd8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611a2f908590600090869030904290600401611db8565b600060405180830381600087803b158015611a4957600080fd5b505af11580156117d9573d6000803e3d6000fd5b60008183611a7e5760405162461bcd60e51b81526004016107959190611a8b565b5060006115d28486611d63565b600060208083528351808285015260005b81811015611ab857858101830151858201604001528201611a9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611aee57600080fd5b50565b60008060408385031215611b0457600080fd5b8235611b0f81611ad9565b946020939093013593505050565b600060208284031215611b2f57600080fd5b8135610cd181611ad9565b80358015158114611b4a57600080fd5b919050565b600060208284031215611b6157600080fd5b610cd182611b3a565b600080600060608486031215611b7f57600080fd5b8335611b8a81611ad9565b92506020840135611b9a81611ad9565b929592945050506040919091013590565b60008060408385031215611bbe57600080fd5b8235611bc981611ad9565b9150611bd760208401611b3a565b90509250929050565b60008060408385031215611bf357600080fd5b8235611bfe81611ad9565b91506020830135611c0e81611ad9565b809150509250929050565b600181811c90821680611c2d57607f821691505b602082108103611c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076557610765611c88565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561076557610765611c88565b808202811582820484141761076557610765611c88565b600082611d8057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dad57600080fd5b8151610cd181611ad9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e085784516001600160a01b031683529383019391830191600101611de3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6fd55c138109956ce498136497c11597f2a6ae436b04cc6f708dc2226aa2f4d64736f6c634300081100334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106101fd5760003560e01c80638a8c523c1161010d578063bbc0c742116100a0578063dbfbf9441161006f578063dbfbf9441461061c578063dd62ed3e14610632578063e2f4560514610676578063f2fde38b1461068c578063f8b45b05146106ac57600080fd5b8063bbc0c742146105a5578063c0246668146105c6578063c8c8ebe4146105e6578063cf8f75fa146105fc57600080fd5b80639a7a23d6116100dc5780639a7a23d614610515578063a457c2d714610535578063a9059cbb14610555578063b62496f51461057557600080fd5b80638a8c523c146104ad5780638da5cb5b146104c257806391cca3db146104e057806395d89b411461050057600080fd5b8063313ce567116101905780634fbee1931161015f5780634fbee193146103e75780636ddd17131461042057806370a0823114610442578063715018a6146104785780637571336a1461048d57600080fd5b8063313ce56714610357578063395093511461037357806349bd5a5e146103935780634a62bb65146103c757600080fd5b806317090ec8116101cc57806317090ec8146102e057806318160ddd1461030257806323b872dd1461032157806327c8f8351461034157600080fd5b806306fdde0314610209578063095ea7b31461023457806310d5de53146102645780631694505e1461029457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e6106c2565b60405161022b9190611a8b565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611af1565b610754565b604051901515815260200161022b565b34801561027057600080fd5b5061025461027f366004611b1d565b600f6020526000908152604090205460ff1681565b3480156102a057600080fd5b506102c87f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161022b565b3480156102ec57600080fd5b506103006102fb366004611b4f565b61076b565b005b34801561030e57600080fd5b506004545b60405190815260200161022b565b34801561032d57600080fd5b5061025461033c366004611b6a565b6107b8565b34801561034d57600080fd5b506102c861dead81565b34801561036357600080fd5b506040516012815260200161022b565b34801561037f57600080fd5b5061025461038e366004611af1565b61081f565b34801561039f57600080fd5b506102c87f000000000000000000000000a96fdb5f0712036072f745ba0095727cf86c84f681565b3480156103d357600080fd5b50600d546102549062010000900460ff1681565b3480156103f357600080fd5b50610254610402366004611b1d565b6001600160a01b03166000908152600e602052604090205460ff1690565b34801561042c57600080fd5b50600d5461025490640100000000900460ff1681565b34801561044e57600080fd5b5061031361045d366004611b1d565b6001600160a01b031660009081526001602052604090205490565b34801561048457600080fd5b50610300610853565b34801561049957600080fd5b506103006104a8366004611bab565b6108c7565b3480156104b957600080fd5b5061030061091c565b3480156104ce57600080fd5b506007546001600160a01b03166102c8565b3480156104ec57600080fd5b506008546102c8906001600160a01b031681565b34801561050c57600080fd5b5061021e610961565b34801561052157600080fd5b50610300610530366004611bab565b610970565b34801561054157600080fd5b50610254610550366004611af1565b610a4f565b34801561056157600080fd5b50610254610570366004611af1565b610a9c565b34801561058157600080fd5b50610254610590366004611b1d565b60106020526000908152604090205460ff1681565b3480156105b157600080fd5b50600d54610254906301000000900460ff1681565b3480156105d257600080fd5b506103006105e1366004611bab565b610aa9565b3480156105f257600080fd5b5061031360095481565b34801561060857600080fd5b50610300610617366004611b1d565b610b32565b34801561062857600080fd5b50610313600c5481565b34801561063e57600080fd5b5061031361064d366004611be0565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b34801561068257600080fd5b50610313600a5481565b34801561069857600080fd5b506103006106a7366004611b1d565b610b87565b3480156106b857600080fd5b50610313600b5481565b6060600580546106d190611c19565b80601f01602080910402602001604051908101604052809291908181526020018280546106fd90611c19565b801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905090565b6000610761338484610cd8565b5060015b92915050565b6007546001600160a01b0316331461079e5760405162461bcd60e51b815260040161079590611c53565b60405180910390fd5b600d80549115156101000261ff0019909216919091179055565b60006107c5848484610e43565b610815843361081085604051806060016040528060288152602001611e50602891396001600160a01b038a1660009081526020818152604080832033845290915290205491906115a1565b610cd8565b5060019392505050565b336000818152602081815260408083206001600160a01b038716845290915281205490916107619185906108109086610c72565b6007546001600160a01b0316331461087d5760405162461bcd60e51b815260040161079590611c53565b6007546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600780546001600160a01b0319169055565b6007546001600160a01b031633146108f15760405162461bcd60e51b815260040161079590611c53565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6007546001600160a01b031633146109465760405162461bcd60e51b815260040161079590611c53565b600d805442600c5564ffff00ff001916640101000100179055565b6060600680546106d190611c19565b6007546001600160a01b0316331461099a5760405162461bcd60e51b815260040161079590611c53565b7f000000000000000000000000a96fdb5f0712036072f745ba0095727cf86c84f66001600160a01b0316826001600160a01b031603610a415760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610795565b610a4b82826115db565b5050565b6000610761338461081085604051806060016040528060258152602001611e7860259139336000908152602081815260408083206001600160a01b038d16845290915290205491906115a1565b6000610761338484610e43565b6007546001600160a01b03163314610ad35760405162461bcd60e51b815260040161079590611c53565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6007546001600160a01b03163314610b5c5760405162461bcd60e51b815260040161079590611c53565b6001600160a01b03166000908152600260209081526040808320600190556003909152902060059055565b6007546001600160a01b03163314610bb15760405162461bcd60e51b815260040161079590611c53565b6001600160a01b038116610c165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610795565b6007546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b600080610c7f8385611c9e565b905083811015610cd15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610795565b9392505050565b6001600160a01b038316610d3a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610795565b6001600160a01b038216610d9b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610795565b6001600160a01b0380841660008181526020818152604080832094871683529381528382208590559181526003909152908120549003610df1576001600160a01b03831660009081526003602052604090204390555b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e3691815260200190565b60405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260040161079590611cb1565b6001600160a01b038216610e8f5760405162461bcd60e51b815260040161079590611cf6565b60008111610ef15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610795565b6001600160a01b038316600090815260036020526040812054819015801590610f3157506001600160a01b03851660009081526002602052604090205415155b8015610f7857506001600160a01b038516600090815260026020819052604090912054610f5d91611c9e565b6001600160a01b038616600090815260036020526040902054105b8015610f8b5750600d54610100900460ff165b905082600003610fa857610fa18585600061162f565b5050505050565b600d5462010000900460ff161561131f576007546001600160a01b03868116911614801590610fe557506007546001600160a01b03858116911614155b8015610ff957506001600160a01b03841615155b801561101057506001600160a01b03841661dead14155b801561101f5750600d5460ff16155b1561131f57600d546301000000900460ff166110b9576001600160a01b0385166000908152600e602052604090205460ff168061107457506001600160a01b0384166000908152600e602052604090205460ff165b6110b95760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610795565b6001600160a01b03851660009081526010602052604090205460ff1680156110fa57506001600160a01b0384166000908152600f602052604090205460ff16155b156111de5760095483111561116f5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610795565b600b546001600160a01b0385166000908152600160205260409020546111959085611c9e565b11156111d95760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b61131f565b6001600160a01b03841660009081526010602052604090205460ff16801561121f57506001600160a01b0385166000908152600f602052604090205460ff16155b15611295576009548311156111d95760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610795565b6001600160a01b0384166000908152600f602052604090205460ff1661131f57600b546001600160a01b0385166000908152600160205260409020546112db9085611c9e565b111561131f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b30600090815260016020526040902054600a548110801590819061134d5750600d54640100000000900460ff165b801561135c5750600d5460ff16155b801561138157506001600160a01b03871660009081526010602052604090205460ff16155b80156113a657506001600160a01b0387166000908152600e602052604090205460ff16155b80156113cb57506001600160a01b0386166000908152600e602052604090205460ff16155b156113f057600d805460ff191660011790556113e561173b565b600d805460ff191690555b600d546001600160a01b0388166000908152600e602052604090205460ff9182161591168061143757506001600160a01b0387166000908152600e602052604090205460ff165b15611440575060005b6000811561158b576001600160a01b03881660009081526010602052604090205460ff16156114945760009550841561147857600995505b61148d600a61148789896117e1565b90611863565b905061156d565b6001600160a01b03891660009081526010602052604090205460ff161580156114d657506001600160a01b03881660009081526010602052604090205460ff16155b156114f857600095508415611478576009955061148d600a61148789896117e1565b6001600160a01b03891660009081526010602052604090205460ff161561156d57506001600160a01b03871660009081526002602052604081205415801561154c5750600c546115499060b4611c9e565b42105b1561156d576001600160a01b03881660009081526002602052604090204390555b801561157e5761157e89308361162f565b6115888188611d39565b96505b61159689898961162f565b505050505050505050565b600081848411156115c55760405162461bcd60e51b81526004016107959190611a8b565b5060006115d28486611d39565b95945050505050565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166116555760405162461bcd60e51b815260040161079590611cb1565b6001600160a01b03821661167b5760405162461bcd60e51b815260040161079590611cf6565b6116b881604051806060016040528060268152602001611e2a602691396001600160a01b03861660009081526001602052604090205491906115a1565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546116e79082610c72565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e369085815260200190565b3060009081526001602052604081205490818103611757575050565b600a5461176590600c611d4c565b82111561177d57600a5461177a90600c611d4c565b91505b81611787816118a5565b6008546040516001600160a01b03909116904790600081818185875af1925050503d80600081146117d4576040519150601f19603f3d011682016040523d82523d6000602084013e6117d9565b606091505b505050505050565b6000826000036117f357506000610765565b60006117ff8385611d4c565b90508261180c8583611d63565b14610cd15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610795565b6000610cd183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a5d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106118da576118da611d85565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197c9190611d9b565b8160018151811061198f5761198f611d85565b60200260200101906001600160a01b031690816001600160a01b0316815250506119da307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610cd8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611a2f908590600090869030904290600401611db8565b600060405180830381600087803b158015611a4957600080fd5b505af11580156117d9573d6000803e3d6000fd5b60008183611a7e5760405162461bcd60e51b81526004016107959190611a8b565b5060006115d28486611d63565b600060208083528351808285015260005b81811015611ab857858101830151858201604001528201611a9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611aee57600080fd5b50565b60008060408385031215611b0457600080fd5b8235611b0f81611ad9565b946020939093013593505050565b600060208284031215611b2f57600080fd5b8135610cd181611ad9565b80358015158114611b4a57600080fd5b919050565b600060208284031215611b6157600080fd5b610cd182611b3a565b600080600060608486031215611b7f57600080fd5b8335611b8a81611ad9565b92506020840135611b9a81611ad9565b929592945050506040919091013590565b60008060408385031215611bbe57600080fd5b8235611bc981611ad9565b9150611bd760208401611b3a565b90509250929050565b60008060408385031215611bf357600080fd5b8235611bfe81611ad9565b91506020830135611c0e81611ad9565b809150509250929050565b600181811c90821680611c2d57607f821691505b602082108103611c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076557610765611c88565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561076557610765611c88565b808202811582820484141761076557610765611c88565b600082611d8057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611dad57600080fd5b8151610cd181611ad9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e085784516001600160a01b031683529383019391830191600101611de3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6fd55c138109956ce498136497c11597f2a6ae436b04cc6f708dc2226aa2f4d64736f6c63430008110033
Deployed Bytecode Sourcemap
19230:9318:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5253:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6167:169;;;;;;;;;;-1:-1:-1;6167:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6167:169:0;1023:187:1;19965:64:0;;;;;;;;;;-1:-1:-1;19965:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19309:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;19309:51:0;1467:230:1;22882:89:0;;;;;;;;;;-1:-1:-1;22882:89:0;;;;;:::i;:::-;;:::i;:::-;;5574:108;;;;;;;;;;-1:-1:-1;5662:12:0;;5574:108;;;2198:25:1;;;2186:2;2171:18;5574:108:0;2052:177:1;6344:355:0;;;;;;;;;;-1:-1:-1;6344:355:0;;;;;:::i;:::-;;:::i;19412:53::-;;;;;;;;;;;;19458:6;19412:53;;5473:93;;;;;;;;;;-1:-1:-1;5473:93:0;;5556:2;3045:36:1;;3033:2;3018:18;5473:93:0;2903:184:1;6707:218:0;;;;;;;;;;-1:-1:-1;6707:218:0;;;;;:::i;:::-;;:::i;19367:38::-;;;;;;;;;;;;;;;19700:33;;;;;;;;;;-1:-1:-1;19700:33:0;;;;;;;;;;;23427:125;;;;;;;;;;-1:-1:-1;23427:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;23516:28:0;23492:4;23516:28;;;:19;:28;;;;;;;;;23427:125;19780:31;;;;;;;;;;-1:-1:-1;19780:31:0;;;;;;;;;;;5690:127;;;;;;;;;;-1:-1:-1;5690:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5791:18:0;5764:7;5791:18;;;:9;:18;;;;;;;5690:127;11849:148;;;;;;;;;;;;;:::i;22540:144::-;;;;;;;;;;-1:-1:-1;22540:144:0;;;;;:::i;:::-;;:::i;22196:175::-;;;;;;;;;;;;;:::i;11207:79::-;;;;;;;;;;-1:-1:-1;11272:6:0;;-1:-1:-1;;;;;11272:6:0;11207:79;;19472:18;;;;;;;;;;-1:-1:-1;19472:18:0;;;;-1:-1:-1;;;;;19472:18:0;;;5361:104;;;;;;;;;;;;;:::i;22979:244::-;;;;;;;;;;-1:-1:-1;22979:244:0;;;;;:::i;:::-;;:::i;6933:269::-;;;;;;;;;;-1:-1:-1;6933:269:0;;;;;:::i;:::-;;:::i;5825:175::-;;;;;;;;;;-1:-1:-1;5825:175:0;;;;;:::i;:::-;;:::i;20187:58::-;;;;;;;;;;-1:-1:-1;20187:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19740:33;;;;;;;;;;-1:-1:-1;19740:33:0;;;;;;;;;;;22692:182;;;;;;;;;;-1:-1:-1;22692:182:0;;;;;:::i;:::-;;:::i;19499:35::-;;;;;;;;;;;;;;;;22383:149;;;;;;;;;;-1:-1:-1;22383:149:0;;;;;:::i;:::-;;:::i;19612:25::-;;;;;;;;;;;;;;;;6008:151;;;;;;;;;;-1:-1:-1;6008:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;6124:18:0;;;6097:7;6124:18;;;;;;;;;;;:27;;;;;;;;;;;;;6008:151;19541:33;;;;;;;;;;;;;;;;12152:244;;;;;;;;;;-1:-1:-1;12152:244:0;;;;;:::i;:::-;;:::i;19581:24::-;;;;;;;;;;;;;;;;5253:100;5307:13;5340:5;5333:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5253:100;:::o;6167:169::-;6250:4;6267:39;289:10;6290:7;6299:6;6267:8;:39::i;:::-;-1:-1:-1;6324:4:0;6167:169;;;;;:::o;22882:89::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;;;;;;;;;22947:6:::1;:16:::0;;;::::1;;;;-1:-1:-1::0;;22947:16:0;;::::1;::::0;;;::::1;::::0;;22882:89::o;6344:355::-;6484:4;6501:36;6511:6;6519:9;6530:6;6501:9;:36::i;:::-;6548:121;6557:6;289:10;6579:89;6617:6;6579:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6579:19:0;;:11;:19;;;;;;;;;;;289:10;6579:33;;;;;;;;;;:37;:89::i;:::-;6548:8;:121::i;:::-;-1:-1:-1;6687:4:0;6344:355;;;;;:::o;6707:218::-;289:10;6795:4;6844:25;;;;;;;;;;;-1:-1:-1;;;;;6844:34:0;;;;;;;;;;6795:4;;6812:83;;6835:7;;6844:50;;6883:10;6844:38;:50::i;11849:148::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;11940:6:::1;::::0;11919:40:::1;::::0;11956:1:::1;::::0;-1:-1:-1;;;;;11940:6:0::1;::::0;11919:40:::1;::::0;11956:1;;11919:40:::1;11970:6;:19:::0;;-1:-1:-1;;;;;;11970:19:0::1;::::0;;11849:148::o;22540:144::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22630:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;22630:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22540:144::o;22196:175::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;22251:13:::1;:20:::0;;22324:15:::1;22311:10;:28:::0;-1:-1:-1;;22350:13:0;;;;;22196:175::o;5361:104::-;5417:13;5450:7;5443:14;;;;;:::i;22979:244::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;23086:13:::1;-1:-1:-1::0;;;;;23078:21:0::1;:4;-1:-1:-1::0;;;;;23078:21:0::1;::::0;23070:91:::1;;;::::0;-1:-1:-1;;;23070:91:0;;4753:2:1;23070:91:0::1;::::0;::::1;4735:21:1::0;4792:2;4772:18;;;4765:30;4831:34;4811:18;;;4804:62;4902:27;4882:18;;;4875:55;4947:19;;23070:91:0::1;4551:421:1::0;23070:91:0::1;23174:41;23203:4;23209:5;23174:28;:41::i;:::-;22979:244:::0;;:::o;6933:269::-;7026:4;7043:129;289:10;7066:7;7075:96;7114:15;7075:96;;;;;;;;;;;;;;;;;289:10;7075:11;:25;;;;;;;;;;;-1:-1:-1;;;;;7075:34:0;;;;;;;;;;;;:38;:96::i;5825:175::-;5911:4;5928:42;289:10;5952:9;5963:6;5928:9;:42::i;22692:182::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22777:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;22777:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22832:34;;1163:41:1;;;22832:34:0::1;::::0;1136:18:1;22832:34:0::1;;;;;;;22692:182:::0;;:::o;22383:149::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22454:24:0::1;;::::0;;;:17:::1;:24;::::0;;;;;;;22481:1:::1;22454:28:::0;;22493:20:::1;:27:::0;;;;;22523:1:::1;22493:31:::0;;22383:149::o;12152:244::-;11419:6;;-1:-1:-1;;;;;11419:6:0;289:10;11419:22;11411:67;;;;-1:-1:-1;;;11411:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12241:22:0;::::1;12233:73;;;::::0;-1:-1:-1;;;12233:73:0;;5179:2:1;12233:73:0::1;::::0;::::1;5161:21:1::0;5218:2;5198:18;;;5191:30;5257:34;5237:18;;;5230:62;-1:-1:-1;;;5308:18:1;;;5301:36;5354:19;;12233:73:0::1;4977:402:1::0;12233:73:0::1;12343:6;::::0;12322:38:::1;::::0;-1:-1:-1;;;;;12322:38:0;;::::1;::::0;12343:6:::1;::::0;12322:38:::1;::::0;12343:6:::1;::::0;12322:38:::1;12371:6;:17:::0;;-1:-1:-1;;;;;;12371:17:0::1;-1:-1:-1::0;;;;;12371:17:0;;;::::1;::::0;;;::::1;::::0;;12152:244::o;9268:181::-;9326:7;;9358:5;9362:1;9358;:5;:::i;:::-;9346:17;;9387:1;9382;:6;;9374:46;;;;-1:-1:-1;;;9374:46:0;;5848:2:1;9374:46:0;;;5830:21:1;5887:2;5867:18;;;5860:30;5926:29;5906:18;;;5899:57;5973:18;;9374:46:0;5646:351:1;9374:46:0;9440:1;9268:181;-1:-1:-1;;;9268:181:0:o;8603:497::-;-1:-1:-1;;;;;8739:19:0;;8731:68;;;;-1:-1:-1;;;8731:68:0;;6204:2:1;8731:68:0;;;6186:21:1;6243:2;6223:18;;;6216:30;6282:34;6262:18;;;6255:62;-1:-1:-1;;;6333:18:1;;;6326:34;6377:19;;8731:68:0;6002:400:1;8731:68:0;-1:-1:-1;;;;;8818:21:0;;8810:68;;;;-1:-1:-1;;;8810:68:0;;6609:2:1;8810:68:0;;;6591:21:1;6648:2;6628:18;;;6621:30;6687:34;6667:18;;;6660:62;-1:-1:-1;;;6738:18:1;;;6731:32;6780:19;;8810:68:0;6407:398:1;8810:68:0;-1:-1:-1;;;;;8891:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;:36;;;8941:27;;;:20;:27;;;;;;;:32;;8938:106;;-1:-1:-1;;;;;8990:27:0;;;;;;:20;:27;;;;;9020:12;8990:42;;8938:106;9076:7;-1:-1:-1;;;;;9060:32:0;9069:5;-1:-1:-1;;;;;9060:32:0;;9085:6;9060:32;;;;2198:25:1;;2186:2;2171:18;;2052:177;9060:32:0;;;;;;;;8603:497;;;:::o;23564:3865::-;-1:-1:-1;;;;;23696:18:0;;23688:68;;;;-1:-1:-1;;;23688:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23775:16:0;;23767:64;;;;-1:-1:-1;;;23767:64:0;;;;;;;:::i;:::-;23861:1;23852:6;:10;23844:64;;;;-1:-1:-1;;;23844:64:0;;7822:2:1;23844:64:0;;;7804:21:1;7861:2;7841:18;;;7834:30;7900:34;7880:18;;;7873:62;-1:-1:-1;;;7951:18:1;;;7944:39;8000:19;;23844:64:0;7620:405:1;23844:64:0;-1:-1:-1;;;;;24020:26:0;;23919:18;24020:26;;;:20;:26;;;;;;23919:18;;24020:30;;;;:87;;-1:-1:-1;;;;;;24080:23:0;;24106:1;24080:23;;;:17;:23;;;;;;:27;;24020:87;:173;;;;-1:-1:-1;;;;;;24166:23:0;;;;;;:17;:23;;;;;;;;;:27;;;:::i;:::-;-1:-1:-1;;;;;24137:26:0;;;;;;:20;:26;;;;;;:56;24020:173;:209;;;;-1:-1:-1;24223:6:0;;;;;;;24020:209;23977:253;;24255:6;24265:1;24255:11;24252:92;;24283:28;24299:4;24305:2;24309:1;24283:15;:28::i;:::-;24326:7;;23564:3865;;;:::o;24252:92::-;24367:14;;;;;;;24364:1247;;;11272:6;;-1:-1:-1;;;;;24419:15:0;;;11272:6;;24419:15;;;;:49;;-1:-1:-1;11272:6:0;;-1:-1:-1;;;;;24455:13:0;;;11272:6;;24455:13;;24419:49;:86;;;;-1:-1:-1;;;;;;24489:16:0;;;;24419:86;:128;;;;-1:-1:-1;;;;;;24526:21:0;;24540:6;24526:21;;24419:128;:158;;;;-1:-1:-1;24569:8:0;;;;24568:9;24419:158;24397:1203;;;24615:13;;;;;;;24611:148;;-1:-1:-1;;;;;24660:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;24689:23:0;;;;;;:19;:23;;;;;;;;24660:52;24652:87;;;;-1:-1:-1;;;24652:87:0;;8232:2:1;24652:87:0;;;8214:21:1;8271:2;8251:18;;;8244:30;-1:-1:-1;;;8290:18:1;;;8283:52;8352:18;;24652:87:0;8030:346:1;24652:87:0;-1:-1:-1;;;;;24811:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;24847:35:0;;;;;;:31;:35;;;;;;;;24846:36;24811:71;24807:778;;;24929:20;;24919:6;:30;;24911:96;;;;-1:-1:-1;;;24911:96:0;;8583:2:1;24911:96:0;;;8565:21:1;8622:2;8602:18;;;8595:30;8661:34;8641:18;;;8634:62;-1:-1:-1;;;8712:18:1;;;8705:51;8773:19;;24911:96:0;8381:417:1;24911:96:0;25068:9;;-1:-1:-1;;;;;5791:18:0;;5764:7;5791:18;;;:9;:18;;;;;;25042:22;;:6;:22;:::i;:::-;:35;;25034:67;;;;-1:-1:-1;;;25034:67:0;;9005:2:1;25034:67:0;;;8987:21:1;9044:2;9024:18;;;9017:30;-1:-1:-1;;;9063:18:1;;;9056:49;9122:18;;25034:67:0;8803:343:1;25034:67:0;24807:778;;;-1:-1:-1;;;;;25195:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;25229:37:0;;;;;;:31;:37;;;;;;;;25228:38;25195:71;25191:394;;;25313:20;;25303:6;:30;;25295:97;;;;-1:-1:-1;;;25295:97:0;;9353:2:1;25295:97:0;;;9335:21:1;9392:2;9372:18;;;9365:30;9431:34;9411:18;;;9404:62;-1:-1:-1;;;9482:18:1;;;9475:52;9544:19;;25295:97:0;9151:418:1;25191:394:0;-1:-1:-1;;;;;25439:35:0;;;;;;:31;:35;;;;;;;;25435:150;;25532:9;;-1:-1:-1;;;;;5791:18:0;;5764:7;5791:18;;;:9;:18;;;;;;25506:22;;:6;:22;:::i;:::-;:35;;25498:67;;;;-1:-1:-1;;;25498:67:0;;9005:2:1;25498:67:0;;;8987:21:1;9044:2;9024:18;;;9017:30;-1:-1:-1;;;9063:18:1;;;9056:49;9122:18;;25498:67:0;8803:343:1;25498:67:0;25674:4;25625:28;5791:18;;;:9;:18;;;;;;25740;;25716:42;;;;;;;25789:35;;-1:-1:-1;25813:11:0;;;;;;;25789:35;:61;;;;-1:-1:-1;25842:8:0;;;;25841:9;25789:61;:110;;;;-1:-1:-1;;;;;;25868:31:0;;;;;;:25;:31;;;;;;;;25867:32;25789:110;:153;;;;-1:-1:-1;;;;;;25917:25:0;;;;;;:19;:25;;;;;;;;25916:26;25789:153;:194;;;;-1:-1:-1;;;;;;25960:23:0;;;;;;:19;:23;;;;;;;;25959:24;25789:194;25771:338;;;26010:8;:15;;-1:-1:-1;;26010:15:0;26021:4;26010:15;;;26054:10;:8;:10::i;:::-;26081:8;:16;;-1:-1:-1;;26081:16:0;;;25771:338;26153:8;;-1:-1:-1;;;;;26177:25:0;;26129:20;26177:25;;;:19;:25;;;;;;26153:8;;;;26152:9;;26177:25;;:52;;-1:-1:-1;;;;;;26206:23:0;;;;;;:19;:23;;;;;;;;26177:52;26174:107;;;-1:-1:-1;26264:5:0;26174:107;26301:13;26332:15;26329:1047;;;-1:-1:-1;;;;;26367:29:0;;;;;;:25;:29;;;;;;;;26363:843;;;26429:1;26416:14;;26456:13;26453:82;;;26510:1;26497:14;;26453:82;26563:30;26590:2;26563:22;:6;26574:10;26563;:22::i;:::-;:26;;:30::i;:::-;26555:38;;26363:843;;;-1:-1:-1;;;;;26633:31:0;;;;;;:25;:31;;;;;;;;26632:32;:66;;;;-1:-1:-1;;;;;;26669:29:0;;;;;;:25;:29;;;;;;;;26668:30;26632:66;26628:578;;;26732:1;26719:14;;26759:13;26756:82;;;26813:1;26800:14;;26886:30;26913:2;26886:22;:6;26897:10;26886;:22::i;26628:578::-;-1:-1:-1;;;;;26956:31:0;;;;;;:25;:31;;;;;;;;26953:253;;;-1:-1:-1;;;;;;27037:21:0;;27013:1;27037:21;;;:17;:21;;;;;;:26;:70;;;;-1:-1:-1;27085:10:0;;:22;;27098:9;27085:22;:::i;:::-;27067:15;:40;27037:70;27033:158;;;-1:-1:-1;;;;;27135:21:0;;;;;;:17;:21;;;;;27159:12;27135:36;;27033:158;27237:9;;27234:93;;27266:43;27282:4;27296;27303:5;27266:15;:43::i;:::-;27349:15;27359:5;27349:15;;:::i;:::-;;;26329:1047;27388:33;27404:4;27410:2;27414:6;27388:15;:33::i;:::-;23677:3752;;;;;;23564:3865;;;:::o;9601:192::-;9687:7;9723:12;9715:6;;;;9707:29;;;;-1:-1:-1;;;9707:29:0;;;;;;;;:::i;:::-;-1:-1:-1;9747:9:0;9759:5;9763:1;9759;:5;:::i;:::-;9747:17;9601:192;-1:-1:-1;;;;;9601:192:0:o;23231:188::-;-1:-1:-1;;;;;23314:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;23314:39:0;;;;;;;;;;23371:40;;23314:39;;:31;23371:40;;;23231:188;;:::o;7210:573::-;-1:-1:-1;;;;;7350:20:0;;7342:70;;;;-1:-1:-1;;;7342:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7431:23:0;;7423:71;;;;-1:-1:-1;;;7423:71:0;;;;;;;:::i;:::-;7587;7609:6;7587:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7587:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7567:17:0;;;;;;;:9;:17;;;;;;:91;;;;7692:20;;;;;;;:32;;7717:6;7692:24;:32::i;:::-;-1:-1:-1;;;;;7669:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7740:35;;;;;;;;;;7768:6;2198:25:1;;2186:2;2171:18;;2052:177;28046:497:0;28129:4;28085:23;5791:18;;;:9;:18;;;;;;;28182:20;;;28179:34;;28205:7;;28046:497::o;28179:34::-;28246:18;;:23;;28267:2;28246:23;:::i;:::-;28228:15;:41;28225:111;;;28301:18;;:23;;28322:2;28301:23;:::i;:::-;28283:41;;28225:111;28385:15;28413:36;28385:15;28413:16;:36::i;:::-;28492:3;;28484:51;;-1:-1:-1;;;;;28492:3:0;;;;28509:21;;28484:51;;;;28509:21;28492:3;28484:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;28046:497:0:o;9801:250::-;9859:7;9883:1;9888;9883:6;9879:47;;-1:-1:-1;9913:1:0;9906:8;;9879:47;9938:9;9950:5;9954:1;9950;:5;:::i;:::-;9938:17;-1:-1:-1;9983:1:0;9974:5;9978:1;9938:17;9974:5;:::i;:::-;:10;9966:56;;;;-1:-1:-1;;;9966:56:0;;10514:2:1;9966:56:0;;;10496:21:1;10553:2;10533:18;;;10526:30;10592:34;10572:18;;;10565:62;-1:-1:-1;;;10643:18:1;;;10636:31;10684:19;;9966:56:0;10312:397:1;10059:132:0;10117:7;10144:39;10148:1;10151;10144:39;;;;;;;;;;;;;;;;;:3;:39::i;27437:601::-;27589:16;;;27603:1;27589:16;;;;;;;;27565:21;;27589:16;;;;;;;;;;-1:-1:-1;27589:16:0;27565:40;;27634:4;27616;27621:1;27616:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;27616:23:0;;;-1:-1:-1;;;;;27616:23:0;;;;;27660:15;-1:-1:-1;;;;;27660:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27650:4;27655:1;27650:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;27650:32:0;;;-1:-1:-1;;;;;27650:32:0;;;;;27695:62;27712:4;27727:15;27745:11;27695:8;:62::i;:::-;27796:224;;-1:-1:-1;;;27796:224:0;;-1:-1:-1;;;;;27796:15:0;:66;;;;:224;;27877:11;;27903:1;;27947:4;;27974;;27994:15;;27796:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10199:189;10285:7;10320:12;10313:5;10305:28;;;;-1:-1:-1;;;10305:28:0;;;;;;;;:::i;:::-;-1:-1:-1;10344:9:0;10356:5;10360:1;10356;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1702:160::-;1767:20;;1823:13;;1816:21;1806:32;;1796:60;;1852:1;1849;1842:12;1796:60;1702:160;;;:::o;1867:180::-;1923:6;1976:2;1964:9;1955:7;1951:23;1947:32;1944:52;;;1992:1;1989;1982:12;1944:52;2015:26;2031:9;2015:26;:::i;2234:456::-;2311:6;2319;2327;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2435:9;2422:23;2454:31;2479:5;2454:31;:::i;:::-;2504:5;-1:-1:-1;2561:2:1;2546:18;;2533:32;2574:33;2533:32;2574:33;:::i;:::-;2234:456;;2626:7;;-1:-1:-1;;;2680:2:1;2665:18;;;;2652:32;;2234:456::o;3092:315::-;3157:6;3165;3218:2;3206:9;3197:7;3193:23;3189:32;3186:52;;;3234:1;3231;3224:12;3186:52;3273:9;3260:23;3292:31;3317:5;3292:31;:::i;:::-;3342:5;-1:-1:-1;3366:35:1;3397:2;3382:18;;3366:35;:::i;:::-;3356:45;;3092:315;;;;;:::o;3412:388::-;3480:6;3488;3541:2;3529:9;3520:7;3516:23;3512:32;3509:52;;;3557:1;3554;3547:12;3509:52;3596:9;3583:23;3615:31;3640:5;3615:31;:::i;:::-;3665:5;-1:-1:-1;3722:2:1;3707:18;;3694:32;3735:33;3694:32;3735:33;:::i;:::-;3787:7;3777:17;;;3412:388;;;;;:::o;3805:380::-;3884:1;3880:12;;;;3927;;;3948:61;;4002:4;3994:6;3990:17;3980:27;;3948:61;4055:2;4047:6;4044:14;4024:18;4021:38;4018:161;;4101:10;4096:3;4092:20;4089:1;4082:31;4136:4;4133:1;4126:15;4164:4;4161:1;4154:15;4018:161;;3805:380;;;:::o;4190:356::-;4392:2;4374:21;;;4411:18;;;4404:30;4470:34;4465:2;4450:18;;4443:62;4537:2;4522:18;;4190:356::o;5384:127::-;5445:10;5440:3;5436:20;5433:1;5426:31;5476:4;5473:1;5466:15;5500:4;5497:1;5490:15;5516:125;5581:9;;;5602:10;;;5599:36;;;5615:18;;:::i;6810:401::-;7012:2;6994:21;;;7051:2;7031:18;;;7024:30;7090:34;7085:2;7070:18;;7063:62;-1:-1:-1;;;7156:2:1;7141:18;;7134:35;7201:3;7186:19;;6810:401::o;7216:399::-;7418:2;7400:21;;;7457:2;7437:18;;;7430:30;7496:34;7491:2;7476:18;;7469:62;-1:-1:-1;;;7562:2:1;7547:18;;7540:33;7605:3;7590:19;;7216:399::o;9574:128::-;9641:9;;;9662:11;;;9659:37;;;9676:18;;:::i;9707:168::-;9780:9;;;9811;;9828:15;;;9822:22;;9808:37;9798:71;;9849:18;;:::i;10090:217::-;10130:1;10156;10146:132;;10200:10;10195:3;10191:20;10188:1;10181:31;10235:4;10232:1;10225:15;10263:4;10260:1;10253:15;10146:132;-1:-1:-1;10292:9:1;;10090:217::o;10846:127::-;10907:10;10902:3;10898:20;10895:1;10888:31;10938:4;10935:1;10928:15;10962:4;10959:1;10952:15;10978:251;11048:6;11101:2;11089:9;11080:7;11076:23;11072:32;11069:52;;;11117:1;11114;11107:12;11069:52;11149:9;11143:16;11168:31;11193:5;11168:31;:::i;11234:980::-;11496:4;11544:3;11533:9;11529:19;11575:6;11564:9;11557:25;11601:2;11639:6;11634:2;11623:9;11619:18;11612:34;11682:3;11677:2;11666:9;11662:18;11655:31;11706:6;11741;11735:13;11772:6;11764;11757:22;11810:3;11799:9;11795:19;11788:26;;11849:2;11841:6;11837:15;11823:29;;11870:1;11880:195;11894:6;11891:1;11888:13;11880:195;;;11959:13;;-1:-1:-1;;;;;11955:39:1;11943:52;;12050:15;;;;12015:12;;;;11991:1;11909:9;11880:195;;;-1:-1:-1;;;;;;;12131:32:1;;;;12126:2;12111:18;;12104:60;-1:-1:-1;;;12195:3:1;12180:19;12173:35;12092:3;11234:980;-1:-1:-1;;;11234:980:1:o
Swarm Source
ipfs://b6fd55c138109956ce498136497c11597f2a6ae436b04cc6f708dc2226aa2f4d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.