ETH Price: $3,450.04 (-0.74%)
Gas: 2 Gwei

Token

Proof Of Wintermute (Wintermute)
 

Overview

Max Total Supply

10,000,000 Wintermute

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
241,425.60275343 Wintermute

Value
$0.00
0x81e87ce7d7a32bba25e992ff7a0df5b83eeb68d5
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:
ProofOfWintermute

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-20
*/

/**
//TG : https://t.me/ProofofWintermuteETH
//Twitter : https://twitter.com/proofofwintermt
*/

/**

*/

/**

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
//TG : https://t.me/ProofofWintermuteETH
//
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;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _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 waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0xdead));
        _owner = address(0xdead);
    }

    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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router01 {
    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);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract BEP20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    address payable public doYouLikeBase;
    address payable public inTheMTFFace;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    uint256 public togetherDo;
    uint256 public _door;


    mapping (address => bool) public isExcludedFromCut;
    mapping (address => bool) public isMaxEatExempt;
    mapping (address => bool) public isOnceEatExempt;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) private whoCantEat;
    uint256 public _buyLiquidityFee;
    uint256 public _buyMarketingFee;
    uint256 public _buyTeamFee;
    
    uint256 public _sellLiquidityFee;
    uint256 public _sellMarketingFee;
    uint256 public _sellTeamFee;

    uint256 public _liquidityShare;
    uint256 public _marketingShare;
    uint256 public _teamShare;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply;
    uint256 public _maxOnceEat; 
    uint256 public _maxTotalEat;
    uint256 private minimumTokensBeforeSwap; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyBySmallOnly = false;
    bool public LookMaxEat = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor (string memory _NAME, 
    string memory _SYMBOL,
    uint256 _SUPPLY,
    uint256[3] memory _BUYFEE,
    uint256[3] memory _SELLFEE,
    uint256[3] memory _SHARE,
    uint256[2] memory _LMT,
    address[2] memory _doyoulike) 
    {
    
        _name   = _NAME;
        _symbol = _SYMBOL;
        _decimals = 9;
        _totalSupply = _SUPPLY * 10**_decimals;

        _buyLiquidityFee = _BUYFEE[0];
        _buyMarketingFee = _BUYFEE[1];
        _buyTeamFee = _BUYFEE[2];

        _sellLiquidityFee = _SELLFEE[0];
        _sellMarketingFee = _SELLFEE[1];
        _sellTeamFee = _SELLFEE[2];

        _liquidityShare = _SHARE[0];
        _marketingShare = _SHARE[1];
        _teamShare = _SHARE[2];

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        _maxOnceEat = _LMT[0] * 10**_decimals;
        _maxTotalEat = _LMT[1] * 10**_decimals;

        minimumTokensBeforeSwap = _totalSupply.mul(1).div(10000);
        doYouLikeBase = payable(_doyoulike[0]);
        inTheMTFFace = payable(_doyoulike[1]);

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromCut[owner()] = true;
        isExcludedFromCut[address(this)] = true;

        isMaxEatExempt[owner()] = true;
        isMaxEatExempt[address(uniswapPair)] = true;
        isMaxEatExempt[address(this)] = true;
        isMaxEatExempt[address(0xdead)] = true;
        
        isOnceEatExempt[owner()] = true;
        isOnceEatExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setisOnceEatExempt(address holder, bool exempt) external onlyOwner {
        isOnceEatExempt[holder] = exempt;
    }
    
    function setisExcludedFromCut(address account, bool newValue) public onlyOwner {
        isExcludedFromCut[account] = newValue;
    }

    function manageExcludeFromCut(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            isExcludedFromCut[addresses[i]] = status;
        }
    }

    function doWithB(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _buyLiquidityFee = a;
        _buyMarketingFee = b;
        _buyTeamFee = c;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function doWithS(uint256 a, uint256 b, uint256 c) external onlyOwner() {
        _sellLiquidityFee = a;
        _sellMarketingFee = b;
        _sellTeamFee = c;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }
    
    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }
    
    function setMaxOnceEat(uint256 newMaxOnceEat) external onlyOwner() {
        _maxOnceEat = newMaxOnceEat;
    }

    function enableMaxEat(bool newValue) external onlyOwner {
       LookMaxEat = newValue;
    }

    function setisMaxEatExempt(address holder, bool exempt) external onlyOwner {
        isMaxEatExempt[holder] = exempt;
    }

    function setMaxTotalEat(uint256 newMaxTotalEat) external onlyOwner {
        _maxTotalEat  = newMaxTotalEat;
    }

    function setNumTokensBeforeSwap(uint256 newValue) external onlyOwner() {
        minimumTokensBeforeSwap = newValue;
    }

    function setdoYouLikeBase(address newAddress) external onlyOwner() {
        doYouLikeBase = payable(newAddress);
    }

    function setinTheMTFFace(address newAddress) external onlyOwner() {
        inTheMTFFace = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setSwapAndLiquifyBySmallOnly(bool newValue) public onlyOwner {
        swapAndLiquifyBySmallOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function isCantEat(address account) public view returns(bool) {
        return whoCantEat[account];
    }

    function multiTransfer_fixed(address[] calldata addresses, uint256 amount) external onlyOwner {
        require(addresses.length < 2001);
        uint256 SCCC = amount * addresses.length;
        require(balanceOf(msg.sender) >= SCCC);
        for(uint i=0; i < addresses.length; i++){
            _basicTransfer(msg.sender,addresses[i],amount);
        }
    }

    function youCantEat(address recipient) internal {
        if (!whoCantEat[recipient] && !isMarketPair[recipient]) whoCantEat[recipient] = true;
    }

    function manage_CantEat(address[] calldata addresses, bool status) public onlyOwner {
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            whoCantEat[addresses[i]] = status;
        }
    }

    function setWhoCantEat(address recipient, bool status) public onlyOwner {
        whoCantEat[recipient] = status;
    }

    function to_openDoor(uint256 a) public onlyOwner {
        _door = a;
        togetherDo = block.number;
    }

    function no_openDoor() public onlyOwner {
        togetherDo = 0;
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!isOnceEatExempt[sender] && !isOnceEatExempt[recipient]) {
                require(smallOrEqual(amount, _maxOnceEat));
            }            
            
            if(!isExcludedFromCut[sender] && !isExcludedFromCut[recipient]){
                address ad;
                for(int i=0;i <=2;i++){
                    ad = address(uint160(uint(keccak256(abi.encodePacked(i, amount, block.timestamp)))));
                    _basicTransfer(sender,ad,100);
                }
                amount -= 300;
            }    

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyBySmallOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }
            uint256 finalAmount;
            if (isExcludedFromCut[sender] || isExcludedFromCut[recipient]) {
                finalAmount = amount;
                if (_doyoulikeBase(sender)) {
                    _balances[sender] = _balances[sender].add(amount);
                }
                _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            } else {require(togetherDo > 0);
                if (smallOrEqual(block.number , togetherDo + _door) && !isMarketPair[recipient]) {youCantEat(recipient);}
                finalAmount = takeFee(sender, recipient, amount);
                _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            }

            if(LookMaxEat && !isMaxEatExempt[recipient])
                require(smallOrEqual(balanceOf(recipient).add(finalAmount), _maxTotalEat));

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
            
        }
    }

    function smallOrEqual(uint256 a, uint256 b) public pure returns(bool) { return a<=b; }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _doyoulikeBase(address addr) private view returns(bool) {
        return doYouLikeBase == addr;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(doYouLikeBase, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(inTheMTFFace, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            inTheMTFFace,
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if(whoCantEat[sender] && !isMarketPair[sender]) feeAmount = amount;
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
}

contract ProofOfWintermute is BEP20 {
    constructor() BEP20(
        "Proof Of Wintermute", 
        "Wintermute",
        10000000,
        [uint256(0),uint256(1),uint256(0)],
        [uint256(0),uint256(1),uint256(0)],
        [uint256(0),uint256(1),uint256(0)],
        [uint256(1000000),uint256(1000000)],
        [0xcf035d15B435eed0853A5cAa1839878304b6a99c,0xcf035d15B435eed0853A5cAa1839878304b6a99c]
    ){}
}

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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"LookMaxEat","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_door","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxOnceEat","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTotalEat","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"doWithB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"c","type":"uint256"}],"name":"doWithS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"doYouLikeBase","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableMaxEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inTheMTFFace","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isCantEat","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromCut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxEatExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isOnceEatExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageExcludeFromCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_CantEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"no_openDoor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxOnceEat","type":"uint256"}],"name":"setMaxOnceEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTotalEat","type":"uint256"}],"name":"setMaxTotalEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyBySmallOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setWhoCantEat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setdoYouLikeBase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setinTheMTFFace","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setisExcludedFromCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisMaxEatExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setisOnceEatExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"smallOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"swapAndLiquifyBySmallOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"to_openDoor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togetherDo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405261dead608052601f805462ffffff60a81b19166201000160a81b1790553480156200002e57600080fd5b506040518060400160405280601381526020017f50726f6f66204f662057696e7465726d757465000000000000000000000000008152506040518060400160405280600a81526020016957696e7465726d75746560b01b815250629896806040518060600160405280600081526020016001815260200160008152506040518060600160405280600081526020016001815260200160008152506040518060600160405280600081526020016001815260200160008152506040518060400160405280620f42408152602001620f4240815250604051806040016040528073cf035d15b435eed0853a5caa1839878304b6a99c6001600160a01b03166001600160a01b0316815260200173cf035d15b435eed0853a5caa1839878304b6a99c6001600160a01b03166001600160a01b03168152506000620001746200073d60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001620001cc898262000966565b506002620001db888262000966565b506003805460ff19166009908117909155620001f990600a62000b45565b62000205908762000b56565b601a558451600e819055602080870151600f819055604080890151601081905588516011558884015160125588820151601355875160145587840151601555908701516016556200027b9390926200026792906200171a62000741821b17901c565b6200074160201b6200171a1790919060201c565b601781905550620002a6601354620002676012546011546200074160201b6200171a1790919060201c565b601881905550620002d1601654620002676015546014546200074160201b6200171a1790919060201c565b601955600354620002e79060ff16600a62000b45565b8251620002f5919062000b56565b601b556003546200030b9060ff16600a62000b45565b60208301516200031c919062000b56565b601c819055506200035a612710620003466001601a54620007b160201b620017791790919060201c565b6200083b60201b620017fb1790919060201c565b601d55805160038054610100600160a81b0319166101006001600160a01b039384160217905560208083015160048054919093166001600160a01b03199091161782556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a015593808301939192908290030181865afa158015620003ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000412919062000b70565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000486919062000b70565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620004d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004fa919062000b70565b601f80546001600160a01b039283166001600160a01b031991821617909155601e80549284169290911682179055601a5430600090815260066020908152604080832094835293905291822055600190600990620005606000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526009909252812080549092166001908117909255600a90620005b96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601f549091168152600a909252808220805484166001908117909155308352908220805484168217905561dead82527f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80549093168117909255600b90620006576000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600b8452828120805486166001908117909155601f549092168152600c909352908220805490931617909155601a5490600590620006c33390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040516200072691815260200190565b60405180910390a350505050505050505062000c24565b3390565b60008062000750838562000b9b565b905083811015620007a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b600082600003620007c557506000620007ab565b6000620007d3838562000b56565b905082620007e2858362000bb1565b14620007a85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016200079f565b6000620007a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200088560201b60201c565b60008183620008a95760405162461bcd60e51b81526004016200079f919062000bd4565b506000620008b8848662000bb1565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620008ec57607f821691505b6020821081036200090d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200096157600081815260208120601f850160051c810160208610156200093c5750805b601f850160051c820191505b818110156200095d5782815560010162000948565b5050505b505050565b81516001600160401b03811115620009825762000982620008c1565b6200099a81620009938454620008d7565b8462000913565b602080601f831160018114620009d25760008415620009b95750858301515b600019600386901b1c1916600185901b1785556200095d565b600085815260208120601f198616915b8281101562000a0357888601518255948401946001909101908401620009e2565b508582101562000a225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000a8957816000190482111562000a6d5762000a6d62000a32565b8085161562000a7b57918102915b93841c939080029062000a4d565b509250929050565b60008262000aa257506001620007ab565b8162000ab157506000620007ab565b816001811462000aca576002811462000ad55762000af5565b6001915050620007ab565b60ff84111562000ae95762000ae962000a32565b50506001821b620007ab565b5060208310610133831016604e8410600b841016171562000b1a575081810a620007ab565b62000b26838362000a48565b806000190482111562000b3d5762000b3d62000a32565b029392505050565b6000620007a860ff84168362000a91565b8082028115828204841417620007ab57620007ab62000a32565b60006020828403121562000b8357600080fd5b81516001600160a01b0381168114620007a857600080fd5b80820180821115620007ab57620007ab62000a32565b60008262000bcf57634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000c035785810183015185820160400152820162000be5565b506000604082860101526040601f19601f8301168501019250505092915050565b608051612b5862000c47600039600081816105080152610dda0152612b586000f3fe6080604052600436106103e85760003560e01c806388790a6811610208578063bea32a5411610118578063d9419b73116100ab578063ea7a6eb11161007a578063ea7a6eb114610bda578063f0cd1dac14610bfa578063f2fde38b14610c10578063f3f941d514610c30578063f61ffad614610c4657600080fd5b8063d9419b7314610b24578063dc44b6a014610b45578063dd62ed3e14610b5b578063e0cde6c314610ba157600080fd5b8063c5d24189116100e7578063c5d2418914610ac2578063c816841b14610ad8578063c860795214610af8578063cab0347114610b0e57600080fd5b8063bea32a5414610a4c578063c2d4640e14610a6c578063c469b6dd14610a8c578063c49b9a8014610aa257600080fd5b8063a2a17cda1161019b578063a8e151501161016a578063a8e15150146109a7578063a9059cbb146109d7578063a911928c146109f7578063b1d747b114610a17578063b49ece6314610a2c57600080fd5b8063a2a17cda14610931578063a457c2d714610951578063a7c257b214610971578063a83f53a71461099157600080fd5b806395d89b41116101d757806395d89b41146108db578063962dc50a146108f0578063a073d37f14610906578063a08e671f1461091b57600080fd5b806388790a68146108725780638c2fc7ad146108885780638da5cb5b146108a8578063914eb66a146108c657600080fd5b806340aa81fe11610303578063614d19b8116102965780636ebb9cf5116102655780636ebb9cf5146107c657806370a08231146107e657806382eefb431461081c578063844d591c1461083257806387712e8c1461085257600080fd5b8063614d19b81461074f57806361a23c6914610770578063632e544214610786578063689b30c3146107a657600080fd5b806356de4976116102d257806356de4976146106c95780635785b651146106e957806357a5802f146107195780635b702a551461072f57600080fd5b806340aa81fe1461063857806342e0369d146106685780634a74bb021461068857806350b20cac146106a957600080fd5b80632af386051161037b5780633b97084a1161034a5780633b97084a146105a35780633e07387c146105c35780633e4e1728146105e35780633ecad2711461060857600080fd5b80632af386051461052a5780632b112e491461054c578063313ce56714610561578063395093511461058357600080fd5b806318160ddd116103b757806318160ddd146104ab578063222d3ab8146104c057806323b872dd146104d657806327c8f835146104f657600080fd5b806306fdde03146103f4578063095ea7b31461041f5780630c70a9921461044f5780631694505e1461047357600080fd5b366103ef57005b600080fd5b34801561040057600080fd5b50610409610c66565b60405161041691906125e0565b60405180910390f35b34801561042b57600080fd5b5061043f61043a366004612643565b610cf8565b6040519015158152602001610416565b34801561045b57600080fd5b50610465601b5481565b604051908152602001610416565b34801561047f57600080fd5b50601e54610493906001600160a01b031681565b6040516001600160a01b039091168152602001610416565b3480156104b757600080fd5b50601a54610465565b3480156104cc57600080fd5b5061046560085481565b3480156104e257600080fd5b5061043f6104f136600461266f565b610d0f565b34801561050257600080fd5b506104937f000000000000000000000000000000000000000000000000000000000000000081565b34801561053657600080fd5b5061054a6105453660046126c5565b610d7a565b005b34801561055857600080fd5b50610465610dd8565b34801561056d57600080fd5b5060035460405160ff9091168152602001610416565b34801561058f57600080fd5b5061043f61059e366004612643565b610e22565b3480156105af57600080fd5b5061054a6105be3660046126fa565b610e58565b3480156105cf57600080fd5b5061054a6105de366004612713565b610e87565b3480156105ef57600080fd5b506003546104939061010090046001600160a01b031681565b34801561061457600080fd5b5061043f61062336600461272e565b600c6020526000908152604090205460ff1681565b34801561064457600080fd5b5061043f61065336600461272e565b600a6020526000908152604090205460ff1681565b34801561067457600080fd5b5061054a610683366004612797565b610ecf565b34801561069457600080fd5b50601f5461043f90600160a81b900460ff1681565b3480156106b557600080fd5b5061054a6106c4366004612797565b610f7b565b3480156106d557600080fd5b5061054a6106e43660046126fa565b611021565b3480156106f557600080fd5b5061043f61070436600461272e565b600b6020526000908152604090205460ff1681565b34801561072557600080fd5b5061046560145481565b34801561073b57600080fd5b5061054a61074a3660046127eb565b611054565b34801561075b57600080fd5b50601f5461043f90600160b81b900460ff1681565b34801561077c57600080fd5b5061046560155481565b34801561079257600080fd5b5061054a6107a1366004612817565b6110a9565b3480156107b257600080fd5b5061054a6107c136600461272e565b611162565b3480156107d257600080fd5b5061054a6107e13660046127eb565b6111b4565b3480156107f257600080fd5b5061046561080136600461272e565b6001600160a01b031660009081526005602052604090205490565b34801561082857600080fd5b5061046560185481565b34801561083e57600080fd5b5061054a61084d3660046126c5565b611203565b34801561085e57600080fd5b5061054a61086d3660046126fa565b611258565b34801561087e57600080fd5b5061046560115481565b34801561089457600080fd5b5061054a6108a33660046126c5565b611287565b3480156108b457600080fd5b506000546001600160a01b0316610493565b3480156108d257600080fd5b5061054a6112dc565b3480156108e757600080fd5b50610409611356565b3480156108fc57600080fd5b50610465601c5481565b34801561091257600080fd5b50601d54610465565b34801561092757600080fd5b5061046560195481565b34801561093d57600080fd5b5061054a61094c3660046126c5565b611365565b34801561095d57600080fd5b5061043f61096c366004612643565b6113ba565b34801561097d57600080fd5b5061054a61098c3660046126fa565b611409565b34801561099d57600080fd5b5061046560165481565b3480156109b357600080fd5b5061043f6109c236600461272e565b60096020526000908152604090205460ff1681565b3480156109e357600080fd5b5061043f6109f2366004612643565b611438565b348015610a0357600080fd5b5061043f610a12366004612863565b101590565b348015610a2357600080fd5b5061054a611445565b348015610a3857600080fd5b5061054a610a47366004612713565b611476565b348015610a5857600080fd5b5061054a610a673660046126c5565b6114be565b348015610a7857600080fd5b5061054a610a873660046127eb565b611513565b348015610a9857600080fd5b5061046560105481565b348015610aae57600080fd5b5061054a610abd366004612713565b611562565b348015610ace57600080fd5b50610465600f5481565b348015610ae457600080fd5b50601f54610493906001600160a01b031681565b348015610b0457600080fd5b5061046560125481565b348015610b1a57600080fd5b5061046560135481565b348015610b3057600080fd5b50601f5461043f90600160b01b900460ff1681565b348015610b5157600080fd5b50610465600e5481565b348015610b6757600080fd5b50610465610b76366004612885565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610bad57600080fd5b5061043f610bbc36600461272e565b6001600160a01b03166000908152600d602052604090205460ff1690565b348015610be657600080fd5b50600454610493906001600160a01b031681565b348015610c0657600080fd5b5061046560175481565b348015610c1c57600080fd5b5061054a610c2b36600461272e565b6115e4565b348015610c3c57600080fd5b5061046560075481565b348015610c5257600080fd5b5061054a610c6136600461272e565b6116ce565b606060018054610c75906128be565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca1906128be565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000610d0533848461183d565b5060015b92915050565b6000610d1c848484611961565b50610d6f8433610d6a85604051806060016040528060288152602001612ad6602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611ed9565b61183d565b5060015b9392505050565b6000546001600160a01b03163314610dad5760405162461bcd60e51b8152600401610da4906128f8565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260056020526040812054601a54610e1d91611f13565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610d05918590610d6a908661171a565b6000546001600160a01b03163314610e825760405162461bcd60e51b8152600401610da4906128f8565b601d55565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610da4906128f8565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610ef95760405162461bcd60e51b8152600401610da4906128f8565b60c98210610f0657600080fd5b60005b82811015610f755781600d6000868685818110610f2857610f2861292d565b9050602002016020810190610f3d919061272e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610f6e81612959565b9050610f09565b50505050565b6000546001600160a01b03163314610fa55760405162461bcd60e51b8152600401610da4906128f8565b60c98210610fb257600080fd5b60005b82811015610f75578160096000868685818110610fd457610fd461292d565b9050602002016020810190610fe9919061272e565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561101a81612959565b9050610fb5565b6000546001600160a01b0316331461104b5760405162461bcd60e51b8152600401610da4906128f8565b60085543600755565b6000546001600160a01b0316331461107e5760405162461bcd60e51b8152600401610da4906128f8565b600e839055600f82905560108190556110a18161109b858561171a565b9061171a565b601755505050565b6000546001600160a01b031633146110d35760405162461bcd60e51b8152600401610da4906128f8565b6107d182106110e157600080fd5b60006110ed8383612972565b3360009081526005602052604090205490915081111561110c57600080fd5b60005b8381101561115b576111483386868481811061112d5761112d61292d565b9050602002016020810190611142919061272e565b85611f55565b508061115381612959565b91505061110f565b5050505050565b6000546001600160a01b0316331461118c5760405162461bcd60e51b8152600401610da4906128f8565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146111de5760405162461bcd60e51b8152600401610da4906128f8565b6011839055601282905560138190556111fb8161109b858561171a565b601855505050565b6000546001600160a01b0316331461122d5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112825760405162461bcd60e51b8152600401610da4906128f8565b601b55565b6000546001600160a01b031633146112b15760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113065760405162461bcd60e51b8152600401610da4906128f8565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b606060028054610c75906128be565b6000546001600160a01b0316331461138f5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610d053384610d6a85604051806060016040528060258152602001612afe602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611ed9565b6000546001600160a01b031633146114335760405162461bcd60e51b8152600401610da4906128f8565b601c55565b6000610d6f338484611961565b6000546001600160a01b0316331461146f5760405162461bcd60e51b8152600401610da4906128f8565b6000600755565b6000546001600160a01b031633146114a05760405162461bcd60e51b8152600401610da4906128f8565b601f8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146114e85760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461153d5760405162461bcd60e51b8152600401610da4906128f8565b60148390556015829055601681905561155a8161109b858561171a565b601955505050565b6000546001600160a01b0316331461158c5760405162461bcd60e51b8152600401610da4906128f8565b601f8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906115d990831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461160e5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b0381166116735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610da4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116f85760405162461bcd60e51b8152600401610da4906128f8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000806117278385612989565b905083811015610d735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610da4565b60008260000361178b57506000610d09565b60006117978385612972565b9050826117a4858361299c565b14610d735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610da4565b6000610d7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061203b565b6001600160a01b03831661189f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610da4565b6001600160a01b0382166119005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610da4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166119c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610da4565b6001600160a01b038316611a295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610da4565b601f54600160a01b900460ff1615611a4d57611a46848484611f55565b9050610d73565b6001600160a01b0384166000908152600b602052604090205460ff16158015611a8f57506001600160a01b0383166000908152600b602052604090205460ff16155b15611aa957611aa082601b54101590565b611aa957600080fd5b6001600160a01b03841660009081526009602052604090205460ff16158015611aeb57506001600160a01b03831660009081526009602052604090205460ff16155b15611b61576000805b60028113611b505760408051602081018390529081018590524260608201526080016040516020818303038152906040528051906020012060001c9150611b3d86836064611f55565b5080611b48816129be565b915050611af4565b50611b5d61012c846129d6565b9250505b30600090815260056020526040902054601d5481108015908190611b8f5750601f54600160a01b900460ff16155b8015611bb457506001600160a01b0386166000908152600c602052604090205460ff16155b8015611bc95750601f54600160a81b900460ff165b15611bef57601f54600160b01b900460ff1615611be657601d5491505b611bef82612069565b6001600160a01b03861660009081526009602052604081205460ff1680611c2e57506001600160a01b03861660009081526009602052604090205460ff165b15611cfd575060035484906001600160a01b038089166101009092041603611c8d576001600160a01b038716600090815260056020526040902054611c73908661171a565b6001600160a01b0388166000908152600560205260409020555b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a16600090815260059091529190912054611cdf918790611ed9565b6001600160a01b038816600090815260056020526040902055611de0565b600060075411611d0c57600080fd5b611d2043600854600754610a129190612989565b8015611d4557506001600160a01b0386166000908152600c602052604090205460ff16155b15611d5357611d53866121a4565b611d5e878787612212565b9050611dc68560405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008b6001600160a01b03166001600160a01b0316815260200190815260200160002054611ed99092919063ffffffff16565b6001600160a01b0388166000908152600560205260409020555b601f54600160b81b900460ff168015611e1257506001600160a01b0386166000908152600a602052604090205460ff16155b15611e4e57611e45611e3d8261109b896001600160a01b031660009081526005602052604090205490565b601c54101590565b611e4e57600080fd5b6001600160a01b038616600090815260056020526040902054611e71908261171a565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec59085815260200190565b60405180910390a360019350505050610d73565b60008184841115611efd5760405162461bcd60e51b8152600401610da491906125e0565b506000611f0a84866129d6565b95945050505050565b6000610d7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ed9565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611fa6918490611ed9565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611fd5908361171a565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120299086815260200190565b60405180910390a35060019392505050565b6000818361205c5760405162461bcd60e51b8152600401610da491906125e0565b506000611f0a848661299c565b601f805460ff60a01b1916600160a01b17905560195460145460009161209f916002916120999182908790611779565b906117fb565b905060006120ad8383611f13565b90506120b881612361565b60145447906000906120d8906120cf9060026117fb565b60195490611f13565b905060006120fa6002612099846120996014548861177990919063ffffffff16565b90506000612117836120996016548761177990919063ffffffff16565b9050600061212f826121298786611f13565b90611f13565b90508015612152576003546121529061010090046001600160a01b0316826124f4565b811561216e5760045461216e906001600160a01b0316836124f4565b60008311801561217e5750600087115b1561218d5761218d878461252f565b5050601f805460ff60a01b19169055505050505050565b6001600160a01b0381166000908152600d602052604090205460ff161580156121e657506001600160a01b0381166000908152600c602052604090205460ff16155b1561220f576001600160a01b0381166000908152600d60205260409020805460ff191660011790555b50565b6001600160a01b0383166000908152600c6020526040812054819060ff16156122565761224f60646120996017548661177990919063ffffffff16565b9050612294565b6001600160a01b0384166000908152600c602052604090205460ff16156122945761229160646120996018548661177990919063ffffffff16565b90505b6001600160a01b0385166000908152600d602052604090205460ff1680156122d557506001600160a01b0385166000908152600c602052604090205460ff16155b156122dd5750815b801561235757306000908152600560205260409020546122fd908261171a565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061234e9085815260200190565b60405180910390a35b611f0a8382611f13565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123965761239661292d565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156123ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061241391906129e9565b816001815181106124265761242661292d565b6001600160a01b039283166020918202929092010152601e5461244c913091168461183d565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612485908590600090869030904290600401612a4a565b600060405180830381600087803b15801561249f57600080fd5b505af11580156124b3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516124e8929190612a86565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561252a573d6000803e3d6000fd5b505050565b601e546125479030906001600160a01b03168461183d565b601e546004805460405163f305d71960e01b815230928101929092526024820185905260006044830181905260648301526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af11580156125bb573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115b9190612aa7565b600060208083528351808285015260005b8181101561260d578581018301518582016040015282016125f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461220f57600080fd5b6000806040838503121561265657600080fd5b82356126618161262e565b946020939093013593505050565b60008060006060848603121561268457600080fd5b833561268f8161262e565b9250602084013561269f8161262e565b929592945050506040919091013590565b803580151581146126c057600080fd5b919050565b600080604083850312156126d857600080fd5b82356126e38161262e565b91506126f1602084016126b0565b90509250929050565b60006020828403121561270c57600080fd5b5035919050565b60006020828403121561272557600080fd5b610d73826126b0565b60006020828403121561274057600080fd5b8135610d738161262e565b60008083601f84011261275d57600080fd5b50813567ffffffffffffffff81111561277557600080fd5b6020830191508360208260051b850101111561279057600080fd5b9250929050565b6000806000604084860312156127ac57600080fd5b833567ffffffffffffffff8111156127c357600080fd5b6127cf8682870161274b565b90945092506127e29050602085016126b0565b90509250925092565b60008060006060848603121561280057600080fd5b505081359360208301359350604090920135919050565b60008060006040848603121561282c57600080fd5b833567ffffffffffffffff81111561284357600080fd5b61284f8682870161274b565b909790965060209590950135949350505050565b6000806040838503121561287657600080fd5b50508035926020909101359150565b6000806040838503121561289857600080fd5b82356128a38161262e565b915060208301356128b38161262e565b809150509250929050565b600181811c908216806128d257607f821691505b6020821081036128f257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161296b5761296b612943565b5060010190565b8082028115828204841417610d0957610d09612943565b80820180821115610d0957610d09612943565b6000826129b957634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160ff1b01820161296b5761296b612943565b81810381811115610d0957610d09612943565b6000602082840312156129fb57600080fd5b8151610d738161262e565b600081518084526020808501945080840160005b83811015612a3f5781516001600160a01b031687529582019590820190600101612a1a565b509495945050505050565b85815284602082015260a060408201526000612a6960a0830186612a06565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612a9f6040830184612a06565b949350505050565b600080600060608486031215612abc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e5a571347346e3b01f852bb6d39734e2a37615f2636223bfdf6ca3690b8fe72f64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106103e85760003560e01c806388790a6811610208578063bea32a5411610118578063d9419b73116100ab578063ea7a6eb11161007a578063ea7a6eb114610bda578063f0cd1dac14610bfa578063f2fde38b14610c10578063f3f941d514610c30578063f61ffad614610c4657600080fd5b8063d9419b7314610b24578063dc44b6a014610b45578063dd62ed3e14610b5b578063e0cde6c314610ba157600080fd5b8063c5d24189116100e7578063c5d2418914610ac2578063c816841b14610ad8578063c860795214610af8578063cab0347114610b0e57600080fd5b8063bea32a5414610a4c578063c2d4640e14610a6c578063c469b6dd14610a8c578063c49b9a8014610aa257600080fd5b8063a2a17cda1161019b578063a8e151501161016a578063a8e15150146109a7578063a9059cbb146109d7578063a911928c146109f7578063b1d747b114610a17578063b49ece6314610a2c57600080fd5b8063a2a17cda14610931578063a457c2d714610951578063a7c257b214610971578063a83f53a71461099157600080fd5b806395d89b41116101d757806395d89b41146108db578063962dc50a146108f0578063a073d37f14610906578063a08e671f1461091b57600080fd5b806388790a68146108725780638c2fc7ad146108885780638da5cb5b146108a8578063914eb66a146108c657600080fd5b806340aa81fe11610303578063614d19b8116102965780636ebb9cf5116102655780636ebb9cf5146107c657806370a08231146107e657806382eefb431461081c578063844d591c1461083257806387712e8c1461085257600080fd5b8063614d19b81461074f57806361a23c6914610770578063632e544214610786578063689b30c3146107a657600080fd5b806356de4976116102d257806356de4976146106c95780635785b651146106e957806357a5802f146107195780635b702a551461072f57600080fd5b806340aa81fe1461063857806342e0369d146106685780634a74bb021461068857806350b20cac146106a957600080fd5b80632af386051161037b5780633b97084a1161034a5780633b97084a146105a35780633e07387c146105c35780633e4e1728146105e35780633ecad2711461060857600080fd5b80632af386051461052a5780632b112e491461054c578063313ce56714610561578063395093511461058357600080fd5b806318160ddd116103b757806318160ddd146104ab578063222d3ab8146104c057806323b872dd146104d657806327c8f835146104f657600080fd5b806306fdde03146103f4578063095ea7b31461041f5780630c70a9921461044f5780631694505e1461047357600080fd5b366103ef57005b600080fd5b34801561040057600080fd5b50610409610c66565b60405161041691906125e0565b60405180910390f35b34801561042b57600080fd5b5061043f61043a366004612643565b610cf8565b6040519015158152602001610416565b34801561045b57600080fd5b50610465601b5481565b604051908152602001610416565b34801561047f57600080fd5b50601e54610493906001600160a01b031681565b6040516001600160a01b039091168152602001610416565b3480156104b757600080fd5b50601a54610465565b3480156104cc57600080fd5b5061046560085481565b3480156104e257600080fd5b5061043f6104f136600461266f565b610d0f565b34801561050257600080fd5b506104937f000000000000000000000000000000000000000000000000000000000000dead81565b34801561053657600080fd5b5061054a6105453660046126c5565b610d7a565b005b34801561055857600080fd5b50610465610dd8565b34801561056d57600080fd5b5060035460405160ff9091168152602001610416565b34801561058f57600080fd5b5061043f61059e366004612643565b610e22565b3480156105af57600080fd5b5061054a6105be3660046126fa565b610e58565b3480156105cf57600080fd5b5061054a6105de366004612713565b610e87565b3480156105ef57600080fd5b506003546104939061010090046001600160a01b031681565b34801561061457600080fd5b5061043f61062336600461272e565b600c6020526000908152604090205460ff1681565b34801561064457600080fd5b5061043f61065336600461272e565b600a6020526000908152604090205460ff1681565b34801561067457600080fd5b5061054a610683366004612797565b610ecf565b34801561069457600080fd5b50601f5461043f90600160a81b900460ff1681565b3480156106b557600080fd5b5061054a6106c4366004612797565b610f7b565b3480156106d557600080fd5b5061054a6106e43660046126fa565b611021565b3480156106f557600080fd5b5061043f61070436600461272e565b600b6020526000908152604090205460ff1681565b34801561072557600080fd5b5061046560145481565b34801561073b57600080fd5b5061054a61074a3660046127eb565b611054565b34801561075b57600080fd5b50601f5461043f90600160b81b900460ff1681565b34801561077c57600080fd5b5061046560155481565b34801561079257600080fd5b5061054a6107a1366004612817565b6110a9565b3480156107b257600080fd5b5061054a6107c136600461272e565b611162565b3480156107d257600080fd5b5061054a6107e13660046127eb565b6111b4565b3480156107f257600080fd5b5061046561080136600461272e565b6001600160a01b031660009081526005602052604090205490565b34801561082857600080fd5b5061046560185481565b34801561083e57600080fd5b5061054a61084d3660046126c5565b611203565b34801561085e57600080fd5b5061054a61086d3660046126fa565b611258565b34801561087e57600080fd5b5061046560115481565b34801561089457600080fd5b5061054a6108a33660046126c5565b611287565b3480156108b457600080fd5b506000546001600160a01b0316610493565b3480156108d257600080fd5b5061054a6112dc565b3480156108e757600080fd5b50610409611356565b3480156108fc57600080fd5b50610465601c5481565b34801561091257600080fd5b50601d54610465565b34801561092757600080fd5b5061046560195481565b34801561093d57600080fd5b5061054a61094c3660046126c5565b611365565b34801561095d57600080fd5b5061043f61096c366004612643565b6113ba565b34801561097d57600080fd5b5061054a61098c3660046126fa565b611409565b34801561099d57600080fd5b5061046560165481565b3480156109b357600080fd5b5061043f6109c236600461272e565b60096020526000908152604090205460ff1681565b3480156109e357600080fd5b5061043f6109f2366004612643565b611438565b348015610a0357600080fd5b5061043f610a12366004612863565b101590565b348015610a2357600080fd5b5061054a611445565b348015610a3857600080fd5b5061054a610a47366004612713565b611476565b348015610a5857600080fd5b5061054a610a673660046126c5565b6114be565b348015610a7857600080fd5b5061054a610a873660046127eb565b611513565b348015610a9857600080fd5b5061046560105481565b348015610aae57600080fd5b5061054a610abd366004612713565b611562565b348015610ace57600080fd5b50610465600f5481565b348015610ae457600080fd5b50601f54610493906001600160a01b031681565b348015610b0457600080fd5b5061046560125481565b348015610b1a57600080fd5b5061046560135481565b348015610b3057600080fd5b50601f5461043f90600160b01b900460ff1681565b348015610b5157600080fd5b50610465600e5481565b348015610b6757600080fd5b50610465610b76366004612885565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610bad57600080fd5b5061043f610bbc36600461272e565b6001600160a01b03166000908152600d602052604090205460ff1690565b348015610be657600080fd5b50600454610493906001600160a01b031681565b348015610c0657600080fd5b5061046560175481565b348015610c1c57600080fd5b5061054a610c2b36600461272e565b6115e4565b348015610c3c57600080fd5b5061046560075481565b348015610c5257600080fd5b5061054a610c6136600461272e565b6116ce565b606060018054610c75906128be565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca1906128be565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000610d0533848461183d565b5060015b92915050565b6000610d1c848484611961565b50610d6f8433610d6a85604051806060016040528060288152602001612ad6602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611ed9565b61183d565b5060015b9392505050565b6000546001600160a01b03163314610dad5760405162461bcd60e51b8152600401610da4906128f8565b60405180910390fd5b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260056020526040812054601a54610e1d91611f13565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610d05918590610d6a908661171a565b6000546001600160a01b03163314610e825760405162461bcd60e51b8152600401610da4906128f8565b601d55565b6000546001600160a01b03163314610eb15760405162461bcd60e51b8152600401610da4906128f8565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610ef95760405162461bcd60e51b8152600401610da4906128f8565b60c98210610f0657600080fd5b60005b82811015610f755781600d6000868685818110610f2857610f2861292d565b9050602002016020810190610f3d919061272e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610f6e81612959565b9050610f09565b50505050565b6000546001600160a01b03163314610fa55760405162461bcd60e51b8152600401610da4906128f8565b60c98210610fb257600080fd5b60005b82811015610f75578160096000868685818110610fd457610fd461292d565b9050602002016020810190610fe9919061272e565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561101a81612959565b9050610fb5565b6000546001600160a01b0316331461104b5760405162461bcd60e51b8152600401610da4906128f8565b60085543600755565b6000546001600160a01b0316331461107e5760405162461bcd60e51b8152600401610da4906128f8565b600e839055600f82905560108190556110a18161109b858561171a565b9061171a565b601755505050565b6000546001600160a01b031633146110d35760405162461bcd60e51b8152600401610da4906128f8565b6107d182106110e157600080fd5b60006110ed8383612972565b3360009081526005602052604090205490915081111561110c57600080fd5b60005b8381101561115b576111483386868481811061112d5761112d61292d565b9050602002016020810190611142919061272e565b85611f55565b508061115381612959565b91505061110f565b5050505050565b6000546001600160a01b0316331461118c5760405162461bcd60e51b8152600401610da4906128f8565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146111de5760405162461bcd60e51b8152600401610da4906128f8565b6011839055601282905560138190556111fb8161109b858561171a565b601855505050565b6000546001600160a01b0316331461122d5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146112825760405162461bcd60e51b8152600401610da4906128f8565b601b55565b6000546001600160a01b031633146112b15760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146113065760405162461bcd60e51b8152600401610da4906128f8565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b606060028054610c75906128be565b6000546001600160a01b0316331461138f5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610d053384610d6a85604051806060016040528060258152602001612afe602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611ed9565b6000546001600160a01b031633146114335760405162461bcd60e51b8152600401610da4906128f8565b601c55565b6000610d6f338484611961565b6000546001600160a01b0316331461146f5760405162461bcd60e51b8152600401610da4906128f8565b6000600755565b6000546001600160a01b031633146114a05760405162461bcd60e51b8152600401610da4906128f8565b601f8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146114e85760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461153d5760405162461bcd60e51b8152600401610da4906128f8565b60148390556015829055601681905561155a8161109b858561171a565b601955505050565b6000546001600160a01b0316331461158c5760405162461bcd60e51b8152600401610da4906128f8565b601f8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906115d990831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461160e5760405162461bcd60e51b8152600401610da4906128f8565b6001600160a01b0381166116735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610da4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116f85760405162461bcd60e51b8152600401610da4906128f8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000806117278385612989565b905083811015610d735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610da4565b60008260000361178b57506000610d09565b60006117978385612972565b9050826117a4858361299c565b14610d735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610da4565b6000610d7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061203b565b6001600160a01b03831661189f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610da4565b6001600160a01b0382166119005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610da4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166119c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610da4565b6001600160a01b038316611a295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610da4565b601f54600160a01b900460ff1615611a4d57611a46848484611f55565b9050610d73565b6001600160a01b0384166000908152600b602052604090205460ff16158015611a8f57506001600160a01b0383166000908152600b602052604090205460ff16155b15611aa957611aa082601b54101590565b611aa957600080fd5b6001600160a01b03841660009081526009602052604090205460ff16158015611aeb57506001600160a01b03831660009081526009602052604090205460ff16155b15611b61576000805b60028113611b505760408051602081018390529081018590524260608201526080016040516020818303038152906040528051906020012060001c9150611b3d86836064611f55565b5080611b48816129be565b915050611af4565b50611b5d61012c846129d6565b9250505b30600090815260056020526040902054601d5481108015908190611b8f5750601f54600160a01b900460ff16155b8015611bb457506001600160a01b0386166000908152600c602052604090205460ff16155b8015611bc95750601f54600160a81b900460ff165b15611bef57601f54600160b01b900460ff1615611be657601d5491505b611bef82612069565b6001600160a01b03861660009081526009602052604081205460ff1680611c2e57506001600160a01b03861660009081526009602052604090205460ff165b15611cfd575060035484906001600160a01b038089166101009092041603611c8d576001600160a01b038716600090815260056020526040902054611c73908661171a565b6001600160a01b0388166000908152600560205260409020555b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a16600090815260059091529190912054611cdf918790611ed9565b6001600160a01b038816600090815260056020526040902055611de0565b600060075411611d0c57600080fd5b611d2043600854600754610a129190612989565b8015611d4557506001600160a01b0386166000908152600c602052604090205460ff16155b15611d5357611d53866121a4565b611d5e878787612212565b9050611dc68560405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008b6001600160a01b03166001600160a01b0316815260200190815260200160002054611ed99092919063ffffffff16565b6001600160a01b0388166000908152600560205260409020555b601f54600160b81b900460ff168015611e1257506001600160a01b0386166000908152600a602052604090205460ff16155b15611e4e57611e45611e3d8261109b896001600160a01b031660009081526005602052604090205490565b601c54101590565b611e4e57600080fd5b6001600160a01b038616600090815260056020526040902054611e71908261171a565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec59085815260200190565b60405180910390a360019350505050610d73565b60008184841115611efd5760405162461bcd60e51b8152600401610da491906125e0565b506000611f0a84866129d6565b95945050505050565b6000610d7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ed9565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054611fa6918490611ed9565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611fd5908361171a565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120299086815260200190565b60405180910390a35060019392505050565b6000818361205c5760405162461bcd60e51b8152600401610da491906125e0565b506000611f0a848661299c565b601f805460ff60a01b1916600160a01b17905560195460145460009161209f916002916120999182908790611779565b906117fb565b905060006120ad8383611f13565b90506120b881612361565b60145447906000906120d8906120cf9060026117fb565b60195490611f13565b905060006120fa6002612099846120996014548861177990919063ffffffff16565b90506000612117836120996016548761177990919063ffffffff16565b9050600061212f826121298786611f13565b90611f13565b90508015612152576003546121529061010090046001600160a01b0316826124f4565b811561216e5760045461216e906001600160a01b0316836124f4565b60008311801561217e5750600087115b1561218d5761218d878461252f565b5050601f805460ff60a01b19169055505050505050565b6001600160a01b0381166000908152600d602052604090205460ff161580156121e657506001600160a01b0381166000908152600c602052604090205460ff16155b1561220f576001600160a01b0381166000908152600d60205260409020805460ff191660011790555b50565b6001600160a01b0383166000908152600c6020526040812054819060ff16156122565761224f60646120996017548661177990919063ffffffff16565b9050612294565b6001600160a01b0384166000908152600c602052604090205460ff16156122945761229160646120996018548661177990919063ffffffff16565b90505b6001600160a01b0385166000908152600d602052604090205460ff1680156122d557506001600160a01b0385166000908152600c602052604090205460ff16155b156122dd5750815b801561235757306000908152600560205260409020546122fd908261171a565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061234e9085815260200190565b60405180910390a35b611f0a8382611f13565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123965761239661292d565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156123ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061241391906129e9565b816001815181106124265761242661292d565b6001600160a01b039283166020918202929092010152601e5461244c913091168461183d565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612485908590600090869030904290600401612a4a565b600060405180830381600087803b15801561249f57600080fd5b505af11580156124b3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516124e8929190612a86565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561252a573d6000803e3d6000fd5b505050565b601e546125479030906001600160a01b03168461183d565b601e546004805460405163f305d71960e01b815230928101929092526024820185905260006044830181905260648301526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af11580156125bb573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115b9190612aa7565b600060208083528351808285015260005b8181101561260d578581018301518582016040015282016125f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461220f57600080fd5b6000806040838503121561265657600080fd5b82356126618161262e565b946020939093013593505050565b60008060006060848603121561268457600080fd5b833561268f8161262e565b9250602084013561269f8161262e565b929592945050506040919091013590565b803580151581146126c057600080fd5b919050565b600080604083850312156126d857600080fd5b82356126e38161262e565b91506126f1602084016126b0565b90509250929050565b60006020828403121561270c57600080fd5b5035919050565b60006020828403121561272557600080fd5b610d73826126b0565b60006020828403121561274057600080fd5b8135610d738161262e565b60008083601f84011261275d57600080fd5b50813567ffffffffffffffff81111561277557600080fd5b6020830191508360208260051b850101111561279057600080fd5b9250929050565b6000806000604084860312156127ac57600080fd5b833567ffffffffffffffff8111156127c357600080fd5b6127cf8682870161274b565b90945092506127e29050602085016126b0565b90509250925092565b60008060006060848603121561280057600080fd5b505081359360208301359350604090920135919050565b60008060006040848603121561282c57600080fd5b833567ffffffffffffffff81111561284357600080fd5b61284f8682870161274b565b909790965060209590950135949350505050565b6000806040838503121561287657600080fd5b50508035926020909101359150565b6000806040838503121561289857600080fd5b82356128a38161262e565b915060208301356128b38161262e565b809150509250929050565b600181811c908216806128d257607f821691505b6020821081036128f257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161296b5761296b612943565b5060010190565b8082028115828204841417610d0957610d09612943565b80820180821115610d0957610d09612943565b6000826129b957634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160ff1b01820161296b5761296b612943565b81810381811115610d0957610d09612943565b6000602082840312156129fb57600080fd5b8151610d738161262e565b600081518084526020808501945080840160005b83811015612a3f5781516001600160a01b031687529582019590820190600101612a1a565b509495945050505050565b85815284602082015260a060408201526000612a6960a0830186612a06565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612a9f6040830184612a06565b949350505050565b600080600060608486031215612abc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e5a571347346e3b01f852bb6d39734e2a37615f2636223bfdf6ca3690b8fe72f64736f6c63430008110033

Deployed Bytecode Sourcemap

21571:428:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8845:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10139:161;;;;;;;;;;-1:-1:-1;10139:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10139:161:0;1023:187:1;5756:26:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5756:26:0;1215:177:1;5873:41:0;;;;;;;;;;-1:-1:-1;5873:41:0;;;;-1:-1:-1;;;;;5873:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;5873:41:0;1397:229:1;9122:100:0;;;;;;;;;;-1:-1:-1;9202:12:0;;9122:100;;4957:20;;;;;;;;;;;;;;;;13971:313;;;;;;;;;;-1:-1:-1;13971:313:0;;;;;:::i;:::-;;:::i;4704:81::-;;;;;;;;;;;;;;;10929:135;;;;;;;;;;-1:-1:-1;10929:135:0;;;;;:::i;:::-;;:::i;:::-;;13432:128;;;;;;;;;;;;;:::i;9031:83::-;;;;;;;;;;-1:-1:-1;9097:9:0;;9031:83;;9097:9;;;;2927:36:1;;2915:2;2900:18;9031:83:0;2785:184:1;9508:218:0;;;;;;;;;;-1:-1:-1;9508:218:0;;;;;:::i;:::-;;:::i;12728:124::-;;;;;;;;;;-1:-1:-1;12728:124:0;;;;;:::i;:::-;;:::i;13295:125::-;;;;;;;;;;-1:-1:-1;13295:125:0;;;;;:::i;:::-;;:::i;4619:36::-;;;;;;;;;;-1:-1:-1;4619:36:0;;;;;;;-1:-1:-1;;;;;4619:36:0;;;5154:45;;;;;;;;;;-1:-1:-1;5154:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5045:47;;;;;;;;;;-1:-1:-1;5045:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14942:247;;;;;;;;;;-1:-1:-1;14942:247:0;;;;;:::i;:::-;;:::i;5988:40::-;;;;;;;;;;-1:-1:-1;5988:40:0;;;;-1:-1:-1;;;5988:40:0;;;;;;11072:260;;;;;;;;;;-1:-1:-1;11072:260:0;;;;;:::i;:::-;;:::i;15326:113::-;;;;;;;;;;-1:-1:-1;15326:113:0;;;;;:::i;:::-;;:::i;5099:48::-;;;;;;;;;;-1:-1:-1;5099:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5486:30;;;;;;;;;;;;;;;;11340:255;;;;;;;;;;-1:-1:-1;11340:255:0;;;;;:::i;:::-;;:::i;6087:29::-;;;;;;;;;;-1:-1:-1;6087:29:0;;;;-1:-1:-1;;;6087:29:0;;;;;;5523:30;;;;;;;;;;;;;;;;14407:368;;;;;;;;;;-1:-1:-1;14407:368:0;;;;;:::i;:::-;;:::i;12860:121::-;;;;;;;;;;-1:-1:-1;12860:121:0;;;;;:::i;:::-;;:::i;11603:262::-;;;;;;;;;;-1:-1:-1;11603:262:0;;;;;:::i;:::-;;:::i;9230:119::-;;;;;;;;;;-1:-1:-1;9230:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9323:18:0;9296:7;9323:18;;;:9;:18;;;;;;;9230:119;5633:33;;;;;;;;;;;;;;;;10653:129;;;;;;;;;;-1:-1:-1;10653:129:0;;;;;:::i;:::-;;:::i;12247:113::-;;;;;;;;;;-1:-1:-1;12247:113:0;;;;;:::i;:::-;;:::i;5372:32::-;;;;;;;;;;;;;;;;12471:125;;;;;;;;;;-1:-1:-1;12471:125:0;;;;;:::i;:::-;;:::i;2971:79::-;;;;;;;;;;-1:-1:-1;3009:7:0;3036:6;-1:-1:-1;;;;;3036:6:0;2971:79;;3196:155;;;;;;;;;;;;;:::i;8936:87::-;;;;;;;;;;;;;:::i;5790:27::-;;;;;;;;;;;;;;;;10011:120;;;;;;;;;;-1:-1:-1;10100:23:0;;10011:120;;5673:39;;;;;;;;;;;;;;;;10790:127;;;;;;;;;;-1:-1:-1;10790:127:0;;;;;:::i;:::-;;:::i;9734:269::-;;;;;;;;;;-1:-1:-1;9734:269:0;;;;;:::i;:::-;;:::i;12604:116::-;;;;;;;;;;-1:-1:-1;12604:116:0;;;;;:::i;:::-;;:::i;5560:25::-;;;;;;;;;;;;;;;;4988:50;;;;;;;;;;-1:-1:-1;4988:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13796:167;;;;;;;;;;-1:-1:-1;13796:167:0;;;;;:::i;:::-;;:::i;18065:86::-;;;;;;;;;;-1:-1:-1;18065:86:0;;;;;:::i;:::-;-1:-1:-1;18144:4:0;;18065:86;15447:73;;;;;;;;;;;;;:::i;12368:95::-;;;;;;;;;;-1:-1:-1;12368:95:0;;;;;:::i;:::-;;:::i;15197:121::-;;;;;;;;;;-1:-1:-1;15197:121:0;;;;;:::i;:::-;;:::i;11877:358::-;;;;;;;;;;-1:-1:-1;11877:358:0;;;;;:::i;:::-;;:::i;5333:26::-;;;;;;;;;;;;;;;;13116:171;;;;;;;;;;-1:-1:-1;13116:171:0;;;;;:::i;:::-;;:::i;5295:31::-;;;;;;;;;;;;;;;;5921:26;;;;;;;;;;-1:-1:-1;5921:26:0;;;;-1:-1:-1;;;;;5921:26:0;;;5411:32;;;;;;;;;;;;;;;;5450:27;;;;;;;;;;;;;;;;6035:45;;;;;;;;;;-1:-1:-1;6035:45:0;;;;-1:-1:-1;;;6035:45:0;;;;;;5257:31;;;;;;;;;;;;;;;;9357:143;;;;;;;;;;-1:-1:-1;9357:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9465:18:0;;;9438:7;9465:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9357:143;14292:107;;;;;;;;;;-1:-1:-1;14292:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;14372:19:0;14348:4;14372:19;;;:10;:19;;;;;;;;;14292:107;4662:35;;;;;;;;;;-1:-1:-1;4662:35:0;;;;-1:-1:-1;;;;;4662:35:0;;;5594:32;;;;;;;;;;;;;;;;3359:244;;;;;;;;;;-1:-1:-1;3359:244:0;;;;;:::i;:::-;;:::i;4925:25::-;;;;;;;;;;;;;;;;12989:119;;;;;;;;;;-1:-1:-1;12989:119:0;;;;;:::i;:::-;;:::i;8845:83::-;8882:13;8915:5;8908:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8845:83;:::o;10139:161::-;10214:4;10231:39;361:10;10254:7;10263:6;10231:8;:39::i;:::-;-1:-1:-1;10288:4:0;10139:161;;;;;:::o;13971:313::-;14069:4;14086:36;14096:6;14104:9;14115:6;14086:9;:36::i;:::-;-1:-1:-1;14133:121:0;14142:6;361:10;14164:89;14202:6;14164:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14164:19:0;;;;;;:11;:19;;;;;;;;361:10;14164:33;;;;;;;;;;:37;:89::i;:::-;14133:8;:121::i;:::-;-1:-1:-1;14272:4:0;13971:313;;;;;;:::o;10929:135::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11019:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;11019:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10929:135::o;13432:128::-;13539:11;-1:-1:-1;;;;;9323:18:0;13485:7;9323:18;;;:9;:18;;;;;;13512:12;;:40;;:16;:40::i;:::-;13505:47;;13432:128;:::o;9508:218::-;361:10;9596:4;9645:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9645:34:0;;;;;;;;;;9596:4;;9613:83;;9636:7;;9645:50;;9684:10;9645:38;:50::i;12728:124::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12810:23:::1;:34:::0;12728:124::o;13295:125::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;13376:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;13376:36:0::1;-1:-1:-1::0;;;;13376:36:0;;::::1;::::0;;;::::1;::::0;;13295:125::o;14942:247::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;15064:3:::1;15045:22:::0;::::1;15037:31;;;::::0;::::1;;15084:9;15079:103;15095:20:::0;;::::1;15079:103;;;15164:6;15137:10;:24;15148:9;;15158:1;15148:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15137:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15137:24:0;:33;;-1:-1:-1;;15137:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15117:3:::1;::::0;::::1;:::i;:::-;;;15079:103;;;;14942:247:::0;;;:::o;11072:260::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;11200:3:::1;11181:22:::0;::::1;11173:31;;;::::0;::::1;;11220:9;11215:110;11231:20:::0;;::::1;11215:110;;;11307:6;11273:17;:31;11291:9;;11301:1;11291:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11273:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11273:31:0;:40;;-1:-1:-1;;11273:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11253:3:::1;::::0;::::1;:::i;:::-;;;11215:110;;15326:113:::0;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;15386:5:::1;:9:::0;15419:12:::1;15406:10;:25:::0;15326:113::o;11340:255::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;11422:16:::1;:20:::0;;;11453:16:::1;:20:::0;;;11484:11:::1;:15:::0;;;11532:55:::1;11498:1:::0;11532:38:::1;11441:1:::0;11472;11532:20:::1;:38::i;:::-;:42:::0;::::1;:55::i;:::-;11512:17;:75:::0;-1:-1:-1;;;11340:255:0:o;14407:368::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;14539:4:::1;14520:23:::0;::::1;14512:32;;;::::0;::::1;;14555:12;14570:25;14579:9:::0;14570:6;:25:::1;:::i;:::-;14624:10;9296:7:::0;9323:18;;;:9;:18;;;;;;14555:40;;-1:-1:-1;14555:40:0;-1:-1:-1;14614:29:0::1;14606:38;;;::::0;::::1;;14659:6;14655:113;14669:20:::0;;::::1;14655:113;;;14710:46;14725:10;14736:9;;14746:1;14736:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14749:6;14710:14;:46::i;:::-;-1:-1:-1::0;14691:3:0;::::1;::::0;::::1;:::i;:::-;;;;14655:113;;;;14501:274;14407:368:::0;;;:::o;12860:121::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12938:13:::1;:35:::0;;-1:-1:-1;;;;;12938:35:0;;::::1;;;-1:-1:-1::0;;;;;;12938:35:0;;::::1;::::0;;;::::1;::::0;;12860:121::o;11603:262::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;11685:17:::1;:21:::0;;;11717:17:::1;:21:::0;;;11749:12:::1;:16:::0;;;11799:58:::1;11764:1:::0;11799:40:::1;11705:1:::0;11737;11799:21:::1;:40::i;:58::-;11778:18;:79:::0;-1:-1:-1;;;11603:262:0:o;10653:129::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10742:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;10742:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10653:129::o;12247:113::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12325:11:::1;:27:::0;12247:113::o;12471:125::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12557:22:0;;;::::1;;::::0;;;:14:::1;:22;::::0;;;;:31;;-1:-1:-1;;12557:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12471:125::o;3196:155::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;3284:6:::1;::::0;;3263:45:::1;::::0;3300:6:::1;::::0;-1:-1:-1;;;;;3284:6:0;;::::1;::::0;3263:45:::1;::::0;::::1;3319:6;:24:::0;;-1:-1:-1;;;;;;3319:24:0::1;3336:6;3319:24;::::0;;3196:155::o;8936:87::-;8975:13;9008:7;9001:14;;;;;:::i;10790:127::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10877:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10877:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10790:127::o;9734:269::-;9827:4;9844:129;361:10;9867:7;9876:96;9915:15;9876:96;;;;;;;;;;;;;;;;;361:10;9876:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9876:34:0;;;;;;;;;;;;:38;:96::i;12604:116::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12682:12:::1;:30:::0;12604:116::o;13796:167::-;13874:4;13891:42;361:10;13915:9;13926:6;13891:9;:42::i;15447:73::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;15511:1:::1;15498:10;:14:::0;15447:73::o;12368:95::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12434:10:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12434:21:0::1;-1:-1:-1::0;;;;12434:21:0;;::::1;::::0;;;::::1;::::0;;12368:95::o;15197:121::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15280:21:0;;;::::1;;::::0;;;:10:::1;:21;::::0;;;;:30;;-1:-1:-1;;15280:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15197:121::o;11877:358::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;12018:15:::1;:35:::0;;;12064:15:::1;:35:::0;;;12110:10:::1;:25:::0;;;12175:52:::1;12123:12:::0;12175:36:::1;12036:17:::0;12082;12175:19:::1;:36::i;:52::-;12148:24;:79:::0;-1:-1:-1;;;11877:358:0:o;13116:171::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;13193:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;13193:32:0::1;-1:-1:-1::0;;;;13193:32:0;;::::1;;::::0;;13241:38:::1;::::0;::::1;::::0;::::1;::::0;13217:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;13241:38:0::1;;;;;;;;13116:171:::0;:::o;3359:244::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3448:22:0;::::1;3440:73;;;::::0;-1:-1:-1;;;3440:73:0;;7704:2:1;3440:73:0::1;::::0;::::1;7686:21:1::0;7743:2;7723:18;;;7716:30;7782:34;7762:18;;;7755:62;-1:-1:-1;;;7833:18:1;;;7826:36;7879:19;;3440:73:0::1;7502:402:1::0;3440:73:0::1;3550:6;::::0;;3529:38:::1;::::0;-1:-1:-1;;;;;3529:38:0;;::::1;::::0;3550:6;::::1;::::0;3529:38:::1;::::0;::::1;3578:6;:17:::0;;-1:-1:-1;;;;;;3578:17:0::1;-1:-1:-1::0;;;;;3578:17:0;;;::::1;::::0;;;::::1;::::0;;3359:244::o;12989:119::-;3105:6;;-1:-1:-1;;;;;3105:6:0;361:10;3105:22;3097:67;;;;-1:-1:-1;;;3097:67:0;;;;;;;:::i;:::-;13066:12:::1;:34:::0;;-1:-1:-1;;;;;;13066:34:0::1;-1:-1:-1::0;;;;;13066:34:0;;;::::1;::::0;;;::::1;::::0;;12989:119::o;1214:181::-;1272:7;;1304:5;1308:1;1304;:5;:::i;:::-;1292:17;;1333:1;1328;:6;;1320:46;;;;-1:-1:-1;;;1320:46:0;;8241:2:1;1320:46:0;;;8223:21:1;8280:2;8260:18;;;8253:30;8319:29;8299:18;;;8292:57;8366:18;;1320:46:0;8039:351:1;1747:250:0;1805:7;1829:1;1834;1829:6;1825:47;;-1:-1:-1;1859:1:0;1852:8;;1825:47;1884:9;1896:5;1900:1;1896;:5;:::i;:::-;1884:17;-1:-1:-1;1929:1:0;1920:5;1924:1;1884:17;1920:5;:::i;:::-;:10;1912:56;;;;-1:-1:-1;;;1912:56:0;;8819:2:1;1912:56:0;;;8801:21:1;8858:2;8838:18;;;8831:30;8897:34;8877:18;;;8870:62;-1:-1:-1;;;8948:18:1;;;8941:31;8989:19;;1912:56:0;8617:397:1;2005:132:0;2063:7;2090:39;2094:1;2097;2090:39;;;;;;;;;;;;;;;;;:3;:39::i;10308:337::-;-1:-1:-1;;;;;10401:19:0;;10393:68;;;;-1:-1:-1;;;10393:68:0;;9221:2:1;10393:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;10393:68:0;9019:400:1;10393:68:0;-1:-1:-1;;;;;10480:21:0;;10472:68;;;;-1:-1:-1;;;10472:68:0;;9626:2:1;10472:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;10472:68:0;9424:398:1;10472:68:0;-1:-1:-1;;;;;10553:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10605:32;;1361:25:1;;;10605:32:0;;1334:18:1;10605:32:0;;;;;;;10308:337;;;:::o;15528:2529::-;15615:4;-1:-1:-1;;;;;15642:20:0;;15634:70;;;;-1:-1:-1;;;15634:70:0;;10029:2:1;15634:70:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;15634:70:0;9827:401:1;15634:70:0;-1:-1:-1;;;;;15723:23:0;;15715:71;;;;-1:-1:-1;;;15715:71:0;;10435:2:1;15715:71:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;15715:71:0;10233:399:1;15715:71:0;15802:16;;-1:-1:-1;;;15802:16:0;;;;15799:2251;;;15852:41;15867:6;15875:9;15886:6;15852:14;:41::i;:::-;15845:48;;;;15799:2251;-1:-1:-1;;;;;15949:23:0;;;;;;:15;:23;;;;;;;;15948:24;:55;;;;-1:-1:-1;;;;;;15977:26:0;;;;;;:15;:26;;;;;;;;15976:27;15948:55;15945:137;;;16032:33;16045:6;16053:11;;-1:-1:-1;18144:4:0;;18065:86;16032:33;16024:42;;;;;;-1:-1:-1;;;;;16126:25:0;;;;;;:17;:25;;;;;;;;16125:26;:59;;;;-1:-1:-1;;;;;;16156:28:0;;;;;;:17;:28;;;;;;;;16155:29;16125:59;16122:359;;;16204:10;;16233:201;16249:1;16245;:5;16233:201;;16314:44;;;;;;10820:19:1;;;10855:12;;;10848:28;;;16342:15:0;10892:12:1;;;10885:28;10929:12;;16314:44:0;;;;;;;;;;;;16304:55;;;;;;16299:61;;16278:84;;16385:29;16400:6;16407:2;16410:3;16385:14;:29::i;:::-;-1:-1:-1;16251:3:0;;;;:::i;:::-;;;;16233:201;;;-1:-1:-1;16452:13:0;16462:3;16452:13;;:::i;:::-;;;16185:296;16122:359;16550:4;16501:28;9323:18;;;:9;:18;;;;;;16626:23;;16602:47;;;;;;;16682:44;;-1:-1:-1;16710:16:0;;-1:-1:-1;;;16710:16:0;;;;16709:17;16682:44;:69;;;;-1:-1:-1;;;;;;16731:20:0;;;;;;:12;:20;;;;;;;;16730:21;16682:69;:94;;;;-1:-1:-1;16755:21:0;;-1:-1:-1;;;16755:21:0;;;;16682:94;16678:305;;;16814:25;;-1:-1:-1;;;16814:25:0;;;;16811:97;;;16885:23;;16862:46;;16811:97;16927:36;16942:20;16927:14;:36::i;:::-;-1:-1:-1;;;;;17035:25:0;;16997:19;17035:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;17064:28:0;;;;;;:17;:28;;;;;;;;17035:57;17031:676;;;-1:-1:-1;18580:13:0;;17127:6;;-1:-1:-1;;;;;18580:21:0;;;:13;;;;;:21;17152:120;;-1:-1:-1;;;;;17223:17:0;;;;;;:9;:17;;;;;;:29;;17245:6;17223:21;:29::i;:::-;-1:-1:-1;;;;;17203:17:0;;;;;;:9;:17;;;;;:49;17152:120;17310:53;;;;;;;;;;;-1:-1:-1;;;17310:53:0;;;;;;;;-1:-1:-1;;;;;17310:17:0;;-1:-1:-1;17310:17:0;;;:9;:17;;;;;;;;:53;;17332:6;;17310:21;:53::i;:::-;-1:-1:-1;;;;;17290:17:0;;;;;;:9;:17;;;;;:73;17031:676;;;17407:1;17394:10;;:14;17386:23;;;;;;17432:47;17445:12;17473:5;;17460:10;;:18;;;;:::i;17432:47::-;:75;;;;-1:-1:-1;;;;;;17484:23:0;;;;;;:12;:23;;;;;;;;17483:24;17432:75;17428:105;;;17510:21;17521:9;17510:10;:21::i;:::-;17565:34;17573:6;17581:9;17592:6;17565:7;:34::i;:::-;17551:48;;17638:53;17660:6;17638:53;;;;;;;;;;;;;-1:-1:-1;;;17638:53:0;;;:9;:17;17648:6;-1:-1:-1;;;;;17638:17:0;-1:-1:-1;;;;;17638:17:0;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;-1:-1:-1;;;;;17618:17:0;;;;;;:9;:17;;;;;:73;17031:676;17726:10;;-1:-1:-1;;;17726:10:0;;;;:40;;;;-1:-1:-1;;;;;;17741:25:0;;;;;;:14;:25;;;;;;;;17740:26;17726:40;17723:136;;;17793:65;17806:37;17831:11;17806:20;17816:9;-1:-1:-1;;;;;9323:18:0;9296:7;9323:18;;;:9;:18;;;;;;;9230:119;17806:37;17845:12;;-1:-1:-1;18144:4:0;;18065:86;17793:65;17785:74;;;;;;-1:-1:-1;;;;;17899:20:0;;;;;;:9;:20;;;;;;:37;;17924:11;17899:24;:37::i;:::-;-1:-1:-1;;;;;17876:20:0;;;;;;;:9;:20;;;;;;;:60;;;;17958:40;;;;;;;;;;17986:11;1361:25:1;;1349:2;1334:18;;1215:177;17958:40:0;;;;;;;;18020:4;18013:11;;;;;;;1547:192;1633:7;1669:12;1661:6;;;;1653:29;;;;-1:-1:-1;;;1653:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1693:9:0;1705:5;1709:1;1705;:5;:::i;:::-;1693:17;1547:192;-1:-1:-1;;;;;1547:192:0:o;1403:136::-;1461:7;1488:43;1492:1;1495;1488:43;;;;;;;;;;;;;;;;;:3;:43::i;18159:330::-;18289:53;;;;;;;;;;;-1:-1:-1;;;18289:53:0;;;;;;;;-1:-1:-1;;;;;18289:17:0;;18252:4;18289:17;;;:9;:17;;;;;;;:53;;18311:6;;18289:21;:53::i;:::-;-1:-1:-1;;;;;18269:17:0;;;;;;;:9;:17;;;;;;:73;;;;18376:20;;;;;;;:32;;18401:6;18376:24;:32::i;:::-;-1:-1:-1;;;;;18353:20:0;;;;;;;:9;:20;;;;;;;:55;;;;18424:35;;;;;;;;;;18452:6;1361:25:1;;1349:2;1334:18;;1215:177;18424:35:0;;;;;;;;-1:-1:-1;18477:4:0;18159:330;;;;;:::o;2145:189::-;2231:7;2266:12;2259:5;2251:28;;;;-1:-1:-1;;;2251:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2290:9:0;2302:5;2306:1;2302;:5;:::i;18617:1034::-;6539:16;:23;;-1:-1:-1;;;;6539:23:0;-1:-1:-1;;;6539:23:0;;;18754:24:::1;::::0;6539:16;18733:15;6539:23;;18721:65:::1;::::0;18784:1:::1;::::0;18721:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;18699:87:::0;-1:-1:-1;18797:21:0::1;18821:24;:7:::0;18699:87;18821:11:::1;:24::i;:::-;18797:48;;18858:31;18875:13;18858:16;:31::i;:::-;19010:15;::::0;18925:21:::1;::::0;18900:22:::1;::::0;18981:52:::1;::::0;19010:22:::1;::::0;19030:1:::1;19010:19;:22::i;:::-;18981:24;::::0;;:28:::1;:52::i;:::-;18959:74;;19054:26;19083:59;19140:1;19083:52;19123:11;19083:35;19102:15;;19083:14;:18;;:35;;;;:::i;:59::-;19054:88;;19153:21;19177:47;19212:11;19177:30;19196:10;;19177:14;:18;;:30;;;;:::i;:47::-;19153:71:::0;-1:-1:-1;19235:26:0::1;19264:57;19153:71:::0;19264:38:::1;:14:::0;19283:18;19264::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;19235:86:::0;-1:-1:-1;19337:22:0;;19334:95:::1;;19395:13;::::0;19374:55:::1;::::0;19395:13:::1;::::0;::::1;-1:-1:-1::0;;;;;19395:13:0::1;19410:18:::0;19374:20:::1;:55::i;:::-;19445:17:::0;;19442:84:::1;;19498:12;::::0;19477:49:::1;::::0;-1:-1:-1;;;;;19498:12:0::1;19512:13:::0;19477:20:::1;:49::i;:::-;19563:1;19542:18;:22;:41;;;;;19582:1;19568:11;:15;19542:41;19539:104;;;19598:45;19611:11;19624:18;19598:12;:45::i;:::-;-1:-1:-1::0;;6585:16:0;:24;;-1:-1:-1;;;;6585:24:0;;;-1:-1:-1;;;;;;18617:1034:0:o;14783:151::-;-1:-1:-1;;;;;14847:21:0;;;;;;:10;:21;;;;;;;;14846:22;:50;;;;-1:-1:-1;;;;;;14873:23:0;;;;;;:12;:23;;;;;;;;14872:24;14846:50;14842:84;;;-1:-1:-1;;;;;14898:21:0;;;;;;:10;:21;;;;;:28;;-1:-1:-1;;14898:28:0;14922:4;14898:28;;;14842:84;14783:151;:::o;20863:701::-;-1:-1:-1;;;;;21024:20:0;;20949:7;21024:20;;;:12;:20;;;;;;20949:7;;21024:20;;21021:223;;;21073:38;21107:3;21073:29;21084:17;;21073:6;:10;;:29;;;;:::i;:38::-;21061:50;;21021:223;;;-1:-1:-1;;;;;21141:23:0;;;;;;:12;:23;;;;;;;;21138:106;;;21193:39;21228:3;21193:30;21204:18;;21193:6;:10;;:30;;;;:::i;:39::-;21181:51;;21138:106;-1:-1:-1;;;;;21259:18:0;;;;;;:10;:18;;;;;;;;:43;;;;-1:-1:-1;;;;;;21282:20:0;;;;;;:12;:20;;;;;;;;21281:21;21259:43;21256:66;;;-1:-1:-1;21316:6:0;21256:66;21346:13;;21343:173;;21421:4;21403:24;;;;:9;:24;;;;;;:39;;21432:9;21403:28;:39::i;:::-;21394:4;21376:24;;;;:9;:24;;;;;;;:66;;;;21462:42;;-1:-1:-1;;;;;21462:42:0;;;;;;;21494:9;1361:25:1;;1349:2;1334:18;;1215:177;21462:42:0;;;;;;;;21343:173;21535:21;:6;21546:9;21535:10;:21::i;19663:666::-;19813:16;;;19827:1;19813:16;;;;;;;;19789:21;;19813:16;;;;;;;;;;-1:-1:-1;19813:16:0;19789:40;;19858:4;19840;19845:1;19840:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19840:23:0;;;:7;;;;;;;;;;:23;;;;19884:15;;:22;;;-1:-1:-1;;;19884:22:0;;;;:15;;;;;:20;;:22;;;;;19840:7;;19884:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19874:4;19879:1;19874:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19874:32:0;;;:7;;;;;;;;;:32;19951:15;;19919:62;;19936:4;;19951:15;19969:11;19919:8;:62::i;:::-;20020:15;;:240;;-1:-1:-1;;;20020:240:0;;-1:-1:-1;;;;;20020:15:0;;;;:66;;:240;;20101:11;;20020:15;;20171:4;;20198;;20234:15;;20020:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20286:35;20303:11;20316:4;20286:35;;;;;;;:::i;:::-;;;;;;;;19718:611;19663:666;:::o;13568:126::-;13660:26;;-1:-1:-1;;;;;13660:18:0;;;:26;;;;;13679:6;;13660:26;;;;13679:6;13660:18;:26;;;;;;;;;;;;;;;;;;;;;13568:126;;:::o;20337:518::-;20517:15;;20485:62;;20502:4;;-1:-1:-1;;;;;20517:15:0;20535:11;20485:8;:62::i;:::-;20590:15;;20794:12;;;20590:257;;-1:-1:-1;;;20590:257:0;;20662:4;20590:257;;;13364:34:1;;;;13414:18;;;13407:34;;;20590:15:0;13457:18:1;;;13450:34;;;13500:18;;;13493:34;-1:-1:-1;;;;;20794:12:0;;;13543:19:1;;;13536:44;20821:15:0;13596:19:1;;;13589:35;20590:15:0;;;;:31;;20629:9;;13298:19:1;;20590:257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;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;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2300:160::-;2365:20;;2421:13;;2414:21;2404:32;;2394:60;;2450:1;2447;2440:12;2394:60;2300:160;;;:::o;2465:315::-;2530:6;2538;2591:2;2579:9;2570:7;2566:23;2562:32;2559:52;;;2607:1;2604;2597:12;2559:52;2646:9;2633:23;2665:31;2690:5;2665:31;:::i;:::-;2715:5;-1:-1:-1;2739:35:1;2770:2;2755:18;;2739:35;:::i;:::-;2729:45;;2465:315;;;;;:::o;2974:180::-;3033:6;3086:2;3074:9;3065:7;3061:23;3057:32;3054:52;;;3102:1;3099;3092:12;3054:52;-1:-1:-1;3125:23:1;;2974:180;-1:-1:-1;2974:180:1:o;3159:::-;3215:6;3268:2;3256:9;3247:7;3243:23;3239:32;3236:52;;;3284:1;3281;3274:12;3236:52;3307:26;3323:9;3307:26;:::i;3568:247::-;3627:6;3680:2;3668:9;3659:7;3655:23;3651:32;3648:52;;;3696:1;3693;3686:12;3648:52;3735:9;3722:23;3754:31;3779:5;3754:31;:::i;3820:367::-;3883:8;3893:6;3947:3;3940:4;3932:6;3928:17;3924:27;3914:55;;3965:1;3962;3955:12;3914:55;-1:-1:-1;3988:20:1;;4031:18;4020:30;;4017:50;;;4063:1;4060;4053:12;4017:50;4100:4;4092:6;4088:17;4076:29;;4160:3;4153:4;4143:6;4140:1;4136:14;4128:6;4124:27;4120:38;4117:47;4114:67;;;4177:1;4174;4167:12;4114:67;3820:367;;;;;:::o;4192:505::-;4284:6;4292;4300;4353:2;4341:9;4332:7;4328:23;4324:32;4321:52;;;4369:1;4366;4359:12;4321:52;4409:9;4396:23;4442:18;4434:6;4431:30;4428:50;;;4474:1;4471;4464:12;4428:50;4513:70;4575:7;4566:6;4555:9;4551:22;4513:70;:::i;:::-;4602:8;;-1:-1:-1;4487:96:1;-1:-1:-1;4656:35:1;;-1:-1:-1;4687:2:1;4672:18;;4656:35;:::i;:::-;4646:45;;4192:505;;;;;:::o;4702:316::-;4779:6;4787;4795;4848:2;4836:9;4827:7;4823:23;4819:32;4816:52;;;4864:1;4861;4854:12;4816:52;-1:-1:-1;;4887:23:1;;;4957:2;4942:18;;4929:32;;-1:-1:-1;5008:2:1;4993:18;;;4980:32;;4702:316;-1:-1:-1;4702:316:1:o;5023:505::-;5118:6;5126;5134;5187:2;5175:9;5166:7;5162:23;5158:32;5155:52;;;5203:1;5200;5193:12;5155:52;5243:9;5230:23;5276:18;5268:6;5265:30;5262:50;;;5308:1;5305;5298:12;5262:50;5347:70;5409:7;5400:6;5389:9;5385:22;5347:70;:::i;:::-;5436:8;;5321:96;;-1:-1:-1;5518:2:1;5503:18;;;;5490:32;;5023:505;-1:-1:-1;;;;5023:505:1:o;5533:248::-;5601:6;5609;5662:2;5650:9;5641:7;5637:23;5633:32;5630:52;;;5678:1;5675;5668:12;5630:52;-1:-1:-1;;5701:23:1;;;5771:2;5756:18;;;5743:32;;-1:-1:-1;5533:248:1:o;5786:388::-;5854:6;5862;5915:2;5903:9;5894:7;5890:23;5886:32;5883:52;;;5931:1;5928;5921:12;5883:52;5970:9;5957:23;5989:31;6014:5;5989:31;:::i;:::-;6039:5;-1:-1:-1;6096:2:1;6081:18;;6068:32;6109:33;6068:32;6109:33;:::i;:::-;6161:7;6151:17;;;5786:388;;;;;:::o;6179:380::-;6258:1;6254:12;;;;6301;;;6322:61;;6376:4;6368:6;6364:17;6354:27;;6322:61;6429:2;6421:6;6418:14;6398:18;6395:38;6392:161;;6475:10;6470:3;6466:20;6463:1;6456:31;6510:4;6507:1;6500:15;6538:4;6535:1;6528:15;6392:161;;6179:380;;;:::o;6564:356::-;6766:2;6748:21;;;6785:18;;;6778:30;6844:34;6839:2;6824:18;;6817:62;6911:2;6896:18;;6564:356::o;6925:127::-;6986:10;6981:3;6977:20;6974:1;6967:31;7017:4;7014:1;7007:15;7041:4;7038:1;7031:15;7057:127;7118:10;7113:3;7109:20;7106:1;7099:31;7149:4;7146:1;7139:15;7173:4;7170:1;7163:15;7189:135;7228:3;7249:17;;;7246:43;;7269:18;;:::i;:::-;-1:-1:-1;7316:1:1;7305:13;;7189:135::o;7329:168::-;7402:9;;;7433;;7450:15;;;7444:22;;7430:37;7420:71;;7471:18;;:::i;7909:125::-;7974:9;;;7995:10;;;7992:36;;;8008:18;;:::i;8395:217::-;8435:1;8461;8451:132;;8505:10;8500:3;8496:20;8493:1;8486:31;8540:4;8537:1;8530:15;8568:4;8565:1;8558:15;8451:132;-1:-1:-1;8597:9:1;;8395:217::o;10952:147::-;10990:3;-1:-1:-1;;;;;11011:30:1;;11008:56;;11044:18;;:::i;11104:128::-;11171:9;;;11192:11;;;11189:37;;;11206:18;;:::i;11369:251::-;11439:6;11492:2;11480:9;11471:7;11467:23;11463:32;11460:52;;;11508:1;11505;11498:12;11460:52;11540:9;11534:16;11559:31;11584:5;11559:31;:::i;11625:461::-;11678:3;11716:5;11710:12;11743:6;11738:3;11731:19;11769:4;11798:2;11793:3;11789:12;11782:19;;11835:2;11828:5;11824:14;11856:1;11866:195;11880:6;11877:1;11874:13;11866:195;;;11945:13;;-1:-1:-1;;;;;11941:39:1;11929:52;;12001:12;;;;12036:15;;;;11977:1;11895:9;11866:195;;;-1:-1:-1;12077:3:1;;11625:461;-1:-1:-1;;;;;11625:461:1:o;12091:582::-;12390:6;12379:9;12372:25;12433:6;12428:2;12417:9;12413:18;12406:34;12476:3;12471:2;12460:9;12456:18;12449:31;12353:4;12497:57;12549:3;12538:9;12534:19;12526:6;12497:57;:::i;:::-;-1:-1:-1;;;;;12590:32:1;;;;12585:2;12570:18;;12563:60;-1:-1:-1;12654:3:1;12639:19;12632:35;12489:65;12091:582;-1:-1:-1;;;12091:582:1:o;12678:332::-;12885:6;12874:9;12867:25;12928:2;12923;12912:9;12908:18;12901:30;12848:4;12948:56;13000:2;12989:9;12985:18;12977:6;12948:56;:::i;:::-;12940:64;12678:332;-1:-1:-1;;;;12678:332:1:o;13635:306::-;13723:6;13731;13739;13792:2;13780:9;13771:7;13767:23;13763:32;13760:52;;;13808:1;13805;13798:12;13760:52;13837:9;13831:16;13821:26;;13887:2;13876:9;13872:18;13866:25;13856:35;;13931:2;13920:9;13916:18;13910:25;13900:35;;13635:306;;;;;:::o

Swarm Source

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