Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DOGIBOT
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 DOGIBOTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Doginals
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-08 */ /* https://docs.drc-20.org/ https://t.me/dogecoinordinalsbot */ // SPDX-License-Identifier: MIT pragma solidity >=0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; 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 9; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function 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 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, "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 {} } library SafeMath { function tryAdd( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair( address tokenA, address tokenB ) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair( address tokenA, address tokenB ) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn( address to ) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract Doginals is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); bool private swapping; address public marketingWallet; uint256 public swapTokensAtAmount; uint256 public maxTransactionAmount; uint256 public maxWallet; bool public lpBurnEnabled = true; uint256 public percentForLPBurn = 25; // 25 = .25% uint256 public lpBurnFrequency = 3600 seconds; uint256 public lastLpBurnTime; uint256 public manualBurnFrequency = 30 minutes; uint256 public lastManualLpBurnTime; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public buyLiquidityFee; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public sellLiquidityFee; uint256 public tokensForMarketing; uint256 public tokensForLiquidity; bool public limitsInEffect = true; /******************/ // exlcude from fees mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event AutoNukeLP(); constructor() ERC20("Dogecoin Ordinals Bot", "DOGIBOT") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 _buyMarketingFee = 15; uint256 _buyLiquidityFee = 0; uint256 _sellMarketingFee = 30; uint256 _sellLiquidityFee = 0; uint256 totalSupply = 1_000_000_000 * 1e9; maxTransactionAmount = (totalSupply) / 50; maxWallet = (totalSupply) / 50; swapTokensAtAmount = (totalSupply * 5) / 10000; buyMarketingFee = _buyMarketingFee; buyLiquidityFee = _buyLiquidityFee; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellMarketingFee = _sellMarketingFee; sellLiquidityFee = _sellLiquidityFee; sellTotalFees = sellMarketingFee + sellLiquidityFee; marketingWallet = address(0xBbc788d3FA2D2C7E9f79feFDE47A687ad64d2C2a); // // exclude from paying fees _isExcludedFromFees[msg.sender] = true; _isExcludedFromFees[marketingWallet] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[address(0xdead)] = true; _isExcludedMaxTransactionAmount[owner()] = true; _isExcludedMaxTransactionAmount[address(this)] = true; _isExcludedMaxTransactionAmount[address(0xdead)] = true; _isExcludedMaxTransactionAmount[marketingWallet] = true; /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _mint(msg.sender, totalSupply); } receive() external payable {} function finalTax() external onlyOwner returns (bool) { buyMarketingFee = 1; buyLiquidityFee = 0; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellTotalFees = 1; sellMarketingFee = 1; sellTotalFees = sellMarketingFee + sellLiquidityFee; limitsInEffect = false; return true; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } 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 (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } if ( !swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from] ) { autoBurnLiquidityPairTokens(); } 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); tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees; tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees; tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees; } 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 addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadAddress, block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } // Halve the amount of liquidity tokens uint256 liquidityTokens = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); uint256 initialETHBalance = address(this).balance; swapTokensForEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForMarketing = ethBalance.mul(tokensForMarketing).div( totalTokensToSwap ); uint256 ethForLiquidity = ethBalance - ethForMarketing; tokensForLiquidity = 0; tokensForMarketing = 0; if (liquidityTokens > 0 && ethForLiquidity > 0) { addLiquidity(liquidityTokens, ethForLiquidity); emit SwapAndLiquify( amountToSwapForETH, ethForLiquidity, tokensForLiquidity ); } (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } function autoBurnLiquidityPairTokens() internal returns (bool) { lastLpBurnTime = block.timestamp; // get balance of liquidity pair uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair); // calculate amount to burn uint256 amountToBurn = liquidityPairBalance.mul(percentForLPBurn).div( 10000 ); if (amountToBurn > 0) { super._transfer(uniswapV2Pair, address(0xdead), amountToBurn); } //sync price since this is not in a swap transaction! IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair); pair.sync(); emit AutoNukeLP(); return true; } }
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":[],"name":"AutoNukeLP","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":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"finalTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526001600a5f6101000a81548160ff0219169083151502179055506019600b55610e10600c55610708600e55600160185f6101000a81548160ff02191690831515021790555034801562000055575f80fd5b506040518060400160405280601581526020017f446f6765636f696e204f7264696e616c7320426f7400000000000000000000008152506040518060400160405280600781526020017f444f4749424f54000000000000000000000000000000000000000000000000008152508160039081620000d3919062000c54565b508060049081620000e5919062000c54565b5050505f620000f9620007a960201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000252919062000d9d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002de919062000d9d565b6040518363ffffffff1660e01b8152600401620002fd92919062000dde565b6020604051808303815f875af11580156200031a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000340919062000d9d565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200038860a0516001620007b060201b60201c565b5f600f90505f80601e90505f80670de0b6b3a76400009050603281620003af919062000e63565b600881905550603281620003c4919062000e63565b600981905550612710600582620003dc919062000e9a565b620003e8919062000e63565b60078190555084601181905550836012819055506012546011546200040e919062000ee4565b601081905550826014819055508160158190555060155460145462000434919062000ee4565b60138190555073bbc788d3fa2d2c7e9f79fefde47a687ad64d2c2a60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160195f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160195f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160195f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160195f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601a5f6200061a6200084e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601a5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200079d33826200087660201b60201c565b50505050505062000fc8565b5f33905090565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008e7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008de9062000f7c565b60405180910390fd5b620008fa5f8383620009e660201b60201c565b8060025f8282546200090d919062000ee4565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000961919062000ee4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009c7919062000fad565b60405180910390a3620009e25f8383620009eb60201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a6c57607f821691505b60208210810362000a825762000a8162000a27565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000ae67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000aa9565b62000af2868362000aa9565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000b3c62000b3662000b308462000b0a565b62000b13565b62000b0a565b9050919050565b5f819050919050565b62000b578362000b1c565b62000b6f62000b668262000b43565b84845462000ab5565b825550505050565b5f90565b62000b8562000b77565b62000b9281848462000b4c565b505050565b5b8181101562000bb95762000bad5f8262000b7b565b60018101905062000b98565b5050565b601f82111562000c085762000bd28162000a88565b62000bdd8462000a9a565b8101602085101562000bed578190505b62000c0562000bfc8562000a9a565b83018262000b97565b50505b505050565b5f82821c905092915050565b5f62000c2a5f198460080262000c0d565b1980831691505092915050565b5f62000c44838362000c19565b9150826002028217905092915050565b62000c5f82620009f0565b67ffffffffffffffff81111562000c7b5762000c7a620009fa565b5b62000c87825462000a54565b62000c9482828562000bbd565b5f60209050601f83116001811462000cca575f841562000cb5578287015190505b62000cc1858262000c37565b86555062000d30565b601f19841662000cda8662000a88565b5f5b8281101562000d035784890151825560018201915060208501945060208101905062000cdc565b8683101562000d23578489015162000d1f601f89168262000c19565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d678262000d3c565b9050919050565b62000d798162000d5b565b811462000d84575f80fd5b50565b5f8151905062000d978162000d6e565b92915050565b5f6020828403121562000db55762000db462000d38565b5b5f62000dc48482850162000d87565b91505092915050565b62000dd88162000d5b565b82525050565b5f60408201905062000df35f83018562000dcd565b62000e02602083018462000dcd565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000e6f8262000b0a565b915062000e7c8362000b0a565b92508262000e8f5762000e8e62000e09565b5b828204905092915050565b5f62000ea68262000b0a565b915062000eb38362000b0a565b925082820262000ec38162000b0a565b9150828204841483151762000edd5762000edc62000e36565b5b5092915050565b5f62000ef08262000b0a565b915062000efd8362000b0a565b925082820190508082111562000f185762000f1762000e36565b5b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000f64601f8362000f1e565b915062000f718262000f2e565b602082019050919050565b5f6020820190508181035f83015262000f958162000f56565b9050919050565b62000fa78162000b0a565b82525050565b5f60208201905062000fc25f83018462000f9c565b92915050565b60805160a051613778620010225f395f8181610c00015281816123ce0152818161248301526124af01525f81816109fc01528181612647015281816127260152818161274d015281816127e3015261280a01526137785ff3fe608060405260043610610233575f3560e01c806370a082311161012d578063a9059cbb116100aa578063e2f456051161006e578063e2f4560514610860578063f11a24d31461088a578063f2fde38b146108b4578063f6374342146108dc578063f8b45b05146109065761023a565b8063a9059cbb14610758578063b62496f514610794578063c8c8ebe4146107d0578063d85ba063146107fa578063dd62ed3e146108245761023a565b806392136913116100f1578063921369131461067457806395d89b411461069e5780639ec22c0e146106c8578063a457c2d7146106f2578063a4c82a001461072e5761023a565b806370a08231146105a4578063715018a6146105e057806375f0a874146105f65780637bce5a04146106205780638da5cb5b1461064a5761023a565b806323b872dd116101bb578063395093511161017f57806339509351146104c057806349bd5a5e146104fc5780634a62bb65146105265780634dd7c8bf146105505780636a486a8e1461057a5761023a565b806323b872dd146103dc57806327c8f835146104185780632c3e486c146104425780632e82f1a01461046c578063313ce567146104965761023a565b806318160ddd1161020257806318160ddd1461030a578063184c16c514610334578063199ffc721461035e5780631a8145bb146103885780631f3fed8f146103b25761023a565b806306fdde031461023e578063095ea7b31461026857806310d5de53146102a45780631694505e146102e05761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610252610930565b60405161025f9190612940565b60405180910390f35b348015610273575f80fd5b5061028e600480360381019061028991906129f1565b6109c0565b60405161029b9190612a49565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c59190612a62565b6109dd565b6040516102d79190612a49565b60405180910390f35b3480156102eb575f80fd5b506102f46109fa565b6040516103019190612ae8565b60405180910390f35b348015610315575f80fd5b5061031e610a1e565b60405161032b9190612b10565b60405180910390f35b34801561033f575f80fd5b50610348610a27565b6040516103559190612b10565b60405180910390f35b348015610369575f80fd5b50610372610a2d565b60405161037f9190612b10565b60405180910390f35b348015610393575f80fd5b5061039c610a33565b6040516103a99190612b10565b60405180910390f35b3480156103bd575f80fd5b506103c6610a39565b6040516103d39190612b10565b60405180910390f35b3480156103e7575f80fd5b5061040260048036038101906103fd9190612b29565b610a3f565b60405161040f9190612a49565b60405180910390f35b348015610423575f80fd5b5061042c610b31565b6040516104399190612b88565b60405180910390f35b34801561044d575f80fd5b50610456610b37565b6040516104639190612b10565b60405180910390f35b348015610477575f80fd5b50610480610b3d565b60405161048d9190612a49565b60405180910390f35b3480156104a1575f80fd5b506104aa610b4f565b6040516104b79190612bbc565b60405180910390f35b3480156104cb575f80fd5b506104e660048036038101906104e191906129f1565b610b57565b6040516104f39190612a49565b60405180910390f35b348015610507575f80fd5b50610510610bfe565b60405161051d9190612b88565b60405180910390f35b348015610531575f80fd5b5061053a610c22565b6040516105479190612a49565b60405180910390f35b34801561055b575f80fd5b50610564610c34565b6040516105719190612a49565b60405180910390f35b348015610585575f80fd5b5061058e610d36565b60405161059b9190612b10565b60405180910390f35b3480156105af575f80fd5b506105ca60048036038101906105c59190612a62565b610d3c565b6040516105d79190612b10565b60405180910390f35b3480156105eb575f80fd5b506105f4610d81565b005b348015610601575f80fd5b5061060a610ed4565b6040516106179190612b88565b60405180910390f35b34801561062b575f80fd5b50610634610ef9565b6040516106419190612b10565b60405180910390f35b348015610655575f80fd5b5061065e610eff565b60405161066b9190612b88565b60405180910390f35b34801561067f575f80fd5b50610688610f27565b6040516106959190612b10565b60405180910390f35b3480156106a9575f80fd5b506106b2610f2d565b6040516106bf9190612940565b60405180910390f35b3480156106d3575f80fd5b506106dc610fbd565b6040516106e99190612b10565b60405180910390f35b3480156106fd575f80fd5b50610718600480360381019061071391906129f1565b610fc3565b6040516107259190612a49565b60405180910390f35b348015610739575f80fd5b506107426110a9565b60405161074f9190612b10565b60405180910390f35b348015610763575f80fd5b5061077e600480360381019061077991906129f1565b6110af565b60405161078b9190612a49565b60405180910390f35b34801561079f575f80fd5b506107ba60048036038101906107b59190612a62565b6110cc565b6040516107c79190612a49565b60405180910390f35b3480156107db575f80fd5b506107e46110e9565b6040516107f19190612b10565b60405180910390f35b348015610805575f80fd5b5061080e6110ef565b60405161081b9190612b10565b60405180910390f35b34801561082f575f80fd5b5061084a60048036038101906108459190612bd5565b6110f5565b6040516108579190612b10565b60405180910390f35b34801561086b575f80fd5b50610874611177565b6040516108819190612b10565b60405180910390f35b348015610895575f80fd5b5061089e61117d565b6040516108ab9190612b10565b60405180910390f35b3480156108bf575f80fd5b506108da60048036038101906108d59190612a62565b611183565b005b3480156108e7575f80fd5b506108f0611345565b6040516108fd9190612b10565b60405180910390f35b348015610911575f80fd5b5061091a61134b565b6040516109279190612b10565b60405180910390f35b60606003805461093f90612c40565b80601f016020809104026020016040519081016040528092919081815260200182805461096b90612c40565b80156109b65780601f1061098d576101008083540402835291602001916109b6565b820191905f5260205f20905b81548152906001019060200180831161099957829003601f168201915b5050505050905090565b5f6109d36109cc611351565b8484611358565b6001905092915050565b601a602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b600e5481565b600b5481565b60175481565b60165481565b5f610a4b84848461151b565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a92611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890612ce0565b60405180910390fd5b610b2585610b1d611351565b858403611358565b60019150509392505050565b61dead81565b600c5481565b600a5f9054906101000a900460ff1681565b5f6009905090565b5f610bf4610b63611351565b848460015f610b70611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bef9190612d2b565b611358565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60185f9054906101000a900460ff1681565b5f610c3d611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290612da8565b60405180910390fd5b60016011819055505f601281905550601254601154610cea9190612d2b565b60108190555060016013819055506001601481905550601554601454610d109190612d2b565b6013819055505f60185f6101000a81548160ff0219169083151502179055506001905090565b60135481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d89611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90612da8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060048054610f3c90612c40565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6890612c40565b8015610fb35780601f10610f8a57610100808354040283529160200191610fb3565b820191905f5260205f20905b815481529060010190602001808311610f9657829003601f168201915b5050505050905090565b600f5481565b5f8060015f610fd0611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190612e36565b60405180910390fd5b61109e611095611351565b85858403611358565b600191505092915050565b600d5481565b5f6110c26110bb611351565b848461151b565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b60085481565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075481565b60125481565b61118b611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121090612da8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612ec4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612f52565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90612fe0565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150e9190612b10565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611589576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115809061306e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee906130fc565b60405180910390fd5b5f810361160e5761160983835f611f37565b611f32565b60185f9054906101000a900460ff1615611a035761162a610eff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116985750611668610eff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116d057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561170a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117235750600560149054906101000a900460ff16155b15611a0257601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156117c55750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561186c5760085481111561180f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118069061318a565b60405180910390fd5b60095461181b83610d3c565b826118269190612d2b565b1115611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e906131f2565b60405180910390fd5b611a01565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119095750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561195857600854811115611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90613280565b60405180910390fd5b611a00565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166119ff576009546119b283610d3c565b826119bd9190612d2b565b11156119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f5906131f2565b60405180910390fd5b5b5b5b5b5b5f611a0d30610d3c565b90505f6007548210159050808015611a325750600560149054906101000a900460ff16155b8015611a855750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611ad8575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611b2b575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6e576001600560146101000a81548160ff021916908315150217905550611b536121ac565b5f600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff16158015611bd15750601b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611be85750600a5f9054906101000a900460ff165b8015611c035750600c54600d54611bff9190612d2b565b4210155b8015611c56575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c6557611c636123a7565b505b5f600560149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611d14575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611d1d575f90505b5f8115611f2257601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d7b57505f601354115b15611e1357611da86064611d9a6013548861256190919063ffffffff16565b61257690919063ffffffff16565b905060135460155482611dbb919061329e565b611dc5919061330c565b60175f828254611dd59190612d2b565b9250508190555060135460145482611ded919061329e565b611df7919061330c565b60165f828254611e079190612d2b565b92505081905550611eff565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e6a57505f601054115b15611efe57611e976064611e896010548861256190919063ffffffff16565b61257690919063ffffffff16565b905060105460125482611eaa919061329e565b611eb4919061330c565b60175f828254611ec49190612d2b565b9250508190555060105460115482611edc919061329e565b611ee6919061330c565b60165f828254611ef69190612d2b565b925050819055505b5b5f811115611f1357611f12873083611f37565b5b8085611f1f919061333c565b94505b611f2d878787611f37565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c9061306e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a906130fc565b60405180910390fd5b61201e83838361258b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156120a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612098906133df565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461212f9190612d2b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121939190612b10565b60405180910390a36121a6848484612590565b50505050565b5f6121b630610d3c565b90505f6016546017546121c99190612d2b565b90505f808314806121d957505f82145b156121e6575050506123a5565b60146007546121f5919061329e565b83111561220e57601460075461220b919061329e565b92505b5f60028360175486612220919061329e565b61222a919061330c565b612234919061330c565b90505f61224a828661259590919063ffffffff16565b90505f479050612259826125aa565b5f61226d824761259590919063ffffffff16565b90505f612297876122896016548561256190919063ffffffff16565b61257690919063ffffffff16565b90505f81836122a6919061333c565b90505f6017819055505f6016819055505f861180156122c457505f81115b15612311576122d386826127dd565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601754604051612308939291906133fd565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123569061345f565b5f6040518083038185875af1925050503d805f8114612390576040519150601f19603f3d011682016040523d82523d5f602084013e612395565b606091505b5050809750505050505050505050505b565b5f42600d819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016124099190612b88565b602060405180830381865afa158015612424573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124489190613487565b90505f612474612710612466600b548561256190919063ffffffff16565b61257690919063ffffffff16565b90505f8111156124ac576124ab7f000000000000000000000000000000000000000000000000000000000000000061dead83611f37565b5b5f7f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612515575f80fd5b505af1158015612527573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b5f818361256e919061329e565b905092915050565b5f8183612583919061330c565b905092915050565b505050565b505050565b5f81836125a2919061333c565b905092915050565b5f600267ffffffffffffffff8111156125c6576125c56134b2565b5b6040519080825280602002602001820160405280156125f45781602001602082028036833780820191505090505b50905030815f8151811061260b5761260a6134df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126d29190613520565b816001815181106126e6576126e56134df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061274b307f000000000000000000000000000000000000000000000000000000000000000084611358565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016127ac95949392919061363b565b5f604051808303815f87803b1580156127c3575f80fd5b505af11580156127d5573d5f803e3d5ffd5b505050505050565b612808307f000000000000000000000000000000000000000000000000000000000000000084611358565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b815260040161286e96959493929190613693565b60606040518083038185885af115801561288a573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906128af91906136f2565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156128ed5780820151818401526020810190506128d2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612912826128b6565b61291c81856128c0565b935061292c8185602086016128d0565b612935816128f8565b840191505092915050565b5f6020820190508181035f8301526129588184612908565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61298d82612964565b9050919050565b61299d81612983565b81146129a7575f80fd5b50565b5f813590506129b881612994565b92915050565b5f819050919050565b6129d0816129be565b81146129da575f80fd5b50565b5f813590506129eb816129c7565b92915050565b5f8060408385031215612a0757612a06612960565b5b5f612a14858286016129aa565b9250506020612a25858286016129dd565b9150509250929050565b5f8115159050919050565b612a4381612a2f565b82525050565b5f602082019050612a5c5f830184612a3a565b92915050565b5f60208284031215612a7757612a76612960565b5b5f612a84848285016129aa565b91505092915050565b5f819050919050565b5f612ab0612aab612aa684612964565b612a8d565b612964565b9050919050565b5f612ac182612a96565b9050919050565b5f612ad282612ab7565b9050919050565b612ae281612ac8565b82525050565b5f602082019050612afb5f830184612ad9565b92915050565b612b0a816129be565b82525050565b5f602082019050612b235f830184612b01565b92915050565b5f805f60608486031215612b4057612b3f612960565b5b5f612b4d868287016129aa565b9350506020612b5e868287016129aa565b9250506040612b6f868287016129dd565b9150509250925092565b612b8281612983565b82525050565b5f602082019050612b9b5f830184612b79565b92915050565b5f60ff82169050919050565b612bb681612ba1565b82525050565b5f602082019050612bcf5f830184612bad565b92915050565b5f8060408385031215612beb57612bea612960565b5b5f612bf8858286016129aa565b9250506020612c09858286016129aa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c5757607f821691505b602082108103612c6a57612c69612c13565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612cca6028836128c0565b9150612cd582612c70565b604082019050919050565b5f6020820190508181035f830152612cf781612cbe565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d35826129be565b9150612d40836129be565b9250828201905080821115612d5857612d57612cfe565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d926020836128c0565b9150612d9d82612d5e565b602082019050919050565b5f6020820190508181035f830152612dbf81612d86565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e206025836128c0565b9150612e2b82612dc6565b604082019050919050565b5f6020820190508181035f830152612e4d81612e14565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612eae6026836128c0565b9150612eb982612e54565b604082019050919050565b5f6020820190508181035f830152612edb81612ea2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f3c6024836128c0565b9150612f4782612ee2565b604082019050919050565b5f6020820190508181035f830152612f6981612f30565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fca6022836128c0565b9150612fd582612f70565b604082019050919050565b5f6020820190508181035f830152612ff781612fbe565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130586025836128c0565b915061306382612ffe565b604082019050919050565b5f6020820190508181035f8301526130858161304c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130e66023836128c0565b91506130f18261308c565b604082019050919050565b5f6020820190508181035f830152613113816130da565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6131746035836128c0565b915061317f8261311a565b604082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6131dc6013836128c0565b91506131e7826131a8565b602082019050919050565b5f6020820190508181035f830152613209816131d0565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61326a6036836128c0565b915061327582613210565b604082019050919050565b5f6020820190508181035f8301526132978161325e565b9050919050565b5f6132a8826129be565b91506132b3836129be565b92508282026132c1816129be565b915082820484148315176132d8576132d7612cfe565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613316826129be565b9150613321836129be565b925082613331576133306132df565b5b828204905092915050565b5f613346826129be565b9150613351836129be565b925082820390508181111561336957613368612cfe565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6133c96026836128c0565b91506133d48261336f565b604082019050919050565b5f6020820190508181035f8301526133f6816133bd565b9050919050565b5f6060820190506134105f830186612b01565b61341d6020830185612b01565b61342a6040830184612b01565b949350505050565b5f81905092915050565b50565b5f61344a5f83613432565b91506134558261343c565b5f82019050919050565b5f6134698261343f565b9150819050919050565b5f81519050613481816129c7565b92915050565b5f6020828403121561349c5761349b612960565b5b5f6134a984828501613473565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061351a81612994565b92915050565b5f6020828403121561353557613534612960565b5b5f6135428482850161350c565b91505092915050565b5f819050919050565b5f61356e6135696135648461354b565b612a8d565b6129be565b9050919050565b61357e81613554565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135b681612983565b82525050565b5f6135c783836135ad565b60208301905092915050565b5f602082019050919050565b5f6135e982613584565b6135f3818561358e565b93506135fe8361359e565b805f5b8381101561362e57815161361588826135bc565b9750613620836135d3565b925050600181019050613601565b5085935050505092915050565b5f60a08201905061364e5f830188612b01565b61365b6020830187613575565b818103604083015261366d81866135df565b905061367c6060830185612b79565b6136896080830184612b01565b9695505050505050565b5f60c0820190506136a65f830189612b79565b6136b36020830188612b01565b6136c06040830187613575565b6136cd6060830186613575565b6136da6080830185612b79565b6136e760a0830184612b01565b979650505050505050565b5f805f6060848603121561370957613708612960565b5b5f61371686828701613473565b935050602061372786828701613473565b925050604061373886828701613473565b915050925092509256fea2646970667358221220542fddb47c94fc5b9d45849b8fa8eae04f48a6a70dd188751128177e6d37ce7564736f6c63430008140033
Deployed Bytecode
0x608060405260043610610233575f3560e01c806370a082311161012d578063a9059cbb116100aa578063e2f456051161006e578063e2f4560514610860578063f11a24d31461088a578063f2fde38b146108b4578063f6374342146108dc578063f8b45b05146109065761023a565b8063a9059cbb14610758578063b62496f514610794578063c8c8ebe4146107d0578063d85ba063146107fa578063dd62ed3e146108245761023a565b806392136913116100f1578063921369131461067457806395d89b411461069e5780639ec22c0e146106c8578063a457c2d7146106f2578063a4c82a001461072e5761023a565b806370a08231146105a4578063715018a6146105e057806375f0a874146105f65780637bce5a04146106205780638da5cb5b1461064a5761023a565b806323b872dd116101bb578063395093511161017f57806339509351146104c057806349bd5a5e146104fc5780634a62bb65146105265780634dd7c8bf146105505780636a486a8e1461057a5761023a565b806323b872dd146103dc57806327c8f835146104185780632c3e486c146104425780632e82f1a01461046c578063313ce567146104965761023a565b806318160ddd1161020257806318160ddd1461030a578063184c16c514610334578063199ffc721461035e5780631a8145bb146103885780631f3fed8f146103b25761023a565b806306fdde031461023e578063095ea7b31461026857806310d5de53146102a45780631694505e146102e05761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610252610930565b60405161025f9190612940565b60405180910390f35b348015610273575f80fd5b5061028e600480360381019061028991906129f1565b6109c0565b60405161029b9190612a49565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c59190612a62565b6109dd565b6040516102d79190612a49565b60405180910390f35b3480156102eb575f80fd5b506102f46109fa565b6040516103019190612ae8565b60405180910390f35b348015610315575f80fd5b5061031e610a1e565b60405161032b9190612b10565b60405180910390f35b34801561033f575f80fd5b50610348610a27565b6040516103559190612b10565b60405180910390f35b348015610369575f80fd5b50610372610a2d565b60405161037f9190612b10565b60405180910390f35b348015610393575f80fd5b5061039c610a33565b6040516103a99190612b10565b60405180910390f35b3480156103bd575f80fd5b506103c6610a39565b6040516103d39190612b10565b60405180910390f35b3480156103e7575f80fd5b5061040260048036038101906103fd9190612b29565b610a3f565b60405161040f9190612a49565b60405180910390f35b348015610423575f80fd5b5061042c610b31565b6040516104399190612b88565b60405180910390f35b34801561044d575f80fd5b50610456610b37565b6040516104639190612b10565b60405180910390f35b348015610477575f80fd5b50610480610b3d565b60405161048d9190612a49565b60405180910390f35b3480156104a1575f80fd5b506104aa610b4f565b6040516104b79190612bbc565b60405180910390f35b3480156104cb575f80fd5b506104e660048036038101906104e191906129f1565b610b57565b6040516104f39190612a49565b60405180910390f35b348015610507575f80fd5b50610510610bfe565b60405161051d9190612b88565b60405180910390f35b348015610531575f80fd5b5061053a610c22565b6040516105479190612a49565b60405180910390f35b34801561055b575f80fd5b50610564610c34565b6040516105719190612a49565b60405180910390f35b348015610585575f80fd5b5061058e610d36565b60405161059b9190612b10565b60405180910390f35b3480156105af575f80fd5b506105ca60048036038101906105c59190612a62565b610d3c565b6040516105d79190612b10565b60405180910390f35b3480156105eb575f80fd5b506105f4610d81565b005b348015610601575f80fd5b5061060a610ed4565b6040516106179190612b88565b60405180910390f35b34801561062b575f80fd5b50610634610ef9565b6040516106419190612b10565b60405180910390f35b348015610655575f80fd5b5061065e610eff565b60405161066b9190612b88565b60405180910390f35b34801561067f575f80fd5b50610688610f27565b6040516106959190612b10565b60405180910390f35b3480156106a9575f80fd5b506106b2610f2d565b6040516106bf9190612940565b60405180910390f35b3480156106d3575f80fd5b506106dc610fbd565b6040516106e99190612b10565b60405180910390f35b3480156106fd575f80fd5b50610718600480360381019061071391906129f1565b610fc3565b6040516107259190612a49565b60405180910390f35b348015610739575f80fd5b506107426110a9565b60405161074f9190612b10565b60405180910390f35b348015610763575f80fd5b5061077e600480360381019061077991906129f1565b6110af565b60405161078b9190612a49565b60405180910390f35b34801561079f575f80fd5b506107ba60048036038101906107b59190612a62565b6110cc565b6040516107c79190612a49565b60405180910390f35b3480156107db575f80fd5b506107e46110e9565b6040516107f19190612b10565b60405180910390f35b348015610805575f80fd5b5061080e6110ef565b60405161081b9190612b10565b60405180910390f35b34801561082f575f80fd5b5061084a60048036038101906108459190612bd5565b6110f5565b6040516108579190612b10565b60405180910390f35b34801561086b575f80fd5b50610874611177565b6040516108819190612b10565b60405180910390f35b348015610895575f80fd5b5061089e61117d565b6040516108ab9190612b10565b60405180910390f35b3480156108bf575f80fd5b506108da60048036038101906108d59190612a62565b611183565b005b3480156108e7575f80fd5b506108f0611345565b6040516108fd9190612b10565b60405180910390f35b348015610911575f80fd5b5061091a61134b565b6040516109279190612b10565b60405180910390f35b60606003805461093f90612c40565b80601f016020809104026020016040519081016040528092919081815260200182805461096b90612c40565b80156109b65780601f1061098d576101008083540402835291602001916109b6565b820191905f5260205f20905b81548152906001019060200180831161099957829003601f168201915b5050505050905090565b5f6109d36109cc611351565b8484611358565b6001905092915050565b601a602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b600e5481565b600b5481565b60175481565b60165481565b5f610a4b84848461151b565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a92611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890612ce0565b60405180910390fd5b610b2585610b1d611351565b858403611358565b60019150509392505050565b61dead81565b600c5481565b600a5f9054906101000a900460ff1681565b5f6009905090565b5f610bf4610b63611351565b848460015f610b70611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bef9190612d2b565b611358565b6001905092915050565b7f000000000000000000000000f72c7e841646aac4ffe3096fa78e2de4150ae9fa81565b60185f9054906101000a900460ff1681565b5f610c3d611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290612da8565b60405180910390fd5b60016011819055505f601281905550601254601154610cea9190612d2b565b60108190555060016013819055506001601481905550601554601454610d109190612d2b565b6013819055505f60185f6101000a81548160ff0219169083151502179055506001905090565b60135481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d89611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90612da8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060048054610f3c90612c40565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6890612c40565b8015610fb35780601f10610f8a57610100808354040283529160200191610fb3565b820191905f5260205f20905b815481529060010190602001808311610f9657829003601f168201915b5050505050905090565b600f5481565b5f8060015f610fd0611351565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190612e36565b60405180910390fd5b61109e611095611351565b85858403611358565b600191505092915050565b600d5481565b5f6110c26110bb611351565b848461151b565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b60085481565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075481565b60125481565b61118b611351565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121090612da8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612ec4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612f52565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90612fe0565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150e9190612b10565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611589576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115809061306e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee906130fc565b60405180910390fd5b5f810361160e5761160983835f611f37565b611f32565b60185f9054906101000a900460ff1615611a035761162a610eff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116985750611668610eff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116d057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561170a575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117235750600560149054906101000a900460ff16155b15611a0257601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156117c55750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561186c5760085481111561180f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118069061318a565b60405180910390fd5b60095461181b83610d3c565b826118269190612d2b565b1115611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e906131f2565b60405180910390fd5b611a01565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119095750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561195857600854811115611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90613280565b60405180910390fd5b611a00565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166119ff576009546119b283610d3c565b826119bd9190612d2b565b11156119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f5906131f2565b60405180910390fd5b5b5b5b5b5b5f611a0d30610d3c565b90505f6007548210159050808015611a325750600560149054906101000a900460ff16155b8015611a855750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611ad8575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611b2b575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6e576001600560146101000a81548160ff021916908315150217905550611b536121ac565b5f600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff16158015611bd15750601b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611be85750600a5f9054906101000a900460ff165b8015611c035750600c54600d54611bff9190612d2b565b4210155b8015611c56575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c6557611c636123a7565b505b5f600560149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611d14575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611d1d575f90505b5f8115611f2257601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d7b57505f601354115b15611e1357611da86064611d9a6013548861256190919063ffffffff16565b61257690919063ffffffff16565b905060135460155482611dbb919061329e565b611dc5919061330c565b60175f828254611dd59190612d2b565b9250508190555060135460145482611ded919061329e565b611df7919061330c565b60165f828254611e079190612d2b565b92505081905550611eff565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e6a57505f601054115b15611efe57611e976064611e896010548861256190919063ffffffff16565b61257690919063ffffffff16565b905060105460125482611eaa919061329e565b611eb4919061330c565b60175f828254611ec49190612d2b565b9250508190555060105460115482611edc919061329e565b611ee6919061330c565b60165f828254611ef69190612d2b565b925050819055505b5b5f811115611f1357611f12873083611f37565b5b8085611f1f919061333c565b94505b611f2d878787611f37565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c9061306e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a906130fc565b60405180910390fd5b61201e83838361258b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156120a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612098906133df565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461212f9190612d2b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121939190612b10565b60405180910390a36121a6848484612590565b50505050565b5f6121b630610d3c565b90505f6016546017546121c99190612d2b565b90505f808314806121d957505f82145b156121e6575050506123a5565b60146007546121f5919061329e565b83111561220e57601460075461220b919061329e565b92505b5f60028360175486612220919061329e565b61222a919061330c565b612234919061330c565b90505f61224a828661259590919063ffffffff16565b90505f479050612259826125aa565b5f61226d824761259590919063ffffffff16565b90505f612297876122896016548561256190919063ffffffff16565b61257690919063ffffffff16565b90505f81836122a6919061333c565b90505f6017819055505f6016819055505f861180156122c457505f81115b15612311576122d386826127dd565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601754604051612308939291906133fd565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123569061345f565b5f6040518083038185875af1925050503d805f8114612390576040519150601f19603f3d011682016040523d82523d5f602084013e612395565b606091505b5050809750505050505050505050505b565b5f42600d819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a082317f000000000000000000000000f72c7e841646aac4ffe3096fa78e2de4150ae9fa6040518263ffffffff1660e01b81526004016124099190612b88565b602060405180830381865afa158015612424573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124489190613487565b90505f612474612710612466600b548561256190919063ffffffff16565b61257690919063ffffffff16565b90505f8111156124ac576124ab7f000000000000000000000000f72c7e841646aac4ffe3096fa78e2de4150ae9fa61dead83611f37565b5b5f7f000000000000000000000000f72c7e841646aac4ffe3096fa78e2de4150ae9fa90508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612515575f80fd5b505af1158015612527573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b5f818361256e919061329e565b905092915050565b5f8183612583919061330c565b905092915050565b505050565b505050565b5f81836125a2919061333c565b905092915050565b5f600267ffffffffffffffff8111156125c6576125c56134b2565b5b6040519080825280602002602001820160405280156125f45781602001602082028036833780820191505090505b50905030815f8151811061260b5761260a6134df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126d29190613520565b816001815181106126e6576126e56134df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061274b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611358565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016127ac95949392919061363b565b5f604051808303815f87803b1580156127c3575f80fd5b505af11580156127d5573d5f803e3d5ffd5b505050505050565b612808307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611358565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b815260040161286e96959493929190613693565b60606040518083038185885af115801561288a573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906128af91906136f2565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156128ed5780820151818401526020810190506128d2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612912826128b6565b61291c81856128c0565b935061292c8185602086016128d0565b612935816128f8565b840191505092915050565b5f6020820190508181035f8301526129588184612908565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61298d82612964565b9050919050565b61299d81612983565b81146129a7575f80fd5b50565b5f813590506129b881612994565b92915050565b5f819050919050565b6129d0816129be565b81146129da575f80fd5b50565b5f813590506129eb816129c7565b92915050565b5f8060408385031215612a0757612a06612960565b5b5f612a14858286016129aa565b9250506020612a25858286016129dd565b9150509250929050565b5f8115159050919050565b612a4381612a2f565b82525050565b5f602082019050612a5c5f830184612a3a565b92915050565b5f60208284031215612a7757612a76612960565b5b5f612a84848285016129aa565b91505092915050565b5f819050919050565b5f612ab0612aab612aa684612964565b612a8d565b612964565b9050919050565b5f612ac182612a96565b9050919050565b5f612ad282612ab7565b9050919050565b612ae281612ac8565b82525050565b5f602082019050612afb5f830184612ad9565b92915050565b612b0a816129be565b82525050565b5f602082019050612b235f830184612b01565b92915050565b5f805f60608486031215612b4057612b3f612960565b5b5f612b4d868287016129aa565b9350506020612b5e868287016129aa565b9250506040612b6f868287016129dd565b9150509250925092565b612b8281612983565b82525050565b5f602082019050612b9b5f830184612b79565b92915050565b5f60ff82169050919050565b612bb681612ba1565b82525050565b5f602082019050612bcf5f830184612bad565b92915050565b5f8060408385031215612beb57612bea612960565b5b5f612bf8858286016129aa565b9250506020612c09858286016129aa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c5757607f821691505b602082108103612c6a57612c69612c13565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612cca6028836128c0565b9150612cd582612c70565b604082019050919050565b5f6020820190508181035f830152612cf781612cbe565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d35826129be565b9150612d40836129be565b9250828201905080821115612d5857612d57612cfe565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d926020836128c0565b9150612d9d82612d5e565b602082019050919050565b5f6020820190508181035f830152612dbf81612d86565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e206025836128c0565b9150612e2b82612dc6565b604082019050919050565b5f6020820190508181035f830152612e4d81612e14565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612eae6026836128c0565b9150612eb982612e54565b604082019050919050565b5f6020820190508181035f830152612edb81612ea2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f3c6024836128c0565b9150612f4782612ee2565b604082019050919050565b5f6020820190508181035f830152612f6981612f30565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fca6022836128c0565b9150612fd582612f70565b604082019050919050565b5f6020820190508181035f830152612ff781612fbe565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130586025836128c0565b915061306382612ffe565b604082019050919050565b5f6020820190508181035f8301526130858161304c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130e66023836128c0565b91506130f18261308c565b604082019050919050565b5f6020820190508181035f830152613113816130da565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6131746035836128c0565b915061317f8261311a565b604082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6131dc6013836128c0565b91506131e7826131a8565b602082019050919050565b5f6020820190508181035f830152613209816131d0565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61326a6036836128c0565b915061327582613210565b604082019050919050565b5f6020820190508181035f8301526132978161325e565b9050919050565b5f6132a8826129be565b91506132b3836129be565b92508282026132c1816129be565b915082820484148315176132d8576132d7612cfe565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613316826129be565b9150613321836129be565b925082613331576133306132df565b5b828204905092915050565b5f613346826129be565b9150613351836129be565b925082820390508181111561336957613368612cfe565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6133c96026836128c0565b91506133d48261336f565b604082019050919050565b5f6020820190508181035f8301526133f6816133bd565b9050919050565b5f6060820190506134105f830186612b01565b61341d6020830185612b01565b61342a6040830184612b01565b949350505050565b5f81905092915050565b50565b5f61344a5f83613432565b91506134558261343c565b5f82019050919050565b5f6134698261343f565b9150819050919050565b5f81519050613481816129c7565b92915050565b5f6020828403121561349c5761349b612960565b5b5f6134a984828501613473565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061351a81612994565b92915050565b5f6020828403121561353557613534612960565b5b5f6135428482850161350c565b91505092915050565b5f819050919050565b5f61356e6135696135648461354b565b612a8d565b6129be565b9050919050565b61357e81613554565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135b681612983565b82525050565b5f6135c783836135ad565b60208301905092915050565b5f602082019050919050565b5f6135e982613584565b6135f3818561358e565b93506135fe8361359e565b805f5b8381101561362e57815161361588826135bc565b9750613620836135d3565b925050600181019050613601565b5085935050505092915050565b5f60a08201905061364e5f830188612b01565b61365b6020830187613575565b818103604083015261366d81866135df565b905061367c6060830185612b79565b6136896080830184612b01565b9695505050505050565b5f60c0820190506136a65f830189612b79565b6136b36020830188612b01565b6136c06040830187613575565b6136cd6060830186613575565b6136da6080830185612b79565b6136e760a0830184612b01565b979650505050505050565b5f805f6060848603121561370957613708612960565b5b5f61371686828701613473565b935050602061372786828701613473565b925050604061373886828701613473565b915050925092509256fea2646970667358221220542fddb47c94fc5b9d45849b8fa8eae04f48a6a70dd188751128177e6d37ce7564736f6c63430008140033
Deployed Bytecode Sourcemap
16126:11259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4545:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17298:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16204:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3886:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16740:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16594:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17101:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17061;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4747:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16307:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16650:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16555:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3786:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5284:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16262:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17143:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19651:359;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16948:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4002:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1535:148;;;;;;;;;;;;;:::i;:::-;;16399:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16872;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;893:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16983:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3674:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16794:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5582:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16702:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4153:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17370:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16480:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16838:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4361:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16438:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16909:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1838:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17021:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16522:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3566:100;3620:13;3653:5;3646:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3566:100;:::o;4545:194::-;4653:4;4670:39;4679:12;:10;:12::i;:::-;4693:7;4702:6;4670:8;:39::i;:::-;4727:4;4720:11;;4545:194;;;;:::o;17298:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;16204:51::-;;;:::o;3886:108::-;3947:7;3974:12;;3967:19;;3886:108;:::o;16740:47::-;;;;:::o;16594:36::-;;;;:::o;17101:33::-;;;;:::o;17061:::-;;;;:::o;4747:529::-;4887:4;4904:36;4914:6;4922:9;4933:6;4904:9;:36::i;:::-;4953:24;4980:11;:19;4992:6;4980:19;;;;;;;;;;;;;;;:33;5000:12;:10;:12::i;:::-;4980:33;;;;;;;;;;;;;;;;4953:60;;5066:6;5046:16;:26;;5024:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;5176:57;5185:6;5193:12;:10;:12::i;:::-;5226:6;5207:16;:25;5176:8;:57::i;:::-;5264:4;5257:11;;;4747:529;;;;;:::o;16307:53::-;16353:6;16307:53;:::o;16650:45::-;;;;:::o;16555:32::-;;;;;;;;;;;;;:::o;3786:92::-;3844:5;3869:1;3862:8;;3786:92;:::o;5284:290::-;5397:4;5414:130;5437:12;:10;:12::i;:::-;5464:7;5523:10;5486:11;:25;5498:12;:10;:12::i;:::-;5486:25;;;;;;;;;;;;;;;:34;5512:7;5486:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5414:8;:130::i;:::-;5562:4;5555:11;;5284:290;;;;:::o;16262:38::-;;;:::o;17143:33::-;;;;;;;;;;;;;:::o;19651:359::-;19699:4;1115:12;:10;:12::i;:::-;1105:22;;:6;;;;;;;;;;;:22;;;1097:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19734:1:::1;19716:15;:19;;;;19764:1;19746:15;:19;;;;19809:15;;19791;;:33;;;;:::i;:::-;19776:12;:48;;;;19851:1;19835:13;:17;;;;19882:1;19863:16;:20;;;;19929:16;;19910;;:35;;;;:::i;:::-;19894:13;:51;;;;19975:5;19958:14;;:22;;;;;;;;;;;;;;;;;;19998:4;19991:11;;19651:359:::0;:::o;16948:28::-;;;;:::o;4002:143::-;4092:7;4119:9;:18;4129:7;4119:18;;;;;;;;;;;;;;;;4112:25;;4002:143;;;:::o;1535:148::-;1115:12;:10;:12::i;:::-;1105:22;;:6;;;;;;;;;;;:22;;;1097:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1642:1:::1;1605:40;;1626:6;;;;;;;;;;;1605:40;;;;;;;;;;;;1673:1;1656:6;;:19;;;;;;;;;;;;;;;;;;1535:148::o:0;16399:30::-;;;;;;;;;;;;;:::o;16872:::-;;;;:::o;893:79::-;931:7;958:6;;;;;;;;;;;951:13;;893:79;:::o;16983:31::-;;;;:::o;3674:104::-;3730:13;3763:7;3756:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3674:104;:::o;16794:35::-;;;;:::o;5582:475::-;5700:4;5717:24;5744:11;:25;5756:12;:10;:12::i;:::-;5744:25;;;;;;;;;;;;;;;:34;5770:7;5744:34;;;;;;;;;;;;;;;;5717:61;;5831:15;5811:16;:35;;5789:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;5947:67;5956:12;:10;:12::i;:::-;5970:7;5998:15;5979:16;:34;5947:8;:67::i;:::-;6045:4;6038:11;;;5582:475;;;;:::o;16702:29::-;;;;:::o;4153:200::-;4264:4;4281:42;4291:12;:10;:12::i;:::-;4305:9;4316:6;4281:9;:42::i;:::-;4341:4;4334:11;;4153:200;;;;:::o;17370:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;16480:35::-;;;;:::o;16838:27::-;;;;:::o;4361:176::-;4475:7;4502:11;:18;4514:5;4502:18;;;;;;;;;;;;;;;:27;4521:7;4502:27;;;;;;;;;;;;;;;;4495:34;;4361:176;;;;:::o;16438:33::-;;;;:::o;16909:30::-;;;;:::o;1838:281::-;1115:12;:10;:12::i;:::-;1105:22;;:6;;;;;;;;;;;:22;;;1097:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1961:1:::1;1941:22;;:8;:22;;::::0;1919:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2074:8;2045:38;;2066:6;;;;;;;;;;;2045:38;;;;;;;;;;;;2103:8;2094:6;;:17;;;;;;;;;;;;;;;;;;1838:281:::0;:::o;17021:31::-;;;;:::o;16522:24::-;;;;:::o;163:98::-;216:7;243:10;236:17;;163:98;:::o;7849:380::-;8002:1;7985:19;;:5;:19;;;7977:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8083:1;8064:21;;:7;:21;;;8056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8167:6;8137:11;:18;8149:5;8137:18;;;;;;;;;;;;;;;:27;8156:7;8137:27;;;;;;;;;;;;;;;:36;;;;8205:7;8189:32;;8198:5;8189:32;;;8214:6;8189:32;;;;;;:::i;:::-;;;;;;;;7849:380;;;:::o;20214:3798::-;20362:1;20346:18;;:4;:18;;;20338:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20439:1;20425:16;;:2;:16;;;20417:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20508:1;20498:6;:11;20494:93;;20526:28;20542:4;20548:2;20552:1;20526:15;:28::i;:::-;20569:7;;20494:93;20603:14;;;;;;;;;;;20599:1440;;;20664:7;:5;:7::i;:::-;20656:15;;:4;:15;;;;:49;;;;;20698:7;:5;:7::i;:::-;20692:13;;:2;:13;;;;20656:49;:86;;;;;20740:1;20726:16;;:2;:16;;;;20656:86;:128;;;;;20777:6;20763:21;;:2;:21;;;;20656:128;:158;;;;;20806:8;;;;;;;;;;;20805:9;20656:158;20634:1394;;;20892:25;:31;20918:4;20892:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;20949:31;:35;20981:2;20949:35;;;;;;;;;;;;;;;;;;;;;;;;;20948:36;20892:92;20866:1147;;;21071:20;;21061:6;:30;;21027:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;21279:9;;21262:13;21272:2;21262:9;:13::i;:::-;21253:6;:22;;;;:::i;:::-;:35;;21219:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;20866:1147;;;21457:25;:29;21483:2;21457:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;21512:31;:37;21544:4;21512:37;;;;;;;;;;;;;;;;;;;;;;;;;21511:38;21457:92;21431:582;;;21636:20;;21626:6;:30;;21592:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;21431:582;;;21793:31;:35;21825:2;21793:35;;;;;;;;;;;;;;;;;;;;;;;;;21788:225;;21913:9;;21896:13;21906:2;21896:9;:13::i;:::-;21887:6;:22;;;;:::i;:::-;:35;;21853:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;21788:225;21431:582;20866:1147;20634:1394;20599:1440;22051:28;22082:24;22100:4;22082:9;:24::i;:::-;22051:55;;22119:12;22158:18;;22134:20;:42;;22119:57;;22207:7;:33;;;;;22232:8;;;;;;;;;;;22231:9;22207:33;:82;;;;;22258:25;:31;22284:4;22258:31;;;;;;;;;;;;;;;;;;;;;;;;;22257:32;22207:82;:125;;;;;22307:19;:25;22327:4;22307:25;;;;;;;;;;;;;;;;;;;;;;;;;22306:26;22207:125;:166;;;;;22350:19;:23;22370:2;22350:23;;;;;;;;;;;;;;;;;;;;;;;;;22349:24;22207:166;22189:298;;;22411:4;22400:8;;:15;;;;;;;;;;;;;;;;;;22432:10;:8;:10::i;:::-;22470:5;22459:8;;:16;;;;;;;;;;;;;;;;;;22189:298;22518:8;;;;;;;;;;;22517:9;:55;;;;;22543:25;:29;22569:2;22543:29;;;;;;;;;;;;;;;;;;;;;;;;;22517:55;:85;;;;;22589:13;;;;;;;;;;;22517:85;:153;;;;;22655:15;;22638:14;;:32;;;;:::i;:::-;22619:15;:51;;22517:153;:196;;;;;22688:19;:25;22708:4;22688:25;;;;;;;;;;;;;;;;;;;;;;;;;22687:26;22517:196;22499:282;;;22740:29;:27;:29::i;:::-;;22499:282;22793:12;22809:8;;;;;;;;;;;22808:9;22793:24;;22919:19;:25;22939:4;22919:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;22948:19;:23;22968:2;22948:23;;;;;;;;;;;;;;;;;;;;;;;;;22919:52;22915:100;;;22998:5;22988:15;;22915:100;23027:12;23132:7;23128:831;;;23184:25;:29;23210:2;23184:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;23233:1;23217:13;;:17;23184:50;23180:630;;;23262:34;23292:3;23262:25;23273:13;;23262:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;23255:41;;23365:13;;23345:16;;23338:4;:23;;;;:::i;:::-;23337:41;;;;:::i;:::-;23315:18;;:63;;;;;;;:::i;:::-;;;;;;;;23447:13;;23427:16;;23420:4;:23;;;;:::i;:::-;23419:41;;;;:::i;:::-;23397:18;;:63;;;;;;;:::i;:::-;;;;;;;;23180:630;;;23522:25;:31;23548:4;23522:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;23572:1;23557:12;;:16;23522:51;23518:292;;;23601:33;23630:3;23601:24;23612:12;;23601:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;23594:40;;23702:12;;23683:15;;23676:4;:22;;;;:::i;:::-;23675:39;;;;:::i;:::-;23653:18;;:61;;;;;;;:::i;:::-;;;;;;;;23782:12;;23763:15;;23756:4;:22;;;;:::i;:::-;23755:39;;;;:::i;:::-;23733:18;;:61;;;;;;;:::i;:::-;;;;;;;;23518:292;23180:630;23837:1;23830:4;:8;23826:91;;;23859:42;23875:4;23889;23896;23859:15;:42::i;:::-;23826:91;23943:4;23933:14;;;;;:::i;:::-;;;23128:831;23971:33;23987:4;23993:2;23997:6;23971:15;:33::i;:::-;20327:3685;;;;20214:3798;;;;:::o;6065:770::-;6223:1;6205:20;;:6;:20;;;6197:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6307:1;6286:23;;:9;:23;;;6278:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6362:47;6383:6;6391:9;6402:6;6362:20;:47::i;:::-;6422:21;6446:9;:17;6456:6;6446:17;;;;;;;;;;;;;;;;6422:41;;6513:6;6496:13;:23;;6474:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6657:6;6641:13;:22;6621:9;:17;6631:6;6621:17;;;;;;;;;;;;;;;:42;;;;6709:6;6685:9;:20;6695:9;6685:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6750:9;6733:35;;6742:6;6733:35;;;6761:6;6733:35;;;;;;:::i;:::-;;;;;;;;6781:46;6801:6;6809:9;6820:6;6781:19;:46::i;:::-;6186:649;6065:770;;;:::o;25142:1522::-;25181:23;25207:24;25225:4;25207:9;:24::i;:::-;25181:50;;25242:25;25291:18;;25270;;:39;;;;:::i;:::-;25242:67;;25320:12;25368:1;25349:15;:20;:46;;;;25394:1;25373:17;:22;25349:46;25345:85;;;25412:7;;;;;25345:85;25485:2;25464:18;;:23;;;;:::i;:::-;25446:15;:41;25442:115;;;25543:2;25522:18;;:23;;;;:::i;:::-;25504:41;;25442:115;25618:23;25731:1;25698:17;25663:18;;25645:15;:36;;;;:::i;:::-;25644:71;;;;:::i;:::-;:88;;;;:::i;:::-;25618:114;;25743:26;25772:36;25792:15;25772;:19;;:36;;;;:::i;:::-;25743:65;;25821:25;25849:21;25821:49;;25883:36;25900:18;25883:16;:36::i;:::-;25932:18;25953:44;25979:17;25953:21;:25;;:44;;;;:::i;:::-;25932:65;;26010:23;26036:81;26089:17;26036:34;26051:18;;26036:10;:14;;:34;;;;:::i;:::-;:38;;:81;;;;:::i;:::-;26010:107;;26130:23;26169:15;26156:10;:28;;;;:::i;:::-;26130:54;;26218:1;26197:18;:22;;;;26251:1;26230:18;:22;;;;26287:1;26269:15;:19;:42;;;;;26310:1;26292:15;:19;26269:42;26265:278;;;26328:46;26341:15;26358;26328:12;:46::i;:::-;26394:137;26427:18;26464:15;26498:18;;26394:137;;;;;;;;:::i;:::-;;;;;;;;26265:278;26577:15;;;;;;;;;;;26569:29;;26620:21;26569:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26555:101;;;;;25170:1494;;;;;;;;;25142:1522;:::o;26672:710::-;26729:4;26763:15;26746:14;:32;;;;26833:28;26864:4;:14;;;26879:13;26864:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26833:60;;26943:20;26966:77;27027:5;26966:42;26991:16;;26966:20;:24;;:42;;;;:::i;:::-;:46;;:77;;;;:::i;:::-;26943:100;;27085:1;27070:12;:16;27066:110;;;27103:61;27119:13;27142:6;27151:12;27103:15;:61::i;:::-;27066:110;27251:19;27288:13;27251:51;;27313:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27340:12;;;;;;;;;;27370:4;27363:11;;;;;26672:710;:::o;9978:98::-;10036:7;10067:1;10063;:5;;;;:::i;:::-;10056:12;;9978:98;;;;:::o;10084:::-;10142:7;10173:1;10169;:5;;;;:::i;:::-;10162:12;;10084:98;;;;:::o;8237:125::-;;;;:::o;8370:124::-;;;;:::o;9872:98::-;9930:7;9961:1;9957;:5;;;;:::i;:::-;9950:12;;9872:98;;;;:::o;24020:589::-;24146:21;24184:1;24170:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24146:40;;24215:4;24197;24202:1;24197:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;24241:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24231:4;24236:1;24231:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;24276:62;24293:4;24308:15;24326:11;24276:8;:62::i;:::-;24377:15;:66;;;24458:11;24484:1;24528:4;24555;24575:15;24377:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24075:534;24020:589;:::o;24617:517::-;24765:62;24782:4;24797:15;24815:11;24765:8;:62::i;:::-;24870:15;:31;;;24909:9;24942:4;24962:11;24988:1;25031;16353:6;25100:15;24870:256;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;24617:517;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:153::-;4204:9;4237:37;4268:5;4237:37;:::i;:::-;4224:50;;4127:153;;;:::o;4286:185::-;4400:64;4458:5;4400:64;:::i;:::-;4395:3;4388:77;4286:185;;:::o;4477:276::-;4597:4;4635:2;4624:9;4620:18;4612:26;;4648:98;4743:1;4732:9;4728:17;4719:6;4648:98;:::i;:::-;4477:276;;;;:::o;4759:118::-;4846:24;4864:5;4846:24;:::i;:::-;4841:3;4834:37;4759:118;;:::o;4883:222::-;4976:4;5014:2;5003:9;4999:18;4991:26;;5027:71;5095:1;5084:9;5080:17;5071:6;5027:71;:::i;:::-;4883:222;;;;:::o;5111:619::-;5188:6;5196;5204;5253:2;5241:9;5232:7;5228:23;5224:32;5221:119;;;5259:79;;:::i;:::-;5221:119;5379:1;5404:53;5449:7;5440:6;5429:9;5425:22;5404:53;:::i;:::-;5394:63;;5350:117;5506:2;5532:53;5577:7;5568:6;5557:9;5553:22;5532:53;:::i;:::-;5522:63;;5477:118;5634:2;5660:53;5705:7;5696:6;5685:9;5681:22;5660:53;:::i;:::-;5650:63;;5605:118;5111:619;;;;;:::o;5736:118::-;5823:24;5841:5;5823:24;:::i;:::-;5818:3;5811:37;5736:118;;:::o;5860:222::-;5953:4;5991:2;5980:9;5976:18;5968:26;;6004:71;6072:1;6061:9;6057:17;6048:6;6004:71;:::i;:::-;5860:222;;;;:::o;6088:86::-;6123:7;6163:4;6156:5;6152:16;6141:27;;6088:86;;;:::o;6180:112::-;6263:22;6279:5;6263:22;:::i;:::-;6258:3;6251:35;6180:112;;:::o;6298:214::-;6387:4;6425:2;6414:9;6410:18;6402:26;;6438:67;6502:1;6491:9;6487:17;6478:6;6438:67;:::i;:::-;6298:214;;;;:::o;6518:474::-;6586:6;6594;6643:2;6631:9;6622:7;6618:23;6614:32;6611:119;;;6649:79;;:::i;:::-;6611:119;6769:1;6794:53;6839:7;6830:6;6819:9;6815:22;6794:53;:::i;:::-;6784:63;;6740:117;6896:2;6922:53;6967:7;6958:6;6947:9;6943:22;6922:53;:::i;:::-;6912:63;;6867:118;6518:474;;;;;:::o;6998:180::-;7046:77;7043:1;7036:88;7143:4;7140:1;7133:15;7167:4;7164:1;7157:15;7184:320;7228:6;7265:1;7259:4;7255:12;7245:22;;7312:1;7306:4;7302:12;7333:18;7323:81;;7389:4;7381:6;7377:17;7367:27;;7323:81;7451:2;7443:6;7440:14;7420:18;7417:38;7414:84;;7470:18;;:::i;:::-;7414:84;7235:269;7184:320;;;:::o;7510:227::-;7650:34;7646:1;7638:6;7634:14;7627:58;7719:10;7714:2;7706:6;7702:15;7695:35;7510:227;:::o;7743:366::-;7885:3;7906:67;7970:2;7965:3;7906:67;:::i;:::-;7899:74;;7982:93;8071:3;7982:93;:::i;:::-;8100:2;8095:3;8091:12;8084:19;;7743:366;;;:::o;8115:419::-;8281:4;8319:2;8308:9;8304:18;8296:26;;8368:9;8362:4;8358:20;8354:1;8343:9;8339:17;8332:47;8396:131;8522:4;8396:131;:::i;:::-;8388:139;;8115:419;;;:::o;8540:180::-;8588:77;8585:1;8578:88;8685:4;8682:1;8675:15;8709:4;8706:1;8699:15;8726:191;8766:3;8785:20;8803:1;8785:20;:::i;:::-;8780:25;;8819:20;8837:1;8819:20;:::i;:::-;8814:25;;8862:1;8859;8855:9;8848:16;;8883:3;8880:1;8877:10;8874:36;;;8890:18;;:::i;:::-;8874:36;8726:191;;;;:::o;8923:182::-;9063:34;9059:1;9051:6;9047:14;9040:58;8923:182;:::o;9111:366::-;9253:3;9274:67;9338:2;9333:3;9274:67;:::i;:::-;9267:74;;9350:93;9439:3;9350:93;:::i;:::-;9468:2;9463:3;9459:12;9452:19;;9111:366;;;:::o;9483:419::-;9649:4;9687:2;9676:9;9672:18;9664:26;;9736:9;9730:4;9726:20;9722:1;9711:9;9707:17;9700:47;9764:131;9890:4;9764:131;:::i;:::-;9756:139;;9483:419;;;:::o;9908:224::-;10048:34;10044:1;10036:6;10032:14;10025:58;10117:7;10112:2;10104:6;10100:15;10093:32;9908:224;:::o;10138:366::-;10280:3;10301:67;10365:2;10360:3;10301:67;:::i;:::-;10294:74;;10377:93;10466:3;10377:93;:::i;:::-;10495:2;10490:3;10486:12;10479:19;;10138:366;;;:::o;10510:419::-;10676:4;10714:2;10703:9;10699:18;10691:26;;10763:9;10757:4;10753:20;10749:1;10738:9;10734:17;10727:47;10791:131;10917:4;10791:131;:::i;:::-;10783:139;;10510:419;;;:::o;10935:225::-;11075:34;11071:1;11063:6;11059:14;11052:58;11144:8;11139:2;11131:6;11127:15;11120:33;10935:225;:::o;11166:366::-;11308:3;11329:67;11393:2;11388:3;11329:67;:::i;:::-;11322:74;;11405:93;11494:3;11405:93;:::i;:::-;11523:2;11518:3;11514:12;11507:19;;11166:366;;;:::o;11538:419::-;11704:4;11742:2;11731:9;11727:18;11719:26;;11791:9;11785:4;11781:20;11777:1;11766:9;11762:17;11755:47;11819:131;11945:4;11819:131;:::i;:::-;11811:139;;11538:419;;;:::o;11963:223::-;12103:34;12099:1;12091:6;12087:14;12080:58;12172:6;12167:2;12159:6;12155:15;12148:31;11963:223;:::o;12192:366::-;12334:3;12355:67;12419:2;12414:3;12355:67;:::i;:::-;12348:74;;12431:93;12520:3;12431:93;:::i;:::-;12549:2;12544:3;12540:12;12533:19;;12192:366;;;:::o;12564:419::-;12730:4;12768:2;12757:9;12753:18;12745:26;;12817:9;12811:4;12807:20;12803:1;12792:9;12788:17;12781:47;12845:131;12971:4;12845:131;:::i;:::-;12837:139;;12564:419;;;:::o;12989:221::-;13129:34;13125:1;13117:6;13113:14;13106:58;13198:4;13193:2;13185:6;13181:15;13174:29;12989:221;:::o;13216:366::-;13358:3;13379:67;13443:2;13438:3;13379:67;:::i;:::-;13372:74;;13455:93;13544:3;13455:93;:::i;:::-;13573:2;13568:3;13564:12;13557:19;;13216:366;;;:::o;13588:419::-;13754:4;13792:2;13781:9;13777:18;13769:26;;13841:9;13835:4;13831:20;13827:1;13816:9;13812:17;13805:47;13869:131;13995:4;13869:131;:::i;:::-;13861:139;;13588:419;;;:::o;14013:224::-;14153:34;14149:1;14141:6;14137:14;14130:58;14222:7;14217:2;14209:6;14205:15;14198:32;14013:224;:::o;14243:366::-;14385:3;14406:67;14470:2;14465:3;14406:67;:::i;:::-;14399:74;;14482:93;14571:3;14482:93;:::i;:::-;14600:2;14595:3;14591:12;14584:19;;14243:366;;;:::o;14615:419::-;14781:4;14819:2;14808:9;14804:18;14796:26;;14868:9;14862:4;14858:20;14854:1;14843:9;14839:17;14832:47;14896:131;15022:4;14896:131;:::i;:::-;14888:139;;14615:419;;;:::o;15040:222::-;15180:34;15176:1;15168:6;15164:14;15157:58;15249:5;15244:2;15236:6;15232:15;15225:30;15040:222;:::o;15268:366::-;15410:3;15431:67;15495:2;15490:3;15431:67;:::i;:::-;15424:74;;15507:93;15596:3;15507:93;:::i;:::-;15625:2;15620:3;15616:12;15609:19;;15268:366;;;:::o;15640:419::-;15806:4;15844:2;15833:9;15829:18;15821:26;;15893:9;15887:4;15883:20;15879:1;15868:9;15864:17;15857:47;15921:131;16047:4;15921:131;:::i;:::-;15913:139;;15640:419;;;:::o;16065:240::-;16205:34;16201:1;16193:6;16189:14;16182:58;16274:23;16269:2;16261:6;16257:15;16250:48;16065:240;:::o;16311:366::-;16453:3;16474:67;16538:2;16533:3;16474:67;:::i;:::-;16467:74;;16550:93;16639:3;16550:93;:::i;:::-;16668:2;16663:3;16659:12;16652:19;;16311:366;;;:::o;16683:419::-;16849:4;16887:2;16876:9;16872:18;16864:26;;16936:9;16930:4;16926:20;16922:1;16911:9;16907:17;16900:47;16964:131;17090:4;16964:131;:::i;:::-;16956:139;;16683:419;;;:::o;17108:169::-;17248:21;17244:1;17236:6;17232:14;17225:45;17108:169;:::o;17283:366::-;17425:3;17446:67;17510:2;17505:3;17446:67;:::i;:::-;17439:74;;17522:93;17611:3;17522:93;:::i;:::-;17640:2;17635:3;17631:12;17624:19;;17283:366;;;:::o;17655:419::-;17821:4;17859:2;17848:9;17844:18;17836:26;;17908:9;17902:4;17898:20;17894:1;17883:9;17879:17;17872:47;17936:131;18062:4;17936:131;:::i;:::-;17928:139;;17655:419;;;:::o;18080:241::-;18220:34;18216:1;18208:6;18204:14;18197:58;18289:24;18284:2;18276:6;18272:15;18265:49;18080:241;:::o;18327:366::-;18469:3;18490:67;18554:2;18549:3;18490:67;:::i;:::-;18483:74;;18566:93;18655:3;18566:93;:::i;:::-;18684:2;18679:3;18675:12;18668:19;;18327:366;;;:::o;18699:419::-;18865:4;18903:2;18892:9;18888:18;18880:26;;18952:9;18946:4;18942:20;18938:1;18927:9;18923:17;18916:47;18980:131;19106:4;18980:131;:::i;:::-;18972:139;;18699:419;;;:::o;19124:410::-;19164:7;19187:20;19205:1;19187:20;:::i;:::-;19182:25;;19221:20;19239:1;19221:20;:::i;:::-;19216:25;;19276:1;19273;19269:9;19298:30;19316:11;19298:30;:::i;:::-;19287:41;;19477:1;19468:7;19464:15;19461:1;19458:22;19438:1;19431:9;19411:83;19388:139;;19507:18;;:::i;:::-;19388:139;19172:362;19124:410;;;;:::o;19540:180::-;19588:77;19585:1;19578:88;19685:4;19682:1;19675:15;19709:4;19706:1;19699:15;19726:185;19766:1;19783:20;19801:1;19783:20;:::i;:::-;19778:25;;19817:20;19835:1;19817:20;:::i;:::-;19812:25;;19856:1;19846:35;;19861:18;;:::i;:::-;19846:35;19903:1;19900;19896:9;19891:14;;19726:185;;;;:::o;19917:194::-;19957:4;19977:20;19995:1;19977:20;:::i;:::-;19972:25;;20011:20;20029:1;20011:20;:::i;:::-;20006:25;;20055:1;20052;20048:9;20040:17;;20079:1;20073:4;20070:11;20067:37;;;20084:18;;:::i;:::-;20067:37;19917:194;;;;:::o;20117:225::-;20257:34;20253:1;20245:6;20241:14;20234:58;20326:8;20321:2;20313:6;20309:15;20302:33;20117:225;:::o;20348:366::-;20490:3;20511:67;20575:2;20570:3;20511:67;:::i;:::-;20504:74;;20587:93;20676:3;20587:93;:::i;:::-;20705:2;20700:3;20696:12;20689:19;;20348:366;;;:::o;20720:419::-;20886:4;20924:2;20913:9;20909:18;20901:26;;20973:9;20967:4;20963:20;20959:1;20948:9;20944:17;20937:47;21001:131;21127:4;21001:131;:::i;:::-;20993:139;;20720:419;;;:::o;21145:442::-;21294:4;21332:2;21321:9;21317:18;21309:26;;21345:71;21413:1;21402:9;21398:17;21389:6;21345:71;:::i;:::-;21426:72;21494:2;21483:9;21479:18;21470:6;21426:72;:::i;:::-;21508;21576:2;21565:9;21561:18;21552:6;21508:72;:::i;:::-;21145:442;;;;;;:::o;21593:147::-;21694:11;21731:3;21716:18;;21593:147;;;;:::o;21746:114::-;;:::o;21866:398::-;22025:3;22046:83;22127:1;22122:3;22046:83;:::i;:::-;22039:90;;22138:93;22227:3;22138:93;:::i;:::-;22256:1;22251:3;22247:11;22240:18;;21866:398;;;:::o;22270:379::-;22454:3;22476:147;22619:3;22476:147;:::i;:::-;22469:154;;22640:3;22633:10;;22270:379;;;:::o;22655:143::-;22712:5;22743:6;22737:13;22728:22;;22759:33;22786:5;22759:33;:::i;:::-;22655:143;;;;:::o;22804:351::-;22874:6;22923:2;22911:9;22902:7;22898:23;22894:32;22891:119;;;22929:79;;:::i;:::-;22891:119;23049:1;23074:64;23130:7;23121:6;23110:9;23106:22;23074:64;:::i;:::-;23064:74;;23020:128;22804:351;;;;:::o;23161:180::-;23209:77;23206:1;23199:88;23306:4;23303:1;23296:15;23330:4;23327:1;23320:15;23347:180;23395:77;23392:1;23385:88;23492:4;23489:1;23482:15;23516:4;23513:1;23506:15;23533:143;23590:5;23621:6;23615:13;23606:22;;23637:33;23664:5;23637:33;:::i;:::-;23533:143;;;;:::o;23682:351::-;23752:6;23801:2;23789:9;23780:7;23776:23;23772:32;23769:119;;;23807:79;;:::i;:::-;23769:119;23927:1;23952:64;24008:7;23999:6;23988:9;23984:22;23952:64;:::i;:::-;23942:74;;23898:128;23682:351;;;;:::o;24039:85::-;24084:7;24113:5;24102:16;;24039:85;;;:::o;24130:158::-;24188:9;24221:61;24239:42;24248:32;24274:5;24248:32;:::i;:::-;24239:42;:::i;:::-;24221:61;:::i;:::-;24208:74;;24130:158;;;:::o;24294:147::-;24389:45;24428:5;24389:45;:::i;:::-;24384:3;24377:58;24294:147;;:::o;24447:114::-;24514:6;24548:5;24542:12;24532:22;;24447:114;;;:::o;24567:184::-;24666:11;24700:6;24695:3;24688:19;24740:4;24735:3;24731:14;24716:29;;24567:184;;;;:::o;24757:132::-;24824:4;24847:3;24839:11;;24877:4;24872:3;24868:14;24860:22;;24757:132;;;:::o;24895:108::-;24972:24;24990:5;24972:24;:::i;:::-;24967:3;24960:37;24895:108;;:::o;25009:179::-;25078:10;25099:46;25141:3;25133:6;25099:46;:::i;:::-;25177:4;25172:3;25168:14;25154:28;;25009:179;;;;:::o;25194:113::-;25264:4;25296;25291:3;25287:14;25279:22;;25194:113;;;:::o;25343:732::-;25462:3;25491:54;25539:5;25491:54;:::i;:::-;25561:86;25640:6;25635:3;25561:86;:::i;:::-;25554:93;;25671:56;25721:5;25671:56;:::i;:::-;25750:7;25781:1;25766:284;25791:6;25788:1;25785:13;25766:284;;;25867:6;25861:13;25894:63;25953:3;25938:13;25894:63;:::i;:::-;25887:70;;25980:60;26033:6;25980:60;:::i;:::-;25970:70;;25826:224;25813:1;25810;25806:9;25801:14;;25766:284;;;25770:14;26066:3;26059:10;;25467:608;;;25343:732;;;;:::o;26081:831::-;26344:4;26382:3;26371:9;26367:19;26359:27;;26396:71;26464:1;26453:9;26449:17;26440:6;26396:71;:::i;:::-;26477:80;26553:2;26542:9;26538:18;26529:6;26477:80;:::i;:::-;26604:9;26598:4;26594:20;26589:2;26578:9;26574:18;26567:48;26632:108;26735:4;26726:6;26632:108;:::i;:::-;26624:116;;26750:72;26818:2;26807:9;26803:18;26794:6;26750:72;:::i;:::-;26832:73;26900:3;26889:9;26885:19;26876:6;26832:73;:::i;:::-;26081:831;;;;;;;;:::o;26918:807::-;27167:4;27205:3;27194:9;27190:19;27182:27;;27219:71;27287:1;27276:9;27272:17;27263:6;27219:71;:::i;:::-;27300:72;27368:2;27357:9;27353:18;27344:6;27300:72;:::i;:::-;27382:80;27458:2;27447:9;27443:18;27434:6;27382:80;:::i;:::-;27472;27548:2;27537:9;27533:18;27524:6;27472:80;:::i;:::-;27562:73;27630:3;27619:9;27615:19;27606:6;27562:73;:::i;:::-;27645;27713:3;27702:9;27698:19;27689:6;27645:73;:::i;:::-;26918:807;;;;;;;;;:::o;27731:663::-;27819:6;27827;27835;27884:2;27872:9;27863:7;27859:23;27855:32;27852:119;;;27890:79;;:::i;:::-;27852:119;28010:1;28035:64;28091:7;28082:6;28071:9;28067:22;28035:64;:::i;:::-;28025:74;;27981:128;28148:2;28174:64;28230:7;28221:6;28210:9;28206:22;28174:64;:::i;:::-;28164:74;;28119:129;28287:2;28313:64;28369:7;28360:6;28349:9;28345:22;28313:64;:::i;:::-;28303:74;;28258:129;27731:663;;;;;:::o
Swarm Source
ipfs://542fddb47c94fc5b9d45849b8fa8eae04f48a6a70dd188751128177e6d37ce75
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.