ETH Price: $2,669.33 (-2.77%)

Token

McDoge (MCDOGE)
 

Overview

Max Total Supply

10,000,000 MCDOGE

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
22,601.052754693 MCDOGE

Value
$0.00
0x157e51b40238e1c6362038a1eb1406cee7ebcb9d
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:
ERC20Token

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-20
*/

/**
TG:https://t.me/MC_DOGE
Twitter:https://twitter.com/McDoge2023
Website:http://mcdoge.online/
 */
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.12;
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
 
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
 
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
 
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
 
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
    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 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);
}
 
abstract contract Context {
 
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
 
    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}
 
contract Ownable is Context {
    address public _owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
 
interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
 
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
 
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
 
contract ERC20Token is Ownable, IERC20{
    uint16 public buyTax=5;
    uint16 public sellTax=5;
    uint16 public marketingTax=46;
    uint16 public devTax=40;
    uint16 public teamTax=14;
    //
    uint256 private maxTx = 200_000*(10**9);
    uint256 private maxWallet=200_000*(10**9);
    bool private _tradingEnabled;
    uint16 private _snipeTax=90;
    uint256 private _startBlock;
    uint256 private _endSnipeBlock;
    //
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 10_000_000 *(10**_decimals);
    string private constant _name = "McDoge";
    string private constant _symbol = "MCDOGE";
    mapping(address=>bool) private _blacklisted;
    mapping(address=>bool) private _excluded;
    mapping(address=>uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    IDEXRouter private router;
    address public pair;
    address public constant deadAddress=0x000000000000000000000000000000000000dEaD;
    address public marketingWallet=address(0x2cBe394239Db50EA305b60BA04c76983F801075f);
    address private _devWallet=address(0x041592474289af679B38A0e42ED4A917DEB42dA7);
    address private _teamWallet=address(0x02f0cD1f39255492E10E0826E17dD9B4B91E64dD);
    bool _inSwap;
    bool swapEnabled=true;
    modifier LockSwap {_inSwap=true;_;_inSwap=false;}
    event SwapActivated(uint256 tokensToSwap);
    constructor() {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        buyTax=10;
        sellTax=25;
        _excluded[msg.sender]=true;
        _excluded[deadAddress]=true;
        _balances[msg.sender]=_totalSupply;
        emit Transfer(address(0),msg.sender,_totalSupply);
    }
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0) && recipient != address(0));
        bool excluded=_excluded[sender]||_excluded[sender];
        if (excluded)_tansferExcluded(sender,recipient,amount);
        else {
            require(_tradingEnabled);
            if (sender==pair)_buyTokens(sender,recipient,amount);
            else if (recipient==pair) {
                if (swapEnabled)_swapTokens();
                _sellTokens(sender,recipient,amount);
            } else {
                _tansferExcluded(sender,recipient,amount);
            }
        }
    }
    function _buyTokens(address from,address to,uint256 amount) private {
        if(block.number>=_startBlock||block.number<=_endSnipeBlock) {
            _transferIncluded(from,to,amount,_snipeTax);
        } else {
            require((_balances[to]+amount<=maxWallet)&&(!_blacklisted[to]));
            _transferIncluded(from,to,amount,buyTax);
        }
    }
    function _sellTokens(address from,address to,uint256 amount) private {
        require((amount<=maxTx)&&(!_blacklisted[from]));
        _transferIncluded(from,to,amount,sellTax);
    }
    function _tansferExcluded(address from,address to,uint256 amount) private {
        _balances[from]-=amount;
        _balances[to]+=amount;
        emit Transfer(from,to,amount);
    }
    function _transferIncluded(address from,address to,uint256 amount,uint16 tax) private {
        uint256 taxTokens=amount*tax/100;
        uint256 newAmount=amount-taxTokens;
        _balances[from]-=amount;
        _balances[address(this)]+=taxTokens;
        _balances[to]+=newAmount;
        emit Transfer(from,to,newAmount);
    }
    function _swapTokens() internal LockSwap {
        uint256 tokensToSwap=_balances[address(this)];
        if (tokensToSwap>0) {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = router.WETH();
            uint256 startETH = address(this).balance;
            router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokensToSwap,
                0,
                path,
                address(this),
                block.timestamp
            );
            uint256 newETH=address(this).balance-startETH;
            uint256 devETH=newETH*devTax/100;
            uint256 teamETH=newETH*teamTax/100;
            uint256 marketingETH=newETH-(devETH+teamETH);
            (bool tmpSuccess,) = payable(_devWallet).call{value: devETH, gas: 30000}("");
            (tmpSuccess,) = payable(_teamWallet).call{value: teamETH, gas: 30000}("");
            (tmpSuccess,) = payable(marketingWallet).call{value: marketingETH, gas: 30000}("");
            tmpSuccess=false;
            //
            emit SwapActivated(tokensToSwap);
        }
    }
    // Owner Functions \\
    function enableTrading() public onlyOwner {
        require(!_tradingEnabled);
        _tradingEnabled=!_tradingEnabled;
        _startBlock=block.number;
        _endSnipeBlock=_startBlock+5;
    }
    function changeMaxWallet(uint256 _maxWallet) public onlyOwner {
        require(maxWallet>=50_000*(10**9));
        maxWallet=_maxWallet*(10**9);
    }
    function changeMaxTx(uint256 _maxTx) public onlyOwner {
        require(maxTx>=50_000*(10**9));
        maxTx=_maxTx*(10**9);
    }
    function forceSwap() public onlyOwner {
        _swapTokens();
    }
    function excludeWallet(address wallet,bool enabled) public onlyOwner {
        require(wallet!=address(0));
        _excluded[wallet]=enabled;
    }
    function blacklistWallet(address wallet,bool enabled) public onlyOwner {
        require(wallet!=address(0));
        _blacklisted[wallet]=enabled;
    }
    function changeMarketingWallet(address wallet) public onlyOwner {
        require(wallet!=address(0));
        marketingWallet=wallet;
    }
    function changeDevWallet(address wallet) public onlyOwner {
        require(wallet!=address(0));
        _devWallet=wallet;
    }
    function changeTeamWallet(address wallet) public onlyOwner {
        require(wallet!=address(0));
        _teamWallet=wallet;
    }
    function setSwapEnabled(bool _swapEnabled) public onlyOwner {
        swapEnabled=_swapEnabled;
    }
    function setTaxes(uint16 _buyTax,uint16 _sellTax) public onlyOwner {
        require(_buyTax<=25&&_sellTax<=50);
        buyTax=_buyTax;
        sellTax=_sellTax;
    }
    function setSwapTaxes(uint16 _devTax, uint16 _teamTax, uint16 _marketingTax) public onlyOwner {
        require(_devTax+_teamTax+_marketingTax<=100);
        devTax=_devTax;
        teamTax=_teamTax;
        marketingTax=_marketingTax;
    }
    function clearStuckETH() public onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }
    // IERC20 Functions \\
    function _approve(address owner, address spender, uint256 amount) private {
        require((owner != address(0) && spender != address(0)), "Owner/Spender address cannot be 0.");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        uint256 allowance_ = _allowances[sender][msg.sender];
        _transfer(sender, recipient, amount);
        require(allowance_ >= amount);
        _approve(sender, msg.sender, allowance_ - amount);
            emit Transfer(sender, recipient, amount);
        return true;
    }
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function allowance(address owner_, address spender) external view override returns (uint256) {
        return _allowances[owner_][spender];
    }
    function balanceOf(address account) external view override returns (uint256) {
        return _balances[account];
    }
    function name() external pure override returns (string memory) {
        return _name;
    }
    function symbol() external pure override returns (string memory) {
        return _symbol;
    }
    function totalSupply() external pure override returns (uint256) {
        return _totalSupply;
    }
    function decimals() external pure override returns (uint8) {
        return _decimals;
    }
    function getOwner() external view override returns (address) {
        return owner();
    }
    receive() external payable { }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensToSwap","type":"uint256"}],"name":"SwapActivated","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":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"blacklistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"changeDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"}],"name":"changeMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"changeTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devTax","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"excludeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTax","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_devTax","type":"uint16"},{"internalType":"uint16","name":"_teamTax","type":"uint16"},{"internalType":"uint16","name":"_marketingTax","type":"uint16"}],"name":"setSwapTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_buyTax","type":"uint16"},{"internalType":"uint16","name":"_sellTax","type":"uint16"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamTax","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260008054600160a01b600160f01b0319167c0e0028002e00050005000000000000000000000000000000000000000017905565b5e620f4800060018190556002556003805462ffff001916615a00179055600c8054732cbe394239db50ea305b60ba04c76983f801075f6001600160a01b031991821617909155600d805473041592474289af679b38a0e42ed4a917deb42da79216919091179055600e8054600161ff0160a01b03191675010002f0cd1f39255492e10e0826e17dd9b4b91e64dd179055348015620000d557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200017c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a29190620003a6565b6001600160a01b031663c9c65396600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a9190620003a6565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d9190620003a6565b600b80546001600160a01b0319166001600160a01b03929092169190911790556000805463ffffffff60a01b1916620c800560a11b178155338152600760205260408120805460ff19908116600190811790925561dead9092527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80549092161790556200032e6009600a620004ed565b6200033d9062989680620004fe565b33600081815260086020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003806009600a620004ed565b6200038f9062989680620004fe565b60405190815260200160405180910390a362000520565b600060208284031215620003b957600080fd5b81516001600160a01b0381168114620003d157600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200042f578160001904821115620004135762000413620003d8565b808516156200042157918102915b93841c9390800290620003f3565b509250929050565b6000826200044857506001620004e7565b816200045757506000620004e7565b81600181146200047057600281146200047b576200049b565b6001915050620004e7565b60ff8411156200048f576200048f620003d8565b50506001821b620004e7565b5060208310610133831016604e8410600b8410161715620004c0575081810a620004e7565b620004cc8383620003ee565b8060001904821115620004e357620004e3620003d8565b0290505b92915050565b6000620003d160ff84168362000437565b60008160001904831182151516156200051b576200051b620003d8565b500290565b611aa480620005306000396000f3fe6080604052600436106102085760003560e01c80638a8c523c11610118578063bd8d8211116100a0578063df778d261161006f578063df778d2614610644578063e01af92c14610659578063f2fde38b14610679578063f828edbe14610699578063f88de0c3146106b957600080fd5b8063bd8d82111461059c578063cc1776d3146105bc578063d5b2832a146105de578063dd62ed3e146105fe57600080fd5b8063a8aa1b31116100e7578063a8aa1b31146104fc578063a9059cbb1461051c578063b06e1e021461053c578063b2bdfa7b1461055c578063bb85c6d11461057c57600080fd5b80638a8c523c146104965780638da5cb5b14610478578063932733c7146104ab57806395d89b41146104cd57600080fd5b8063313ce5671161019b57806370a082311161016a57806370a08231146103ed578063715018a61461042357806375f0a87414610438578063778c615214610458578063893d20e81461047857600080fd5b8063313ce5671461036d5780634f7041a514610389578063665c6de9146103ab57806370528514146103cd57600080fd5b806318160ddd116101d757806318160ddd146102c75780631d2cb02d146102ea57806323b872dd1461031f57806327c8f8351461033f57600080fd5b806306fdde0314610214578063095ea7b3146102555780630b006d6014610285578063129476ab146102a757600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260068152654d63446f676560d01b60208201525b60405161024c91906115c5565b60405180910390f35b34801561026157600080fd5b5061027561027036600461162f565b6106ce565b604051901515815260200161024c565b34801561029157600080fd5b506102a56102a036600461165b565b6106e5565b005b3480156102b357600080fd5b506102a56102c2366004611689565b610741565b3480156102d357600080fd5b506102dc6107a9565b60405190815260200161024c565b3480156102f657600080fd5b5060005461030c90600160c01b900461ffff1681565b60405161ffff909116815260200161024c565b34801561032b57600080fd5b5061027561033a3660046116be565b6107c9565b34801561034b57600080fd5b5061035561dead81565b6040516001600160a01b03909116815260200161024c565b34801561037957600080fd5b506040516009815260200161024c565b34801561039557600080fd5b5060005461030c90600160a01b900461ffff1681565b3480156103b757600080fd5b5060005461030c90600160d01b900461ffff1681565b3480156103d957600080fd5b506102a56103e8366004611711565b610871565b3480156103f957600080fd5b506102dc61040836600461173b565b6001600160a01b031660009081526008602052604090205490565b34801561042f57600080fd5b506102a56108f6565b34801561044457600080fd5b50600c54610355906001600160a01b031681565b34801561046457600080fd5b506102a561047336600461165b565b61096a565b34801561048457600080fd5b506000546001600160a01b0316610355565b3480156104a257600080fd5b506102a56109bd565b3480156104b757600080fd5b5060005461030c90600160e01b900461ffff1681565b3480156104d957600080fd5b506040805180820190915260068152654d43444f474560d01b602082015261023f565b34801561050857600080fd5b50600b54610355906001600160a01b031681565b34801561052857600080fd5b5061027561053736600461162f565b610a1f565b34801561054857600080fd5b506102a561055736600461173b565b610a2c565b34801561056857600080fd5b50600054610355906001600160a01b031681565b34801561058857600080fd5b506102a561059736600461173b565b610a8b565b3480156105a857600080fd5b506102a56105b736600461173b565b610aea565b3480156105c857600080fd5b5060005461030c90600160b01b900461ffff1681565b3480156105ea57600080fd5b506102a56105f936600461175f565b610b49565b34801561060a57600080fd5b506102dc6106193660046117a2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561065057600080fd5b506102a5610be6565b34801561066557600080fd5b506102a56106743660046117db565b610c1a565b34801561068557600080fd5b506102a561069436600461173b565b610c62565b3480156106a557600080fd5b506102a56106b4366004611689565b610d4c565b3480156106c557600080fd5b506102a5610db4565b60006106db338484610e0d565b5060015b92915050565b6000546001600160a01b031633146107185760405162461bcd60e51b815260040161070f906117f6565b60405180910390fd5b652d79883d2000600254101561072d57600080fd5b61073b81633b9aca00611841565b60025550565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b03821661077e57600080fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006107b76009600a611944565b6107c49062989680611841565b905090565b6001600160a01b03831660009081526009602090815260408083203384529091528120546107f8858585610ee6565b8281101561080557600080fd5b61081985336108148685611953565b610e0d565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161085e91815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b0316331461089b5760405162461bcd60e51b815260040161070f906117f6565b60198261ffff16111580156108b5575060328161ffff1611155b6108be57600080fd5b6000805463ffffffff60a01b1916600160a01b61ffff9485160261ffff60b01b191617600160b01b9290931691909102919091179055565b6000546001600160a01b031633146109205760405162461bcd60e51b815260040161070f906117f6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109945760405162461bcd60e51b815260040161070f906117f6565b652d79883d200060015410156109a957600080fd5b6109b781633b9aca00611841565b60015550565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161070f906117f6565b60035460ff16156109f757600080fd5b6003805460ff19811660ff90911615179055436004819055610a1a90600561196a565b600555565b60006106db338484610ee6565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610a6957600080fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ab55760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610ac857600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b145760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610b2757600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b735760405162461bcd60e51b815260040161070f906117f6565b606481610b808486611982565b610b8a9190611982565b61ffff161115610b9957600080fd5b6000805463ffffffff60d01b1916600160d01b61ffff9586160261ffff60e01b191617600160e01b938516939093029290921761ffff60c01b1916600160c01b9190931602919091179055565b6000546001600160a01b03163314610c105760405162461bcd60e51b815260040161070f906117f6565b610c18610fe2565b565b6000546001600160a01b03163314610c445760405162461bcd60e51b815260040161070f906117f6565b600e8054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610cf15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d765760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038216610d8957600080fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610dde5760405162461bcd60e51b815260040161070f906117f6565b60405133904780156108fc02916000818181858888f19350505050158015610e0a573d6000803e3d6000fd5b50565b6001600160a01b03831615801590610e2d57506001600160a01b03821615155b610e845760405162461bcd60e51b815260206004820152602260248201527f4f776e65722f5370656e64657220616464726573732063616e6e6f7420626520604482015261181760f11b606482015260840161070f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610f0657506001600160a01b03821615155b610f0f57600080fd5b6001600160a01b03831660009081526007602052604081205460ff1680610f4e57506001600160a01b03841660009081526007602052604090205460ff165b90508015610f6657610f61848484611328565b610fdc565b60035460ff16610f7557600080fd5b600b546001600160a01b0385811691161415610f9657610f618484846113c9565b600b546001600160a01b0384811691161415610fd157600e54600160a81b900460ff1615610fc657610fc6610fe2565b610f61848484611475565b610fdc848484611328565b50505050565b600e805460ff60a01b1916600160a01b179055306000908152600860205260409020548015611318576040805160028082526060820183526000926020830190803683370190505090503081600081518110611040576110406119a8565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bd91906119be565b816001815181106110d0576110d06119a8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81524792919091169063791ac9479061111a9086906000908790309042906004016119db565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b505050506000814761115a9190611953565b600080549192509060649061117a90600160d01b900461ffff1684611841565b6111849190611a4c565b60008054919250906064906111a490600160e01b900461ffff1685611841565b6111ae9190611a4c565b905060006111bc828461196a565b6111c69085611953565b600d546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d806000811461121d576040519150601f19603f3d011682016040523d82523d6000602084013e611222565b606091505b5050600e546040519192506001600160a01b0316906175309085906000818181858888f193505050503d8060008114611277576040519150601f19603f3d011682016040523d82523d6000602084013e61127c565b606091505b5050600c546040519192506001600160a01b0316906175309084906000818181858888f193505050503d80600081146112d1576040519150601f19603f3d011682016040523d82523d6000602084013e6112d6565b606091505b5050604051898152600092507f366243556e9a016ddf21f7bd80310925be2f14d30f6a7c1c72db3546b9217f4f915060200160405180910390a1505050505050505b50600e805460ff60a01b19169055565b6001600160a01b03831660009081526008602052604081208054839290611350908490611953565b90915550506001600160a01b0382166000908152600860205260408120805483929061137d90849061196a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ed991815260200190565b600454431015806113dc57506005544311155b15611402576113fd838383600360019054906101000a900461ffff166114c1565b505050565b6002546001600160a01b03831660009081526008602052604090205461142990839061196a565b1115801561145057506001600160a01b03821660009081526006602052604090205460ff16155b61145957600080fd5b6113fd838383600060149054906101000a900461ffff166114c1565b60015481111580156114a057506001600160a01b03831660009081526006602052604090205460ff16155b6114a957600080fd5b6113fd838383600060169054906101000a900461ffff165b600060646114d361ffff841685611841565b6114dd9190611a4c565b905060006114eb8285611953565b6001600160a01b038716600090815260086020526040812080549293508692909190611518908490611953565b9091555050306000908152600860205260408120805484929061153c90849061196a565b90915550506001600160a01b0385166000908152600860205260408120805483929061156990849061196a565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b591815260200190565b60405180910390a3505050505050565b600060208083528351808285015260005b818110156115f2578581018301518582016040015282016115d6565b81811115611604576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610e0a57600080fd5b6000806040838503121561164257600080fd5b823561164d8161161a565b946020939093013593505050565b60006020828403121561166d57600080fd5b5035919050565b8035801515811461168457600080fd5b919050565b6000806040838503121561169c57600080fd5b82356116a78161161a565b91506116b560208401611674565b90509250929050565b6000806000606084860312156116d357600080fd5b83356116de8161161a565b925060208401356116ee8161161a565b929592945050506040919091013590565b803561ffff8116811461168457600080fd5b6000806040838503121561172457600080fd5b61172d836116ff565b91506116b5602084016116ff565b60006020828403121561174d57600080fd5b81356117588161161a565b9392505050565b60008060006060848603121561177457600080fd5b61177d846116ff565b925061178b602085016116ff565b9150611799604085016116ff565b90509250925092565b600080604083850312156117b557600080fd5b82356117c08161161a565b915060208301356117d08161161a565b809150509250929050565b6000602082840312156117ed57600080fd5b61175882611674565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561185b5761185b61182b565b500290565b600181815b8085111561189b5781600019048211156118815761188161182b565b8085161561188e57918102915b93841c9390800290611865565b509250929050565b6000826118b2575060016106df565b816118bf575060006106df565b81600181146118d557600281146118df576118fb565b60019150506106df565b60ff8411156118f0576118f061182b565b50506001821b6106df565b5060208310610133831016604e8410600b841016171561191e575081810a6106df565b6119288383611860565b806000190482111561193c5761193c61182b565b029392505050565b600061175860ff8416836118a3565b6000828210156119655761196561182b565b500390565b6000821982111561197d5761197d61182b565b500190565b600061ffff80831681851680830382111561199f5761199f61182b565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d057600080fd5b81516117588161161a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2b5784516001600160a01b031683529383019391830191600101611a06565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a6957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c469cfdd13c8c8924a080917fbed55318738bd0cbe7bfb8cb0feec4c656b4ef564736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106102085760003560e01c80638a8c523c11610118578063bd8d8211116100a0578063df778d261161006f578063df778d2614610644578063e01af92c14610659578063f2fde38b14610679578063f828edbe14610699578063f88de0c3146106b957600080fd5b8063bd8d82111461059c578063cc1776d3146105bc578063d5b2832a146105de578063dd62ed3e146105fe57600080fd5b8063a8aa1b31116100e7578063a8aa1b31146104fc578063a9059cbb1461051c578063b06e1e021461053c578063b2bdfa7b1461055c578063bb85c6d11461057c57600080fd5b80638a8c523c146104965780638da5cb5b14610478578063932733c7146104ab57806395d89b41146104cd57600080fd5b8063313ce5671161019b57806370a082311161016a57806370a08231146103ed578063715018a61461042357806375f0a87414610438578063778c615214610458578063893d20e81461047857600080fd5b8063313ce5671461036d5780634f7041a514610389578063665c6de9146103ab57806370528514146103cd57600080fd5b806318160ddd116101d757806318160ddd146102c75780631d2cb02d146102ea57806323b872dd1461031f57806327c8f8351461033f57600080fd5b806306fdde0314610214578063095ea7b3146102555780630b006d6014610285578063129476ab146102a757600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260068152654d63446f676560d01b60208201525b60405161024c91906115c5565b60405180910390f35b34801561026157600080fd5b5061027561027036600461162f565b6106ce565b604051901515815260200161024c565b34801561029157600080fd5b506102a56102a036600461165b565b6106e5565b005b3480156102b357600080fd5b506102a56102c2366004611689565b610741565b3480156102d357600080fd5b506102dc6107a9565b60405190815260200161024c565b3480156102f657600080fd5b5060005461030c90600160c01b900461ffff1681565b60405161ffff909116815260200161024c565b34801561032b57600080fd5b5061027561033a3660046116be565b6107c9565b34801561034b57600080fd5b5061035561dead81565b6040516001600160a01b03909116815260200161024c565b34801561037957600080fd5b506040516009815260200161024c565b34801561039557600080fd5b5060005461030c90600160a01b900461ffff1681565b3480156103b757600080fd5b5060005461030c90600160d01b900461ffff1681565b3480156103d957600080fd5b506102a56103e8366004611711565b610871565b3480156103f957600080fd5b506102dc61040836600461173b565b6001600160a01b031660009081526008602052604090205490565b34801561042f57600080fd5b506102a56108f6565b34801561044457600080fd5b50600c54610355906001600160a01b031681565b34801561046457600080fd5b506102a561047336600461165b565b61096a565b34801561048457600080fd5b506000546001600160a01b0316610355565b3480156104a257600080fd5b506102a56109bd565b3480156104b757600080fd5b5060005461030c90600160e01b900461ffff1681565b3480156104d957600080fd5b506040805180820190915260068152654d43444f474560d01b602082015261023f565b34801561050857600080fd5b50600b54610355906001600160a01b031681565b34801561052857600080fd5b5061027561053736600461162f565b610a1f565b34801561054857600080fd5b506102a561055736600461173b565b610a2c565b34801561056857600080fd5b50600054610355906001600160a01b031681565b34801561058857600080fd5b506102a561059736600461173b565b610a8b565b3480156105a857600080fd5b506102a56105b736600461173b565b610aea565b3480156105c857600080fd5b5060005461030c90600160b01b900461ffff1681565b3480156105ea57600080fd5b506102a56105f936600461175f565b610b49565b34801561060a57600080fd5b506102dc6106193660046117a2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561065057600080fd5b506102a5610be6565b34801561066557600080fd5b506102a56106743660046117db565b610c1a565b34801561068557600080fd5b506102a561069436600461173b565b610c62565b3480156106a557600080fd5b506102a56106b4366004611689565b610d4c565b3480156106c557600080fd5b506102a5610db4565b60006106db338484610e0d565b5060015b92915050565b6000546001600160a01b031633146107185760405162461bcd60e51b815260040161070f906117f6565b60405180910390fd5b652d79883d2000600254101561072d57600080fd5b61073b81633b9aca00611841565b60025550565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b03821661077e57600080fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006107b76009600a611944565b6107c49062989680611841565b905090565b6001600160a01b03831660009081526009602090815260408083203384529091528120546107f8858585610ee6565b8281101561080557600080fd5b61081985336108148685611953565b610e0d565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161085e91815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b0316331461089b5760405162461bcd60e51b815260040161070f906117f6565b60198261ffff16111580156108b5575060328161ffff1611155b6108be57600080fd5b6000805463ffffffff60a01b1916600160a01b61ffff9485160261ffff60b01b191617600160b01b9290931691909102919091179055565b6000546001600160a01b031633146109205760405162461bcd60e51b815260040161070f906117f6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109945760405162461bcd60e51b815260040161070f906117f6565b652d79883d200060015410156109a957600080fd5b6109b781633b9aca00611841565b60015550565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161070f906117f6565b60035460ff16156109f757600080fd5b6003805460ff19811660ff90911615179055436004819055610a1a90600561196a565b600555565b60006106db338484610ee6565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610a6957600080fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ab55760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610ac857600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b145760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610b2757600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b735760405162461bcd60e51b815260040161070f906117f6565b606481610b808486611982565b610b8a9190611982565b61ffff161115610b9957600080fd5b6000805463ffffffff60d01b1916600160d01b61ffff9586160261ffff60e01b191617600160e01b938516939093029290921761ffff60c01b1916600160c01b9190931602919091179055565b6000546001600160a01b03163314610c105760405162461bcd60e51b815260040161070f906117f6565b610c18610fe2565b565b6000546001600160a01b03163314610c445760405162461bcd60e51b815260040161070f906117f6565b600e8054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038116610cf15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d765760405162461bcd60e51b815260040161070f906117f6565b6001600160a01b038216610d8957600080fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610dde5760405162461bcd60e51b815260040161070f906117f6565b60405133904780156108fc02916000818181858888f19350505050158015610e0a573d6000803e3d6000fd5b50565b6001600160a01b03831615801590610e2d57506001600160a01b03821615155b610e845760405162461bcd60e51b815260206004820152602260248201527f4f776e65722f5370656e64657220616464726573732063616e6e6f7420626520604482015261181760f11b606482015260840161070f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610f0657506001600160a01b03821615155b610f0f57600080fd5b6001600160a01b03831660009081526007602052604081205460ff1680610f4e57506001600160a01b03841660009081526007602052604090205460ff165b90508015610f6657610f61848484611328565b610fdc565b60035460ff16610f7557600080fd5b600b546001600160a01b0385811691161415610f9657610f618484846113c9565b600b546001600160a01b0384811691161415610fd157600e54600160a81b900460ff1615610fc657610fc6610fe2565b610f61848484611475565b610fdc848484611328565b50505050565b600e805460ff60a01b1916600160a01b179055306000908152600860205260409020548015611318576040805160028082526060820183526000926020830190803683370190505090503081600081518110611040576110406119a8565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bd91906119be565b816001815181106110d0576110d06119a8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81524792919091169063791ac9479061111a9086906000908790309042906004016119db565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b505050506000814761115a9190611953565b600080549192509060649061117a90600160d01b900461ffff1684611841565b6111849190611a4c565b60008054919250906064906111a490600160e01b900461ffff1685611841565b6111ae9190611a4c565b905060006111bc828461196a565b6111c69085611953565b600d546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d806000811461121d576040519150601f19603f3d011682016040523d82523d6000602084013e611222565b606091505b5050600e546040519192506001600160a01b0316906175309085906000818181858888f193505050503d8060008114611277576040519150601f19603f3d011682016040523d82523d6000602084013e61127c565b606091505b5050600c546040519192506001600160a01b0316906175309084906000818181858888f193505050503d80600081146112d1576040519150601f19603f3d011682016040523d82523d6000602084013e6112d6565b606091505b5050604051898152600092507f366243556e9a016ddf21f7bd80310925be2f14d30f6a7c1c72db3546b9217f4f915060200160405180910390a1505050505050505b50600e805460ff60a01b19169055565b6001600160a01b03831660009081526008602052604081208054839290611350908490611953565b90915550506001600160a01b0382166000908152600860205260408120805483929061137d90849061196a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ed991815260200190565b600454431015806113dc57506005544311155b15611402576113fd838383600360019054906101000a900461ffff166114c1565b505050565b6002546001600160a01b03831660009081526008602052604090205461142990839061196a565b1115801561145057506001600160a01b03821660009081526006602052604090205460ff16155b61145957600080fd5b6113fd838383600060149054906101000a900461ffff166114c1565b60015481111580156114a057506001600160a01b03831660009081526006602052604090205460ff16155b6114a957600080fd5b6113fd838383600060169054906101000a900461ffff165b600060646114d361ffff841685611841565b6114dd9190611a4c565b905060006114eb8285611953565b6001600160a01b038716600090815260086020526040812080549293508692909190611518908490611953565b9091555050306000908152600860205260408120805484929061153c90849061196a565b90915550506001600160a01b0385166000908152600860205260408120805483929061156990849061196a565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115b591815260200190565b60405180910390a3505050505050565b600060208083528351808285015260005b818110156115f2578581018301518582016040015282016115d6565b81811115611604576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610e0a57600080fd5b6000806040838503121561164257600080fd5b823561164d8161161a565b946020939093013593505050565b60006020828403121561166d57600080fd5b5035919050565b8035801515811461168457600080fd5b919050565b6000806040838503121561169c57600080fd5b82356116a78161161a565b91506116b560208401611674565b90509250929050565b6000806000606084860312156116d357600080fd5b83356116de8161161a565b925060208401356116ee8161161a565b929592945050506040919091013590565b803561ffff8116811461168457600080fd5b6000806040838503121561172457600080fd5b61172d836116ff565b91506116b5602084016116ff565b60006020828403121561174d57600080fd5b81356117588161161a565b9392505050565b60008060006060848603121561177457600080fd5b61177d846116ff565b925061178b602085016116ff565b9150611799604085016116ff565b90509250925092565b600080604083850312156117b557600080fd5b82356117c08161161a565b915060208301356117d08161161a565b809150509250929050565b6000602082840312156117ed57600080fd5b61175882611674565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561185b5761185b61182b565b500290565b600181815b8085111561189b5781600019048211156118815761188161182b565b8085161561188e57918102915b93841c9390800290611865565b509250929050565b6000826118b2575060016106df565b816118bf575060006106df565b81600181146118d557600281146118df576118fb565b60019150506106df565b60ff8411156118f0576118f061182b565b50506001821b6106df565b5060208310610133831016604e8410600b841016171561191e575081810a6106df565b6119288383611860565b806000190482111561193c5761193c61182b565b029392505050565b600061175860ff8416836118a3565b6000828210156119655761196561182b565b500390565b6000821982111561197d5761197d61182b565b500190565b600061ffff80831681851680830382111561199f5761199f61182b565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d057600080fd5b81516117588161161a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2b5784516001600160a01b031683529383019391830191600101611a06565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a6957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c469cfdd13c8c8924a080917fbed55318738bd0cbe7bfb8cb0feec4c656b4ef564736f6c634300080c0033

Deployed Bytecode Sourcemap

4947:8667:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13069:94;;;;;;;;;;-1:-1:-1;13150:5:0;;;;;;;;;;;;-1:-1:-1;;;13150:5:0;;;;13069:94;;;;;;;:::i;:::-;;;;;;;;12622:161;;;;;;;;;;-1:-1:-1;12622:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;12622:161:0;1072:187:1;9948:154:0;;;;;;;;;;-1:-1:-1;9948:154:0;;;;;:::i;:::-;;:::i;:::-;;10481:156;;;;;;;;;;-1:-1:-1;10481:156:0;;;;;:::i;:::-;;:::i;13273:102::-;;;;;;;;;;;;;:::i;:::-;;;2080:25:1;;;2068:2;2053:18;13273:102:0;1934:177:1;5051:29:0;;;;;;;;;;-1:-1:-1;5051:29:0;;;;-1:-1:-1;;;5051:29:0;;;;;;;;;2290:6:1;2278:19;;;2260:38;;2248:2;2233:18;5051:29:0;2116:188:1;12215:401:0;;;;;;;;;;-1:-1:-1;12215:401:0;;;;;:::i;:::-;;:::i;5890:78::-;;;;;;;;;;;;5926:42;5890:78;;;;;-1:-1:-1;;;;;2934:32:1;;;2916:51;;2904:2;2889:18;5890:78:0;2770:203:1;13381:94:0;;;;;;;;;;-1:-1:-1;13381:94:0;;5433:1;3120:36:1;;3108:2;3093:18;13381:94:0;2978:184:1;4992:22:0;;;;;;;;;;-1:-1:-1;4992:22:0;;;;-1:-1:-1;;;4992:22:0;;;;;;5087:23;;;;;;;;;;-1:-1:-1;5087:23:0;;;;-1:-1:-1;;;5087:23:0;;;;;;11179:172;;;;;;;;;;-1:-1:-1;11179:172:0;;;;;:::i;:::-;;:::i;12942:121::-;;;;;;;;;;-1:-1:-1;12942:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;13037:18:0;13010:7;13037:18;;;:9;:18;;;;;;;12942:121;3056:148;;;;;;;;;;;;;:::i;5975:82::-;;;;;;;;;;-1:-1:-1;5975:82:0;;;;-1:-1:-1;;;;;5975:82:0;;;10108:134;;;;;;;;;;-1:-1:-1;10108:134:0;;;;;:::i;:::-;;:::i;13481:94::-;;;;;;;;;;-1:-1:-1;13533:7:0;2905:6;-1:-1:-1;;;;;2905:6:0;13481:94;13273:102;9739:203;;;;;;;;;;;;;:::i;5117:24::-;;;;;;;;;;-1:-1:-1;5117:24:0;;;;-1:-1:-1;;;5117:24:0;;;;;;13169:98;;;;;;;;;;-1:-1:-1;13252:7:0;;;;;;;;;;;;-1:-1:-1;;;13252:7:0;;;;13169:98;;5864:19;;;;;;;;;;-1:-1:-1;5864:19:0;;;;-1:-1:-1;;;;;5864:19:0;;;12042:167;;;;;;;;;;-1:-1:-1;12042:167:0;;;;;:::i;:::-;;:::i;10930:134::-;;;;;;;;;;-1:-1:-1;10930:134:0;;;;;:::i;:::-;;:::i;2553:21::-;;;;;;;;;;-1:-1:-1;2553:21:0;;;;-1:-1:-1;;;;;2553:21:0;;;10643:143;;;;;;;;;;-1:-1:-1;10643:143:0;;;;;:::i;:::-;;:::i;10792:132::-;;;;;;;;;;-1:-1:-1;10792:132:0;;;;;:::i;:::-;;:::i;5021:23::-;;;;;;;;;;-1:-1:-1;5021:23:0;;;;-1:-1:-1;;;5021:23:0;;;;;;11357:246;;;;;;;;;;-1:-1:-1;11357:246:0;;;;;:::i;:::-;;:::i;12789:147::-;;;;;;;;;;-1:-1:-1;12789:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;12900:19:0;;;12873:7;12900:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12789:147;10248:70;;;;;;;;;;;;;:::i;11070:103::-;;;;;;;;;;-1:-1:-1;11070:103:0;;;;;:::i;:::-;;:::i;3213:244::-;;;;;;;;;;-1:-1:-1;3213:244:0;;;;;:::i;:::-;;:::i;10324:151::-;;;;;;;;;;-1:-1:-1;10324:151:0;;;;;:::i;:::-;;:::i;11609:112::-;;;;;;;;;;;;;:::i;12622:161::-;12699:4;12716:37;12725:10;12737:7;12746:6;12716:8;:37::i;:::-;-1:-1:-1;12771:4:0;12622:161;;;;;:::o;9948:154::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;;;;;;;;;10040:14:::1;10029:9;;:25;;10021:34;;;::::0;::::1;;10076:18;:10:::0;10088:5:::1;10076:18;:::i;:::-;10066:9;:28:::0;-1:-1:-1;9948:154:0:o;10481:156::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10571:18:0;::::1;10563:27;;;::::0;::::1;;-1:-1:-1::0;;;;;10601:20:0;;;::::1;;::::0;;;:12:::1;:20;::::0;;;;:28;;-1:-1:-1;;10601:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10481:156::o;13273:102::-;13328:7;5494:13;5433:1;5494:2;:13;:::i;:::-;5481:27;;:10;:27;:::i;:::-;13348:19;;13273:102;:::o;12215:401::-;-1:-1:-1;;;;;12353:19:0;;12315:4;12353:19;;;:11;:19;;;;;;;;12373:10;12353:31;;;;;;;;12395:36;12365:6;12413:9;12424:6;12395:9;:36::i;:::-;12464:6;12450:10;:20;;12442:29;;;;;;12482:49;12491:6;12499:10;12511:19;12524:6;12511:10;:19;:::i;:::-;12482:8;:49::i;:::-;12568:9;-1:-1:-1;;;;;12551:35:0;12560:6;-1:-1:-1;;;;;12551:35:0;;12579:6;12551:35;;;;2080:25:1;;2068:2;2053:18;;1934:177;12551:35:0;;;;;;;;-1:-1:-1;12604:4:0;;12215:401;-1:-1:-1;;;;12215:401:0:o;11179:172::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;11274:2:::1;11265:7;:11;;;;:25;;;;;11288:2;11278:8;:12;;;;11265:25;11257:34;;;::::0;::::1;;11302:6;:14:::0;;-1:-1:-1;;;;11327:16:0;-1:-1:-1;;;11302:14:0::1;::::0;;::::1;;-1:-1:-1::0;;;;11327:16:0;;-1:-1:-1;;;11327:16:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;11179:172::o;3056:148::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;3163:1:::1;3147:6:::0;;3126:40:::1;::::0;-1:-1:-1;;;;;3147:6:0;;::::1;::::0;3126:40:::1;::::0;3163:1;;3126:40:::1;3194:1;3177:19:::0;;-1:-1:-1;;;;;;3177:19:0::1;::::0;;3056:148::o;10108:134::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;10188:14:::1;10181:5;;:21;;10173:30;;;::::0;::::1;;10220:14;:6:::0;10228:5:::1;10220:14;:::i;:::-;10214:5;:20:::0;-1:-1:-1;10108:134:0:o;9739:203::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;9801:15:::1;::::0;::::1;;9800:16;9792:25;;;::::0;::::1;;9845:15;::::0;;-1:-1:-1;;9828:32:0;::::1;9845:15;::::0;;::::1;9844:16;9828:32;::::0;;9883:12:::1;9871:11;:24:::0;;;9921:13:::1;::::0;9933:1:::1;9921:13;:::i;:::-;9906:14;:28:::0;9739:203::o;12042:167::-;12122:4;12139:40;12149:10;12161:9;12172:6;12139:9;:40::i;10930:134::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11008:18:0;::::1;11000:27;;;::::0;::::1;;11038:11;:18:::0;;-1:-1:-1;;;;;;11038:18:0::1;-1:-1:-1::0;;;;;11038:18:0;;;::::1;::::0;;;::::1;::::0;;10930:134::o;10643:143::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10726:18:0;::::1;10718:27;;;::::0;::::1;;10756:15;:22:::0;;-1:-1:-1;;;;;;10756:22:0::1;-1:-1:-1::0;;;;;10756:22:0;;;::::1;::::0;;;::::1;::::0;;10643:143::o;10792:132::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10869:18:0;::::1;10861:27;;;::::0;::::1;;10899:10;:17:::0;;-1:-1:-1;;;;;;10899:17:0::1;-1:-1:-1::0;;;;;10899:17:0;;;::::1;::::0;;;::::1;::::0;;10792:132::o;11357:246::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;11502:3:::1;11487:13:::0;11470:16:::1;11478:8:::0;11470:7;:16:::1;:::i;:::-;:30;;;;:::i;:::-;:35;;;;11462:44;;;::::0;::::1;;11517:6;:14:::0;;-1:-1:-1;;;;11542:16:0;-1:-1:-1;;;11517:14:0::1;::::0;;::::1;;-1:-1:-1::0;;;;11542:16:0;;-1:-1:-1;;;11542:16:0;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;11569:26:0::1;-1:-1:-1::0;;;11569:26:0;;;::::1;;::::0;;;::::1;::::0;;11357:246::o;10248:70::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;10297:13:::1;:11;:13::i;:::-;10248:70::o:0;11070:103::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;11141:11:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;11141:24:0::1;-1:-1:-1::0;;;;11141:24:0;;::::1;::::0;;;::::1;::::0;;11070:103::o;3213:244::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3302:22:0;::::1;3294:73;;;::::0;-1:-1:-1;;;3294:73:0;;7498:2:1;3294:73:0::1;::::0;::::1;7480:21:1::0;7537:2;7517:18;;;7510:30;7576:34;7556:18;;;7549:62;-1:-1:-1;;;7627:18:1;;;7620:36;7673:19;;3294:73:0::1;7296:402:1::0;3294:73:0::1;3404:6;::::0;;3383:38:::1;::::0;-1:-1:-1;;;;;3383:38:0;;::::1;::::0;3404:6;::::1;::::0;3383:38:::1;::::0;::::1;3432:6;:17:::0;;-1:-1:-1;;;;;;3432:17:0::1;-1:-1:-1::0;;;;;3432:17:0;;;::::1;::::0;;;::::1;::::0;;3213:244::o;10324:151::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10412:18:0;::::1;10404:27;;;::::0;::::1;;-1:-1:-1::0;;;;;10442:17:0;;;::::1;;::::0;;;:9:::1;:17;::::0;;;;:25;;-1:-1:-1;;10442:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10324:151::o;11609:112::-;2968:6;;-1:-1:-1;;;;;2968:6:0;2368:10;2968:22;2960:67;;;;-1:-1:-1;;;2960:67:0;;;;;;;:::i;:::-;11662:51:::1;::::0;11670:10:::1;::::0;11691:21:::1;11662:51:::0;::::1;;;::::0;::::1;::::0;;;11691:21;11670:10;11662:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11609:112::o:0;11755:281::-;-1:-1:-1;;;;;11849:19:0;;;;;;:44;;-1:-1:-1;;;;;;11872:21:0;;;;11849:44;11840:93;;;;-1:-1:-1;;;11840:93:0;;7905:2:1;11840:93:0;;;7887:21:1;7944:2;7924:18;;;7917:30;7983:34;7963:18;;;7956:62;-1:-1:-1;;;8034:18:1;;;8027:32;8076:19;;11840:93:0;7703:398:1;11840:93:0;-1:-1:-1;;;;;11944:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11996:32;;2080:25:1;;;11996:32:0;;2053:18:1;11996:32:0;;;;;;;;11755:281;;;:::o;6796:653::-;-1:-1:-1;;;;;6893:20:0;;;;;;:47;;-1:-1:-1;;;;;;6917:23:0;;;;6893:47;6885:56;;;;;;-1:-1:-1;;;;;6966:17:0;;6952:13;6966:17;;;:9;:17;;;;;;;;;:36;;-1:-1:-1;;;;;;6985:17:0;;;;;;:9;:17;;;;;;;;6966:36;6952:50;;7017:8;7013:429;;;7026:41;7043:6;7050:9;7060:6;7026:16;:41::i;:::-;7013:429;;;7106:15;;;;7098:24;;;;;;7149:4;;-1:-1:-1;;;;;7141:12:0;;;7149:4;;7141:12;7137:294;;;7154:35;7165:6;7172:9;7182:6;7154:10;:35::i;7137:294::-;7224:4;;-1:-1:-1;;;;;7213:15:0;;;7224:4;;7213:15;7209:222;;;7253:11;;-1:-1:-1;;;7253:11:0;;;;7249:29;;;7265:13;:11;:13::i;:::-;7297:36;7309:6;7316:9;7326:6;7297:11;:36::i;7209:222::-;7374:41;7391:6;7398:9;7408:6;7374:16;:41::i;:::-;6874:575;6796:653;;;:::o;8561:1145::-;6301:7;:12;;-1:-1:-1;;;;6301:12:0;-1:-1:-1;;;6301:12:0;;;8652:4:::1;6301:12:::0;8634:24;;;:9:::1;:24;::::0;;;;;8673:14;;8669:1030:::1;;8728:16;::::0;;8742:1:::1;8728:16:::0;;;;;::::1;::::0;;8704:21:::1;::::0;8728:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8728:16:0::1;8704:40;;8777:4;8759;8764:1;8759:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8759:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8807:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;8807:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;8759:7;;8807:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8797:4;8802:1;8797:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8797:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8890:6:::1;::::0;:212:::1;::::0;-1:-1:-1;;;8890:212:0;;8854:21:::1;::::0;8890:6;;;::::1;::::0;:57:::1;::::0;:212:::1;::::0;8966:12;;8835:16:::1;::::0;9017:4;;9048::::1;::::0;9072:15:::1;::::0;8890:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9117:14;9154:8;9132:21;:30;;;;:::i;:::-;9177:14;9199:6:::0;;9117:45;;-1:-1:-1;9177:14:0;9206:3:::1;::::0;9192:13:::1;::::0;-1:-1:-1;;;9199:6:0;::::1;;;9117:45:::0;9192:13:::1;:::i;:::-;:17;;;;:::i;:::-;9224:15;9247:7:::0;;9177:32;;-1:-1:-1;9224:15:0;9255:3:::1;::::0;9240:14:::1;::::0;-1:-1:-1;;;9247:7:0;::::1;;;9240:6:::0;:14:::1;:::i;:::-;:18;;;;:::i;:::-;9224:34:::0;-1:-1:-1;9273:20:0::1;9302:14;9224:34:::0;9302:6;:14:::1;:::i;:::-;9294:23;::::0;:6;:23:::1;:::i;:::-;9361:10;::::0;9353:55:::1;::::0;9273:44;;-1:-1:-1;9333:15:0::1;::::0;-1:-1:-1;;;;;9361:10:0;;::::1;::::0;9398:5:::1;::::0;9385:6;;9333:15;9353:55;9333:15;9353:55;9385:6;9361:10;9398:5;9353:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;9447:11:0::1;::::0;9439:57:::1;::::0;9332:76;;-1:-1:-1;;;;;;9447:11:0::1;::::0;9486:5:::1;::::0;9472:7;;9439:57:::1;::::0;;;9472:7;9447:11;9486:5;9439:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;9535:15:0::1;::::0;9527:66:::1;::::0;9423:73;;-1:-1:-1;;;;;;9535:15:0::1;::::0;9583:5:::1;::::0;9564:12;;9527:66:::1;::::0;;;9564:12;9535:15;9583:5;9527:66:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;9660:27:0::1;::::0;2080:25:1;;;9619:5:0::1;::::0;-1:-1:-1;9660:27:0::1;::::0;-1:-1:-1;2068:2:1;2053:18;9660:27:0::1;;;;;;;8689:1010;;;;;;;8669:1030;-1:-1:-1::0;6316:7:0;:13;;-1:-1:-1;;;;6316:13:0;;;8561:1145::o;8021:188::-;-1:-1:-1;;;;;8106:15:0;;;;;;:9;:15;;;;;:23;;8123:6;;8106:15;:23;;8123:6;;8106:23;:::i;:::-;;;;-1:-1:-1;;;;;;;8140:13:0;;;;;;:9;:13;;;;;:21;;8155:6;;8140:13;:21;;8155:6;;8140:21;:::i;:::-;;;;;;;;8191:2;-1:-1:-1;;;;;8177:24:0;8186:4;-1:-1:-1;;;;;8177:24:0;;8194:6;8177:24;;;;2080:25:1;;2068:2;2053:18;;1934:177;7455:367:0;7551:11;;7537:12;:25;;:55;;;;7578:14;;7564:12;:28;;7537:55;7534:281;;;7609:43;7627:4;7632:2;7635:6;7642:9;;;;;;;;;;;7609:17;:43::i;:::-;7455:367;;;:::o;7534:281::-;7716:9;;-1:-1:-1;;;;;7694:13:0;;;;;;:9;:13;;;;;;:20;;7708:6;;7694:20;:::i;:::-;:31;;7693:54;;;;-1:-1:-1;;;;;;7730:16:0;;;;;;:12;:16;;;;;;;;7729:17;7693:54;7685:63;;;;;;7763:40;7781:4;7786:2;7789:6;7796;;;;;;;;;;;7763:17;:40::i;7828:187::-;7925:5;;7917:6;:13;;7916:38;;;;-1:-1:-1;;;;;;7935:18:0;;;;;;:12;:18;;;;;;;;7934:19;7916:38;7908:47;;;;;;7966:41;7984:4;7989:2;7992:6;7999:7;;;;;;;;;;;8215:340;8312:17;8341:3;8330:10;;;;:6;:10;:::i;:::-;:14;;;;:::i;:::-;8312:32;-1:-1:-1;8355:17:0;8373:16;8312:32;8373:6;:16;:::i;:::-;-1:-1:-1;;;;;8400:15:0;;;;;;:9;:15;;;;;:23;;8355:34;;-1:-1:-1;8417:6:0;;8400:15;;;:23;;8417:6;;8400:23;:::i;:::-;;;;-1:-1:-1;;8452:4:0;8434:24;;;;:9;:24;;;;;:35;;8460:9;;8434:24;:35;;8460:9;;8434:35;:::i;:::-;;;;-1:-1:-1;;;;;;;8480:13:0;;;;;;:9;:13;;;;;:24;;8495:9;;8480:13;:24;;8495:9;;8480:24;:::i;:::-;;;;;;;;8534:2;-1:-1:-1;;;;;8520:27:0;8529:4;-1:-1:-1;;;;;8520:27:0;;8537:9;8520:27;;;;2080:25:1;;2068:2;2053:18;;1934:177;8520:27:0;;;;;;;;8301:254;;8215:340;;;;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:180::-;1323:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:52;;;1392:1;1389;1382:12;1344:52;-1:-1:-1;1415:23:1;;1264:180;-1:-1:-1;1264:180:1:o;1449:160::-;1514:20;;1570:13;;1563:21;1553:32;;1543:60;;1599:1;1596;1589:12;1543:60;1449:160;;;:::o;1614:315::-;1679:6;1687;1740:2;1728:9;1719:7;1715:23;1711:32;1708:52;;;1756:1;1753;1746:12;1708:52;1795:9;1782:23;1814:31;1839:5;1814:31;:::i;:::-;1864:5;-1:-1:-1;1888:35:1;1919:2;1904:18;;1888:35;:::i;:::-;1878:45;;1614:315;;;;;:::o;2309:456::-;2386:6;2394;2402;2455:2;2443:9;2434:7;2430:23;2426:32;2423:52;;;2471:1;2468;2461:12;2423:52;2510:9;2497:23;2529:31;2554:5;2529:31;:::i;:::-;2579:5;-1:-1:-1;2636:2:1;2621:18;;2608:32;2649:33;2608:32;2649:33;:::i;:::-;2309:456;;2701:7;;-1:-1:-1;;;2755:2:1;2740:18;;;;2727:32;;2309:456::o;3167:159::-;3234:20;;3294:6;3283:18;;3273:29;;3263:57;;3316:1;3313;3306:12;3331:256;3397:6;3405;3458:2;3446:9;3437:7;3433:23;3429:32;3426:52;;;3474:1;3471;3464:12;3426:52;3497:28;3515:9;3497:28;:::i;:::-;3487:38;;3544:37;3577:2;3566:9;3562:18;3544:37;:::i;3592:247::-;3651:6;3704:2;3692:9;3683:7;3679:23;3675:32;3672:52;;;3720:1;3717;3710:12;3672:52;3759:9;3746:23;3778:31;3803:5;3778:31;:::i;:::-;3828:5;3592:247;-1:-1:-1;;;3592:247:1:o;3844:328::-;3918:6;3926;3934;3987:2;3975:9;3966:7;3962:23;3958:32;3955:52;;;4003:1;4000;3993:12;3955:52;4026:28;4044:9;4026:28;:::i;:::-;4016:38;;4073:37;4106:2;4095:9;4091:18;4073:37;:::i;:::-;4063:47;;4129:37;4162:2;4151:9;4147:18;4129:37;:::i;:::-;4119:47;;3844:328;;;;;:::o;4177:388::-;4245:6;4253;4306:2;4294:9;4285:7;4281:23;4277:32;4274:52;;;4322:1;4319;4312:12;4274:52;4361:9;4348:23;4380:31;4405:5;4380:31;:::i;:::-;4430:5;-1:-1:-1;4487:2:1;4472:18;;4459:32;4500:33;4459:32;4500:33;:::i;:::-;4552:7;4542:17;;;4177:388;;;;;:::o;4570:180::-;4626:6;4679:2;4667:9;4658:7;4654:23;4650:32;4647:52;;;4695:1;4692;4685:12;4647:52;4718:26;4734:9;4718:26;:::i;4755:356::-;4957:2;4939:21;;;4976:18;;;4969:30;5035:34;5030:2;5015:18;;5008:62;5102:2;5087:18;;4755:356::o;5116:127::-;5177:10;5172:3;5168:20;5165:1;5158:31;5208:4;5205:1;5198:15;5232:4;5229:1;5222:15;5248:168;5288:7;5354:1;5350;5346:6;5342:14;5339:1;5336:21;5331:1;5324:9;5317:17;5313:45;5310:71;;;5361:18;;:::i;:::-;-1:-1:-1;5401:9:1;;5248:168::o;5421:422::-;5510:1;5553:5;5510:1;5567:270;5588:7;5578:8;5575:21;5567:270;;;5647:4;5643:1;5639:6;5635:17;5629:4;5626:27;5623:53;;;5656:18;;:::i;:::-;5706:7;5696:8;5692:22;5689:55;;;5726:16;;;;5689:55;5805:22;;;;5765:15;;;;5567:270;;;5571:3;5421:422;;;;;:::o;5848:806::-;5897:5;5927:8;5917:80;;-1:-1:-1;5968:1:1;5982:5;;5917:80;6016:4;6006:76;;-1:-1:-1;6053:1:1;6067:5;;6006:76;6098:4;6116:1;6111:59;;;;6184:1;6179:130;;;;6091:218;;6111:59;6141:1;6132:10;;6155:5;;;6179:130;6216:3;6206:8;6203:17;6200:43;;;6223:18;;:::i;:::-;-1:-1:-1;;6279:1:1;6265:16;;6294:5;;6091:218;;6393:2;6383:8;6380:16;6374:3;6368:4;6365:13;6361:36;6355:2;6345:8;6342:16;6337:2;6331:4;6328:12;6324:35;6321:77;6318:159;;;-1:-1:-1;6430:19:1;;;6462:5;;6318:159;6509:34;6534:8;6528:4;6509:34;:::i;:::-;6579:6;6575:1;6571:6;6567:19;6558:7;6555:32;6552:58;;;6590:18;;:::i;:::-;6628:20;;5848:806;-1:-1:-1;;;5848:806:1:o;6659:140::-;6717:5;6746:47;6787:4;6777:8;6773:19;6767:4;6746:47;:::i;6804:125::-;6844:4;6872:1;6869;6866:8;6863:34;;;6877:18;;:::i;:::-;-1:-1:-1;6914:9:1;;6804:125::o;6934:128::-;6974:3;7005:1;7001:6;6998:1;6995:13;6992:39;;;7011:18;;:::i;:::-;-1:-1:-1;7047:9:1;;6934:128::o;7067:224::-;7106:3;7134:6;7167:2;7164:1;7160:10;7197:2;7194:1;7190:10;7228:3;7224:2;7220:12;7215:3;7212:21;7209:47;;;7236:18;;:::i;:::-;7272:13;;7067:224;-1:-1:-1;;;;7067:224:1:o;8238:127::-;8299:10;8294:3;8290:20;8287:1;8280:31;8330:4;8327:1;8320:15;8354:4;8351:1;8344:15;8370:251;8440:6;8493:2;8481:9;8472:7;8468:23;8464:32;8461:52;;;8509:1;8506;8499:12;8461:52;8541:9;8535:16;8560:31;8585:5;8560:31;:::i;8626:980::-;8888:4;8936:3;8925:9;8921:19;8967:6;8956:9;8949:25;8993:2;9031:6;9026:2;9015:9;9011:18;9004:34;9074:3;9069:2;9058:9;9054:18;9047:31;9098:6;9133;9127:13;9164:6;9156;9149:22;9202:3;9191:9;9187:19;9180:26;;9241:2;9233:6;9229:15;9215:29;;9262:1;9272:195;9286:6;9283:1;9280:13;9272:195;;;9351:13;;-1:-1:-1;;;;;9347:39:1;9335:52;;9442:15;;;;9407:12;;;;9383:1;9301:9;9272:195;;;-1:-1:-1;;;;;;;9523:32:1;;;;9518:2;9503:18;;9496:60;-1:-1:-1;;;9587:3:1;9572:19;9565:35;9484:3;8626:980;-1:-1:-1;;;8626:980:1:o;9611:217::-;9651:1;9677;9667:132;;9721:10;9716:3;9712:20;9709:1;9702:31;9756:4;9753:1;9746:15;9784:4;9781:1;9774:15;9667:132;-1:-1:-1;9813:9:1;;9611:217::o

Swarm Source

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