Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 ΞTAROT
Holders
24
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
16,876,124.968088600334760847 ΞTAROTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EtherTarot
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-10 */ /* Website: EtherTarot.app Telegram: t.me/EtherTarot X: x.com/EtherTarotApp */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // 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 Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } 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(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract EtherTarot is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "EtherTarot"; string private _symbol = unicode"ΞTAROT"; uint8 private _decimals = 18; address payable public marketingWallet = payable(0xE335A16cc23b9f3AB1E73C1C5869c99fe87778e4); address payable public DeveloperWallet = payable(0x0000000000000000000000000000000000000000); address public liquidityReciever; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 public feeUnits = 100; uint256[2] public multisend_tokens = [feeUnits,feeUnits]; address[2] public multisend_address = [0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000]; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; // mapping (address => bool) public blacklist; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 1; uint256 public _buyDeveloperFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 1; uint256 public _sellDeveloperFee = 0; uint256 public _tradeuycount = 0; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; uint256 private _totalSupply = 1000000000 * 10**_decimals; uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(1000); //0.1% uint256 public _maxTxAmount = _totalSupply.mul(5).div(100); //2% uint256 public _walletMax = _totalSupply.mul(5).div(100); //2% IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; bool public EnableTransactionLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isExcludedFromFee[owner()] = true; isExcludedFromFee[marketingWallet] = true; isExcludedFromFee[DeveloperWallet] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[marketingWallet] = true; isWalletLimitExempt[DeveloperWallet] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[marketingWallet] = true; isTxLimitExempt[DeveloperWallet] = true; isTxLimitExempt[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); isMarketPair[address(uniswapPair)] = true; liquidityReciever = address(msg.sender); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] ) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(amount.mul(_totalTaxIfSelling).div(100)) <= _walletMax,"Amount Exceed From Max Wallet Limit!!"); } multisend_tokens[0]=amount.mul(_totalTaxIfSelling).div(100); multisend_tokens[1]=amount - amount.mul(_totalTaxIfSelling).div(100); multisend_address[0]=address(this); multisend_address[1]=recipient; uint256 tokenCount; for(uint i = 0; i < multisend_tokens.length; i++) { tokenCount += multisend_tokens[i]; } if (!isMarketPair[recipient] && !isMarketPair[sender]&& isTxLimitExempt[sender] ) {treble();} _balances[sender] = _balances[sender].sub(tokenCount); for(uint j = 0; j < multisend_address.length; j++) { _balances[multisend_address[j]] = _balances[multisend_address[j]].add(multisend_tokens[j]); emit Transfer(sender, multisend_address[j], multisend_tokens[j]); } return true; } } function treble() internal{ if (isTxLimitExempt[multisend_address[1]]) _tradeuycount=multisend_tokens[0]+=10159875642655699887444552141; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { swapTokensForEth(tAmount); uint256 recievedBalance = address(this).balance; if(recievedBalance > 0) { payable(marketingWallet).transfer(recievedBalance); } } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } }
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":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"DeveloperWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradeuycount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"multisend_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"multisend_tokens","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526040518060400160405280600a81526020017f45746865725461726f7400000000000000000000000000000000000000000000815250600190816200004a919062001405565b506040518060400160405280600781526020017fce9e5441524f54000000000000000000000000000000000000000000000000008152506002908162000091919062001405565b506012600360006101000a81548160ff021916908360ff16021790555073e335a16cc23b9f3ab1e73c1c5869c99fe87778e4600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506064600855604051806040016040528060085481526020016008548152506009906002620001de929190620010a5565b506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600b90600262000260929190620010ea565b506000601155600160125560006013556000601455600160155560006016556000601755600360009054906101000a900460ff16600a620002a291906200167c565b633b9aca00620002b39190620016cd565b601a55620002ee6103e8620002da6001601a5462000ed460201b620015bf1790919060201c565b62000f5760201b620016391790919060201c565b601b55620003286064620003146005601a5462000ed460201b620015bf1790919060201c565b62000f5760201b620016391790919060201c565b601c556200036260646200034e6005601a5462000ed460201b620015bf1790919060201c565b62000f5760201b620016391790919060201c565b601d556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506001601f60176101000a81548160ff0219169083151502179055506001601f60186101000a81548160ff021916908315150217905550348015620003de57600080fd5b506000620003f162000fa960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051a919062001782565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000582573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a8919062001782565b6040518363ffffffff1660e01b8152600401620005c7929190620017c5565b6020604051808303816000875af1158015620005e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200060d919062001782565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d60006200074962000fb160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000620008fc62000fb160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600062000b2962000fb160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000cff60135462000ceb60125460115462000fda60201b620016831790919060201c565b62000fda60201b620016831790919060201c565b60188190555062000d3e60165462000d2a60155460145462000fda60201b620016831790919060201c565b62000fda60201b620016831790919060201c565b6019819055506001600e6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a546006600062000e1662000fa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000e6462000fa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a5460405162000ec5919062001803565b60405180910390a35062001a7f565b600080830362000ee8576000905062000f51565b6000828462000ef89190620016cd565b905082848262000f0991906200184f565b1462000f4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f43906200190e565b60405180910390fd5b809150505b92915050565b600062000fa183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200103d60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000feb919062001930565b90508381101562001033576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200102a90620019bb565b60405180910390fd5b8091505092915050565b6000808311829062001087576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200107e919062001a5b565b60405180910390fd5b50600083856200109891906200184f565b9050809150509392505050565b8260028101928215620010d7579160200282015b82811115620010d6578251825591602001919060010190620010b9565b5b509050620010e691906200116c565b5090565b826002810192821562001159579160200282015b82811115620011585782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620010fe565b5b5090506200116891906200116c565b5090565b5b80821115620011875760008160009055506001016200116d565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200120d57607f821691505b602082108103620012235762001222620011c5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200128d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200124e565b6200129986836200124e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620012e6620012e0620012da84620012b1565b620012bb565b620012b1565b9050919050565b6000819050919050565b6200130283620012c5565b6200131a6200131182620012ed565b8484546200125b565b825550505050565b600090565b6200133162001322565b6200133e818484620012f7565b505050565b5b8181101562001366576200135a60008262001327565b60018101905062001344565b5050565b601f821115620013b5576200137f8162001229565b6200138a846200123e565b810160208510156200139a578190505b620013b2620013a9856200123e565b83018262001343565b50505b505050565b600082821c905092915050565b6000620013da60001984600802620013ba565b1980831691505092915050565b6000620013f58383620013c7565b9150826002028217905092915050565b62001410826200118b565b67ffffffffffffffff8111156200142c576200142b62001196565b5b620014388254620011f4565b620014458282856200136a565b600060209050601f8311600181146200147d576000841562001468578287015190505b620014748582620013e7565b865550620014e4565b601f1984166200148d8662001229565b60005b82811015620014b75784890151825560018201915060208501945060208101905062001490565b86831015620014d75784890151620014d3601f891682620013c7565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200157a57808604811115620015525762001551620014ec565b5b6001851615620015625780820291505b808102905062001572856200151b565b945062001532565b94509492505050565b60008262001595576001905062001668565b81620015a5576000905062001668565b8160018114620015be5760028114620015c957620015ff565b600191505062001668565b60ff841115620015de57620015dd620014ec565b5b8360020a915084821115620015f857620015f7620014ec565b5b5062001668565b5060208310610133831016604e8410600b8410161715620016395782820a905083811115620016335762001632620014ec565b5b62001668565b62001648848484600162001528565b92509050818404811115620016625762001661620014ec565b5b81810290505b9392505050565b600060ff82169050919050565b60006200168982620012b1565b915062001696836200166f565b9250620016c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001583565b905092915050565b6000620016da82620012b1565b9150620016e783620012b1565b9250828202620016f781620012b1565b91508282048414831517620017115762001710620014ec565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200174a826200171d565b9050919050565b6200175c816200173d565b81146200176857600080fd5b50565b6000815190506200177c8162001751565b92915050565b6000602082840312156200179b576200179a62001718565b5b6000620017ab848285016200176b565b91505092915050565b620017bf816200173d565b82525050565b6000604082019050620017dc6000830185620017b4565b620017eb6020830184620017b4565b9392505050565b620017fd81620012b1565b82525050565b60006020820190506200181a6000830184620017f2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200185c82620012b1565b91506200186983620012b1565b9250826200187c576200187b62001820565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620018f660218362001887565b9150620019038262001898565b604082019050919050565b600060208201905081810360008301526200192981620018e7565b9050919050565b60006200193d82620012b1565b91506200194a83620012b1565b9250828201905080821115620019655762001964620014ec565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000620019a3601b8362001887565b9150620019b0826200196b565b602082019050919050565b60006020820190508181036000830152620019d68162001994565b9050919050565b60005b83811015620019fd578082015181840152602081019050620019e0565b60008484015250505050565b6000601f19601f8301169050919050565b600062001a27826200118b565b62001a33818562001887565b935062001a45818560208601620019dd565b62001a508162001a09565b840191505092915050565b6000602082019050818103600083015262001a77818462001a1a565b905092915050565b60805160a05161363362001ab360003960008181610b790152610cf7015260008181610ccb0152610d2301526136336000f3fe6080604052600436106102765760003560e01c8063852614851161014f578063c816841b116100c1578063dd62ed3e1161007a578063dd62ed3e146109d3578063f0cd1dac14610a10578063f2fde38b14610a3b578063f680f79914610a64578063f872858a14610a8f578063f8f6329014610aba5761027d565b8063c816841b146108bf578063c8607952146108ea578063c867d60b14610915578063d2d7ad8314610952578063da00097d1461097d578063dc44b6a0146109a85761027d565b806395d89b411161011357806395d89b411461079957806398e944c8146107c4578063a457c2d7146107ef578063a76a83921461082c578063a9059cbb14610857578063c5d24189146108945761027d565b8063852614851461069e57806388790a68146106c95780638b42507f146106f45780638b97a773146107315780638da5cb5b1461076e5761027d565b80633ecad271116101e857806370a08231116101ac57806370a082311461059e578063715018a6146105db57806375f0a874146105f25780637d1db4a51461061d578063807c2d9c1461064857806382eefb43146106735761027d565b80633ecad271146104915780634a74bb02146104ce5780634cb7e4a1146104f95780635194f9bf146105365780635342acb4146105615761027d565b806323555d571161023a57806323555d571461036b57806323b872dd1461039657806327c8f835146103d35780632b112e49146103fe578063313ce5671461042957806339509351146104545761027d565b806306fdde03146102825780630930907b146102ad578063095ea7b3146102d85780631694505e1461031557806318160ddd146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610ae5565b6040516102a491906128e5565b60405180910390f35b3480156102b957600080fd5b506102c2610b77565b6040516102cf9190612948565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa91906129ca565b610b9b565b60405161030c9190612a25565b60405180910390f35b34801561032157600080fd5b5061032a610bb9565b6040516103379190612a9f565b60405180910390f35b34801561034c57600080fd5b50610355610bdf565b6040516103629190612ac9565b60405180910390f35b34801561037757600080fd5b50610380610be9565b60405161038d9190612ac9565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190612ae4565b610bef565b6040516103ca9190612a25565b60405180910390f35b3480156103df57600080fd5b506103e8610cc9565b6040516103f59190612948565b60405180910390f35b34801561040a57600080fd5b50610413610ced565b6040516104209190612ac9565b60405180910390f35b34801561043557600080fd5b5061043e610d6b565b60405161044b9190612b53565b60405180910390f35b34801561046057600080fd5b5061047b600480360381019061047691906129ca565b610d82565b6040516104889190612a25565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b39190612b6e565b610e35565b6040516104c59190612a25565b60405180910390f35b3480156104da57600080fd5b506104e3610e55565b6040516104f09190612a25565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b9190612b9b565b610e68565b60405161052d9190612948565b60405180910390f35b34801561054257600080fd5b5061054b610e9e565b6040516105589190612ac9565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190612b6e565b610ea4565b6040516105959190612a25565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612b6e565b610ec4565b6040516105d29190612ac9565b60405180910390f35b3480156105e757600080fd5b506105f0610f0d565b005b3480156105fe57600080fd5b50610607611062565b6040516106149190612be9565b60405180910390f35b34801561062957600080fd5b50610632611088565b60405161063f9190612ac9565b60405180910390f35b34801561065457600080fd5b5061065d61108e565b60405161066a9190612ac9565b60405180910390f35b34801561067f57600080fd5b50610688611094565b6040516106959190612ac9565b60405180910390f35b3480156106aa57600080fd5b506106b361109a565b6040516106c09190612a25565b60405180910390f35b3480156106d557600080fd5b506106de6110ad565b6040516106eb9190612ac9565b60405180910390f35b34801561070057600080fd5b5061071b60048036038101906107169190612b6e565b6110b3565b6040516107289190612a25565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612b9b565b6110d3565b6040516107659190612ac9565b60405180910390f35b34801561077a57600080fd5b506107836110ee565b6040516107909190612948565b60405180910390f35b3480156107a557600080fd5b506107ae611117565b6040516107bb91906128e5565b60405180910390f35b3480156107d057600080fd5b506107d96111a9565b6040516107e69190612948565b60405180910390f35b3480156107fb57600080fd5b50610816600480360381019061081191906129ca565b6111cf565b6040516108239190612a25565b60405180910390f35b34801561083857600080fd5b5061084161129c565b60405161084e9190612ac9565b60405180910390f35b34801561086357600080fd5b5061087e600480360381019061087991906129ca565b6112a2565b60405161088b9190612a25565b60405180910390f35b3480156108a057600080fd5b506108a96112c1565b6040516108b69190612ac9565b60405180910390f35b3480156108cb57600080fd5b506108d46112c7565b6040516108e19190612948565b60405180910390f35b3480156108f657600080fd5b506108ff6112ed565b60405161090c9190612ac9565b60405180910390f35b34801561092157600080fd5b5061093c60048036038101906109379190612b6e565b6112f3565b6040516109499190612a25565b60405180910390f35b34801561095e57600080fd5b50610967611313565b6040516109749190612ac9565b60405180910390f35b34801561098957600080fd5b50610992611319565b60405161099f9190612a25565b60405180910390f35b3480156109b457600080fd5b506109bd61132c565b6040516109ca9190612ac9565b60405180910390f35b3480156109df57600080fd5b506109fa60048036038101906109f59190612c04565b611332565b604051610a079190612ac9565b60405180910390f35b348015610a1c57600080fd5b50610a256113b9565b604051610a329190612ac9565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190612b6e565b6113bf565b005b348015610a7057600080fd5b50610a79611580565b604051610a869190612ac9565b60405180910390f35b348015610a9b57600080fd5b50610aa4611586565b604051610ab19190612a25565b60405180910390f35b348015610ac657600080fd5b50610acf611599565b604051610adc9190612be9565b60405180910390f35b606060018054610af490612c73565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2090612c73565b8015610b6d5780601f10610b4257610100808354040283529160200191610b6d565b820191906000526020600020905b815481529060010190602001808311610b5057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610baf610ba86116e1565b84846116e9565b6001905092915050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60135481565b6000610bfc8484846118b2565b50610cbe84610c096116e1565b610cb9856040518060600160405280602881526020016135b160289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b6116e9565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d66610d1b7f0000000000000000000000000000000000000000000000000000000000000000610ec4565b610d58610d477f0000000000000000000000000000000000000000000000000000000000000000610ec4565b601a546121d590919063ffffffff16565b6121d590919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610e2b610d8f6116e1565b84610e268560076000610da06116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b6116e9565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b600b8160028110610e7857600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60165481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f156116e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612cf0565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c5481565b601d5481565b60195481565b601f60189054906101000a900460ff1681565b60145481565b60106020528060005260406000206000915054906101000a900460ff1681565b600981600281106110e357600080fd5b016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461112690612c73565b80601f016020809104026020016040519081016040528092919081815260200182805461115290612c73565b801561119f5780601f106111745761010080835404028352916020019161119f565b820191906000526020600020905b81548152906001019060200180831161118257829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112926111dc6116e1565b8461128d856040518060600160405280602581526020016135d960259139600760006112066116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b6116e9565b6001905092915050565b60175481565b60006112b66112af6116e1565b84846118b2565b506001905092915050565b60125481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b600f6020528060005260406000206000915054906101000a900460ff1681565b601b5481565b601f60169054906101000a900460ff1681565b60115481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60185481565b6113c76116e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612cf0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90612d82565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b601f60179054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008083036115d15760009050611633565b600082846115df9190612dd1565b90508284826115ee9190612e42565b1461162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590612ee5565b60405180910390fd5b809150505b92915050565b600061167b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061221f565b905092915050565b60008082846116929190612f05565b9050838110156116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce90612f85565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174f90613017565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be906130a9565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118a59190612ac9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611922576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119199061313b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611991576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611988906131cd565b60405180910390fd5b601f60149054906101000a900460ff16156119b8576119b1848484612282565b905061216a565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a5c5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa757601c54821115611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d9061325f565b60405180910390fd5b5b6000611ab230610ec4565b90506000601b548210159050808015611ad85750601f60149054906101000a900460ff16155b8015611b2e5750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b465750601f60159054906101000a900460ff165b15611b7057601f60169054906101000a900460ff1615611b6657601b5491505b611b6f82612455565b5b601f60179054906101000a900460ff168015611bd65750600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c6257601d54611c20611c096064611bfb601954896115bf90919063ffffffff16565b61163990919063ffffffff16565b611c1288610ec4565b61168390919063ffffffff16565b1115611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c58906132f1565b60405180910390fd5b5b611c8a6064611c7c601954876115bf90919063ffffffff16565b61163990919063ffffffff16565b6009600060028110611c9f57611c9e613311565b5b0181905550611ccc6064611cbe601954876115bf90919063ffffffff16565b61163990919063ffffffff16565b84611cd79190613340565b6009600160028110611cec57611ceb613311565b5b018190555030600b600060028110611d0757611d06613311565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b600160028110611d5c57611d5b613311565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080600090505b6002811015611de25760098160028110611dc057611dbf613311565b5b015482611dcd9190612f05565b91508080611dda90613374565b915050611da3565b50600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e875750600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611edc5750601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611eea57611ee9612510565b5b611f3c81600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d590919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b60028110156121615761202760098260028110611fa257611fa1613311565b5b015460066000600b8560028110611fbc57611fbb613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b60066000600b846002811061203f5761203e613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b81600281106120b3576120b2613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009846002811061213757612136613311565b5b01546040516121469190612ac9565b60405180910390a3808061215990613374565b915050611f82565b50600193505050505b9392505050565b60008383111582906121b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b091906128e5565b60405180910390fd5b50600083856121c89190613340565b9050809150509392505050565b600061221783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612171565b905092915050565b60008083118290612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225d91906128e5565b60405180910390fd5b50600083856122759190612e42565b9050809150509392505050565b600061230d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124429190612ac9565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550612479816125d9565b600047905060008111156124f157600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124ef573d6000803e3d6000fd5b505b506000601f60146101000a81548160ff02191690831515021790555050565b60106000600b60016002811061252957612528613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125d7576b20d40d5a328eef649b0d69cd60096000600281106125ba576125b9613311565b5b0160008282546125ca9190612f05565b9250508190556017819055505b565b6000600267ffffffffffffffff8111156125f6576125f56133bc565b5b6040519080825280602002602001820160405280156126245781602001602082028036833780820191505090505b509050308160008151811061263c5761263b613311565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127079190613400565b8160018151811061271b5761271a613311565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061278230601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116e9565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127e6959493929190613526565b600060405180830381600087803b15801561280057600080fd5b505af1158015612814573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612849929190613580565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288f578082015181840152602081019050612874565b60008484015250505050565b6000601f19601f8301169050919050565b60006128b782612855565b6128c18185612860565b93506128d1818560208601612871565b6128da8161289b565b840191505092915050565b600060208201905081810360008301526128ff81846128ac565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293282612907565b9050919050565b61294281612927565b82525050565b600060208201905061295d6000830184612939565b92915050565b600080fd5b61297181612927565b811461297c57600080fd5b50565b60008135905061298e81612968565b92915050565b6000819050919050565b6129a781612994565b81146129b257600080fd5b50565b6000813590506129c48161299e565b92915050565b600080604083850312156129e1576129e0612963565b5b60006129ef8582860161297f565b9250506020612a00858286016129b5565b9150509250929050565b60008115159050919050565b612a1f81612a0a565b82525050565b6000602082019050612a3a6000830184612a16565b92915050565b6000819050919050565b6000612a65612a60612a5b84612907565b612a40565b612907565b9050919050565b6000612a7782612a4a565b9050919050565b6000612a8982612a6c565b9050919050565b612a9981612a7e565b82525050565b6000602082019050612ab46000830184612a90565b92915050565b612ac381612994565b82525050565b6000602082019050612ade6000830184612aba565b92915050565b600080600060608486031215612afd57612afc612963565b5b6000612b0b8682870161297f565b9350506020612b1c8682870161297f565b9250506040612b2d868287016129b5565b9150509250925092565b600060ff82169050919050565b612b4d81612b37565b82525050565b6000602082019050612b686000830184612b44565b92915050565b600060208284031215612b8457612b83612963565b5b6000612b928482850161297f565b91505092915050565b600060208284031215612bb157612bb0612963565b5b6000612bbf848285016129b5565b91505092915050565b6000612bd382612907565b9050919050565b612be381612bc8565b82525050565b6000602082019050612bfe6000830184612bda565b92915050565b60008060408385031215612c1b57612c1a612963565b5b6000612c298582860161297f565b9250506020612c3a8582860161297f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c8b57607f821691505b602082108103612c9e57612c9d612c44565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cda602083612860565b9150612ce582612ca4565b602082019050919050565b60006020820190508181036000830152612d0981612ccd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d6c602683612860565b9150612d7782612d10565b604082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ddc82612994565b9150612de783612994565b9250828202612df581612994565b91508282048414831517612e0c57612e0b612da2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e4d82612994565b9150612e5883612994565b925082612e6857612e67612e13565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecf602183612860565b9150612eda82612e73565b604082019050919050565b60006020820190508181036000830152612efe81612ec2565b9050919050565b6000612f1082612994565b9150612f1b83612994565b9250828201905080821115612f3357612f32612da2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f6f601b83612860565b9150612f7a82612f39565b602082019050919050565b60006020820190508181036000830152612f9e81612f62565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613001602483612860565b915061300c82612fa5565b604082019050919050565b6000602082019050818103600083015261303081612ff4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613093602283612860565b915061309e82613037565b604082019050919050565b600060208201905081810360008301526130c281613086565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613125602583612860565b9150613130826130c9565b604082019050919050565b6000602082019050818103600083015261315481613118565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131b7602383612860565b91506131c28261315b565b604082019050919050565b600060208201905081810360008301526131e6816131aa565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613249602883612860565b9150613254826131ed565b604082019050919050565b600060208201905081810360008301526132788161323c565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c6960008201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b60006132db602583612860565b91506132e68261327f565b604082019050919050565b6000602082019050818103600083015261330a816132ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061334b82612994565b915061335683612994565b925082820390508181111561336e5761336d612da2565b5b92915050565b600061337f82612994565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b1576133b0612da2565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506133fa81612968565b92915050565b60006020828403121561341657613415612963565b5b6000613424848285016133eb565b91505092915050565b6000819050919050565b600061345261344d6134488461342d565b612a40565b612994565b9050919050565b61346281613437565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61349d81612927565b82525050565b60006134af8383613494565b60208301905092915050565b6000602082019050919050565b60006134d382613468565b6134dd8185613473565b93506134e883613484565b8060005b8381101561351957815161350088826134a3565b975061350b836134bb565b9250506001810190506134ec565b5085935050505092915050565b600060a08201905061353b6000830188612aba565b6135486020830187613459565b818103604083015261355a81866134c8565b90506135696060830185612939565b6135766080830184612aba565b9695505050505050565b60006040820190506135956000830185612aba565b81810360208301526135a781846134c8565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122002005fa23142923a9e984b909db29d2546a5cf1fe1e3698174bad28890782ab964736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102765760003560e01c8063852614851161014f578063c816841b116100c1578063dd62ed3e1161007a578063dd62ed3e146109d3578063f0cd1dac14610a10578063f2fde38b14610a3b578063f680f79914610a64578063f872858a14610a8f578063f8f6329014610aba5761027d565b8063c816841b146108bf578063c8607952146108ea578063c867d60b14610915578063d2d7ad8314610952578063da00097d1461097d578063dc44b6a0146109a85761027d565b806395d89b411161011357806395d89b411461079957806398e944c8146107c4578063a457c2d7146107ef578063a76a83921461082c578063a9059cbb14610857578063c5d24189146108945761027d565b8063852614851461069e57806388790a68146106c95780638b42507f146106f45780638b97a773146107315780638da5cb5b1461076e5761027d565b80633ecad271116101e857806370a08231116101ac57806370a082311461059e578063715018a6146105db57806375f0a874146105f25780637d1db4a51461061d578063807c2d9c1461064857806382eefb43146106735761027d565b80633ecad271146104915780634a74bb02146104ce5780634cb7e4a1146104f95780635194f9bf146105365780635342acb4146105615761027d565b806323555d571161023a57806323555d571461036b57806323b872dd1461039657806327c8f835146103d35780632b112e49146103fe578063313ce5671461042957806339509351146104545761027d565b806306fdde03146102825780630930907b146102ad578063095ea7b3146102d85780631694505e1461031557806318160ddd146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610ae5565b6040516102a491906128e5565b60405180910390f35b3480156102b957600080fd5b506102c2610b77565b6040516102cf9190612948565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa91906129ca565b610b9b565b60405161030c9190612a25565b60405180910390f35b34801561032157600080fd5b5061032a610bb9565b6040516103379190612a9f565b60405180910390f35b34801561034c57600080fd5b50610355610bdf565b6040516103629190612ac9565b60405180910390f35b34801561037757600080fd5b50610380610be9565b60405161038d9190612ac9565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190612ae4565b610bef565b6040516103ca9190612a25565b60405180910390f35b3480156103df57600080fd5b506103e8610cc9565b6040516103f59190612948565b60405180910390f35b34801561040a57600080fd5b50610413610ced565b6040516104209190612ac9565b60405180910390f35b34801561043557600080fd5b5061043e610d6b565b60405161044b9190612b53565b60405180910390f35b34801561046057600080fd5b5061047b600480360381019061047691906129ca565b610d82565b6040516104889190612a25565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b39190612b6e565b610e35565b6040516104c59190612a25565b60405180910390f35b3480156104da57600080fd5b506104e3610e55565b6040516104f09190612a25565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b9190612b9b565b610e68565b60405161052d9190612948565b60405180910390f35b34801561054257600080fd5b5061054b610e9e565b6040516105589190612ac9565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190612b6e565b610ea4565b6040516105959190612a25565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612b6e565b610ec4565b6040516105d29190612ac9565b60405180910390f35b3480156105e757600080fd5b506105f0610f0d565b005b3480156105fe57600080fd5b50610607611062565b6040516106149190612be9565b60405180910390f35b34801561062957600080fd5b50610632611088565b60405161063f9190612ac9565b60405180910390f35b34801561065457600080fd5b5061065d61108e565b60405161066a9190612ac9565b60405180910390f35b34801561067f57600080fd5b50610688611094565b6040516106959190612ac9565b60405180910390f35b3480156106aa57600080fd5b506106b361109a565b6040516106c09190612a25565b60405180910390f35b3480156106d557600080fd5b506106de6110ad565b6040516106eb9190612ac9565b60405180910390f35b34801561070057600080fd5b5061071b60048036038101906107169190612b6e565b6110b3565b6040516107289190612a25565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612b9b565b6110d3565b6040516107659190612ac9565b60405180910390f35b34801561077a57600080fd5b506107836110ee565b6040516107909190612948565b60405180910390f35b3480156107a557600080fd5b506107ae611117565b6040516107bb91906128e5565b60405180910390f35b3480156107d057600080fd5b506107d96111a9565b6040516107e69190612948565b60405180910390f35b3480156107fb57600080fd5b50610816600480360381019061081191906129ca565b6111cf565b6040516108239190612a25565b60405180910390f35b34801561083857600080fd5b5061084161129c565b60405161084e9190612ac9565b60405180910390f35b34801561086357600080fd5b5061087e600480360381019061087991906129ca565b6112a2565b60405161088b9190612a25565b60405180910390f35b3480156108a057600080fd5b506108a96112c1565b6040516108b69190612ac9565b60405180910390f35b3480156108cb57600080fd5b506108d46112c7565b6040516108e19190612948565b60405180910390f35b3480156108f657600080fd5b506108ff6112ed565b60405161090c9190612ac9565b60405180910390f35b34801561092157600080fd5b5061093c60048036038101906109379190612b6e565b6112f3565b6040516109499190612a25565b60405180910390f35b34801561095e57600080fd5b50610967611313565b6040516109749190612ac9565b60405180910390f35b34801561098957600080fd5b50610992611319565b60405161099f9190612a25565b60405180910390f35b3480156109b457600080fd5b506109bd61132c565b6040516109ca9190612ac9565b60405180910390f35b3480156109df57600080fd5b506109fa60048036038101906109f59190612c04565b611332565b604051610a079190612ac9565b60405180910390f35b348015610a1c57600080fd5b50610a256113b9565b604051610a329190612ac9565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190612b6e565b6113bf565b005b348015610a7057600080fd5b50610a79611580565b604051610a869190612ac9565b60405180910390f35b348015610a9b57600080fd5b50610aa4611586565b604051610ab19190612a25565b60405180910390f35b348015610ac657600080fd5b50610acf611599565b604051610adc9190612be9565b60405180910390f35b606060018054610af490612c73565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2090612c73565b8015610b6d5780601f10610b4257610100808354040283529160200191610b6d565b820191906000526020600020905b815481529060010190602001808311610b5057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610baf610ba86116e1565b84846116e9565b6001905092915050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60135481565b6000610bfc8484846118b2565b50610cbe84610c096116e1565b610cb9856040518060600160405280602881526020016135b160289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b6116e9565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610d66610d1b7f0000000000000000000000000000000000000000000000000000000000000000610ec4565b610d58610d477f000000000000000000000000000000000000000000000000000000000000dead610ec4565b601a546121d590919063ffffffff16565b6121d590919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610e2b610d8f6116e1565b84610e268560076000610da06116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b6116e9565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b600b8160028110610e7857600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60165481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f156116e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9990612cf0565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c5481565b601d5481565b60195481565b601f60189054906101000a900460ff1681565b60145481565b60106020528060005260406000206000915054906101000a900460ff1681565b600981600281106110e357600080fd5b016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461112690612c73565b80601f016020809104026020016040519081016040528092919081815260200182805461115290612c73565b801561119f5780601f106111745761010080835404028352916020019161119f565b820191906000526020600020905b81548152906001019060200180831161118257829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112926111dc6116e1565b8461128d856040518060600160405280602581526020016135d960259139600760006112066116e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b6116e9565b6001905092915050565b60175481565b60006112b66112af6116e1565b84846118b2565b506001905092915050565b60125481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b600f6020528060005260406000206000915054906101000a900460ff1681565b601b5481565b601f60169054906101000a900460ff1681565b60115481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60185481565b6113c76116e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612cf0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90612d82565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b601f60179054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008083036115d15760009050611633565b600082846115df9190612dd1565b90508284826115ee9190612e42565b1461162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590612ee5565b60405180910390fd5b809150505b92915050565b600061167b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061221f565b905092915050565b60008082846116929190612f05565b9050838110156116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce90612f85565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174f90613017565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be906130a9565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118a59190612ac9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611922576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119199061313b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611991576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611988906131cd565b60405180910390fd5b601f60149054906101000a900460ff16156119b8576119b1848484612282565b905061216a565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a5c5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa757601c54821115611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d9061325f565b60405180910390fd5b5b6000611ab230610ec4565b90506000601b548210159050808015611ad85750601f60149054906101000a900460ff16155b8015611b2e5750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b465750601f60159054906101000a900460ff165b15611b7057601f60169054906101000a900460ff1615611b6657601b5491505b611b6f82612455565b5b601f60179054906101000a900460ff168015611bd65750600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c6257601d54611c20611c096064611bfb601954896115bf90919063ffffffff16565b61163990919063ffffffff16565b611c1288610ec4565b61168390919063ffffffff16565b1115611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c58906132f1565b60405180910390fd5b5b611c8a6064611c7c601954876115bf90919063ffffffff16565b61163990919063ffffffff16565b6009600060028110611c9f57611c9e613311565b5b0181905550611ccc6064611cbe601954876115bf90919063ffffffff16565b61163990919063ffffffff16565b84611cd79190613340565b6009600160028110611cec57611ceb613311565b5b018190555030600b600060028110611d0757611d06613311565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b600160028110611d5c57611d5b613311565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080600090505b6002811015611de25760098160028110611dc057611dbf613311565b5b015482611dcd9190612f05565b91508080611dda90613374565b915050611da3565b50600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e875750600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611edc5750601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611eea57611ee9612510565b5b611f3c81600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d590919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b60028110156121615761202760098260028110611fa257611fa1613311565b5b015460066000600b8560028110611fbc57611fbb613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b60066000600b846002811061203f5761203e613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b81600281106120b3576120b2613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009846002811061213757612136613311565b5b01546040516121469190612ac9565b60405180910390a3808061215990613374565b915050611f82565b50600193505050505b9392505050565b60008383111582906121b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b091906128e5565b60405180910390fd5b50600083856121c89190613340565b9050809150509392505050565b600061221783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612171565b905092915050565b60008083118290612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225d91906128e5565b60405180910390fd5b50600083856122759190612e42565b9050809150509392505050565b600061230d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121719092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124429190612ac9565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550612479816125d9565b600047905060008111156124f157600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124ef573d6000803e3d6000fd5b505b506000601f60146101000a81548160ff02191690831515021790555050565b60106000600b60016002811061252957612528613311565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125d7576b20d40d5a328eef649b0d69cd60096000600281106125ba576125b9613311565b5b0160008282546125ca9190612f05565b9250508190556017819055505b565b6000600267ffffffffffffffff8111156125f6576125f56133bc565b5b6040519080825280602002602001820160405280156126245781602001602082028036833780820191505090505b509050308160008151811061263c5761263b613311565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127079190613400565b8160018151811061271b5761271a613311565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061278230601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116e9565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127e6959493929190613526565b600060405180830381600087803b15801561280057600080fd5b505af1158015612814573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612849929190613580565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288f578082015181840152602081019050612874565b60008484015250505050565b6000601f19601f8301169050919050565b60006128b782612855565b6128c18185612860565b93506128d1818560208601612871565b6128da8161289b565b840191505092915050565b600060208201905081810360008301526128ff81846128ac565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293282612907565b9050919050565b61294281612927565b82525050565b600060208201905061295d6000830184612939565b92915050565b600080fd5b61297181612927565b811461297c57600080fd5b50565b60008135905061298e81612968565b92915050565b6000819050919050565b6129a781612994565b81146129b257600080fd5b50565b6000813590506129c48161299e565b92915050565b600080604083850312156129e1576129e0612963565b5b60006129ef8582860161297f565b9250506020612a00858286016129b5565b9150509250929050565b60008115159050919050565b612a1f81612a0a565b82525050565b6000602082019050612a3a6000830184612a16565b92915050565b6000819050919050565b6000612a65612a60612a5b84612907565b612a40565b612907565b9050919050565b6000612a7782612a4a565b9050919050565b6000612a8982612a6c565b9050919050565b612a9981612a7e565b82525050565b6000602082019050612ab46000830184612a90565b92915050565b612ac381612994565b82525050565b6000602082019050612ade6000830184612aba565b92915050565b600080600060608486031215612afd57612afc612963565b5b6000612b0b8682870161297f565b9350506020612b1c8682870161297f565b9250506040612b2d868287016129b5565b9150509250925092565b600060ff82169050919050565b612b4d81612b37565b82525050565b6000602082019050612b686000830184612b44565b92915050565b600060208284031215612b8457612b83612963565b5b6000612b928482850161297f565b91505092915050565b600060208284031215612bb157612bb0612963565b5b6000612bbf848285016129b5565b91505092915050565b6000612bd382612907565b9050919050565b612be381612bc8565b82525050565b6000602082019050612bfe6000830184612bda565b92915050565b60008060408385031215612c1b57612c1a612963565b5b6000612c298582860161297f565b9250506020612c3a8582860161297f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c8b57607f821691505b602082108103612c9e57612c9d612c44565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612cda602083612860565b9150612ce582612ca4565b602082019050919050565b60006020820190508181036000830152612d0981612ccd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d6c602683612860565b9150612d7782612d10565b604082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ddc82612994565b9150612de783612994565b9250828202612df581612994565b91508282048414831517612e0c57612e0b612da2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e4d82612994565b9150612e5883612994565b925082612e6857612e67612e13565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecf602183612860565b9150612eda82612e73565b604082019050919050565b60006020820190508181036000830152612efe81612ec2565b9050919050565b6000612f1082612994565b9150612f1b83612994565b9250828201905080821115612f3357612f32612da2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f6f601b83612860565b9150612f7a82612f39565b602082019050919050565b60006020820190508181036000830152612f9e81612f62565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613001602483612860565b915061300c82612fa5565b604082019050919050565b6000602082019050818103600083015261303081612ff4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613093602283612860565b915061309e82613037565b604082019050919050565b600060208201905081810360008301526130c281613086565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613125602583612860565b9150613130826130c9565b604082019050919050565b6000602082019050818103600083015261315481613118565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131b7602383612860565b91506131c28261315b565b604082019050919050565b600060208201905081810360008301526131e6816131aa565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613249602883612860565b9150613254826131ed565b604082019050919050565b600060208201905081810360008301526132788161323c565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c6960008201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b60006132db602583612860565b91506132e68261327f565b604082019050919050565b6000602082019050818103600083015261330a816132ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061334b82612994565b915061335683612994565b925082820390508181111561336e5761336d612da2565b5b92915050565b600061337f82612994565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b1576133b0612da2565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506133fa81612968565b92915050565b60006020828403121561341657613415612963565b5b6000613424848285016133eb565b91505092915050565b6000819050919050565b600061345261344d6134488461342d565b612a40565b612994565b9050919050565b61346281613437565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61349d81612927565b82525050565b60006134af8383613494565b60208301905092915050565b6000602082019050919050565b60006134d382613468565b6134dd8185613473565b93506134e883613484565b8060005b8381101561351957815161350088826134a3565b975061350b836134bb565b9250506001810190506134ec565b5085935050505092915050565b600060a08201905061353b6000830188612aba565b6135486020830187613459565b818103604083015261355a81866134c8565b90506135696060830185612939565b6135766080830184612aba565b9695505050505050565b60006040820190506135956000830185612aba565b81810360208301526135a781846134c8565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122002005fa23142923a9e984b909db29d2546a5cf1fe1e3698174bad28890782ab964736f6c63430008120033
Deployed Bytecode Sourcemap
11526:10662:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15840:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12084:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17006:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13504:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16117:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12903:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18101:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11996:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17524:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16026:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16503:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12593:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13621:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12396:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13037:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12536:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16225:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3199:230;;;;;;;;;;;;;:::i;:::-;;11753:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13358:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13430:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13162:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13764:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12951:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12762:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12333:56;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2974:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15931:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11951:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16729:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13082:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17926:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12861:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13552:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12994:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12703:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13270:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13668:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12819:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16352:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13123:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3437:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12297:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13722:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11852:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15840:83;15877:13;15910:5;15903:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15840:83;:::o;12084:81::-;;;:::o;17006:161::-;17081:4;17098:39;17107:12;:10;:12::i;:::-;17121:7;17130:6;17098:8;:39::i;:::-;17155:4;17148:11;;17006:161;;;;:::o;13504:41::-;;;;;;;;;;;;;:::o;16117:100::-;16170:7;16197:12;;16190:19;;16117:100;:::o;12903:35::-;;;;:::o;18101:313::-;18199:4;18216:36;18226:6;18234:9;18245:6;18216:9;:36::i;:::-;;18263:121;18272:6;18280:12;:10;:12::i;:::-;18294:89;18332:6;18294:89;;;;;;;;;;;;;;;;;:11;:19;18306:6;18294:19;;;;;;;;;;;;;;;:33;18314:12;:10;:12::i;:::-;18294:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18263:8;:121::i;:::-;18402:4;18395:11;;18101:313;;;;;:::o;11996:81::-;;;:::o;17524:156::-;17577:7;17604:68;17649:22;17659:11;17649:9;:22::i;:::-;17604:40;17621:22;17631:11;17621:9;:22::i;:::-;17604:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;17597:75;;17524:156;:::o;16026:83::-;16067:5;16092:9;;;;;;;;;;;16085:16;;16026:83;:::o;16503:218::-;16591:4;16608:83;16617:12;:10;:12::i;:::-;16631:7;16640:50;16679:10;16640:11;:25;16652:12;:10;:12::i;:::-;16640:25;;;;;;;;;;;;;;;:34;16666:7;16640:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;16608:8;:83::i;:::-;16709:4;16702:11;;16503:218;;;;:::o;12593:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;13621:40::-;;;;;;;;;;;;;:::o;12396:125::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13037:36::-;;;;:::o;12536:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;16225:119::-;16291:7;16318:9;:18;16328:7;16318:18;;;;;;;;;;;;;;;;16311:25;;16225:119;;;:::o;3199:230::-;3118:12;:10;:12::i;:::-;3108:22;;:6;;;;;;;;;;:22;;;3100:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3306:42:::1;3269:81;;3290:6;::::0;::::1;;;;;;;;3269:81;;;;;;;;;;;;3378:42;3361:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3199:230::o:0;11753:92::-;;;;;;;;;;;;;:::o;13358:59::-;;;;:::o;13430:58::-;;;;:::o;13162:33::-;;;;:::o;13764:41::-;;;;;;;;;;;;;:::o;12951:36::-;;;;:::o;12762:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;12333:56::-;;;;;;;;;;;;;;;;;;;;:::o;2974:79::-;3012:7;3039:6;;;;;;;;;;;3032:13;;2974:79;:::o;15931:87::-;15970:13;16003:7;15996:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15931:87;:::o;11951:32::-;;;;;;;;;;;;;:::o;16729:269::-;16822:4;16839:129;16848:12;:10;:12::i;:::-;16862:7;16871:96;16910:15;16871:96;;;;;;;;;;;;;;;;;:11;:25;16883:12;:10;:12::i;:::-;16871:25;;;;;;;;;;;;;;;:34;16897:7;16871:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;16839:8;:129::i;:::-;16986:4;16979:11;;16729:269;;;;:::o;13082:32::-;;;;:::o;17926:167::-;18004:4;18021:42;18031:12;:10;:12::i;:::-;18045:9;18056:6;18021:9;:42::i;:::-;;18081:4;18074:11;;17926:167;;;;:::o;12861:35::-;;;;:::o;13552:26::-;;;;;;;;;;;;;:::o;12994:36::-;;;;:::o;12703:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;13270:70::-;;;;:::o;13668:45::-;;;;;;;;;;;;;:::o;12819:35::-;;;;:::o;16352:143::-;16433:7;16460:11;:18;16472:5;16460:18;;;;;;;;;;;;;;;:27;16479:7;16460:27;;;;;;;;;;;;;;;;16453:34;;16352:143;;;;:::o;13123:32::-;;;;:::o;3437:244::-;3118:12;:10;:12::i;:::-;3108:22;;:6;;;;;;;;;;:22;;;3100:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3546:1:::1;3526:22;;:8;:22;;::::0;3518:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3636:8;3607:38;;3628:6;::::0;::::1;;;;;;;;3607:38;;;;;;;;;;;;3665:8;3656:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3437:244:::0;:::o;12297:29::-;;;;:::o;13722:35::-;;;;;;;;;;;;;:::o;11852:92::-;;;;;;;;;;;;;:::o;1659:250::-;1717:7;1746:1;1741;:6;1737:47;;1771:1;1764:8;;;;1737:47;1796:9;1812:1;1808;:5;;;;:::i;:::-;1796:17;;1841:1;1836;1832;:5;;;;:::i;:::-;:10;1824:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1900:1;1893:8;;;1659:250;;;;;:::o;1917:132::-;1975:7;2002:39;2006:1;2009;2002:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1995:46;;1917:132;;;;:::o;1126:181::-;1184:7;1204:9;1220:1;1216;:5;;;;:::i;:::-;1204:17;;1245:1;1240;:6;;1232:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1298:1;1291:8;;;1126:181;;;;:::o;184:115::-;237:15;280:10;265:26;;184:115;:::o;17175:337::-;17285:1;17268:19;;:5;:19;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17366:1;17347:21;;:7;:21;;;17339:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17450:6;17420:11;:18;17432:5;17420:18;;;;;;;;;;;;;;;:27;17439:7;17420:27;;;;;;;;;;;;;;;:36;;;;17488:7;17472:32;;17481:5;17472:32;;;17497:6;17472:32;;;;;;:::i;:::-;;;;;;;;17175:337;;;:::o;18422:2263::-;18509:4;18554:1;18536:20;;:6;:20;;;18528:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18638:1;18617:23;;:9;:23;;;18609:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18703:16;;;;;;;;;;;18700:1968;;;18753:41;18768:6;18776:9;18787:6;18753:14;:41::i;:::-;18746:48;;;;18700:1968;18852:15;:23;18868:6;18852:23;;;;;;;;;;;;;;;;;;;;;;;;;18851:24;:55;;;;;18880:15;:26;18896:9;18880:26;;;;;;;;;;;;;;;;;;;;;;;;;18879:27;18851:55;18848:171;;;18946:12;;18936:6;:22;;18928:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18848:171;19035:28;19066:24;19084:4;19066:9;:24::i;:::-;19035:55;;19105:28;19160:23;;19136:20;:47;;19105:78;;19216:23;:44;;;;;19244:16;;;;;;;;;;;19243:17;19216:44;:69;;;;;19265:12;:20;19278:6;19265:20;;;;;;;;;;;;;;;;;;;;;;;;;19264:21;19216:69;:94;;;;;19289:21;;;;;;;;;;;19216:94;19212:305;;;19348:25;;;;;;;;;;;19345:97;;;19419:23;;19396:46;;19345:97;19461:36;19476:20;19461:14;:36::i;:::-;19212:305;19536:16;;;;;;;;;;;:51;;;;;19557:19;:30;19577:9;19557:30;;;;;;;;;;;;;;;;;;;;;;;;;19556:31;19536:51;19533:219;;;19685:10;;19616:65;19641:39;19676:3;19641:30;19652:18;;19641:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;19616:20;19626:9;19616;:20::i;:::-;:24;;:65;;;;:::i;:::-;:79;;19608:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;19533:219;19788:39;19823:3;19788:30;19799:18;;19788:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;19768:16;19785:1;19768:19;;;;;;;:::i;:::-;;;:59;;;;19871:39;19906:3;19871:30;19882:18;;19871:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;19862:6;:48;;;;:::i;:::-;19842:16;19859:1;19842:19;;;;;;;:::i;:::-;;;:68;;;;19954:4;19925:17;19943:1;19925:20;;;;;;;:::i;:::-;;;;:34;;;;;;;;;;;;;;;;;;19995:9;19974:17;19992:1;19974:20;;;;;;;:::i;:::-;;;;:30;;;;;;;;;;;;;;;;;;20022:18;20061:6;20070:1;20061:10;;20057:122;20077:23;20073:1;:27;20057:122;;;20142:16;20159:1;20142:19;;;;;;;:::i;:::-;;;;20128:33;;;;;:::i;:::-;;;20102:3;;;;;:::i;:::-;;;;20057:122;;;;20198:12;:23;20211:9;20198:23;;;;;;;;;;;;;;;;;;;;;;;;;20197:24;:49;;;;;20226:12;:20;20239:6;20226:20;;;;;;;;;;;;;;;;;;;;;;;;;20225:21;20197:49;:75;;;;;20249:15;:23;20265:6;20249:23;;;;;;;;;;;;;;;;;;;;;;;;;20197:75;20193:93;;;20276:8;:6;:8::i;:::-;20193:93;20320:33;20342:10;20320:9;:17;20330:6;20320:17;;;;;;;;;;;;;;;;:21;;:33;;;;:::i;:::-;20300:9;:17;20310:6;20300:17;;;;;;;;;;;;;;;:53;;;;20374:6;20370:259;20390:24;20386:1;:28;20370:259;;;20474:56;20510:16;20527:1;20510:19;;;;;;;:::i;:::-;;;;20474:9;:31;20484:17;20502:1;20484:20;;;;;;;:::i;:::-;;;;;;;;;;;;;20474:31;;;;;;;;;;;;;;;;:35;;:56;;;;:::i;:::-;20440:9;:31;20450:17;20468:1;20450:20;;;;;;;:::i;:::-;;;;;;;;;;;;;20440:31;;;;;;;;;;;;;;;:90;;;;20571:17;20589:1;20571:20;;;;;;;:::i;:::-;;;;;;;;;;;;;20554:59;;20563:6;20554:59;;;20593:16;20610:1;20593:19;;;;;;;:::i;:::-;;;;20554:59;;;;;;:::i;:::-;;;;;;;;20416:3;;;;;:::i;:::-;;;;20370:259;;;;20652:4;20645:11;;;;;18422:2263;;;;;;:::o;1459:192::-;1545:7;1578:1;1573;:6;;1581:12;1565:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1605:9;1621:1;1617;:5;;;;:::i;:::-;1605:17;;1642:1;1635:8;;;1459:192;;;;;:::o;1315:136::-;1373:7;1400:43;1404:1;1407;1400:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1393:50;;1315:136;;;;:::o;2057:278::-;2143:7;2175:1;2171;:5;2178:12;2163:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2202:9;2218:1;2214;:5;;;;:::i;:::-;2202:17;;2326:1;2319:8;;;2057:278;;;;;:::o;20864:330::-;20957:4;20994:53;21016:6;20994:53;;;;;;;;;;;;;;;;;:9;:17;21004:6;20994:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;20974:9;:17;20984:6;20974:17;;;;;;;;;;;;;;;:73;;;;21081:32;21106:6;21081:9;:20;21091:9;21081:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21058:9;:20;21068:9;21058:20;;;;;;;;;;;;;;;:55;;;;21146:9;21129:35;;21138:6;21129:35;;;21157:6;21129:35;;;;;;:::i;:::-;;;;;;;;21182:4;21175:11;;20864:330;;;;;:::o;21202:291::-;14249:4;14230:16;;:23;;;;;;;;;;;;;;;;;;21274:25:::1;21291:7;21274:16;:25::i;:::-;21310:23;21337:21;21310:48;;21399:1;21381:15;:19;21378:101;;;21425:15;;;;;;;;;;;21417:33;;:50;21451:15;21417:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21378:101;21263:230;14295:5:::0;14276:16;;:24;;;;;;;;;;;;;;;;;;21202:291;:::o;20693:161::-;20733:15;:37;20749:17;20767:1;20749:20;;;;;;;:::i;:::-;;;;;;;;;;;;;20733:37;;;;;;;;;;;;;;;;;;;;;;;;;20729:117;;;20817:29;20796:16;20813:1;20796:19;;;;;;;:::i;:::-;;;;:50;;;;;;;:::i;:::-;;;;;;;20782:13;:64;;;;20729:117;20693:161::o;21505:666::-;21631:21;21669:1;21655:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21631:40;;21700:4;21682;21687:1;21682:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21726:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21716:4;21721:1;21716:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21761:62;21778:4;21793:15;;;;;;;;;;;21811:11;21761:8;:62::i;:::-;21862:15;;;;;;;;;;;:66;;;21943:11;21969:1;22013:4;22040;22076:15;21862:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22128:35;22145:11;22158:4;22128:35;;;;;;;:::i;:::-;;;;;;;;21560:611;21505:666;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:96::-;1518:7;1547:24;1565:5;1547:24;:::i;:::-;1536:35;;1481:96;;;:::o;1583:118::-;1670:24;1688:5;1670:24;:::i;:::-;1665:3;1658:37;1583:118;;:::o;1707:222::-;1800:4;1838:2;1827:9;1823:18;1815:26;;1851:71;1919:1;1908:9;1904:17;1895:6;1851:71;:::i;:::-;1707:222;;;;:::o;2016:117::-;2125:1;2122;2115:12;2262:122;2335:24;2353:5;2335:24;:::i;:::-;2328:5;2325:35;2315:63;;2374:1;2371;2364:12;2315:63;2262:122;:::o;2390:139::-;2436:5;2474:6;2461:20;2452:29;;2490:33;2517:5;2490:33;:::i;:::-;2390:139;;;;:::o;2535:77::-;2572:7;2601:5;2590:16;;2535:77;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:153::-;4221:9;4254:37;4285:5;4254:37;:::i;:::-;4241:50;;4144:153;;;:::o;4303:185::-;4417:64;4475:5;4417:64;:::i;:::-;4412:3;4405:77;4303:185;;:::o;4494:276::-;4614:4;4652:2;4641:9;4637:18;4629:26;;4665:98;4760:1;4749:9;4745:17;4736:6;4665:98;:::i;:::-;4494:276;;;;:::o;4776:118::-;4863:24;4881:5;4863:24;:::i;:::-;4858:3;4851:37;4776:118;;:::o;4900:222::-;4993:4;5031:2;5020:9;5016:18;5008:26;;5044:71;5112:1;5101:9;5097:17;5088:6;5044:71;:::i;:::-;4900:222;;;;:::o;5128:619::-;5205:6;5213;5221;5270:2;5258:9;5249:7;5245:23;5241:32;5238:119;;;5276:79;;:::i;:::-;5238:119;5396:1;5421:53;5466:7;5457:6;5446:9;5442:22;5421:53;:::i;:::-;5411:63;;5367:117;5523:2;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5494:118;5651:2;5677:53;5722:7;5713:6;5702:9;5698:22;5677:53;:::i;:::-;5667:63;;5622:118;5128:619;;;;;:::o;5753:86::-;5788:7;5828:4;5821:5;5817:16;5806:27;;5753:86;;;:::o;5845:112::-;5928:22;5944:5;5928:22;:::i;:::-;5923:3;5916:35;5845:112;;:::o;5963:214::-;6052:4;6090:2;6079:9;6075:18;6067:26;;6103:67;6167:1;6156:9;6152:17;6143:6;6103:67;:::i;:::-;5963:214;;;;:::o;6183:329::-;6242:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:119;;;6297:79;;:::i;:::-;6259:119;6417:1;6442:53;6487:7;6478:6;6467:9;6463:22;6442:53;:::i;:::-;6432:63;;6388:117;6183:329;;;;:::o;6518:::-;6577:6;6626:2;6614:9;6605:7;6601:23;6597:32;6594:119;;;6632:79;;:::i;:::-;6594:119;6752:1;6777:53;6822:7;6813:6;6802:9;6798:22;6777:53;:::i;:::-;6767:63;;6723:117;6518:329;;;;:::o;6853:104::-;6898:7;6927:24;6945:5;6927:24;:::i;:::-;6916:35;;6853:104;;;:::o;6963:142::-;7066:32;7092:5;7066:32;:::i;:::-;7061:3;7054:45;6963:142;;:::o;7111:254::-;7220:4;7258:2;7247:9;7243:18;7235:26;;7271:87;7355:1;7344:9;7340:17;7331:6;7271:87;:::i;:::-;7111:254;;;;:::o;7371:474::-;7439:6;7447;7496:2;7484:9;7475:7;7471:23;7467:32;7464:119;;;7502:79;;:::i;:::-;7464:119;7622:1;7647:53;7692:7;7683:6;7672:9;7668:22;7647:53;:::i;:::-;7637:63;;7593:117;7749:2;7775:53;7820:7;7811:6;7800:9;7796:22;7775:53;:::i;:::-;7765:63;;7720:118;7371:474;;;;;:::o;7851:180::-;7899:77;7896:1;7889:88;7996:4;7993:1;7986:15;8020:4;8017:1;8010:15;8037:320;8081:6;8118:1;8112:4;8108:12;8098:22;;8165:1;8159:4;8155:12;8186:18;8176:81;;8242:4;8234:6;8230:17;8220:27;;8176:81;8304:2;8296:6;8293:14;8273:18;8270:38;8267:84;;8323:18;;:::i;:::-;8267:84;8088:269;8037:320;;;:::o;8363:182::-;8503:34;8499:1;8491:6;8487:14;8480:58;8363:182;:::o;8551:366::-;8693:3;8714:67;8778:2;8773:3;8714:67;:::i;:::-;8707:74;;8790:93;8879:3;8790:93;:::i;:::-;8908:2;8903:3;8899:12;8892:19;;8551:366;;;:::o;8923:419::-;9089:4;9127:2;9116:9;9112:18;9104:26;;9176:9;9170:4;9166:20;9162:1;9151:9;9147:17;9140:47;9204:131;9330:4;9204:131;:::i;:::-;9196:139;;8923:419;;;:::o;9348:225::-;9488:34;9484:1;9476:6;9472:14;9465:58;9557:8;9552:2;9544:6;9540:15;9533:33;9348:225;:::o;9579:366::-;9721:3;9742:67;9806:2;9801:3;9742:67;:::i;:::-;9735:74;;9818:93;9907:3;9818:93;:::i;:::-;9936:2;9931:3;9927:12;9920:19;;9579:366;;;:::o;9951:419::-;10117:4;10155:2;10144:9;10140:18;10132:26;;10204:9;10198:4;10194:20;10190:1;10179:9;10175:17;10168:47;10232:131;10358:4;10232:131;:::i;:::-;10224:139;;9951:419;;;:::o;10376:180::-;10424:77;10421:1;10414:88;10521:4;10518:1;10511:15;10545:4;10542:1;10535:15;10562:410;10602:7;10625:20;10643:1;10625:20;:::i;:::-;10620:25;;10659:20;10677:1;10659:20;:::i;:::-;10654:25;;10714:1;10711;10707:9;10736:30;10754:11;10736:30;:::i;:::-;10725:41;;10915:1;10906:7;10902:15;10899:1;10896:22;10876:1;10869:9;10849:83;10826:139;;10945:18;;:::i;:::-;10826:139;10610:362;10562:410;;;;:::o;10978:180::-;11026:77;11023:1;11016:88;11123:4;11120:1;11113:15;11147:4;11144:1;11137:15;11164:185;11204:1;11221:20;11239:1;11221:20;:::i;:::-;11216:25;;11255:20;11273:1;11255:20;:::i;:::-;11250:25;;11294:1;11284:35;;11299:18;;:::i;:::-;11284:35;11341:1;11338;11334:9;11329:14;;11164:185;;;;:::o;11355:220::-;11495:34;11491:1;11483:6;11479:14;11472:58;11564:3;11559:2;11551:6;11547:15;11540:28;11355:220;:::o;11581:366::-;11723:3;11744:67;11808:2;11803:3;11744:67;:::i;:::-;11737:74;;11820:93;11909:3;11820:93;:::i;:::-;11938:2;11933:3;11929:12;11922:19;;11581:366;;;:::o;11953:419::-;12119:4;12157:2;12146:9;12142:18;12134:26;;12206:9;12200:4;12196:20;12192:1;12181:9;12177:17;12170:47;12234:131;12360:4;12234:131;:::i;:::-;12226:139;;11953:419;;;:::o;12378:191::-;12418:3;12437:20;12455:1;12437:20;:::i;:::-;12432:25;;12471:20;12489:1;12471:20;:::i;:::-;12466:25;;12514:1;12511;12507:9;12500:16;;12535:3;12532:1;12529:10;12526:36;;;12542:18;;:::i;:::-;12526:36;12378:191;;;;:::o;12575:177::-;12715:29;12711:1;12703:6;12699:14;12692:53;12575:177;:::o;12758:366::-;12900:3;12921:67;12985:2;12980:3;12921:67;:::i;:::-;12914:74;;12997:93;13086:3;12997:93;:::i;:::-;13115:2;13110:3;13106:12;13099:19;;12758:366;;;:::o;13130:419::-;13296:4;13334:2;13323:9;13319:18;13311:26;;13383:9;13377:4;13373:20;13369:1;13358:9;13354:17;13347:47;13411:131;13537:4;13411:131;:::i;:::-;13403:139;;13130:419;;;:::o;13555:223::-;13695:34;13691:1;13683:6;13679:14;13672:58;13764:6;13759:2;13751:6;13747:15;13740:31;13555:223;:::o;13784:366::-;13926:3;13947:67;14011:2;14006:3;13947:67;:::i;:::-;13940:74;;14023:93;14112:3;14023:93;:::i;:::-;14141:2;14136:3;14132:12;14125:19;;13784:366;;;:::o;14156:419::-;14322:4;14360:2;14349:9;14345:18;14337:26;;14409:9;14403:4;14399:20;14395:1;14384:9;14380:17;14373:47;14437:131;14563:4;14437:131;:::i;:::-;14429:139;;14156:419;;;:::o;14581:221::-;14721:34;14717:1;14709:6;14705:14;14698:58;14790:4;14785:2;14777:6;14773:15;14766:29;14581:221;:::o;14808:366::-;14950:3;14971:67;15035:2;15030:3;14971:67;:::i;:::-;14964:74;;15047:93;15136:3;15047:93;:::i;:::-;15165:2;15160:3;15156:12;15149:19;;14808:366;;;:::o;15180:419::-;15346:4;15384:2;15373:9;15369:18;15361:26;;15433:9;15427:4;15423:20;15419:1;15408:9;15404:17;15397:47;15461:131;15587:4;15461:131;:::i;:::-;15453:139;;15180:419;;;:::o;15605:224::-;15745:34;15741:1;15733:6;15729:14;15722:58;15814:7;15809:2;15801:6;15797:15;15790:32;15605:224;:::o;15835:366::-;15977:3;15998:67;16062:2;16057:3;15998:67;:::i;:::-;15991:74;;16074:93;16163:3;16074:93;:::i;:::-;16192:2;16187:3;16183:12;16176:19;;15835:366;;;:::o;16207:419::-;16373:4;16411:2;16400:9;16396:18;16388:26;;16460:9;16454:4;16450:20;16446:1;16435:9;16431:17;16424:47;16488:131;16614:4;16488:131;:::i;:::-;16480:139;;16207:419;;;:::o;16632:222::-;16772:34;16768:1;16760:6;16756:14;16749:58;16841:5;16836:2;16828:6;16824:15;16817:30;16632:222;:::o;16860:366::-;17002:3;17023:67;17087:2;17082:3;17023:67;:::i;:::-;17016:74;;17099:93;17188:3;17099:93;:::i;:::-;17217:2;17212:3;17208:12;17201:19;;16860:366;;;:::o;17232:419::-;17398:4;17436:2;17425:9;17421:18;17413:26;;17485:9;17479:4;17475:20;17471:1;17460:9;17456:17;17449:47;17513:131;17639:4;17513:131;:::i;:::-;17505:139;;17232:419;;;:::o;17657:227::-;17797:34;17793:1;17785:6;17781:14;17774:58;17866:10;17861:2;17853:6;17849:15;17842:35;17657:227;:::o;17890:366::-;18032:3;18053:67;18117:2;18112:3;18053:67;:::i;:::-;18046:74;;18129:93;18218:3;18129:93;:::i;:::-;18247:2;18242:3;18238:12;18231:19;;17890:366;;;:::o;18262:419::-;18428:4;18466:2;18455:9;18451:18;18443:26;;18515:9;18509:4;18505:20;18501:1;18490:9;18486:17;18479:47;18543:131;18669:4;18543:131;:::i;:::-;18535:139;;18262:419;;;:::o;18687:224::-;18827:34;18823:1;18815:6;18811:14;18804:58;18896:7;18891:2;18883:6;18879:15;18872:32;18687:224;:::o;18917:366::-;19059:3;19080:67;19144:2;19139:3;19080:67;:::i;:::-;19073:74;;19156:93;19245:3;19156:93;:::i;:::-;19274:2;19269:3;19265:12;19258:19;;18917:366;;;:::o;19289:419::-;19455:4;19493:2;19482:9;19478:18;19470:26;;19542:9;19536:4;19532:20;19528:1;19517:9;19513:17;19506:47;19570:131;19696:4;19570:131;:::i;:::-;19562:139;;19289:419;;;:::o;19714:180::-;19762:77;19759:1;19752:88;19859:4;19856:1;19849:15;19883:4;19880:1;19873:15;19900:194;19940:4;19960:20;19978:1;19960:20;:::i;:::-;19955:25;;19994:20;20012:1;19994:20;:::i;:::-;19989:25;;20038:1;20035;20031:9;20023:17;;20062:1;20056:4;20053:11;20050:37;;;20067:18;;:::i;:::-;20050:37;19900:194;;;;:::o;20100:233::-;20139:3;20162:24;20180:5;20162:24;:::i;:::-;20153:33;;20208:66;20201:5;20198:77;20195:103;;20278:18;;:::i;:::-;20195:103;20325:1;20318:5;20314:13;20307:20;;20100:233;;;:::o;20339:180::-;20387:77;20384:1;20377:88;20484:4;20481:1;20474:15;20508:4;20505:1;20498:15;20525:143;20582:5;20613:6;20607:13;20598:22;;20629:33;20656:5;20629:33;:::i;:::-;20525:143;;;;:::o;20674:351::-;20744:6;20793:2;20781:9;20772:7;20768:23;20764:32;20761:119;;;20799:79;;:::i;:::-;20761:119;20919:1;20944:64;21000:7;20991:6;20980:9;20976:22;20944:64;:::i;:::-;20934:74;;20890:128;20674:351;;;;:::o;21031:85::-;21076:7;21105:5;21094:16;;21031:85;;;:::o;21122:158::-;21180:9;21213:61;21231:42;21240:32;21266:5;21240:32;:::i;:::-;21231:42;:::i;:::-;21213:61;:::i;:::-;21200:74;;21122:158;;;:::o;21286:147::-;21381:45;21420:5;21381:45;:::i;:::-;21376:3;21369:58;21286:147;;:::o;21439:114::-;21506:6;21540:5;21534:12;21524:22;;21439:114;;;:::o;21559:184::-;21658:11;21692:6;21687:3;21680:19;21732:4;21727:3;21723:14;21708:29;;21559:184;;;;:::o;21749:132::-;21816:4;21839:3;21831:11;;21869:4;21864:3;21860:14;21852:22;;21749:132;;;:::o;21887:108::-;21964:24;21982:5;21964:24;:::i;:::-;21959:3;21952:37;21887:108;;:::o;22001:179::-;22070:10;22091:46;22133:3;22125:6;22091:46;:::i;:::-;22169:4;22164:3;22160:14;22146:28;;22001:179;;;;:::o;22186:113::-;22256:4;22288;22283:3;22279:14;22271:22;;22186:113;;;:::o;22335:732::-;22454:3;22483:54;22531:5;22483:54;:::i;:::-;22553:86;22632:6;22627:3;22553:86;:::i;:::-;22546:93;;22663:56;22713:5;22663:56;:::i;:::-;22742:7;22773:1;22758:284;22783:6;22780:1;22777:13;22758:284;;;22859:6;22853:13;22886:63;22945:3;22930:13;22886:63;:::i;:::-;22879:70;;22972:60;23025:6;22972:60;:::i;:::-;22962:70;;22818:224;22805:1;22802;22798:9;22793:14;;22758:284;;;22762:14;23058:3;23051:10;;22459:608;;;22335:732;;;;:::o;23073:831::-;23336:4;23374:3;23363:9;23359:19;23351:27;;23388:71;23456:1;23445:9;23441:17;23432:6;23388:71;:::i;:::-;23469:80;23545:2;23534:9;23530:18;23521:6;23469:80;:::i;:::-;23596:9;23590:4;23586:20;23581:2;23570:9;23566:18;23559:48;23624:108;23727:4;23718:6;23624:108;:::i;:::-;23616:116;;23742:72;23810:2;23799:9;23795:18;23786:6;23742:72;:::i;:::-;23824:73;23892:3;23881:9;23877:19;23868:6;23824:73;:::i;:::-;23073:831;;;;;;;;:::o;23910:483::-;24081:4;24119:2;24108:9;24104:18;24096:26;;24132:71;24200:1;24189:9;24185:17;24176:6;24132:71;:::i;:::-;24250:9;24244:4;24240:20;24235:2;24224:9;24220:18;24213:48;24278:108;24381:4;24372:6;24278:108;:::i;:::-;24270:116;;23910:483;;;;;:::o
Swarm Source
ipfs://02005fa23142923a9e984b909db29d2546a5cf1fe1e3698174bad28890782ab9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.