ETH Price: $2,947.39 (+8.05%)
 

Overview

Max Total Supply

10,000,000 SS

Holders

146

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.4478785283922754 SS

Value
$0.00
0xd26a59d6bef5b335a80ab9e30b417baf2450291c
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:
SniperStalker

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-10-22
*/

/**

    Sniper Stalker | $SS

    X: https://twitter.com/Sniper_Stalker

    TG: https://t.me/SniperStalker

    Bot: https://t.me/SniperStalkerBot

    Website: https://SniperStalkerERC.site
    
**/
// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract SniperStalker is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant minSwap = 20_000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2;

    string private constant _name = "Sniper Stalker";
    string private constant _symbol = "SS";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 25;
        sellTax = 40;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(msg.sender);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax < 26, "Cannot set buy tax greater than 26%");
        require(newSellTax < 41, "Cannot set sell tax greater than 41%");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function manualSwap() external onlyOwner {
        uint256 tokensToSwap = _balance[address(this)];
        if (tokensToSwap > onePercent) {
            tokensToSwap = onePercent;
        }
        inSwapAndLiquify = 1;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
        uniswapV2Router
            .swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokensToSwap,
                0,
                path,
                marketingWallet,
                block.timestamp
            );
        inSwapAndLiquify = 0;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > onePercent) {
                        tokensToSwap = onePercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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"},{"stateMutability":"payable","type":"receive"}]

610100604052600269152d02c7e14af68000006200001e91906200074a565b6006553480156200002e57600080fd5b506000620000416200070960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019b9190620007ff565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506019600281905550602860038190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002529190620007ff565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b81526004016200029092919062000842565b6020604051808303816000875af1158015620002b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d69190620007ff565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506a084595161401484a000000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016009600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6008600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006916200070960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a000000604051620006fb919062000880565b60405180910390a36200089d565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007578262000711565b9150620007648362000711565b9250828202620007748162000711565b915082820484148315176200078e576200078d6200071b565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007c7826200079a565b9050919050565b620007d981620007ba565b8114620007e557600080fd5b50565b600081519050620007f981620007ce565b92915050565b60006020828403121562000818576200081762000795565b5b60006200082884828501620007e8565b91505092915050565b6200083c81620007ba565b82525050565b600060408201905062000859600083018562000831565b62000868602083018462000831565b9392505050565b6200087a8162000711565b82525050565b60006020820190506200089760008301846200086f565b92915050565b60805160a05160c05160e051612796620008f3600039600081816108270152611707015260008181610778015261165801526000818161145b01526114b80152600081816107e701526116c701526127966000f3fe6080604052600436106101235760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf9146103be578063cc1776d3146103d5578063dba9d42014610400578063dd62ed3e14610429578063f2fde38b146104665761012a565b80638c0b5e22146102d75780638da5cb5b146103025780639036ed4d1461032d57806395d89b4114610356578063a9059cbb146103815761012a565b80634f7041a5116100e75780634f7041a51461022a57806351bc3c851461025557806370a082311461026c578063715018a6146102a9578063751039fc146102c05761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061014461048f565b6040516101519190611c85565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611d40565b6104cc565b60405161018e9190611d9b565b60405180910390f35b3480156101a357600080fd5b506101ac6104ea565b6040516101b99190611dc5565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190611de0565b6104fd565b6040516101f69190611d9b565b60405180910390f35b34801561020b57600080fd5b506102146105b5565b6040516102219190611e4f565b60405180910390f35b34801561023657600080fd5b5061023f6105be565b60405161024c9190611dc5565b60405180910390f35b34801561026157600080fd5b5061026a6105c4565b005b34801561027857600080fd5b50610293600480360381019061028e9190611e6a565b6108b9565b6040516102a09190611dc5565b60405180910390f35b3480156102b557600080fd5b506102be610902565b005b3480156102cc57600080fd5b506102d5610a55565b005b3480156102e357600080fd5b506102ec610afe565b6040516102f99190611dc5565b60405180910390f35b34801561030e57600080fd5b50610317610b04565b6040516103249190611ea6565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190611ec1565b610b2d565b005b34801561036257600080fd5b5061036b610c5a565b6040516103789190611c85565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190611d40565b610c97565b6040516103b59190611d9b565b60405180910390f35b3480156103ca57600080fd5b506103d3610cb5565b005b3480156103e157600080fd5b506103ea610d6f565b6040516103f79190611dc5565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190611e6a565b610d75565b005b34801561043557600080fd5b50610450600480360381019061044b9190611f01565b610e65565b60405161045d9190611dc5565b60405180910390f35b34801561047257600080fd5b5061048d60048036038101906104889190611e6a565b610eec565b005b60606040518060400160405280600e81526020017f536e69706572205374616c6b6572000000000000000000000000000000000000815250905090565b60006104e06104d9610f8d565b8484610f95565b6001905092915050565b60006a084595161401484a000000905090565b600061050a84848461115e565b6105aa84610516610f8d565b84600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610560610f8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105a59190611f70565b610f95565b600190509392505050565b60006012905090565b60025481565b6105cc610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065090611ff0565b60405180910390fd5b6000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069152d02c7e14af68000008111156106bd5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156106f6576106f5612010565b5b6040519080825280602002602001820160405280156107245781602001602082028036833780820191505090505b509050308160008151811061073c5761073b61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106107ab576107aa61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016108679594939291906121c6565b600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff1602179055505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61090a610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e90611ff0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a5d610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611ff0565b60405180910390fd5b6a084595161401484a000000600681905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b35610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990611ff0565b60405180910390fd5b601a8210610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90612292565b60405180910390fd5b60298110610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90612324565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600281526020017f5353000000000000000000000000000000000000000000000000000000000000815250905090565b6000610cab610ca4610f8d565b848461115e565b6001905092915050565b610cbd610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190611ff0565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610d7d610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0190611ff0565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ef4610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890611ff0565b60405180910390fd5b610f8a81611ac9565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb906123b6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90612448565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111519190611dc5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c4906124da565b60405180910390fd5b633b9aca008111611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90612546565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112b65750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112c457600090506117a9565b6000600460009054906101000a900460ff1660ff16141580156112e957506006548211155b611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f906125d8565b60405180910390fd5b6001600460019054906101000a900460ff1660ff16036114595781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113919190611f70565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e791906125f8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144b9190611dc5565b60405180910390a350611ac4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114b65760025490506117a8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117a2576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069043c33c19375648000008111801561157857506000600460019054906101000a900460ff1660ff16145b156117975769152d02c7e14af680000081111561159d5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156115d6576115d5612010565b5b6040519080825280602002602001820160405280156116045781602001602082028036833780820191505090505b509050308160008151811061161c5761161b61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061168b5761168a61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016117479594939291906121c6565b600060405180830381600087803b15801561176157600080fd5b505af1158015611775573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b6003549150506117a7565b600090505b5b5b600081146119b0576000606482846117c1919061262c565b6117cb919061269d565b9050600081846117db9190611f70565b905083600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461182c9190611f70565b9250508190555080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461188291906125f8565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118d891906125f8565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161193c9190611dc5565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119a19190611dc5565b60405180910390a35050611ac2565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ff9190611f70565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a5591906125f8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ab99190611dc5565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2f90612740565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c2f578082015181840152602081019050611c14565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c5782611bf5565b611c618185611c00565b9350611c71818560208601611c11565b611c7a81611c3b565b840191505092915050565b60006020820190508181036000830152611c9f8184611c4c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cd782611cac565b9050919050565b611ce781611ccc565b8114611cf257600080fd5b50565b600081359050611d0481611cde565b92915050565b6000819050919050565b611d1d81611d0a565b8114611d2857600080fd5b50565b600081359050611d3a81611d14565b92915050565b60008060408385031215611d5757611d56611ca7565b5b6000611d6585828601611cf5565b9250506020611d7685828601611d2b565b9150509250929050565b60008115159050919050565b611d9581611d80565b82525050565b6000602082019050611db06000830184611d8c565b92915050565b611dbf81611d0a565b82525050565b6000602082019050611dda6000830184611db6565b92915050565b600080600060608486031215611df957611df8611ca7565b5b6000611e0786828701611cf5565b9350506020611e1886828701611cf5565b9250506040611e2986828701611d2b565b9150509250925092565b600060ff82169050919050565b611e4981611e33565b82525050565b6000602082019050611e646000830184611e40565b92915050565b600060208284031215611e8057611e7f611ca7565b5b6000611e8e84828501611cf5565b91505092915050565b611ea081611ccc565b82525050565b6000602082019050611ebb6000830184611e97565b92915050565b60008060408385031215611ed857611ed7611ca7565b5b6000611ee685828601611d2b565b9250506020611ef785828601611d2b565b9150509250929050565b60008060408385031215611f1857611f17611ca7565b5b6000611f2685828601611cf5565b9250506020611f3785828601611cf5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f7b82611d0a565b9150611f8683611d0a565b9250828203905081811115611f9e57611f9d611f41565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fda602083611c00565b9150611fe582611fa4565b602082019050919050565b6000602082019050818103600083015261200981611fcd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061209d6120986120938461206e565b612078565b611d0a565b9050919050565b6120ad81612082565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6120e881611ccc565b82525050565b60006120fa83836120df565b60208301905092915050565b6000602082019050919050565b600061211e826120b3565b61212881856120be565b9350612133836120cf565b8060005b8381101561216457815161214b88826120ee565b975061215683612106565b925050600181019050612137565b5085935050505092915050565b600061218c61218761218284611cac565b612078565b611cac565b9050919050565b600061219e82612171565b9050919050565b60006121b082612193565b9050919050565b6121c0816121a5565b82525050565b600060a0820190506121db6000830188611db6565b6121e860208301876120a4565b81810360408301526121fa8186612113565b905061220960608301856121b7565b6122166080830184611db6565b9695505050505050565b7f43616e6e6f742073657420627579207461782067726561746572207468616e2060008201527f3236250000000000000000000000000000000000000000000000000000000000602082015250565b600061227c602383611c00565b915061228782612220565b604082019050919050565b600060208201905081810360008301526122ab8161226f565b9050919050565b7f43616e6e6f74207365742073656c6c207461782067726561746572207468616e60008201527f2034312500000000000000000000000000000000000000000000000000000000602082015250565b600061230e602483611c00565b9150612319826122b2565b604082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123a0602483611c00565b91506123ab82612344565b604082019050919050565b600060208201905081810360008301526123cf81612393565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612432602283611c00565b915061243d826123d6565b604082019050919050565b6000602082019050818103600083015261246181612425565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124c4602583611c00565b91506124cf82612468565b604082019050919050565b600060208201905081810360008301526124f3816124b7565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612530601083611c00565b915061253b826124fa565b602082019050919050565b6000602082019050818103600083015261255f81612523565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006125c2602283611c00565b91506125cd82612566565b604082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b600061260382611d0a565b915061260e83611d0a565b925082820190508082111561262657612625611f41565b5b92915050565b600061263782611d0a565b915061264283611d0a565b925082820261265081611d0a565b9150828204841483151761266757612666611f41565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126a882611d0a565b91506126b383611d0a565b9250826126c3576126c261266e565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061272a602683611c00565b9150612735826126ce565b604082019050919050565b600060208201905081810360008301526127598161271d565b905091905056fea26469706673582212208aedf4398ff3a41e5e24cc2db9141cf1fa1ffaf6c538239bab3824ef895f843a64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf9146103be578063cc1776d3146103d5578063dba9d42014610400578063dd62ed3e14610429578063f2fde38b146104665761012a565b80638c0b5e22146102d75780638da5cb5b146103025780639036ed4d1461032d57806395d89b4114610356578063a9059cbb146103815761012a565b80634f7041a5116100e75780634f7041a51461022a57806351bc3c851461025557806370a082311461026c578063715018a6146102a9578063751039fc146102c05761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061014461048f565b6040516101519190611c85565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611d40565b6104cc565b60405161018e9190611d9b565b60405180910390f35b3480156101a357600080fd5b506101ac6104ea565b6040516101b99190611dc5565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e49190611de0565b6104fd565b6040516101f69190611d9b565b60405180910390f35b34801561020b57600080fd5b506102146105b5565b6040516102219190611e4f565b60405180910390f35b34801561023657600080fd5b5061023f6105be565b60405161024c9190611dc5565b60405180910390f35b34801561026157600080fd5b5061026a6105c4565b005b34801561027857600080fd5b50610293600480360381019061028e9190611e6a565b6108b9565b6040516102a09190611dc5565b60405180910390f35b3480156102b557600080fd5b506102be610902565b005b3480156102cc57600080fd5b506102d5610a55565b005b3480156102e357600080fd5b506102ec610afe565b6040516102f99190611dc5565b60405180910390f35b34801561030e57600080fd5b50610317610b04565b6040516103249190611ea6565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190611ec1565b610b2d565b005b34801561036257600080fd5b5061036b610c5a565b6040516103789190611c85565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190611d40565b610c97565b6040516103b59190611d9b565b60405180910390f35b3480156103ca57600080fd5b506103d3610cb5565b005b3480156103e157600080fd5b506103ea610d6f565b6040516103f79190611dc5565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190611e6a565b610d75565b005b34801561043557600080fd5b50610450600480360381019061044b9190611f01565b610e65565b60405161045d9190611dc5565b60405180910390f35b34801561047257600080fd5b5061048d60048036038101906104889190611e6a565b610eec565b005b60606040518060400160405280600e81526020017f536e69706572205374616c6b6572000000000000000000000000000000000000815250905090565b60006104e06104d9610f8d565b8484610f95565b6001905092915050565b60006a084595161401484a000000905090565b600061050a84848461115e565b6105aa84610516610f8d565b84600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610560610f8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105a59190611f70565b610f95565b600190509392505050565b60006012905090565b60025481565b6105cc610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065090611ff0565b60405180910390fd5b6000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069152d02c7e14af68000008111156106bd5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156106f6576106f5612010565b5b6040519080825280602002602001820160405280156107245781602001602082028036833780820191505090505b509050308160008151811061073c5761073b61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106107ab576107aa61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f000000000000000000000000d75703a595704eb9eec292bb8883baa01222b4f5426040518663ffffffff1660e01b81526004016108679594939291906121c6565b600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff1602179055505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61090a610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e90611ff0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a5d610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190611ff0565b60405180910390fd5b6a084595161401484a000000600681905550565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b35610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990611ff0565b60405180910390fd5b601a8210610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90612292565b60405180910390fd5b60298110610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90612324565b60405180910390fd5b81600281905550806003819055505050565b60606040518060400160405280600281526020017f5353000000000000000000000000000000000000000000000000000000000000815250905090565b6000610cab610ca4610f8d565b848461115e565b6001905092915050565b610cbd610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190611ff0565b60405180910390fd5b6001600460006101000a81548160ff021916908360ff16021790555043600581905550565b60035481565b610d7d610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0190611ff0565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ef4610f8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890611ff0565b60405180910390fd5b610f8a81611ac9565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb906123b6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90612448565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111519190611dc5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c4906124da565b60405180910390fd5b633b9aca008111611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90612546565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112b65750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112c457600090506117a9565b6000600460009054906101000a900460ff1660ff16141580156112e957506006548211155b611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f906125d8565b60405180910390fd5b6001600460019054906101000a900460ff1660ff16036114595781600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113919190611f70565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e791906125f8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144b9190611dc5565b60405180910390a350611ac4565b7f000000000000000000000000eaa18de5edd541cdbac2e7f6d390fa436b58e53f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114b65760025490506117a8565b7f000000000000000000000000eaa18de5edd541cdbac2e7f6d390fa436b58e53f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117a2576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905069043c33c19375648000008111801561157857506000600460019054906101000a900460ff1660ff16145b156117975769152d02c7e14af680000081111561159d5769152d02c7e14af680000090505b6001600460016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff8111156115d6576115d5612010565b5b6040519080825280602002602001820160405280156116045781602001602082028036833780820191505090505b509050308160008151811061161c5761161b61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061168b5761168a61203f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f000000000000000000000000d75703a595704eb9eec292bb8883baa01222b4f5426040518663ffffffff1660e01b81526004016117479594939291906121c6565b600060405180830381600087803b15801561176157600080fd5b505af1158015611775573d6000803e3d6000fd5b505050506000600460016101000a81548160ff021916908360ff160217905550505b6003549150506117a7565b600090505b5b5b600081146119b0576000606482846117c1919061262c565b6117cb919061269d565b9050600081846117db9190611f70565b905083600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461182c9190611f70565b9250508190555080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461188291906125f8565b9250508190555081600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118d891906125f8565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161193c9190611dc5565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119a19190611dc5565b60405180910390a35050611ac2565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ff9190611f70565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a5591906125f8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ab99190611dc5565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2f90612740565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c2f578082015181840152602081019050611c14565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c5782611bf5565b611c618185611c00565b9350611c71818560208601611c11565b611c7a81611c3b565b840191505092915050565b60006020820190508181036000830152611c9f8184611c4c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cd782611cac565b9050919050565b611ce781611ccc565b8114611cf257600080fd5b50565b600081359050611d0481611cde565b92915050565b6000819050919050565b611d1d81611d0a565b8114611d2857600080fd5b50565b600081359050611d3a81611d14565b92915050565b60008060408385031215611d5757611d56611ca7565b5b6000611d6585828601611cf5565b9250506020611d7685828601611d2b565b9150509250929050565b60008115159050919050565b611d9581611d80565b82525050565b6000602082019050611db06000830184611d8c565b92915050565b611dbf81611d0a565b82525050565b6000602082019050611dda6000830184611db6565b92915050565b600080600060608486031215611df957611df8611ca7565b5b6000611e0786828701611cf5565b9350506020611e1886828701611cf5565b9250506040611e2986828701611d2b565b9150509250925092565b600060ff82169050919050565b611e4981611e33565b82525050565b6000602082019050611e646000830184611e40565b92915050565b600060208284031215611e8057611e7f611ca7565b5b6000611e8e84828501611cf5565b91505092915050565b611ea081611ccc565b82525050565b6000602082019050611ebb6000830184611e97565b92915050565b60008060408385031215611ed857611ed7611ca7565b5b6000611ee685828601611d2b565b9250506020611ef785828601611d2b565b9150509250929050565b60008060408385031215611f1857611f17611ca7565b5b6000611f2685828601611cf5565b9250506020611f3785828601611cf5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f7b82611d0a565b9150611f8683611d0a565b9250828203905081811115611f9e57611f9d611f41565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fda602083611c00565b9150611fe582611fa4565b602082019050919050565b6000602082019050818103600083015261200981611fcd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061209d6120986120938461206e565b612078565b611d0a565b9050919050565b6120ad81612082565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6120e881611ccc565b82525050565b60006120fa83836120df565b60208301905092915050565b6000602082019050919050565b600061211e826120b3565b61212881856120be565b9350612133836120cf565b8060005b8381101561216457815161214b88826120ee565b975061215683612106565b925050600181019050612137565b5085935050505092915050565b600061218c61218761218284611cac565b612078565b611cac565b9050919050565b600061219e82612171565b9050919050565b60006121b082612193565b9050919050565b6121c0816121a5565b82525050565b600060a0820190506121db6000830188611db6565b6121e860208301876120a4565b81810360408301526121fa8186612113565b905061220960608301856121b7565b6122166080830184611db6565b9695505050505050565b7f43616e6e6f742073657420627579207461782067726561746572207468616e2060008201527f3236250000000000000000000000000000000000000000000000000000000000602082015250565b600061227c602383611c00565b915061228782612220565b604082019050919050565b600060208201905081810360008301526122ab8161226f565b9050919050565b7f43616e6e6f74207365742073656c6c207461782067726561746572207468616e60008201527f2034312500000000000000000000000000000000000000000000000000000000602082015250565b600061230e602483611c00565b9150612319826122b2565b604082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123a0602483611c00565b91506123ab82612344565b604082019050919050565b600060208201905081810360008301526123cf81612393565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612432602283611c00565b915061243d826123d6565b604082019050919050565b6000602082019050818103600083015261246181612425565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124c4602583611c00565b91506124cf82612468565b604082019050919050565b600060208201905081810360008301526124f3816124b7565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612530601083611c00565b915061253b826124fa565b602082019050919050565b6000602082019050818103600083015261255f81612523565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006125c2602283611c00565b91506125cd82612566565b604082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b600061260382611d0a565b915061260e83611d0a565b925082820190508082111561262657612625611f41565b5b92915050565b600061263782611d0a565b915061264283611d0a565b925082820261265081611d0a565b9150828204841483151761266757612666611f41565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126a882611d0a565b91506126b383611d0a565b9250826126c3576126c261266e565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061272a602683611c00565b9150612735826126ce565b604082019050919050565b600060208201905081810360008301526127598161271d565b905091905056fea26469706673582212208aedf4398ff3a41e5e24cc2db9141cf1fa1ffaf6c538239bab3824ef895f843a64736f6c63430008110033

Deployed Bytecode Sourcemap

2881:7607:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4803:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5713:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5080:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5914:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4989:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3319:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7290:619;;;;;;;;;;;;;:::i;:::-;;5188:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2208:148;;;;;;;;;;;;;:::i;:::-;;6893:88;;;;;;;;;;;;;:::i;:::-;;3478:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1603:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6989:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4894:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5314:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6649:108;;;;;;;;;;;;;:::i;:::-;;3347:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6765:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5521:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1817:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4803:83;4840:13;4873:5;;;;;;;;;;;;;;;;;4866:12;;4803:83;:::o;5713:193::-;5815:4;5837:39;5846:12;:10;:12::i;:::-;5860:7;5869:6;5837:8;:39::i;:::-;5894:4;5887:11;;5713:193;;;;:::o;5080:100::-;5133:7;2979:13;5153:19;;5080:100;:::o;5914:350::-;6046:4;6063:36;6073:6;6081:9;6092:6;6063:9;:36::i;:::-;6110:124;6133:6;6154:12;:10;:12::i;:::-;6217:6;6181:11;:19;6193:6;6181:19;;;;;;;;;;;;;;;:33;6201:12;:10;:12::i;:::-;6181:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6110:8;:124::i;:::-;6252:4;6245:11;;5914:350;;;;;:::o;4989:83::-;5030:5;3140:2;5048:16;;4989:83;:::o;3319:21::-;;;;:::o;7290:619::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7342:20:::1;7365:8;:23;7382:4;7365:23;;;;;;;;;;;;;;;;7342:46;;3037:10;7403:12;:25;7399:83;;;3037:10;7445:25;;7399:83;7511:1;7492:16;;:20;;;;;;;;;;;;;;;;;;7523:21;7561:1;7547:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7523:40;;7592:4;7574;7579:1;7574:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7618:4;7608;7613:1;7608:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;7633:15;:80;;;7732:12;7763:1;7783:4;7806:15;7840;7633:237;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7900:1;7881:16;;:20;;;;;;;;;;;;;;;;;;7331:578;;7290:619::o:0;5188:118::-;5254:7;5281:8;:17;5290:7;5281:17;;;;;;;;;;;;;;;;5274:24;;5188:118;;;:::o;2208:148::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2315:1:::1;2278:40;;2299:6;::::0;::::1;;;;;;;;2278:40;;;;;;;;;;;;2346:1;2329:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2208:148::o:0;6893:88::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2979:13:::1;6947:11;:26;;;;6893:88::o:0;3478:43::-;;;;:::o;1603:79::-;1641:7;1668:6;;;;;;;;;;;1661:13;;1603:79;:::o;6989:293::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7097:2:::1;7085:9;:14;7077:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:2;7158:10;:15;7150:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7234:9;7225:6;:18;;;;7264:10;7254:7;:20;;;;6989:293:::0;;:::o;4894:87::-;4933:13;4966:7;;;;;;;;;;;;;;;;;4959:14;;4894:87;:::o;5314:199::-;5419:4;5441:42;5451:12;:10;:12::i;:::-;5465:9;5476:6;5441:9;:42::i;:::-;5501:4;5494:11;;5314:199;;;;:::o;6649:108::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6711:1:::1;6702:6;;:10;;;;;;;;;;;;;;;;;;6737:12;6723:11;:26;;;;6649:108::o:0;3347:22::-;;;;:::o;6765:120::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6873:4:::1;6838:24;:32;6863:6;6838:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6765:120:::0;:::o;5521:184::-;5638:7;5670:11;:18;5682:5;5670:18;;;;;;;;;;;;;;;:27;5689:7;5670:27;;;;;;;;;;;;;;;;5663:34;;5521:184;;;;:::o;1817:109::-;1740:12;:10;:12::i;:::-;1730:22;;:6;;;;;;;;;;:22;;;1722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1890:28:::1;1909:8;1890:18;:28::i;:::-;1817:109:::0;:::o;317:98::-;370:7;397:10;390:17;;317:98;:::o;6272:369::-;6416:1;6399:19;;:5;:19;;;6391:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6497:1;6478:21;;:7;:21;;;6470:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6579:6;6549:11;:18;6561:5;6549:18;;;;;;;;;;;;;;;:27;6568:7;6549:27;;;;;;;;;;;;;;;:36;;;;6617:7;6601:32;;6610:5;6601:32;;;6626:6;6601:32;;;;;;:::i;:::-;;;;;;;;6272:369;;;:::o;7917:2531::-;8055:1;8039:18;;:4;:18;;;8031:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8127:3;8118:6;:12;8110:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8164:12;8191:24;:30;8216:4;8191:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;8225:24;:28;8250:2;8225:28;;;;;;;;;;;;;;;;;;;;;;;;;8191:62;8187:1604;;;8277:1;8270:8;;8187:1604;;;8347:1;8337:6;;;;;;;;;;;:11;;;;:36;;;;;8362:11;;8352:6;:21;;8337:36;8311:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;8484:1;8464:16;;;;;;;;;;;:21;;;8460:239;;8559:6;8541:8;:14;8550:4;8541:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;8600:6;8584:8;:12;8593:2;8584:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;8647:2;8632:26;;8641:4;8632:26;;;8651:6;8632:26;;;;;;:::i;:::-;;;;;;;;8677:7;;;8460:239;8727:13;8719:21;;:4;:21;;;8715:1065;;8768:6;;8761:13;;8715:1065;;;8806:13;8800:19;;:2;:19;;;8796:984;;8840:20;8863:8;:23;8880:4;8863:23;;;;;;;;;;;;;;;;8840:46;;3089:9;8909:12;:22;:47;;;;;8955:1;8935:16;;;;;;;;;;;:21;;;8909:47;8905:778;;;3037:10;8985:12;:25;8981:107;;;3037:10;9039:25;;8981:107;9129:1;9110:16;;:20;;;;;;;;;;;;;;;;;;9153:21;9191:1;9177:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9153:40;;9234:4;9216;9221:1;9216:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9272:4;9262;9267:1;9262:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;9299:15;:92;;;9422:12;9465:1;9497:4;9532:15;9578;9299:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9662:1;9643:16;;:20;;;;;;;;;;;;;;;;;;8958:725;8905:778;9708:7;;9701:14;;8821:910;8796:984;;;9763:1;9756:8;;8796:984;8715:1065;8187:1604;9860:1;9852:4;:9;9848:593;;9906:17;9944:3;9936:4;9927:6;:13;;;;:::i;:::-;9926:21;;;;:::i;:::-;9906:41;;9962:22;9996:9;9987:6;:18;;;;:::i;:::-;9962:43;;10040:6;10022:8;:14;10031:4;10022:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;10077:14;10061:8;:12;10070:2;10061:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10133:9;10106:8;:23;10123:4;10106:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;10185:4;10162:40;;10171:4;10162:40;;;10192:9;10162:40;;;;;;:::i;:::-;;;;;;;;10237:2;10222:34;;10231:4;10222:34;;;10241:14;10222:34;;;;;;:::i;:::-;;;;;;;;9863:405;;9848:593;;;10338:6;10320:8;:14;10329:4;10320:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;10375:6;10359:8;:12;10368:2;10359:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;10418:2;10403:26;;10412:4;10403:26;;;10422:6;10403:26;;;;;;:::i;:::-;;;;;;;;9848:593;8020:2428;7917:2531;;;;:::o;1934:266::-;2042:1;2022:22;;:8;:22;;;2000:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2155:8;2126:38;;2147:6;;;;;;;;;;2126:38;;;;;;;;;;;;2184:8;2175:6;;:17;;;;;;;;;;;;;;;;;;1934:266;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:194;6726:4;6746:20;6764:1;6746:20;:::i;:::-;6741:25;;6780:20;6798:1;6780:20;:::i;:::-;6775:25;;6824:1;6821;6817:9;6809:17;;6848:1;6842:4;6839:11;6836:37;;;6853:18;;:::i;:::-;6836:37;6686:194;;;;:::o;6886:182::-;7026:34;7022:1;7014:6;7010:14;7003:58;6886:182;:::o;7074:366::-;7216:3;7237:67;7301:2;7296:3;7237:67;:::i;:::-;7230:74;;7313:93;7402:3;7313:93;:::i;:::-;7431:2;7426:3;7422:12;7415:19;;7074:366;;;:::o;7446:419::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7699:9;7693:4;7689:20;7685:1;7674:9;7670:17;7663:47;7727:131;7853:4;7727:131;:::i;:::-;7719:139;;7446:419;;;:::o;7871:180::-;7919:77;7916:1;7909:88;8016:4;8013:1;8006:15;8040:4;8037:1;8030:15;8057:180;8105:77;8102:1;8095:88;8202:4;8199:1;8192:15;8226:4;8223:1;8216:15;8243:85;8288:7;8317:5;8306:16;;8243:85;;;:::o;8334:60::-;8362:3;8383:5;8376:12;;8334:60;;;:::o;8400:158::-;8458:9;8491:61;8509:42;8518:32;8544:5;8518:32;:::i;:::-;8509:42;:::i;:::-;8491:61;:::i;:::-;8478:74;;8400:158;;;:::o;8564:147::-;8659:45;8698:5;8659:45;:::i;:::-;8654:3;8647:58;8564:147;;:::o;8717:114::-;8784:6;8818:5;8812:12;8802:22;;8717:114;;;:::o;8837:184::-;8936:11;8970:6;8965:3;8958:19;9010:4;9005:3;9001:14;8986:29;;8837:184;;;;:::o;9027:132::-;9094:4;9117:3;9109:11;;9147:4;9142:3;9138:14;9130:22;;9027:132;;;:::o;9165:108::-;9242:24;9260:5;9242:24;:::i;:::-;9237:3;9230:37;9165:108;;:::o;9279:179::-;9348:10;9369:46;9411:3;9403:6;9369:46;:::i;:::-;9447:4;9442:3;9438:14;9424:28;;9279:179;;;;:::o;9464:113::-;9534:4;9566;9561:3;9557:14;9549:22;;9464:113;;;:::o;9613:732::-;9732:3;9761:54;9809:5;9761:54;:::i;:::-;9831:86;9910:6;9905:3;9831:86;:::i;:::-;9824:93;;9941:56;9991:5;9941:56;:::i;:::-;10020:7;10051:1;10036:284;10061:6;10058:1;10055:13;10036:284;;;10137:6;10131:13;10164:63;10223:3;10208:13;10164:63;:::i;:::-;10157:70;;10250:60;10303:6;10250:60;:::i;:::-;10240:70;;10096:224;10083:1;10080;10076:9;10071:14;;10036:284;;;10040:14;10336:3;10329:10;;9737:608;;;9613:732;;;;:::o;10351:142::-;10401:9;10434:53;10452:34;10461:24;10479:5;10461:24;:::i;:::-;10452:34;:::i;:::-;10434:53;:::i;:::-;10421:66;;10351:142;;;:::o;10499:126::-;10549:9;10582:37;10613:5;10582:37;:::i;:::-;10569:50;;10499:126;;;:::o;10631:134::-;10689:9;10722:37;10753:5;10722:37;:::i;:::-;10709:50;;10631:134;;;:::o;10771:147::-;10866:45;10905:5;10866:45;:::i;:::-;10861:3;10854:58;10771:147;;:::o;10924:847::-;11195:4;11233:3;11222:9;11218:19;11210:27;;11247:71;11315:1;11304:9;11300:17;11291:6;11247:71;:::i;:::-;11328:80;11404:2;11393:9;11389:18;11380:6;11328:80;:::i;:::-;11455:9;11449:4;11445:20;11440:2;11429:9;11425:18;11418:48;11483:108;11586:4;11577:6;11483:108;:::i;:::-;11475:116;;11601:80;11677:2;11666:9;11662:18;11653:6;11601:80;:::i;:::-;11691:73;11759:3;11748:9;11744:19;11735:6;11691:73;:::i;:::-;10924:847;;;;;;;;:::o;11777:222::-;11917:34;11913:1;11905:6;11901:14;11894:58;11986:5;11981:2;11973:6;11969:15;11962:30;11777:222;:::o;12005:366::-;12147:3;12168:67;12232:2;12227:3;12168:67;:::i;:::-;12161:74;;12244:93;12333:3;12244:93;:::i;:::-;12362:2;12357:3;12353:12;12346:19;;12005:366;;;:::o;12377:419::-;12543:4;12581:2;12570:9;12566:18;12558:26;;12630:9;12624:4;12620:20;12616:1;12605:9;12601:17;12594:47;12658:131;12784:4;12658:131;:::i;:::-;12650:139;;12377:419;;;:::o;12802:223::-;12942:34;12938:1;12930:6;12926:14;12919:58;13011:6;13006:2;12998:6;12994:15;12987:31;12802:223;:::o;13031:366::-;13173:3;13194:67;13258:2;13253:3;13194:67;:::i;:::-;13187:74;;13270:93;13359:3;13270:93;:::i;:::-;13388:2;13383:3;13379:12;13372:19;;13031:366;;;:::o;13403:419::-;13569:4;13607:2;13596:9;13592:18;13584:26;;13656:9;13650:4;13646:20;13642:1;13631:9;13627:17;13620:47;13684:131;13810:4;13684:131;:::i;:::-;13676:139;;13403:419;;;:::o;13828:223::-;13968:34;13964:1;13956:6;13952:14;13945:58;14037:6;14032:2;14024:6;14020:15;14013:31;13828:223;:::o;14057:366::-;14199:3;14220:67;14284:2;14279:3;14220:67;:::i;:::-;14213:74;;14296:93;14385:3;14296:93;:::i;:::-;14414:2;14409:3;14405:12;14398:19;;14057:366;;;:::o;14429:419::-;14595:4;14633:2;14622:9;14618:18;14610:26;;14682:9;14676:4;14672:20;14668:1;14657:9;14653:17;14646:47;14710:131;14836:4;14710:131;:::i;:::-;14702:139;;14429:419;;;:::o;14854:221::-;14994:34;14990:1;14982:6;14978:14;14971:58;15063:4;15058:2;15050:6;15046:15;15039:29;14854:221;:::o;15081:366::-;15223:3;15244:67;15308:2;15303:3;15244:67;:::i;:::-;15237:74;;15320:93;15409:3;15320:93;:::i;:::-;15438:2;15433:3;15429:12;15422:19;;15081:366;;;:::o;15453:419::-;15619:4;15657:2;15646:9;15642:18;15634:26;;15706:9;15700:4;15696:20;15692:1;15681:9;15677:17;15670:47;15734:131;15860:4;15734:131;:::i;:::-;15726:139;;15453:419;;;:::o;15878:224::-;16018:34;16014:1;16006:6;16002:14;15995:58;16087:7;16082:2;16074:6;16070:15;16063:32;15878:224;:::o;16108:366::-;16250:3;16271:67;16335:2;16330:3;16271:67;:::i;:::-;16264:74;;16347:93;16436:3;16347:93;:::i;:::-;16465:2;16460:3;16456:12;16449:19;;16108:366;;;:::o;16480:419::-;16646:4;16684:2;16673:9;16669:18;16661:26;;16733:9;16727:4;16723:20;16719:1;16708:9;16704:17;16697:47;16761:131;16887:4;16761:131;:::i;:::-;16753:139;;16480:419;;;:::o;16905:166::-;17045:18;17041:1;17033:6;17029:14;17022:42;16905:166;:::o;17077:366::-;17219:3;17240:67;17304:2;17299:3;17240:67;:::i;:::-;17233:74;;17316:93;17405:3;17316:93;:::i;:::-;17434:2;17429:3;17425:12;17418:19;;17077:366;;;:::o;17449:419::-;17615:4;17653:2;17642:9;17638:18;17630:26;;17702:9;17696:4;17692:20;17688:1;17677:9;17673:17;17666:47;17730:131;17856:4;17730:131;:::i;:::-;17722:139;;17449:419;;;:::o;17874:221::-;18014:34;18010:1;18002:6;17998:14;17991:58;18083:4;18078:2;18070:6;18066:15;18059:29;17874:221;:::o;18101:366::-;18243:3;18264:67;18328:2;18323:3;18264:67;:::i;:::-;18257:74;;18340:93;18429:3;18340:93;:::i;:::-;18458:2;18453:3;18449:12;18442:19;;18101:366;;;:::o;18473:419::-;18639:4;18677:2;18666:9;18662:18;18654:26;;18726:9;18720:4;18716:20;18712:1;18701:9;18697:17;18690:47;18754:131;18880:4;18754:131;:::i;:::-;18746:139;;18473:419;;;:::o;18898:191::-;18938:3;18957:20;18975:1;18957:20;:::i;:::-;18952:25;;18991:20;19009:1;18991:20;:::i;:::-;18986:25;;19034:1;19031;19027:9;19020:16;;19055:3;19052:1;19049:10;19046:36;;;19062:18;;:::i;:::-;19046:36;18898:191;;;;:::o;19095:410::-;19135:7;19158:20;19176:1;19158:20;:::i;:::-;19153:25;;19192:20;19210:1;19192:20;:::i;:::-;19187:25;;19247:1;19244;19240:9;19269:30;19287:11;19269:30;:::i;:::-;19258:41;;19448:1;19439:7;19435:15;19432:1;19429:22;19409:1;19402:9;19382:83;19359:139;;19478:18;;:::i;:::-;19359:139;19143:362;19095:410;;;;:::o;19511:180::-;19559:77;19556:1;19549:88;19656:4;19653:1;19646:15;19680:4;19677:1;19670:15;19697:185;19737:1;19754:20;19772:1;19754:20;:::i;:::-;19749:25;;19788:20;19806:1;19788:20;:::i;:::-;19783:25;;19827:1;19817:35;;19832:18;;:::i;:::-;19817:35;19874:1;19871;19867:9;19862:14;;19697:185;;;;:::o;19888:225::-;20028:34;20024:1;20016:6;20012:14;20005:58;20097:8;20092:2;20084:6;20080:15;20073:33;19888:225;:::o;20119:366::-;20261:3;20282:67;20346:2;20341:3;20282:67;:::i;:::-;20275:74;;20358:93;20447:3;20358:93;:::i;:::-;20476:2;20471:3;20467:12;20460:19;;20119:366;;;:::o;20491:419::-;20657:4;20695:2;20684:9;20680:18;20672:26;;20744:9;20738:4;20734:20;20730:1;20719:9;20715:17;20708:47;20772:131;20898:4;20772:131;:::i;:::-;20764:139;;20491:419;;;:::o

Swarm Source

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