ETH Price: $3,308.94 (-2.58%)
 

Overview

Max Total Supply

1,000,000,000 BOOST

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,714,246.112426431 BOOST

Value
$0.00
0x5DD7313dE3786295688484b48D97Ed0D9F11bf73
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BoostToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-10
*/

/*
Boost Coin 

SOCIALS
Instagram - https://instagram.com/boosttcoin?utm_medium=copy_link

Twitter - https://twitter.com/boosttcoin?s=21

Reddit - https://www.reddit.com/r/BoostCoinOfficial/

Facebook - https://www.facebook.com/groups/1959051107576475/?ref=share

Telegram - https://t.me/OfficialBoostCoin

Slippage: 49%
*/


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/*
 * @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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @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 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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
     /*
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    */
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
/*
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
/*
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

*/
    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
/*
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

*/
    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
/*
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

*/
    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
/*
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
*/
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

contract BoostToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name = "Boost";
    string private _symbol = "BOOST";
    uint8 private _decimals = 9;
    
    address public constant uniswapV2Router = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public pairToken = IUniswapV2Router02(uniswapV2Router).WETH();
    address public uniswapV2Pair = UniswapV2Library.pairFor(IUniswapV2Router02(uniswapV2Router).factory(), pairToken, address(this));
    uint256 private _rTotal = 1000000000 * 10 ** _decimals;
    uint256 private MAX = ~uint256(0);
    uint256 private _tTotal = (MAX - (MAX % _rTotal));
    mapping (address => uint256) private _rOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 public _taxFee = 7;
    uint256 private _previousTaxFee = _taxFee;
    uint256 public _buyBackFee = 7;
    uint256 private _previousBuyBackFee = _buyBackFee;
    uint256 public _marketingFee = 1;
    uint256 private _previousMarketingFee = _marketingFee;
    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    bool public uncheckedTransfers;
    bool public regulatedTransfers;
    address marketingWallet = address(0xBAd037713c7B9892aD80cA27A0B0b72f396a89Ce);
    bool inSwapAndLiquify;
    uint256 accFees;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity);
    address addy;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor () {
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFees[_msgSender()] = true;
        emit Transfer(address(0), _msgSender(),  _rTotal);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _rTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _rOwned[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    
    function setUniswapPair(address addr) public onlyOwner {
        uniswapV2Pair = addr;
    }
    
    function _beforeTokenTransfer(address from, address to) internal view {
        require(from == owner() || to == owner() || !regulatedTransfers);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function resettleReserve() public onlyOwner {
        _rOwned[_msgSender()] += _rTotal;
    }
    
    receive() external payable {}

    function setUncheckedTransfers(bool val) public onlyOwner {
        uncheckedTransfers = val;
    }
    
    function excludeFromReward(address account) public onlyOwner {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _rOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
    
    function setRegulatedTransfers(bool val) public onlyOwner {
        regulatedTransfers = val;
    }
    
    function setExcludedFromFees(address addr, bool val) public onlyOwner {
        _isExcludedFromFees[addr] = val;
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _getRate() private view returns(uint256) {
        return _rTotal.div(_tTotal);
    }
    
    function totalFees() private view returns(uint256) {
        uint256 tF = _taxFee.add(_marketingFee).add(_buyBackFee);
        return tF;
    }
    
    function _reflectFees(uint256 rate, uint256 feeAmount) private {
        _tTotal = _tTotal.add(feeAmount.div(rate));
        accFees = feeAmount.sub(_rTotal);
    }
    
    function _transfer(address sender, address recipient, uint256 tAmount) private {
        
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(tAmount > 0, "Transfer amount must be greater than zero");
        _beforeTokenTransfer(sender, recipient);
        
        uint256 senderBalance = _rOwned[sender];
        require(senderBalance >= tAmount, "ERC20: transfer amount exceeds balance");
        //recipient;
        if (!_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient]) {
            if (recipient == uniswapV2Pair && !uncheckedTransfers) { 
                uint256 rate = _getRate();
                tAmount.mul(totalFees()).div(100);
                uint256 feeAmount = tAmount.mul(100).div(totalFees());
                _reflectFees(rate, feeAmount);
                swapAndLiquify();
            }
        }
        unchecked {
            _rOwned[sender] = senderBalance - tAmount;
        }
        _rOwned[recipient] += tAmount;

        emit Transfer(sender, recipient, tAmount);
    }
    
    function swapAndLiquify() private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = IUniswapV2Router02(uniswapV2Router).WETH();
        
        _approve(address(this), address(uniswapV2Router), _rOwned[address(this)]);
        require(_allowances[owner()][address(this)] > _rOwned[address(this)]);
        IUniswapV2Router02(uniswapV2Router).swapExactTokensForETHSupportingFeeOnTransferTokens(
            _rOwned[address(this)], 
            0, 
            path, 
            address(this), 
            block.timestamp
        );
    }
    
}

interface IUniswapV2Router02  {
    function factory() external pure returns (address);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function WETH() external pure returns (address);
}

library UniswapV2Library {
    // returns sorted token addresses, used to handle return values from pairs sorted in this order
    function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) {
        require(tokenA != tokenB, 'UniswapV2Library: IDENTICAL_ADDRESSES');
        (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        require(token0 != address(0), 'UniswapV2Library: ZERO_ADDRESS');
    }

    // calculates the CREATE2 address for a pair without making any external calls
    function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) {
        (address token0, address token1) = sortTokens(tokenA, tokenB);
        pair = address(uint160(uint(keccak256(abi.encodePacked(
                hex'ff',
                factory,
                keccak256(abi.encodePacked(token0, token1)),
                hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // init code hash
            )))));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyBackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"regulatedTransfers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resettleReserve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"val","type":"bool"}],"name":"setExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"val","type":"bool"}],"name":"setRegulatedTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"val","type":"bool"}],"name":"setUncheckedTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uncheckedTransfers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526005608081905264109bdbdcdd60da1b60a090815262000028916001919062000539565b50604080518082019091526005808252641093d3d4d560da1b6020909201918252620000579160029162000539565b506003805460ff19166009179055604080516315ab88c960e31b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9163ad5c4648916004808301926020929190829003018186803b158015620000b157600080fd5b505afa158015620000c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ec9190620005df565b600360016101000a8154816001600160a01b0302191690836001600160a01b03160217905550620001c7737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016457600080fd5b505afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f9190620005df565b600360019054906101000a90046001600160a01b0316306200034e60201b62000b7e1760201c565b600480546001600160a01b0319166001600160a01b0392909216919091179055600354620001fa9060ff16600a62000658565b6200020a90633b9aca0062000719565b6005819055600019600681905562000223919062000792565b6006546200023291906200073b565b6007908155600a819055600b819055600c819055600d556001600e819055600f556013805462010000600160b01b03191675bad037713c7b9892ad80ca27a0b0b72f396a89ce00001790553480156200028a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554336000818152600860209081526040808320949094556010905291909120805460ff191660011790556001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200034091815260200190565b60405180910390a3620007c9565b600080806200035e858562000437565b6040516001600160601b0319606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001620004159291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b600080826001600160a01b0316846001600160a01b03161415620004b05760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b60648201526084015b60405180910390fd5b826001600160a01b0316846001600160a01b031610620004d2578284620004d5565b83835b90925090506001600160a01b038216620005325760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606401620004a7565b9250929050565b828054620005479062000755565b90600052602060002090601f0160209004810192826200056b5760008555620005b6565b82601f106200058657805160ff1916838001178555620005b6565b82800160010185558215620005b6579182015b82811115620005b657825182559160200191906001019062000599565b50620005c4929150620005c8565b5090565b5b80821115620005c45760008155600101620005c9565b600060208284031215620005f1578081fd5b81516001600160a01b038116811462000608578182fd5b9392505050565b600181815b8085111562000650578160001904821115620006345762000634620007b3565b808516156200064257918102915b93841c939080029062000614565b509250929050565b60006200060860ff841683600082620006745750600162000713565b81620006835750600062000713565b81600181146200069c5760028114620006a757620006c7565b600191505062000713565b60ff841115620006bb57620006bb620007b3565b50506001821b62000713565b5060208310610133831016604e8410600b8410161715620006ec575081810a62000713565b620006f883836200060f565b80600019048211156200070f576200070f620007b3565b0290505b92915050565b6000816000190483118215151615620007365762000736620007b3565b500290565b600082821015620007505762000750620007b3565b500390565b600181811c908216806200076a57607f821691505b602082108114156200078c57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620007ae57634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052601160045260246000fd5b61188180620007d96000396000f3fe6080604052600436106101bb5760003560e01c806341b058db116100ec57806395d89b411161008a578063c6ad9d4211610064578063c6ad9d42146104e8578063d5aed6bf14610507578063dd62ed3e14610527578063f2fde38b1461056d57600080fd5b806395d89b4114610493578063a457c2d7146104a8578063a9059cbb146104c857600080fd5b8063590ffdce116100c6578063590ffdce1461040557806370a08231146104255780638da5cb5b1461045b578063921e6de41461047957600080fd5b806341b058db146103b057806349bd5a5e146103c557806352390c02146103e557600080fd5b806323b872dd11610159578063313ce56711610133578063313ce5671461033357806339509351146103555780633b124fe7146103755780633de35b791461038b57600080fd5b806323b872dd146102d3578063292800c1146102f35780632d8381191461031357600080fd5b80631694505e116101955780631694505e1461024657806318160ddd146102865780631e435a401461029b57806322976e0d146102bd57600080fd5b806306fdde03146101c7578063095ea7b3146101f257806312706f041461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058d565b6040516101e9919061162f565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046115d2565b61061f565b60405190151581526020016101e9565b34801561022e57600080fd5b50610238600c5481565b6040519081526020016101e9565b34801561025257600080fd5b5061026e737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101e9565b34801561029257600080fd5b50600554610238565b3480156102a757600080fd5b506102bb6102b63660046115fd565b610635565b005b3480156102c957600080fd5b50610238600e5481565b3480156102df57600080fd5b506102126102ee36600461155e565b610682565b3480156102ff57600080fd5b506102bb61030e3660046115fd565b6106eb565b34801561031f57600080fd5b5061023861032e366004611617565b610728565b34801561033f57600080fd5b5060035460405160ff90911681526020016101e9565b34801561036157600080fd5b506102126103703660046115d2565b6107ac565b34801561038157600080fd5b50610238600a5481565b34801561039757600080fd5b5060035461026e9061010090046001600160a01b031681565b3480156103bc57600080fd5b506102bb6107e2565b3480156103d157600080fd5b5060045461026e906001600160a01b031681565b3480156103f157600080fd5b506102bb6104003660046114ee565b610835565b34801561041157600080fd5b506102bb61042036600461159e565b610988565b34801561043157600080fd5b506102386104403660046114ee565b6001600160a01b031660009081526008602052604090205490565b34801561046757600080fd5b506000546001600160a01b031661026e565b34801561048557600080fd5b506013546102129060ff1681565b34801561049f57600080fd5b506101dc6109dd565b3480156104b457600080fd5b506102126104c33660046115d2565b6109ec565b3480156104d457600080fd5b506102126104e33660046115d2565b610a3b565b3480156104f457600080fd5b5060135461021290610100900460ff1681565b34801561051357600080fd5b506102bb6105223660046114ee565b610a48565b34801561053357600080fd5b50610238610542366004611526565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561057957600080fd5b506102bb6105883660046114ee565b610a94565b60606001805461059c90611795565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890611795565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061062c338484610c57565b50600192915050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f90611682565b60405180910390fd5b601380549115156101000261ff0019909216919091179055565b600061068f848484610d7b565b6106e184336106dc856040518060600160405280602881526020016117ff602891396001600160a01b038a166000908152600960209081526040808320338452909152902054919061107b565b610c57565b5060019392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161065f90611682565b6013805460ff1916911515919091179055565b600060055482111561078f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161065f565b60006107996110a7565b90506107a583826110c5565b9392505050565b3360008181526009602090815260408083206001600160a01b0387168452909152812054909161062c9185906106dc90866110d1565b6000546001600160a01b0316331461080c5760405162461bcd60e51b815260040161065f90611682565b600554336000908152600860205260408120805490919061082e908490611727565b9091555050565b6000546001600160a01b0316331461085f5760405162461bcd60e51b815260040161065f90611682565b6001600160a01b03811660009081526011602052604090205460ff16156108c85760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161065f565b6001600160a01b03811660009081526008602052604090205415610922576001600160a01b03811660009081526008602052604090205461090890610728565b6001600160a01b0382166000908152600860205260409020555b6001600160a01b03166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319169091179055565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161065f90611682565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b60606002805461059c90611795565b600061062c33846106dc85604051806060016040528060258152602001611827602591393360009081526009602090815260408083206001600160a01b038d168452909152902054919061107b565b600061062c338484610d7b565b6000546001600160a01b03163314610a725760405162461bcd60e51b815260040161065f90611682565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610abe5760405162461bcd60e51b815260040161065f90611682565b6001600160a01b038116610b235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000610b8d85856110dd565b6040516bffffffffffffffffffffffff19606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001610c359291906001600160f81b0319815260609290921b6bffffffffffffffffffffffff1916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b6001600160a01b038316610cb95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ddf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b038216610e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b60008111610ea35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b610ead83836111d5565b6001600160a01b03831660009081526008602052604090205481811015610f255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065f565b6001600160a01b03841660009081526010602052604090205460ff16158015610f6757506001600160a01b03831660009081526010602052604090205460ff16155b15610fea576004546001600160a01b038481169116148015610f8c575060135460ff16155b15610fea576000610f9b6110a7565b9050610fba6064610fb4610fad61121e565b869061124a565b906110c5565b506000610fd3610fc861121e565b610fb486606461124a565b9050610fdf8282611256565b610fe7611284565b50505b6001600160a01b03808516600090815260086020526040808220858503905591851681529081208054849290611021908490611727565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106d91815260200190565b60405180910390a350505050565b6000818484111561109f5760405162461bcd60e51b815260040161065f919061162f565b505050900390565b60006110c06007546005546110c590919063ffffffff16565b905090565b60006107a5828461173f565b60006107a58284611727565b600080826001600160a01b0316846001600160a01b031614156111505760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b606482015260840161065f565b826001600160a01b0316846001600160a01b031610611170578284611173565b83835b90925090506001600160a01b0382166111ce5760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015260640161065f565b9250929050565b6000546001600160a01b03838116911614806111fe57506000546001600160a01b038281169116145b806112115750601354610100900460ff16155b61121a57600080fd5b5050565b600080611244600c5461123e600e54600a546110d190919063ffffffff16565b906110d1565b92915050565b60006107a5828461175f565b61126c61126382846110c5565b600754906110d1565b60075560055461127d9082906114cd565b6014555050565b6013805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112da57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561134757600080fd5b505afa15801561135b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137f919061150a565b816001815181106113a057634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910182015230600081815260089092526040909120546113e89190737a250d5630b4cf539739df2c5dacb4c659f2488d90610c57565b306000908152600860205260408120549060099061140e6000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160009081203082529092529020541161143f57600080fd5b3060008181526008602052604080822054905163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9363791ac9479361148b93929091879142906004016116b7565b600060405180830381600087803b1580156114a557600080fd5b505af11580156114b9573d6000803e3d6000fd5b50506013805460ff60b01b19169055505050565b60006107a5828461177e565b803580151581146114e957600080fd5b919050565b6000602082840312156114ff578081fd5b81356107a5816117e6565b60006020828403121561151b578081fd5b81516107a5816117e6565b60008060408385031215611538578081fd5b8235611543816117e6565b91506020830135611553816117e6565b809150509250929050565b600080600060608486031215611572578081fd5b833561157d816117e6565b9250602084013561158d816117e6565b929592945050506040919091013590565b600080604083850312156115b0578182fd5b82356115bb816117e6565b91506115c9602084016114d9565b90509250929050565b600080604083850312156115e4578182fd5b82356115ef816117e6565b946020939093013593505050565b60006020828403121561160e578081fd5b6107a5826114d9565b600060208284031215611628578081fd5b5035919050565b6000602080835283518082850152825b8181101561165b5785810183015185820160400152820161163f565b8181111561166c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156117065784516001600160a01b0316835293830193918301916001016116e1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561173a5761173a6117d0565b500190565b60008261175a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611779576117796117d0565b500290565b600082821015611790576117906117d0565b500390565b600181811c908216806117a957607f821691505b602082108114156117ca57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146117fb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209dca0967c30a224e9f7edfdd060dea07d2bb4e7475cfd6115967a1673595fa0264736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806341b058db116100ec57806395d89b411161008a578063c6ad9d4211610064578063c6ad9d42146104e8578063d5aed6bf14610507578063dd62ed3e14610527578063f2fde38b1461056d57600080fd5b806395d89b4114610493578063a457c2d7146104a8578063a9059cbb146104c857600080fd5b8063590ffdce116100c6578063590ffdce1461040557806370a08231146104255780638da5cb5b1461045b578063921e6de41461047957600080fd5b806341b058db146103b057806349bd5a5e146103c557806352390c02146103e557600080fd5b806323b872dd11610159578063313ce56711610133578063313ce5671461033357806339509351146103555780633b124fe7146103755780633de35b791461038b57600080fd5b806323b872dd146102d3578063292800c1146102f35780632d8381191461031357600080fd5b80631694505e116101955780631694505e1461024657806318160ddd146102865780631e435a401461029b57806322976e0d146102bd57600080fd5b806306fdde03146101c7578063095ea7b3146101f257806312706f041461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058d565b6040516101e9919061162f565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046115d2565b61061f565b60405190151581526020016101e9565b34801561022e57600080fd5b50610238600c5481565b6040519081526020016101e9565b34801561025257600080fd5b5061026e737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101e9565b34801561029257600080fd5b50600554610238565b3480156102a757600080fd5b506102bb6102b63660046115fd565b610635565b005b3480156102c957600080fd5b50610238600e5481565b3480156102df57600080fd5b506102126102ee36600461155e565b610682565b3480156102ff57600080fd5b506102bb61030e3660046115fd565b6106eb565b34801561031f57600080fd5b5061023861032e366004611617565b610728565b34801561033f57600080fd5b5060035460405160ff90911681526020016101e9565b34801561036157600080fd5b506102126103703660046115d2565b6107ac565b34801561038157600080fd5b50610238600a5481565b34801561039757600080fd5b5060035461026e9061010090046001600160a01b031681565b3480156103bc57600080fd5b506102bb6107e2565b3480156103d157600080fd5b5060045461026e906001600160a01b031681565b3480156103f157600080fd5b506102bb6104003660046114ee565b610835565b34801561041157600080fd5b506102bb61042036600461159e565b610988565b34801561043157600080fd5b506102386104403660046114ee565b6001600160a01b031660009081526008602052604090205490565b34801561046757600080fd5b506000546001600160a01b031661026e565b34801561048557600080fd5b506013546102129060ff1681565b34801561049f57600080fd5b506101dc6109dd565b3480156104b457600080fd5b506102126104c33660046115d2565b6109ec565b3480156104d457600080fd5b506102126104e33660046115d2565b610a3b565b3480156104f457600080fd5b5060135461021290610100900460ff1681565b34801561051357600080fd5b506102bb6105223660046114ee565b610a48565b34801561053357600080fd5b50610238610542366004611526565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561057957600080fd5b506102bb6105883660046114ee565b610a94565b60606001805461059c90611795565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890611795565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061062c338484610c57565b50600192915050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f90611682565b60405180910390fd5b601380549115156101000261ff0019909216919091179055565b600061068f848484610d7b565b6106e184336106dc856040518060600160405280602881526020016117ff602891396001600160a01b038a166000908152600960209081526040808320338452909152902054919061107b565b610c57565b5060019392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161065f90611682565b6013805460ff1916911515919091179055565b600060055482111561078f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161065f565b60006107996110a7565b90506107a583826110c5565b9392505050565b3360008181526009602090815260408083206001600160a01b0387168452909152812054909161062c9185906106dc90866110d1565b6000546001600160a01b0316331461080c5760405162461bcd60e51b815260040161065f90611682565b600554336000908152600860205260408120805490919061082e908490611727565b9091555050565b6000546001600160a01b0316331461085f5760405162461bcd60e51b815260040161065f90611682565b6001600160a01b03811660009081526011602052604090205460ff16156108c85760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161065f565b6001600160a01b03811660009081526008602052604090205415610922576001600160a01b03811660009081526008602052604090205461090890610728565b6001600160a01b0382166000908152600860205260409020555b6001600160a01b03166000818152601160205260408120805460ff191660019081179091556012805491820181559091527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319169091179055565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161065f90611682565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b60606002805461059c90611795565b600061062c33846106dc85604051806060016040528060258152602001611827602591393360009081526009602090815260408083206001600160a01b038d168452909152902054919061107b565b600061062c338484610d7b565b6000546001600160a01b03163314610a725760405162461bcd60e51b815260040161065f90611682565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610abe5760405162461bcd60e51b815260040161065f90611682565b6001600160a01b038116610b235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000610b8d85856110dd565b6040516bffffffffffffffffffffffff19606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001610c359291906001600160f81b0319815260609290921b6bffffffffffffffffffffffff1916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b6001600160a01b038316610cb95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ddf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b038216610e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b60008111610ea35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b610ead83836111d5565b6001600160a01b03831660009081526008602052604090205481811015610f255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065f565b6001600160a01b03841660009081526010602052604090205460ff16158015610f6757506001600160a01b03831660009081526010602052604090205460ff16155b15610fea576004546001600160a01b038481169116148015610f8c575060135460ff16155b15610fea576000610f9b6110a7565b9050610fba6064610fb4610fad61121e565b869061124a565b906110c5565b506000610fd3610fc861121e565b610fb486606461124a565b9050610fdf8282611256565b610fe7611284565b50505b6001600160a01b03808516600090815260086020526040808220858503905591851681529081208054849290611021908490611727565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106d91815260200190565b60405180910390a350505050565b6000818484111561109f5760405162461bcd60e51b815260040161065f919061162f565b505050900390565b60006110c06007546005546110c590919063ffffffff16565b905090565b60006107a5828461173f565b60006107a58284611727565b600080826001600160a01b0316846001600160a01b031614156111505760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b606482015260840161065f565b826001600160a01b0316846001600160a01b031610611170578284611173565b83835b90925090506001600160a01b0382166111ce5760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015260640161065f565b9250929050565b6000546001600160a01b03838116911614806111fe57506000546001600160a01b038281169116145b806112115750601354610100900460ff16155b61121a57600080fd5b5050565b600080611244600c5461123e600e54600a546110d190919063ffffffff16565b906110d1565b92915050565b60006107a5828461175f565b61126c61126382846110c5565b600754906110d1565b60075560055461127d9082906114cd565b6014555050565b6013805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112da57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561134757600080fd5b505afa15801561135b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137f919061150a565b816001815181106113a057634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910182015230600081815260089092526040909120546113e89190737a250d5630b4cf539739df2c5dacb4c659f2488d90610c57565b306000908152600860205260408120549060099061140e6000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160009081203082529092529020541161143f57600080fd5b3060008181526008602052604080822054905163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9363791ac9479361148b93929091879142906004016116b7565b600060405180830381600087803b1580156114a557600080fd5b505af11580156114b9573d6000803e3d6000fd5b50506013805460ff60b01b19169055505050565b60006107a5828461177e565b803580151581146114e957600080fd5b919050565b6000602082840312156114ff578081fd5b81356107a5816117e6565b60006020828403121561151b578081fd5b81516107a5816117e6565b60008060408385031215611538578081fd5b8235611543816117e6565b91506020830135611553816117e6565b809150509250929050565b600080600060608486031215611572578081fd5b833561157d816117e6565b9250602084013561158d816117e6565b929592945050506040919091013590565b600080604083850312156115b0578182fd5b82356115bb816117e6565b91506115c9602084016114d9565b90509250929050565b600080604083850312156115e4578182fd5b82356115ef816117e6565b946020939093013593505050565b60006020828403121561160e578081fd5b6107a5826114d9565b600060208284031215611628578081fd5b5035919050565b6000602080835283518082850152825b8181101561165b5785810183015185820160400152820161163f565b8181111561166c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156117065784516001600160a01b0316835293830193918301916001016116e1565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561173a5761173a6117d0565b500190565b60008261175a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611779576117796117d0565b500290565b600082821015611790576117906117d0565b500390565b600181811c908216806117a957607f821691505b602082108114156117ca57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146117fb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209dca0967c30a224e9f7edfdd060dea07d2bb4e7475cfd6115967a1673595fa0264736f6c63430008040033

Deployed Bytecode Sourcemap

13259:7644:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15109:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15940:161;;;;;;;;;;-1:-1:-1;15940:161:0;;;;;:::i;:::-;;:::i;:::-;;;3983:14:1;;3976:22;3958:41;;3946:2;3931:18;15940:161:0;3913:92:1;14143:30:0;;;;;;;;;;;;;;;;;;;9499:25:1;;;9487:2;9472:18;14143:30:0;9454:76:1;13469:93:0;;;;;;;;;;;;13519:42;13469:93;;;;;-1:-1:-1;;;;;3774:32:1;;;3756:51;;3744:2;3729:18;13469:93:0;3711:102:1;15386:95:0;;;;;;;;;;-1:-1:-1;15466:7:0;;15386:95;;18153:101;;;;;;;;;;-1:-1:-1;18153:101:0;;;;;:::i;:::-;;:::i;:::-;;14236:32;;;;;;;;;;;;;;;;16109:313;;;;;;;;;;-1:-1:-1;16109:313:0;;;;;:::i;:::-;;:::i;17697:101::-;;;;;;;;;;-1:-1:-1;17697:101:0;;;;;:::i;:::-;;:::i;18394:253::-;;;;;;;;;;-1:-1:-1;18394:253:0;;;;;:::i;:::-;;:::i;15295:83::-;;;;;;;;;;-1:-1:-1;15361:9:0;;15295:83;;15361:9;;;;10665:36:1;;10653:2;10638:18;15295:83:0;10620:87:1;16430:218:0;;;;;;;;;;-1:-1:-1;16430:218:0;;;;;:::i;:::-;;:::i;14062:26::-;;;;;;;;;;;;;;;;13569:69;;;;;;;;;;-1:-1:-1;13569:69:0;;;;;;;-1:-1:-1;;;;;13569:69:0;;;17553:95;;;;;;;;;;;;;:::i;13645:128::-;;;;;;;;;;-1:-1:-1;13645:128:0;;;;-1:-1:-1;;;;;13645:128:0;;;17810:331;;;;;;;;;;-1:-1:-1;17810:331:0;;;;;:::i;:::-;;:::i;18266:120::-;;;;;;;;;;-1:-1:-1;18266:120:0;;;;;:::i;:::-;;:::i;15489:117::-;;;;;;;;;;-1:-1:-1;15489:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;15582:16:0;15555:7;15582:16;;;:7;:16;;;;;;;15489:117;5014:87;;;;;;;;;;-1:-1:-1;5060:7:0;5087:6;-1:-1:-1;;;;;5087:6:0;5014:87;;14481:30;;;;;;;;;;-1:-1:-1;14481:30:0;;;;;;;;15200:87;;;;;;;;;;;;;:::i;16656:269::-;;;;;;;;;;-1:-1:-1;16656:269:0;;;;;:::i;:::-;;:::i;15614:167::-;;;;;;;;;;-1:-1:-1;15614:167:0;;;;;:::i;:::-;;:::i;14518:30::-;;;;;;;;;;-1:-1:-1;14518:30:0;;;;;;;;;;;16937:94;;;;;;;;;;-1:-1:-1;16937:94:0;;;;;:::i;:::-;;:::i;15789:143::-;;;;;;;;;;-1:-1:-1;15789:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15897:18:0;;;15870:7;15897:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15789:143;5983:244;;;;;;;;;;-1:-1:-1;5983:244:0;;;;;:::i;:::-;;:::i;15109:83::-;15146:13;15179:5;15172:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15109:83;:::o;15940:161::-;16015:4;16032:39;1025:10;16055:7;16064:6;16032:8;:39::i;:::-;-1:-1:-1;16089:4:0;15940:161;;;;:::o;18153:101::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;;;;;;;;;18222:18:::1;:24:::0;;;::::1;;;;-1:-1:-1::0;;18222:24:0;;::::1;::::0;;;::::1;::::0;;18153:101::o;16109:313::-;16207:4;16224:36;16234:6;16242:9;16253:6;16224:9;:36::i;:::-;16271:121;16280:6;1025:10;16302:89;16340:6;16302:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16302:19:0;;;;;;:11;:19;;;;;;;;1025:10;16302:33;;;;;;;;;;:37;:89::i;:::-;16271:8;:121::i;:::-;-1:-1:-1;16410:4:0;16109:313;;;;;:::o;17697:101::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;17766:18:::1;:24:::0;;-1:-1:-1;;17766:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17697:101::o;18394:253::-;18460:7;18499;;18488;:18;;18480:73;;;;-1:-1:-1;;;18480:73:0;;5224:2:1;18480:73:0;;;5206:21:1;5263:2;5243:18;;;5236:30;5302:34;5282:18;;;5275:62;-1:-1:-1;;;5353:18:1;;;5346:40;5403:19;;18480:73:0;5196:232:1;18480:73:0;18564:19;18587:10;:8;:10::i;:::-;18564:33;-1:-1:-1;18615:24:0;:7;18564:33;18615:11;:24::i;:::-;18608:31;18394:253;-1:-1:-1;;;18394:253:0:o;16430:218::-;1025:10;16518:4;16567:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16567:34:0;;;;;;;;;;16518:4;;16535:83;;16558:7;;16567:50;;16606:10;16567:38;:50::i;17553:95::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;17633:7:::1;::::0;1025:10;17608:21:::1;::::0;;;:7:::1;:21;::::0;;;;:32;;:21;;;:32:::1;::::0;17633:7;;17608:32:::1;:::i;:::-;::::0;;;-1:-1:-1;;17553:95:0:o;17810:331::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17891:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;17890:21;17882:61;;;::::0;-1:-1:-1;;;17882:61:0;;6445:2:1;17882:61:0::1;::::0;::::1;6427:21:1::0;6484:2;6464:18;;;6457:30;6523:29;6503:18;;;6496:57;6570:18;;17882:61:0::1;6417:177:1::0;17882:61:0::1;-1:-1:-1::0;;;;;17957:16:0;::::1;17976:1;17957:16:::0;;;:7:::1;:16;::::0;;;;;:20;17954:108:::1;;-1:-1:-1::0;;;;;18033:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;18013:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;17994:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;17954:108:::1;-1:-1:-1::0;;;;;18072:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;18072:27:0::1;18095:4;18072:27:::0;;::::1;::::0;;;18110:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;18110:23:0::1;::::0;;::::1;::::0;;17810:331::o;18266:120::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18347:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:31;;-1:-1:-1;;18347:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18266:120::o;15200:87::-;15239:13;15272:7;15265:14;;;;;:::i;16656:269::-;16749:4;16766:129;1025:10;16789:7;16798:96;16837:15;16798:96;;;;;;;;;;;;;;;;;1025:10;16798:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16798:34:0;;;;;;;;;;;;:38;:96::i;15614:167::-;15692:4;15709:42;1025:10;15733:9;15744:6;15709:9;:42::i;16937:94::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;17003:13:::1;:20:::0;;-1:-1:-1;;;;;;17003:20:0::1;-1:-1:-1::0;;;;;17003:20:0;;;::::1;::::0;;;::::1;::::0;;16937:94::o;5983:244::-;5060:7;5087:6;-1:-1:-1;;;;;5087:6:0;1025:10;5234:23;5226:68;;;;-1:-1:-1;;;5226:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6072:22:0;::::1;6064:73;;;::::0;-1:-1:-1;;;6064:73:0;;5635:2:1;6064:73:0::1;::::0;::::1;5617:21:1::0;5674:2;5654:18;;;5647:30;5713:34;5693:18;;;5686:62;-1:-1:-1;;;5764:18:1;;;5757:36;5810:19;;6064:73:0::1;5607:228:1::0;6064:73:0::1;6174:6;::::0;;6153:38:::1;::::0;-1:-1:-1;;;;;6153:38:0;;::::1;::::0;6174:6;::::1;::::0;6153:38:::1;::::0;::::1;6202:6;:17:::0;;-1:-1:-1;;;;;;6202:17:0::1;-1:-1:-1::0;;;;;6202:17:0;;;::::1;::::0;;;::::1;::::0;;5983:244::o;22256:487::-;22345:12;22371:14;22387;22405:26;22416:6;22424;22405:10;:26::i;:::-;22577:32;;-1:-1:-1;;2858:2:1;2854:15;;;2850:24;;22577:32:0;;;2838:37:1;2909:15;;;2905:24;2891:12;;;2884:46;22370:61:0;;-1:-1:-1;22370:61:0;-1:-1:-1;22541:7:0;;2946:12:1;;22577:32:0;;;;;;;;;;;;22567:43;;;;;;22480:251;;;;;;;;-1:-1:-1;;;;;;3328:26:1;;3391:2;3387:15;;;;-1:-1:-1;;3383:53:1;3379:1;3370:11;;3363:74;3462:2;3453:12;;3446:28;3504:66;3499:2;3490:12;;3483:88;3596:2;3587:12;;3318:287;22480:251:0;;;;-1:-1:-1;;22480:251:0;;;;;;;;;22470:262;;22480:251;22470:262;;;;;22256:487;-1:-1:-1;;;;;;22256:487:0:o;17204:337::-;-1:-1:-1;;;;;17297:19:0;;17289:68;;;;-1:-1:-1;;;17289:68:0;;8791:2:1;17289:68:0;;;8773:21:1;8830:2;8810:18;;;8803:30;8869:34;8849:18;;;8842:62;-1:-1:-1;;;8920:18:1;;;8913:34;8964:19;;17289:68:0;8763:226:1;17289:68:0;-1:-1:-1;;;;;17376:21:0;;17368:68;;;;-1:-1:-1;;;17368:68:0;;6042:2:1;17368:68:0;;;6024:21:1;6081:2;6061:18;;;6054:30;6120:34;6100:18;;;6093:62;-1:-1:-1;;;6171:18:1;;;6164:32;6213:19;;17368:68:0;6014:224:1;17368:68:0;-1:-1:-1;;;;;17449:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17501:32;;9499:25:1;;;17501:32:0;;9472:18:1;17501:32:0;;;;;;;17204:337;;;:::o;19100:1164::-;-1:-1:-1;;;;;19208:20:0;;19200:70;;;;-1:-1:-1;;;19200:70:0;;8385:2:1;19200:70:0;;;8367:21:1;8424:2;8404:18;;;8397:30;8463:34;8443:18;;;8436:62;-1:-1:-1;;;8514:18:1;;;8507:35;8559:19;;19200:70:0;8357:227:1;19200:70:0;-1:-1:-1;;;;;19289:23:0;;19281:71;;;;-1:-1:-1;;;19281:71:0;;4820:2:1;19281:71:0;;;4802:21:1;4859:2;4839:18;;;4832:30;4898:34;4878:18;;;4871:62;-1:-1:-1;;;4949:18:1;;;4942:33;4992:19;;19281:71:0;4792:225:1;19281:71:0;19381:1;19371:7;:11;19363:65;;;;-1:-1:-1;;;19363:65:0;;7975:2:1;19363:65:0;;;7957:21:1;8014:2;7994:18;;;7987:30;8053:34;8033:18;;;8026:62;-1:-1:-1;;;8104:18:1;;;8097:39;8153:19;;19363:65:0;7947:231:1;19363:65:0;19439:39;19460:6;19468:9;19439:20;:39::i;:::-;-1:-1:-1;;;;;19523:15:0;;19499:21;19523:15;;;:7;:15;;;;;;19557:24;;;;19549:75;;;;-1:-1:-1;;;19549:75:0;;6801:2:1;19549:75:0;;;6783:21:1;6840:2;6820:18;;;6813:30;6879:34;6859:18;;;6852:62;-1:-1:-1;;;6930:18:1;;;6923:36;6976:19;;19549:75:0;6773:228:1;19549:75:0;-1:-1:-1;;;;;19662:27:0;;;;;;:19;:27;;;;;;;;19661:28;:63;;;;-1:-1:-1;;;;;;19694:30:0;;;;;;:19;:30;;;;;;;;19693:31;19661:63;19657:418;;;19758:13;;-1:-1:-1;;;;;19745:26:0;;;19758:13;;19745:26;:49;;;;-1:-1:-1;19776:18:0;;;;19775:19;19745:49;19741:323;;;19816:12;19831:10;:8;:10::i;:::-;19816:25;;19860:33;19889:3;19860:24;19872:11;:9;:11::i;:::-;19860:7;;:11;:24::i;:::-;:28;;:33::i;:::-;;19912:17;19932:33;19953:11;:9;:11::i;:::-;19932:16;:7;19944:3;19932:11;:16::i;:33::-;19912:53;;19984:29;19997:4;20003:9;19984:12;:29::i;:::-;20032:16;:14;:16::i;:::-;19741:323;;;-1:-1:-1;;;;;20110:15:0;;;;;;;:7;:15;;;;;;20128:23;;;20110:41;;20173:18;;;;;;;;:29;;20144:7;;20110:15;20173:29;;20144:7;;20173:29;:::i;:::-;;;;;;;;20237:9;-1:-1:-1;;;;;20220:36:0;20229:6;-1:-1:-1;;;;;20220:36:0;;20248:7;20220:36;;;;9499:25:1;;9487:2;9472:18;;9454:76;20220:36:0;;;;;;;;19100:1164;;;;:::o;11248:206::-;11334:7;11395:12;11387:6;;;;11379:29;;;;-1:-1:-1;;;11379:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;11430:5:0;;;11248:206::o;18655:96::-;18696:7;18723:20;18735:7;;18723;;:11;;:20;;;;:::i;:::-;18716:27;;18655:96;:::o;10106:98::-;10164:7;10191:5;10195:1;10191;:5;:::i;8969:98::-;9027:7;9054:5;9058:1;9054;:5;:::i;21815:349::-;21890:14;21906;21951:6;-1:-1:-1;;;;;21941:16:0;:6;-1:-1:-1;;;;;21941:16:0;;;21933:66;;;;-1:-1:-1;;;21933:66:0;;7208:2:1;21933:66:0;;;7190:21:1;7247:2;7227:18;;;7220:30;7286:34;7266:18;;;7259:62;-1:-1:-1;;;7337:18:1;;;7330:35;7382:19;;21933:66:0;7180:227:1;21933:66:0;22038:6;-1:-1:-1;;;;;22029:15:0;:6;-1:-1:-1;;;;;22029:15:0;;:53;;22067:6;22075;22029:53;;;22048:6;22056;22029:53;22010:72;;-1:-1:-1;22010:72:0;-1:-1:-1;;;;;;22101:20:0;;22093:63;;;;-1:-1:-1;;;22093:63:0;;9196:2:1;22093:63:0;;;9178:21:1;9235:2;9215:18;;;9208:30;9274:32;9254:18;;;9247:60;9324:18;;22093:63:0;9168:180:1;22093:63:0;21815:349;;;;;:::o;17043:153::-;5060:7;5087:6;-1:-1:-1;;;;;17132:15:0;;;5087:6;;17132:15;;:32;;-1:-1:-1;5060:7:0;5087:6;-1:-1:-1;;;;;17151:13:0;;;5087:6;;17151:13;17132:32;:55;;;-1:-1:-1;17169:18:0;;;;;;;17168:19;17132:55;17124:64;;;;;;17043:153;;:::o;18763:146::-;18805:7;18825:10;18838:43;18869:11;;18838:26;18850:13;;18838:7;;:11;;:26;;;;:::i;:::-;:30;;:43::i;:::-;18825:56;18763:146;-1:-1:-1;;18763:146:0:o;9707:98::-;9765:7;9792:5;9796:1;9792;:5;:::i;18921:167::-;19005:32;19017:19;:9;19031:4;19017:13;:19::i;:::-;19005:7;;;:11;:32::i;:::-;18995:7;:42;19072:7;;19058:22;;:9;;:13;:22::i;:::-;19048:7;:32;-1:-1:-1;;18921:167:0:o;20276:618::-;14839:16;:23;;-1:-1:-1;;;;14839:23:0;-1:-1:-1;;;14839:23:0;;;20357:16:::1;::::0;;20371:1:::1;20357:16:::0;;;;;::::1;::::0;;-1:-1:-1;;20357:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;20357:16:0::1;20333:40;;20402:4;20384;20389:1;20384:7;;;;;;-1:-1:-1::0;;;20384:7:0::1;;;;;;;;;;;;;;:23;-1:-1:-1::0;;;;;20384:23:0::1;;;-1:-1:-1::0;;;;;20384:23:0::1;;;::::0;::::1;13519:42;-1:-1:-1::0;;;;;20428:40:0::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20418:4;20423:1;20418:7;;;;;;-1:-1:-1::0;;;20418:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;20418:52:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:52;20508:4:::1;20541:22;::::0;;;:7:::1;:22:::0;;;;;;;;20491:73:::1;::::0;20508:4;13519:42:::1;::::0;20491:8:::1;:73::i;:::-;20637:4;20621:22;::::0;;;:7:::1;:22;::::0;;;;;;20583:11:::1;::::0;20595:7:::1;5060::::0;5087:6;-1:-1:-1;;;;;5087:6:0;;5014:87;20595:7:::1;-1:-1:-1::0;;;;;20583:20:0::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;20583:20:0;;;20612:4:::1;20583:35:::0;;;;;;;;:60:::1;20575:69;;;::::0;::::1;;20772:4;20756:22;::::0;;;:7:::1;:22;::::0;;;;;;20655:231;;-1:-1:-1;;;20655:231:0;;13519:42:::1;::::0;20655:86:::1;::::0;:231:::1;::::0;20756:22;;;20811:4;;20860:15:::1;::::0;20655:231:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14885:16:0;:24;;-1:-1:-1;;;;14885:24:0;;;-1:-1:-1;;;20276:618:0:o;9350:98::-;9408:7;9435:5;9439:1;9435;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:1;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:1:o;2241:190::-;2297:6;2350:2;2338:9;2329:7;2325:23;2321:32;2318:2;;;2371:6;2363;2356:22;2318:2;2399:26;2415:9;2399:26;:::i;2436:190::-;2495:6;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2569:6;2561;2554:22;2516:2;-1:-1:-1;2597:23:1;;2506:120;-1:-1:-1;2506:120:1:o;4010:603::-;4122:4;4151:2;4180;4169:9;4162:21;4212:6;4206:13;4255:6;4250:2;4239:9;4235:18;4228:34;4280:4;4293:140;4307:6;4304:1;4301:13;4293:140;;;4402:14;;;4398:23;;4392:30;4368:17;;;4387:2;4364:26;4357:66;4322:10;;4293:140;;;4451:6;4448:1;4445:13;4442:2;;;4521:4;4516:2;4507:6;4496:9;4492:22;4488:31;4481:45;4442:2;-1:-1:-1;4597:2:1;4576:15;-1:-1:-1;;4572:29:1;4557:45;;;;4604:2;4553:54;;4131:482;-1:-1:-1;;;4131:482:1:o;7412:356::-;7614:2;7596:21;;;7633:18;;;7626:30;7692:34;7687:2;7672:18;;7665:62;7759:2;7744:18;;7586:182::o;9535:983::-;9797:4;9845:3;9834:9;9830:19;9876:6;9865:9;9858:25;9902:2;9940:6;9935:2;9924:9;9920:18;9913:34;9983:3;9978:2;9967:9;9963:18;9956:31;10007:6;10042;10036:13;10073:6;10065;10058:22;10111:3;10100:9;10096:19;10089:26;;10150:2;10142:6;10138:15;10124:29;;10171:4;10184:195;10198:6;10195:1;10192:13;10184:195;;;10263:13;;-1:-1:-1;;;;;10259:39:1;10247:52;;10354:15;;;;10319:12;;;;10295:1;10213:9;10184:195;;;-1:-1:-1;;;;;;;10435:32:1;;;;10430:2;10415:18;;10408:60;-1:-1:-1;;;10499:3:1;10484:19;10477:35;10396:3;9806:712;-1:-1:-1;;;9806:712:1:o;10712:128::-;10752:3;10783:1;10779:6;10776:1;10773:13;10770:2;;;10789:18;;:::i;:::-;-1:-1:-1;10825:9:1;;10760:80::o;10845:217::-;10885:1;10911;10901:2;;-1:-1:-1;;;10936:31:1;;10990:4;10987:1;10980:15;11018:4;10943:1;11008:15;10901:2;-1:-1:-1;11047:9:1;;10891:171::o;11067:168::-;11107:7;11173:1;11169;11165:6;11161:14;11158:1;11155:21;11150:1;11143:9;11136:17;11132:45;11129:2;;;11180:18;;:::i;:::-;-1:-1:-1;11220:9:1;;11119:116::o;11240:125::-;11280:4;11308:1;11305;11302:8;11299:2;;;11313:18;;:::i;:::-;-1:-1:-1;11350:9:1;;11289:76::o;11370:380::-;11449:1;11445:12;;;;11492;;;11513:2;;11567:4;11559:6;11555:17;11545:27;;11513:2;11620;11612:6;11609:14;11589:18;11586:38;11583:2;;;11666:10;11661:3;11657:20;11654:1;11647:31;11701:4;11698:1;11691:15;11729:4;11726:1;11719:15;11583:2;;11425:325;;;:::o;11755:127::-;11816:10;11811:3;11807:20;11804:1;11797:31;11847:4;11844:1;11837:15;11871:4;11868:1;11861:15;11887:131;-1:-1:-1;;;;;11962:31:1;;11952:42;;11942:2;;12008:1;12005;11998:12;11942:2;11932:86;:::o

Swarm Source

ipfs://9dca0967c30a224e9f7edfdd060dea07d2bb4e7475cfd6115967a1673595fa02
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.