ERC-20
Overview
Max Total Supply
1,000,000,000 VBHC
Holders
69
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.719754089 VBHCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
VBHC
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-31 */ /* vitaliksbighardcock.eth | t.me/vitaliksbighardcock */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; // OpenZeppelin Contracts v4.4.1 (interfaces/IERC20.sol) // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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 { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IRouter { function factory() external pure returns (address); function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IINCH { function deposit() external payable; } contract VBHC is IERC20, Ownable { string public constant _name = "Vitalik's Big Hard Cock"; string public constant _symbol = "VBHC"; uint8 public constant _decimals = 9; uint256 public constant _totalSupply = 1000000000 * (10 ** _decimals); mapping (address => uint256) public _balances; mapping (address => mapping (address => uint256)) public _allowances; mapping (address => bool) public noTax; mapping (address => bool) public noMax; mapping (address => bool) public dexPair; uint256 public buyFeeLiquidity = 200; uint256 public buyFeeDev1 = 400; uint256 public buyFeeDev2 = 100; uint256 public buyFeeDev3 = 100; uint256 public buyFeeInch = 0; uint256 public buyFeeInchStretched = 0; uint256 public buyFee = 800; uint256 public sellFeeLiquidity = 200; uint256 public sellFeeDev1 = 0; uint256 public sellFeeDev2 = 0; uint256 public sellFeeDev3 = 0; uint256 public sellFeeInch = 150; uint256 public sellFeeInchStretched = 450; uint256 public sellFee = 800; uint256 public lowerSellFeeLiquidity = 200; uint256 public lowerSellFeeDev1 = 0; uint256 public lowerSellFeeDev2 = 0; uint256 public lowerSellFeeDev3 = 0; uint256 public lowerSellFeeInch = 0; uint256 public lowerSellFeeInchStretched = 0; uint256 public lowerSellFee = 200; uint256 private _tokensLiquidity; uint256 private _tokensDev1; uint256 private _tokensDev2; uint256 private _tokensDev3; uint256 private _tokensInch; uint256 private _tokensInchStretched; address public walletLiquidity = 0x000000000000000000000000000000000000dEaD; address public walletDev1 = 0x492781e3A18d2949fCB199b2bc14aC684BE682c7; address public walletDev2 = 0x6e36E3FEf37Ad566cF9E21B3210094949e906115; address public walletDev3 = 0xb58C3F7E5a5F62B26E2DA1C6A5f6920Feb262383; address public walletInch; address public walletInchStretched; address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; IRouter public constant router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public pair; uint256 public maxWallet = _totalSupply / 50; uint256 public swapTrigger = 0; uint256 public swapThreshold = _totalSupply / 40000; bool public tradingLive = false; bool private _swapping; modifier swapping() { _swapping = true; _; _swapping = false; } constructor () { pair = IFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = _totalSupply; noTax[msg.sender] = true; noMax[msg.sender] = true; dexPair[pair] = true; noMax[pair] = true; approve(address(router), _totalSupply); approve(address(pair), _totalSupply); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function totalSupply() external pure override returns (uint256) { return _totalSupply; } function decimals() external pure returns (uint8) { return _decimals; } function symbol() external pure returns (string memory) { return _symbol; } function name() external pure returns (string memory) { return _name; } function getOwner() external view returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, _totalSupply); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != _totalSupply) { require(_allowances[sender][msg.sender] >= amount, "Insufficient allowance"); _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) private returns (bool) { if (_swapping) return _basicTransfer(sender, recipient, amount); require(tradingLive || sender == owner(), "Trading not live"); address routerAddress = address(router); bool _sell = dexPair[recipient] || recipient == routerAddress; if (!_sell && !noMax[recipient]) require((_balances[recipient] + amount) < maxWallet, "Max wallet triggered"); if (_sell && amount >= swapTrigger) { if (!dexPair[msg.sender] && !_swapping && _balances[address(this)] >= swapThreshold) _sellTaxedTokens(); } require(_balances[sender] >= amount, "Insufficient balance"); _balances[sender] = _balances[sender] - amount; uint256 amountReceived = (((dexPair[sender] || sender == address(router)) || (dexPair[recipient]|| recipient == address(router))) ? !noTax[sender] && !noTax[recipient] : false) ? _collectTaxedTokens(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient] + amountReceived; emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) private returns (bool) { require(_balances[sender] >= amount, "Insufficient balance"); _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + amount; return true; } function _collectTaxedTokens(address sender, address receiver, uint256 amount) private returns (uint256) { bool _sell = dexPair[receiver] || receiver == address(router); uint256 _fee = _sell ? sellFee : buyFee; uint256 _tax = amount * _fee / 10000; if (_fee > 0) { if (_sell) { if (sellFeeLiquidity > 0) _tokensLiquidity += _tax * sellFeeLiquidity / _fee; if (sellFeeDev1 > 0) _tokensDev1 += _tax * sellFeeDev1 / _fee; if (sellFeeDev2 > 0) _tokensDev2 += _tax * sellFeeDev2 / _fee; if (sellFeeDev3 > 0) _tokensDev3 += _tax * sellFeeDev3 / _fee; if (sellFeeInch > 0) _tokensInch += _tax * sellFeeInch / _fee; if (sellFeeInchStretched > 0) _tokensInchStretched += _tax * sellFeeInchStretched / _fee; } else { if (buyFeeLiquidity > 0) _tokensLiquidity += _tax * buyFeeLiquidity / _fee; if (buyFeeDev1 > 0) _tokensDev1 += _tax * buyFeeDev1 / _fee; if (buyFeeDev2 > 0) _tokensDev2 += _tax * buyFeeDev2 / _fee; if (buyFeeDev3 > 0) _tokensDev3 += _tax * buyFeeDev3 / _fee; if (buyFeeInch > 0) _tokensInch += _tax * buyFeeInch / _fee; if (buyFeeInchStretched > 0) _tokensInchStretched += _tax * buyFeeInchStretched / _fee; } } _balances[address(this)] = _balances[address(this)] + _tax; emit Transfer(sender, address(this), _tax); return amount - _tax; } function _sellTaxedTokens() private swapping { uint256 _tokens = _tokensLiquidity + _tokensDev1 + _tokensDev2 + _tokensDev3 + _tokensInch + _tokensInchStretched; uint256 _liquidityTokensToSwapHalf = _tokensLiquidity / 2; uint256 _swapInput = balanceOf(address(this)) - _liquidityTokensToSwapHalf; uint256 _balanceSnapshot = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens(_swapInput, 0, path, address(this), block.timestamp); uint256 _tax = address(this).balance - _balanceSnapshot; uint256 _taxLiquidity = _tax * _tokensLiquidity / _tokens / 2; uint256 _taxDev1 = _tax * _tokensDev1 / _tokens; uint256 _taxDev2 = _tax * _tokensDev2 / _tokens; uint256 _taxDev3 = _tax * _tokensDev3 / _tokens; uint256 _taxInch = _tax * _tokensInch / _tokens; uint256 _taxInchStretched = _tax * _tokensInchStretched / _tokens; _tokensLiquidity = 0; _tokensDev1 = 0; _tokensDev2 = 0; _tokensDev3 = 0; _tokensInch = 0; _tokensInchStretched = 0; if (_taxLiquidity > 0) router.addLiquidityETH{value: _taxLiquidity}(address(this), _liquidityTokensToSwapHalf, 0, 0, walletLiquidity, block.timestamp); if (_taxDev1 > 0) payable(walletDev1).call{value: _taxDev1}(""); if (_taxDev2 > 0) payable(walletDev2).call{value: _taxDev2}(""); if (_taxDev3 > 0) payable(walletDev3).call{value: _taxDev3}(""); if (_taxInch > 0) try IINCH(walletInch).deposit{value: _taxInch}() {} catch { payable(address(this)).call{value: _taxInch}(""); } if (_taxInchStretched > 0) try IINCH(walletInchStretched).deposit{value: _taxInchStretched}() {} catch { payable(address(this)).call{value: _taxInchStretched}(""); } } function changeDexPair(address _pair, bool _value) external onlyOwner { dexPair[_pair] = _value; } function fetchDexPair(address _pair) external view returns (bool) { return dexPair[_pair]; } function changeNoTax(address _wallet, bool _value) external onlyOwner { noTax[_wallet] = _value; } function fetchNoTax(address _wallet) external view returns (bool) { return noTax[_wallet]; } function changeNoMax(address _wallet, bool _value) external onlyOwner { noMax[_wallet] = _value; } function fetchNoMax(address _wallet) external view onlyOwner returns (bool) { return noMax[_wallet]; } function changeMaxWallet(uint256 _maxWallet) external onlyOwner { maxWallet = _maxWallet; } function changeBuyFees(uint256 _buyFeeLiquidity, uint256 _buyFeeDev1, uint256 _buyFeeDev2, uint256 _buyFeeDev3, uint256 _buyFeeInch, uint256 _buyFeeInchStretched) external onlyOwner { buyFeeLiquidity = _buyFeeLiquidity; buyFeeDev1 = _buyFeeDev1; buyFeeDev2 = _buyFeeDev2; buyFeeDev3 = _buyFeeDev3; buyFeeInch = _buyFeeInch; buyFeeInchStretched = _buyFeeInchStretched; buyFee = _buyFeeLiquidity + _buyFeeDev1 + _buyFeeDev2 + _buyFeeDev3 + _buyFeeInch + _buyFeeInchStretched; } function changeSellFees(uint256 _sellFeeLiquidity, uint256 _sellFeeDev1, uint256 _sellFeeDev2, uint256 _sellFeeDev3, uint256 _sellFeeInch, uint256 _sellFeeInchStretched) external onlyOwner { sellFeeLiquidity = _sellFeeLiquidity; sellFeeDev1 = _sellFeeDev1; sellFeeDev2 = _sellFeeDev2; sellFeeDev3 = _sellFeeDev3; sellFeeInch = _sellFeeInch; sellFeeInchStretched = _sellFeeInchStretched; sellFee = _sellFeeLiquidity + _sellFeeDev1 + _sellFeeDev2 + _sellFeeDev3 + _sellFeeInch + _sellFeeInchStretched; } function changeLowerSellFees(uint256 _lowerSellFeeLiquidity, uint256 _lowerSellFeeDev1, uint256 _lowerSellFeeDev2, uint256 _lowerSellFeeDev3, uint256 _lowerSellFeeInch, uint256 _lowerSellFeeInchStretched) external onlyOwner { lowerSellFeeLiquidity = _lowerSellFeeLiquidity; lowerSellFeeDev1 = _lowerSellFeeDev1; lowerSellFeeDev2 = _lowerSellFeeDev2; lowerSellFeeDev3 = _lowerSellFeeDev3; lowerSellFeeInch = _lowerSellFeeInch; lowerSellFeeInchStretched = _lowerSellFeeInchStretched; lowerSellFee = _lowerSellFeeLiquidity + _lowerSellFeeDev1 + _lowerSellFeeDev2 + _lowerSellFeeDev3 + _lowerSellFeeInch + _lowerSellFeeInchStretched; } function changeWallets(address _walletLiquidity, address _walletDev1, address _walletDev2, address _walletDev3, address _walletInch, address _walletInchStretched) external onlyOwner { walletLiquidity = _walletLiquidity; walletDev1 = _walletDev1; walletDev2 = _walletDev2; walletDev3 = _walletDev3; walletInch = _walletInch; walletInchStretched = _walletInchStretched; } function enableTrading() external onlyOwner { tradingLive = true; } function changeSwapConfiguration(uint256 _swapTrigger, uint256 _swapThreshold) external onlyOwner { swapTrigger = _swapTrigger; swapThreshold = _swapThreshold; } function transferETH() external onlyOwner { payable(msg.sender).call{value: address(this).balance}(""); } function transferERC(address token) external onlyOwner { IERC20 Token = IERC20(token); Token.transfer(msg.sender, Token.balanceOf(address(this))); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeDev1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeDev2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeDev3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeInch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeInchStretched","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFeeLiquidity","type":"uint256"},{"internalType":"uint256","name":"_buyFeeDev1","type":"uint256"},{"internalType":"uint256","name":"_buyFeeDev2","type":"uint256"},{"internalType":"uint256","name":"_buyFeeDev3","type":"uint256"},{"internalType":"uint256","name":"_buyFeeInch","type":"uint256"},{"internalType":"uint256","name":"_buyFeeInchStretched","type":"uint256"}],"name":"changeBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"changeDexPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lowerSellFeeLiquidity","type":"uint256"},{"internalType":"uint256","name":"_lowerSellFeeDev1","type":"uint256"},{"internalType":"uint256","name":"_lowerSellFeeDev2","type":"uint256"},{"internalType":"uint256","name":"_lowerSellFeeDev3","type":"uint256"},{"internalType":"uint256","name":"_lowerSellFeeInch","type":"uint256"},{"internalType":"uint256","name":"_lowerSellFeeInchStretched","type":"uint256"}],"name":"changeLowerSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"changeNoMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"changeNoTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellFeeLiquidity","type":"uint256"},{"internalType":"uint256","name":"_sellFeeDev1","type":"uint256"},{"internalType":"uint256","name":"_sellFeeDev2","type":"uint256"},{"internalType":"uint256","name":"_sellFeeDev3","type":"uint256"},{"internalType":"uint256","name":"_sellFeeInch","type":"uint256"},{"internalType":"uint256","name":"_sellFeeInchStretched","type":"uint256"}],"name":"changeSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapTrigger","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"}],"name":"changeSwapConfiguration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_walletLiquidity","type":"address"},{"internalType":"address","name":"_walletDev1","type":"address"},{"internalType":"address","name":"_walletDev2","type":"address"},{"internalType":"address","name":"_walletDev3","type":"address"},{"internalType":"address","name":"_walletInch","type":"address"},{"internalType":"address","name":"_walletInchStretched","type":"address"}],"name":"changeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"dexPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"fetchDexPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"fetchNoMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"fetchNoTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeDev1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeDev2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeDev3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeInch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeInchStretched","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerSellFeeLiquidity","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"noMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"noTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeDev1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeDev2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeDev3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeInch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeInchStretched","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTrigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"transferERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferETH","outputs":[],"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":"walletDev1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletDev2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletDev3","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletInch","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletInchStretched","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletLiquidity","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260c860068190556101906007556064600881905560099081556000600a818155600b829055610320600c819055600d859055600e839055600f839055601083905560966011556101c260125560135560148490556015829055601682905560178290556018829055601991909155601a92909255602180546001600160a01b031990811661dead1790915560228054821673492781e3a18d2949fcb199b2bc14ac684be682c7179055602380548216736e36e3fef37ad566cf9e21b3210094949e9061151790556024805490911673b58c3f7e5a5f62b26e2da1c6a5f6920feb262383179055603291620000f99190620005e4565b6200010990633b9aca00620005fc565b6200011591906200061e565b6028556000602955619c406200012e6009600a620005e4565b6200013e90633b9aca00620005fc565b6200014a91906200061e565b602a55602b805460ff191690553480156200016457600080fd5b50620001703362000413565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e9919062000641565b6040516364e329cb60e11b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260048201523060248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af11580156200024c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000272919062000641565b602780546001600160a01b0319166001600160a01b0392909216919091179055620002a06009600a620005e4565b620002b090633b9aca00620005fc565b306000908152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d80855290835281842094909455338352600382528083208054600160ff19918216811790925560048085528386208054831684179055602780546001600160a01b03908116885260058752858820805485168617905590541686529093529220805490911690911790556200036a90620003546009600a620005e4565b6200036490633b9aca00620005fc565b62000463565b506027546200038a906001600160a01b0316620003546009600a620005e4565b50620003996009600a620005e4565b620003a990633b9aca00620005fc565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003ec6009600a620005e4565b620003fc90633b9aca00620005fc565b60405190815260200160405180910390a36200066c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620004bf9086815260200190565b60405180910390a35060015b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005285781600019048211156200050c576200050c620004d1565b808516156200051a57918102915b93841c9390800290620004ec565b509250929050565b6000826200054157506001620004cb565b816200055057506000620004cb565b8160018114620005695760028114620005745762000594565b6001915050620004cb565b60ff841115620005885762000588620004d1565b50506001821b620004cb565b5060208310610133831016604e8410600b8410161715620005b9575081810a620004cb565b620005c58383620004e7565b8060001904821115620005dc57620005dc620004d1565b029392505050565b6000620005f560ff84168362000530565b9392505050565b6000816000190483118215151615620006195762000619620004d1565b500290565b6000826200063c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200065457600080fd5b81516001600160a01b0381168114620005f557600080fd5b61277c806200067c6000396000f3fe60806040526004361061041f5760003560e01c8063715018a61161021e578063c0647dfb11610123578063e28d717b116100ab578063f2fde38b1161007a578063f2fde38b14610c9e578063f887ea4014610cbe578063f8b45b0514610ce6578063fa0fcbb314610cfc578063fef0006e14610d1c57600080fd5b8063e28d717b14610c3d578063e91d6bf414610c52578063ea00616814610c68578063f2bcf6a614610c7e57600080fd5b8063ce84501e116100f2578063ce84501e14610b45578063ceecc70614610b5b578063d28d885214610b7b578063dd62ed3e14610bbe578063de2f477714610c0457600080fd5b8063c0647dfb14610acf578063c07438b914610aef578063c9b385f314610b0f578063cbef7ef714610b2f57600080fd5b8063a6a94c01116101a6578063a933daea11610175578063a933daea14610a2b578063ad5c464814610a41578063af41af7414610a69578063b09f126614610a7f578063b12059e114610aaf57600080fd5b8063a6a94c01146109a5578063a7ed7250146109d5578063a8aa1b31146109eb578063a9059cbb14610a0b57600080fd5b80638a8c523c116101ed5780638a8c523c146109235780638da5cb5b146109055780638eda8abe1461093857806395d89b4114610958578063a641f9861461098557600080fd5b8063715018a6146108b05780637589c0b5146108c55780637760755f146108e5578063893d20e81461090557600080fd5b80632b30db231161032457806344c672fb116102ac57806365029e9c1161027b57806365029e9c146107f75780636aa654ba1461080d5780636ae0ff391461082d5780636ebcf6071461084d57806370a082311461087a57600080fd5b806344c672fb1461079557806347062402146107ab57806356a3c9b9146107c1578063571ac8b0146107d757600080fd5b80633836f17d116102f35780633836f17d1461071e5780633ac0bfcb146107345780633c31643c146107545780633d26f1471461076a5780633eaaf86b1461078057600080fd5b80632b30db23146106bb578063313ce567146106d157806332424aa3146106f35780633770df481461070857600080fd5b806312dcb1ca116103a7578063197b04de11610376578063197b04de1461063957806323b872dd14610659578063276d91421461067957806329c6a0f71461068f5780632b14ca56146106a557600080fd5b806312dcb1ca146105a5578063151ebae6146105de57806318160ddd1461060e578063191576b61461062357600080fd5b8063097815d8116103ee578063097815d8146105055780630b006d601461051b5780630bda7cd71461053d5780630da071751461055357806311704f521461058b57600080fd5b8063024c2ddd1461042b5780630445b6671461047657806306fdde031461048c578063095ea7b3146104d557600080fd5b3661042657005b600080fd5b34801561043757600080fd5b506104636104463660046122a2565b600260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561048257600080fd5b50610463602a5481565b34801561049857600080fd5b50604080518082019091526017815276566974616c696b277320426967204861726420436f636b60481b60208201525b60405161046d91906122d5565b3480156104e157600080fd5b506104f56104f036600461232a565b610d4c565b604051901515815260200161046d565b34801561051157600080fd5b5061046360185481565b34801561052757600080fd5b5061053b610536366004612354565b610db9565b005b34801561054957600080fd5b5061046360295481565b34801561055f57600080fd5b50602254610573906001600160a01b031681565b6040516001600160a01b03909116815260200161046d565b34801561059757600080fd5b50602b546104f59060ff1681565b3480156105b157600080fd5b506104f56105c036600461236d565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156105ea57600080fd5b506104f56105f936600461236d565b60036020526000908152604090205460ff1681565b34801561061a57600080fd5b50610463610dc6565b34801561062f57600080fd5b5061046360165481565b34801561064557600080fd5b50602554610573906001600160a01b031681565b34801561066557600080fd5b506104f5610674366004612388565b610de7565b34801561068557600080fd5b50610463600f5481565b34801561069b57600080fd5b50610463600a5481565b3480156106b157600080fd5b5061046360135481565b3480156106c757600080fd5b5061046360145481565b3480156106dd57600080fd5b5060095b60405160ff909116815260200161046d565b3480156106ff57600080fd5b506106e1600981565b34801561071457600080fd5b50610463601a5481565b34801561072a57600080fd5b5061046360075481565b34801561074057600080fd5b50602354610573906001600160a01b031681565b34801561076057600080fd5b5061046360085481565b34801561077657600080fd5b5061046360175481565b34801561078c57600080fd5b50610463610f06565b3480156107a157600080fd5b5061046360195481565b3480156107b757600080fd5b50610463600c5481565b3480156107cd57600080fd5b5061046360115481565b3480156107e357600080fd5b506104f56107f236600461236d565b610f23565b34801561080357600080fd5b5061046360125481565b34801561081957600080fd5b5061053b61082836600461236d565b610f43565b34801561083957600080fd5b5061053b6108483660046123c4565b611033565b34801561085957600080fd5b5061046361086836600461236d565b60016020526000908152604090205481565b34801561088657600080fd5b5061046361089536600461236d565b6001600160a01b031660009081526001602052604090205490565b3480156108bc57600080fd5b5061053b61109a565b3480156108d157600080fd5b5061053b6108e03660046123c4565b6110ae565b3480156108f157600080fd5b5061053b610900366004612407565b611115565b34801561091157600080fd5b506000546001600160a01b0316610573565b34801561092f57600080fd5b5061053b61118c565b34801561094457600080fd5b50602454610573906001600160a01b031681565b34801561096457600080fd5b506040805180820190915260048152635642484360e01b60208201526104c8565b34801561099157600080fd5b5061053b6109a036600461247b565b6111a3565b3480156109b157600080fd5b506104f56109c036600461236d565b60056020526000908152604090205460ff1681565b3480156109e157600080fd5b5061046360065481565b3480156109f757600080fd5b50602754610573906001600160a01b031681565b348015610a1757600080fd5b506104f5610a2636600461232a565b6111b6565b348015610a3757600080fd5b50610463600b5481565b348015610a4d57600080fd5b5061057373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b348015610a7557600080fd5b50610463600d5481565b348015610a8b57600080fd5b506104c8604051806040016040528060048152602001635642484360e01b81525081565b348015610abb57600080fd5b5061053b610aca3660046124ab565b6111c3565b348015610adb57600080fd5b5061053b610aea3660046124ab565b6111f6565b348015610afb57600080fd5b5061053b610b0a3660046123c4565b611229565b348015610b1b57600080fd5b50602154610573906001600160a01b031681565b348015610b3b57600080fd5b5061046360105481565b348015610b5157600080fd5b5061046360095481565b348015610b6757600080fd5b50602654610573906001600160a01b031681565b348015610b8757600080fd5b506104c860405180604001604052806017815260200176566974616c696b277320426967204861726420436f636b60481b81525081565b348015610bca57600080fd5b50610463610bd93660046122a2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610c1057600080fd5b506104f5610c1f36600461236d565b6001600160a01b031660009081526005602052604090205460ff1690565b348015610c4957600080fd5b5061053b611290565b348015610c5e57600080fd5b50610463600e5481565b348015610c7457600080fd5b5061046360155481565b348015610c8a57600080fd5b506104f5610c9936600461236d565b6112d8565b348015610caa57600080fd5b5061053b610cb936600461236d565b611305565b348015610cca57600080fd5b50610573737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610cf257600080fd5b5061046360285481565b348015610d0857600080fd5b5061053b610d173660046124ab565b61137e565b348015610d2857600080fd5b506104f5610d3736600461236d565b60046020526000908152604090205460ff1681565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610da79086815260200190565b60405180910390a35060015b92915050565b610dc16113b1565b602855565b6000610dd46009600a6125dc565b610de290633b9aca006125eb565b905090565b6000610df56009600a6125dc565b610e0390633b9aca006125eb565b6001600160a01b038516600090815260026020908152604080832033845290915290205414610ef1576001600160a01b0384166000908152600260209081526040808320338452909152902054821115610e9d5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064015b60405180910390fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054610ecc90839061260a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610efc84848461140b565b90505b9392505050565b610f126009600a6125dc565b610f2090633b9aca006125eb565b81565b6000610db382610f356009600a6125dc565b6104f090633b9aca006125eb565b610f4b6113b1565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612621565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e919061263a565b505050565b61103b6113b1565b60148690556015859055601684905560178390556018829055601981905580828486611067898b612657565b6110719190612657565b61107b9190612657565b6110859190612657565b61108f9190612657565b601a55505050505050565b6110a26113b1565b6110ac60006117ea565b565b6110b66113b1565b6006869055600785905560088490556009839055600a829055600b819055808284866110e2898b612657565b6110ec9190612657565b6110f69190612657565b6111009190612657565b61110a9190612657565b600c55505050505050565b61111d6113b1565b602180546001600160a01b03199081166001600160a01b0398891617909155602280548216968816969096179095556023805486169487169490941790935560248054851692861692909217909155602580548416918516919091179055602680549092169216919091179055565b6111946113b1565b602b805460ff19166001179055565b6111ab6113b1565b602991909155602a55565b6000610eff33848461140b565b6111cb6113b1565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6111fe6113b1565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6112316113b1565b600d869055600e859055600f8490556010839055601182905560128190558082848661125d898b612657565b6112679190612657565b6112719190612657565b61127b9190612657565b6112859190612657565b601355505050505050565b6112986113b1565b60405133904790600081818185875af1925050503d806000811461102e576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b60006112e26113b1565b506001600160a01b03811660009081526004602052604090205460ff165b919050565b61130d6113b1565b6001600160a01b0381166113725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e94565b61137b816117ea565b50565b6113866113b1565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e94565b602b54600090610100900460ff16156114305761142984848461183a565b9050610eff565b602b5460ff168061144e57506000546001600160a01b038581169116145b61148d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e67206e6f74206c69766560801b6044820152606401610e94565b6001600160a01b038316600090815260056020526040812054737a250d5630b4cf539739df2c5dacb4c659f2488d919060ff16806114dc5750816001600160a01b0316856001600160a01b0316145b90508015801561150557506001600160a01b03851660009081526004602052604090205460ff16155b15611575576028546001600160a01b038616600090815260016020526040902054611531908690612657565b106115755760405162461bcd60e51b815260206004820152601460248201527313585e081dd85b1b195d081d1c9a59d9d95c995960621b6044820152606401610e94565b80801561158457506029548410155b156115db573360009081526005602052604090205460ff161580156115b15750602b54610100900460ff16155b80156115ce5750602a543060009081526001602052604090205410155b156115db576115db611915565b6001600160a01b03861660009081526001602052604090205484111561163a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610e94565b6001600160a01b03861660009081526001602052604090205461165e90859061260a565b6001600160a01b038716600090815260016020908152604080832093909355600590529081205460ff16806116af57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b806116f857506001600160a01b03861660009081526005602052604090205460ff16806116f857506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d145b611703576000611745565b6001600160a01b03871660009081526003602052604090205460ff1615801561174557506001600160a01b03861660009081526003602052604090205460ff16155b61174f578461175a565b61175a878787611eda565b6001600160a01b038716600090815260016020526040902054909150611781908290612657565b6001600160a01b0380881660008181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117d59085815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600160205260408120548211156118995760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610e94565b6001600160a01b0384166000908152600160205260409020546118bd90839061260a565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546118ed908390612657565b6001600160a01b03841660009081526001602081905260409091209190915590509392505050565b602b805461ff001916610100179055602054601f54601e54601d54601c54601b546000959493929161194691612657565b6119509190612657565b61195a9190612657565b6119649190612657565b61196e9190612657565b905060006002601b54611981919061266f565b30600090815260016020526040812054919250906119a090839061260a565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106119da576119da612691565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611a2257611a22612691565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611a7a9086906000908690309042906004016126a7565b600060405180830381600087803b158015611a9457600080fd5b505af1158015611aa8573d6000803e3d6000fd5b5050505060008247611aba919061260a565b90506000600287601b5484611acf91906125eb565b611ad9919061266f565b611ae3919061266f565b9050600087601c5484611af691906125eb565b611b00919061266f565b9050600088601d5485611b1391906125eb565b611b1d919061266f565b9050600089601e5486611b3091906125eb565b611b3a919061266f565b905060008a601f5487611b4d91906125eb565b611b57919061266f565b905060008b60205488611b6a91906125eb565b611b74919061266f565b6000601b819055601c819055601d819055601e819055601f81905560205590508515611c435760215460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0390911660848201524260a4820152737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d71990889060c40160606040518083038185885af1158015611c1a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c3f9190612718565b5050505b8415611c9f576022546040516001600160a01b03909116908690600081818185875af1925050503d8060008114611c96576040519150601f19603f3d011682016040523d82523d6000602084013e611c9b565b606091505b5050505b8315611cfb576023546040516001600160a01b03909116908590600081818185875af1925050503d8060008114611cf2576040519150601f19603f3d011682016040523d82523d6000602084013e611cf7565b606091505b5050505b8215611d57576024546040516001600160a01b03909116908490600081818185875af1925050503d8060008114611d4e576040519150601f19603f3d011682016040523d82523d6000602084013e611d53565b606091505b5050505b8115611e0c57602560009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611dad57600080fd5b505af193505050508015611dbf575060015b611e0c5760405130908390600081818185875af1925050503d8060008114611e03576040519150601f19603f3d011682016040523d82523d6000602084013e611e08565b606091505b5050505b8015611ec157602660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e6257600080fd5b505af193505050508015611e74575060015b611ec15760405130908290600081818185875af1925050503d8060008114611eb8576040519150601f19603f3d011682016040523d82523d6000602084013e611ebd565b606091505b5050505b5050602b805461ff001916905550505050505050505050565b6001600160a01b038216600090815260056020526040812054819060ff1680611f1f57506001600160a01b038416737a250d5630b4cf539739df2c5dacb4c659f2488d145b9050600081611f3057600c54611f34565b6013545b90506000612710611f4583876125eb565b611f4f919061266f565b905081156122025782156120b257600d5415611f955781600d5482611f7491906125eb565b611f7e919061266f565b601b6000828254611f8f9190612657565b90915550505b600e5415611fcd5781600e5482611fac91906125eb565b611fb6919061266f565b601c6000828254611fc79190612657565b90915550505b600f54156120055781600f5482611fe491906125eb565b611fee919061266f565b601d6000828254611fff9190612657565b90915550505b6010541561203d57816010548261201c91906125eb565b612026919061266f565b601e60008282546120379190612657565b90915550505b6011541561207557816011548261205491906125eb565b61205e919061266f565b601f600082825461206f9190612657565b90915550505b601254156120ad57816012548261208c91906125eb565b612096919061266f565b602060008282546120a79190612657565b90915550505b612202565b600654156120ea5781600654826120c991906125eb565b6120d3919061266f565b601b60008282546120e49190612657565b90915550505b6007541561212257816007548261210191906125eb565b61210b919061266f565b601c600082825461211c9190612657565b90915550505b6008541561215a57816008548261213991906125eb565b612143919061266f565b601d60008282546121549190612657565b90915550505b6009541561219257816009548261217191906125eb565b61217b919061266f565b601e600082825461218c9190612657565b90915550505b600a54156121ca5781600a54826121a991906125eb565b6121b3919061266f565b601f60008282546121c49190612657565b90915550505b600b54156122025781600b54826121e191906125eb565b6121eb919061266f565b602060008282546121fc9190612657565b90915550505b3060009081526001602052604090205461221d908290612657565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061226e9085815260200190565b60405180910390a3612280818661260a565b979650505050505050565b80356001600160a01b038116811461130057600080fd5b600080604083850312156122b557600080fd5b6122be8361228b565b91506122cc6020840161228b565b90509250929050565b600060208083528351808285015260005b81811015612302578581018301518582016040015282016122e6565b81811115612314576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561233d57600080fd5b6123468361228b565b946020939093013593505050565b60006020828403121561236657600080fd5b5035919050565b60006020828403121561237f57600080fd5b610eff8261228b565b60008060006060848603121561239d57600080fd5b6123a68461228b565b92506123b46020850161228b565b9150604084013590509250925092565b60008060008060008060c087890312156123dd57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060008060008060c0878903121561242057600080fd5b6124298761228b565b95506124376020880161228b565b94506124456040880161228b565b93506124536060880161228b565b92506124616080880161228b565b915061246f60a0880161228b565b90509295509295509295565b6000806040838503121561248e57600080fd5b50508035926020909101359150565b801515811461137b57600080fd5b600080604083850312156124be57600080fd5b6124c78361228b565b915060208301356124d78161249d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612533578160001904821115612519576125196124e2565b8085161561252657918102915b93841c93908002906124fd565b509250929050565b60008261254a57506001610db3565b8161255757506000610db3565b816001811461256d576002811461257757612593565b6001915050610db3565b60ff841115612588576125886124e2565b50506001821b610db3565b5060208310610133831016604e8410600b84101617156125b6575081810a610db3565b6125c083836124f8565b80600019048211156125d4576125d46124e2565b029392505050565b6000610eff60ff84168361253b565b6000816000190483118215151615612605576126056124e2565b500290565b60008282101561261c5761261c6124e2565b500390565b60006020828403121561263357600080fd5b5051919050565b60006020828403121561264c57600080fd5b8151610eff8161249d565b6000821982111561266a5761266a6124e2565b500190565b60008261268c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126f75784516001600160a01b0316835293830193918301916001016126d2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561272d57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220c08de5ab07d19ea1c706585026ec82233dbafe4d5abd8a89789d64d19775c69d64736f6c634300080d0033
Deployed Bytecode
0x60806040526004361061041f5760003560e01c8063715018a61161021e578063c0647dfb11610123578063e28d717b116100ab578063f2fde38b1161007a578063f2fde38b14610c9e578063f887ea4014610cbe578063f8b45b0514610ce6578063fa0fcbb314610cfc578063fef0006e14610d1c57600080fd5b8063e28d717b14610c3d578063e91d6bf414610c52578063ea00616814610c68578063f2bcf6a614610c7e57600080fd5b8063ce84501e116100f2578063ce84501e14610b45578063ceecc70614610b5b578063d28d885214610b7b578063dd62ed3e14610bbe578063de2f477714610c0457600080fd5b8063c0647dfb14610acf578063c07438b914610aef578063c9b385f314610b0f578063cbef7ef714610b2f57600080fd5b8063a6a94c01116101a6578063a933daea11610175578063a933daea14610a2b578063ad5c464814610a41578063af41af7414610a69578063b09f126614610a7f578063b12059e114610aaf57600080fd5b8063a6a94c01146109a5578063a7ed7250146109d5578063a8aa1b31146109eb578063a9059cbb14610a0b57600080fd5b80638a8c523c116101ed5780638a8c523c146109235780638da5cb5b146109055780638eda8abe1461093857806395d89b4114610958578063a641f9861461098557600080fd5b8063715018a6146108b05780637589c0b5146108c55780637760755f146108e5578063893d20e81461090557600080fd5b80632b30db231161032457806344c672fb116102ac57806365029e9c1161027b57806365029e9c146107f75780636aa654ba1461080d5780636ae0ff391461082d5780636ebcf6071461084d57806370a082311461087a57600080fd5b806344c672fb1461079557806347062402146107ab57806356a3c9b9146107c1578063571ac8b0146107d757600080fd5b80633836f17d116102f35780633836f17d1461071e5780633ac0bfcb146107345780633c31643c146107545780633d26f1471461076a5780633eaaf86b1461078057600080fd5b80632b30db23146106bb578063313ce567146106d157806332424aa3146106f35780633770df481461070857600080fd5b806312dcb1ca116103a7578063197b04de11610376578063197b04de1461063957806323b872dd14610659578063276d91421461067957806329c6a0f71461068f5780632b14ca56146106a557600080fd5b806312dcb1ca146105a5578063151ebae6146105de57806318160ddd1461060e578063191576b61461062357600080fd5b8063097815d8116103ee578063097815d8146105055780630b006d601461051b5780630bda7cd71461053d5780630da071751461055357806311704f521461058b57600080fd5b8063024c2ddd1461042b5780630445b6671461047657806306fdde031461048c578063095ea7b3146104d557600080fd5b3661042657005b600080fd5b34801561043757600080fd5b506104636104463660046122a2565b600260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561048257600080fd5b50610463602a5481565b34801561049857600080fd5b50604080518082019091526017815276566974616c696b277320426967204861726420436f636b60481b60208201525b60405161046d91906122d5565b3480156104e157600080fd5b506104f56104f036600461232a565b610d4c565b604051901515815260200161046d565b34801561051157600080fd5b5061046360185481565b34801561052757600080fd5b5061053b610536366004612354565b610db9565b005b34801561054957600080fd5b5061046360295481565b34801561055f57600080fd5b50602254610573906001600160a01b031681565b6040516001600160a01b03909116815260200161046d565b34801561059757600080fd5b50602b546104f59060ff1681565b3480156105b157600080fd5b506104f56105c036600461236d565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156105ea57600080fd5b506104f56105f936600461236d565b60036020526000908152604090205460ff1681565b34801561061a57600080fd5b50610463610dc6565b34801561062f57600080fd5b5061046360165481565b34801561064557600080fd5b50602554610573906001600160a01b031681565b34801561066557600080fd5b506104f5610674366004612388565b610de7565b34801561068557600080fd5b50610463600f5481565b34801561069b57600080fd5b50610463600a5481565b3480156106b157600080fd5b5061046360135481565b3480156106c757600080fd5b5061046360145481565b3480156106dd57600080fd5b5060095b60405160ff909116815260200161046d565b3480156106ff57600080fd5b506106e1600981565b34801561071457600080fd5b50610463601a5481565b34801561072a57600080fd5b5061046360075481565b34801561074057600080fd5b50602354610573906001600160a01b031681565b34801561076057600080fd5b5061046360085481565b34801561077657600080fd5b5061046360175481565b34801561078c57600080fd5b50610463610f06565b3480156107a157600080fd5b5061046360195481565b3480156107b757600080fd5b50610463600c5481565b3480156107cd57600080fd5b5061046360115481565b3480156107e357600080fd5b506104f56107f236600461236d565b610f23565b34801561080357600080fd5b5061046360125481565b34801561081957600080fd5b5061053b61082836600461236d565b610f43565b34801561083957600080fd5b5061053b6108483660046123c4565b611033565b34801561085957600080fd5b5061046361086836600461236d565b60016020526000908152604090205481565b34801561088657600080fd5b5061046361089536600461236d565b6001600160a01b031660009081526001602052604090205490565b3480156108bc57600080fd5b5061053b61109a565b3480156108d157600080fd5b5061053b6108e03660046123c4565b6110ae565b3480156108f157600080fd5b5061053b610900366004612407565b611115565b34801561091157600080fd5b506000546001600160a01b0316610573565b34801561092f57600080fd5b5061053b61118c565b34801561094457600080fd5b50602454610573906001600160a01b031681565b34801561096457600080fd5b506040805180820190915260048152635642484360e01b60208201526104c8565b34801561099157600080fd5b5061053b6109a036600461247b565b6111a3565b3480156109b157600080fd5b506104f56109c036600461236d565b60056020526000908152604090205460ff1681565b3480156109e157600080fd5b5061046360065481565b3480156109f757600080fd5b50602754610573906001600160a01b031681565b348015610a1757600080fd5b506104f5610a2636600461232a565b6111b6565b348015610a3757600080fd5b50610463600b5481565b348015610a4d57600080fd5b5061057373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b348015610a7557600080fd5b50610463600d5481565b348015610a8b57600080fd5b506104c8604051806040016040528060048152602001635642484360e01b81525081565b348015610abb57600080fd5b5061053b610aca3660046124ab565b6111c3565b348015610adb57600080fd5b5061053b610aea3660046124ab565b6111f6565b348015610afb57600080fd5b5061053b610b0a3660046123c4565b611229565b348015610b1b57600080fd5b50602154610573906001600160a01b031681565b348015610b3b57600080fd5b5061046360105481565b348015610b5157600080fd5b5061046360095481565b348015610b6757600080fd5b50602654610573906001600160a01b031681565b348015610b8757600080fd5b506104c860405180604001604052806017815260200176566974616c696b277320426967204861726420436f636b60481b81525081565b348015610bca57600080fd5b50610463610bd93660046122a2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b348015610c1057600080fd5b506104f5610c1f36600461236d565b6001600160a01b031660009081526005602052604090205460ff1690565b348015610c4957600080fd5b5061053b611290565b348015610c5e57600080fd5b50610463600e5481565b348015610c7457600080fd5b5061046360155481565b348015610c8a57600080fd5b506104f5610c9936600461236d565b6112d8565b348015610caa57600080fd5b5061053b610cb936600461236d565b611305565b348015610cca57600080fd5b50610573737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610cf257600080fd5b5061046360285481565b348015610d0857600080fd5b5061053b610d173660046124ab565b61137e565b348015610d2857600080fd5b506104f5610d3736600461236d565b60046020526000908152604090205460ff1681565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610da79086815260200190565b60405180910390a35060015b92915050565b610dc16113b1565b602855565b6000610dd46009600a6125dc565b610de290633b9aca006125eb565b905090565b6000610df56009600a6125dc565b610e0390633b9aca006125eb565b6001600160a01b038516600090815260026020908152604080832033845290915290205414610ef1576001600160a01b0384166000908152600260209081526040808320338452909152902054821115610e9d5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b60448201526064015b60405180910390fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054610ecc90839061260a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610efc84848461140b565b90505b9392505050565b610f126009600a6125dc565b610f2090633b9aca006125eb565b81565b6000610db382610f356009600a6125dc565b6104f090633b9aca006125eb565b610f4b6113b1565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612621565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e919061263a565b505050565b61103b6113b1565b60148690556015859055601684905560178390556018829055601981905580828486611067898b612657565b6110719190612657565b61107b9190612657565b6110859190612657565b61108f9190612657565b601a55505050505050565b6110a26113b1565b6110ac60006117ea565b565b6110b66113b1565b6006869055600785905560088490556009839055600a829055600b819055808284866110e2898b612657565b6110ec9190612657565b6110f69190612657565b6111009190612657565b61110a9190612657565b600c55505050505050565b61111d6113b1565b602180546001600160a01b03199081166001600160a01b0398891617909155602280548216968816969096179095556023805486169487169490941790935560248054851692861692909217909155602580548416918516919091179055602680549092169216919091179055565b6111946113b1565b602b805460ff19166001179055565b6111ab6113b1565b602991909155602a55565b6000610eff33848461140b565b6111cb6113b1565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6111fe6113b1565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6112316113b1565b600d869055600e859055600f8490556010839055601182905560128190558082848661125d898b612657565b6112679190612657565b6112719190612657565b61127b9190612657565b6112859190612657565b601355505050505050565b6112986113b1565b60405133904790600081818185875af1925050503d806000811461102e576040519150601f19603f3d011682016040523d82523d6000602084013e505050565b60006112e26113b1565b506001600160a01b03811660009081526004602052604090205460ff165b919050565b61130d6113b1565b6001600160a01b0381166113725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e94565b61137b816117ea565b50565b6113866113b1565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e94565b602b54600090610100900460ff16156114305761142984848461183a565b9050610eff565b602b5460ff168061144e57506000546001600160a01b038581169116145b61148d5760405162461bcd60e51b815260206004820152601060248201526f54726164696e67206e6f74206c69766560801b6044820152606401610e94565b6001600160a01b038316600090815260056020526040812054737a250d5630b4cf539739df2c5dacb4c659f2488d919060ff16806114dc5750816001600160a01b0316856001600160a01b0316145b90508015801561150557506001600160a01b03851660009081526004602052604090205460ff16155b15611575576028546001600160a01b038616600090815260016020526040902054611531908690612657565b106115755760405162461bcd60e51b815260206004820152601460248201527313585e081dd85b1b195d081d1c9a59d9d95c995960621b6044820152606401610e94565b80801561158457506029548410155b156115db573360009081526005602052604090205460ff161580156115b15750602b54610100900460ff16155b80156115ce5750602a543060009081526001602052604090205410155b156115db576115db611915565b6001600160a01b03861660009081526001602052604090205484111561163a5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610e94565b6001600160a01b03861660009081526001602052604090205461165e90859061260a565b6001600160a01b038716600090815260016020908152604080832093909355600590529081205460ff16806116af57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b806116f857506001600160a01b03861660009081526005602052604090205460ff16806116f857506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d145b611703576000611745565b6001600160a01b03871660009081526003602052604090205460ff1615801561174557506001600160a01b03861660009081526003602052604090205460ff16155b61174f578461175a565b61175a878787611eda565b6001600160a01b038716600090815260016020526040902054909150611781908290612657565b6001600160a01b0380881660008181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117d59085815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600160205260408120548211156118995760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610e94565b6001600160a01b0384166000908152600160205260409020546118bd90839061260a565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546118ed908390612657565b6001600160a01b03841660009081526001602081905260409091209190915590509392505050565b602b805461ff001916610100179055602054601f54601e54601d54601c54601b546000959493929161194691612657565b6119509190612657565b61195a9190612657565b6119649190612657565b61196e9190612657565b905060006002601b54611981919061266f565b30600090815260016020526040812054919250906119a090839061260a565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106119da576119da612691565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611a2257611a22612691565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611a7a9086906000908690309042906004016126a7565b600060405180830381600087803b158015611a9457600080fd5b505af1158015611aa8573d6000803e3d6000fd5b5050505060008247611aba919061260a565b90506000600287601b5484611acf91906125eb565b611ad9919061266f565b611ae3919061266f565b9050600087601c5484611af691906125eb565b611b00919061266f565b9050600088601d5485611b1391906125eb565b611b1d919061266f565b9050600089601e5486611b3091906125eb565b611b3a919061266f565b905060008a601f5487611b4d91906125eb565b611b57919061266f565b905060008b60205488611b6a91906125eb565b611b74919061266f565b6000601b819055601c819055601d819055601e819055601f81905560205590508515611c435760215460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0390911660848201524260a4820152737a250d5630b4cf539739df2c5dacb4c659f2488d9063f305d71990889060c40160606040518083038185885af1158015611c1a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c3f9190612718565b5050505b8415611c9f576022546040516001600160a01b03909116908690600081818185875af1925050503d8060008114611c96576040519150601f19603f3d011682016040523d82523d6000602084013e611c9b565b606091505b5050505b8315611cfb576023546040516001600160a01b03909116908590600081818185875af1925050503d8060008114611cf2576040519150601f19603f3d011682016040523d82523d6000602084013e611cf7565b606091505b5050505b8215611d57576024546040516001600160a01b03909116908490600081818185875af1925050503d8060008114611d4e576040519150601f19603f3d011682016040523d82523d6000602084013e611d53565b606091505b5050505b8115611e0c57602560009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611dad57600080fd5b505af193505050508015611dbf575060015b611e0c5760405130908390600081818185875af1925050503d8060008114611e03576040519150601f19603f3d011682016040523d82523d6000602084013e611e08565b606091505b5050505b8015611ec157602660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e6257600080fd5b505af193505050508015611e74575060015b611ec15760405130908290600081818185875af1925050503d8060008114611eb8576040519150601f19603f3d011682016040523d82523d6000602084013e611ebd565b606091505b5050505b5050602b805461ff001916905550505050505050505050565b6001600160a01b038216600090815260056020526040812054819060ff1680611f1f57506001600160a01b038416737a250d5630b4cf539739df2c5dacb4c659f2488d145b9050600081611f3057600c54611f34565b6013545b90506000612710611f4583876125eb565b611f4f919061266f565b905081156122025782156120b257600d5415611f955781600d5482611f7491906125eb565b611f7e919061266f565b601b6000828254611f8f9190612657565b90915550505b600e5415611fcd5781600e5482611fac91906125eb565b611fb6919061266f565b601c6000828254611fc79190612657565b90915550505b600f54156120055781600f5482611fe491906125eb565b611fee919061266f565b601d6000828254611fff9190612657565b90915550505b6010541561203d57816010548261201c91906125eb565b612026919061266f565b601e60008282546120379190612657565b90915550505b6011541561207557816011548261205491906125eb565b61205e919061266f565b601f600082825461206f9190612657565b90915550505b601254156120ad57816012548261208c91906125eb565b612096919061266f565b602060008282546120a79190612657565b90915550505b612202565b600654156120ea5781600654826120c991906125eb565b6120d3919061266f565b601b60008282546120e49190612657565b90915550505b6007541561212257816007548261210191906125eb565b61210b919061266f565b601c600082825461211c9190612657565b90915550505b6008541561215a57816008548261213991906125eb565b612143919061266f565b601d60008282546121549190612657565b90915550505b6009541561219257816009548261217191906125eb565b61217b919061266f565b601e600082825461218c9190612657565b90915550505b600a54156121ca5781600a54826121a991906125eb565b6121b3919061266f565b601f60008282546121c49190612657565b90915550505b600b54156122025781600b54826121e191906125eb565b6121eb919061266f565b602060008282546121fc9190612657565b90915550505b3060009081526001602052604090205461221d908290612657565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061226e9085815260200190565b60405180910390a3612280818661260a565b979650505050505050565b80356001600160a01b038116811461130057600080fd5b600080604083850312156122b557600080fd5b6122be8361228b565b91506122cc6020840161228b565b90509250929050565b600060208083528351808285015260005b81811015612302578581018301518582016040015282016122e6565b81811115612314576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561233d57600080fd5b6123468361228b565b946020939093013593505050565b60006020828403121561236657600080fd5b5035919050565b60006020828403121561237f57600080fd5b610eff8261228b565b60008060006060848603121561239d57600080fd5b6123a68461228b565b92506123b46020850161228b565b9150604084013590509250925092565b60008060008060008060c087890312156123dd57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060008060008060c0878903121561242057600080fd5b6124298761228b565b95506124376020880161228b565b94506124456040880161228b565b93506124536060880161228b565b92506124616080880161228b565b915061246f60a0880161228b565b90509295509295509295565b6000806040838503121561248e57600080fd5b50508035926020909101359150565b801515811461137b57600080fd5b600080604083850312156124be57600080fd5b6124c78361228b565b915060208301356124d78161249d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612533578160001904821115612519576125196124e2565b8085161561252657918102915b93841c93908002906124fd565b509250929050565b60008261254a57506001610db3565b8161255757506000610db3565b816001811461256d576002811461257757612593565b6001915050610db3565b60ff841115612588576125886124e2565b50506001821b610db3565b5060208310610133831016604e8410600b84101617156125b6575081810a610db3565b6125c083836124f8565b80600019048211156125d4576125d46124e2565b029392505050565b6000610eff60ff84168361253b565b6000816000190483118215151615612605576126056124e2565b500290565b60008282101561261c5761261c6124e2565b500390565b60006020828403121561263357600080fd5b5051919050565b60006020828403121561264c57600080fd5b8151610eff8161249d565b6000821982111561266a5761266a6124e2565b500190565b60008261268c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126f75784516001600160a01b0316835293830193918301916001016126d2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561272d57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220c08de5ab07d19ea1c706585026ec82233dbafe4d5abd8a89789d64d19775c69d64736f6c634300080d0033
Deployed Bytecode Sourcemap
7037:13561:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7360:68;;;;;;;;;;-1:-1:-1;7360:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:25:1;;;591:2;576:18;7360:68:0;;;;;;;;9334:51;;;;;;;;;;;;;;;;10387:85;;;;;;;;;;-1:-1:-1;10459:5:0;;;;;;;;;;;;-1:-1:-1;;;10459:5:0;;;;10387:85;;;;;;;:::i;10855:216::-;;;;;;;;;;-1:-1:-1;10855:216:0;;;;;:::i;:::-;;:::i;:::-;;;1665:14:1;;1658:22;1640:41;;1628:2;1613:18;10855:216:0;1500:187:1;8304:35:0;;;;;;;;;;;;;;;;17595:105;;;;;;;;;;-1:-1:-1;17595:105:0;;;;;:::i;:::-;;:::i;:::-;;9297:30;;;;;;;;;;;;;;;;8741:70;;;;;;;;;;-1:-1:-1;8741:70:0;;;;-1:-1:-1;;;;;8741:70:0;;;;;;-1:-1:-1;;;;;2041:32:1;;;2023:51;;2011:2;1996:18;8741:70:0;1877:203:1;9394:31:0;;;;;;;;;;-1:-1:-1;9394:31:0;;;;;;;;17237:106;;;;;;;;;;-1:-1:-1;17237:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;17321:14:0;17297:4;17321:14;;;:5;:14;;;;;;;;;17237:106;7437:38;;;;;;;;;;-1:-1:-1;7437:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10087:102;;;;;;;;;;;;;:::i;8220:35::-;;;;;;;;;;;;;;;;8972:25;;;;;;;;;;-1:-1:-1;8972:25:0;;;;-1:-1:-1;;;;;8972:25:0;;;11368:429;;;;;;;;;;-1:-1:-1;11368:429:0;;;;;:::i;:::-;;:::i;7931:30::-;;;;;;;;;;;;;;;;7733:29;;;;;;;;;;;;;;;;8092:28;;;;;;;;;;;;;;;;8129:42;;;;;;;;;;;;;;;;10197:85;;;;;;;;;;-1:-1:-1;7220:1:0;10197:85;;;2781:4:1;2769:17;;;2751:36;;2739:2;2724:18;10197:85:0;2609:184:1;7186:35:0;;;;;;;;;;;;7220:1;7186:35;;8397:33;;;;;;;;;;;;;;;;7619:31;;;;;;;;;;;;;;;;8818:70;;;;;;;;;;-1:-1:-1;8818:70:0;;;;-1:-1:-1;;;;;8818:70:0;;;7657:31;;;;;;;;;;;;;;;;8262:35;;;;;;;;;;;;;;;;7230:69;;;;;;;;;;;;;:::i;8346:44::-;;;;;;;;;;;;;;;;7814:27;;;;;;;;;;;;;;;;8005:32;;;;;;;;;;;;;;;;11079:117;;;;;;;;;;-1:-1:-1;11079:117:0;;;;;:::i;:::-;;:::i;8044:41::-;;;;;;;;;;;;;;;;20387:171;;;;;;;;;;-1:-1:-1;20387:171:0;;;;;:::i;:::-;;:::i;18836:699::-;;;;;;;;;;-1:-1:-1;18836:699:0;;;;;:::i;:::-;;:::i;7308:45::-;;;;;;;;;;-1:-1:-1;7308:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;10573:119;;;;;;;;;;-1:-1:-1;10573:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10666:18:0;10639:7;10666:18;;;:9;:18;;;;;;;10573:119;5579:103;;;;;;;;;;;;;:::i;17708:543::-;;;;;;;;;;-1:-1:-1;17708:543:0;;;;;:::i;:::-;;:::i;19543:428::-;;;;;;;;;;-1:-1:-1;19543:428:0;;;;;:::i;:::-;;:::i;10480:85::-;;;;;;;;;;-1:-1:-1;10523:7:0;5004:6;-1:-1:-1;;;;;5004:6:0;10480:85;10087:102;19979:81;;;;;;;;;;;;;:::i;8895:70::-;;;;;;;;;;-1:-1:-1;8895:70:0;;;;-1:-1:-1;;;;;8895:70:0;;;10290:89;;;;;;;;;;-1:-1:-1;10364:7:0;;;;;;;;;;;;-1:-1:-1;;;10364:7:0;;;;10290:89;;20068:184;;;;;;;;;;-1:-1:-1;20068:184:0;;;;;:::i;:::-;;:::i;7527:40::-;;;;;;;;;;-1:-1:-1;7527:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7576:36;;;;;;;;;;;;;;;;9218:19;;;;;;;;;;-1:-1:-1;9218:19:0;;;;-1:-1:-1;;;;;9218:19:0;;;11204:156;;;;;;;;;;-1:-1:-1;11204:156:0;;;;;:::i;:::-;;:::i;7769:38::-;;;;;;;;;;;;;;;;9047:73;;;;;;;;;;;;9078:42;9047:73;;7850:37;;;;;;;;;;;;;;;;7140:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7140:39:0;;;;;16883:112;;;;;;;;;;-1:-1:-1;16883:112:0;;;;;:::i;:::-;;:::i;17351:::-;;;;;;;;;;-1:-1:-1;17351:112:0;;;;;:::i;:::-;;:::i;18259:569::-;;;;;;;;;;-1:-1:-1;18259:569:0;;;;;:::i;:::-;;:::i;8659:75::-;;;;;;;;;;-1:-1:-1;8659:75:0;;;;-1:-1:-1;;;;;8659:75:0;;;7968:30;;;;;;;;;;;;;;;;7695:31;;;;;;;;;;;;;;;;9004:34;;;;;;;;;;-1:-1:-1;9004:34:0;;;;-1:-1:-1;;;;;9004:34:0;;;7077:56;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7077:56:0;;;;;10700:147;;;;;;;;;;-1:-1:-1;10700:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;10811:19:0;;;10784:7;10811:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10700:147;17003:106;;;;;;;;;;-1:-1:-1;17003:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;17087:14:0;17063:4;17087:14;;;:7;:14;;;;;;;;;17003:106;20260:119;;;;;;;;;;;;;:::i;7894:30::-;;;;;;;;;;;;;;;;8178:35;;;;;;;;;;;;;;;;17471:116;;;;;;;;;;-1:-1:-1;17471:116:0;;;;;:::i;:::-;;:::i;5837:201::-;;;;;;;;;;-1:-1:-1;5837:201:0;;;;;:::i;:::-;;:::i;9127:84::-;;;;;;;;;;;;9168:42;9127:84;;9246:44;;;;;;;;;;;;;;;;17117:112;;;;;;;;;;-1:-1:-1;17117:112:0;;;;;:::i;:::-;;:::i;7482:38::-;;;;;;;;;;-1:-1:-1;7482:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10855:216;10959:10;10930:4;10947:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10947:32:0;;;;;;;;;;:41;;;11004:37;10930:4;;10947:32;;11004:37;;;;10982:6;603:25:1;;591:2;576:18;;457:177;11004:37:0;;;;;;;;-1:-1:-1;11059:4:0;10855:216;;;;;:::o;17595:105::-;4817:13;:11;:13::i;:::-;17670:9:::1;:22:::0;17595:105::o;10087:102::-;10142:7;7283:15;7220:1;7283:2;:15;:::i;:::-;7269:30;;:10;:30;:::i;:::-;10162:19;;10087:102;:::o;11368:429::-;11468:4;7283:15;7220:1;7283:2;:15;:::i;:::-;7269:30;;:10;:30;:::i;:::-;-1:-1:-1;;;;;11489:19:0;;;;;;:11;:19;;;;;;;;11509:10;11489:31;;;;;;;;:47;11485:245;;-1:-1:-1;;;;;11561:19:0;;;;;;:11;:19;;;;;;;;11581:10;11561:31;;;;;;;;:41;-1:-1:-1;11561:41:0;11553:76;;;;-1:-1:-1;;;11553:76:0;;6699:2:1;11553:76:0;;;6681:21:1;6738:2;6718:18;;;6711:30;-1:-1:-1;;;6757:18:1;;;6750:52;6819:18;;11553:76:0;;;;;;;;;-1:-1:-1;;;;;11678:19:0;;;;;;:11;:19;;;;;;;;11698:10;11678:31;;;;;;;;:40;;11712:6;;11678:40;:::i;:::-;-1:-1:-1;;;;;11644:19:0;;;;;;:11;:19;;;;;;;;11664:10;11644:31;;;;;;;:74;11485:245;11749:40;11763:6;11771:9;11782:6;11749:13;:40::i;:::-;11742:47;;11368:429;;;;;;:::o;7230:69::-;7283:15;7220:1;7283:2;:15;:::i;:::-;7269:30;;:10;:30;:::i;:::-;7230:69;:::o;11079:117::-;11134:4;11158:30;11166:7;7283:15;7220:1;7283:2;:15;:::i;:::-;7269:30;;:10;:30;:::i;20387:171::-;4817:13;:11;:13::i;:::-;20519:30:::1;::::0;-1:-1:-1;;;20519:30:0;;20543:4:::1;20519:30;::::0;::::1;2023:51:1::0;20475:5:0;;-1:-1:-1;;;;;20492:14:0;::::1;::::0;::::1;::::0;20507:10:::1;::::0;20492:14;;20519:15:::1;::::0;1996:18:1;;20519:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20492:58;::::0;-1:-1:-1;;;;;;20492:58:0::1;::::0;;;;;;-1:-1:-1;;;;;7359:32:1;;;20492:58:0::1;::::0;::::1;7341:51:1::0;7408:18;;;7401:34;7314:18;;20492:58:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20442:116;20387:171:::0;:::o;18836:699::-;4817:13;:11;:13::i;:::-;19071:21:::1;:46:::0;;;19128:16:::1;:36:::0;;;19175:16:::1;:36:::0;;;19222:16:::1;:36:::0;;;19269:16:::1;:36:::0;;;19316:25:::1;:54:::0;;;19344:26;19288:17;19241;19194;19396:42:::1;19147:17:::0;19095:22;19396:42:::1;:::i;:::-;:62;;;;:::i;:::-;:82;;;;:::i;:::-;:102;;;;:::i;:::-;:131;;;;:::i;:::-;19381:12;:146:::0;-1:-1:-1;;;;;;18836:699:0:o;5579:103::-;4817:13;:11;:13::i;:::-;5644:30:::1;5671:1;5644:18;:30::i;:::-;5579:103::o:0;17708:543::-;4817:13;:11;:13::i;:::-;17901:15:::1;:34:::0;;;17946:10:::1;:24:::0;;;17981:10:::1;:24:::0;;;18016:10:::1;:24:::0;;;18051:10:::1;:24:::0;;;18086:19:::1;:42:::0;;;18108:20;18064:11;18029;17994;18148:30:::1;17959:11:::0;17919:16;18148:30:::1;:::i;:::-;:44;;;;:::i;:::-;:58;;;;:::i;:::-;:72;;;;:::i;:::-;:95;;;;:::i;:::-;18139:6;:104:::0;-1:-1:-1;;;;;;17708:543:0:o;19543:428::-;4817:13;:11;:13::i;:::-;19736:15:::1;:34:::0;;-1:-1:-1;;;;;;19736:34:0;;::::1;-1:-1:-1::0;;;;;19736:34:0;;::::1;;::::0;;;19781:10:::1;:24:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;19816:10:::1;:24:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;19851:10:::1;:24:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;19886:10:::1;:24:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;19921:19:::1;:42:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;19543:428::o;19979:81::-;4817:13;:11;:13::i;:::-;20034:11:::1;:18:::0;;-1:-1:-1;;20034:18:0::1;20048:4;20034:18;::::0;;19979:81::o;20068:184::-;4817:13;:11;:13::i;:::-;20177:11:::1;:26:::0;;;;20214:13:::1;:30:::0;20068:184::o;11204:156::-;11284:4;11308:44;11322:10;11334:9;11345:6;11308:13;:44::i;16883:112::-;4817:13;:11;:13::i;:::-;-1:-1:-1;;;;;16964:14:0;;;::::1;;::::0;;;:7:::1;:14;::::0;;;;:23;;-1:-1:-1;;16964:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16883:112::o;17351:::-;4817:13;:11;:13::i;:::-;-1:-1:-1;;;;;17432:14:0;;;::::1;;::::0;;;:5:::1;:14;::::0;;;;:23;;-1:-1:-1;;17432:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17351:112::o;18259:569::-;4817:13;:11;:13::i;:::-;18459:16:::1;:36:::0;;;18506:11:::1;:26:::0;;;18543:11:::1;:26:::0;;;18580:11:::1;:26:::0;;;18617:11:::1;:26:::0;;;18654:20:::1;:44:::0;;;18677:21;18631:12;18594;18557;18719:32:::1;18520:12:::0;18478:17;18719:32:::1;:::i;:::-;:47;;;;:::i;:::-;:62;;;;:::i;:::-;:77;;;;:::i;:::-;:101;;;;:::i;:::-;18709:7;:111:::0;-1:-1:-1;;;;;;18259:569:0:o;20260:119::-;4817:13;:11;:13::i;:::-;20313:58:::1;::::0;20321:10:::1;::::0;20345:21:::1;::::0;20313:58:::1;::::0;;;20345:21;20321:10;20313:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20492;20442:116;20387:171:::0;:::o;17471:116::-;17541:4;4817:13;:11;:13::i;:::-;-1:-1:-1;;;;;;17565:14:0;::::1;;::::0;;;:5:::1;:14;::::0;;;;;::::1;;4841:1;17471:116:::0;;;:::o;5837:201::-;4817:13;:11;:13::i;:::-;-1:-1:-1;;;;;5926:22:0;::::1;5918:73;;;::::0;-1:-1:-1;;;5918:73:0;;8241:2:1;5918:73:0::1;::::0;::::1;8223:21:1::0;8280:2;8260:18;;;8253:30;8319:34;8299:18;;;8292:62;-1:-1:-1;;;8370:18:1;;;8363:36;8416:19;;5918:73:0::1;8039:402:1::0;5918:73:0::1;6002:28;6021:8;6002:18;:28::i;:::-;5837:201:::0;:::o;17117:112::-;4817:13;:11;:13::i;:::-;-1:-1:-1;;;;;17198:14:0;;;::::1;;::::0;;;:5:::1;:14;::::0;;;;:23;;-1:-1:-1;;17198:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17117:112::o;5096:132::-;4977:7;5004:6;-1:-1:-1;;;;;5004:6:0;3720:10;5160:23;5152:68;;;;-1:-1:-1;;;5152:68:0;;8648:2:1;5152:68:0;;;8630:21:1;;;8667:18;;;8660:30;8726:34;8706:18;;;8699:62;8778:18;;5152:68:0;8446:356:1;11805:1208:0;11917:9;;11896:4;;11917:9;;;;;11913:63;;;11935:41;11950:6;11958:9;11969:6;11935:14;:41::i;:::-;11928:48;;;;11913:63;11995:11;;;;;:32;;-1:-1:-1;4977:7:0;5004:6;-1:-1:-1;;;;;12010:17:0;;;5004:6;;12010:17;11995:32;11987:61;;;;-1:-1:-1;;;11987:61:0;;9009:2:1;11987:61:0;;;8991:21:1;9048:2;9028:18;;;9021:30;-1:-1:-1;;;9067:18:1;;;9060:46;9123:18;;11987:61:0;8807:340:1;11987:61:0;-1:-1:-1;;;;;12124:18:0;;12061:21;12124:18;;;:7;:18;;;;;;9168:42;;12061:21;12124:18;;;:48;;;12159:13;-1:-1:-1;;;;;12146:26:0;:9;-1:-1:-1;;;;;12146:26:0;;12124:48;12111:61;;12190:5;12189:6;:27;;;;-1:-1:-1;;;;;;12200:16:0;;;;;;:5;:16;;;;;;;;12199:17;12189:27;12185:109;;;12260:9;;-1:-1:-1;;;;;12227:20:0;;;;;;:9;:20;;;;;;:29;;12250:6;;12227:29;:::i;:::-;12226:43;12218:76;;;;-1:-1:-1;;;12218:76:0;;9354:2:1;12218:76:0;;;9336:21:1;9393:2;9373:18;;;9366:30;-1:-1:-1;;;9412:18:1;;;9405:50;9472:18;;12218:76:0;9152:344:1;12218:76:0;12311:5;:30;;;;;12330:11;;12320:6;:21;;12311:30;12307:166;;;12371:10;12363:19;;;;:7;:19;;;;;;;;12362:20;:34;;;;-1:-1:-1;12387:9:0;;;;;;;12386:10;12362:34;:79;;;;-1:-1:-1;12428:13:0;;12418:4;12400:24;;;;:9;:24;;;;;;:41;;12362:79;12358:103;;;12443:18;:16;:18::i;:::-;-1:-1:-1;;;;;12493:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;12493:27:0;12485:60;;;;-1:-1:-1;;;12485:60:0;;9703:2:1;12485:60:0;;;9685:21:1;9742:2;9722:18;;;9715:30;-1:-1:-1;;;9761:18:1;;;9754:50;9821:18;;12485:60:0;9501:344:1;12485:60:0;-1:-1:-1;;;;;12576:17:0;;;;;;:9;:17;;;;;;:26;;12596:6;;12576:26;:::i;:::-;-1:-1:-1;;;;;12556:17:0;;;;;;:9;:17;;;;;;;;:46;;;;12643:7;:15;;;;;;;;;:44;;-1:-1:-1;;;;;;12662:25:0;;9168:42;12662:25;12643:44;12642:101;;;-1:-1:-1;;;;;;12693:18:0;;;;;;:7;:18;;;;;;;;;:49;;-1:-1:-1;;;;;;12714:28:0;;9168:42;12714:28;12693:49;12641:149;;12785:5;12641:149;;;-1:-1:-1;;;;;12748:13:0;;;;;;:5;:13;;;;;;;;12747:14;:35;;;;-1:-1:-1;;;;;;12766:16:0;;;;;;:5;:16;;;;;;;;12765:17;12747:35;12640:209;;12843:6;12640:209;;;12794:46;12814:6;12822:9;12833:6;12794:19;:46::i;:::-;-1:-1:-1;;;;;12885:20:0;;;;;;:9;:20;;;;;;12615:234;;-1:-1:-1;12885:37:0;;12615:234;;12885:37;:::i;:::-;-1:-1:-1;;;;;12862:20:0;;;;;;;:9;:20;;;;;;;:60;;;;12940:43;;;;;;;;;;12968:14;603:25:1;;591:2;576:18;;457:177;12940:43:0;;;;;;;;-1:-1:-1;13001:4:0;;11805:1208;-1:-1:-1;;;;;;11805:1208:0:o;6198:191::-;6272:16;6291:6;;-1:-1:-1;;;;;6308:17:0;;;-1:-1:-1;;;;;;6308:17:0;;;;;;6341:40;;6291:6;;;;;;;6341:40;;6272:16;6341:40;6261:128;6198:191;:::o;13021:319::-;-1:-1:-1;;;;;13138:17:0;;13113:4;13138:17;;;:9;:17;;;;;;:27;-1:-1:-1;13138:27:0;13130:60;;;;-1:-1:-1;;;13130:60:0;;9703:2:1;13130:60:0;;;9685:21:1;9742:2;9722:18;;;9715:30;-1:-1:-1;;;9761:18:1;;;9754:50;9821:18;;13130:60:0;9501:344:1;13130:60:0;-1:-1:-1;;;;;13221:17:0;;;;;;:9;:17;;;;;;:26;;13241:6;;13221:26;:::i;:::-;-1:-1:-1;;;;;13201:17:0;;;;;;;:9;:17;;;;;;:46;;;;13281:20;;;;;;;:29;;13304:6;;13281:29;:::i;:::-;-1:-1:-1;;;;;13258:20:0;;;;;;:9;:20;;;;;;;;:52;;;;:9;-1:-1:-1;13021:319:0;;;;;:::o;14928:1947::-;9496:9;:16;;-1:-1:-1;;9496:16:0;;;;;15077:20:::1;::::0;15063:11:::1;::::0;15049::::1;::::0;15035::::1;::::0;15021::::1;::::0;15002:16:::1;::::0;9496;;15077:20;15063:11;15049;15035;15002:30:::1;::::0;::::1;:::i;:::-;:44;;;;:::i;:::-;:58;;;;:::i;:::-;:72;;;;:::i;:::-;:95;;;;:::i;:::-;14984:113;;15110:34;15166:1;15147:16;;:20;;;;:::i;:::-;15217:4;15178:18;10666::::0;;;:9;:18;;;;;;15110:57;;-1:-1:-1;15178:18:0;15199:53:::1;::::0;15110:57;;15199:53:::1;:::i;:::-;15350:16;::::0;;15364:1:::1;15350:16:::0;;;;;::::1;::::0;;15178:74;;-1:-1:-1;15292:21:0::1;::::0;15265:24:::1;::::0;15350:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15350:16:0::1;15326:40;;15395:4;15377;15382:1;15377:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;15377:23:0::1;;;-1:-1:-1::0;;;;;15377:23:0::1;;;::::0;::::1;9078:42;15411:4;15416:1;15411:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15411:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:14;15436:110:::1;::::0;-1:-1:-1;;;15436:110:0;;9168:42:::1;::::0;15436:57:::1;::::0;:110:::1;::::0;15494:10;;15506:1:::1;::::0;15509:4;;15523::::1;::::0;15530:15:::1;::::0;15436:110:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15559:12;15598:16;15574:21;:40;;;;:::i;:::-;15559:55;;15627:21;15687:1;15677:7;15658:16;;15651:4;:23;;;;:::i;:::-;:33;;;;:::i;:::-;:37;;;;:::i;:::-;15627:61;;15699:16;15739:7;15725:11;;15718:4;:18;;;;:::i;:::-;:28;;;;:::i;:::-;15699:47;;15757:16;15797:7;15783:11;;15776:4;:18;;;;:::i;:::-;:28;;;;:::i;:::-;15757:47;;15815:16;15855:7;15841:11;;15834:4;:18;;;;:::i;:::-;:28;;;;:::i;:::-;15815:47;;15873:16;15913:7;15899:11;;15892:4;:18;;;;:::i;:::-;:28;;;;:::i;:::-;15873:47;;15931:25;15989:7;15966:20;;15959:4;:27;;;;:::i;:::-;:37;;;;:::i;:::-;16028:1;16009:16;:20:::0;;;16040:11:::1;:15:::0;;;16066:11:::1;:15:::0;;;16092:11:::1;:15:::0;;;16118:11:::1;:15:::0;;;16144:20:::1;:24:::0;15931:65;-1:-1:-1;16185:17:0;;16181:150:::1;;16298:15;::::0;16204:127:::1;::::0;-1:-1:-1;;;16204:127:0;;16257:4:::1;16204:127;::::0;::::1;11662:34:1::0;11712:18;;;11705:34;;;-1:-1:-1;11755:18:1;;;11748:34;;;11798:18;;;11791:34;-1:-1:-1;;;;;16298:15:0;;::::1;11841:19:1::0;;;11834:44;16315:15:0::1;11894:19:1::0;;;11887:35;9168:42:0::1;::::0;16204:22:::1;::::0;16234:13;;11596:19:1;;16204:127:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16181:150;16346:12:::0;;16342:63:::1;;16368:10;::::0;16360:45:::1;::::0;-1:-1:-1;;;;;16368:10:0;;::::1;::::0;16392:8;;16360:45:::1;::::0;;;16392:8;16368:10;16360:45:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16342:63;16420:12:::0;;16416:63:::1;;16442:10;::::0;16434:45:::1;::::0;-1:-1:-1;;;;;16442:10:0;;::::1;::::0;16466:8;;16434:45:::1;::::0;;;16466:8;16442:10;16434:45:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16416:63;16494:12:::0;;16490:63:::1;;16516:10;::::0;16508:45:::1;::::0;-1:-1:-1;;;;;16516:10:0;;::::1;::::0;16540:8;;16508:45:::1;::::0;;;16540:8;16516:10;16508:45:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16490:63;16568:12:::0;;16564:129:::1;;16592:10;;;;;;;;;-1:-1:-1::0;;;;;16592:10:0::1;-1:-1:-1::0;;;;;16586:25:0::1;;16619:8;16586:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;16582:111;;16642:48;::::0;16658:4:::1;::::0;16677:8;;16642:48:::1;::::0;;;16677:8;16658:4;16642:48:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16582:111;16707:21:::0;;16703:165:::1;;16740:19;;;;;;;;;-1:-1:-1::0;;;;;16740:19:0::1;-1:-1:-1::0;;;;;16734:34:0::1;;16776:17;16734:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;16730:138;;16808:57;::::0;16824:4:::1;::::0;16843:17;;16808:57:::1;::::0;;;16843:17;16824:4;16808:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16730:138;-1:-1:-1::0;;9535:9:0;:17;;-1:-1:-1;;9535:17:0;;;-1:-1:-1;;;;;;;;;;14928:1947:0:o;13348:1572::-;-1:-1:-1;;;;;13477:17:0;;13444:7;13477:17;;;:7;:17;;;;;;13444:7;;13477:17;;;:48;;-1:-1:-1;;;;;;13498:27:0;;9168:42;13498:27;13477:48;13464:61;;13536:12;13551:5;:24;;13569:6;;13551:24;;;13559:7;;13551:24;13536:39;-1:-1:-1;13586:12:0;13617:5;13601:13;13536:39;13601:6;:13;:::i;:::-;:21;;;;:::i;:::-;13586:36;-1:-1:-1;13639:8:0;;13635:1121;;13668:5;13664:1081;;;13698:16;;:20;13694:76;;13766:4;13747:16;;13740:4;:23;;;;:::i;:::-;:30;;;;:::i;:::-;13720:16;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;;13694:76:0;13793:11;;:15;13789:61;;13846:4;13832:11;;13825:4;:18;;;;:::i;:::-;:25;;;;:::i;:::-;13810:11;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;13789:61:0;13873:11;;:15;13869:61;;13926:4;13912:11;;13905:4;:18;;;;:::i;:::-;:25;;;;:::i;:::-;13890:11;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;13869:61:0;13953:11;;:15;13949:61;;14006:4;13992:11;;13985:4;:18;;;;:::i;:::-;:25;;;;:::i;:::-;13970:11;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;13949:61:0;14033:11;;:15;14029:61;;14086:4;14072:11;;14065:4;:18;;;;:::i;:::-;:25;;;;:::i;:::-;14050:11;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14029:61:0;14113:20;;:24;14109:88;;14193:4;14170:20;;14163:4;:27;;;;:::i;:::-;:34;;;;:::i;:::-;14139:20;;:58;;;;;;;:::i;:::-;;;;-1:-1:-1;;14109:88:0;13664:1081;;;14242:15;;:19;14238:74;;14308:4;14290:15;;14283:4;:22;;;;:::i;:::-;:29;;;;:::i;:::-;14263:16;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;14238:74:0;14335:10;;:14;14331:59;;14386:4;14373:10;;14366:4;:17;;;;:::i;:::-;:24;;;;:::i;:::-;14351:11;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;14331:59:0;14413:10;;:14;14409:59;;14464:4;14451:10;;14444:4;:17;;;;:::i;:::-;:24;;;;:::i;:::-;14429:11;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;14409:59:0;14491:10;;:14;14487:59;;14542:4;14529:10;;14522:4;:17;;;;:::i;:::-;:24;;;;:::i;:::-;14507:11;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;14487:59:0;14569:10;;:14;14565:59;;14620:4;14607:10;;14600:4;:17;;;;:::i;:::-;:24;;;;:::i;:::-;14585:11;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;14565:59:0;14647:19;;:23;14643:86;;14725:4;14703:19;;14696:4;:26;;;;:::i;:::-;:33;;;;:::i;:::-;14672:20;;:57;;;;;;;:::i;:::-;;;;-1:-1:-1;;14643:86:0;14813:4;14795:24;;;;:9;:24;;;;;;:31;;14822:4;;14795:31;:::i;:::-;14786:4;14768:24;;;;:9;:24;;;;;;;:58;;;;14842:37;;-1:-1:-1;;;;;14842:37:0;;;;;;;14874:4;603:25:1;;591:2;576:18;;457:177;14842:37:0;;;;;;;;14899:13;14908:4;14899:6;:13;:::i;:::-;14892:20;13348:1572;-1:-1:-1;;;;;;;13348:1572:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:260;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;;408:38;442:2;431:9;427:18;408:38;:::i;:::-;398:48;;192:260;;;;;:::o;639:597::-;751:4;780:2;809;798:9;791:21;841:6;835:13;884:6;879:2;868:9;864:18;857:34;909:1;919:140;933:6;930:1;927:13;919:140;;;1028:14;;;1024:23;;1018:30;994:17;;;1013:2;990:26;983:66;948:10;;919:140;;;1077:6;1074:1;1071:13;1068:91;;;1147:1;1142:2;1133:6;1122:9;1118:22;1114:31;1107:42;1068:91;-1:-1:-1;1220:2:1;1199:15;-1:-1:-1;;1195:29:1;1180:45;;;;1227:2;1176:54;;639:597;-1:-1:-1;;;639:597:1:o;1241:254::-;1309:6;1317;1370:2;1358:9;1349:7;1345:23;1341:32;1338:52;;;1386:1;1383;1376:12;1338:52;1409:29;1428:9;1409:29;:::i;:::-;1399:39;1485:2;1470:18;;;;1457:32;;-1:-1:-1;;;1241:254:1:o;1692:180::-;1751:6;1804:2;1792:9;1783:7;1779:23;1775:32;1772:52;;;1820:1;1817;1810:12;1772:52;-1:-1:-1;1843:23:1;;1692:180;-1:-1:-1;1692:180:1:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;2276:328::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;2461:29;2480:9;2461:29;:::i;:::-;2451:39;;2509:38;2543:2;2532:9;2528:18;2509:38;:::i;:::-;2499:48;;2594:2;2583:9;2579:18;2566:32;2556:42;;2276:328;;;;;:::o;2798:523::-;2902:6;2910;2918;2926;2934;2942;2995:3;2983:9;2974:7;2970:23;2966:33;2963:53;;;3012:1;3009;3002:12;2963:53;-1:-1:-1;;3035:23:1;;;3105:2;3090:18;;3077:32;;-1:-1:-1;3156:2:1;3141:18;;3128:32;;3207:2;3192:18;;3179:32;;-1:-1:-1;3258:3:1;3243:19;;3230:33;;-1:-1:-1;3310:3:1;3295:19;3282:33;;-1:-1:-1;2798:523:1;-1:-1:-1;2798:523:1:o;3326:559::-;3430:6;3438;3446;3454;3462;3470;3523:3;3511:9;3502:7;3498:23;3494:33;3491:53;;;3540:1;3537;3530:12;3491:53;3563:29;3582:9;3563:29;:::i;:::-;3553:39;;3611:38;3645:2;3634:9;3630:18;3611:38;:::i;:::-;3601:48;;3668:38;3702:2;3691:9;3687:18;3668:38;:::i;:::-;3658:48;;3725:38;3759:2;3748:9;3744:18;3725:38;:::i;:::-;3715:48;;3782:39;3816:3;3805:9;3801:19;3782:39;:::i;:::-;3772:49;;3840:39;3874:3;3863:9;3859:19;3840:39;:::i;:::-;3830:49;;3326:559;;;;;;;;:::o;3890:248::-;3958:6;3966;4019:2;4007:9;3998:7;3994:23;3990:32;3987:52;;;4035:1;4032;4025:12;3987:52;-1:-1:-1;;4058:23:1;;;4128:2;4113:18;;;4100:32;;-1:-1:-1;3890:248:1:o;4143:118::-;4229:5;4222:13;4215:21;4208:5;4205:32;4195:60;;4251:1;4248;4241:12;4266:315;4331:6;4339;4392:2;4380:9;4371:7;4367:23;4363:32;4360:52;;;4408:1;4405;4398:12;4360:52;4431:29;4450:9;4431:29;:::i;:::-;4421:39;;4510:2;4499:9;4495:18;4482:32;4523:28;4545:5;4523:28;:::i;:::-;4570:5;4560:15;;;4266:315;;;;;:::o;4809:127::-;4870:10;4865:3;4861:20;4858:1;4851:31;4901:4;4898:1;4891:15;4925:4;4922:1;4915:15;4941:422;5030:1;5073:5;5030:1;5087:270;5108:7;5098:8;5095:21;5087:270;;;5167:4;5163:1;5159:6;5155:17;5149:4;5146:27;5143:53;;;5176:18;;:::i;:::-;5226:7;5216:8;5212:22;5209:55;;;5246:16;;;;5209:55;5325:22;;;;5285:15;;;;5087:270;;;5091:3;4941:422;;;;;:::o;5368:806::-;5417:5;5447:8;5437:80;;-1:-1:-1;5488:1:1;5502:5;;5437:80;5536:4;5526:76;;-1:-1:-1;5573:1:1;5587:5;;5526:76;5618:4;5636:1;5631:59;;;;5704:1;5699:130;;;;5611:218;;5631:59;5661:1;5652:10;;5675:5;;;5699:130;5736:3;5726:8;5723:17;5720:43;;;5743:18;;:::i;:::-;-1:-1:-1;;5799:1:1;5785:16;;5814:5;;5611:218;;5913:2;5903:8;5900:16;5894:3;5888:4;5885:13;5881:36;5875:2;5865:8;5862:16;5857:2;5851:4;5848:12;5844:35;5841:77;5838:159;;;-1:-1:-1;5950:19:1;;;5982:5;;5838:159;6029:34;6054:8;6048:4;6029:34;:::i;:::-;6099:6;6095:1;6091:6;6087:19;6078:7;6075:32;6072:58;;;6110:18;;:::i;:::-;6148:20;;5368:806;-1:-1:-1;;;5368:806:1:o;6179:140::-;6237:5;6266:47;6307:4;6297:8;6293:19;6287:4;6266:47;:::i;6324:168::-;6364:7;6430:1;6426;6422:6;6418:14;6415:1;6412:21;6407:1;6400:9;6393:17;6389:45;6386:71;;;6437:18;;:::i;:::-;-1:-1:-1;6477:9:1;;6324:168::o;6848:125::-;6888:4;6916:1;6913;6910:8;6907:34;;;6921:18;;:::i;:::-;-1:-1:-1;6958:9:1;;6848:125::o;6978:184::-;7048:6;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;-1:-1:-1;7140:16:1;;6978:184;-1:-1:-1;6978:184:1:o;7446:245::-;7513:6;7566:2;7554:9;7545:7;7541:23;7537:32;7534:52;;;7582:1;7579;7572:12;7534:52;7614:9;7608:16;7633:28;7655:5;7633:28;:::i;7696:128::-;7736:3;7767:1;7763:6;7760:1;7757:13;7754:39;;;7773:18;;:::i;:::-;-1:-1:-1;7809:9:1;;7696:128::o;9850:217::-;9890:1;9916;9906:132;;9960:10;9955:3;9951:20;9948:1;9941:31;9995:4;9992:1;9985:15;10023:4;10020:1;10013:15;9906:132;-1:-1:-1;10052:9:1;;9850:217::o;10204:127::-;10265:10;10260:3;10256:20;10253:1;10246:31;10296:4;10293:1;10286:15;10320:4;10317:1;10310:15;10336:980;10598:4;10646:3;10635:9;10631:19;10677:6;10666:9;10659:25;10703:2;10741:6;10736:2;10725:9;10721:18;10714:34;10784:3;10779:2;10768:9;10764:18;10757:31;10808:6;10843;10837:13;10874:6;10866;10859:22;10912:3;10901:9;10897:19;10890:26;;10951:2;10943:6;10939:15;10925:29;;10972:1;10982:195;10996:6;10993:1;10990:13;10982:195;;;11061:13;;-1:-1:-1;;;;;11057:39:1;11045:52;;11152:15;;;;11117:12;;;;11093:1;11011:9;10982:195;;;-1:-1:-1;;;;;;;11233:32:1;;;;11228:2;11213:18;;11206:60;-1:-1:-1;;;11297:3:1;11282:19;11275:35;11194:3;10336:980;-1:-1:-1;;;10336:980:1:o;11933:306::-;12021:6;12029;12037;12090:2;12078:9;12069:7;12065:23;12061:32;12058:52;;;12106:1;12103;12096:12;12058:52;12135:9;12129:16;12119:26;;12185:2;12174:9;12170:18;12164:25;12154:35;;12229:2;12218:9;12214:18;12208:25;12198:35;;11933:306;;;;;:::o
Swarm Source
ipfs://c08de5ab07d19ea1c706585026ec82233dbafe4d5abd8a89789d64d19775c69d
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.