ETH Price: $2,389.95 (-0.49%)

Token

WAIFU Coin (WAIFU)
 

Overview

Max Total Supply

10,000,000,000 WAIFU

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 10 Decimals)

Balance
151,381,136.0833368891 WAIFU

Value
$0.00
0x0ab14022556217653d8e9ca29f7e8dd12afc855f
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:
WAIFU

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 600 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

Telegram: https://t.me/WaifuUniversePortal
Twitter: https://twitter.com/waifucoindex
Website: https://www.waifuuniverse.xyz/

*/

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 WAIFU is IERC20, Ownable {    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = "WAIFU Coin";
    string private constant _symbol = "WAIFU";
    uint8 private constant _decimals = 10;
    uint256 private constant DECIMALS_SCALING_FACTOR = 10**_decimals;

    uint256 private constant _totalSupply = 10_000_000_000 * DECIMALS_SCALING_FACTOR;
    uint256 public tradeTokenLimit = 200_000_000 * DECIMALS_SCALING_FACTOR;

    uint256 public buyTax = 20;
    uint256 public sellTax = 50;
    
    uint256 private constant contractSwapLimit = 50_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 = 0xEb86bD0533ec8D2ac03414D75a8441B4b8819e64;
    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);

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

    }

    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"}]

60c060405262000011600a80620003a6565b6200002190630bebc200620003be565b60035560146004556032600581905560026006819055600791909155600855600980546001600160a01b03191673eb86bd0533ec8d2ac03414d75a8441b4b8819e641790553360a052600a805460ff60a01b191690553480156200008457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350306000908152600e602090815260408083208054600160ff1991821681179092556009546001600160a01b0316855293829020805490941617909255815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9263c45a01559260048083019391928290030181865afa1580156200014e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001749190620003d8565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af1158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd9190620003d8565b6001600160a01b031660805262000216600a80620003a6565b62000227906402540be400620003be565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000269600a80620003a6565b6200027a906402540be400620003be565b60405190815260200160405180910390a362000403565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002e8578160001904821115620002cc57620002cc62000291565b80851615620002da57918102915b93841c9390800290620002ac565b509250929050565b6000826200030157506001620003a0565b816200031057506000620003a0565b8160018114620003295760028114620003345762000354565b6001915050620003a0565b60ff84111562000348576200034862000291565b50506001821b620003a0565b5060208310610133831016604e8410600b841016171562000379575081810a620003a0565b620003858383620002a7565b80600019048211156200039c576200039c62000291565b0290505b92915050565b6000620003b760ff841683620002f0565b9392505050565b8082028115828204841417620003a057620003a062000291565b600060208284031215620003eb57600080fd5b81516001600160a01b0381168114620003b757600080fd5b60805160a051611ab86200045360003960008181610cfd01528181610f470152610f850152600081816104d401528181610a8201528181610fc1015281816110f801526115350152611ab86000f3fe6080604052600436106101b05760003560e01c80636c580801116100ec578063a9059cbb1161008a578063c997eb8d11610064578063c997eb8d146104f6578063cc1776d314610516578063dd62ed3e1461052c578063f8d982b21461057257600080fd5b8063a9059cbb14610482578063c4590d3f146104a2578063c816841b146104c257600080fd5b806372ac2486116100c657806372ac2486146103f65780638da5cb5b1461041657806395d89b4114610434578063a5ece9411461046257600080fd5b80636c5808011461039657806370a08231146103ab578063715018a6146103e157600080fd5b8063313ce56711610159578063513f4c3f11610133578063513f4c3f14610308578063555b10dd1461031e5780635d098b381461033e578063638b1b141461035e57600080fd5b8063313ce567146102b657806334c5d2ce146102d25780634f7041a5146102f257600080fd5b806318160ddd1161018a57806318160ddd146102535780631a6952301461027657806323b872dd1461029657600080fd5b806306fdde03146101bc578063095ea7b3146102015780630b78f9c01461023157600080fd5b366101b757005b600080fd5b3480156101c857600080fd5b5060408051808201909152600a8152692ba0a4a32a9021b7b4b760b11b60208201525b6040516101f8919061163f565b60405180910390f35b34801561020d57600080fd5b5061022161021c3660046116a5565b610592565b60405190151581526020016101f8565b34801561023d57600080fd5b5061025161024c3660046116d1565b6105a9565b005b34801561025f57600080fd5b50610268610601565b6040519081526020016101f8565b34801561028257600080fd5b506102516102913660046116f3565b610622565b3480156102a257600080fd5b506102216102b1366004611710565b610672565b3480156102c257600080fd5b50604051600a81526020016101f8565b3480156102de57600080fd5b506102516102ed366004611751565b610746565b3480156102fe57600080fd5b5061026860045481565b34801561031457600080fd5b5061026860035481565b34801561032a57600080fd5b5061025161033936600461177d565b61079c565b34801561034a57600080fd5b506102516103593660046116f3565b6107e9565b34801561036a57600080fd5b5060095461037e906001600160a01b031681565b6040516001600160a01b0390911681526020016101f8565b3480156103a257600080fd5b50610251610853565b3480156103b757600080fd5b506102686103c63660046116f3565b6001600160a01b031660009081526001602052604090205490565b3480156103ed57600080fd5b50610251610925565b34801561040257600080fd5b506102516104113660046116f3565b6109b7565b34801561042257600080fd5b506000546001600160a01b031661037e565b34801561044057600080fd5b50604080518082019091526005815264574149465560d81b60208201526101eb565b34801561046e57600080fd5b50600a5461037e906001600160a01b031681565b34801561048e57600080fd5b5061022161049d3660046116a5565b610a21565b3480156104ae57600080fd5b506102516104bd3660046116d1565b610a2e565b3480156104ce57600080fd5b5061037e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561050257600080fd5b50610251610511366004611796565b610aba565b34801561052257600080fd5b5061026860055481565b34801561053857600080fd5b50610268610547366004611821565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057e57600080fd5b5061025161058d36600461177d565b610b79565b600061059f338484610bc2565b5060015b92915050565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064015b60405180910390fd5b600491909155600555565b600061060e600a80611954565b61061d906402540be400611963565b905090565b6009546001600160a01b0316331461063957600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f1935050505015801561066e573d6000803e3d6000fd5b5050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106f65760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105ed565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461073191869161072c90869061197a565b610bc2565b61073c848484610ce6565b5060019392505050565b6000546001600160a01b0316331461078e5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600692909255600755600855565b6000546001600160a01b031633146107e45760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600355565b6000546001600160a01b031633146108315760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461089b5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600a54600160a81b900460ff16156108f55760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e000000000060448201526064016105ed565b600a80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16600160a81b179055565b6000546001600160a01b0316331461096d5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ff5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600061059f338484610ce6565b6000546001600160a01b03163314610a765760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b50506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d60205260409020805460ff19169055565b6000546001600160a01b03163314610b025760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b60005b82811015610b735781600d6000868685818110610b2457610b2461198d565b9050602002016020810190610b3991906116f3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b6b816119a3565b915050610b05565b50505050565b6009546001600160a01b03163314610b9057600080fd5b30600090815260016020526040812054606490610bad9084611963565b610bb791906119bc565b905061066e816112c3565b6001600160a01b038316610c245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ed565b6001600160a01b038216610c855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ed565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610d3157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b610d3a57600080fd5b6001600160a01b038416610d9e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ed565b6001600160a01b038316610e005760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ed565b60008211610e765760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201527f726561746572207468616e207a65726f0000000000000000000000000000000060648201526084016105ed565b6001600160a01b0384166000908152600d602052604090205460ff16158015610eb857506001600160a01b0383166000908152600d602052604090205460ff16155b610f045760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f742074726164650060448201526064016105ed565b6001600160a01b03841660009081526001602052604081208054849290610f2c90849061197a565b90915550506001600160a01b0384163014801590610f7c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b8015610fba57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15611170577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03160361107f576003548261101b856001600160a01b031660009081526001602052604090205490565b61102591906119de565b111561107f5760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b60648201526084016105ed565b6003548211156110d15760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e60448201526064016105ed565b30600090815260016020526040902054600a54600160a01b900460ff1615801561112c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b8015611150575061113e600a80611954565b61114c906302faf080611963565b8110155b8015611160575061116083611489565b1561116e5761116e816112c3565b505b6001600160a01b0384166000908152600e602052604090205460ff161580156111b257506001600160a01b0383166000908152600e602052604090205460ff16155b156112415760006111c3858461152f565b9050801561123f576111d5818461197a565b306000908152600160205260408120805492955083929091906111f99084906119de565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b038316600090815260016020526040812080548492906112699084906119de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b591815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556112df81611593565b6000600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205490915081111561134f5761134f30737a250d5630b4cf539739df2c5dacb4c659f2488d611340600a80611954565b61072c906402540be400611963565b6040805160028082526060820183524792600092919060208301908036833701905050905030816000815181106113885761138861198d565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106113d0576113d061198d565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906114289086906000908690309042906004016119f1565b600060405180830381600087803b15801561144257600080fd5b505af1158015611456573d6000803e3d6000fd5b505050508147611466919061197a565b915081156114775761147782611605565b5050600a805460ff60a01b1916905550565b60006007546000146114c0576007546114a3600a80611954565b6114b1906302faf080611963565b6114bb91906119bc565b6114c3565b60005b82101580156114dc5750600a546001600160a01b031615155b80156114fd5750600854600c600081546114f5906119a3565b918290555010155b80156105a35750436000908152600b602052604081208054600292909190611524836119a3565b919050551092915050565b600060647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161461157457600554611578565b6004545b6115829084611963565b61158c91906119bc565b9392505050565b60006115a0600a80611954565b6115ae906302faf080611963565b6006546115bb9190611963565b82116115df576115cc600a80611954565b6115da906302faf080611963565b6105a3565b6115ea600a80611954565b6115f8906302faf080611963565b6006546105a39190611963565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561066e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561166c57858101830151858201604001528201611650565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116a257600080fd5b50565b600080604083850312156116b857600080fd5b82356116c38161168d565b946020939093013593505050565b600080604083850312156116e457600080fd5b50508035926020909101359150565b60006020828403121561170557600080fd5b813561158c8161168d565b60008060006060848603121561172557600080fd5b83356117308161168d565b925060208401356117408161168d565b929592945050506040919091013590565b60008060006060848603121561176657600080fd5b505081359360208301359350604090920135919050565b60006020828403121561178f57600080fd5b5035919050565b6000806000604084860312156117ab57600080fd5b833567ffffffffffffffff808211156117c357600080fd5b818601915086601f8301126117d757600080fd5b8135818111156117e657600080fd5b8760208260051b85010111156117fb57600080fd5b60209283019550935050840135801515811461181657600080fd5b809150509250925092565b6000806040838503121561183457600080fd5b823561183f8161168d565b9150602083013561184f8161168d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ab5781600019048211156118915761189161185a565b8085161561189e57918102915b93841c9390800290611875565b509250929050565b6000826118c2575060016105a3565b816118cf575060006105a3565b81600181146118e557600281146118ef5761190b565b60019150506105a3565b60ff8411156119005761190061185a565b50506001821b6105a3565b5060208310610133831016604e8410600b841016171561192e575081810a6105a3565b6119388383611870565b806000190482111561194c5761194c61185a565b029392505050565b600061158c60ff8416836118b3565b80820281158282048414176105a3576105a361185a565b818103818111156105a3576105a361185a565b634e487b7160e01b600052603260045260246000fd5b6000600182016119b5576119b561185a565b5060010190565b6000826119d957634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105a3576105a361185a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a415784516001600160a01b031683529383019391830191600101611a1c565b50506001600160a01b0396909616606085015250505060800152939250505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122082344635bbfc791491cb7799d3b1df30495cc3779873f461b1e62cb17f0ec48a64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101b05760003560e01c80636c580801116100ec578063a9059cbb1161008a578063c997eb8d11610064578063c997eb8d146104f6578063cc1776d314610516578063dd62ed3e1461052c578063f8d982b21461057257600080fd5b8063a9059cbb14610482578063c4590d3f146104a2578063c816841b146104c257600080fd5b806372ac2486116100c657806372ac2486146103f65780638da5cb5b1461041657806395d89b4114610434578063a5ece9411461046257600080fd5b80636c5808011461039657806370a08231146103ab578063715018a6146103e157600080fd5b8063313ce56711610159578063513f4c3f11610133578063513f4c3f14610308578063555b10dd1461031e5780635d098b381461033e578063638b1b141461035e57600080fd5b8063313ce567146102b657806334c5d2ce146102d25780634f7041a5146102f257600080fd5b806318160ddd1161018a57806318160ddd146102535780631a6952301461027657806323b872dd1461029657600080fd5b806306fdde03146101bc578063095ea7b3146102015780630b78f9c01461023157600080fd5b366101b757005b600080fd5b3480156101c857600080fd5b5060408051808201909152600a8152692ba0a4a32a9021b7b4b760b11b60208201525b6040516101f8919061163f565b60405180910390f35b34801561020d57600080fd5b5061022161021c3660046116a5565b610592565b60405190151581526020016101f8565b34801561023d57600080fd5b5061025161024c3660046116d1565b6105a9565b005b34801561025f57600080fd5b50610268610601565b6040519081526020016101f8565b34801561028257600080fd5b506102516102913660046116f3565b610622565b3480156102a257600080fd5b506102216102b1366004611710565b610672565b3480156102c257600080fd5b50604051600a81526020016101f8565b3480156102de57600080fd5b506102516102ed366004611751565b610746565b3480156102fe57600080fd5b5061026860045481565b34801561031457600080fd5b5061026860035481565b34801561032a57600080fd5b5061025161033936600461177d565b61079c565b34801561034a57600080fd5b506102516103593660046116f3565b6107e9565b34801561036a57600080fd5b5060095461037e906001600160a01b031681565b6040516001600160a01b0390911681526020016101f8565b3480156103a257600080fd5b50610251610853565b3480156103b757600080fd5b506102686103c63660046116f3565b6001600160a01b031660009081526001602052604090205490565b3480156103ed57600080fd5b50610251610925565b34801561040257600080fd5b506102516104113660046116f3565b6109b7565b34801561042257600080fd5b506000546001600160a01b031661037e565b34801561044057600080fd5b50604080518082019091526005815264574149465560d81b60208201526101eb565b34801561046e57600080fd5b50600a5461037e906001600160a01b031681565b34801561048e57600080fd5b5061022161049d3660046116a5565b610a21565b3480156104ae57600080fd5b506102516104bd3660046116d1565b610a2e565b3480156104ce57600080fd5b5061037e7f0000000000000000000000007fcc51189b2f0132e29794e6c00d518a52baa7e781565b34801561050257600080fd5b50610251610511366004611796565b610aba565b34801561052257600080fd5b5061026860055481565b34801561053857600080fd5b50610268610547366004611821565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057e57600080fd5b5061025161058d36600461177d565b610b79565b600061059f338484610bc2565b5060015b92915050565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064015b60405180910390fd5b600491909155600555565b600061060e600a80611954565b61061d906402540be400611963565b905090565b6009546001600160a01b0316331461063957600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f1935050505015801561066e573d6000803e3d6000fd5b5050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106f65760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016105ed565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461073191869161072c90869061197a565b610bc2565b61073c848484610ce6565b5060019392505050565b6000546001600160a01b0316331461078e5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600692909255600755600855565b6000546001600160a01b031633146107e45760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600355565b6000546001600160a01b031633146108315760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461089b5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600a54600160a81b900460ff16156108f55760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e000000000060448201526064016105ed565b600a80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16600160a81b179055565b6000546001600160a01b0316331461096d5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ff5760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600061059f338484610ce6565b6000546001600160a01b03163314610a765760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b50506001600160a01b037f0000000000000000000000007fcc51189b2f0132e29794e6c00d518a52baa7e7166000908152600d60205260409020805460ff19169055565b6000546001600160a01b03163314610b025760405162461bcd60e51b81526020600482018190526024820152600080516020611a6383398151915260448201526064016105ed565b60005b82811015610b735781600d6000868685818110610b2457610b2461198d565b9050602002016020810190610b3991906116f3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b6b816119a3565b915050610b05565b50505050565b6009546001600160a01b03163314610b9057600080fd5b30600090815260016020526040812054606490610bad9084611963565b610bb791906119bc565b905061066e816112c3565b6001600160a01b038316610c245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ed565b6001600160a01b038216610c855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ed565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610d3157507f000000000000000000000000eb86bd0533ec8d2ac03414d75a8441b4b8819e646001600160a01b0316816001600160a01b0316145b610d3a57600080fd5b6001600160a01b038416610d9e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ed565b6001600160a01b038316610e005760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ed565b60008211610e765760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201527f726561746572207468616e207a65726f0000000000000000000000000000000060648201526084016105ed565b6001600160a01b0384166000908152600d602052604090205460ff16158015610eb857506001600160a01b0383166000908152600d602052604090205460ff16155b610f045760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f742074726164650060448201526064016105ed565b6001600160a01b03841660009081526001602052604081208054849290610f2c90849061197a565b90915550506001600160a01b0384163014801590610f7c57507f000000000000000000000000eb86bd0533ec8d2ac03414d75a8441b4b8819e646001600160a01b0316846001600160a01b031614155b8015610fba57507f000000000000000000000000eb86bd0533ec8d2ac03414d75a8441b4b8819e646001600160a01b0316836001600160a01b031614155b15611170577f0000000000000000000000007fcc51189b2f0132e29794e6c00d518a52baa7e76001600160a01b0316846001600160a01b03160361107f576003548261101b856001600160a01b031660009081526001602052604090205490565b61102591906119de565b111561107f5760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b60648201526084016105ed565b6003548211156110d15760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e60448201526064016105ed565b30600090815260016020526040902054600a54600160a01b900460ff1615801561112c57507f0000000000000000000000007fcc51189b2f0132e29794e6c00d518a52baa7e76001600160a01b0316846001600160a01b0316145b8015611150575061113e600a80611954565b61114c906302faf080611963565b8110155b8015611160575061116083611489565b1561116e5761116e816112c3565b505b6001600160a01b0384166000908152600e602052604090205460ff161580156111b257506001600160a01b0383166000908152600e602052604090205460ff16155b156112415760006111c3858461152f565b9050801561123f576111d5818461197a565b306000908152600160205260408120805492955083929091906111f99084906119de565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b038316600090815260016020526040812080548492906112699084906119de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112b591815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556112df81611593565b6000600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205490915081111561134f5761134f30737a250d5630b4cf539739df2c5dacb4c659f2488d611340600a80611954565b61072c906402540be400611963565b6040805160028082526060820183524792600092919060208301908036833701905050905030816000815181106113885761138861198d565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106113d0576113d061198d565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906114289086906000908690309042906004016119f1565b600060405180830381600087803b15801561144257600080fd5b505af1158015611456573d6000803e3d6000fd5b505050508147611466919061197a565b915081156114775761147782611605565b5050600a805460ff60a01b1916905550565b60006007546000146114c0576007546114a3600a80611954565b6114b1906302faf080611963565b6114bb91906119bc565b6114c3565b60005b82101580156114dc5750600a546001600160a01b031615155b80156114fd5750600854600c600081546114f5906119a3565b918290555010155b80156105a35750436000908152600b602052604081208054600292909190611524836119a3565b919050551092915050565b600060647f0000000000000000000000007fcc51189b2f0132e29794e6c00d518a52baa7e76001600160a01b0316846001600160a01b03161461157457600554611578565b6004545b6115829084611963565b61158c91906119bc565b9392505050565b60006115a0600a80611954565b6115ae906302faf080611963565b6006546115bb9190611963565b82116115df576115cc600a80611954565b6115da906302faf080611963565b6105a3565b6115ea600a80611954565b6115f8906302faf080611963565b6006546105a39190611963565b600a546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561066e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561166c57858101830151858201604001528201611650565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116a257600080fd5b50565b600080604083850312156116b857600080fd5b82356116c38161168d565b946020939093013593505050565b600080604083850312156116e457600080fd5b50508035926020909101359150565b60006020828403121561170557600080fd5b813561158c8161168d565b60008060006060848603121561172557600080fd5b83356117308161168d565b925060208401356117408161168d565b929592945050506040919091013590565b60008060006060848603121561176657600080fd5b505081359360208301359350604090920135919050565b60006020828403121561178f57600080fd5b5035919050565b6000806000604084860312156117ab57600080fd5b833567ffffffffffffffff808211156117c357600080fd5b818601915086601f8301126117d757600080fd5b8135818111156117e657600080fd5b8760208260051b85010111156117fb57600080fd5b60209283019550935050840135801515811461181657600080fd5b809150509250925092565b6000806040838503121561183457600080fd5b823561183f8161168d565b9150602083013561184f8161168d565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ab5781600019048211156118915761189161185a565b8085161561189e57918102915b93841c9390800290611875565b509250929050565b6000826118c2575060016105a3565b816118cf575060006105a3565b81600181146118e557600281146118ef5761190b565b60019150506105a3565b60ff8411156119005761190061185a565b50506001821b6105a3565b5060208310610133831016604e8410600b841016171561192e575081810a6105a3565b6119388383611870565b806000190482111561194c5761194c61185a565b029392505050565b600061158c60ff8416836118b3565b80820281158282048414176105a3576105a361185a565b818103818111156105a3576105a361185a565b634e487b7160e01b600052603260045260246000fd5b6000600182016119b5576119b561185a565b5060010190565b6000826119d957634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105a3576105a361185a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a415784516001600160a01b031683529383019391830191600101611a1c565b50506001600160a01b0396909616606085015250505060800152939250505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122082344635bbfc791491cb7799d3b1df30495cc3779873f461b1e62cb17f0ec48a64736f6c63430008130033

