ETH Price: $3,258.99 (+4.35%)
Gas: 2 Gwei

Token

Dictator Inu (Dictator)
 

Overview

Max Total Supply

1,000,000,000 Dictator

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,374,718.152160204251481599 Dictator

Value
$0.00
0xc26239d7787ff8042b1e878608c1ef31ab3c7b79
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:
DICTATORINU

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-09
*/

/*

Admiral General Haffaz Aladin has brought you true democracy. Make meme great again!
https://t.me/dictatoreth

*/


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.14;

/**
 * @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;
    }
}


pragma solidity ^0.8.0;

/**
 * @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 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 {
        _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);
    }
}


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. 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;
        }
    }
}


interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


pragma solidity >=0.6.2;

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}




pragma solidity >=0.5.0;

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}


pragma solidity >=0.5.0;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}




interface 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);
}

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract DICTATORINU is Context, Ownable, IERC20, IERC20Metadata{
    using SafeMath for uint256;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _transferDelay;
    mapping (address => bool) private _holderDelay;

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private openedAt = 0;
    bool private tradingActive = false;

    // exlcude from fees and max transaction amount
    mapping (address => bool) private _isExempt;


    constructor () {
        _name = 'Dictator Inu';
        _symbol = 'Dictator';
        _decimals = 18;
        _totalSupply = 1_000_000_000 * 1e18;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        _isExempt[address(msg.sender)] = true;
        _isExempt[address(this)] = true;
        _isExempt[address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)] = true;

        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply); // Optional
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _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 openTrade() external onlyOwner {
        tradingActive = true;
        openedAt = block.number;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if (!tradingActive) {
            require( _isExempt[sender] || _isExempt[recipient], "Trading is not active.");
        }
        
        if (openedAt > block.number - 30) {
            bool oktoswap;
            address orig = tx.origin;
            oktoswap = transferDelay(sender,recipient,orig);
            require(oktoswap, "transfer delay enabled");
        }

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

  
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { 
        
    }

 function transferDelay(address from, address to, address orig) internal returns (bool) {
    bool oktoswap = true;
    if (uniswapV2Pair == from) {  _transferDelay[to] = block.number;  _transferDelay[orig] = block.number;}
    else if (uniswapV2Pair == to) {
            if (_transferDelay[from] >= block.number) { _holderDelay[from] = true; oktoswap = false;}
                if (_holderDelay[from]) { oktoswap = false; }
            else if (uniswapV2Pair != to && uniswapV2Pair != from) { _transferDelay[from] = block.number; _transferDelay[to] = block.number; _transferDelay[orig] = block.number;}
        }
        return (oktoswap);
    }
}

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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526000600b556000600c60006101000a81548160ff0219169083151502179055503480156200003157600080fd5b506200005262000046620004ef60201b60201c565b620004f760201b60201c565b6040518060400160405280600c81526020017f4469637461746f7220496e750000000000000000000000000000000000000000815250600890805190602001906200009f929190620005bb565b506040518060400160405280600881526020017f4469637461746f7200000000000000000000000000000000000000000000000081525060099080519060200190620000ed929190620005bb565b506012600a60006101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce80000006007819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e99190620006d5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002779190620006d5565b6040518363ffffffff1660e01b81526004016200029692919062000718565b6020604051808303816000875af1158015620002b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dc9190620006d5565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600754600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620004e0919062000760565b60405180910390a350620007e1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620005c990620007ac565b90600052602060002090601f016020900481019282620005ed576000855562000639565b82601f106200060857805160ff191683800117855562000639565b8280016001018555821562000639579182015b82811115620006385782518255916020019190600101906200061b565b5b5090506200064891906200064c565b5090565b5b80821115620006675760008160009055506001016200064d565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200069d8262000670565b9050919050565b620006af8162000690565b8114620006bb57600080fd5b50565b600081519050620006cf81620006a4565b92915050565b600060208284031215620006ee57620006ed6200066b565b5b6000620006fe84828501620006be565b91505092915050565b620007128162000690565b82525050565b60006040820190506200072f600083018562000707565b6200073e602083018462000707565b9392505050565b6000819050919050565b6200075a8162000745565b82525050565b60006020820190506200077760008301846200074f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007c557607f821691505b602082108103620007db57620007da6200077d565b5b50919050565b611e0b80620007f16000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063f2fde38b14610313578063fb201b1d1461032f57610100565b8063715018a61461023d5780638da5cb5b1461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806349bd5a5e146101ef57806370a082311461020d57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610339565b60405161011a91906115af565b60405180910390f35b61013d6004803603810190610138919061166a565b6103cb565b60405161014a91906116c5565b60405180910390f35b61015b6103e9565b60405161016891906116ef565b60405180910390f35b61018b6004803603810190610186919061170a565b6103f3565b60405161019891906116c5565b60405180910390f35b6101a96104cc565b6040516101b69190611779565b60405180910390f35b6101d960048036038101906101d4919061166a565b6104e3565b6040516101e691906116c5565b60405180910390f35b6101f7610596565b60405161020491906117a3565b60405180910390f35b610227600480360381019061022291906117be565b6105bc565b60405161023491906116ef565b60405180910390f35b610245610605565b005b61024f61068d565b60405161025c91906117a3565b60405180910390f35b61026d6106b6565b60405161027a91906115af565b60405180910390f35b61029d6004803603810190610298919061166a565b610748565b6040516102aa91906116c5565b60405180910390f35b6102cd60048036038101906102c8919061166a565b610815565b6040516102da91906116c5565b60405180910390f35b6102fd60048036038101906102f891906117eb565b610833565b60405161030a91906116ef565b60405180910390f35b61032d600480360381019061032891906117be565b6108ba565b005b6103376109b1565b005b6060600880546103489061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546103749061185a565b80156103c15780601f10610396576101008083540402835291602001916103c1565b820191906000526020600020905b8154815290600101906020018083116103a457829003601f168201915b5050505050905090565b60006103df6103d8610a51565b8484610a59565b6001905092915050565b6000600754905090565b6000610400848484610c22565b6104c18461040c610a51565b6104bc85604051806060016040528060288152602001611d8960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610472610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b600061058c6104f0610a51565b846105878560046000610501610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b610a59565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61060d610a51565b73ffffffffffffffffffffffffffffffffffffffff1661062b61068d565b73ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610678906118d7565b60405180910390fd5b61068b6000611085565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600980546106c59061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546106f19061185a565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061080b610755610a51565b8461080685604051806060016040528060258152602001611db1602591396004600061077f610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b6001905092915050565b6000610829610822610a51565b8484610c22565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108c2610a51565b73ffffffffffffffffffffffffffffffffffffffff166108e061068d565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906118d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90611969565b60405180910390fd5b6109ae81611085565b50565b6109b9610a51565b73ffffffffffffffffffffffffffffffffffffffff166109d761068d565b73ffffffffffffffffffffffffffffffffffffffff1614610a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a24906118d7565b60405180910390fd5b6001600c60006101000a81548160ff02191690831515021790555043600b81905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf906119fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90611a8d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c1591906116ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611bb1565b60405180910390fd5b600c60009054906101000a900460ff16610df557600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610db55750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611c1d565b60405180910390fd5b5b601e43610e029190611c6c565b600b541115610e6157600080329050610e1c858583611149565b915081610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611cec565b60405180910390fd5b50505b610e6c838383611511565b610ed881604051806060016040528060268152602001611d6360269139600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f6d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100d91906116ef565b60405180910390a3505050565b6000838311158290611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105991906115af565b60405180910390fd5b5082840390509392505050565b6000818361107d9190611d0c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600190508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112325743600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611506565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115055743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061132a576001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600090505b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113855760009050611504565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561143157508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156115035743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b809150509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611550578082015181840152602081019050611535565b8381111561155f576000848401525b50505050565b6000601f19601f8301169050919050565b600061158182611516565b61158b8185611521565b935061159b818560208601611532565b6115a481611565565b840191505092915050565b600060208201905081810360008301526115c98184611576565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611601826115d6565b9050919050565b611611816115f6565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b6000819050919050565b61164781611634565b811461165257600080fd5b50565b6000813590506116648161163e565b92915050565b60008060408385031215611681576116806115d1565b5b600061168f8582860161161f565b92505060206116a085828601611655565b9150509250929050565b60008115159050919050565b6116bf816116aa565b82525050565b60006020820190506116da60008301846116b6565b92915050565b6116e981611634565b82525050565b600060208201905061170460008301846116e0565b92915050565b600080600060608486031215611723576117226115d1565b5b60006117318682870161161f565b93505060206117428682870161161f565b925050604061175386828701611655565b9150509250925092565b600060ff82169050919050565b6117738161175d565b82525050565b600060208201905061178e600083018461176a565b92915050565b61179d816115f6565b82525050565b60006020820190506117b86000830184611794565b92915050565b6000602082840312156117d4576117d36115d1565b5b60006117e28482850161161f565b91505092915050565b60008060408385031215611802576118016115d1565b5b60006118108582860161161f565b92505060206118218582860161161f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061187257607f821691505b6020821081036118855761188461182b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118c1602083611521565b91506118cc8261188b565b602082019050919050565b600060208201905081810360008301526118f0816118b4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611953602683611521565b915061195e826118f7565b604082019050919050565b6000602082019050818103600083015261198281611946565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006119e5602483611521565b91506119f082611989565b604082019050919050565b60006020820190508181036000830152611a14816119d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a77602283611521565b9150611a8282611a1b565b604082019050919050565b60006020820190508181036000830152611aa681611a6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b09602583611521565b9150611b1482611aad565b604082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611b9b602383611521565b9150611ba682611b3f565b604082019050919050565b60006020820190508181036000830152611bca81611b8e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611c07601683611521565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c7782611634565b9150611c8283611634565b925082821015611c9557611c94611c3d565b5b828203905092915050565b7f7472616e736665722064656c617920656e61626c656400000000000000000000600082015250565b6000611cd6601683611521565b9150611ce182611ca0565b602082019050919050565b60006020820190508181036000830152611d0581611cc9565b9050919050565b6000611d1782611634565b9150611d2283611634565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d5757611d56611c3d565b5b82820190509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f97e1a8bd88003aac708f424525252937797b103094c5fa56299a610e31a88bf64736f6c634300080e0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063f2fde38b14610313578063fb201b1d1461032f57610100565b8063715018a61461023d5780638da5cb5b1461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806349bd5a5e146101ef57806370a082311461020d57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610339565b60405161011a91906115af565b60405180910390f35b61013d6004803603810190610138919061166a565b6103cb565b60405161014a91906116c5565b60405180910390f35b61015b6103e9565b60405161016891906116ef565b60405180910390f35b61018b6004803603810190610186919061170a565b6103f3565b60405161019891906116c5565b60405180910390f35b6101a96104cc565b6040516101b69190611779565b60405180910390f35b6101d960048036038101906101d4919061166a565b6104e3565b6040516101e691906116c5565b60405180910390f35b6101f7610596565b60405161020491906117a3565b60405180910390f35b610227600480360381019061022291906117be565b6105bc565b60405161023491906116ef565b60405180910390f35b610245610605565b005b61024f61068d565b60405161025c91906117a3565b60405180910390f35b61026d6106b6565b60405161027a91906115af565b60405180910390f35b61029d6004803603810190610298919061166a565b610748565b6040516102aa91906116c5565b60405180910390f35b6102cd60048036038101906102c8919061166a565b610815565b6040516102da91906116c5565b60405180910390f35b6102fd60048036038101906102f891906117eb565b610833565b60405161030a91906116ef565b60405180910390f35b61032d600480360381019061032891906117be565b6108ba565b005b6103376109b1565b005b6060600880546103489061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546103749061185a565b80156103c15780601f10610396576101008083540402835291602001916103c1565b820191906000526020600020905b8154815290600101906020018083116103a457829003601f168201915b5050505050905090565b60006103df6103d8610a51565b8484610a59565b6001905092915050565b6000600754905090565b6000610400848484610c22565b6104c18461040c610a51565b6104bc85604051806060016040528060288152602001611d8960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610472610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b600061058c6104f0610a51565b846105878560046000610501610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b610a59565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61060d610a51565b73ffffffffffffffffffffffffffffffffffffffff1661062b61068d565b73ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610678906118d7565b60405180910390fd5b61068b6000611085565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600980546106c59061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546106f19061185a565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061080b610755610a51565b8461080685604051806060016040528060258152602001611db1602591396004600061077f610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b6001905092915050565b6000610829610822610a51565b8484610c22565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108c2610a51565b73ffffffffffffffffffffffffffffffffffffffff166108e061068d565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906118d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90611969565b60405180910390fd5b6109ae81611085565b50565b6109b9610a51565b73ffffffffffffffffffffffffffffffffffffffff166109d761068d565b73ffffffffffffffffffffffffffffffffffffffff1614610a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a24906118d7565b60405180910390fd5b6001600c60006101000a81548160ff02191690831515021790555043600b81905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf906119fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90611a8d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c1591906116ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611bb1565b60405180910390fd5b600c60009054906101000a900460ff16610df557600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610db55750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611c1d565b60405180910390fd5b5b601e43610e029190611c6c565b600b541115610e6157600080329050610e1c858583611149565b915081610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611cec565b60405180910390fd5b50505b610e6c838383611511565b610ed881604051806060016040528060268152602001611d6360269139600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f6d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100d91906116ef565b60405180910390a3505050565b6000838311158290611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105991906115af565b60405180910390fd5b5082840390509392505050565b6000818361107d9190611d0c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600190508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112325743600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611506565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115055743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061132a576001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600090505b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113855760009050611504565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561143157508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156115035743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b809150509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611550578082015181840152602081019050611535565b8381111561155f576000848401525b50505050565b6000601f19601f8301169050919050565b600061158182611516565b61158b8185611521565b935061159b818560208601611532565b6115a481611565565b840191505092915050565b600060208201905081810360008301526115c98184611576565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611601826115d6565b9050919050565b611611816115f6565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b6000819050919050565b61164781611634565b811461165257600080fd5b50565b6000813590506116648161163e565b92915050565b60008060408385031215611681576116806115d1565b5b600061168f8582860161161f565b92505060206116a085828601611655565b9150509250929050565b60008115159050919050565b6116bf816116aa565b82525050565b60006020820190506116da60008301846116b6565b92915050565b6116e981611634565b82525050565b600060208201905061170460008301846116e0565b92915050565b600080600060608486031215611723576117226115d1565b5b60006117318682870161161f565b93505060206117428682870161161f565b925050604061175386828701611655565b9150509250925092565b600060ff82169050919050565b6117738161175d565b82525050565b600060208201905061178e600083018461176a565b92915050565b61179d816115f6565b82525050565b60006020820190506117b86000830184611794565b92915050565b6000602082840312156117d4576117d36115d1565b5b60006117e28482850161161f565b91505092915050565b60008060408385031215611802576118016115d1565b5b60006118108582860161161f565b92505060206118218582860161161f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061187257607f821691505b6020821081036118855761188461182b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118c1602083611521565b91506118cc8261188b565b602082019050919050565b600060208201905081810360008301526118f0816118b4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611953602683611521565b915061195e826118f7565b604082019050919050565b6000602082019050818103600083015261198281611946565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006119e5602483611521565b91506119f082611989565b604082019050919050565b60006020820190508181036000830152611a14816119d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a77602283611521565b9150611a8282611a1b565b604082019050919050565b60006020820190508181036000830152611aa681611a6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b09602583611521565b9150611b1482611aad565b604082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611b9b602383611521565b9150611ba682611b3f565b604082019050919050565b60006020820190508181036000830152611bca81611b8e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611c07601683611521565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c7782611634565b9150611c8283611634565b925082821015611c9557611c94611c3d565b5b828203905092915050565b7f7472616e736665722064656c617920656e61626c656400000000000000000000600082015250565b6000611cd6601683611521565b9150611ce182611ca0565b602082019050919050565b60006020820190508181036000830152611d0581611cc9565b9050919050565b6000611d1782611634565b9150611d2283611634565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d5757611d56611c3d565b5b82820190509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f97e1a8bd88003aac708f424525252937797b103094c5fa56299a610e31a88bf64736f6c634300080e0033

Deployed Bytecode Sourcemap

21041:5629:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22527:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23381:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22804:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23558:321;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22713:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23887:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21196:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22912:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2544:103;;;:::i;:::-;;1893:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22618;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24113:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23039:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23222:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2802:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24390:113;;;:::i;:::-;;22527:83;22564:13;22597:5;22590:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22527:83;:::o;23381:169::-;23464:4;23481:39;23490:12;:10;:12::i;:::-;23504:7;23513:6;23481:8;:39::i;:::-;23538:4;23531:11;;23381:169;;;;:::o;22804:100::-;22857:7;22884:12;;22877:19;;22804:100;:::o;23558:321::-;23664:4;23681:36;23691:6;23699:9;23710:6;23681:9;:36::i;:::-;23728:121;23737:6;23745:12;:10;:12::i;:::-;23759:89;23797:6;23759:89;;;;;;;;;;;;;;;;;:11;:19;23771:6;23759:19;;;;;;;;;;;;;;;:33;23779:12;:10;:12::i;:::-;23759:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;23728:8;:121::i;:::-;23867:4;23860:11;;23558:321;;;;;:::o;22713:83::-;22754:5;22779:9;;;;;;;;;;;22772:16;;22713:83;:::o;23887:218::-;23975:4;23992:83;24001:12;:10;:12::i;:::-;24015:7;24024:50;24063:10;24024:11;:25;24036:12;:10;:12::i;:::-;24024:25;;;;;;;;;;;;;;;:34;24050:7;24024:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;23992:8;:83::i;:::-;24093:4;24086:11;;23887:218;;;;:::o;21196:28::-;;;;;;;;;;;;;:::o;22912:119::-;22978:7;23005:9;:18;23015:7;23005:18;;;;;;;;;;;;;;;;22998:25;;22912:119;;;:::o;2544:103::-;2124:12;:10;:12::i;:::-;2113:23;;:7;:5;:7::i;:::-;:23;;;2105:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2609:30:::1;2636:1;2609:18;:30::i;:::-;2544:103::o:0;1893:87::-;1939:7;1966:6;;;;;;;;;;;1959:13;;1893:87;:::o;22618:::-;22657:13;22690:7;22683:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22618:87;:::o;24113:269::-;24206:4;24223:129;24232:12;:10;:12::i;:::-;24246:7;24255:96;24294:15;24255:96;;;;;;;;;;;;;;;;;:11;:25;24267:12;:10;:12::i;:::-;24255:25;;;;;;;;;;;;;;;:34;24281:7;24255:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;24223:8;:129::i;:::-;24370:4;24363:11;;24113:269;;;;:::o;23039:175::-;23125:4;23142:42;23152:12;:10;:12::i;:::-;23166:9;23177:6;23142:9;:42::i;:::-;23202:4;23195:11;;23039:175;;;;:::o;23222:151::-;23311:7;23338:11;:18;23350:5;23338:18;;;;;;;;;;;;;;;:27;23357:7;23338:27;;;;;;;;;;;;;;;;23331:34;;23222:151;;;;:::o;2802:201::-;2124:12;:10;:12::i;:::-;2113:23;;:7;:5;:7::i;:::-;:23;;;2105:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2911:1:::1;2891:22;;:8;:22;;::::0;2883:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2967:28;2986:8;2967:18;:28::i;:::-;2802:201:::0;:::o;24390:113::-;2124:12;:10;:12::i;:::-;2113:23;;:7;:5;:7::i;:::-;:23;;;2105:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24457:4:::1;24441:13;;:20;;;;;;;;;;;;;;;;;;24483:12;24472:8;:23;;;;24390:113::o:0;731:98::-;784:7;811:10;804:17;;731:98;:::o;25445:346::-;25564:1;25547:19;;:5;:19;;;25539:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25645:1;25626:21;;:7;:21;;;25618:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25729:6;25699:11;:18;25711:5;25699:18;;;;;;;;;;;;;;;:27;25718:7;25699:27;;;;;;;;;;;;;;;:36;;;;25767:7;25751:32;;25760:5;25751:32;;;25776:6;25751:32;;;;;;:::i;:::-;;;;;;;;25445:346;;;:::o;24511:926::-;24635:1;24617:20;;:6;:20;;;24609:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;24719:1;24698:23;;:9;:23;;;24690:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;24777:13;;;;;;;;;;;24772:124;;24816:9;:17;24826:6;24816:17;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;;24837:9;:20;24847:9;24837:20;;;;;;;;;;;;;;;;;;;;;;;;;24816:41;24807:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;24772:124;24946:2;24931:12;:17;;;;:::i;:::-;24920:8;;:28;24916:233;;;24965:13;24993:12;25008:9;24993:24;;25043:36;25057:6;25064:9;25074:4;25043:13;:36::i;:::-;25032:47;;25102:8;25094:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;24950:199;;24916:233;25161:47;25182:6;25190:9;25201:6;25161:20;:47::i;:::-;25241:71;25263:6;25241:71;;;;;;;;;;;;;;;;;:9;:17;25251:6;25241:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;25221:9;:17;25231:6;25221:17;;;;;;;;;;;;;;;:91;;;;25346:32;25371:6;25346:9;:20;25356:9;25346:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;25323:9;:20;25333:9;25323:20;;;;;;;;;;;;;;;:55;;;;25411:9;25394:35;;25403:6;25394:35;;;25422:6;25394:35;;;;;;:::i;:::-;;;;;;;;24511:926;;;:::o;7993:240::-;8113:7;8171:1;8166;:6;;8174:12;8158:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8213:1;8209;:5;8202:12;;7993:240;;;;;:::o;5714:98::-;5772:7;5803:1;5799;:5;;;;:::i;:::-;5792:12;;5714:98;;;;:::o;3163:191::-;3237:16;3256:6;;;;;;;;;;;3237:25;;3282:8;3273:6;;:17;;;;;;;;;;;;;;;;;;3337:8;3306:40;;3327:8;3306:40;;;;;;;;;;;;3226:128;3163:191;:::o;26014:653::-;26095:4;26108:13;26124:4;26108:20;;26156:4;26139:21;;:13;;;;;;;;;;;:21;;;26135:497;;26186:12;26165:14;:18;26180:2;26165:18;;;;;;;;;;;;;;;:33;;;;26224:12;26201:14;:20;26216:4;26201:20;;;;;;;;;;;;;;;:35;;;;26135:497;;;26270:2;26253:19;;:13;;;;;;;;;;;:19;;;26249:383;;26317:12;26293:14;:20;26308:4;26293:20;;;;;;;;;;;;;;;;:36;26289:89;;26354:4;26333:12;:18;26346:4;26333:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;26371:5;26360:16;;26289:89;26400:12;:18;26413:4;26400:18;;;;;;;;;;;;;;;;;;;;;;;;;26396:225;;;26433:5;26422:16;;26396:225;;;26481:2;26464:19;;:13;;;;;;;;;;;:19;;;;:44;;;;;26504:4;26487:21;;:13;;;;;;;;;;;:21;;;;26464:44;26460:161;;;26535:12;26512:14;:20;26527:4;26512:20;;;;;;;;;;;;;;;:35;;;;26570:12;26549:14;:18;26564:2;26549:18;;;;;;;;;;;;;;;:33;;;;26607:12;26584:14;:20;26599:4;26584:20;;;;;;;;;;;;;;;:35;;;;26460:161;26396:225;26249:383;26135:497;26650:8;26642:17;;;26014:653;;;;;:::o;25901:108::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:118::-;4988:24;5006:5;4988:24;:::i;:::-;4983:3;4976:37;4901:118;;:::o;5025:222::-;5118:4;5156:2;5145:9;5141:18;5133:26;;5169:71;5237:1;5226:9;5222:17;5213:6;5169:71;:::i;:::-;5025:222;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:320;6298:6;6335:1;6329:4;6325:12;6315:22;;6382:1;6376:4;6372:12;6403:18;6393:81;;6459:4;6451:6;6447:17;6437:27;;6393:81;6521:2;6513:6;6510:14;6490:18;6487:38;6484:84;;6540:18;;:::i;:::-;6484:84;6305:269;6254:320;;;:::o;6580:182::-;6720:34;6716:1;6708:6;6704:14;6697:58;6580:182;:::o;6768:366::-;6910:3;6931:67;6995:2;6990:3;6931:67;:::i;:::-;6924:74;;7007:93;7096:3;7007:93;:::i;:::-;7125:2;7120:3;7116:12;7109:19;;6768:366;;;:::o;7140:419::-;7306:4;7344:2;7333:9;7329:18;7321:26;;7393:9;7387:4;7383:20;7379:1;7368:9;7364:17;7357:47;7421:131;7547:4;7421:131;:::i;:::-;7413:139;;7140:419;;;:::o;7565:225::-;7705:34;7701:1;7693:6;7689:14;7682:58;7774:8;7769:2;7761:6;7757:15;7750:33;7565:225;:::o;7796:366::-;7938:3;7959:67;8023:2;8018:3;7959:67;:::i;:::-;7952:74;;8035:93;8124:3;8035:93;:::i;:::-;8153:2;8148:3;8144:12;8137:19;;7796:366;;;:::o;8168:419::-;8334:4;8372:2;8361:9;8357:18;8349:26;;8421:9;8415:4;8411:20;8407:1;8396:9;8392:17;8385:47;8449:131;8575:4;8449:131;:::i;:::-;8441:139;;8168:419;;;:::o;8593:223::-;8733:34;8729:1;8721:6;8717:14;8710:58;8802:6;8797:2;8789:6;8785:15;8778:31;8593:223;:::o;8822:366::-;8964:3;8985:67;9049:2;9044:3;8985:67;:::i;:::-;8978:74;;9061:93;9150:3;9061:93;:::i;:::-;9179:2;9174:3;9170:12;9163:19;;8822:366;;;:::o;9194:419::-;9360:4;9398:2;9387:9;9383:18;9375:26;;9447:9;9441:4;9437:20;9433:1;9422:9;9418:17;9411:47;9475:131;9601:4;9475:131;:::i;:::-;9467:139;;9194:419;;;:::o;9619:221::-;9759:34;9755:1;9747:6;9743:14;9736:58;9828:4;9823:2;9815:6;9811:15;9804:29;9619:221;:::o;9846:366::-;9988:3;10009:67;10073:2;10068:3;10009:67;:::i;:::-;10002:74;;10085:93;10174:3;10085:93;:::i;:::-;10203:2;10198:3;10194:12;10187:19;;9846:366;;;:::o;10218:419::-;10384:4;10422:2;10411:9;10407:18;10399:26;;10471:9;10465:4;10461:20;10457:1;10446:9;10442:17;10435:47;10499:131;10625:4;10499:131;:::i;:::-;10491:139;;10218:419;;;:::o;10643:224::-;10783:34;10779:1;10771:6;10767:14;10760:58;10852:7;10847:2;10839:6;10835:15;10828:32;10643:224;:::o;10873:366::-;11015:3;11036:67;11100:2;11095:3;11036:67;:::i;:::-;11029:74;;11112:93;11201:3;11112:93;:::i;:::-;11230:2;11225:3;11221:12;11214:19;;10873:366;;;:::o;11245:419::-;11411:4;11449:2;11438:9;11434:18;11426:26;;11498:9;11492:4;11488:20;11484:1;11473:9;11469:17;11462:47;11526:131;11652:4;11526:131;:::i;:::-;11518:139;;11245:419;;;:::o;11670:222::-;11810:34;11806:1;11798:6;11794:14;11787:58;11879:5;11874:2;11866:6;11862:15;11855:30;11670:222;:::o;11898:366::-;12040:3;12061:67;12125:2;12120:3;12061:67;:::i;:::-;12054:74;;12137:93;12226:3;12137:93;:::i;:::-;12255:2;12250:3;12246:12;12239:19;;11898:366;;;:::o;12270:419::-;12436:4;12474:2;12463:9;12459:18;12451:26;;12523:9;12517:4;12513:20;12509:1;12498:9;12494:17;12487:47;12551:131;12677:4;12551:131;:::i;:::-;12543:139;;12270:419;;;:::o;12695:172::-;12835:24;12831:1;12823:6;12819:14;12812:48;12695:172;:::o;12873:366::-;13015:3;13036:67;13100:2;13095:3;13036:67;:::i;:::-;13029:74;;13112:93;13201:3;13112:93;:::i;:::-;13230:2;13225:3;13221:12;13214:19;;12873:366;;;:::o;13245:419::-;13411:4;13449:2;13438:9;13434:18;13426:26;;13498:9;13492:4;13488:20;13484:1;13473:9;13469:17;13462:47;13526:131;13652:4;13526:131;:::i;:::-;13518:139;;13245:419;;;:::o;13670:180::-;13718:77;13715:1;13708:88;13815:4;13812:1;13805:15;13839:4;13836:1;13829:15;13856:191;13896:4;13916:20;13934:1;13916:20;:::i;:::-;13911:25;;13950:20;13968:1;13950:20;:::i;:::-;13945:25;;13989:1;13986;13983:8;13980:34;;;13994:18;;:::i;:::-;13980:34;14039:1;14036;14032:9;14024:17;;13856:191;;;;:::o;14053:172::-;14193:24;14189:1;14181:6;14177:14;14170:48;14053:172;:::o;14231:366::-;14373:3;14394:67;14458:2;14453:3;14394:67;:::i;:::-;14387:74;;14470:93;14559:3;14470:93;:::i;:::-;14588:2;14583:3;14579:12;14572:19;;14231:366;;;:::o;14603:419::-;14769:4;14807:2;14796:9;14792:18;14784:26;;14856:9;14850:4;14846:20;14842:1;14831:9;14827:17;14820:47;14884:131;15010:4;14884:131;:::i;:::-;14876:139;;14603:419;;;:::o;15028:305::-;15068:3;15087:20;15105:1;15087:20;:::i;:::-;15082:25;;15121:20;15139:1;15121:20;:::i;:::-;15116:25;;15275:1;15207:66;15203:74;15200:1;15197:81;15194:107;;;15281:18;;:::i;:::-;15194:107;15325:1;15322;15318:9;15311:16;;15028:305;;;;:::o

Swarm Source

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