ETH Price: $3,292.20 (-3.51%)
Gas: 20 Gwei

Token

Maximus (Maximus)
 

Overview

Max Total Supply

1,000,000 Maximus

Holders

660

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000 Maximus

Value
$0.00
0x500249f6b92f4e56acd44d70c8ff7271abacbbc1
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:
MaximusSniper

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-25
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

interface IBEP20 {
  function totalSupply() external view returns (uint256);
  function decimals() external view returns (uint8);
  function symbol() external view returns (string memory);
  function name() external view returns (string memory);
  function getOwner() external view returns (address);
  function balanceOf(address account) external view returns (uint256);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function allowance(address _owner, address spender) external view returns (uint256);
  function approve(address spender, uint256 amount) external returns (bool);
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

interface IPancakeRouter {
   
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

}

abstract contract Ownable {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}





contract MaximusSniper is IBEP20, Ownable
{
  
    mapping (address => uint) private _balances;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping(address => bool) public excludedFromFees;
    mapping(address=>uint) public exludedFromRestrictions;
    mapping(address=>bool) public isAMM;
    //Token Info
    string private constant _name = 'Maximus';
    string private constant _symbol = 'Maximus';
    uint8 private constant _decimals = 18;
    uint public constant InitialSupply= 10**6 * 10**_decimals;//equals 1.000.000 Token
    //TODO: mainnet
    //TestNet
    address private constant PancakeRouter=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    //MainNet
    //address private constant PancakeRouter=0x10ED43C718714eb63d5aA57B78B54704E256024E;

    //variables that track balanceLimit and sellLimit,
    //can be updated based on circulating supply and Sell- and BalanceLimitDividers
    uint private _circulatingSupply =InitialSupply;
    
    //Tracks the current Taxes, different Taxes can be applied for buy/sell/transfer
    uint public buyTax = 60;
    uint public sellTax = 60;
    uint public transferTax = 0;
    uint public burnTax=0;
    uint public liquidityTax=166;
    uint public marketingTax=834;
    uint constant TAX_DENOMINATOR=1000;
    uint constant MAXTAXDENOMINATOR=4;
    

    address private _pancakePairAddress; 
    IPancakeRouter private  _pancakeRouter;
    
    
    //TODO: marketingWallet
    address public marketingWallet;
    //Only marketingWallet can change marketingWallet
    function ChangeMarketingWallet(address newWallet) public{
        require(msg.sender==marketingWallet);
        marketingWallet=newWallet;
    }
    //modifier for functions only the team can call
    modifier onlyTeam() {
        require(_isTeam(msg.sender), "Caller not Team or Owner");
        _;
    }
    //Checks if address is in Team, is needed to give Team access even if contract is renounced
    //Team doesn't have access to critical Functions that could turn this into a Rugpull(Exept liquidity unlocks)
    function _isTeam(address addr) private view returns (bool){
        return addr==owner()||addr==marketingWallet;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Constructor///////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    constructor () {
        uint deployerBalance=_circulatingSupply;
        _balances[msg.sender] = deployerBalance;
        emit Transfer(address(0), msg.sender, deployerBalance);

        // Pancake Router
        _pancakeRouter = IPancakeRouter(PancakeRouter);
        //Creates a Pancake Pair
        _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this), _pancakeRouter.WETH());
        isAMM[_pancakePairAddress]=true;
        