Deployed Bytecode Sourcemap

2039:8765:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4181:83;;;;;;;;;;-1:-1:-1;4251:5:0;;;;;;;;;;;;-1:-1:-1;;;4251:5:0;;;;4181:83;;;;;;;:::i;:::-;;;;;;;;4981:150;;;;;;;;;;-1:-1:-1;4981:150:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;4981:150:0;1046:187:1;10509:143:0;;;;;;;;;;-1:-1:-1;10509:143:0;;;;;:::i;:::-;;:::i;:::-;;4458:91;;;;;;;;;;;;;:::i;:::-;;;1637:25:1;;;1625:2;1610:18;4458:91:0;1491:177:1;9022:161:0;;;;;;;;;;-1:-1:-1;9022:161:0;;;;;:::i;:::-;;:::i;5139:358::-;;;;;;;;;;-1:-1:-1;5139:358:0;;;;;:::i;:::-;;:::i;4367:83::-;;;;;;;;;;-1:-1:-1;4367:83:0;;2353:2;2528:36:1;;2516:2;2501:18;4367:83:0;2386:184:1;10112:264:0;;;;;;;;;;-1:-1:-1;10112:264:0;;;;;:::i;:::-;;:::i;2601:26::-;;;;;;;;;;;;;;;;2522:70;;;;;;;;;;;;;;;;10384:116;;;;;;;;;;-1:-1:-1;10384:116:0;;;;;:::i;:::-;;:::i;9791:141::-;;;;;;;;;;-1:-1:-1;9791:141:0;;;;;:::i;:::-;;:::i;3144:78::-;;;;;;;;;;-1:-1:-1;3144:78:0;;;;-1:-1:-1;;;;;3144:78:0;;;;;;-1:-1:-1;;;;;3505:55:1;;;3487:74;;3475:2;3460:18;3144:78:0;3341:226:1;10660:141:0;;;;;;;;;;;;;:::i;4557:110::-;;;;;;;;;;-1:-1:-1;4557:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;4641:18:0;4614:7;4641:18;;;:9;:18;;;;;;;4557:110;1884:148;;;;;;;;;;;;;:::i;9642:141::-;;;;;;;;;;-1:-1:-1;9642:141:0;;;;;:::i;:::-;;:::i;1797:79::-;;;;;;;;;;-1:-1:-1;1835:7:0;1862:6;-1:-1:-1;;;;;1862:6:0;1797:79;;4272:87;;;;;;;;;;-1:-1:-1;4344:7:0;;;;;;;;;;;;-1:-1:-1;;;4344:7:0;;;;4272:87;;3299:39;;;;;;;;;;-1:-1:-1;3299:39:0;;;;-1:-1:-1;;;;;3299:39:0;;;4675:156;;;;;;;;;;-1:-1:-1;4675:156:0;;;;;:::i;:::-;;:::i;9944:160::-;;;;;;;;;;-1:-1:-1;9944:160:0;;;;;:::i;:::-;;:::i;3099:36::-;;;;;;;;;;;;;;;9417:217;;;;;;;;;;-1:-1:-1;9417:217:0;;;;;:::i;:::-;;:::i;2634:27::-;;;;;;;;;;;;;;;;4839:134;;;;;;;;;;-1:-1:-1;4839:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;4938:18:0;;;4911:7;4938:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4839:134;9192:217;;;;;;;;;;-1:-1:-1;9192:217:0;;;;;:::i;:::-;;:::i;4981:150::-;5047:4;5064:37;5073:10;5085:7;5094:6;5064:8;:37::i;:::-;-1:-1:-1;5119:4:0;4981:150;;;;;:::o;10509:143::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;;;;;;;;;10595:6:::1;:18:::0;;;;10624:7:::1;:20:::0;10509:143::o;4458:91::-;4502:7;2413:13;2353:2;;2413:13;:::i;:::-;2475:40;;:14;:40;:::i;:::-;4522:19;;4458:91;:::o;9022:161::-;9098:18;;-1:-1:-1;;;;;9098:18:0;9084:10;:32;9076:41;;;;;;9128:47;;-1:-1:-1;;;;;9128:24:0;;;9153:21;9128:47;;;;;;;;;9153:21;9128:24;:47;;;;;;;;;;;;;;;;;;;;;9022:161;:::o;5139:358::-;-1:-1:-1;;;;;5253:19:0;;5228:4;5253:19;;;:11;:19;;;;;;;;5273:10;5253:31;;;;;;;;:41;-1:-1:-1;5253:41:0;5245:94;;;;-1:-1:-1;;;5245:94:0;;7250:2:1;5245:94:0;;;7232:21:1;7289:2;7269:18;;;7262:30;7328:34;7308:18;;;7301:62;-1:-1:-1;;;7379:18:1;;;7372:38;7427:19;;5245:94:0;7048:404:1;5245:94:0;-1:-1:-1;;;;;5379:19:0;;;;;;:11;:19;;;;;;;;5367:10;5379:31;;;;;;;;;5350:70;;5359:6;;5379:40;;5413:6;;5379:40;:::i;:::-;5350:8;:70::i;:::-;5431:36;5441:6;5449:9;5460:6;5431:9;:36::i;:::-;-1:-1:-1;5485:4:0;5139:358;;;;;:::o;10112:264::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;10243:15:::1;:38:::0;;;;10292:15:::1;:35:::0;10338:16:::1;:30:::0;10112:264::o;10384:116::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;10461:15:::1;:31:::0;10384:116::o;9791:141::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;9886:16:::1;:38:::0;;-1:-1:-1;;;;;;9886:38:0::1;-1:-1:-1::0;;;;;9886:38:0;;;::::1;::::0;;;::::1;::::0;;9791:141::o;10660:::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;10721:11:::1;::::0;-1:-1:-1;;;10721:11:0;::::1;;;10720:12;10712:52;;;::::0;-1:-1:-1;;;10712:52:0;;7792:2:1;10712:52:0::1;::::0;::::1;7774:21:1::0;7831:2;7811:18;;;7804:30;7870:29;7850:18;;;7843:57;7917:18;;10712:52:0::1;7590:351:1::0;10712:52:0::1;10775:11;:18:::0;;;::::1;-1:-1:-1::0;;;10775:18:0::1;::::0;;10660:141::o;1884:148::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;1991:1:::1;1975:6:::0;;1954:40:::1;::::0;-1:-1:-1;;;;;1975:6:0;;::::1;::::0;1954:40:::1;::::0;1991:1;;1954:40:::1;2022:1;2005:19:::0;;-1:-1:-1;;;;;;2005:19:0::1;::::0;;1884:148::o;9642:141::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;9733:18:::1;:42:::0;;-1:-1:-1;;;;;;9733:42:0::1;-1:-1:-1::0;;;;;9733:42:0;;;::::1;::::0;;;::::1;::::0;;9642:141::o;4675:156::-;4744:4;4761:40;4771:10;4783:9;4794:6;4761:9;:40::i;9944:160::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;-1:-1:-1;;;;;;;10057:11:0::1;10045:24;10072:5;10045:24:::0;;;:11:::1;:24;::::0;;;;:32;;-1:-1:-1;;10045:32:0::1;::::0;;9944:160::o;9417:217::-;1554:6;;-1:-1:-1;;;;;1554:6:0;1564:10;1554:20;1546:65;;;;-1:-1:-1;;;1546:65:0;;5201:2:1;1546:65:0;;;5183:21:1;;;5220:18;;;5213:30;-1:-1:-1;;;;;;;;;;;5259:18:1;;;5252:62;5331:18;;1546:65:0;4999:356:1;1546:65:0;9520:6:::1;9515:112;9532:21:::0;;::::1;9515:112;;;9604:11;9575;:26;9587:10;;9598:1;9587:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9575:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9575:26:0;:40;;-1:-1:-1;;9575:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9555:3;::::1;::::0;::::1;:::i;:::-;;;;9515:112;;;;9417:217:::0;;;:::o;9192:::-;9275:18;;-1:-1:-1;;;;;9275:18:0;9261:10;:32;9253:41;;;;;;9356:4;9305:20;4641:18;;;:9;:18;;;;;;9365:3;;9328:34;;:7;:34;:::i;:::-;:40;;;;:::i;:::-;9305:63;;9379:22;9388:12;9379:8;:22::i;5505:335::-;-1:-1:-1;;;;;5598:19:0;;5590:68;;;;-1:-1:-1;;;5590:68:0;;8642:2:1;5590:68:0;;;8624:21:1;8681:2;8661:18;;;8654:30;8720:34;8700:18;;;8693:62;-1:-1:-1;;;8771:18:1;;;8764:34;8815:19;;5590:68:0;8440:400:1;5590:68:0;-1:-1:-1;;;;;5677:21:0;;5669:68;;;;-1:-1:-1;;;5669:68:0;;9047:2:1;5669:68:0;;;9029:21:1;9086:2;9066:18;;;9059:30;9125:34;9105:18;;;9098:62;-1:-1:-1;;;9176:18:1;;;9169:32;9218:19;;5669:68:0;8845:398:1;5669:68:0;-1:-1:-1;;;;;5748:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5800:32;;1637:25:1;;;5800:32:0;;1610:18:1;5800:32:0;;;;;;;5505:335;;;:::o;5848:1495::-;3730:11;;5918:4;;-1:-1:-1;;;3730:11:0;;;;;:40;;;3755:15;-1:-1:-1;;;;;3745:25:0;:6;-1:-1:-1;;;;;3745:25:0;;3730:40;3722:49;;;;;;-1:-1:-1;;;;;5951:18:0;::::1;5943:68;;;::::0;-1:-1:-1;;;5943:68:0;;9450:2:1;5943:68:0::1;::::0;::::1;9432:21:1::0;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:35;9624:19;;5943:68:0::1;9248:401:1::0;5943:68:0::1;-1:-1:-1::0;;;;;6030:16:0;::::1;6022:64;;;::::0;-1:-1:-1;;;6022:64:0;;9856:2:1;6022:64:0::1;::::0;::::1;9838:21:1::0;9895:2;9875:18;;;9868:30;9934:34;9914:18;;;9907:62;-1:-1:-1;;;9985:18:1;;;9978:33;10028:19;;6022:64:0::1;9654:399:1::0;6022:64:0::1;6114:1;6105:6;:10;6097:71;;;::::0;-1:-1:-1;;;6097:71:0;;10260:2:1;6097:71:0::1;::::0;::::1;10242:21:1::0;10299:2;10279:18;;;10272:30;10338:34;10318:18;;;10311:62;10409:18;10389;;;10382:46;10445:19;;6097:71:0::1;10058:412:1::0;6097:71:0::1;-1:-1:-1::0;;;;;6188:17:0;::::1;;::::0;;;:11:::1;:17;::::0;;;;;::::1;;6187:18;:38:::0;::::1;;;-1:-1:-1::0;;;;;;6210:15:0;::::1;;::::0;;;:11:::1;:15;::::0;;;;;::::1;;6209:16;6187:38;6179:82;;;::::0;-1:-1:-1;;;6179:82:0;;10677:2:1;6179:82:0::1;::::0;::::1;10659:21:1::0;10716:2;10696:18;;;10689:30;10755:33;10735:18;;;10728:61;10806:18;;6179:82:0::1;10475:355:1::0;6179:82:0::1;-1:-1:-1::0;;;;;6274:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;:25;;6293:6;;6274:15;:25:::1;::::0;6293:6;;6274:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;6315:21:0;::::1;6331:4;6315:21;::::0;::::1;::::0;:48:::1;;;6348:15;-1:-1:-1::0;;;;;6340:23:0::1;:4;-1:-1:-1::0;;;;;6340:23:0::1;;;6315:48;:73;;;;;6373:15;-1:-1:-1::0;;;;;6367:21:0::1;:2;-1:-1:-1::0;;;;;6367:21:0::1;;;6315:73;6312:581;;;6429:11;-1:-1:-1::0;;;;;6421:19:0::1;:4;-1:-1:-1::0;;;;;6421:19:0::1;::::0;6417:133:::1;;6494:15;;6484:6;6468:13;6478:2;-1:-1:-1::0;;;;;4641:18:0;4614:7;4641:18;;;:9;:18;;;;;;;4557:110;6468:13:::1;:22;;;;:::i;:::-;:41;;6460:90;;;::::0;-1:-1:-1;;;6460:90:0;;11167:2:1;6460:90:0::1;::::0;::::1;11149:21:1::0;11206:2;11186:18;;;11179:30;11245:34;11225:18;;;11218:62;-1:-1:-1;;;11296:18:1;;;11289:34;11340:19;;6460:90:0::1;10965:400:1::0;6460:90:0::1;6583:15;;6573:6;:25;;6565:70;;;::::0;-1:-1:-1;;;6565:70:0;;11572:2:1;6565:70:0::1;::::0;::::1;11554:21:1::0;;;11591:18;;;11584:30;11650:34;11630:18;;;11623:62;11702:18;;6565:70:0::1;11370:356:1::0;6565:70:0::1;6693:4;6650:22;4641:18:::0;;;:9;:18;;;;;;6718:6:::1;::::0;-1:-1:-1;;;6718:6:0;::::1;;;6717:7;:28:::0;::::1;;;;6734:11;-1:-1:-1::0;;;;;6728:17:0::1;:2;-1:-1:-1::0;;;;;6728:17:0::1;;6717:28;:67;;;;-1:-1:-1::0;2413:13:0::1;2353:2;::::0;2413:13:::1;:::i;:::-;2719:36;::::0;:10:::1;:36;:::i;:::-;6749:14;:35;;6717:67;:93;;;;;6788:22;6803:6;6788:14;:22::i;:::-;6714:139;;;6829:24;6838:14;6829:8;:24::i;:::-;6390:503;6312:581;-1:-1:-1::0;;;;;6909:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;6908:23;:48:::0;::::1;;;-1:-1:-1::0;;;;;;6936:20:0;::::1;;::::0;;;:16:::1;:20;::::0;;;;;::::1;;6935:21;6908:48;6905:353;;;6985:19;7007:26;7020:4;7026:6;7007:12;:26::i;:::-;6985:48:::0;-1:-1:-1;7051:15:0;;7048:199:::1;;7086:21;7096:11:::0;7086:21;::::1;:::i;:::-;7144:4;7126:24;::::0;;;:9:::1;:24;::::0;;;;:39;;7086:21;;-1:-1:-1;7154:11:0;;7126:24;;;:39:::1;::::0;7154:11;;7126:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;7189:42:0::1;::::0;1637:25:1;;;7212:4:0::1;::::0;-1:-1:-1;;;;;7189:42:0;::::1;::::0;::::1;::::0;1625:2:1;1610:18;7189:42:0::1;;;;;;;7048:199;6958:300;6905:353;-1:-1:-1::0;;;;;7270:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:23;;7287:6;;7270:13;:23:::1;::::0;7287:6;;7270:23:::1;:::i;:::-;;;;;;;;7324:2;-1:-1:-1::0;;;;;7309:26:0::1;7318:4;-1:-1:-1::0;;;;;7309:26:0::1;;7328:6;7309:26;;;;1637:25:1::0;;1625:2;1610:18;;1491:177;7309:26:0::1;;;;;;;;5848:1495:::0;;;;:::o;7822:861::-;3611:6;:13;;-1:-1:-1;;;;3611:13:0;-1:-1:-1;;;3611:13:0;;;7903:32:::1;7923:11:::0;7903:19:::1;:32::i;:::-;7954:1;7946:5;:9:::0;;;7987:4:::1;4938:18:::0;;:11;:18;;;;;;;;2959:42:::1;4938:27:::0;;;;;;;;7889:46;;-1:-1:-1;7889:46:0;-1:-1:-1;7966:155:0::1;;;8048:61;8065:4;2959:42;2413:13;2353:2;::::0;2413:13:::1;:::i;:::-;2475:40;::::0;:14:::1;:40;:::i;8048:61::-;8226:16;::::0;;8240:1:::1;8226:16:::0;;;;;::::1;::::0;;8170:21:::1;::::0;8141:26:::1;::::0;8226:16;8240:1;8226:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8226:16:0::1;8202:40;;8271:4;8253;8258:1;8253:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8253:23:0::1;;;-1:-1:-1::0;;;;;8253:23:0::1;;;::::0;::::1;3050:42;8287:4;8292:1;8287:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8287:13:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:13;8311:194:::1;::::0;-1:-1:-1;;;8311:194:0;;2959:42:::1;::::0;8311:64:::1;::::0;:194:::1;::::0;8390:11;;8416:1:::1;::::0;8432:4;;8459::::1;::::0;8479:15:::1;::::0;8311:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8561:18;8537:21;:42;;;;:::i;:::-;8516:63:::0;-1:-1:-1;8593:22:0;;8590:85:::1;;8632:31;8644:18;8632:11;:31::i;:::-;-1:-1:-1::0;;3647:6:0;:14;;-1:-1:-1;;;;3647:14:0;;;-1:-1:-1;7822:861:0:o;7523:291::-;7588:4;7631:15;;7650:1;7631:20;:62;;7678:15;;2413:13;2353:2;;2413:13;:::i;:::-;2719:36;;:10;:36;:::i;:::-;7658:35;;;;:::i;:::-;7631:62;;;7654:1;7631:62;7612:14;:82;;:129;;;;-1:-1:-1;7711:16:0;;-1:-1:-1;;;;;7711:16:0;:30;;7612:129;:160;;;;;7756:16;;7747:5;;7745:7;;;;;:::i;:::-;;;;;-1:-1:-1;7745:27:0;;7612:160;:194;;;;-1:-1:-1;7787:12:0;7776:24;;;;:10;:24;;;;;:26;;7805:1;;7776:26;;:24;:26;;;:::i;:::-;;;;;:30;7605:201;7523:291;-1:-1:-1;;7523:291:0:o;7351:164::-;7425:7;7504:3;7470:11;-1:-1:-1;;;;;7462:19:0;:4;-1:-1:-1;;;;;7462:19:0;;:38;;7493:7;;7462:38;;;7484:6;;7462:38;7452:49;;:6;:49;:::i;:::-;:55;;;;:::i;:::-;7445:62;7351:164;-1:-1:-1;;;7351:164:0:o;8691:218::-;8763:7;2413:13;2353:2;;2413:13;:::i;:::-;2719:36;;:10;:36;:::i;:::-;8805:15;;:35;;;;:::i;:::-;8790:11;:51;:111;;2413:13;2353:2;;2413:13;:::i;:::-;2719:36;;:10;:36;:::i;:::-;8790:111;;;2413:13;2353:2;;2413:13;:::i;:::-;2719:36;;:10;:36;:::i;:::-;8845:15;;:35;;;;:::i;8917:97::-;8973:16;;:33;;-1:-1:-1;;;;;8973:16:0;;;;:33;;;;;8999:6;;8973:16;:33;:16;:33;8999:6;8973: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:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;622:93;567:154;:::o;726:315::-;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1238:248::-;1306:6;1314;1367:2;1355:9;1346:7;1342:23;1338:32;1335:52;;;1383:1;1380;1373:12;1335:52;-1:-1:-1;;1406:23:1;;;1476:2;1461:18;;;1448:32;;-1:-1:-1;1238:248:1:o;1673:247::-;1732:6;1785:2;1773:9;1764:7;1760:23;1756:32;1753:52;;;1801:1;1798;1791:12;1753:52;1840:9;1827:23;1859:31;1884:5;1859:31;:::i;1925:456::-;2002:6;2010;2018;2071:2;2059:9;2050:7;2046:23;2042:32;2039:52;;;2087:1;2084;2077:12;2039:52;2126:9;2113:23;2145:31;2170:5;2145:31;:::i;:::-;2195:5;-1:-1:-1;2252:2:1;2237:18;;2224:32;2265:33;2224:32;2265:33;:::i;:::-;1925:456;;2317:7;;-1:-1:-1;;;2371:2:1;2356:18;;;;2343:32;;1925:456::o;2575:316::-;2652:6;2660;2668;2721:2;2709:9;2700:7;2696:23;2692:32;2689:52;;;2737:1;2734;2727:12;2689:52;-1:-1:-1;;2760:23:1;;;2830:2;2815:18;;2802:32;;-1:-1:-1;2881:2:1;2866:18;;;2853:32;;2575:316;-1:-1:-1;2575:316:1:o;2896:180::-;2955:6;3008:2;2996:9;2987:7;2983:23;2979:32;2976:52;;;3024:1;3021;3014:12;2976:52;-1:-1:-1;3047:23:1;;2896:180;-1:-1:-1;2896:180:1:o;3819:782::-;3911:6;3919;3927;3980:2;3968:9;3959:7;3955:23;3951:32;3948:52;;;3996:1;3993;3986:12;3948:52;4036:9;4023:23;4065:18;4106:2;4098:6;4095:14;4092:34;;;4122:1;4119;4112:12;4092:34;4160:6;4149:9;4145:22;4135:32;;4205:7;4198:4;4194:2;4190:13;4186:27;4176:55;;4227:1;4224;4217:12;4176:55;4267:2;4254:16;4293:2;4285:6;4282:14;4279:34;;;4309:1;4306;4299:12;4279:34;4364:7;4357:4;4347:6;4344:1;4340:14;4336:2;4332:23;4328:34;4325:47;4322:67;;;4385:1;4382;4375:12;4322:67;4416:4;4408:13;;;;-1:-1:-1;4440:6:1;-1:-1:-1;;4481:20:1;;4468:34;4538:13;;4531:21;4521:32;;4511:60;;4567:1;4564;4557:12;4511:60;4590:5;4580:15;;;3819:782;;;;;:::o;4606:388::-;4674:6;4682;4735:2;4723:9;4714:7;4710:23;4706:32;4703:52;;;4751:1;4748;4741:12;4703:52;4790:9;4777:23;4809:31;4834:5;4809:31;:::i;:::-;4859:5;-1:-1:-1;4916:2:1;4901:18;;4888:32;4929:33;4888:32;4929:33;:::i;:::-;4981:7;4971:17;;;4606:388;;;;;:::o;5360:127::-;5421:10;5416:3;5412:20;5409:1;5402:31;5452:4;5449:1;5442:15;5476:4;5473:1;5466:15;5492:422;5581:1;5624:5;5581:1;5638:270;5659:7;5649:8;5646:21;5638:270;;;5718:4;5714:1;5710:6;5706:17;5700:4;5697:27;5694:53;;;5727:18;;:::i;:::-;5777:7;5767:8;5763:22;5760:55;;;5797:16;;;;5760:55;5876:22;;;;5836:15;;;;5638:270;;;5642:3;5492:422;;;;;:::o;5919:806::-;5968:5;5998:8;5988:80;;-1:-1:-1;6039:1:1;6053:5;;5988:80;6087:4;6077:76;;-1:-1:-1;6124:1:1;6138:5;;6077:76;6169:4;6187:1;6182:59;;;;6255:1;6250:130;;;;6162:218;;6182:59;6212:1;6203:10;;6226:5;;;6250:130;6287:3;6277:8;6274:17;6271:43;;;6294:18;;:::i;:::-;-1:-1:-1;;6350:1:1;6336:16;;6365:5;;6162:218;;6464:2;6454:8;6451:16;6445:3;6439:4;6436:13;6432:36;6426:2;6416:8;6413:16;6408:2;6402:4;6399:12;6395:35;6392:77;6389:159;;;-1:-1:-1;6501:19:1;;;6533:5;;6389:159;6580:34;6605:8;6599:4;6580:34;:::i;:::-;6650:6;6646:1;6642:6;6638:19;6629:7;6626:32;6623:58;;;6661:18;;:::i;:::-;6699:20;;5919:806;-1:-1:-1;;;5919:806:1:o;6730:140::-;6788:5;6817:47;6858:4;6848:8;6844:19;6838:4;6817:47;:::i;6875:168::-;6948:9;;;6979;;6996:15;;;6990:22;;6976:37;6966:71;;7017:18;;:::i;7457:128::-;7524:9;;;7545:11;;;7542:37;;;7559:18;;:::i;7946:127::-;8007:10;8002:3;7998:20;7995:1;7988:31;8038:4;8035:1;8028:15;8062:4;8059:1;8052:15;8078:135;8117:3;8138:17;;;8135:43;;8158:18;;:::i;:::-;-1:-1:-1;8205:1:1;8194:13;;8078:135::o;8218:217::-;8258:1;8284;8274:132;;8328:10;8323:3;8319:20;8316:1;8309:31;8363:4;8360:1;8353:15;8391:4;8388:1;8381:15;8274:132;-1:-1:-1;8420:9:1;;8218:217::o;10835:125::-;10900:9;;;10921:10;;;10918:36;;;10934:18;;:::i;11863:1026::-;12125:4;12173:3;12162:9;12158:19;12204:6;12193:9;12186:25;12230:2;12268:6;12263:2;12252:9;12248:18;12241:34;12311:3;12306:2;12295:9;12291:18;12284:31;12335:6;12370;12364:13;12401:6;12393;12386:22;12439:3;12428:9;12424:19;12417:26;;12478:2;12470:6;12466:15;12452:29;;12499:1;12509:218;12523:6;12520:1;12517:13;12509:218;;;12588:13;;-1:-1:-1;;;;;12584:62:1;12572:75;;12702:15;;;;12667:12;;;;12545:1;12538:9;12509:218;;;-1:-1:-1;;;;;;;12783:55:1;;;;12778:2;12763:18;;12756:83;-1:-1:-1;;;12870:3:1;12855:19;12848:35;12744:3;11863:1026;-1:-1:-1;;;11863:1026:1:o

Swarm Source

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