ERC-20
Overview
Max Total Supply
10,000,000 DADDY
Holders
309
Market
Price
$0.00 @ 0.000000 FTM
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
117,381.035311838 DADDYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
DaddyAI
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2023-01-13 */ /** DaddyAI is more than just a telegram bot that replies to all your questions, even the ones that you can’t ask your dad. Website - https://t.me/DaddyAIFantom Twitter - https://twitter.com/DaddyAIFantom */ // SPDX-License-Identifier:MIT pragma solidity ^0.8.10; 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 ); } // Dex Factory contract interface interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } // Dex Router contract interface interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = payable(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract DaddyAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludedFromFee; mapping(address => bool) public isExcludedFromMaxTxn; mapping(address => bool) public isExcludedFromMaxHolding; mapping(address => bool) public isBot; string private _name = "DaddyAI"; string private _symbol = "DADDY"; uint8 private _decimals = 9; uint256 private _totalSupply = 10_000_000 * 1e9; address private constant DEAD = address(0xdead); address private constant ZERO = address(0); IDexRouter public dexRouter; address public dexPair; address public marketingWallet; address public StakingPoolWallet; address public liquidityReceiverWallet; uint256 public minTokenToSwap = _totalSupply.div(1e5); // this amount will trigger swap and distribute uint256 public maxHoldLimit = _totalSupply.mul(30).div(1000); // this is the max wallet holding limit uint256 public maxTxnLimit = _totalSupply.mul(15).div(1000); // this is the max transaction limit uint256 public percentDivider = 1000; uint256 public snipingTime = 30 seconds; uint256 public launchedAt; bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool bool public feesStatus = true; // enable by default bool public trading; // once enable can't be disable afterwards uint256 public liquidityFeeOnBuying = 20; // 2% will be added to the liquidity uint256 public marketingFeeOnBuying = 30; // 3% will be added to the marketing address uint256 public StakingPoolFeeOnBuying = 20; // 2% will be added to the StakingPool address uint256 public liquidityFeeOnSelling = 20; // 2% will be added to the liquidity uint256 public marketingFeeOnSelling = 30; // 3% will be added to the marketing address uint256 public StakingPoolFeeOnSelling = 20; // 2% will be added to the StakingPool address uint256 liquidityFeeCounter = 0; uint256 marketingFeeCounter = 0; uint256 StakingPoolFeeCounter = 0; event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); constructor() { _balances[owner()] = _totalSupply; liquidityReceiverWallet = msg.sender; marketingWallet = address(0x67Ce21CFe1bcB7B5376Fe5c08087508390Ab96B4); StakingPoolWallet = address(0xaEDcA78B8A0256120924f4c84884E70FE23c6061); IDexRouter _dexRouter = IDexRouter( 0xF491e7B69E4244ad4002BC14e878a34207E38c29 ); // Create a dex pair for this new ERC20 address _dexPair = IDexFactory(_dexRouter.factory()).createPair( address(this), _dexRouter.WETH() ); dexPair = _dexPair; // set the rest of the contract variables dexRouter = _dexRouter; //exclude owner and this contract from fee isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; //exclude owner and this contract from max Txn isExcludedFromMaxTxn[owner()] = true; isExcludedFromMaxTxn[address(this)] = true; //exclude owner and this contract from max hold limit isExcludedFromMaxHolding[owner()] = true; isExcludedFromMaxHolding[address(this)] = true; isExcludedFromMaxHolding[dexPair] = true; isExcludedFromMaxHolding[marketingWallet] = true; isExcludedFromMaxHolding[StakingPoolWallet] = true; emit Transfer(address(0), owner(), _totalSupply); } //to receive ETH from dexRouter when swapping receive() external payable {} function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "DADDY: 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, "DADDY: decreased allowance or below zero" ) ); return true; } function includeOrExcludeFromFee(address account, bool value) external onlyOwner { isExcludedFromFee[account] = value; } function includeOrExcludeFromMaxTxn(address account, bool value) external onlyOwner { isExcludedFromMaxTxn[account] = value; } function includeOrExcludeFromMaxHolding(address account, bool value) external onlyOwner { isExcludedFromMaxHolding[account] = value; } function removeBots(address account) external onlyOwner { isBot[account] = false; } function setMinTokenToSwap(uint256 _amount) external onlyOwner { require(_amount > 0,"DADDY: can't be 0"); minTokenToSwap = _amount; } function setMaxHoldLimit(uint256 _amount) external onlyOwner { require(_amount >= _totalSupply.mul(5).div(percentDivider), "DADDY: should be greater than 0.5%"); maxHoldLimit = _amount; } function setMaxTxnLimit(uint256 _amount) external onlyOwner { require(_amount >= _totalSupply/percentDivider, "DADDY: should be greater than 0.1%"); maxTxnLimit = _amount; } function setBuyFeePercent(uint256 _lwFee, uint256 _marketingFee, uint256 _StakingPoolFee) external onlyOwner { marketingFeeOnBuying = _lwFee; StakingPoolFeeOnBuying = _StakingPoolFee; liquidityFeeOnBuying = _marketingFee; require( _lwFee.add(_marketingFee).add(_StakingPoolFee) <= percentDivider.div(10), "DADDY: can't be more than 10%" ); } function setSellFeePercent(uint256 _lwFee, uint256 _marketingFee, uint256 _StakingPoolFee) external onlyOwner { marketingFeeOnSelling = _lwFee; StakingPoolFeeOnSelling = _StakingPoolFee; liquidityFeeOnSelling = _marketingFee; require( _lwFee.add(_marketingFee).add(_StakingPoolFee) <= percentDivider.div(10), "DADDY: can't be more than 10%" ); } function setDistributionStatus(bool _value) public onlyOwner { distributeAndLiquifyStatus = _value; } function enableOrDisableFees(bool _value) external onlyOwner { feesStatus = _value; } function removeStuckEth(address _receiver) public onlyOwner { payable(_receiver).transfer(address(this).balance); } function updateAddresses(address _marketingWallet, address _StakingPoolWallet, address _liquidityReceiverWallet) external onlyOwner { marketingWallet = _marketingWallet; StakingPoolWallet = _StakingPoolWallet; liquidityReceiverWallet = _liquidityReceiverWallet; } function enableTrading() external onlyOwner { require(!trading, "DADDY: already enabled"); trading = true; feesStatus = true; distributeAndLiquifyStatus = true; launchedAt = block.timestamp; } function totalBuyFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = amount.mul(marketingFeeOnBuying.add(liquidityFeeOnBuying).add(StakingPoolFeeOnBuying)).div( percentDivider ); return fee; } function totalSellFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = amount .mul(marketingFeeOnSelling.add(liquidityFeeOnSelling).add(StakingPoolFeeOnSelling)) .div(percentDivider); return fee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "DADDY: approve from the zero address"); require(spender != address(0), "DADDY: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "DADDY: transfer from the zero address"); require(to != address(0), "DADDY: transfer to the zero address"); require(amount > 0, "DADDY: Amount must be greater than zero"); require(!isBot[from], "DADDY: Bot detected"); if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) { require(amount <= maxTxnLimit, "DADDY: max txn limit exceeds"); // trading disable till launch if (!trading) { require( dexPair != from && dexPair != to, "DADDY: trading is disable" ); } // antibot if ( block.timestamp < launchedAt + snipingTime && from != address(dexRouter) ) { if (dexPair == from) { isBot[to] = true; } else if (dexPair == to) { isBot[from] = true; } } } if (!isExcludedFromMaxHolding[to]) { require( balanceOf(to).add(amount) <= maxHoldLimit, "DADDY: max hold limit exceeds" ); } // swap and liquify distributeAndLiquify(from, to); //indicates if fee should be deducted from transfer bool takeFee = true; //if any account belongs to isExcludedFromFee account then remove the fee if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) { takeFee = false; } //transfer amount, it will take tax, burn, liquidity fee _tokenTransfer(from, to, amount, takeFee); } //this method is responsible for taking all fee, if takeFee is true function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (dexPair == sender && takeFee) { uint256 allFee = totalBuyFeePerTx(amount); uint256 tTransferAmount = amount.sub(allFee); _balances[sender] = _balances[sender].sub(amount,"DADDY: insufficient balance"); _balances[recipient] = _balances[recipient].add(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); setFeeCountersOnBuying(amount); } else if (dexPair == recipient && takeFee) { uint256 allFee = totalSellFeePerTx(amount); uint256 tTransferAmount = amount.sub(allFee); _balances[sender] = _balances[sender].sub(amount,"DADDY: insufficient balance"); _balances[recipient] = _balances[recipient].add(tTransferAmount); emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); setFeeCountersOnSelling(amount); } else { _balances[sender] = _balances[sender].sub(amount,"DADDY: insufficient balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } } function takeTokenFee(address sender, uint256 amount) private { _balances[address(this)] = _balances[address(this)].add(amount); emit Transfer(sender, address(this), amount); } function setFeeCountersOnBuying(uint256 amount) private { liquidityFeeCounter += amount.mul(liquidityFeeOnBuying).div( percentDivider ); marketingFeeCounter += amount.mul(marketingFeeOnBuying).div(percentDivider); StakingPoolFeeCounter += amount.mul(StakingPoolFeeOnBuying).div(percentDivider); } function setFeeCountersOnSelling(uint256 amount) private { liquidityFeeCounter += amount.mul(liquidityFeeOnSelling).div( percentDivider ); marketingFeeCounter += amount.mul(marketingFeeOnSelling).div(percentDivider); StakingPoolFeeCounter += amount.mul(StakingPoolFeeOnSelling).div(percentDivider); } function distributeAndLiquify(address from, address to) private { // is the token balance of this contract address over the min number of // tokens that we need to initiate a swap + liquidity lock? // also, don't get caught in a circular liquidity event. // also, don't swap & liquify if sender is Dex pair. uint256 contractTokenBalance = balanceOf(address(this)); bool shouldSell = contractTokenBalance >= minTokenToSwap; if ( shouldSell && from != dexPair && distributeAndLiquifyStatus && !(from == address(this) && to == address(dexPair)) // swap 1 time ) { // approve contract _approve(address(this), address(dexRouter), contractTokenBalance); uint256 halfLiquidity = liquidityFeeCounter.div(2); uint256 otherHalfLiquidity = liquidityFeeCounter.sub(halfLiquidity); uint256 tokenAmountToBeSwapped = contractTokenBalance.sub( otherHalfLiquidity ); uint256 balanceBefore = address(this).balance; // now is to lock into liquidty pool Utils.swapTokensForEth(address(dexRouter), tokenAmountToBeSwapped); uint256 deltaBalance = address(this).balance.sub(balanceBefore); uint256 ethToBeAddedToLiquidity = deltaBalance .mul(halfLiquidity) .div(tokenAmountToBeSwapped); uint256 ethFormarketing = deltaBalance.mul(marketingFeeCounter).div( tokenAmountToBeSwapped ); uint256 ethForStakingPool = deltaBalance.sub(ethToBeAddedToLiquidity).sub( ethFormarketing ); // add liquidity to Dex if (ethToBeAddedToLiquidity > 0) { Utils.addLiquidity( address(dexRouter), liquidityReceiverWallet, otherHalfLiquidity, ethToBeAddedToLiquidity ); emit SwapAndLiquify( halfLiquidity, ethToBeAddedToLiquidity, otherHalfLiquidity ); } // sending eth to marketing wallet if (ethFormarketing > 0) payable(marketingWallet).transfer(ethFormarketing); // sending eth to development wallet if (ethForStakingPool > 0) payable(StakingPoolWallet).transfer(ethForStakingPool); // Reset all fee counters liquidityFeeCounter = 0; marketingFeeCounter = 0; StakingPoolFeeCounter = 0; } } } // Library for doing a swap on Dex library Utils { using SafeMath for uint256; function swapTokensForEth(address routerAddress, uint256 tokenAmount) internal { IDexRouter dexRouter = IDexRouter(routerAddress); // generate the Dex pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp + 300 ); } function addLiquidity( address routerAddress, address owner, uint256 tokenAmount, uint256 ethAmount ) internal { IDexRouter dexRouter = IDexRouter(routerAddress); // add the liquidity dexRouter.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner, block.timestamp + 300 ); } } 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) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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 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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"StakingPoolFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StakingPoolFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StakingPoolWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","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":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiverWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lwFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_StakingPoolFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lwFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_StakingPoolFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","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":"trading","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":[{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_StakingPoolWallet","type":"address"},{"internalType":"address","name":"_liquidityReceiverWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405260076080819052664461646479414960c81b60a0908152620000289190816200066b565b5060408051808201909152600580825264444144445960d81b602090920191825262000057916008916200066b565b506009805460ff191681179055662386f26fc10000600a8190556200008c90620186a062000551602090811b6200136517901c565b601055620000c76103e8620000b3601e600a54620005a460201b620013a71790919060201c565b6200055160201b620013651790919060201c565b601155620000ee6103e8620000b3600f600a54620005a460201b620013a71790919060201c565b6012556103e8601355601e60148181556016805461ff001916610100179055601781905560188290556019819055601a819055601b829055601c556000601d81905590819055601f553480156200014457600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a54600160006200019e6000546001600160a01b031690565b6001600160a01b031681526020808201929092526040908101600090812093909355600f80546001600160a01b03199081163317909155600d805482167367ce21cfe1bcb7b5376fe5c08087508390ab96b4179055600e805490911673aedca78b8a0256120924f4c84884e70fe23c6061179055805163c45a015560e01b8152905173f491e7b69e4244ad4002bc14e878a34207e38c299392849263c45a015592600480830193928290030181865afa15801562000260573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000286919062000711565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fa919062000711565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000348573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036e919062000711565b600c80546001600160a01b038084166001600160a01b031992831617909255600b8054928616929091169190911790559050600160036000620003b96000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526003909252812080549092166001908117909255600490620004126000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260049092528120805490921660019081179092556005906200046b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d54821684528284208054861682179055600e54909116835291208054909216179055620004f96000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200054191815260200190565b60405180910390a3505062000822565b60006200059b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200062f60201b60201c565b90505b92915050565b600082620005b5575060006200059e565b6000620005c383856200073c565b905082620005d285836200076a565b146200059b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b60008183620006535760405162461bcd60e51b81526004016200062691906200078d565b5060006200066284866200076a565b95945050505050565b8280546200067990620007e5565b90600052602060002090601f0160209004810192826200069d5760008555620006e8565b82601f10620006b857805160ff1916838001178555620006e8565b82800160010185558215620006e8579182015b82811115620006e8578251825591602001919060010190620006cb565b50620006f6929150620006fa565b5090565b5b80821115620006f65760008155600101620006fb565b6000602082840312156200072457600080fd5b81516001600160a01b03811681146200059b57600080fd5b60008160001904831182151516156200076557634e487b7160e01b600052601160045260246000fd5b500290565b6000826200078857634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015620007bc578581018301518582016040015282016200079e565b81811115620007cf576000604083870101525b50601f01601f1916929092016040019392505050565b600181811c90821680620007fa57607f821691505b602082108114156200081c57634e487b7160e01b600052602260045260246000fd5b50919050565b61283580620008326000396000f3fe6080604052600436106103395760003560e01c8063879dd3c5116101ab578063be19674b116100f7578063ec44acf211610095578063f242ab411161006f578063f242ab411461099f578063f2fde38b146109bf578063f4b3dbc3146109df578063fe6f1b05146109ff57600080fd5b8063ec44acf21461093f578063ed4214291461095f578063f097ea1a1461097f57600080fd5b8063dd62ed3e116100d1578063dd62ed3e146108a3578063e41f9efe146108e9578063e6c84dc614610909578063ea5b9e851461091f57600080fd5b8063be19674b14610857578063bf56b37114610877578063cc87c0321461088d57600080fd5b80639a36dfa111610164578063a7c29b401161013e578063a7c29b40146107d7578063a9059cbb146107f7578063b0a30f6a14610817578063b0bc2a2d1461083757600080fd5b80639a36dfa1146107815780639b6a275014610797578063a457c2d7146107b757600080fd5b8063879dd3c5146106d45780638a8c523c146106f35780638da5cb5b1461070857806395d89b4114610726578063979ac9361461073b57806399b102b51461075157600080fd5b80633bbac5791161028557806375f0a874116102235780637d99c66d116101fd5780637d99c66d14610658578063844af78e1461066e57806384ea21bc146106845780638756aabd146106b457600080fd5b806375f0a8741461060857806379777b4e146106285780637c6a9a9c1461064257600080fd5b8063679a3c591161025f578063679a3c5914610587578063681aa362146105a757806370a08231146105bd578063715018a6146105f357600080fd5b80633bbac579146105075780634def082c146105375780635342acb41461055757600080fd5b80631884f1e6116102f2578063313ce567116102cc578063313ce5671461048f5780633326d7f2146104b1578063334c1439146104c757806339509351146104e757600080fd5b80631884f1e61461043957806323b872dd1461044f5780632d1293901461046f57600080fd5b806306fdde03146103455780630758d92414610370578063095ea7b3146103a85780630a2d140c146103d8578063151cd1c2146103fa57806318160ddd1461041a57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a15565b60405161036791906123a2565b60405180910390f35b34801561037c57600080fd5b50600b54610390906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103b457600080fd5b506103c86103c336600461240f565b610aa7565b6040519015158152602001610367565b3480156103e457600080fd5b506103f86103f3366004612450565b610abe565b005b34801561040657600080fd5b506103f861041536600461246b565b610b04565b34801561042657600080fd5b50600a545b604051908152602001610367565b34801561044557600080fd5b5061042b60105481565b34801561045b57600080fd5b506103c861046a366004612497565b610bb2565b34801561047b57600080fd5b506103f861048a3660046124d8565b610c1b565b34801561049b57600080fd5b5060095460405160ff9091168152602001610367565b3480156104bd57600080fd5b5061042b60175481565b3480156104d357600080fd5b506103f86104e236600461250d565b610c70565b3480156104f357600080fd5b506103c861050236600461240f565b610cd9565b34801561051357600080fd5b506103c8610522366004612558565b60066020526000908152604090205460ff1681565b34801561054357600080fd5b50600e54610390906001600160a01b031681565b34801561056357600080fd5b506103c8610572366004612558565b60036020526000908152604090205460ff1681565b34801561059357600080fd5b506103f86105a2366004612558565b610d0f565b3480156105b357600080fd5b5061042b60125481565b3480156105c957600080fd5b5061042b6105d8366004612558565b6001600160a01b031660009081526001602052604090205490565b3480156105ff57600080fd5b506103f8610d72565b34801561061457600080fd5b50600d54610390906001600160a01b031681565b34801561063457600080fd5b506016546103c89060ff1681565b34801561064e57600080fd5b5061042b60185481565b34801561066457600080fd5b5061042b60145481565b34801561067a57600080fd5b5061042b601b5481565b34801561069057600080fd5b506103c861069f366004612558565b60056020526000908152604090205460ff1681565b3480156106c057600080fd5b506103f86106cf366004612575565b610de6565b3480156106e057600080fd5b506016546103c890610100900460ff1681565b3480156106ff57600080fd5b506103f8610e91565b34801561071457600080fd5b506000546001600160a01b0316610390565b34801561073257600080fd5b5061035a610f24565b34801561074757600080fd5b5061042b60195481565b34801561075d57600080fd5b506103c861076c366004612558565b60046020526000908152604090205460ff1681565b34801561078d57600080fd5b5061042b60115481565b3480156107a357600080fd5b506103f86107b2366004612575565b610f33565b3480156107c357600080fd5b506103c86107d236600461240f565b610fcc565b3480156107e357600080fd5b506103f86107f23660046124d8565b61101b565b34801561080357600080fd5b506103c861081236600461240f565b611070565b34801561082357600080fd5b50600f54610390906001600160a01b031681565b34801561084357600080fd5b506103f8610852366004612450565b61107d565b34801561086357600080fd5b506103f861087236600461246b565b6110c1565b34801561088357600080fd5b5061042b60155481565b34801561089957600080fd5b5061042b601c5481565b3480156108af57600080fd5b5061042b6108be36600461258e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156108f557600080fd5b506103f8610904366004612558565b611108565b34801561091557600080fd5b5061042b601a5481565b34801561092b57600080fd5b506103f861093a3660046124d8565b611153565b34801561094b57600080fd5b506016546103c89062010000900460ff1681565b34801561096b57600080fd5b5061042b61097a366004612575565b6111a8565b34801561098b57600080fd5b506103f861099a366004612575565b6111df565b3480156109ab57600080fd5b50600c54610390906001600160a01b031681565b3480156109cb57600080fd5b506103f86109da366004612558565b611252565b3480156109eb57600080fd5b5061042b6109fa366004612575565b61133c565b348015610a0b57600080fd5b5061042b60135481565b606060078054610a24906125c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a50906125c7565b8015610a9d5780601f10610a7257610100808354040283529160200191610a9d565b820191906000526020600020905b815481529060010190602001808311610a8057829003601f168201915b5050505050905090565b6000610ab4338484611426565b5060015b92915050565b6000546001600160a01b03163314610af15760405162461bcd60e51b8152600401610ae890612602565b60405180910390fd5b6016805460ff1916911515919091179055565b6000546001600160a01b03163314610b2e5760405162461bcd60e51b8152600401610ae890612602565b601b839055601c819055601a829055601354610b4b90600a611365565b610b5f82610b59868661154a565b9061154a565b1115610bad5760405162461bcd60e51b815260206004820152601d60248201527f44414444593a2063616e2774206265206d6f7265207468616e203130250000006044820152606401610ae8565b505050565b6000610bbf8484846115a9565b610c118433610c0c856040518060600160405280602881526020016127d8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611a06565b611426565b5060019392505050565b6000546001600160a01b03163314610c455760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c9a5760405162461bcd60e51b8152600401610ae890612602565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610ab4918590610c0c908661154a565b6000546001600160a01b03163314610d395760405162461bcd60e51b8152600401610ae890612602565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610d6e573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b8152600401610ae890612602565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e105760405162461bcd60e51b8152600401610ae890612602565b610e32601354610e2c6005600a546113a790919063ffffffff16565b90611365565b811015610e8c5760405162461bcd60e51b815260206004820152602260248201527f44414444593a2073686f756c642062652067726561746572207468616e20302e604482015261352560f01b6064820152608401610ae8565b601155565b6000546001600160a01b03163314610ebb5760405162461bcd60e51b8152600401610ae890612602565b60165462010000900460ff1615610f0d5760405162461bcd60e51b815260206004820152601660248201527511105111164e88185b1c9958591e48195b98589b195960521b6044820152606401610ae8565b6016805462ffffff19166201010117905542601555565b606060088054610a24906125c7565b6000546001600160a01b03163314610f5d5760405162461bcd60e51b8152600401610ae890612602565b601354600a54610f6d919061264d565b811015610fc75760405162461bcd60e51b815260206004820152602260248201527f44414444593a2073686f756c642062652067726561746572207468616e20302e604482015261312560f01b6064820152608401610ae8565b601255565b6000610ab43384610c0c85604051806060016040528060288152602001612790602891393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611a06565b6000546001600160a01b031633146110455760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000610ab43384846115a9565b6000546001600160a01b031633146110a75760405162461bcd60e51b8152600401610ae890612602565b601680549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146110eb5760405162461bcd60e51b8152600401610ae890612602565b601883905560198190556017829055601354610b4b90600a611365565b6000546001600160a01b031633146111325760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000806111d8601354610e2c6111d1601954610b5960175460185461154a90919063ffffffff16565b86906113a7565b9392505050565b6000546001600160a01b031633146112095760405162461bcd60e51b8152600401610ae890612602565b6000811161124d5760405162461bcd60e51b8152602060048201526011602482015270044414444593a2063616e2774206265203607c1b6044820152606401610ae8565b601055565b6000546001600160a01b0316331461127c5760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b0381166112e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111d8601354610e2c6111d1601c54610b59601a54601b5461154a90919063ffffffff16565b60006111d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a40565b6000826113b657506000610ab8565b60006113c2838561266f565b9050826113cf858361264d565b146111d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ae8565b6001600160a01b0383166114885760405162461bcd60e51b8152602060048201526024808201527f44414444593a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae8565b6001600160a01b0382166114e95760405162461bcd60e51b815260206004820152602260248201527f44414444593a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080611557838561268e565b9050838110156111d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ae8565b6001600160a01b03831661160d5760405162461bcd60e51b815260206004820152602560248201527f44414444593a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ae8565b6001600160a01b03821661166f5760405162461bcd60e51b815260206004820152602360248201527f44414444593a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ae8565b600081116116cf5760405162461bcd60e51b815260206004820152602760248201527f44414444593a20416d6f756e74206d7573742062652067726561746572207468604482015266616e207a65726f60c81b6064820152608401610ae8565b6001600160a01b03831660009081526006602052604090205460ff161561172e5760405162461bcd60e51b815260206004820152601360248201527211105111164e88109bdd0819195d1958dd1959606a1b6044820152606401610ae8565b6001600160a01b03831660009081526004602052604090205460ff1615801561177057506001600160a01b03821660009081526004602052604090205460ff16155b156118f8576012548111156117c75760405162461bcd60e51b815260206004820152601c60248201527f44414444593a206d61782074786e206c696d69742065786365656473000000006044820152606401610ae8565b60165462010000900460ff1661184f57600c546001600160a01b038481169116148015906118035750600c546001600160a01b03838116911614155b61184f5760405162461bcd60e51b815260206004820152601960248201527f44414444593a2074726164696e672069732064697361626c65000000000000006044820152606401610ae8565b60145460155461185f919061268e565b4210801561187b5750600b546001600160a01b03848116911614155b156118f857600c546001600160a01b03848116911614156118be576001600160a01b0382166000908152600660205260409020805460ff191660011790556118f8565b600c546001600160a01b03838116911614156118f8576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6001600160a01b03821660009081526005602052604090205460ff1661198c5760115461193e82610b59856001600160a01b031660009081526001602052604090205490565b111561198c5760405162461bcd60e51b815260206004820152601d60248201527f44414444593a206d617820686f6c64206c696d697420657863656564730000006044820152606401610ae8565b6119968383611a6e565b6001600160a01b03831660009081526003602052604090205460019060ff16806119d857506001600160a01b03831660009081526003602052604090205460ff165b806119eb5750601654610100900460ff16155b156119f4575060005b611a0084848484611ca8565b50505050565b60008184841115611a2a5760405162461bcd60e51b8152600401610ae891906123a2565b506000611a3784866126a6565b95945050505050565b60008183611a615760405162461bcd60e51b8152600401610ae891906123a2565b506000611a37848661264d565b3060009081526001602052604090205460105481108015908190611aa05750600c546001600160a01b03858116911614155b8015611aae575060165460ff165b8015611adc57506001600160a01b03841630148015611ada5750600c546001600160a01b038481169116145b155b15611a0057600b54611af99030906001600160a01b031684611426565b601d54600090611b0a906002611365565b90506000611b2382601d54611ff390919063ffffffff16565b90506000611b318583611ff3565b600b549091504790611b4c906001600160a01b031683612035565b6000611b584783611ff3565b90506000611b6a84610e2c84896113a7565b90506000611b8785610e2c601e54866113a790919063ffffffff16565b90506000611b9f82611b998686611ff3565b90611ff3565b90508215611c0757600b54600f54611bc5916001600160a01b0390811691168986612189565b60408051898152602081018590529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b8115611c4957600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611c47573d6000803e3d6000fd5b505b8015611c8b57600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611c89573d6000803e3d6000fd5b505b50506000601d819055601e819055601f5550505050505050505050565b600c546001600160a01b038581169116148015611cc25750805b15611de4576000611cd2836111a8565b90506000611ce08483611ff3565b9050611d51846040518060400160405280601b81526020017f44414444593a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b0316815260200190815260200160002054611a069092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611d80908261154a565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206127b883398151915290611dc29085815260200190565b60405180910390a3611dd4868361223e565b611ddd846122a3565b5050611a00565b600c546001600160a01b038481169116148015611dfe5750805b15611f19576000611e0e8361133c565b90506000611e1c8483611ff3565b9050611e8d846040518060400160405280601b81526020017f44414444593a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b0316815260200190815260200160002054611a069092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611ebc908261154a565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206127b883398151915290611efe9085815260200190565b60405180910390a3611f10868361223e565b611ddd8461232f565b604080518082018252601b81527f44414444593a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038716600090815260019091529190912054611f74918490611a06565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611fa3908361154a565b6001600160a01b0380851660008181526001602052604090819020939093559151908616906000805160206127b883398151915290611fe59086815260200190565b60405180910390a350505050565b60006111d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a06565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061206e5761206e6126bd565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f091906126d3565b81600181518110612103576121036126bd565b6001600160a01b039283166020918202929092010152821663791ac94784600084306121314261012c61268e565b6040518663ffffffff1660e01b81526004016121519594939291906126f0565b600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a6121ac4261012c61268e565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015612219573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061217f9190612761565b30600090815260016020526040902054612258908261154a565b30600081815260016020526040908190209290925590516001600160a01b038416906000805160206127b8833981519152906122979085815260200190565b60405180910390a35050565b6122be601354610e2c601754846113a790919063ffffffff16565b601d60008282546122cf919061268e565b90915550506013546018546122ea9190610e2c9084906113a7565b601e60008282546122fb919061268e565b90915550506013546019546123169190610e2c9084906113a7565b601f6000828254612327919061268e565b909155505050565b61234a601354610e2c601a54846113a790919063ffffffff16565b601d600082825461235b919061268e565b9091555050601354601b546123769190610e2c9084906113a7565b601e6000828254612387919061268e565b9091555050601354601c546123169190610e2c9084906113a7565b600060208083528351808285015260005b818110156123cf578581018301518582016040015282016123b3565b818111156123e1576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461240c57600080fd5b50565b6000806040838503121561242257600080fd5b823561242d816123f7565b946020939093013593505050565b8035801515811461244b57600080fd5b919050565b60006020828403121561246257600080fd5b6111d88261243b565b60008060006060848603121561248057600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156124ac57600080fd5b83356124b7816123f7565b925060208401356124c7816123f7565b929592945050506040919091013590565b600080604083850312156124eb57600080fd5b82356124f6816123f7565b91506125046020840161243b565b90509250929050565b60008060006060848603121561252257600080fd5b833561252d816123f7565b9250602084013561253d816123f7565b9150604084013561254d816123f7565b809150509250925092565b60006020828403121561256a57600080fd5b81356111d8816123f7565b60006020828403121561258757600080fd5b5035919050565b600080604083850312156125a157600080fd5b82356125ac816123f7565b915060208301356125bc816123f7565b809150509250929050565b600181811c908216806125db57607f821691505b602082108114156125fc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261266a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561268957612689612637565b500290565b600082198211156126a1576126a1612637565b500190565b6000828210156126b8576126b8612637565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156126e557600080fd5b81516111d8816123f7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127405784516001600160a01b03168352938301939183019160010161271b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561277657600080fd5b835192506020840151915060408401519050925092509256fe44414444593a2064656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef44414444593a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201884844e063d9e320bc085710564dc75b923505e1574579533d6e7f8fcd8dbee64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106103395760003560e01c8063879dd3c5116101ab578063be19674b116100f7578063ec44acf211610095578063f242ab411161006f578063f242ab411461099f578063f2fde38b146109bf578063f4b3dbc3146109df578063fe6f1b05146109ff57600080fd5b8063ec44acf21461093f578063ed4214291461095f578063f097ea1a1461097f57600080fd5b8063dd62ed3e116100d1578063dd62ed3e146108a3578063e41f9efe146108e9578063e6c84dc614610909578063ea5b9e851461091f57600080fd5b8063be19674b14610857578063bf56b37114610877578063cc87c0321461088d57600080fd5b80639a36dfa111610164578063a7c29b401161013e578063a7c29b40146107d7578063a9059cbb146107f7578063b0a30f6a14610817578063b0bc2a2d1461083757600080fd5b80639a36dfa1146107815780639b6a275014610797578063a457c2d7146107b757600080fd5b8063879dd3c5146106d45780638a8c523c146106f35780638da5cb5b1461070857806395d89b4114610726578063979ac9361461073b57806399b102b51461075157600080fd5b80633bbac5791161028557806375f0a874116102235780637d99c66d116101fd5780637d99c66d14610658578063844af78e1461066e57806384ea21bc146106845780638756aabd146106b457600080fd5b806375f0a8741461060857806379777b4e146106285780637c6a9a9c1461064257600080fd5b8063679a3c591161025f578063679a3c5914610587578063681aa362146105a757806370a08231146105bd578063715018a6146105f357600080fd5b80633bbac579146105075780634def082c146105375780635342acb41461055757600080fd5b80631884f1e6116102f2578063313ce567116102cc578063313ce5671461048f5780633326d7f2146104b1578063334c1439146104c757806339509351146104e757600080fd5b80631884f1e61461043957806323b872dd1461044f5780632d1293901461046f57600080fd5b806306fdde03146103455780630758d92414610370578063095ea7b3146103a85780630a2d140c146103d8578063151cd1c2146103fa57806318160ddd1461041a57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a15565b60405161036791906123a2565b60405180910390f35b34801561037c57600080fd5b50600b54610390906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b3480156103b457600080fd5b506103c86103c336600461240f565b610aa7565b6040519015158152602001610367565b3480156103e457600080fd5b506103f86103f3366004612450565b610abe565b005b34801561040657600080fd5b506103f861041536600461246b565b610b04565b34801561042657600080fd5b50600a545b604051908152602001610367565b34801561044557600080fd5b5061042b60105481565b34801561045b57600080fd5b506103c861046a366004612497565b610bb2565b34801561047b57600080fd5b506103f861048a3660046124d8565b610c1b565b34801561049b57600080fd5b5060095460405160ff9091168152602001610367565b3480156104bd57600080fd5b5061042b60175481565b3480156104d357600080fd5b506103f86104e236600461250d565b610c70565b3480156104f357600080fd5b506103c861050236600461240f565b610cd9565b34801561051357600080fd5b506103c8610522366004612558565b60066020526000908152604090205460ff1681565b34801561054357600080fd5b50600e54610390906001600160a01b031681565b34801561056357600080fd5b506103c8610572366004612558565b60036020526000908152604090205460ff1681565b34801561059357600080fd5b506103f86105a2366004612558565b610d0f565b3480156105b357600080fd5b5061042b60125481565b3480156105c957600080fd5b5061042b6105d8366004612558565b6001600160a01b031660009081526001602052604090205490565b3480156105ff57600080fd5b506103f8610d72565b34801561061457600080fd5b50600d54610390906001600160a01b031681565b34801561063457600080fd5b506016546103c89060ff1681565b34801561064e57600080fd5b5061042b60185481565b34801561066457600080fd5b5061042b60145481565b34801561067a57600080fd5b5061042b601b5481565b34801561069057600080fd5b506103c861069f366004612558565b60056020526000908152604090205460ff1681565b3480156106c057600080fd5b506103f86106cf366004612575565b610de6565b3480156106e057600080fd5b506016546103c890610100900460ff1681565b3480156106ff57600080fd5b506103f8610e91565b34801561071457600080fd5b506000546001600160a01b0316610390565b34801561073257600080fd5b5061035a610f24565b34801561074757600080fd5b5061042b60195481565b34801561075d57600080fd5b506103c861076c366004612558565b60046020526000908152604090205460ff1681565b34801561078d57600080fd5b5061042b60115481565b3480156107a357600080fd5b506103f86107b2366004612575565b610f33565b3480156107c357600080fd5b506103c86107d236600461240f565b610fcc565b3480156107e357600080fd5b506103f86107f23660046124d8565b61101b565b34801561080357600080fd5b506103c861081236600461240f565b611070565b34801561082357600080fd5b50600f54610390906001600160a01b031681565b34801561084357600080fd5b506103f8610852366004612450565b61107d565b34801561086357600080fd5b506103f861087236600461246b565b6110c1565b34801561088357600080fd5b5061042b60155481565b34801561089957600080fd5b5061042b601c5481565b3480156108af57600080fd5b5061042b6108be36600461258e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156108f557600080fd5b506103f8610904366004612558565b611108565b34801561091557600080fd5b5061042b601a5481565b34801561092b57600080fd5b506103f861093a3660046124d8565b611153565b34801561094b57600080fd5b506016546103c89062010000900460ff1681565b34801561096b57600080fd5b5061042b61097a366004612575565b6111a8565b34801561098b57600080fd5b506103f861099a366004612575565b6111df565b3480156109ab57600080fd5b50600c54610390906001600160a01b031681565b3480156109cb57600080fd5b506103f86109da366004612558565b611252565b3480156109eb57600080fd5b5061042b6109fa366004612575565b61133c565b348015610a0b57600080fd5b5061042b60135481565b606060078054610a24906125c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a50906125c7565b8015610a9d5780601f10610a7257610100808354040283529160200191610a9d565b820191906000526020600020905b815481529060010190602001808311610a8057829003601f168201915b5050505050905090565b6000610ab4338484611426565b5060015b92915050565b6000546001600160a01b03163314610af15760405162461bcd60e51b8152600401610ae890612602565b60405180910390fd5b6016805460ff1916911515919091179055565b6000546001600160a01b03163314610b2e5760405162461bcd60e51b8152600401610ae890612602565b601b839055601c819055601a829055601354610b4b90600a611365565b610b5f82610b59868661154a565b9061154a565b1115610bad5760405162461bcd60e51b815260206004820152601d60248201527f44414444593a2063616e2774206265206d6f7265207468616e203130250000006044820152606401610ae8565b505050565b6000610bbf8484846115a9565b610c118433610c0c856040518060600160405280602881526020016127d8602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611a06565b611426565b5060019392505050565b6000546001600160a01b03163314610c455760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c9a5760405162461bcd60e51b8152600401610ae890612602565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f8054919093169116179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610ab4918590610c0c908661154a565b6000546001600160a01b03163314610d395760405162461bcd60e51b8152600401610ae890612602565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610d6e573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b8152600401610ae890612602565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e105760405162461bcd60e51b8152600401610ae890612602565b610e32601354610e2c6005600a546113a790919063ffffffff16565b90611365565b811015610e8c5760405162461bcd60e51b815260206004820152602260248201527f44414444593a2073686f756c642062652067726561746572207468616e20302e604482015261352560f01b6064820152608401610ae8565b601155565b6000546001600160a01b03163314610ebb5760405162461bcd60e51b8152600401610ae890612602565b60165462010000900460ff1615610f0d5760405162461bcd60e51b815260206004820152601660248201527511105111164e88185b1c9958591e48195b98589b195960521b6044820152606401610ae8565b6016805462ffffff19166201010117905542601555565b606060088054610a24906125c7565b6000546001600160a01b03163314610f5d5760405162461bcd60e51b8152600401610ae890612602565b601354600a54610f6d919061264d565b811015610fc75760405162461bcd60e51b815260206004820152602260248201527f44414444593a2073686f756c642062652067726561746572207468616e20302e604482015261312560f01b6064820152608401610ae8565b601255565b6000610ab43384610c0c85604051806060016040528060288152602001612790602891393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611a06565b6000546001600160a01b031633146110455760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000610ab43384846115a9565b6000546001600160a01b031633146110a75760405162461bcd60e51b8152600401610ae890612602565b601680549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146110eb5760405162461bcd60e51b8152600401610ae890612602565b601883905560198190556017829055601354610b4b90600a611365565b6000546001600160a01b031633146111325760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b0316331461117d5760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000806111d8601354610e2c6111d1601954610b5960175460185461154a90919063ffffffff16565b86906113a7565b9392505050565b6000546001600160a01b031633146112095760405162461bcd60e51b8152600401610ae890612602565b6000811161124d5760405162461bcd60e51b8152602060048201526011602482015270044414444593a2063616e2774206265203607c1b6044820152606401610ae8565b601055565b6000546001600160a01b0316331461127c5760405162461bcd60e51b8152600401610ae890612602565b6001600160a01b0381166112e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111d8601354610e2c6111d1601c54610b59601a54601b5461154a90919063ffffffff16565b60006111d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a40565b6000826113b657506000610ab8565b60006113c2838561266f565b9050826113cf858361264d565b146111d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610ae8565b6001600160a01b0383166114885760405162461bcd60e51b8152602060048201526024808201527f44414444593a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae8565b6001600160a01b0382166114e95760405162461bcd60e51b815260206004820152602260248201527f44414444593a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080611557838561268e565b9050838110156111d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ae8565b6001600160a01b03831661160d5760405162461bcd60e51b815260206004820152602560248201527f44414444593a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ae8565b6001600160a01b03821661166f5760405162461bcd60e51b815260206004820152602360248201527f44414444593a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ae8565b600081116116cf5760405162461bcd60e51b815260206004820152602760248201527f44414444593a20416d6f756e74206d7573742062652067726561746572207468604482015266616e207a65726f60c81b6064820152608401610ae8565b6001600160a01b03831660009081526006602052604090205460ff161561172e5760405162461bcd60e51b815260206004820152601360248201527211105111164e88109bdd0819195d1958dd1959606a1b6044820152606401610ae8565b6001600160a01b03831660009081526004602052604090205460ff1615801561177057506001600160a01b03821660009081526004602052604090205460ff16155b156118f8576012548111156117c75760405162461bcd60e51b815260206004820152601c60248201527f44414444593a206d61782074786e206c696d69742065786365656473000000006044820152606401610ae8565b60165462010000900460ff1661184f57600c546001600160a01b038481169116148015906118035750600c546001600160a01b03838116911614155b61184f5760405162461bcd60e51b815260206004820152601960248201527f44414444593a2074726164696e672069732064697361626c65000000000000006044820152606401610ae8565b60145460155461185f919061268e565b4210801561187b5750600b546001600160a01b03848116911614155b156118f857600c546001600160a01b03848116911614156118be576001600160a01b0382166000908152600660205260409020805460ff191660011790556118f8565b600c546001600160a01b03838116911614156118f8576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6001600160a01b03821660009081526005602052604090205460ff1661198c5760115461193e82610b59856001600160a01b031660009081526001602052604090205490565b111561198c5760405162461bcd60e51b815260206004820152601d60248201527f44414444593a206d617820686f6c64206c696d697420657863656564730000006044820152606401610ae8565b6119968383611a6e565b6001600160a01b03831660009081526003602052604090205460019060ff16806119d857506001600160a01b03831660009081526003602052604090205460ff165b806119eb5750601654610100900460ff16155b156119f4575060005b611a0084848484611ca8565b50505050565b60008184841115611a2a5760405162461bcd60e51b8152600401610ae891906123a2565b506000611a3784866126a6565b95945050505050565b60008183611a615760405162461bcd60e51b8152600401610ae891906123a2565b506000611a37848661264d565b3060009081526001602052604090205460105481108015908190611aa05750600c546001600160a01b03858116911614155b8015611aae575060165460ff165b8015611adc57506001600160a01b03841630148015611ada5750600c546001600160a01b038481169116145b155b15611a0057600b54611af99030906001600160a01b031684611426565b601d54600090611b0a906002611365565b90506000611b2382601d54611ff390919063ffffffff16565b90506000611b318583611ff3565b600b549091504790611b4c906001600160a01b031683612035565b6000611b584783611ff3565b90506000611b6a84610e2c84896113a7565b90506000611b8785610e2c601e54866113a790919063ffffffff16565b90506000611b9f82611b998686611ff3565b90611ff3565b90508215611c0757600b54600f54611bc5916001600160a01b0390811691168986612189565b60408051898152602081018590529081018890527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b8115611c4957600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611c47573d6000803e3d6000fd5b505b8015611c8b57600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611c89573d6000803e3d6000fd5b505b50506000601d819055601e819055601f5550505050505050505050565b600c546001600160a01b038581169116148015611cc25750805b15611de4576000611cd2836111a8565b90506000611ce08483611ff3565b9050611d51846040518060400160405280601b81526020017f44414444593a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b0316815260200190815260200160002054611a069092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611d80908261154a565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206127b883398151915290611dc29085815260200190565b60405180910390a3611dd4868361223e565b611ddd846122a3565b5050611a00565b600c546001600160a01b038481169116148015611dfe5750805b15611f19576000611e0e8361133c565b90506000611e1c8483611ff3565b9050611e8d846040518060400160405280601b81526020017f44414444593a20696e73756666696369656e742062616c616e63650000000000815250600160008a6001600160a01b03166001600160a01b0316815260200190815260200160002054611a069092919063ffffffff16565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611ebc908261154a565b6001600160a01b0380871660008181526001602052604090819020939093559151908816906000805160206127b883398151915290611efe9085815260200190565b60405180910390a3611f10868361223e565b611ddd8461232f565b604080518082018252601b81527f44414444593a20696e73756666696369656e742062616c616e636500000000006020808301919091526001600160a01b038716600090815260019091529190912054611f74918490611a06565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611fa3908361154a565b6001600160a01b0380851660008181526001602052604090819020939093559151908616906000805160206127b883398151915290611fe59086815260200190565b60405180910390a350505050565b60006111d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a06565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061206e5761206e6126bd565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f091906126d3565b81600181518110612103576121036126bd565b6001600160a01b039283166020918202929092010152821663791ac94784600084306121314261012c61268e565b6040518663ffffffff1660e01b81526004016121519594939291906126f0565b600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a6121ac4261012c61268e565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015612219573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061217f9190612761565b30600090815260016020526040902054612258908261154a565b30600081815260016020526040908190209290925590516001600160a01b038416906000805160206127b8833981519152906122979085815260200190565b60405180910390a35050565b6122be601354610e2c601754846113a790919063ffffffff16565b601d60008282546122cf919061268e565b90915550506013546018546122ea9190610e2c9084906113a7565b601e60008282546122fb919061268e565b90915550506013546019546123169190610e2c9084906113a7565b601f6000828254612327919061268e565b909155505050565b61234a601354610e2c601a54846113a790919063ffffffff16565b601d600082825461235b919061268e565b9091555050601354601b546123769190610e2c9084906113a7565b601e6000828254612387919061268e565b9091555050601354601c546123169190610e2c9084906113a7565b600060208083528351808285015260005b818110156123cf578581018301518582016040015282016123b3565b818111156123e1576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461240c57600080fd5b50565b6000806040838503121561242257600080fd5b823561242d816123f7565b946020939093013593505050565b8035801515811461244b57600080fd5b919050565b60006020828403121561246257600080fd5b6111d88261243b565b60008060006060848603121561248057600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156124ac57600080fd5b83356124b7816123f7565b925060208401356124c7816123f7565b929592945050506040919091013590565b600080604083850312156124eb57600080fd5b82356124f6816123f7565b91506125046020840161243b565b90509250929050565b60008060006060848603121561252257600080fd5b833561252d816123f7565b9250602084013561253d816123f7565b9150604084013561254d816123f7565b809150509250925092565b60006020828403121561256a57600080fd5b81356111d8816123f7565b60006020828403121561258757600080fd5b5035919050565b600080604083850312156125a157600080fd5b82356125ac816123f7565b915060208301356125bc816123f7565b809150509250929050565b600181811c908216806125db57607f821691505b602082108114156125fc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261266a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561268957612689612637565b500290565b600082198211156126a1576126a1612637565b500190565b6000828210156126b8576126b8612637565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156126e557600080fd5b81516111d8816123f7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127405784516001600160a01b03168352938301939183019160010161271b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561277657600080fd5b835192506020840151915060408401519050925092509256fe44414444593a2064656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef44414444593a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201884844e063d9e320bc085710564dc75b923505e1574579533d6e7f8fcd8dbee64736f6c634300080a0033
Deployed Bytecode Sourcemap
3462:17131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7333:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4172:27;;;;;;;;;;-1:-1:-1;4172:27:0;;;;-1:-1:-1;;;;;4172:27:0;;;;;;-1:-1:-1;;;;;798:32:1;;;780:51;;768:2;753:18;4172:27:0;616:221:1;8244:193:0;;;;;;;;;;-1:-1:-1;8244:193:0;;;;;:::i;:::-;;:::i;:::-;;;1463:14:1;;1456:22;1438:41;;1426:2;1411:18;8244:193:0;1298:187:1;11748:115:0;;;;;;;;;;-1:-1:-1;11748:115:0;;;;;:::i;:::-;;:::i;:::-;;11296:444;;;;;;;;;;-1:-1:-1;11296:444:0;;;;;:::i;:::-;;:::i;7610:100::-;;;;;;;;;;-1:-1:-1;7690:12:0;;7610:100;;;2307:25:1;;;2295:2;2280:18;7610:100:0;2161:177:1;4358:53:0;;;;;;;;;;;;;;;;8445:446;;;;;;;;;;-1:-1:-1;8445:446:0;;;;;:::i;:::-;;:::i;9954:171::-;;;;;;;;;;-1:-1:-1;9954:171:0;;;;;:::i;:::-;;:::i;7519:83::-;;;;;;;;;;-1:-1:-1;7585:9:0;;7519:83;;7585:9;;;;3266:36:1;;3254:2;3239:18;7519:83:0;3124:184:1;5023:40:0;;;;;;;;;;;;;;;;12115:295;;;;;;;;;;-1:-1:-1;12115:295:0;;;;;:::i;:::-;;:::i;8899:300::-;;;;;;;;;;-1:-1:-1;8899:300:0;;;;;:::i;:::-;;:::i;3855:37::-;;;;;;;;;;-1:-1:-1;3855:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4272:32;;;;;;;;;;-1:-1:-1;4272:32:0;;;;-1:-1:-1;;;;;4272:32:0;;;3677:49;;;;;;;;;;-1:-1:-1;3677:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11978:129;;;;;;;;;;-1:-1:-1;11978:129:0;;;;;:::i;:::-;;:::i;4573:59::-;;;;;;;;;;;;;;;;7718:119;;;;;;;;;;-1:-1:-1;7718:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7811:18:0;7784:7;7811:18;;;:9;:18;;;;;;;7718:119;3009:157;;;;;;;;;;;;;:::i;4235:30::-;;;;;;;;;;-1:-1:-1;4235:30:0;;;;-1:-1:-1;;;;;4235:30:0;;;4799:38;;;;;;;;;;-1:-1:-1;4799:38:0;;;;;;;;5107:40;;;;;;;;;;;;;;;;4719:39;;;;;;;;;;;;;;;;5382:41;;;;;;;;;;;;;;;;3792:56;;;;;;;;;;-1:-1:-1;3792:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10426:210;;;;;;;;;;-1:-1:-1;10426:210:0;;;;;:::i;:::-;;:::i;4895:29::-;;;;;;;;;;-1:-1:-1;4895:29:0;;;;;;;;;;;12418:242;;;;;;;;;;;;;:::i;2795:79::-;;;;;;;;;;-1:-1:-1;2833:7:0;2860:6;-1:-1:-1;;;;;2860:6:0;2795:79;;7424:87;;;;;;;;;;;;;:::i;5199:42::-;;;;;;;;;;;;;;;;3733:52;;;;;;;;;;-1:-1:-1;3733:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4466:60;;;;;;;;;;;;;;;;10644:196;;;;;;;;;;-1:-1:-1;10644:196:0;;;;;:::i;:::-;;:::i;9207:403::-;;;;;;;;;;-1:-1:-1;9207:403:0;;;;;:::i;:::-;;:::i;9783:163::-;;;;;;;;;;-1:-1:-1;9783:163:0;;;;;:::i;:::-;;:::i;7845:199::-;;;;;;;;;;-1:-1:-1;7845:199:0;;;;;:::i;:::-;;:::i;4311:38::-;;;;;;;;;;-1:-1:-1;4311:38:0;;;;-1:-1:-1;;;;;4311:38:0;;;11871:99;;;;;;;;;;-1:-1:-1;11871:99:0;;;;;:::i;:::-;;:::i;10848:440::-;;;;;;;;;;-1:-1:-1;10848:440:0;;;;;:::i;:::-;;:::i;4765:25::-;;;;;;;;;;;;;;;;5475:43;;;;;;;;;;;;;;;;8052:184;;;;;;;;;;-1:-1:-1;8052:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8201:18:0;;;8169:7;8201:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8052:184;10133:120;;;;;;;;;;-1:-1:-1;10133:120:0;;;;;:::i;:::-;;:::i;5297:41::-;;;;;;;;;;;;;;;;9618:157;;;;;;;;;;-1:-1:-1;9618:157:0;;;;;:::i;:::-;;:::i;4952:19::-;;;;;;;;;;-1:-1:-1;4952:19:0;;;;;;;;;;;12668:256;;;;;;;;;;-1:-1:-1;12668:256:0;;;;;:::i;:::-;;:::i;10261:157::-;;;;;;;;;;-1:-1:-1;10261:157:0;;;;;:::i;:::-;;:::i;4206:22::-;;;;;;;;;;-1:-1:-1;4206:22:0;;;;-1:-1:-1;;;;;4206:22:0;;;3174:281;;;;;;;;;;-1:-1:-1;3174:281:0;;;;;:::i;:::-;;:::i;12932:264::-;;;;;;;;;;-1:-1:-1;12932:264:0;;;;;:::i;:::-;;:::i;4676:36::-;;;;;;;;;;;;;;;;7333:83;7370:13;7403:5;7396:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7333:83;:::o;8244:193::-;8346:4;8368:39;2227:10;8391:7;8400:6;8368:8;:39::i;:::-;-1:-1:-1;8425:4:0;8244:193;;;;;:::o;11748:115::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;;;;;;;;;11820:26:::1;:35:::0;;-1:-1:-1;;11820:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11748:115::o;11296:444::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;11440:21:::1;:30:::0;;;11481:23:::1;:41:::0;;;11533:21:::1;:37:::0;;;11653:14:::1;::::0;:22:::1;::::0;11672:2:::1;11653:18;:22::i;:::-;11603:46;11633:15:::0;11603:25:::1;:6:::0;11614:13;11603:10:::1;:25::i;:::-;:29:::0;::::1;:46::i;:::-;:72;;11581:151;;;::::0;-1:-1:-1;;;11581:151:0;;5833:2:1;11581:151:0::1;::::0;::::1;5815:21:1::0;5872:2;5852:18;;;5845:30;5911:31;5891:18;;;5884:59;5960:18;;11581:151:0::1;5631:353:1::0;11581:151:0::1;11296:444:::0;;;:::o;8445:446::-;8577:4;8594:36;8604:6;8612:9;8623:6;8594:9;:36::i;:::-;8641:220;8664:6;2227:10;8712:138;8768:6;8712:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8712:19:0;;;;;;:11;:19;;;;;;;;2227:10;8712:33;;;;;;;;;;:37;:138::i;:::-;8641:8;:220::i;:::-;-1:-1:-1;8879:4:0;8445:446;;;;;:::o;9954:171::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10076:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;10076:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9954:171::o;12115:295::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;12258:15:::1;:34:::0;;-1:-1:-1;;;;;12258:34:0;;::::1;-1:-1:-1::0;;;;;;12258:34:0;;::::1;;::::0;;;12303:17:::1;:38:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;12352:23:::1;:50:::0;;;;;::::1;::::0;::::1;;::::0;;12115:295::o;8899:300::-;2227:10;9014:4;9108:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9108:34:0;;;;;;;;;;9014:4;;9036:133;;9086:7;;9108:50;;9147:10;9108:38;:50::i;11978:129::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;12049:50:::1;::::0;-1:-1:-1;;;;;12049:27:0;::::1;::::0;12077:21:::1;12049:50:::0;::::1;;;::::0;::::1;::::0;;;12077:21;12049:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11978:129:::0;:::o;3009:157::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;3116:1:::1;3100:6:::0;;3079:40:::1;::::0;-1:-1:-1;;;;;3100:6:0;;::::1;::::0;3079:40:::1;::::0;3116:1;;3079:40:::1;3155:1;3130:28:::0;;-1:-1:-1;;;;;;3130:28:0::1;::::0;;3009:157::o;10426:210::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;10517:39:::1;10541:14;;10517:19;10534:1;10517:12;;:16;;:19;;;;:::i;:::-;:23:::0;::::1;:39::i;:::-;10506:7;:50;;10498:97;;;::::0;-1:-1:-1;;;10498:97:0;;6191:2:1;10498:97:0::1;::::0;::::1;6173:21:1::0;6230:2;6210:18;;;6203:30;6269:34;6249:18;;;6242:62;-1:-1:-1;;;6320:18:1;;;6313:32;6362:19;;10498:97:0::1;5989:398:1::0;10498:97:0::1;10606:12;:22:::0;10426:210::o;12418:242::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;12482:7:::1;::::0;;;::::1;;;12481:8;12473:43;;;::::0;-1:-1:-1;;;12473:43:0;;6594:2:1;12473:43:0::1;::::0;::::1;6576:21:1::0;6633:2;6613:18;;;6606:30;-1:-1:-1;;;6652:18:1;;;6645:52;6714:18;;12473:43:0::1;6392:346:1::0;12473:43:0::1;12527:7;:14:::0;;-1:-1:-1;;12580:33:0;;;;;12637:15:::1;12624:10;:28:::0;12418:242::o;7424:87::-;7463:13;7496:7;7489:14;;;;;:::i;10644:196::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;10747:14:::1;;10734:12;;:27;;;;:::i;:::-;10723:7;:38;;10715:85;;;::::0;-1:-1:-1;;;10715:85:0;;7299:2:1;10715:85:0::1;::::0;::::1;7281:21:1::0;7338:2;7318:18;;;7311:30;7377:34;7357:18;;;7350:62;-1:-1:-1;;;7428:18:1;;;7421:32;7470:19;;10715:85:0::1;7097:398:1::0;10715:85:0::1;10811:11;:21:::0;10644:196::o;9207:403::-;9327:4;9349:231;2227:10;9399:7;9421:148;9478:15;9421:148;;;;;;;;;;;;;;;;;2227:10;9421:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9421:34:0;;;;;;;;;;;;:38;:148::i;9783:163::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9901:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;9901:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9783:163::o;7845:199::-;7950:4;7972:42;2227:10;7996:9;8007:6;7972:9;:42::i;11871:99::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;11943:10:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;11943:19:0;;::::1;::::0;;;::::1;::::0;;11871:99::o;10848:440::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;10991:20:::1;:29:::0;;;11031:22:::1;:40:::0;;;11082:20:::1;:36:::0;;;11201:14:::1;::::0;:22:::1;::::0;11220:2:::1;11201:18;:22::i;10133:120::-:0;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10223:14:0::1;10240:5;10223:14:::0;;;:5:::1;:14;::::0;;;;:22;;-1:-1:-1;;10223:22:0::1;::::0;;10133:120::o;9618:157::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9733:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;9733:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9618:157::o;12668:256::-;12731:7;12751:11;12765:130;12870:14;;12765:86;12776:74;12827:22;;12776:46;12801:20;;12776;;:24;;:46;;;;:::i;:74::-;12765:6;;:10;:86::i;:130::-;12751:144;12668:256;-1:-1:-1;;;12668:256:0:o;10261:157::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;10353:1:::1;10343:7;:11;10335:40;;;::::0;-1:-1:-1;;;10335:40:0;;7702:2:1;10335:40:0::1;::::0;::::1;7684:21:1::0;7741:2;7721:18;;;7714:30;-1:-1:-1;;;7760:18:1;;;7753:47;7817:18;;10335:40:0::1;7500:341:1::0;10335:40:0::1;10386:14;:24:::0;10261:157::o;3174:281::-;2922:6;;-1:-1:-1;;;;;2922:6:0;2227:10;2922:22;2914:67;;;;-1:-1:-1;;;2914:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3277:22:0;::::1;3255:110;;;::::0;-1:-1:-1;;;3255:110:0;;8048:2:1;3255:110:0::1;::::0;::::1;8030:21:1::0;8087:2;8067:18;;;8060:30;8126:34;8106:18;;;8099:62;-1:-1:-1;;;8177:18:1;;;8170:36;8223:19;;3255:110:0::1;7846:402:1::0;3255:110:0::1;3402:6;::::0;;3381:38:::1;::::0;-1:-1:-1;;;;;3381:38:0;;::::1;::::0;3402:6;::::1;::::0;3381:38:::1;::::0;::::1;3430:6;:17:::0;;-1:-1:-1;;;;;;3430:17:0::1;-1:-1:-1::0;;;;;3430:17:0;;;::::1;::::0;;;::::1;::::0;;3174:281::o;12932:264::-;12996:7;13016:11;13030:137;13152:14;;13030:103;13055:77;13108:23;;13055:48;13081:21;;13055;;:25;;:48;;;;:::i;22889:132::-;22947:7;22974:39;22978:1;22981;22974:39;;;;;;;;;;;;;;;;;:3;:39::i;22410:471::-;22468:7;22713:6;22709:47;;-1:-1:-1;22743:1:0;22736:8;;22709:47;22768:9;22780:5;22784:1;22780;:5;:::i;:::-;22768:17;-1:-1:-1;22813:1:0;22804:5;22808:1;22768:17;22804:5;:::i;:::-;:10;22796:56;;;;-1:-1:-1;;;22796:56:0;;8628:2:1;22796:56:0;;;8610:21:1;8667:2;8647:18;;;8640:30;8706:34;8686:18;;;8679:62;-1:-1:-1;;;8757:18:1;;;8750:31;8798:19;;22796:56:0;8426:397:1;13204:371:0;-1:-1:-1;;;;;13331:19:0;;13323:68;;;;-1:-1:-1;;;13323:68:0;;9030:2:1;13323:68:0;;;9012:21:1;9069:2;9049:18;;;9042:30;9108:34;9088:18;;;9081:62;-1:-1:-1;;;9159:18:1;;;9152:34;9203:19;;13323:68:0;8828:400:1;13323:68:0;-1:-1:-1;;;;;13410:21:0;;13402:68;;;;-1:-1:-1;;;13402:68:0;;9435:2:1;13402:68:0;;;9417:21:1;9474:2;9454:18;;;9447:30;9513:34;9493:18;;;9486:62;-1:-1:-1;;;9564:18:1;;;9557:32;9606:19;;13402:68:0;9233:398:1;13402:68:0;-1:-1:-1;;;;;13483:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13535:32;;2307:25:1;;;13535:32:0;;2280:18:1;13535:32:0;;;;;;;13204:371;;;:::o;21843:181::-;21901:7;;21933:5;21937:1;21933;:5;:::i;:::-;21921:17;;21962:1;21957;:6;;21949:46;;;;-1:-1:-1;;;21949:46:0;;9971:2:1;21949:46:0;;;9953:21:1;10010:2;9990:18;;;9983:30;10049:29;10029:18;;;10022:57;10096:18;;21949:46:0;9769:351:1;13583:1858:0;-1:-1:-1;;;;;13705:18:0;;13697:68;;;;-1:-1:-1;;;13697:68:0;;10327:2:1;13697:68:0;;;10309:21:1;10366:2;10346:18;;;10339:30;10405:34;10385:18;;;10378:62;-1:-1:-1;;;10456:18:1;;;10449:35;10501:19;;13697:68:0;10125:401:1;13697:68:0;-1:-1:-1;;;;;13784:16:0;;13776:64;;;;-1:-1:-1;;;13776:64:0;;10733:2:1;13776:64:0;;;10715:21:1;10772:2;10752:18;;;10745:30;10811:34;10791:18;;;10784:62;-1:-1:-1;;;10862:18:1;;;10855:33;10905:19;;13776:64:0;10531:399:1;13776:64:0;13868:1;13859:6;:10;13851:62;;;;-1:-1:-1;;;13851:62:0;;11137:2:1;13851:62:0;;;11119:21:1;11176:2;11156:18;;;11149:30;11215:34;11195:18;;;11188:62;-1:-1:-1;;;11266:18:1;;;11259:37;11313:19;;13851:62:0;10935:403:1;13851:62:0;-1:-1:-1;;;;;13933:11:0;;;;;;:5;:11;;;;;;;;13932:12;13924:44;;;;-1:-1:-1;;;13924:44:0;;11545:2:1;13924:44:0;;;11527:21:1;11584:2;11564:18;;;11557:30;-1:-1:-1;;;11603:18:1;;;11596:49;11662:18;;13924:44:0;11343:343:1;13924:44:0;-1:-1:-1;;;;;13986:26:0;;;;;;:20;:26;;;;;;;;13985:27;:56;;;;-1:-1:-1;;;;;;14017:24:0;;;;;;:20;:24;;;;;;;;14016:25;13985:56;13981:756;;;14076:11;;14066:6;:21;;14058:62;;;;-1:-1:-1;;;14058:62:0;;11893:2:1;14058:62:0;;;11875:21:1;11932:2;11912:18;;;11905:30;11971;11951:18;;;11944:58;12019:18;;14058:62:0;11691:352:1;14058:62:0;14186:7;;;;;;;14181:180;;14244:7;;-1:-1:-1;;;;;14244:15:0;;;:7;;:15;;;;:32;;-1:-1:-1;14263:7:0;;-1:-1:-1;;;;;14263:13:0;;;:7;;:13;;14244:32;14214:131;;;;-1:-1:-1;;;14214:131:0;;12250:2:1;14214:131:0;;;12232:21:1;12289:2;12269:18;;;12262:30;12328:27;12308:18;;;12301:55;12373:18;;14214:131:0;12048:349:1;14214:131:0;14452:11;;14439:10;;:24;;;;:::i;:::-;14421:15;:42;:89;;;;-1:-1:-1;14500:9:0;;-1:-1:-1;;;;;14484:26:0;;;14500:9;;14484:26;;14421:89;14399:327;;;14549:7;;-1:-1:-1;;;;;14549:15:0;;;:7;;:15;14545:166;;;-1:-1:-1;;;;;14589:9:0;;;;;;:5;:9;;;;;:16;;-1:-1:-1;;14589:16:0;14601:4;14589:16;;;14545:166;;;14635:7;;-1:-1:-1;;;;;14635:13:0;;;:7;;:13;14631:80;;;-1:-1:-1;;;;;14673:11:0;;;;;;:5;:11;;;;;:18;;-1:-1:-1;;14673:18:0;14687:4;14673:18;;;14631:80;-1:-1:-1;;;;;14754:28:0;;;;;;:24;:28;;;;;;;;14749:194;;14854:12;;14825:25;14843:6;14825:13;14835:2;-1:-1:-1;;;;;7811:18:0;7784:7;7811:18;;;:9;:18;;;;;;;7718:119;14825:25;:41;;14799:132;;;;-1:-1:-1;;;14799:132:0;;12604:2:1;14799:132:0;;;12586:21:1;12643:2;12623:18;;;12616:30;12682:31;12662:18;;;12655:59;12731:18;;14799:132:0;12402:353:1;14799:132:0;14984:30;15005:4;15011:2;14984:20;:30::i;:::-;-1:-1:-1;;;;;15207:23:0;;15088:12;15207:23;;;:17;:23;;;;;;15103:4;;15207:23;;;:48;;-1:-1:-1;;;;;;15234:21:0;;;;;;:17;:21;;;;;;;;15207:48;:63;;;-1:-1:-1;15260:10:0;;;;;;;15259:11;15207:63;15203:111;;;-1:-1:-1;15297:5:0;15203:111;15392:41;15407:4;15413:2;15417:6;15425:7;15392:14;:41::i;:::-;13686:1755;13583:1858;;;:::o;22176:226::-;22296:7;22332:12;22324:6;;;;22316:29;;;;-1:-1:-1;;;22316:29:0;;;;;;;;:::i;:::-;-1:-1:-1;22356:9:0;22368:5;22372:1;22368;:5;:::i;:::-;22356:17;22176:226;-1:-1:-1;;;;;22176:226:0:o;23029:312::-;23149:7;23184:12;23177:5;23169:28;;;;-1:-1:-1;;;23169:28:0;;;;;;;;:::i;:::-;-1:-1:-1;23208:9:0;23220:5;23224:1;23220;:5;:::i;17843:2747::-;18245:4;18196:28;7811:18;;;:9;:18;;;;;;18306:14;;18282:38;;;;;;;18351:42;;-1:-1:-1;18386:7:0;;-1:-1:-1;;;;;18378:15:0;;;18386:7;;18378:15;;18351:42;:85;;;;-1:-1:-1;18410:26:0;;;;18351:85;:152;;;;-1:-1:-1;;;;;;18455:21:0;;18471:4;18455:21;:47;;;;-1:-1:-1;18494:7:0;;-1:-1:-1;;;;;18480:22:0;;;18494:7;;18480:22;18455:47;18453:50;18351:152;18333:2250;;;18610:9;;18578:65;;18595:4;;-1:-1:-1;;;;;18610:9:0;18622:20;18578:8;:65::i;:::-;18684:19;;18660:21;;18684:26;;18708:1;18684:23;:26::i;:::-;18660:50;;18725:26;18754:38;18778:13;18754:19;;:23;;:38;;;;:::i;:::-;18725:67;-1:-1:-1;18809:30:0;18842:76;:20;18725:67;18842:24;:76::i;:::-;19078:9;;18809:109;;-1:-1:-1;18959:21:0;;19047:66;;-1:-1:-1;;;;;19078:9:0;18809:109;19047:22;:66::i;:::-;19130:20;19153:40;:21;19179:13;19153:25;:40::i;:::-;19130:63;-1:-1:-1;19208:31:0;19242:95;19314:22;19242:49;19130:63;19277:13;19242:34;:49::i;:95::-;19208:129;;19352:23;19378:97;19438:22;19378:37;19395:19;;19378:12;:16;;:37;;;;:::i;:97::-;19352:123;-1:-1:-1;19490:25:0;19518:94;19352:123;19518:41;:12;19535:23;19518:16;:41::i;:::-;:45;;:94::i;:::-;19490:122;-1:-1:-1;19670:27:0;;19666:461;;19767:9;;19800:23;;19718:211;;-1:-1:-1;;;;;19767:9:0;;;;19800:23;19846:18;19887:23;19718:18;:211::i;:::-;19955:156;;;13092:25:1;;;13148:2;13133:18;;13126:34;;;13176:18;;;13169:34;;;19955:156:0;;13080:2:1;13065:18;19955:156:0;;;;;;;19666:461;20195:19;;20191:75;;20224:15;;20216:50;;-1:-1:-1;;;;;20224:15:0;;;;20216:50;;;;;20250:15;;20224;20216:50;20224:15;20216:50;20250:15;20224;20216:50;;;;;;;;;;;;;;;;;;;;;20191:75;20337:21;;20333:81;;20368:17;;20360:54;;-1:-1:-1;;;;;20368:17:0;;;;20360:54;;;;;20396:17;;20368;20360:54;20368:17;20360:54;20396:17;20368;20360:54;;;;;;;;;;;;;;;;;;;;;20333:81;-1:-1:-1;;20492:1:0;20470:19;:23;;;20508:19;:23;;;20546:21;:25;-1:-1:-1;;;;;;17907:2683:0;;17843:2747;;:::o;15522:1384::-;15677:7;;-1:-1:-1;;;;;15677:17:0;;;:7;;:17;:28;;;;;15698:7;15677:28;15673:1226;;;15722:14;15739:24;15756:6;15739:16;:24::i;:::-;15722:41;-1:-1:-1;15778:23:0;15804:18;:6;15722:41;15804:10;:18::i;:::-;15778:44;;15857:59;15879:6;15857:59;;;;;;;;;;;;;;;;;:9;:17;15867:6;-1:-1:-1;;;;;15857:17:0;-1:-1:-1;;;;;15857:17:0;;;;;;;;;;;;;:21;;:59;;;;;:::i;:::-;-1:-1:-1;;;;;15837:17:0;;;;;;;:9;:17;;;;;;:79;;;;15954:20;;;;;;;:41;;15979:15;15954:24;:41::i;:::-;-1:-1:-1;;;;;15931:20:0;;;;;;;:9;:20;;;;;;;:64;;;;16017:44;;;;;;-1:-1:-1;;;;;;;;;;;16017:44:0;;;16045:15;2307:25:1;;2295:2;2280:18;;2161:177;16017:44:0;;;;;;;;16076:28;16089:6;16097;16076:12;:28::i;:::-;16119:30;16142:6;16119:22;:30::i;:::-;15707:454;;15673:1226;;;16171:7;;-1:-1:-1;;;;;16171:20:0;;;:7;;:20;:31;;;;;16195:7;16171:31;16167:732;;;16219:14;16236:25;16254:6;16236:17;:25::i;:::-;16219:42;-1:-1:-1;16276:23:0;16302:18;:6;16219:42;16302:10;:18::i;:::-;16276:44;;16355:59;16377:6;16355:59;;;;;;;;;;;;;;;;;:9;:17;16365:6;-1:-1:-1;;;;;16355:17:0;-1:-1:-1;;;;;16355:17:0;;;;;;;;;;;;;:21;;:59;;;;;:::i;:::-;-1:-1:-1;;;;;16335:17:0;;;;;;;:9;:17;;;;;;:79;;;;16452:20;;;;;;;:41;;16477:15;16452:24;:41::i;:::-;-1:-1:-1;;;;;16429:20:0;;;;;;;:9;:20;;;;;;;:64;;;;16515:44;;;;;;-1:-1:-1;;;;;;;;;;;16515:44:0;;;16543:15;2307:25:1;;2295:2;2280:18;;2161:177;16515:44:0;;;;;;;;16574:28;16587:6;16595;16574:12;:28::i;:::-;16617:31;16641:6;16617:23;:31::i;16167:732::-;16701:59;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16701:17:0;;-1:-1:-1;16701:17:0;;;:9;:17;;;;;;;;:59;;16723:6;;16701:21;:59::i;:::-;-1:-1:-1;;;;;16681:17:0;;;;;;;:9;:17;;;;;;:79;;;;16798:20;;;;;;;:32;;16823:6;16798:24;:32::i;:::-;-1:-1:-1;;;;;16775:20:0;;;;;;;:9;:20;;;;;;;:55;;;;16852:35;;;;;;-1:-1:-1;;;;;;;;;;;16852:35:0;;;16880:6;2307:25:1;;2295:2;2280:18;;2161:177;16852:35:0;;;;;;;;15522:1384;;;;:::o;22032:136::-;22090:7;22117:43;22121:1;22124;22117:43;;;;;;;;;;;;;;;;;:3;:43::i;20689:603::-;20934:16;;;20948:1;20934:16;;;;;;;;20827:13;;20793:20;;20934:16;20948:1;20934:16;;;;;;;;;;-1:-1:-1;20934:16:0;20910:40;;20979:4;20961;20966:1;20961:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20961:23:0;;;-1:-1:-1;;;;;20961:23:0;;;;;21005:9;-1:-1:-1;;;;;21005:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20995:4;21000:1;20995:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20995:26:0;;;:7;;;;;;;;;:26;21060:60;;;21135:11;21161:1;21205:4;21232;21252:21;:15;21270:3;21252:21;:::i;:::-;21060:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20782:510;;20689:603;;:::o;21300:512::-;21497:13;-1:-1:-1;;;;;21554:25:0;;;21587:9;21620:4;21640:11;21463:20;;21752:5;21772:21;:15;21790:3;21772:21;:::i;:::-;21554:250;;;;;;-1:-1:-1;;;;;;21554:250:0;;;-1:-1:-1;;;;;15078:15:1;;;21554:250:0;;;15060:34:1;15110:18;;;15103:34;;;;15153:18;;;15146:34;;;;15196:18;;;15189:34;;;;15260:15;;;15239:19;;;15232:44;15292:19;;;15285:35;;;;14994:19;;21554:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16914:201::-;17032:4;17014:24;;;;:9;:24;;;;;;:36;;17043:6;17014:28;:36::i;:::-;17005:4;16987:24;;;;:9;:24;;;;;;;:63;;;;17068:39;;-1:-1:-1;;;;;17068:39:0;;;-1:-1:-1;;;;;;;;;;;17068:39:0;;;17100:6;2307:25:1;;2295:2;2280:18;;2161:177;17068:39:0;;;;;;;;16914:201;;:::o;17123:350::-;17213:76;17264:14;;17213:32;17224:20;;17213:6;:10;;:32;;;;:::i;:76::-;17190:19;;:99;;;;;;;:::i;:::-;;;;-1:-1:-1;;17360:14:0;;17334:20;;17323:52;;17360:14;17323:32;;:6;;:10;:32::i;:52::-;17300:19;;:75;;;;;;;:::i;:::-;;;;-1:-1:-1;;17450:14:0;;17422:22;;17411:54;;17450:14;17411:34;;:6;;:10;:34::i;:54::-;17386:21;;:79;;;;;;;:::i;:::-;;;;-1:-1:-1;;;17123:350:0:o;17481:354::-;17572:77;17624:14;;17572:33;17583:21;;17572:6;:10;;:33;;;;:::i;:77::-;17549:19;;:100;;;;;;;:::i;:::-;;;;-1:-1:-1;;17721:14:0;;17694:21;;17683:53;;17721:14;17683:33;;:6;;:10;:33::i;:53::-;17660:19;;:76;;;;;;;:::i;:::-;;;;-1:-1:-1;;17812:14:0;;17783:23;;17772:55;;17812:14;17772:35;;:6;;:10;:35::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;842:131::-;-1:-1:-1;;;;;917:31:1;;907:42;;897:70;;963:1;960;953:12;897:70;842:131;:::o;978:315::-;1046:6;1054;1107:2;1095:9;1086:7;1082:23;1078:32;1075:52;;;1123:1;1120;1113:12;1075:52;1162:9;1149:23;1181:31;1206:5;1181:31;:::i;:::-;1231:5;1283:2;1268:18;;;;1255:32;;-1:-1:-1;;;978:315:1:o;1490:160::-;1555:20;;1611:13;;1604:21;1594:32;;1584:60;;1640:1;1637;1630:12;1584:60;1490:160;;;:::o;1655:180::-;1711:6;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1803:26;1819:9;1803:26;:::i;1840:316::-;1917:6;1925;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;-1:-1:-1;;2025:23:1;;;2095:2;2080:18;;2067:32;;-1:-1:-1;2146:2:1;2131:18;;;2118:32;;1840:316;-1:-1:-1;1840:316:1:o;2343:456::-;2420:6;2428;2436;2489:2;2477:9;2468:7;2464:23;2460:32;2457:52;;;2505:1;2502;2495:12;2457:52;2544:9;2531:23;2563:31;2588:5;2563:31;:::i;:::-;2613:5;-1:-1:-1;2670:2:1;2655:18;;2642:32;2683:33;2642:32;2683:33;:::i;:::-;2343:456;;2735:7;;-1:-1:-1;;;2789:2:1;2774:18;;;;2761:32;;2343:456::o;2804:315::-;2869:6;2877;2930:2;2918:9;2909:7;2905:23;2901:32;2898:52;;;2946:1;2943;2936:12;2898:52;2985:9;2972:23;3004:31;3029:5;3004:31;:::i;:::-;3054:5;-1:-1:-1;3078:35:1;3109:2;3094:18;;3078:35;:::i;:::-;3068:45;;2804:315;;;;;:::o;3313:529::-;3390:6;3398;3406;3459:2;3447:9;3438:7;3434:23;3430:32;3427:52;;;3475:1;3472;3465:12;3427:52;3514:9;3501:23;3533:31;3558:5;3533:31;:::i;:::-;3583:5;-1:-1:-1;3640:2:1;3625:18;;3612:32;3653:33;3612:32;3653:33;:::i;:::-;3705:7;-1:-1:-1;3764:2:1;3749:18;;3736:32;3777:33;3736:32;3777:33;:::i;:::-;3829:7;3819:17;;;3313:529;;;;;:::o;3847:247::-;3906:6;3959:2;3947:9;3938:7;3934:23;3930:32;3927:52;;;3975:1;3972;3965:12;3927:52;4014:9;4001:23;4033:31;4058:5;4033:31;:::i;4307:180::-;4366:6;4419:2;4407:9;4398:7;4394:23;4390:32;4387:52;;;4435:1;4432;4425:12;4387:52;-1:-1:-1;4458:23:1;;4307:180;-1:-1:-1;4307:180:1:o;4492:388::-;4560:6;4568;4621:2;4609:9;4600:7;4596:23;4592:32;4589:52;;;4637:1;4634;4627:12;4589:52;4676:9;4663:23;4695:31;4720:5;4695:31;:::i;:::-;4745:5;-1:-1:-1;4802:2:1;4787:18;;4774:32;4815:33;4774:32;4815:33;:::i;:::-;4867:7;4857:17;;;4492:388;;;;;:::o;4885:380::-;4964:1;4960:12;;;;5007;;;5028:61;;5082:4;5074:6;5070:17;5060:27;;5028:61;5135:2;5127:6;5124:14;5104:18;5101:38;5098:161;;;5181:10;5176:3;5172:20;5169:1;5162:31;5216:4;5213:1;5206:15;5244:4;5241:1;5234:15;5098:161;;4885:380;;;:::o;5270:356::-;5472:2;5454:21;;;5491:18;;;5484:30;5550:34;5545:2;5530:18;;5523:62;5617:2;5602:18;;5270:356::o;6743:127::-;6804:10;6799:3;6795:20;6792:1;6785:31;6835:4;6832:1;6825:15;6859:4;6856:1;6849:15;6875:217;6915:1;6941;6931:132;;6985:10;6980:3;6976:20;6973:1;6966:31;7020:4;7017:1;7010:15;7048:4;7045:1;7038:15;6931:132;-1:-1:-1;7077:9:1;;6875:217::o;8253:168::-;8293:7;8359:1;8355;8351:6;8347:14;8344:1;8341:21;8336:1;8329:9;8322:17;8318:45;8315:71;;;8366:18;;:::i;:::-;-1:-1:-1;8406:9:1;;8253:168::o;9636:128::-;9676:3;9707:1;9703:6;9700:1;9697:13;9694:39;;;9713:18;;:::i;:::-;-1:-1:-1;9749:9:1;;9636:128::o;12760:125::-;12800:4;12828:1;12825;12822:8;12819:34;;;12833:18;;:::i;:::-;-1:-1:-1;12870:9:1;;12760:125::o;13346:127::-;13407:10;13402:3;13398:20;13395:1;13388:31;13438:4;13435:1;13428:15;13462:4;13459:1;13452:15;13478:251;13548:6;13601:2;13589:9;13580:7;13576:23;13572:32;13569:52;;;13617:1;13614;13607:12;13569:52;13649:9;13643:16;13668:31;13693:5;13668:31;:::i;13734:980::-;13996:4;14044:3;14033:9;14029:19;14075:6;14064:9;14057:25;14101:2;14139:6;14134:2;14123:9;14119:18;14112:34;14182:3;14177:2;14166:9;14162:18;14155:31;14206:6;14241;14235:13;14272:6;14264;14257:22;14310:3;14299:9;14295:19;14288:26;;14349:2;14341:6;14337:15;14323:29;;14370:1;14380:195;14394:6;14391:1;14388:13;14380:195;;;14459:13;;-1:-1:-1;;;;;14455:39:1;14443:52;;14550:15;;;;14515:12;;;;14491:1;14409:9;14380:195;;;-1:-1:-1;;;;;;;14631:32:1;;;;14626:2;14611:18;;14604:60;-1:-1:-1;;;14695:3:1;14680:19;14673:35;14592:3;13734:980;-1:-1:-1;;;13734:980:1:o;15331:306::-;15419:6;15427;15435;15488:2;15476:9;15467:7;15463:23;15459:32;15456:52;;;15504:1;15501;15494:12;15456:52;15533:9;15527:16;15517:26;;15583:2;15572:9;15568:18;15562:25;15552:35;;15627:2;15616:9;15612:18;15606:25;15596:35;;15331:306;;;;;:::o
Swarm Source
ipfs://1884844e063d9e320bc085710564dc75b923505e1574579533d6e7f8fcd8dbee
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.