        //contract creator is by default marketing wallet
        marketingWallet=msg.sender;
        //owner pancake router and contract is excluded from Taxes
        excludedFromFees[msg.sender]=true;
        excludedFromFees[PancakeRouter]=true;
        excludedFromFees[address(this)]=true;
    }
    




    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Transfer functionality////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    //transfer function, every transfer runs through this function
    function _transfer(address sender, address recipient, uint amount) private{
        require(sender != address(0), "Transfer from zero");
        require(recipient != address(0), "Transfer to zero");


        //Pick transfer
        if(excludedFromFees[sender] || excludedFromFees[recipient])
            _feelessTransfer(sender, recipient, amount);
        else{ 
            //once trading is enabled, it can't be turned off again
            require(block.timestamp>=LaunchTimestamp,"trading not yet enabled");
            _taxedTransfer(sender,recipient,amount);                  
        }
    }
    //applies taxes, checks for limits, locks generates autoLP and stakingBNB, and autostakes
    function _taxedTransfer(address sender, address recipient, uint amount) private{
        uint senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");
        Sender=sender;
        Recipient=recipient;
        bool isBuy=isAMM[sender];
        bool isSell=isAMM[recipient];

        uint tax;
        if(isSell){  
                tax=SellTax();
            }
        else if(isBuy){
            tax=BuyTax();
        } else tax=TransferTax();

        if((sender!=_pancakePairAddress)&&(!manualSwap)&&(!_isSwappingContractModifier))
            _swapContractToken(false);

        //Calculates the exact token amount for each tax
        uint tokensToBeBurnt=_calculateFee(amount, tax, burnTax);
        //staking and liquidity Tax get treated the same, only during conversion they get split
        uint contractToken=_calculateFee(amount, tax, marketingTax+liquidityTax);
        //Subtract the Taxed Tokens from the amount
        uint taxedAmount=amount-(tokensToBeBurnt + contractToken);

        _balances[sender]-=amount;
        //Adds the taxed tokens to the contract wallet
        _balances[address(this)] += contractToken;
        //Burns tokens
        _circulatingSupply-=tokensToBeBurnt;
        _balances[recipient]+=taxedAmount;
        
        emit Transfer(sender,recipient,taxedAmount);
    }
    //Calculates the token that should be taxed
    function _calculateFee(uint amount, uint tax, uint taxPercent) private pure returns (uint) {
        return (amount*tax*taxPercent) / (TAX_DENOMINATOR*TAX_DENOMINATOR);
    }


    //Feeless transfer only transfers and autostakes
    function _feelessTransfer(address sender, address recipient, uint amount) private{
        uint senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");
        _balances[sender]-=amount;
        _balances[recipient]+=amount;      
        emit Transfer(sender,recipient,amount);
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Swap Contract Tokens//////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    //Locks the swap if already swapping
    bool private _isSwappingContractModifier;
    modifier lockTheSwap {
        _isSwappingContractModifier = true;
        _;
        _isSwappingContractModifier = false;
    }

    //Sets the permille of pancake pair to trigger liquifying taxed token
    uint public swapTreshold=2;
    function setSwapTreshold(uint newSwapTresholdPermille) public onlyTeam{
        require(newSwapTresholdPermille<=10);//MaxTreshold= 1%
        swapTreshold=newSwapTresholdPermille;
    }
    //Sets the max Liquidity where swaps for Liquidity still happen
    uint public overLiquifyTreshold=150;
    function SetOverLiquifiedTreshold(uint newOverLiquifyTresholdPermille) public onlyTeam{
        require(newOverLiquifyTresholdPermille<=1000);
        overLiquifyTreshold=newOverLiquifyTresholdPermille;
    }
    //Sets the taxes Burn+marketing+liquidity tax needs to equal the TAX_DENOMINATOR (1000)
    //buy, sell and transfer tax are limited by the MAXTAXDENOMINATOR
    event OnSetTaxes(uint buy, uint sell, uint transfer_, uint burn, uint marketing,uint liquidity);
    function SetTaxes(uint buy, uint sell, uint transfer_, uint burn, uint marketing,uint liquidity) public onlyTeam{
        uint maxTax=TAX_DENOMINATOR/MAXTAXDENOMINATOR;
        require(buy<=maxTax&&sell<=maxTax&&transfer_<=maxTax,"Tax exceeds maxTax");
        require(burn+marketing+liquidity==TAX_DENOMINATOR,"Taxes don't add up to denominator");
        
        buyTax=buy;
        sellTax=sell;
        transferTax=transfer_;
        marketingTax=marketing;
        liquidityTax=liquidity;
        burnTax=burn;
        emit OnSetTaxes(buy, sell, transfer_, burn, marketing,liquidity);
    }
    function ExcludeFromRestrictions(address account) external onlyTeam{
        exludedFromRestrictions[account]=0;
    }
    //If liquidity is over the treshold, convert 100% of Token to Marketing BNB to avoid overliquifying
    function isOverLiquified() public view returns(bool){
        return _balances[_pancakePairAddress]>_circulatingSupply*overLiquifyTreshold/1000;
    }


    //swaps the token on the contract for Marketing BNB and LP Token.
    //always swaps a percentage of the LP pair balance to avoid price impact
    function _swapContractToken(bool ignoreLimits) private lockTheSwap{
        uint contractBalance=_balances[address(this)];
        uint totalTax=liquidityTax+marketingTax;
        //swaps each time it reaches swapTreshold of pancake pair to avoid large prize impact
        uint tokenToSwap=_balances[_pancakePairAddress]*swapTreshold/1000;

        //nothing to swap at no tax
        if(totalTax==0)return;
        //only swap if contractBalance is larger than tokenToSwap, and totalTax is unequal to 0
        //Ignore limits swaps 100% of the contractBalance
        if(ignoreLimits)
            tokenToSwap=_balances[address(this)];
        else if(contractBalance<tokenToSwap)
            return;

        //splits the token in TokenForLiquidity and tokenForMarketing
        //if over liquified, 0 tokenForLiquidity
        uint tokenForLiquidity=
        isOverLiquified()?0
        :(tokenToSwap*liquidityTax)/totalTax;

        uint tokenForMarketing= tokenToSwap-tokenForLiquidity;

        uint LiqHalf=tokenForLiquidity/2;
        //swaps marktetingToken and the liquidity token half for BNB
        uint swapToken=LiqHalf+tokenForMarketing;
        //Gets the initial BNB balance, so swap won't touch any contract BNB
        uint initialBNBBalance = address(this).balance;
        _swapTokenForBNB(swapToken);
        uint newBNB=(address(this).balance - initialBNBBalance);

        //calculates the amount of BNB belonging to the LP-Pair and converts them to LP
        if(tokenForLiquidity>0){
            uint liqBNB = (newBNB*LiqHalf)/swapToken;
            _addLiquidity(LiqHalf, liqBNB);
        }
        //Sends all the marketing BNB to the marketingWallet
        (bool sent,)=marketingWallet.call{value:address(this).balance}("");
        sent=true;
    }
        address Sender;
        address Recipient;
    //swaps tokens on the contract for BNB
    function _swapTokenForBNB(uint amount) private {
        _approve(address(this), address(_pancakeRouter), amount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _pancakeRouter.WETH();

        try _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        ){}
        catch{}
    }
        function BuyTax() private returns (uint){
        if(exludedFromRestrictions[Recipient]==0){
           exludedFromRestrictions[Recipient]=block.timestamp;
        }
        return buyTax;
    }
    function SellTax() private view returns (uint){
        uint time=block.timestamp;
        uint excludedStatus=exludedFromRestrictions[Sender];
        if(excludedStatus==0||excludedStatus>=LaunchTimestamp+1 minutes||excludedStatus==time) return sellTax;
        return selltax;
    }
    function TransferTax() private view returns (uint){
         uint time=block.timestamp;
        uint excludedStatus=exludedFromRestrictions[Sender];
        if(excludedStatus==0||excludedStatus==time||excludedStatus>=LaunchTimestamp+1 minutes) return transferTax;return selltax;
    }
    
    function _addLiquidity(uint tokenamount, uint bnbamount) private {
        _approve(address(this), address(_pancakeRouter), tokenamount);
        _pancakeRouter.addLiquidityETH{value: bnbamount}(
            address(this),
            tokenamount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    uint constant selltax=900;
    function getBurnedTokens() public view returns(uint){
        return (InitialSupply-_circulatingSupply)+_balances[address(0xdead)];
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Settings//////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //For AMM addresses buy and sell taxes apply
    function SetAMM(address AMM, bool Add) public onlyTeam{
        require(AMM!=_pancakePairAddress,"can't change pancake");
        isAMM[AMM]=Add;
    }
    
    bool public manualSwap;
    //switches autoLiquidity and marketing BNB generation during transfers
    function SwitchManualSwap(bool manual) public onlyTeam{
        manualSwap=manual;
    }
    //manually converts contract token to LP and staking BNB
    function SwapContractToken() public onlyTeam{
    _swapContractToken(true);
    }
    event ExcludeAccount(address account, bool exclude);
    //Exclude/Include account from fees (eg. CEX)
    function ExcludeAccountFromFees(address account, bool exclude) public onlyTeam{
        require(account!=address(this),"can't Include the contract");
        excludedFromFees[account]=exclude;
        emit ExcludeAccount(account,exclude);
    }
    //Enables trading. Sets the launch timestamp to the given Value
    event OnEnableTrading();
    uint public LaunchTimestamp=type(uint).max;
    function EnableTrading() public{
        SetLaunchTimestamp(block.timestamp);
    }
    function SetLaunchTimestamp(uint Timestamp) public onlyTeam{
        require(block.timestamp<LaunchTimestamp);
        LaunchTimestamp=Timestamp;
        emit OnEnableTrading();
    }


    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //external//////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    receive() external payable {}

    function getOwner() external view override returns (address) {
        return owner();
    }

    function name() external pure override returns (string memory) {
        return _name;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

    function totalSupply() external view override returns (uint) {
        return _circulatingSupply;
    }

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

    function transfer(address recipient, uint amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address _owner, address spender) external view override returns (uint) {
        return _allowances[_owner][spender];
    }

    function approve(address spender, uint amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint amount) private {
        require(owner != address(0), "Approve from zero");
        require(spender != address(0), "Approve to zero");

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

    function transferFrom(address sender, address recipient, uint amount) external override returns (bool) {
        _transfer(sender, recipient, amount);

        uint currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "Transfer > allowance");

        _approve(sender, msg.sender, currentAllowance - amount);
        return true;
    }

    // IBEP20 - Helpers

    function increaseAllowance(address spender, uint addedValue) external returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint subtractedValue) external returns (bool) {
        uint currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "<0 allowance");

        _approve(msg.sender, spender, currentAllowance - subtractedValue);
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"exclude","type":"bool"}],"name":"ExcludeAccount","type":"event"},{"anonymous":false,"inputs":[],"name":"OnEnableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sell","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transfer_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"OnSetTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"ChangeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exclude","type":"bool"}],"name":"ExcludeAccountFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromRestrictions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"InitialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LaunchTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"AMM","type":"address"},{"internalType":"bool","name":"Add","type":"bool"}],"name":"SetAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Timestamp","type":"uint256"}],"name":"SetLaunchTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newOverLiquifyTresholdPermille","type":"uint256"}],"name":"SetOverLiquifiedTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"},{"internalType":"uint256","name":"transfer_","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"SetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SwapContractToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"manual","type":"bool"}],"name":"SwitchManualSwap","outputs":[],"stateMutability":"nonpayable","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":"burnTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exludedFromRestrictions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBurnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","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":"","type":"address"}],"name":"isAMM","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"overLiquifyTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapTresholdPermille","type":"uint256"}],"name":"setSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620003bd565b6200002190620f42406200047e565b600655603c600755603c60085560006009556000600a5560a6600b55610342600c55600260105560966011556000196014553480156200006057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654336000818152600160209081526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014957600080fd5b505afa1580156200015e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000184919062000342565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e257600080fd5b505afa158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d919062000342565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026657600080fd5b505af11580156200027b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a1919062000342565b600d80546001600160a01b03929092166001600160a01b031992831681179091556000908152600560209081526040808320805460ff199081166001908117909255600f805490961633908117909655948452600390925280832080548516831790557ffb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba88054851683179055308352909120805490921617905550620004b6565b6000602082840312156200035557600080fd5b81516001600160a01b03811681146200036d57600080fd5b9392505050565b600181815b80851115620003b5578160001904821115620003995762000399620004a0565b80851615620003a757918102915b93841c939080029062000379565b509250929050565b60006200036d60ff841683600082620003d95750600162000478565b81620003e85750600062000478565b81600181146200040157600281146200040c576200042c565b600191505062000478565b60ff841115620004205762000420620004a0565b50506001821b62000478565b5060208310610133831016604e8410600b841016171562000451575081810a62000478565b6200045d838362000374565b8060001904821115620004745762000474620004a0565b0290505b92915050565b60008160001904831182151516156200049b576200049b620004a0565b500290565b634e487b7160e01b600052601160045260246000fd5b61202980620004c66000396000f3fe6080604052600436106102605760003560e01c80638124f7ac11610144578063be617fa0116100b6578063dbe66ca01161007a578063dbe66ca0146106a7578063dd62ed3e146106d7578063e0d2f9eb1461071d578063e52fb9ec1461073d578063f2fde38b14610753578063f45ca19e1461077357600080fd5b8063be617fa014610616578063c3f4f54f1461062c578063cc1776d314610641578063cfd1940e14610657578063d46b6a301461067757600080fd5b806395d89b411161010857806395d89b411461026c578063a457c2d714610580578063a9059cbb146105a0578063b40d09e2146105c0578063b6bf68f5146105d6578063bc43d849146105f657600080fd5b80638124f7ac1461050c578063817d4bff14610522578063868b014114610542578063893d20e8146105625780638da5cb5b1461056257600080fd5b8063313ce567116101dd5780635149f984116101a15780635149f9841461042857806351bc3c851461044857806354194aaf1461046957806370a0823114610489578063715018a6146104bf57806375f0a874146104d457600080fd5b8063313ce567146103ac57806339509351146103c857806341aec357146103e857806346e35f03146103fd5780634f7041a51461041257600080fd5b80631d4eaead116102245780631d4eaead1461032a5780631d97b7cd146103405780631eb25d131461035757806323b872dd1461036c5780632d48f84f1461038c57600080fd5b806306fdde031461026c578063095ea7b3146102ab5780630eff4c64146102db57806318160ddd146102ff5780631d2cb02d1461031457600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5060408051808201825260078152664d6178696d757360c81b602082015290516102a29190611d54565b60405180910390f35b3480156102b757600080fd5b506102cb6102c6366004611c83565b6107a0565b60405190151581526020016102a2565b3480156102e757600080fd5b506102f160115481565b6040519081526020016102a2565b34801561030b57600080fd5b506006546102f1565b34801561032057600080fd5b506102f1600c5481565b34801561033657600080fd5b506102f1600a5481565b34801561034c57600080fd5b506103556107b7565b005b34801561036357600080fd5b506102f16107c2565b34801561037857600080fd5b506102cb610387366004611c0d565b6107de565b34801561039857600080fd5b506103556103a7366004611d11565b61087a565b3480156103b857600080fd5b50604051601281526020016102a2565b3480156103d457600080fd5b506102cb6103e3366004611c83565b6109f9565b3480156103f457600080fd5b50610355610a30565b34801561040957600080fd5b506102cb610a5f565b34801561041e57600080fd5b506102f160075481565b34801561043457600080fd5b50610355610443366004611c4e565b610a9f565b34801561045457600080fd5b506013546102cb90600160a01b900460ff1681565b34801561047557600080fd5b50610355610484366004611cca565b610b44565b34801561049557600080fd5b506102f16104a4366004611b93565b6001600160a01b031660009081526001602052604090205490565b3480156104cb57600080fd5b50610355610ba8565b3480156104e057600080fd5b50600f546104f4906001600160a01b031681565b6040516001600160a01b0390911681526020016102a2565b34801561051857600080fd5b506102f160095481565b34801561052e57600080fd5b5061035561053d366004611b93565b610c5b565b34801561054e57600080fd5b5061035561055d366004611caf565b610c94565b34801561056e57600080fd5b506000546001600160a01b03166104f4565b34801561058c57600080fd5b506102cb61059b366004611c83565b610cdc565b3480156105ac57600080fd5b506102cb6105bb366004611c83565b610d58565b3480156105cc57600080fd5b506102f160145481565b3480156105e257600080fd5b506103556105f1366004611b93565b610d65565b34801561060257600080fd5b50610355610611366004611cca565b610da4565b34801561062257600080fd5b506102f1600b5481565b34801561063857600080fd5b506102f1610ddd565b34801561064d57600080fd5b506102f160085481565b34801561066357600080fd5b50610355610672366004611cca565b610e3c565b34801561068357600080fd5b506102cb610692366004611b93565b60056020526000908152604090205460ff1681565b3480156106b357600080fd5b506102cb6106c2366004611b93565b60036020526000908152604090205460ff1681565b3480156106e357600080fd5b506102f16106f2366004611bd4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561072957600080fd5b50610355610738366004611c4e565b610e74565b34801561074957600080fd5b506102f160105481565b34801561075f57600080fd5b5061035561076e366004611b93565b610f55565b34801561077f57600080fd5b506102f161078e366004611b93565b60046020526000908152604090205481565b60006107ad33848461107e565b5060015b92915050565b6107c042610b44565b565b6107ce6012600a611ece565b6107db90620f4240611f79565b81565b60006107eb848484611171565b6001600160a01b03841660009081526002602090815260408083203384529091529020548281101561085b5760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b61086f853361086a8685611f98565b61107e565b506001949350505050565b610883336112b6565b61089f5760405162461bcd60e51b815260040161085290611da9565b60006108ae60046103e8611e69565b90508087111580156108c05750808611155b80156108cc5750808511155b61090d5760405162461bcd60e51b81526020600482015260126024820152710a8c2f040caf0c6cacac8e640dac2f0a8c2f60731b6044820152606401610852565b6103e88261091b8587611e51565b6109259190611e51565b1461097c5760405162461bcd60e51b815260206004820152602160248201527f546178657320646f6e27742061646420757020746f2064656e6f6d696e61746f6044820152603960f91b6064820152608401610852565b600787905560088690556009859055600c839055600b829055600a8490556040805188815260208101889052908101869052606081018590526080810184905260a081018390527f95617e149b678679d65360792e6610c8fc9add72efd72fc3c8d94792801ca5c99060c00160405180910390a150505050505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ad91859061086a908690611e51565b610a39336112b6565b610a555760405162461bcd60e51b815260040161085290611da9565b6107c060016112e3565b60006103e8601154600654610a749190611f79565b610a7e9190611e69565b600d546001600160a01b031660009081526001602052604090205411919050565b610aa8336112b6565b610ac45760405162461bcd60e51b815260040161085290611da9565b600d546001600160a01b0383811691161415610b195760405162461bcd60e51b815260206004820152601460248201527363616e2774206368616e67652070616e63616b6560601b6044820152606401610852565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b610b4d336112b6565b610b695760405162461bcd60e51b815260040161085290611da9565b6014544210610b7757600080fd5b60148190556040517f2cb945e0498987ef06dbd68025b0bc276116c63345296379c28a8e8f09b47dc190600090a150565b33610bbb6000546001600160a01b031690565b6001600160a01b031614610c115760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610852565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b03163314610c7257600080fd5b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610c9d336112b6565b610cb95760405162461bcd60e51b815260040161085290611da9565b60138054911515600160a01b0260ff60a01b19909216919091179055565b905090565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610d3f5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b6044820152606401610852565b610d4e338561086a8685611f98565b5060019392505050565b60006107ad338484611171565b610d6e336112b6565b610d8a5760405162461bcd60e51b815260040161085290611da9565b6001600160a01b0316600090815260046020526040812055565b610dad336112b6565b610dc95760405162461bcd60e51b815260040161085290611da9565b6103e8811115610dd857600080fd5b601155565b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54600654610e1b6012600a611ece565b610e2890620f4240611f79565b610e329190611f98565b610cd79190611e51565b610e45336112b6565b610e615760405162461bcd60e51b815260040161085290611da9565b600a811115610e6f57600080fd5b601055565b610e7d336112b6565b610e995760405162461bcd60e51b815260040161085290611da9565b6001600160a01b038216301415610ef25760405162461bcd60e51b815260206004820152601a60248201527f63616e277420496e636c7564652074686520636f6e74726163740000000000006044820152606401610852565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527fa22b25479919d4ac678f064a05daa1ee9c0adc3b8198942ea45255e364e04ed4910160405180910390a15050565b33610f686000546001600160a01b031690565b6001600160a01b031614610fbe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610852565b6001600160a01b0381166110235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610852565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110c85760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b6044820152606401610852565b6001600160a01b0382166111105760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b6044820152606401610852565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111bc5760405162461bcd60e51b81526020600482015260126024820152715472616e736665722066726f6d207a65726f60701b6044820152606401610852565b6001600160a01b0382166112055760405162461bcd60e51b815260206004820152601060248201526f5472616e7366657220746f207a65726f60801b6044820152606401610852565b6001600160a01b03831660009081526003602052604090205460ff168061124457506001600160a01b03821660009081526003602052604090205460ff165b156112595761125483838361149c565b505050565b6014544210156112ab5760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c65640000000000000000006044820152606401610852565b6112548383836115af565b600080546001600160a01b03838116911614806107b1575050600f546001600160a01b0390811691161490565b600f805460ff60a01b1916600160a01b17905530600090815260016020526040812054600c54600b549192916113199190611e51565b601054600d546001600160a01b0316600090815260016020526040812054929350916103e89161134891611f79565b6113529190611e69565b9050816113615750505061148c565b831561137d57503060009081526001602052604090205461138d565b8083101561138d5750505061148c565b6000611397610a5f565b6113b95782600b54836113aa9190611f79565b6113b49190611e69565b6113bc565b60005b905060006113ca8284611f98565b905060006113d9600284611e69565b905060006113e78383611e51565b9050476113f382611819565b60006113ff8247611f98565b9050851561142c576000836114148684611f79565b61141e9190611e69565b905061142a8582611977565b505b600f546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611479576040519150601f19603f3d011682016040523d82523d6000602084013e61147e565b606091505b505050505050505050505050505b50600f805460ff60a01b19169055565b6001600160a01b038316600090815260016020526040902054818110156115005760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b6044820152606401610852565b6001600160a01b03841660009081526001602052604081208054849290611528908490611f98565b90915550506001600160a01b03831660009081526001602052604081208054849290611555908490611e51565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a191815260200190565b60405180910390a350505050565b6001600160a01b038316600090815260016020526040902054818110156116135760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b6044820152606401610852565b601280546001600160a01b038087166001600160a01b03199283168117909355601380549187169190921681179091556000918252600560205260408083205491835282205460ff91821692911690811561167757611670611a5b565b9050611690565b821561168557611670611ab5565b61168d611af9565b90505b600d546001600160a01b038881169116148015906116b85750601354600160a01b900460ff16155b80156116ce5750600f54600160a01b900460ff16155b156116dd576116dd60006112e3565b60006116ec8683600a54611b49565b9050600061170a8784600b54600c546117059190611e51565b611b49565b905060006117188284611e51565b6117229089611f98565b6001600160a01b038b16600090815260016020526040812080549293508a9290919061174f908490611f98565b90915550503060009081526001602052604081208054849290611773908490611e51565b92505081905550826006600082825461178c9190611f98565b90915550506001600160a01b038916600090815260016020526040812080548392906117b9908490611e51565b92505081905550886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161180591815260200190565b60405180910390a350505050505050505050565b600e546118319030906001600160a01b03168361107e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061186657611866611fc5565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118ba57600080fd5b505afa1580156118ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f29190611bb7565b8160018151811061190557611905611fc5565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061194b908590600090869030904290600401611de0565b600060405180830381600087803b15801561196557600080fd5b505af192505050801561125457505050565b600e5461198f9030906001600160a01b03168461107e565b600e546001600160a01b031663f305d7198230856000806119b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611a1b57600080fd5b505af1158015611a2f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a549190611ce3565b5050505050565b6012546001600160a01b03166000908152600460205260408120544290801580611a925750601454611a8e90603c611e51565b8110155b80611a9c57508181145b15611aab576008549250505090565b6103849250505090565b6013546001600160a01b0316600090815260046020526040812054611af2576013546001600160a01b031660009081526004602052604090204290555b5060075490565b6012546001600160a01b03166000908152600460205260408120544290801580611b2257508181145b80611b3a5750601454611b3690603c611e51565b8110155b15611aab576009549250505090565b6000611b576103e880611f79565b82611b628587611f79565b611b6c9190611f79565b611b769190611e69565b949350505050565b80358015158114611b8e57600080fd5b919050565b600060208284031215611ba557600080fd5b8135611bb081611fdb565b9392505050565b600060208284031215611bc957600080fd5b8151611bb081611fdb565b60008060408385031215611be757600080fd5b8235611bf281611fdb565b91506020830135611c0281611fdb565b809150509250929050565b600080600060608486031215611c2257600080fd5b8335611c2d81611fdb565b92506020840135611c3d81611fdb565b929592945050506040919091013590565b60008060408385031215611c6157600080fd5b8235611c6c81611fdb565b9150611c7a60208401611b7e565b90509250929050565b60008060408385031215611c9657600080fd5b8235611ca181611fdb565b946020939093013593505050565b600060208284031215611cc157600080fd5b611bb082611b7e565b600060208284031215611cdc57600080fd5b5035919050565b600080600060608486031215611cf857600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c08789031215611d2a57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611d8157858101830151858201604001528201611d65565b81811115611d93576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f43616c6c6572206e6f74205465616d206f72204f776e65720000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e305784516001600160a01b031683529383019391830191600101611e0b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e6457611e64611faf565b500190565b600082611e8657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ec6578160001904821115611eac57611eac611faf565b80851615611eb957918102915b93841c9390800290611e90565b509250929050565b6000611bb060ff841683600082611ee7575060016107b1565b81611ef4575060006107b1565b8160018114611f0a5760028114611f1457611f30565b60019150506107b1565b60ff841115611f2557611f25611faf565b50506001821b6107b1565b5060208310610133831016604e8410600b8410161715611f53575081810a6107b1565b611f5d8383611e8b565b8060001904821115611f7157611f71611faf565b029392505050565b6000816000190483118215151615611f9357611f93611faf565b500290565b600082821015611faa57611faa611faf565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611ff057600080fd5b5056fea2646970667358221220a75e3d41d892c0aa3588d39bc5eac368b2ecbdbba9c09fb97307552f4169eb9864736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102605760003560e01c80638124f7ac11610144578063be617fa0116100b6578063dbe66ca01161007a578063dbe66ca0146106a7578063dd62ed3e146106d7578063e0d2f9eb1461071d578063e52fb9ec1461073d578063f2fde38b14610753578063f45ca19e1461077357600080fd5b8063be617fa014610616578063c3f4f54f1461062c578063cc1776d314610641578063cfd1940e14610657578063d46b6a301461067757600080fd5b806395d89b411161010857806395d89b411461026c578063a457c2d714610580578063a9059cbb146105a0578063b40d09e2146105c0578063b6bf68f5146105d6578063bc43d849146105f657600080fd5b80638124f7ac1461050c578063817d4bff14610522578063868b014114610542578063893d20e8146105625780638da5cb5b1461056257600080fd5b8063313ce567116101dd5780635149f984116101a15780635149f9841461042857806351bc3c851461044857806354194aaf1461046957806370a0823114610489578063715018a6146104bf57806375f0a874146104d457600080fd5b8063313ce567146103ac57806339509351146103c857806341aec357146103e857806346e35f03146103fd5780634f7041a51461041257600080fd5b80631d4eaead116102245780631d4eaead1461032a5780631d97b7cd146103405780631eb25d131461035757806323b872dd1461036c5780632d48f84f1461038c57600080fd5b806306fdde031461026c578063095ea7b3146102ab5780630eff4c64146102db57806318160ddd146102ff5780631d2cb02d1461031457600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5060408051808201825260078152664d6178696d757360c81b602082015290516102a29190611d54565b60405180910390f35b3480156102b757600080fd5b506102cb6102c6366004611c83565b6107a0565b60405190151581526020016102a2565b3480156102e757600080fd5b506102f160115481565b6040519081526020016102a2565b34801561030b57600080fd5b506006546102f1565b34801561032057600080fd5b506102f1600c5481565b34801561033657600080fd5b506102f1600a5481565b34801561034c57600080fd5b506103556107b7565b005b34801561036357600080fd5b506102f16107c2565b34801561037857600080fd5b506102cb610387366004611c0d565b6107de565b34801561039857600080fd5b506103556103a7366004611d11565b61087a565b3480156103b857600080fd5b50604051601281526020016102a2565b3480156103d457600080fd5b506102cb6103e3366004611c83565b6109f9565b3480156103f457600080fd5b50610355610a30565b34801561040957600080fd5b506102cb610a5f565b34801561041e57600080fd5b506102f160075481565b34801561043457600080fd5b50610355610443366004611c4e565b610a9f565b34801561045457600080fd5b506013546102cb90600160a01b900460ff1681565b34801561047557600080fd5b50610355610484366004611cca565b610b44565b34801561049557600080fd5b506102f16104a4366004611b93565b6001600160a01b031660009081526001602052604090205490565b3480156104cb57600080fd5b50610355610ba8565b3480156104e057600080fd5b50600f546104f4906001600160a01b031681565b6040516001600160a01b0390911681526020016102a2565b34801561051857600080fd5b506102f160095481565b34801561052e57600080fd5b5061035561053d366004611b93565b610c5b565b34801561054e57600080fd5b5061035561055d366004611caf565b610c94565b34801561056e57600080fd5b506000546001600160a01b03166104f4565b34801561058c57600080fd5b506102cb61059b366004611c83565b610cdc565b3480156105ac57600080fd5b506102cb6105bb366004611c83565b610d58565b3480156105cc57600080fd5b506102f160145481565b3480156105e257600080fd5b506103556105f1366004611b93565b610d65565b34801561060257600080fd5b50610355610611366004611cca565b610da4565b34801561062257600080fd5b506102f1600b5481565b34801561063857600080fd5b506102f1610ddd565b34801561064d57600080fd5b506102f160085481565b34801561066357600080fd5b50610355610672366004611cca565b610e3c565b34801561068357600080fd5b506102cb610692366004611b93565b60056020526000908152604090205460ff1681565b3480156106b357600080fd5b506102cb6106c2366004611b93565b60036020526000908152604090205460ff1681565b3480156106e357600080fd5b506102f16106f2366004611bd4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561072957600080fd5b50610355610738366004611c4e565b610e74565b34801561074957600080fd5b506102f160105481565b34801561075f57600080fd5b5061035561076e366004611b93565b610f55565b34801561077f57600080fd5b506102f161078e366004611b93565b60046020526000908152604090205481565b60006107ad33848461107e565b5060015b92915050565b6107c042610b44565b565b6107ce6012600a611ece565b6107db90620f4240611f79565b81565b60006107eb848484611171565b6001600160a01b03841660009081526002602090815260408083203384529091529020548281101561085b5760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b61086f853361086a8685611f98565b61107e565b506001949350505050565b610883336112b6565b61089f5760405162461bcd60e51b815260040161085290611da9565b60006108ae60046103e8611e69565b90508087111580156108c05750808611155b80156108cc5750808511155b61090d5760405162461bcd60e51b81526020600482015260126024820152710a8c2f040caf0c6cacac8e640dac2f0a8c2f60731b6044820152606401610852565b6103e88261091b8587611e51565b6109259190611e51565b1461097c5760405162461bcd60e51b815260206004820152602160248201527f546178657320646f6e27742061646420757020746f2064656e6f6d696e61746f6044820152603960f91b6064820152608401610852565b600787905560088690556009859055600c839055600b829055600a8490556040805188815260208101889052908101869052606081018590526080810184905260a081018390527f95617e149b678679d65360792e6610c8fc9add72efd72fc3c8d94792801ca5c99060c00160405180910390a150505050505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ad91859061086a908690611e51565b610a39336112b6565b610a555760405162461bcd60e51b815260040161085290611da9565b6107c060016112e3565b60006103e8601154600654610a749190611f79565b610a7e9190611e69565b600d546001600160a01b031660009081526001602052604090205411919050565b610aa8336112b6565b610ac45760405162461bcd60e51b815260040161085290611da9565b600d546001600160a01b0383811691161415610b195760405162461bcd60e51b815260206004820152601460248201527363616e2774206368616e67652070616e63616b6560601b6044820152606401610852565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b610b4d336112b6565b610b695760405162461bcd60e51b815260040161085290611da9565b6014544210610b7757600080fd5b60148190556040517f2cb945e0498987ef06dbd68025b0bc276116c63345296379c28a8e8f09b47dc190600090a150565b33610bbb6000546001600160a01b031690565b6001600160a01b031614610c115760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610852565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b03163314610c7257600080fd5b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610c9d336112b6565b610cb95760405162461bcd60e51b815260040161085290611da9565b60138054911515600160a01b0260ff60a01b19909216919091179055565b905090565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610d3f5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b6044820152606401610852565b610d4e338561086a8685611f98565b5060019392505050565b60006107ad338484611171565b610d6e336112b6565b610d8a5760405162461bcd60e51b815260040161085290611da9565b6001600160a01b0316600090815260046020526040812055565b610dad336112b6565b610dc95760405162461bcd60e51b815260040161085290611da9565b6103e8811115610dd857600080fd5b601155565b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54600654610e1b6012600a611ece565b610e2890620f4240611f79565b610e329190611f98565b610cd79190611e51565b610e45336112b6565b610e615760405162461bcd60e51b815260040161085290611da9565b600a811115610e6f57600080fd5b601055565b610e7d336112b6565b610e995760405162461bcd60e51b815260040161085290611da9565b6001600160a01b038216301415610ef25760405162461bcd60e51b815260206004820152601a60248201527f63616e277420496e636c7564652074686520636f6e74726163740000000000006044820152606401610852565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527fa22b25479919d4ac678f064a05daa1ee9c0adc3b8198942ea45255e364e04ed4910160405180910390a15050565b33610f686000546001600160a01b031690565b6001600160a01b031614610fbe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610852565b6001600160a01b0381166110235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610852565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110c85760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b6044820152606401610852565b6001600160a01b0382166111105760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b6044820152606401610852565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111bc5760405162461bcd60e51b81526020600482015260126024820152715472616e736665722066726f6d207a65726f60701b6044820152606401610852565b6001600160a01b0382166112055760405162461bcd60e51b815260206004820152601060248201526f5472616e7366657220746f207a65726f60801b6044820152606401610852565b6001600160a01b03831660009081526003602052604090205460ff168061124457506001600160a01b03821660009081526003602052604090205460ff165b156112595761125483838361149c565b505050565b6014544210156112ab5760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c65640000000000000000006044820152606401610852565b6112548383836115af565b600080546001600160a01b03838116911614806107b1575050600f546001600160a01b0390811691161490565b600f805460ff60a01b1916600160a01b17905530600090815260016020526040812054600c54600b549192916113199190611e51565b601054600d546001600160a01b0316600090815260016020526040812054929350916103e89161134891611f79565b6113529190611e69565b9050816113615750505061148c565b831561137d57503060009081526001602052604090205461138d565b8083101561138d5750505061148c565b6000611397610a5f565b6113b95782600b54836113aa9190611f79565b6113b49190611e69565b6113bc565b60005b905060006113ca8284611f98565b905060006113d9600284611e69565b905060006113e78383611e51565b9050476113f382611819565b60006113ff8247611f98565b9050851561142c576000836114148684611f79565b61141e9190611e69565b905061142a8582611977565b505b600f546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611479576040519150601f19603f3d011682016040523d82523d6000602084013e61147e565b606091505b505050505050505050505050505b50600f805460ff60a01b19169055565b6001600160a01b038316600090815260016020526040902054818110156115005760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b6044820152606401610852565b6001600160a01b03841660009081526001602052604081208054849290611528908490611f98565b90915550506001600160a01b03831660009081526001602052604081208054849290611555908490611e51565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115a191815260200190565b60405180910390a350505050565b6001600160a01b038316600090815260016020526040902054818110156116135760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b6044820152606401610852565b601280546001600160a01b038087166001600160a01b03199283168117909355601380549187169190921681179091556000918252600560205260408083205491835282205460ff91821692911690811561167757611670611a5b565b9050611690565b821561168557611670611ab5565b61168d611af9565b90505b600d546001600160a01b038881169116148015906116b85750601354600160a01b900460ff16155b80156116ce5750600f54600160a01b900460ff16155b156116dd576116dd60006112e3565b60006116ec8683600a54611b49565b9050600061170a8784600b54600c546117059190611e51565b611b49565b905060006117188284611e51565b6117229089611f98565b6001600160a01b038b16600090815260016020526040812080549293508a9290919061174f908490611f98565b90915550503060009081526001602052604081208054849290611773908490611e51565b92505081905550826006600082825461178c9190611f98565b90915550506001600160a01b038916600090815260016020526040812080548392906117b9908490611e51565b92505081905550886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161180591815260200190565b60405180910390a350505050505050505050565b600e546118319030906001600160a01b03168361107e565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061186657611866611fc5565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118ba57600080fd5b505afa1580156118ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f29190611bb7565b8160018151811061190557611905611fc5565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061194b908590600090869030904290600401611de0565b600060405180830381600087803b15801561196557600080fd5b505af192505050801561125457505050565b600e5461198f9030906001600160a01b03168461107e565b600e546001600160a01b031663f305d7198230856000806119b86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611a1b57600080fd5b505af1158015611a2f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a549190611ce3565b5050505050565b6012546001600160a01b03166000908152600460205260408120544290801580611a925750601454611a8e90603c611e51565b8110155b80611a9c57508181145b15611aab576008549250505090565b6103849250505090565b6013546001600160a01b0316600090815260046020526040812054611af2576013546001600160a01b031660009081526004602052604090204290555b5060075490565b6012546001600160a01b03166000908152600460205260408120544290801580611b2257508181145b80611b3a5750601454611b3690603c611e51565b8110155b15611aab576009549250505090565b6000611b576103e880611f79565b82611b628587611f79565b611b6c9190611f79565b611b769190611e69565b949350505050565b80358015158114611b8e57600080fd5b919050565b600060208284031215611ba557600080fd5b8135611bb081611fdb565b9392505050565b600060208284031215611bc957600080fd5b8151611bb081611fdb565b60008060408385031215611be757600080fd5b8235611bf281611fdb565b91506020830135611c0281611fdb565b809150509250929050565b600080600060608486031215611c2257600080fd5b8335611c2d81611fdb565b92506020840135611c3d81611fdb565b929592945050506040919091013590565b60008060408385031215611c6157600080fd5b8235611c6c81611fdb565b9150611c7a60208401611b7e565b90509250929050565b60008060408385031215611c9657600080fd5b8235611ca181611fdb565b946020939093013593505050565b600060208284031215611cc157600080fd5b611bb082611b7e565b600060208284031215611cdc57600080fd5b5035919050565b600080600060608486031215611cf857600080fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c08789031215611d2a57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611d8157858101830151858201604001528201611d65565b81811115611d93576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f43616c6c6572206e6f74205465616d206f72204f776e65720000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e305784516001600160a01b031683529383019391830191600101611e0b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611e6457611e64611faf565b500190565b600082611e8657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611ec6578160001904821115611eac57611eac611faf565b80851615611eb957918102915b93841c9390800290611e90565b509250929050565b6000611bb060ff841683600082611ee7575060016107b1565b81611ef4575060006107b1565b8160018114611f0a5760028114611f1457611f30565b60019150506107b1565b60ff841115611f2557611f25611faf565b50506001821b6107b1565b5060208310610133831016604e8410600b8410161715611f53575081810a6107b1565b611f5d8383611e8b565b8060001904821115611f7157611f71611faf565b029392505050565b6000816000190483118215151615611f9357611f93611faf565b500290565b600082821015611faa57611faa611faf565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611ff057600080fd5b5056fea2646970667358221220a75e3d41d892c0aa3588d39bc5eac368b2ecbdbba9c09fb97307552f4169eb9864736f6c63430008070033

Deployed Bytecode Sourcemap

3390:17389:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18466:94;;;;;;;;;;-1:-1:-1;18547:5:0;;;;;;;;;;;-1:-1:-1;;;18547:5:0;;;;18466:94;;;;18547:5;18466:94;:::i;:::-;;;;;;;;19339:158;;;;;;;;;;-1:-1:-1;19339:158:0;;;;;:::i;:::-;;:::i;:::-;;;4874:14:1;;4867:22;4849:41;;4837:2;4822:18;19339:158:0;4709:187:1;10874:35:0;;;;;;;;;;;;;;;;;;;11000:25:1;;;10988:2;10973:18;10874:35:0;10854:177:1;18776:105:0;;;;;;;;;;-1:-1:-1;18855:18:0;;18776:105;;4647:28;;;;;;;;;;;;;;;;4584:21;;;;;;;;;;;;;;;;17707:85;;;;;;;;;;;;;:::i;:::-;;3884:57;;;;;;;;;;;;;:::i;19807:386::-;;;;;;;;;;-1:-1:-1;19807:386:0;;;;;:::i;:::-;;:::i;11399:608::-;;;;;;;;;;-1:-1:-1;11399:608:0;;;;;:::i;:::-;;:::i;18674:94::-;;;;;;;;;;-1:-1:-1;18674:94:0;;3875:2;12703:36:1;;12691:2;12676:18;18674:94:0;12561:184:1;20228:202:0;;;;;;;;;;-1:-1:-1;20228:202:0;;;;;:::i;:::-;;:::i;17107:83::-;;;;;;;;;;;;;:::i;12244:152::-;;;;;;;;;;;;;:::i;4489:23::-;;;;;;;;;;;;;;;;16678:154;;;;;;;;;;-1:-1:-1;16678:154:0;;;;;:::i;:::-;;:::i;16844:22::-;;;;;;;;;;-1:-1:-1;16844:22:0;;;;-1:-1:-1;;;16844:22:0;;;;;;17798:187;;;;;;;;;;-1:-1:-1;17798:187:0;;;;;:::i;:::-;;:::i;18889:118::-;;;;;;;;;;-1:-1:-1;18889:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;18981:18:0;18957:4;18981:18;;;:9;:18;;;;;;;18889:118;2844:140;;;;;;;;;;;;;:::i;4900:30::-;;;;;;;;;;-1:-1:-1;4900:30:0;;;;-1:-1:-1;;;;;4900:30:0;;;;;;-1:-1:-1;;;;;3764:32:1;;;3746:51;;3734:2;3719:18;4900:30:0;3600:203:1;4550:27:0;;;;;;;;;;;;;;;;4992:147;;;;;;;;;;-1:-1:-1;4992:147:0;;;;;:::i;:::-;;:::i;16949:90::-;;;;;;;;;;-1:-1:-1;16949:90:0;;;;;:::i;:::-;;:::i;18364:94::-;;;;;;;;;;-1:-1:-1;18416:7:0;2268:6;-1:-1:-1;;;;;2268:6:0;18364:94;;20438:336;;;;;;;;;;-1:-1:-1;20438:336:0;;;;;:::i;:::-;;:::i;19015:164::-;;;;;;;;;;-1:-1:-1;19015:164:0;;;;;:::i;:::-;;:::i;17658:42::-;;;;;;;;;;;;;;;;12013:120;;;;;;;;;;-1:-1:-1;12013:120:0;;;;;:::i;:::-;;:::i;10916:211::-;;;;;;;;;;-1:-1:-1;10916:211:0;;;;;:::i;:::-;;:::i;4612:28::-;;;;;;;;;;;;;;;;16153:139;;;;;;;;;;;;;:::i;4519:24::-;;;;;;;;;;;;;;;;10610:189;;;;;;;;;;-1:-1:-1;10610:189:0;;;;;:::i;:::-;;:::i;3682:35::-;;;;;;;;;;-1:-1:-1;3682:35:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3567:48;;;;;;;;;;-1:-1:-1;3567:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19187:144;;;;;;;;;;-1:-1:-1;19187:144:0;;;;;:::i;:::-;-1:-1:-1;;;;;19295:19:0;;;19271:4;19295:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;19187:144;17305:248;;;;;;;;;;-1:-1:-1;17305:248:0;;;;;:::i;:::-;;:::i;10577:26::-;;;;;;;;;;;;;;;;3139:236;;;;;;;;;;-1:-1:-1;3139:236:0;;;;;:::i;:::-;;:::i;3622:53::-;;;;;;;;;;-1:-1:-1;3622:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;19339:158;19413:4;19430:37;19439:10;19451:7;19460:6;19430:8;:37::i;:::-;-1:-1:-1;19485:4:0;19339:158;;;;;:::o;17707:85::-;17749:35;17768:15;17749:18;:35::i;:::-;17707:85::o;3884:57::-;3928:13;3875:2;3928;:13;:::i;:::-;3920:21;;:5;:21;:::i;:::-;3884:57;:::o;19807:386::-;19904:4;19921:36;19931:6;19939:9;19950:6;19921:9;:36::i;:::-;-1:-1:-1;;;;;19994:19:0;;19970:21;19994:19;;;:11;:19;;;;;;;;20014:10;19994:31;;;;;;;;20044:26;;;;20036:59;;;;-1:-1:-1;;;20036:59:0;;7503:2:1;20036:59:0;;;7485:21:1;7542:2;7522:18;;;7515:30;-1:-1:-1;;;7561:18:1;;;7554:50;7621:18;;20036:59:0;;;;;;;;;20108:55;20117:6;20125:10;20137:25;20156:6;20137:16;:25;:::i;:::-;20108:8;:55::i;:::-;-1:-1:-1;20181:4:0;;19807:386;-1:-1:-1;;;;19807:386:0:o;11399:608::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;11522:11:::1;11534:33;4755:1;4712:4;11534:33;:::i;:::-;11522:45;;11591:6;11586:3;:11;;:25;;;;;11605:6;11599:4;:12;;11586:25;:44;;;;;11624:6;11613:9;:17;;11586:44;11578:74;;;::::0;-1:-1:-1;;;11578:74:0;;8205:2:1;11578:74:0::1;::::0;::::1;8187:21:1::0;8244:2;8224:18;;;8217:30;-1:-1:-1;;;8263:18:1;;;8256:48;8321:18;;11578:74:0::1;8003:342:1::0;11578:74:0::1;4712:4;11686:9:::0;11671:14:::1;11676:9:::0;11671:4;:14:::1;:::i;:::-;:24;;;;:::i;:::-;:41;11663:86;;;::::0;-1:-1:-1;;;11663:86:0;;10654:2:1;11663:86:0::1;::::0;::::1;10636:21:1::0;10693:2;10673:18;;;10666:30;10732:34;10712:18;;;10705:62;-1:-1:-1;;;10783:18:1;;;10776:31;10824:19;;11663:86:0::1;10452:397:1::0;11663:86:0::1;11770:6;:10:::0;;;11791:7:::1;:12:::0;;;11814:11:::1;:21:::0;;;11846:12:::1;:22:::0;;;11879:12:::1;:22:::0;;;11912:7:::1;:12:::0;;;11940:59:::1;::::0;;12308:25:1;;;12364:2;12349:18;;12342:34;;;12392:18;;;12385:34;;;12450:2;12435:18;;12428:34;;;12493:3;12478:19;;12471:35;;;12537:3;12522:19;;12515:35;;;11940:59:0::1;::::0;12295:3:1;12280:19;11940:59:0::1;;;;;;;11511:496;11399:608:::0;;;;;;:::o;20228:202::-;20333:10;20307:4;20354:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;20354:32:0;;;;;;;;;;20307:4;;20324:76;;20345:7;;20354:45;;20389:10;;20354:45;:::i;17107:83::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;17158:24:::1;17177:4;17158:18;:24::i;12244:152::-:0;12291:4;12384;12364:19;;12345:18;;:38;;;;:::i;:::-;:43;;;;:::i;:::-;12324:19;;-1:-1:-1;;;;;12324:19:0;12314:30;;;;:9;:30;;;;;;:74;;12244:152;-1:-1:-1;12244:152:0:o;16678:154::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;16756:19:::1;::::0;-1:-1:-1;;;;;16751:24:0;;::::1;16756:19:::0;::::1;16751:24;;16743:56;;;::::0;-1:-1:-1;;;16743:56:0;;9609:2:1;16743:56:0::1;::::0;::::1;9591:21:1::0;9648:2;9628:18;;;9621:30;-1:-1:-1;;;9667:18:1;;;9660:50;9727:18;;16743:56:0::1;9407:344:1::0;16743:56:0::1;-1:-1:-1::0;;;;;16810:10:0;;;::::1;;::::0;;;:5:::1;:10;::::0;;;;:14;;-1:-1:-1;;16810:14:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16678:154::o;17798:187::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;17892:15:::1;;17876;:31;17868:40;;;::::0;::::1;;17919:15;:25:::0;;;17960:17:::1;::::0;::::1;::::0;;;::::1;17798:187:::0;:::o;2844:140::-;2426:10;2415:7;2241;2268:6;-1:-1:-1;;;;;2268:6:0;;2203:79;2415:7;-1:-1:-1;;;;;2415:21:0;;2407:66;;;;-1:-1:-1;;;2407:66:0;;8896:2:1;2407:66:0;;;8878:21:1;;;8915:18;;;8908:30;8974:34;8954:18;;;8947:62;9026:18;;2407:66:0;8694:356:1;2407:66:0;2943:1:::1;2927:6:::0;;2906:40:::1;::::0;-1:-1:-1;;;;;2927:6:0;;::::1;::::0;2906:40:::1;::::0;2943:1;;2906:40:::1;2974:1;2957:19:::0;;-1:-1:-1;;;;;;2957:19:0::1;::::0;;2844:140::o;4992:147::-;5079:15;;-1:-1:-1;;;;;5079:15:0;5067:10;:27;5059:36;;;;;;5106:15;:25;;-1:-1:-1;;;;;;5106:25:0;-1:-1:-1;;;;;5106:25:0;;;;;;;;;;4992:147::o;16949:90::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;17014:10:::1;:17:::0;;;::::1;;-1:-1:-1::0;;;17014:17:0::1;-1:-1:-1::0;;;;17014:17:0;;::::1;::::0;;;::::1;::::0;;16949:90::o;18443:7::-;18436:14;;18364:94;:::o;20438:336::-;20575:10;20522:4;20563:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;20563:32:0;;;;;;;;;;20614:35;;;;20606:60;;;;-1:-1:-1;;;20606:60:0;;10313:2:1;20606:60:0;;;10295:21:1;10352:2;10332:18;;;10325:30;-1:-1:-1;;;10371:18:1;;;10364:42;10423:18;;20606:60:0;10111:336:1;20606:60:0;20679:65;20688:10;20700:7;20709:34;20728:15;20709:16;:34;:::i;20679:65::-;-1:-1:-1;20762:4:0;;20438:336;-1:-1:-1;;;20438:336:0:o;19015:164::-;19092:4;19109:40;19119:10;19131:9;19142:6;19109:9;:40::i;12013:120::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12091:32:0::1;12124:1;12091:32:::0;;;:23:::1;:32;::::0;;;;:34;12013:120::o;10916:211::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;11053:4:::1;11021:30;:36;;11013:45;;;::::0;::::1;;11069:19;:50:::0;10916:211::o;16153:139::-;16276:6;16200:4;16258:26;;;:9;:26;;;;16238:18;;3928:13;3875:2;3928;:13;:::i;:::-;3920:21;;:5;:21;:::i;:::-;16224:32;;;;:::i;:::-;16223:61;;;;:::i;10610:189::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;10724:2:::1;10699:23;:27;;10691:36;;;::::0;::::1;;10755:12;:36:::0;10610:189::o;17305:248::-;5237:19;5245:10;5237:7;:19::i;:::-;5229:56;;;;-1:-1:-1;;;5229:56:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17402:22:0;::::1;17419:4;17402:22;;17394:60;;;::::0;-1:-1:-1;;;17394:60:0;;9958:2:1;17394:60:0::1;::::0;::::1;9940:21:1::0;9997:2;9977:18;;;9970:30;10036:28;10016:18;;;10009:56;10082:18;;17394:60:0::1;9756:350:1::0;17394:60:0::1;-1:-1:-1::0;;;;;17465:25:0;::::1;;::::0;;;:16:::1;:25;::::0;;;;;;;;:33;;-1:-1:-1;;17465:33:0::1;::::0;::::1;;::::0;;::::1;::::0;;;17514:31;;3976:51:1;;;4043:18;;;4036:50;17514:31:0::1;::::0;3949:18:1;17514:31:0::1;;;;;;;17305:248:::0;;:::o;3139:236::-;2426:10;2415:7;2241;2268:6;-1:-1:-1;;;;;2268:6:0;;2203:79;2415:7;-1:-1:-1;;;;;2415:21:0;;2407:66;;;;-1:-1:-1;;;2407:66:0;;8896:2:1;2407:66:0;;;8878:21:1;;;8915:18;;;8908:30;8974:34;8954:18;;;8947:62;9026:18;;2407:66:0;8694:356:1;2407:66:0;-1:-1:-1;;;;;3220:22:0;::::1;3212:73;;;::::0;-1:-1:-1;;;3212:73:0;;6405:2:1;3212:73:0::1;::::0;::::1;6387:21:1::0;6444:2;6424:18;;;6417:30;6483:34;6463:18;;;6456:62;-1:-1:-1;;;6534:18:1;;;6527:36;6580:19;;3212:73:0::1;6203:402:1::0;3212:73:0::1;3322:6;::::0;;3301:38:::1;::::0;-1:-1:-1;;;;;3301:38:0;;::::1;::::0;3322:6;::::1;::::0;3301:38:::1;::::0;::::1;3350:6;:17:::0;;-1:-1:-1;;;;;;3350:17:0::1;-1:-1:-1::0;;;;;3350:17:0;;;::::1;::::0;;;::::1;::::0;;3139:236::o;19503:296::-;-1:-1:-1;;;;;19593:19:0;;19585:49;;;;-1:-1:-1;;;19585:49:0;;6812:2:1;19585:49:0;;;6794:21:1;6851:2;6831:18;;;6824:30;-1:-1:-1;;;6870:18:1;;;6863:47;6927:18;;19585:49:0;6610:341:1;19585:49:0;-1:-1:-1;;;;;19653:21:0;;19645:49;;;;-1:-1:-1;;;19645:49:0;;8552:2:1;19645:49:0;;;8534:21:1;8591:2;8571:18;;;8564:30;-1:-1:-1;;;8610:18:1;;;8603:45;8665:18;;19645:49:0;8350:339:1;19645:49:0;-1:-1:-1;;;;;19707:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19759:32;;11000:25:1;;;19759:32:0;;10973:18:1;19759:32:0;;;;;;;19503:296;;;:::o;7184:613::-;-1:-1:-1;;;;;7277:20:0;;7269:51;;;;-1:-1:-1;;;7269:51:0;;5705:2:1;7269:51:0;;;5687:21:1;5744:2;5724:18;;;5717:30;-1:-1:-1;;;5763:18:1;;;5756:48;5821:18;;7269:51:0;5503:342:1;7269:51:0;-1:-1:-1;;;;;7339:23:0;;7331:52;;;;-1:-1:-1;;;7331:52:0;;7158:2:1;7331:52:0;;;7140:21:1;7197:2;7177:18;;;7170:30;-1:-1:-1;;;7216:18:1;;;7209:46;7272:18;;7331:52:0;6956:340:1;7331:52:0;-1:-1:-1;;;;;7426:24:0;;;;;;:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;7454:27:0;;;;;;:16;:27;;;;;;;;7426:55;7423:367;;;7496:43;7513:6;7521:9;7532:6;7496:16;:43::i;:::-;7184:613;;;:::o;7423:367::-;7664:15;;7647;:32;;7639:67;;;;-1:-1:-1;;;7639:67:0;;9257:2:1;7639:67:0;;;9239:21:1;9296:2;9276:18;;;9269:30;9335:25;9315:18;;;9308:53;9378:18;;7639:67:0;9055:347:1;7639:67:0;7721:39;7736:6;7743:9;7753:6;7721:14;:39::i;5523:120::-;5576:4;2268:6;;-1:-1:-1;;;;;5599:13:0;;;2268:6;;5599:13;;:36;;-1:-1:-1;;5620:15:0;;-1:-1:-1;;;;;5620:15:0;;;5614:21;;;;5523:120::o;12555:1820::-;10394:27;:34;;-1:-1:-1;;;;10394:34:0;-1:-1:-1;;;10394:34:0;;;12671:4:::1;10394:34:::0;12653:24;;;10424:4;12653:24:::1;::::0;;;;;12715:12:::1;::::0;12702::::1;::::0;12653:24;;10394:34;12702:25:::1;::::0;12715:12;12702:25:::1;:::i;:::-;12881:12;::::0;12860:19:::1;::::0;-1:-1:-1;;;;;12860:19:0::1;12833:16;12850:30:::0;;;:9:::1;:30;::::0;;;;;12688:39;;-1:-1:-1;12833:16:0;12894:4:::1;::::0;12850:43:::1;::::0;::::1;:::i;:::-;:48;;;;:::i;:::-;12833:65:::0;-1:-1:-1;12951:11:0;12948:22:::1;;12963:7;;;;;12948:22;13139:12;13136:134;;;-1:-1:-1::0;13196:4:0::1;13178:24;::::0;;;:9:::1;:24;::::0;;;;;13136:134:::1;;;13237:11;13221:15;:27;13218:52;;;13263:7;;;;;13218:52;13403:22;13436:17;:15;:17::i;:::-;:65;;13493:8;13479:12;;13467:11;:24;;;;:::i;:::-;13466:35;;;;:::i;:::-;13436:65;;;13454:1;13436:65;13403:98:::0;-1:-1:-1;13514:22:0::1;13538:29;13403:98:::0;13538:11;:29:::1;:::i;:::-;13514:53:::0;-1:-1:-1;13580:12:0::1;13593:19;13611:1;13593:17:::0;:19:::1;:::i;:::-;13580:32:::0;-1:-1:-1;13693:14:0::1;13708:25;13716:17:::0;13580:32;13708:25:::1;:::i;:::-;13693:40:::0;-1:-1:-1;13847:21:0::1;13879:27;13693:40:::0;13879:16:::1;:27::i;:::-;13917:11;13930:41;13954:17:::0;13930:21:::1;:41;:::i;:::-;13917:55:::0;-1:-1:-1;14077:19:0;;14074:135:::1;;14112:11;14143:9:::0;14127:14:::1;14134:7:::0;14127:6;:14:::1;:::i;:::-;14126:26;;;;:::i;:::-;14112:40;;14167:30;14181:7;14190:6;14167:13;:30::i;:::-;14097:112;14074:135;14294:15;::::0;:53:::1;::::0;14282:9:::1;::::0;-1:-1:-1;;;;;14294:15:0::1;::::0;14321:21:::1;::::0;14282:9;14294:53;14282:9;14294:53;14321:21;14294:15;:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;;;;10439:1:0::1;-1:-1:-1::0;10451:27:0;:35;;-1:-1:-1;;;;10451:35:0;;;12555:1820::o;9590:339::-;-1:-1:-1;;;;;9703:17:0;;9682:18;9703:17;;;:9;:17;;;;;;9739:23;;;;9731:60;;;;-1:-1:-1;;;9731:60:0;;6052:2:1;9731:60:0;;;6034:21:1;6091:2;6071:18;;;6064:30;-1:-1:-1;;;6110:18:1;;;6103:54;6174:18;;9731:60:0;5850:348:1;9731:60:0;-1:-1:-1;;;;;9802:17:0;;;;;;:9;:17;;;;;:25;;9821:6;;9802:17;:25;;9821:6;;9802:25;:::i;:::-;;;;-1:-1:-1;;;;;;;9838:20:0;;;;;;:9;:20;;;;;:28;;9860:6;;9838:20;:28;;9860:6;;9838:28;:::i;:::-;;;;;;;;9904:9;-1:-1:-1;;;;;9888:33:0;9897:6;-1:-1:-1;;;;;9888:33:0;;9914:6;9888:33;;;;11000:25:1;;10988:2;10973:18;;10854:177;9888:33:0;;;;;;;;9671:258;9590:339;;;:::o;7898:1397::-;-1:-1:-1;;;;;8009:17:0;;7988:18;8009:17;;;:9;:17;;;;;;8045:23;;;;8037:60;;;;-1:-1:-1;;;8037:60:0;;6052:2:1;8037:60:0;;;6034:21:1;6091:2;6071:18;;;6064:30;-1:-1:-1;;;6110:18:1;;;6103:54;6174:18;;8037:60:0;5850:348:1;8037:60:0;8108:6;:13;;-1:-1:-1;;;;;8108:13:0;;;-1:-1:-1;;;;;;8108:13:0;;;;;;;;8132:9;:19;;;;;;;;;;;;;;8108:6;8173:13;;;:5;:13;;;;;;;8209:16;;;;;;8173:13;;;;;8209:16;;;8257:146;;;;8292:9;:7;:9::i;:::-;8288:13;;8257:146;;;8335:5;8332:71;;;8360:8;:6;:8::i;8332:71::-;8390:13;:11;:13::i;:::-;8386:17;;8332:71;8428:19;;-1:-1:-1;;;;;8420:27:0;;;8428:19;;8420:27;;;;8419:44;;-1:-1:-1;8452:10:0;;-1:-1:-1;;;8452:10:0;;;;8451:11;8419:44;:76;;;;-1:-1:-1;8467:27:0;;-1:-1:-1;;;8467:27:0;;;;8466:28;8419:76;8416:119;;;8510:25;8529:5;8510:18;:25::i;:::-;8606:20;8627:35;8641:6;8649:3;8654:7;;8627:13;:35::i;:::-;8606:56;;8770:18;8789:53;8803:6;8811:3;8829:12;;8816;;:25;;;;:::i;:::-;8789:13;:53::i;:::-;8770:72;-1:-1:-1;8906:16:0;8931:31;8770:72;8931:15;:31;:::i;:::-;8923:40;;:6;:40;:::i;:::-;-1:-1:-1;;;;;8976:17:0;;;;;;:9;:17;;;;;:25;;8906:57;;-1:-1:-1;8995:6:0;;8976:17;;;:25;;8995:6;;8976:25;:::i;:::-;;;;-1:-1:-1;;9086:4:0;9068:24;;;;:9;:24;;;;;:41;;9096:13;;9068:24;:41;;9096:13;;9068:41;:::i;:::-;;;;;;;;9164:15;9144:18;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9190:20:0;;;;;;:9;:20;;;;;:33;;9212:11;;9190:20;:33;;9212:11;;9190:33;:::i;:::-;;;;;;;;9265:9;-1:-1:-1;;;;;9249:38:0;9258:6;-1:-1:-1;;;;;9249:38:0;;9275:11;9249:38;;;;11000:25:1;;10988:2;10973:18;;10854:177;9249:38:0;;;;;;;;7977:1318;;;;;;;7898:1397;;;:::o;14478:474::-;14568:14;;14536:56;;14553:4;;-1:-1:-1;;;;;14568:14:0;14585:6;14536:8;:56::i;:::-;14627:16;;;14641:1;14627:16;;;;;;;;14603:21;;14627:16;;;;;;;;;;-1:-1:-1;14627:16:0;14603:40;;14672:4;14654;14659:1;14654:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14654:23:0;;;:7;;;;;;;;;;:23;;;;14698:14;;:21;;;-1:-1:-1;;;14698:21:0;;;;:14;;;;;:19;;:21;;;;;14654:7;;14698:21;;;;;:14;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14688:4;14693:1;14688:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14688:31:0;;;:7;;;;;;;;;:31;14736:14;;:190;;-1:-1:-1;;;14736:190:0;;:14;;;:65;;:190;;14816:6;;14736:14;;14853:4;;14880;;14900:15;;14736:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14525:427;14478:474;:::o;15762:353::-;15870:14;;15838:61;;15855:4;;-1:-1:-1;;;;;15870:14:0;15887:11;15838:8;:61::i;:::-;15910:14;;-1:-1:-1;;;;;15910:14:0;:30;15948:9;15981:4;16001:11;15910:14;;16059:7;2241;2268:6;-1:-1:-1;;;;;2268:6:0;;2203:79;16059:7;15910:197;;;;;;-1:-1:-1;;;;;;15910:197:0;;;-1:-1:-1;;;;;4456:15:1;;;15910:197:0;;;4438:34:1;4488:18;;;4481:34;;;;4531:18;;;4524:34;;;;4574:18;;;4567:34;4638:15;;;4617:19;;;4610:44;16081:15:0;4670:19:1;;;4663:35;4372:19;;15910:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15762:353;;:::o;15167:289::-;15304:6;;-1:-1:-1;;;;;15304:6:0;15208:4;15280:31;;;:23;:31;;;;;;15234:15;;15325:17;;;:60;;-1:-1:-1;15360:15:0;;:25;;15376:9;15360:25;:::i;:::-;15344:14;:41;;15325:60;:82;;;;15403:4;15387:14;:20;15325:82;15322:101;;;15416:7;;15409:14;;;;15167:289;:::o;15322:101::-;16143:3;15434:14;;;;15167:289;:::o;14962:199::-;15040:9;;-1:-1:-1;;;;;15040:9:0;14997:4;15016:34;;;:23;:34;;;;;;15013:117;;15092:9;;-1:-1:-1;;;;;15092:9:0;15068:34;;;;:23;:34;;;;;15103:15;15068:50;;15013:117;-1:-1:-1;15147:6:0;;;14962:199::o;15462:288::-;15604:6;;-1:-1:-1;;;;;15604:6:0;15507:4;15580:31;;;:23;:31;;;;;;15534:15;;15625:17;;;:39;;;15660:4;15644:14;:20;15625:39;:82;;;-1:-1:-1;15682:15:0;;:25;;15698:9;15682:25;:::i;:::-;15666:14;:41;;15625:82;15622:105;;;15716:11;;15709:18;;;;15462:288;:::o;9350:176::-;9435:4;9486:31;4712:4;;9486:31;:::i;:::-;9471:10;9460;9467:3;9460:6;:10;:::i;:::-;:21;;;;:::i;:::-;9459:59;;;;:::i;:::-;9452:66;9350:176;-1:-1:-1;;;;9350:176:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;:::-;415:5;179:247;-1:-1:-1;;;179:247:1:o;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:52;;;2306:1;2303;2296:12;2258:52;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;-1:-1:-1;2517:23:1;;2366:180;-1:-1:-1;2366:180:1:o;2551:306::-;2639:6;2647;2655;2708:2;2696:9;2687:7;2683:23;2679:32;2676:52;;;2724:1;2721;2714:12;2676:52;2753:9;2747:16;2737:26;;2803:2;2792:9;2788:18;2782:25;2772:35;;2847:2;2836:9;2832:18;2826:25;2816:35;;2551:306;;;;;:::o;2862:523::-;2966:6;2974;2982;2990;2998;3006;3059:3;3047:9;3038:7;3034:23;3030:33;3027:53;;;3076:1;3073;3066:12;3027:53;-1:-1:-1;;3099:23:1;;;3169:2;3154:18;;3141:32;;-1:-1:-1;3220:2:1;3205:18;;3192:32;;3271:2;3256:18;;3243:32;;-1:-1:-1;3322:3:1;3307:19;;3294:33;;-1:-1:-1;3374:3:1;3359:19;3346:33;;-1:-1:-1;2862:523:1;-1:-1:-1;2862:523:1:o;4901:597::-;5013:4;5042:2;5071;5060:9;5053:21;5103:6;5097:13;5146:6;5141:2;5130:9;5126:18;5119:34;5171:1;5181:140;5195:6;5192:1;5189:13;5181:140;;;5290:14;;;5286:23;;5280:30;5256:17;;;5275:2;5252:26;5245:66;5210:10;;5181:140;;;5339:6;5336:1;5333:13;5330:91;;;5409:1;5404:2;5395:6;5384:9;5380:22;5376:31;5369:42;5330:91;-1:-1:-1;5482:2:1;5461:15;-1:-1:-1;;5457:29:1;5442:45;;;;5489:2;5438:54;;4901:597;-1:-1:-1;;;4901:597:1:o;7650:348::-;7852:2;7834:21;;;7891:2;7871:18;;;7864:30;7930:26;7925:2;7910:18;;7903:54;7989:2;7974:18;;7650:348::o;11036:980::-;11298:4;11346:3;11335:9;11331:19;11377:6;11366:9;11359:25;11403:2;11441:6;11436:2;11425:9;11421:18;11414:34;11484:3;11479:2;11468:9;11464:18;11457:31;11508:6;11543;11537:13;11574:6;11566;11559:22;11612:3;11601:9;11597:19;11590:26;;11651:2;11643:6;11639:15;11625:29;;11672:1;11682:195;11696:6;11693:1;11690:13;11682:195;;;11761:13;;-1:-1:-1;;;;;11757:39:1;11745:52;;11852:15;;;;11817:12;;;;11793:1;11711:9;11682:195;;;-1:-1:-1;;;;;;;11933:32:1;;;;11928:2;11913:18;;11906:60;-1:-1:-1;;;11997:3:1;11982:19;11975:35;11894:3;11036:980;-1:-1:-1;;;11036:980:1:o;12750:128::-;12790:3;12821:1;12817:6;12814:1;12811:13;12808:39;;;12827:18;;:::i;:::-;-1:-1:-1;12863:9:1;;12750:128::o;12883:217::-;12923:1;12949;12939:132;;12993:10;12988:3;12984:20;12981:1;12974:31;13028:4;13025:1;13018:15;13056:4;13053:1;13046:15;12939:132;-1:-1:-1;13085:9:1;;12883:217::o;13105:422::-;13194:1;13237:5;13194:1;13251:270;13272:7;13262:8;13259:21;13251:270;;;13331:4;13327:1;13323:6;13319:17;13313:4;13310:27;13307:53;;;13340:18;;:::i;:::-;13390:7;13380:8;13376:22;13373:55;;;13410:16;;;;13373:55;13489:22;;;;13449:15;;;;13251:270;;;13255:3;13105:422;;;;;:::o;13532:140::-;13590:5;13619:47;13660:4;13650:8;13646:19;13640:4;13726:5;13756:8;13746:80;;-1:-1:-1;13797:1:1;13811:5;;13746:80;13845:4;13835:76;;-1:-1:-1;13882:1:1;13896:5;;13835:76;13927:4;13945:1;13940:59;;;;14013:1;14008:130;;;;13920:218;;13940:59;13970:1;13961:10;;13984:5;;;14008:130;14045:3;14035:8;14032:17;14029:43;;;14052:18;;:::i;:::-;-1:-1:-1;;14108:1:1;14094:16;;14123:5;;13920:218;;14222:2;14212:8;14209:16;14203:3;14197:4;14194:13;14190:36;14184:2;14174:8;14171:16;14166:2;14160:4;14157:12;14153:35;14150:77;14147:159;;;-1:-1:-1;14259:19:1;;;14291:5;;14147:159;14338:34;14363:8;14357:4;14338:34;:::i;:::-;14408:6;14404:1;14400:6;14396:19;14387:7;14384:32;14381:58;;;14419:18;;:::i;:::-;14457:20;;13677:806;-1:-1:-1;;;13677:806:1:o;14488:168::-;14528:7;14594:1;14590;14586:6;14582:14;14579:1;14576:21;14571:1;14564:9;14557:17;14553:45;14550:71;;;14601:18;;:::i;:::-;-1:-1:-1;14641:9:1;;14488:168::o;14661:125::-;14701:4;14729:1;14726;14723:8;14720:34;;;14734:18;;:::i;:::-;-1:-1:-1;14771:9:1;;14661:125::o;14791:127::-;14852:10;14847:3;14843:20;14840:1;14833:31;14883:4;14880:1;14873:15;14907:4;14904:1;14897:15;14923:127;14984:10;14979:3;14975:20;14972:1;14965:31;15015:4;15012:1;15005:15;15039:4;15036:1;15029:15;15187:131;-1:-1:-1;;;;;15262:31:1;;15252:42;;15242:70;;15308:1;15305;15298:12;15242:70;15187:131;:::o

Swarm Source

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