ETH Price: $2,356.34 (+1.28%)

Token

Panzerprotocol.io (PNZR)
 

Overview

Max Total Supply

111,000,000 PNZR

Holders

27 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
mirdi.eth
Balance
46.794363824622719352 PNZR

Value
$0.00
0x57dd7f7dec129f623eb9dda3acd900be2619200f
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Panzerprotocol will combine tokenomics of frictionless yield for instant rewards with the benefits of creating, selling, and vote on Panzerprotocol NFT Platform.

IEO Address : https://www.safu.investments/  
IEO Start Date : Feb 20, 2021  
IEO End Date : Once Hard Cap met  
IEO Price : $0.0089  
Public Sale Allocation : 41%  
Soft Cap : 90  
Hard Cap : 180  
Token Distribution Date : End of Public Presale  
     

 


# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Panzerprotocol

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-15
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.7.4;


contract Context {
    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        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 tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

   
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

    
    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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

   
    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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

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

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

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

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

library Address {
    
    function isContract(address account) internal view returns (bool) {
       

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

   
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

 
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}



contract Panzerprotocol is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    string private constant NAME = "Panzerprotocol.io";
    string private constant SYMBOL = "PNZR";
    uint8 private constant DECIMALS = 18;

    mapping(address => uint256) private rewards;
    mapping(address => uint256) private actual;
    mapping(address => mapping(address => uint256)) private allowances;

    mapping(address => bool) private excludedFromFees;
    mapping(address => bool) private excludedFromRewards;
    address[] private rewardExcluded;

    uint256 private constant MAX = ~uint256(0);
    uint256 private constant ACTUAL_TOTAL = 111_000_000 * 1e18;
    uint256 private rewardsTotal = (MAX - (MAX % ACTUAL_TOTAL));
    uint256 private holderFeeTotal;
    uint256 private marketingFeeTotal;
    uint256 private lpFeeTotal;
    

    uint256 public taxPercentage = 3;
    uint256 public holderTaxAlloc = 10;
    uint256 public marketingTaxAlloc = 10;
    uint256 public lpTaxAlloc = 10;
    uint256 public totalTaxAlloc = marketingTaxAlloc.add(holderTaxAlloc).add(lpTaxAlloc);

    address public marketingAddress;
    address public lpStakingAddress;
    

    constructor(address _marketingAddress) {
        rewards[_marketingAddress] = rewardsTotal;
        emit Transfer(address(0), _marketingAddress, ACTUAL_TOTAL);

        marketingAddress = _marketingAddress;

        excludeFromRewards(_msgSender());
        excludeFromFees(_marketingAddress);

        if (_marketingAddress != _msgSender()) {
            excludeFromRewards(_marketingAddress);
            excludeFromFees(_msgSender());


        }

        excludeFromFees(address(0x000000000000000000000000000000000000dEaD));
    }

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

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

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

    function totalSupply() external pure override returns (uint256) {
        return ACTUAL_TOTAL;
    }

    function balanceOf(address _account) public view override returns (uint256) {
        if (excludedFromRewards[_account]) {
            return actual[_account];
        }
        return tokenWithRewards(rewards[_account]);
    }

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

    function allowance(address _owner, address _spender) public view override returns (uint256) {
        return allowances[_owner][_spender];
    }

    function approve(address _spender, uint256 _amount) public override returns (bool) {
        _approve(_msgSender(), _spender, _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 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 isExcludedFromRewards(address _account) external view returns (bool) {
        return excludedFromRewards[_account];
    }

    function isExcludedFromFees(address _account) external view returns (bool) {
        return excludedFromFees[_account];
    }

    function totalFees() external view returns (uint256) {
        return holderFeeTotal.add(marketingFeeTotal).add(lpFeeTotal);
    }

    function totalHolderFees() external view returns (uint256) {
        return holderFeeTotal;
    }

    function totalMarketingFees() external view returns (uint256) {
        return marketingFeeTotal;
    }

    function totalLpFees() external view returns (uint256) {
        return lpFeeTotal;
    }

   

    function distribute(uint256 _actualAmount) public {
        address sender = _msgSender();
        require(!excludedFromRewards[sender], "Excluded addresses cannot call this function");

        (uint256 rewardAmount, , , , ) = _getValues(_actualAmount);
        rewards[sender] = rewards[sender].sub(rewardAmount);
        rewardsTotal = rewardsTotal.sub(rewardAmount);
        holderFeeTotal = holderFeeTotal.add(_actualAmount);
    }

    function excludeFromFees(address _account) public onlyOwner() {
        require(!excludedFromFees[_account], "Account is already excluded from fee");
        excludedFromFees[_account] = true;
    }

    function includeInFees(address _account) public onlyOwner() {
        require(excludedFromFees[_account], "Account is already included in fee");
        excludedFromFees[_account] = false;
    }

    function excludeFromRewards(address _account) public onlyOwner() {
        require(!excludedFromRewards[_account], "Account is already excluded from reward");

        if (rewards[_account] > 0) {
            actual[_account] = tokenWithRewards(rewards[_account]);
        }

        excludedFromRewards[_account] = true;
        rewardExcluded.push(_account);
    }

    function includeInRewards(address _account) public onlyOwner() {
        require(excludedFromRewards[_account], "Account is already included in rewards");

        for (uint256 i = 0; i < rewardExcluded.length; i++) {
            if (rewardExcluded[i] == _account) {
                rewardExcluded[i] = rewardExcluded[rewardExcluded.length - 1];
                actual[_account] = 0;
                excludedFromRewards[_account] = false;
                rewardExcluded.pop();
                break;
            }
        }
    }

    function _approve(
        address _owner,
        address _spender,
        uint256 _amount
    ) private {
        require(_owner != address(0), "ERC20: approve from the zero address");
        require(_spender != address(0), "ERC20: approve to the zero address");

        allowances[_owner][_spender] = _amount;
        emit Approval(_owner, _spender, _amount);
    }

    function _transfer(
        address _sender,
        address _recipient,
        uint256 _amount
    ) private {
        require(_sender != address(0), "ERC20: transfer from the zero address");
        require(_recipient != address(0), "ERC20: transfer to the zero address");
        require(_amount > 0, "Transfer amount must be greater than zero");

        uint256 currentTaxPercentage = taxPercentage;
        if (excludedFromFees[_sender] || excludedFromFees[_recipient]) {
            taxPercentage = 0;
        } else {
            uint256 fee = _getFee(_amount);
            uint256 marketingFee = _getMarketingFee(fee);
            uint256 lpFee = _getLpFee(fee);

            _updateMarketingFee(marketingFee);
            _updateLpFee(lpFee);
            
        }

        if (excludedFromRewards[_sender] && !excludedFromRewards[_recipient]) {
            _transferWithoutSenderRewards(_sender, _recipient, _amount);
        } else if (!excludedFromRewards[_sender] && excludedFromRewards[_recipient]) {
            _transferWithRecipientRewards(_sender, _recipient, _amount);
        } else if (!excludedFromRewards[_sender] && !excludedFromRewards[_recipient]) {
            _transferWithRewards(_sender, _recipient, _amount);
        } else if (excludedFromRewards[_sender] && excludedFromRewards[_recipient]) {
            _transferWithoutRewards(_sender, _recipient, _amount);
        } else {
            _transferWithRewards(_sender, _recipient, _amount);
        }

        if (currentTaxPercentage != taxPercentage) {
            taxPercentage = currentTaxPercentage;
        }
    }

    function _transferWithRewards(
        address _sender,
        address _recipient,
        uint256 _actualAmount
    ) private {
        (
            uint256 rewardAmount,
            uint256 rewardTransferAmount,
            uint256 rewardFee,
            uint256 actualTransferAmount,
            uint256 actualFee
        ) = _getValues(_actualAmount);

        rewards[_sender] = rewards[_sender].sub(rewardAmount);
        rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount);
        _updateHolderFee(rewardFee, actualFee);
        emit Transfer(_sender, _recipient, actualTransferAmount);
    }

    function _transferWithRecipientRewards(
        address _sender,
        address _recipient,
        uint256 _actualAmount
    ) private {
        (
            uint256 rewardAmount,
            uint256 rewardTransferAmount,
            uint256 rewardFee,
            uint256 actualTransferAmount,
            uint256 actualFee
        ) = _getValues(_actualAmount);

        rewards[_sender] = rewards[_sender].sub(rewardAmount);
        actual[_recipient] = actual[_recipient].add(actualTransferAmount);
        rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount);
        _updateHolderFee(rewardFee, actualFee);
        emit Transfer(_sender, _recipient, actualTransferAmount);
    }

    function _transferWithoutSenderRewards(
        address _sender,
        address _recipient,
        uint256 _actualAmount
    ) private {
        (
            uint256 rewardAmount,
            uint256 rewardTransferAmount,
            uint256 rewardFee,
            uint256 actualTransferAmount,
            uint256 actualFee
        ) = _getValues(_actualAmount);

        actual[_sender] = actual[_sender].sub(_actualAmount);
        rewards[_sender] = rewards[_sender].sub(rewardAmount);
        rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount);
        _updateHolderFee(rewardFee, actualFee);
        emit Transfer(_sender, _recipient, actualTransferAmount);
    }

    function _transferWithoutRewards(
        address _sender,
        address _recipient,
        uint256 _actualAmount
    ) private {
        (
            uint256 rewardAmount,
            uint256 rewardTransferAmount,
            uint256 rewardFee,
            uint256 actualTransferAmount,
            uint256 actualFee
        ) = _getValues(_actualAmount);

        actual[_sender] = actual[_sender].sub(_actualAmount);
        rewards[_sender] = rewards[_sender].sub(rewardAmount);
        actual[_recipient] = actual[_recipient].add(actualTransferAmount);
        rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount);
        _updateHolderFee(rewardFee, actualFee);
        emit Transfer(_sender, _recipient, actualTransferAmount);
    }

    function _updateHolderFee(uint256 _rewardFee, uint256 _actualFee) private {
        rewardsTotal = rewardsTotal.sub(_rewardFee);
        holderFeeTotal = holderFeeTotal.add(_actualFee);
    }

    function _updateMarketingFee(uint256 _marketingFee) private {
        if (marketingAddress == address(0)) {
            return;
        }

        uint256 rewardsRate = _getRewardsRate();
        uint256 rewardMarketingFee = _marketingFee.mul(rewardsRate);
        marketingFeeTotal = marketingFeeTotal.add(_marketingFee);

        rewards[marketingAddress] = rewards[marketingAddress].add(rewardMarketingFee);
        if (excludedFromRewards[marketingAddress]) {
            actual[marketingAddress] = actual[marketingAddress].add(_marketingFee);
        }
    }

    function _updateLpFee(uint256 _lpFee) private {
        if (lpStakingAddress == address(0)) {
            return;
        }

        uint256 rewardsRate = _getRewardsRate();
        uint256 rewardLpFee = _lpFee.mul(rewardsRate);
        lpFeeTotal = lpFeeTotal.add(_lpFee);

        rewards[lpStakingAddress] = rewards[lpStakingAddress].add(rewardLpFee);
        if (excludedFromRewards[lpStakingAddress]) {
            actual[lpStakingAddress] = actual[lpStakingAddress].add(_lpFee);
        }
    }



    function rewardsFromToken(uint256 _actualAmount, bool _deductTransferFee) public view returns (uint256) {
        require(_actualAmount <= ACTUAL_TOTAL, "Amount must be less than supply");
        if (!_deductTransferFee) {
            (uint256 rewardAmount, , , , ) = _getValues(_actualAmount);
            return rewardAmount;
        } else {
            (, uint256 rewardTransferAmount, , , ) = _getValues(_actualAmount);
            return rewardTransferAmount;
        }
    }

    function tokenWithRewards(uint256 _rewardAmount) public view returns (uint256) {
        require(_rewardAmount <= rewardsTotal, "Amount must be less than total rewards");
        uint256 rewardsRate = _getRewardsRate();
        return _rewardAmount.div(rewardsRate);
    }

    function _getValues(uint256 _actualAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 actualTransferAmount, uint256 actualFee) = _getActualValues(_actualAmount);
        uint256 rewardsRate = _getRewardsRate();
        (
            uint256 rewardAmount,
            uint256 rewardTransferAmount,
            uint256 rewardFee
        ) = _getRewardValues(_actualAmount, actualFee, rewardsRate);

        return (rewardAmount, rewardTransferAmount, rewardFee, actualTransferAmount, actualFee);
    }

    function _getActualValues(uint256 _actualAmount) private view returns (uint256, uint256) {
        uint256 actualFee = _getFee(_actualAmount);
        uint256 actualHolderFee = _getHolderFee(actualFee);
        uint256 actualTransferAmount = _actualAmount.sub(actualFee);
        return (actualTransferAmount, actualHolderFee);
    }

    function _getRewardValues(
        uint256 _actualAmount,
        uint256 _actualHolderFee,
        uint256 _rewardsRate
    )
        private
        view
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 actualFee = _getFee(_actualAmount).mul(_rewardsRate);
        uint256 rewardAmount = _actualAmount.mul(_rewardsRate);
        uint256 rewardTransferAmount = rewardAmount.sub(actualFee);
        uint256 rewardFee = _actualHolderFee.mul(_rewardsRate);
        return (rewardAmount, rewardTransferAmount, rewardFee);
    }

    function _getRewardsRate() private view returns (uint256) {
        (uint256 rewardsSupply, uint256 actualSupply) = _getCurrentSupply();
        return rewardsSupply.div(actualSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rewardsSupply = rewardsTotal;
        uint256 actualSupply = ACTUAL_TOTAL;

        for (uint256 i = 0; i < rewardExcluded.length; i++) {
            if (rewards[rewardExcluded[i]] > rewardsSupply || actual[rewardExcluded[i]] > actualSupply) {
                return (rewardsTotal, ACTUAL_TOTAL);
            }

            rewardsSupply = rewardsSupply.sub(rewards[rewardExcluded[i]]);
            actualSupply = actualSupply.sub(actual[rewardExcluded[i]]);
        }

        if (rewardsSupply < rewardsTotal.div(ACTUAL_TOTAL)) {
            return (rewardsTotal, ACTUAL_TOTAL);
        }

        return (rewardsSupply, actualSupply);
    }

    function _getFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(taxPercentage).div(100);
    }

    function _getHolderFee(uint256 _tax) private view returns (uint256) {
        return _tax.mul(holderTaxAlloc).div(totalTaxAlloc);
    }

    function _getMarketingFee(uint256 _tax) private view returns (uint256) {
        return _tax.mul(marketingTaxAlloc).div(totalTaxAlloc);
    }

    function _getLpFee(uint256 _tax) private view returns (uint256) {
        return _tax.mul(lpTaxAlloc).div(totalTaxAlloc);
    }


    function setTaxPercentage(uint256 _taxPercentage) external onlyOwner {
        require(_taxPercentage >= 1 && _taxPercentage <= 10, "Value is outside of range 1-10");
        taxPercentage = _taxPercentage;
    }

    function setTaxAllocations(
        uint256 _holderTaxAlloc,
        uint256 _marketingTaxAlloc,
        uint256 _lpTaxAlloc
        
    ) external onlyOwner {
        totalTaxAlloc = _holderTaxAlloc.add(_marketingTaxAlloc).add(_lpTaxAlloc);

        require(_holderTaxAlloc >= 5 && _holderTaxAlloc <= 10, "_holderTaxAlloc is outside of range 5-10");
        require(_lpTaxAlloc >= 5 && _lpTaxAlloc <= 10, "_lpTaxAlloc is outside of range 5-10");
       

        holderTaxAlloc = _holderTaxAlloc;
        marketingTaxAlloc = _marketingTaxAlloc;
        lpTaxAlloc = _lpTaxAlloc;
        
    }

    function setMarketingAddress(address _marketingAddress) external onlyOwner {
        marketingAddress = _marketingAddress;
    }

    function setLpStakingAddress(address _lpStakingAddress) external onlyOwner {
        lpStakingAddress = _lpStakingAddress;
    }

    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":"uint256","name":"_actualAmount","type":"uint256"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"excludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holderTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"includeInRewards","outputs":[],"stateMutability":"nonpayable","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":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isExcludedFromRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpStakingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_actualAmount","type":"uint256"},{"internalType":"bool","name":"_deductTransferFee","type":"bool"}],"name":"rewardsFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpStakingAddress","type":"address"}],"name":"setLpStakingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_holderTaxAlloc","type":"uint256"},{"internalType":"uint256","name":"_marketingTaxAlloc","type":"uint256"},{"internalType":"uint256","name":"_lpTaxAlloc","type":"uint256"}],"name":"setTaxAllocations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxPercentage","type":"uint256"}],"name":"setTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardAmount","type":"uint256"}],"name":"tokenWithRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalHolderFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLpFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalTaxAlloc","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"}]

60806040526a472b90577347c921ffffff196007556003600b55600a600c819055600d819055600e8190556200005b90620000478180620001db602090811b6200153517901c565b620001db60201b620015351790919060201c565b600f553480156200006b57600080fd5b5060405162002d9938038062002d99833981810160405260208110156200009157600080fd5b505160006200009f6200023d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007546001600160a01b03821660008181526001602090815260408083209490945583516a5bd12a0eaadb08cf00000081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3601080546001600160a01b0319166001600160a01b0383161790556200017a620001746200023d565b62000241565b6200018581620003c6565b6200018f6200023d565b6001600160a01b0316816001600160a01b031614620001c757620001b38162000241565b620001c7620001c16200023d565b620003c6565b620001d461dead620003c6565b50620007df565b60008282018381101562000236576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6200024b6200023d565b6001600160a01b03166200025e620004ac565b6001600160a01b031614620002a9576040805162461bcd60e51b8152602060048201819052602482015260008051602062002d2f833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1615620003035760405162461bcd60e51b815260040180806020018281038252602781526020018062002d086027913960400191505060405180910390fd5b6001600160a01b0381166000908152600160205260409020541562000360576001600160a01b0381166000908152600160205260409020546200034690620004bb565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b620003d06200023d565b6001600160a01b0316620003e3620004ac565b6001600160a01b0316146200042e576040805162461bcd60e51b8152602060048201819052602482015260008051602062002d2f833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615620004885760405162461bcd60e51b815260040180806020018281038252602481526020018062002d756024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031690565b6000600754821115620005005760405162461bcd60e51b815260040180806020018281038252602681526020018062002d4f6026913960400191505060405180910390fd5b60006200050c62000528565b90506200023681846200055b60201b6200158f1790919060201c565b6000808062000536620005c4565b915091506200055481836200055b60201b6200158f1790919060201c565b9250505090565b6000808211620005b2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381620005bc57fe5b049392505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156200072c57826001600060068481548110620005f857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200065f57508160026000600684815481106200063857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1562000681576007546a5bd12a0eaadb08cf000000945094505050506200077d565b620006d060016000600684815481106200069757fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548591620015f662000781821b17901c565b9250620007216002600060068481548110620006e857fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548491620015f662000781821b17901c565b9150600101620005da565b50620007546a5bd12a0eaadb08cf0000006007546200055b60201b6200158f1790919060201c565b82101562000777576007546a5bd12a0eaadb08cf0000009350935050506200077d565b90925090505b9091565b600082821115620007d9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b61251980620007ef6000396000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c8063715018a61161013057806395d89b41116100b8578063b609995e1161007c578063b609995e1461061a578063d84bf7a814610640578063dd62ed3e14610648578063e57f14e114610676578063f2fde38b1461069c57610231565b806395d89b41146105aa578063a457c2d7146105b2578063a5ece941146105de578063a9059cbb146105e6578063ae7b6d161461061257610231565b80638baa3fd4116100ff5780638baa3fd41461051c5780638da05f8f146105395780638da5cb5b1461055f578063906e9dd01461056757806391c05b0b1461058d57610231565b8063715018a6146104fc57806374e47a1e1461050457806375edd5f21461050c5780637c31efb11461051457610231565b806323b872dd116101be5780634fbee193116101825780634fbee19314610483578063595f052e146104a95780636740b9c6146104b1578063699abb3c146104b957806370a08231146104d657610231565b806323b872dd146103d6578063313ce5671461040c5780633557ee771461042a578063395093511461044f57806340e7bdf41461047b57610231565b8063111e037611610205578063111e03761461033d57806313114a9d1461036557806313647dc81461037f57806316a2f82a146103a857806318160ddd146103ce57610231565b8062897ad31461023657806306fdde031461025a578063095ea7b3146102d75780630e83227314610317575b600080fd5b61023e6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102626106d1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029c578181015183820152602001610284565b50505050905090810190601f1680156102c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610303600480360360408110156102ed57600080fd5b506001600160a01b0381351690602001356106fc565b604080519115158252519081900360200190f35b6103036004803603602081101561032d57600080fd5b50356001600160a01b031661071a565b6103636004803603602081101561035357600080fd5b50356001600160a01b031661073c565b005b61036d6108b6565b60408051918252519081900360200190f35b6103636004803603606081101561039557600080fd5b50803590602081013590604001356108e0565b610363600480360360208110156103be57600080fd5b50356001600160a01b03166109fb565b61036d610ad5565b610303600480360360608110156103ec57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae4565b610414610b6b565b6040805160ff9092168252519081900360200190f35b61036d6004803603604081101561044057600080fd5b50803590602001351515610b70565b6103036004803603604081101561046557600080fd5b506001600160a01b038135169060200135610c09565b61036d610c57565b6103036004803603602081101561049957600080fd5b50356001600160a01b0316610c5d565b61036d610c7b565b61036d610c81565b610363600480360360208110156104cf57600080fd5b5035610c87565b61036d600480360360208110156104ec57600080fd5b50356001600160a01b0316610d51565b610363610db3565b61036d610e5f565b61036d610e65565b61036d610e6b565b61036d6004803603602081101561053257600080fd5b5035610e71565b6103636004803603602081101561054f57600080fd5b50356001600160a01b0316610ed1565b61023e610f55565b6103636004803603602081101561057d57600080fd5b50356001600160a01b0316610f64565b610363600480360360208110156105a357600080fd5b5035610fe8565b6102626110c0565b610303600480360360408110156105c857600080fd5b506001600160a01b0381351690602001356110de565b61023e611146565b610303600480360360408110156105fc57600080fd5b506001600160a01b038135169060200135611155565b61036d611169565b6103636004803603602081101561063057600080fd5b50356001600160a01b031661116f565b61036d611324565b61036d6004803603604081101561065e57600080fd5b506001600160a01b038135811691602001351661132a565b6103636004803603602081101561068c57600080fd5b50356001600160a01b0316611355565b610363600480360360208110156106b257600080fd5b50356001600160a01b0316611433565b6011546001600160a01b031681565b60408051808201909152601181527050616e7a657270726f746f636f6c2e696f60781b602082015290565b6000610710610709611653565b8484611657565b5060015b92915050565b6001600160a01b03811660009081526005602052604090205460ff165b919050565b610744611653565b6001600160a01b0316610755610f55565b6001600160a01b03161461079e576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16156107f65760405162461bcd60e51b81526004018080602001828103825260278152602001806122936027913960400191505060405180910390fd5b6001600160a01b03811660009081526001602052604090205415610850576001600160a01b03811660009081526001602052604090205461083690610e71565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b60006108db600a546108d560095460085461153590919063ffffffff16565b90611535565b905090565b6108e8611653565b6001600160a01b03166108f9610f55565b6001600160a01b031614610942576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b610950816108d58585611535565b600f55600583108015906109655750600a8311155b6109a05760405162461bcd60e51b815260040180806020018281038252602881526020018061226b6028913960400191505060405180910390fd5b600581101580156109b25750600a8111155b6109ed5760405162461bcd60e51b815260040180806020018281038252602481526020018061234a6024913960400191505060405180910390fd5b600c92909255600d55600e55565b610a03611653565b6001600160a01b0316610a14610f55565b6001600160a01b031614610a5d576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610ab45760405162461bcd60e51b81526004018080602001828103825260228152602001806122e06022913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6a5bd12a0eaadb08cf00000090565b6000610af1848484611743565b610b6184610afd611653565b610b5c8560405180606001604052806028815260200161238f602891396001600160a01b038a16600090815260036020526040812090610b3b611653565b6001600160a01b031681526020810191909152604001600020549190611a03565b611657565b5060019392505050565b601290565b60006a5bd12a0eaadb08cf000000831115610bd2576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610bf0576000610be284611a9a565b509294506107149350505050565b6000610bfb84611a9a565b509194506107149350505050565b6000610710610c16611653565b84610b5c8560036000610c27611653565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611535565b600f5481565b6001600160a01b031660009081526004602052604090205460ff1690565b600e5481565b600a5490565b610c8f611653565b6001600160a01b0316610ca0610f55565b6001600160a01b031614610ce9576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b60018110158015610cfb5750600a8111155b610d4c576040805162461bcd60e51b815260206004820152601e60248201527f56616c7565206973206f757473696465206f662072616e676520312d31300000604482015290519081900360640190fd5b600b55565b6001600160a01b03811660009081526005602052604081205460ff1615610d9157506001600160a01b038116600090815260026020526040902054610737565b6001600160a01b03821660009081526001602052604090205461071490610e71565b610dbb611653565b6001600160a01b0316610dcc610f55565b6001600160a01b031614610e15576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600c5481565b600d5481565b60085490565b6000600754821115610eb45760405162461bcd60e51b81526004018080602001828103825260268152602001806124496026913960400191505060405180910390fd5b6000610ebe611ae6565b9050610eca838261158f565b9392505050565b610ed9611653565b6001600160a01b0316610eea610f55565b6001600160a01b031614610f33576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b610f6c611653565b6001600160a01b0316610f7d610f55565b6001600160a01b031614610fc6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff2611653565b6001600160a01b03811660009081526005602052604090205490915060ff161561104d5760405162461bcd60e51b815260040180806020018281038252602c815260200180612493602c913960400191505060405180910390fd5b600061105883611a9a565b505050506001600160a01b03831660009081526001602052604090205490915061108290826115f6565b6001600160a01b0383166000908152600160205260409020556007546110a890826115f6565b6007556008546110b89084611535565b600855505050565b60408051808201909152600481526328272d2960e11b602082015290565b60006107106110eb611653565b84610b5c856040518060600160405280602581526020016124bf6025913960036000611115611653565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a03565b6010546001600160a01b031681565b6000610710611162611653565b8484611743565b600b5481565b611177611653565b6001600160a01b0316611188610f55565b6001600160a01b0316146111d1576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff166112285760405162461bcd60e51b81526004018080602001828103825260268152602001806122ba6026913960400191505060405180910390fd5b60005b60065481101561132057816001600160a01b03166006828154811061124c57fe5b6000918252602090912001546001600160a01b031614156113185760068054600019810190811061127957fe5b600091825260209091200154600680546001600160a01b03909216918390811061129f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff1916905560068054806112f157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611320565b60010161122b565b5050565b60095490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61135d611653565b6001600160a01b031661136e610f55565b6001600160a01b0316146113b7576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff161561140f5760405162461bcd60e51b815260040180806020018281038252602481526020018061246f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b61143b611653565b6001600160a01b031661144c610f55565b6001600160a01b031614611495576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b0381166114da5760405162461bcd60e51b81526004018080602001828103825260268152602001806123026026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610eca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008082116115e5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115ee57fe5b049392505050565b60008282111561164d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b6001600160a01b03831661169c5760405162461bcd60e51b81526004018080602001828103825260248152602001806124256024913960400191505060405180910390fd5b6001600160a01b0382166116e15760405162461bcd60e51b81526004018080602001828103825260228152602001806123286022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166117885760405162461bcd60e51b81526004018080602001828103825260258152602001806124006025913960400191505060405180910390fd5b6001600160a01b0382166117cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806122486023913960400191505060405180910390fd5b6000811161180c5760405162461bcd60e51b81526004018080602001828103825260298152602001806123d76029913960400191505060405180910390fd5b600b546001600160a01b03841660009081526004602052604090205460ff168061184e57506001600160a01b03831660009081526004602052604090205460ff165b1561185d576000600b5561189a565b600061186883611b09565b9050600061187582611b2b565b9050600061188283611b48565b905061188d82611b65565b61189681611c4b565b5050505b6001600160a01b03841660009081526005602052604090205460ff1680156118db57506001600160a01b03831660009081526005602052604090205460ff16155b156118f0576118eb848484611d2f565b6119ee565b6001600160a01b03841660009081526005602052604090205460ff1615801561193157506001600160a01b03831660009081526005602052604090205460ff165b15611941576118eb848484611e46565b6001600160a01b03841660009081526005602052604090205460ff1615801561198357506001600160a01b03831660009081526005602052604090205460ff16155b15611993576118eb848484611eec565b6001600160a01b03841660009081526005602052604090205460ff1680156119d357506001600160a01b03831660009081526005602052604090205460ff165b156119e3576118eb848484611f2d565b6119ee848484611eec565b600b5481146119fd57600b8190555b50505050565b60008184841115611a925760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a57578181015183820152602001611a3f565b50505050905090810190601f168015611a845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000806000806000611aae88611f9d565b915091506000611abc611ae6565b90506000806000611ace8c8686611fd2565b919e909d50909b509599509397509395505050505050565b6000806000611af3612026565b9092509050611b02828261158f565b9250505090565b60006107146064611b25600b54856121ad90919063ffffffff16565b9061158f565b6000610714600f54611b25600d54856121ad90919063ffffffff16565b6000610714600f54611b25600e54856121ad90919063ffffffff16565b6010546001600160a01b0316611b7a57611c48565b6000611b84611ae6565b90506000611b9283836121ad565b600954909150611ba29084611535565b6009556010546001600160a01b0316600090815260016020526040902054611bca9082611535565b601080546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576010546001600160a01b0316600090815260026020526040902054611c299084611535565b6010546001600160a01b03166000908152600260205260409020555b50505b50565b6011546001600160a01b0316611c6057611c48565b6000611c6a611ae6565b90506000611c7883836121ad565b600a54909150611c889084611535565b600a556011546001600160a01b0316600090815260016020526040902054611cb09082611535565b601180546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576011546001600160a01b0316600090815260026020526040902054611d0f9084611535565b6011546001600160a01b0316600090815260026020526040902055505050565b6000806000806000611d4086611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611d7090876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611d9f90866115f6565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611dce9085611535565b6001600160a01b038816600090815260016020526040902055611df18382612206565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000611e5786611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611e8790866115f6565b6001600160a01b03808a16600090815260016020908152604080832094909455918a16815260029091522054611ebd9083611535565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611dce9085611535565b6000806000806000611efd86611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611d9f90866115f6565b6000806000806000611f3e86611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611f6e90876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611e8790866115f6565b6000806000611fab84611b09565b90506000611fb88261222a565b90506000611fc686846115f6565b94509092505050915091565b600080600080611feb85611fe589611b09565b906121ad565b90506000611ff988876121ad565b9050600061200782846115f6565b9050600061201589896121ad565b929a91995091975095505050505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156121695782600160006006848154811061205857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120bd575081600260006006848154811061209657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120dd576007546a5bd12a0eaadb08cf000000945094505050506121a9565b61211d60016000600684815481106120f157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906115f6565b925061215f600260006006848154811061213357fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906115f6565b915060010161203c565b50600754612182906a5bd12a0eaadb08cf00000061158f565b8210156121a3576007546a5bd12a0eaadb08cf0000009350935050506121a9565b90925090505b9091565b6000826121bc57506000610714565b828202828482816121c957fe5b0414610eca5760405162461bcd60e51b815260040180806020018281038252602181526020018061236e6021913960400191505060405180910390fd5b60075461221390836115f6565b6007556008546122239082611535565b6008555050565b6000610714600f54611b25600c54856121ad90919063ffffffff1656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f686f6c646572546178416c6c6f63206973206f757473696465206f662072616e676520352d31304163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644163636f756e7420697320616c726561647920696e636c7564656420696e20726577617264734163636f756e7420697320616c726561647920696e636c7564656420696e206665654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735f6c70546178416c6c6f63206973206f757473696465206f662072616e676520352d3130536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665654578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570c4252a59e23995950ead8b639aa6a16bec506caa031f3c5fcbe274581fb7964736f6c634300070400334163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665650000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102315760003560e01c8063715018a61161013057806395d89b41116100b8578063b609995e1161007c578063b609995e1461061a578063d84bf7a814610640578063dd62ed3e14610648578063e57f14e114610676578063f2fde38b1461069c57610231565b806395d89b41146105aa578063a457c2d7146105b2578063a5ece941146105de578063a9059cbb146105e6578063ae7b6d161461061257610231565b80638baa3fd4116100ff5780638baa3fd41461051c5780638da05f8f146105395780638da5cb5b1461055f578063906e9dd01461056757806391c05b0b1461058d57610231565b8063715018a6146104fc57806374e47a1e1461050457806375edd5f21461050c5780637c31efb11461051457610231565b806323b872dd116101be5780634fbee193116101825780634fbee19314610483578063595f052e146104a95780636740b9c6146104b1578063699abb3c146104b957806370a08231146104d657610231565b806323b872dd146103d6578063313ce5671461040c5780633557ee771461042a578063395093511461044f57806340e7bdf41461047b57610231565b8063111e037611610205578063111e03761461033d57806313114a9d1461036557806313647dc81461037f57806316a2f82a146103a857806318160ddd146103ce57610231565b8062897ad31461023657806306fdde031461025a578063095ea7b3146102d75780630e83227314610317575b600080fd5b61023e6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102626106d1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029c578181015183820152602001610284565b50505050905090810190601f1680156102c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610303600480360360408110156102ed57600080fd5b506001600160a01b0381351690602001356106fc565b604080519115158252519081900360200190f35b6103036004803603602081101561032d57600080fd5b50356001600160a01b031661071a565b6103636004803603602081101561035357600080fd5b50356001600160a01b031661073c565b005b61036d6108b6565b60408051918252519081900360200190f35b6103636004803603606081101561039557600080fd5b50803590602081013590604001356108e0565b610363600480360360208110156103be57600080fd5b50356001600160a01b03166109fb565b61036d610ad5565b610303600480360360608110156103ec57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae4565b610414610b6b565b6040805160ff9092168252519081900360200190f35b61036d6004803603604081101561044057600080fd5b50803590602001351515610b70565b6103036004803603604081101561046557600080fd5b506001600160a01b038135169060200135610c09565b61036d610c57565b6103036004803603602081101561049957600080fd5b50356001600160a01b0316610c5d565b61036d610c7b565b61036d610c81565b610363600480360360208110156104cf57600080fd5b5035610c87565b61036d600480360360208110156104ec57600080fd5b50356001600160a01b0316610d51565b610363610db3565b61036d610e5f565b61036d610e65565b61036d610e6b565b61036d6004803603602081101561053257600080fd5b5035610e71565b6103636004803603602081101561054f57600080fd5b50356001600160a01b0316610ed1565b61023e610f55565b6103636004803603602081101561057d57600080fd5b50356001600160a01b0316610f64565b610363600480360360208110156105a357600080fd5b5035610fe8565b6102626110c0565b610303600480360360408110156105c857600080fd5b506001600160a01b0381351690602001356110de565b61023e611146565b610303600480360360408110156105fc57600080fd5b506001600160a01b038135169060200135611155565b61036d611169565b6103636004803603602081101561063057600080fd5b50356001600160a01b031661116f565b61036d611324565b61036d6004803603604081101561065e57600080fd5b506001600160a01b038135811691602001351661132a565b6103636004803603602081101561068c57600080fd5b50356001600160a01b0316611355565b610363600480360360208110156106b257600080fd5b50356001600160a01b0316611433565b6011546001600160a01b031681565b60408051808201909152601181527050616e7a657270726f746f636f6c2e696f60781b602082015290565b6000610710610709611653565b8484611657565b5060015b92915050565b6001600160a01b03811660009081526005602052604090205460ff165b919050565b610744611653565b6001600160a01b0316610755610f55565b6001600160a01b03161461079e576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16156107f65760405162461bcd60e51b81526004018080602001828103825260278152602001806122936027913960400191505060405180910390fd5b6001600160a01b03811660009081526001602052604090205415610850576001600160a01b03811660009081526001602052604090205461083690610e71565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b60006108db600a546108d560095460085461153590919063ffffffff16565b90611535565b905090565b6108e8611653565b6001600160a01b03166108f9610f55565b6001600160a01b031614610942576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b610950816108d58585611535565b600f55600583108015906109655750600a8311155b6109a05760405162461bcd60e51b815260040180806020018281038252602881526020018061226b6028913960400191505060405180910390fd5b600581101580156109b25750600a8111155b6109ed5760405162461bcd60e51b815260040180806020018281038252602481526020018061234a6024913960400191505060405180910390fd5b600c92909255600d55600e55565b610a03611653565b6001600160a01b0316610a14610f55565b6001600160a01b031614610a5d576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610ab45760405162461bcd60e51b81526004018080602001828103825260228152602001806122e06022913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6a5bd12a0eaadb08cf00000090565b6000610af1848484611743565b610b6184610afd611653565b610b5c8560405180606001604052806028815260200161238f602891396001600160a01b038a16600090815260036020526040812090610b3b611653565b6001600160a01b031681526020810191909152604001600020549190611a03565b611657565b5060019392505050565b601290565b60006a5bd12a0eaadb08cf000000831115610bd2576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610bf0576000610be284611a9a565b509294506107149350505050565b6000610bfb84611a9a565b509194506107149350505050565b6000610710610c16611653565b84610b5c8560036000610c27611653565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611535565b600f5481565b6001600160a01b031660009081526004602052604090205460ff1690565b600e5481565b600a5490565b610c8f611653565b6001600160a01b0316610ca0610f55565b6001600160a01b031614610ce9576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b60018110158015610cfb5750600a8111155b610d4c576040805162461bcd60e51b815260206004820152601e60248201527f56616c7565206973206f757473696465206f662072616e676520312d31300000604482015290519081900360640190fd5b600b55565b6001600160a01b03811660009081526005602052604081205460ff1615610d9157506001600160a01b038116600090815260026020526040902054610737565b6001600160a01b03821660009081526001602052604090205461071490610e71565b610dbb611653565b6001600160a01b0316610dcc610f55565b6001600160a01b031614610e15576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600c5481565b600d5481565b60085490565b6000600754821115610eb45760405162461bcd60e51b81526004018080602001828103825260268152602001806124496026913960400191505060405180910390fd5b6000610ebe611ae6565b9050610eca838261158f565b9392505050565b610ed9611653565b6001600160a01b0316610eea610f55565b6001600160a01b031614610f33576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b610f6c611653565b6001600160a01b0316610f7d610f55565b6001600160a01b031614610fc6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff2611653565b6001600160a01b03811660009081526005602052604090205490915060ff161561104d5760405162461bcd60e51b815260040180806020018281038252602c815260200180612493602c913960400191505060405180910390fd5b600061105883611a9a565b505050506001600160a01b03831660009081526001602052604090205490915061108290826115f6565b6001600160a01b0383166000908152600160205260409020556007546110a890826115f6565b6007556008546110b89084611535565b600855505050565b60408051808201909152600481526328272d2960e11b602082015290565b60006107106110eb611653565b84610b5c856040518060600160405280602581526020016124bf6025913960036000611115611653565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a03565b6010546001600160a01b031681565b6000610710611162611653565b8484611743565b600b5481565b611177611653565b6001600160a01b0316611188610f55565b6001600160a01b0316146111d1576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff166112285760405162461bcd60e51b81526004018080602001828103825260268152602001806122ba6026913960400191505060405180910390fd5b60005b60065481101561132057816001600160a01b03166006828154811061124c57fe5b6000918252602090912001546001600160a01b031614156113185760068054600019810190811061127957fe5b600091825260209091200154600680546001600160a01b03909216918390811061129f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff1916905560068054806112f157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611320565b60010161122b565b5050565b60095490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61135d611653565b6001600160a01b031661136e610f55565b6001600160a01b0316146113b7576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff161561140f5760405162461bcd60e51b815260040180806020018281038252602481526020018061246f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b61143b611653565b6001600160a01b031661144c610f55565b6001600160a01b031614611495576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b0381166114da5760405162461bcd60e51b81526004018080602001828103825260268152602001806123026026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610eca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008082116115e5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115ee57fe5b049392505050565b60008282111561164d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b6001600160a01b03831661169c5760405162461bcd60e51b81526004018080602001828103825260248152602001806124256024913960400191505060405180910390fd5b6001600160a01b0382166116e15760405162461bcd60e51b81526004018080602001828103825260228152602001806123286022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166117885760405162461bcd60e51b81526004018080602001828103825260258152602001806124006025913960400191505060405180910390fd5b6001600160a01b0382166117cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806122486023913960400191505060405180910390fd5b6000811161180c5760405162461bcd60e51b81526004018080602001828103825260298152602001806123d76029913960400191505060405180910390fd5b600b546001600160a01b03841660009081526004602052604090205460ff168061184e57506001600160a01b03831660009081526004602052604090205460ff165b1561185d576000600b5561189a565b600061186883611b09565b9050600061187582611b2b565b9050600061188283611b48565b905061188d82611b65565b61189681611c4b565b5050505b6001600160a01b03841660009081526005602052604090205460ff1680156118db57506001600160a01b03831660009081526005602052604090205460ff16155b156118f0576118eb848484611d2f565b6119ee565b6001600160a01b03841660009081526005602052604090205460ff1615801561193157506001600160a01b03831660009081526005602052604090205460ff165b15611941576118eb848484611e46565b6001600160a01b03841660009081526005602052604090205460ff1615801561198357506001600160a01b03831660009081526005602052604090205460ff16155b15611993576118eb848484611eec565b6001600160a01b03841660009081526005602052604090205460ff1680156119d357506001600160a01b03831660009081526005602052604090205460ff165b156119e3576118eb848484611f2d565b6119ee848484611eec565b600b5481146119fd57600b8190555b50505050565b60008184841115611a925760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a57578181015183820152602001611a3f565b50505050905090810190601f168015611a845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000806000806000611aae88611f9d565b915091506000611abc611ae6565b90506000806000611ace8c8686611fd2565b919e909d50909b509599509397509395505050505050565b6000806000611af3612026565b9092509050611b02828261158f565b9250505090565b60006107146064611b25600b54856121ad90919063ffffffff16565b9061158f565b6000610714600f54611b25600d54856121ad90919063ffffffff16565b6000610714600f54611b25600e54856121ad90919063ffffffff16565b6010546001600160a01b0316611b7a57611c48565b6000611b84611ae6565b90506000611b9283836121ad565b600954909150611ba29084611535565b6009556010546001600160a01b0316600090815260016020526040902054611bca9082611535565b601080546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576010546001600160a01b0316600090815260026020526040902054611c299084611535565b6010546001600160a01b03166000908152600260205260409020555b50505b50565b6011546001600160a01b0316611c6057611c48565b6000611c6a611ae6565b90506000611c7883836121ad565b600a54909150611c889084611535565b600a556011546001600160a01b0316600090815260016020526040902054611cb09082611535565b601180546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576011546001600160a01b0316600090815260026020526040902054611d0f9084611535565b6011546001600160a01b0316600090815260026020526040902055505050565b6000806000806000611d4086611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611d7090876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611d9f90866115f6565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611dce9085611535565b6001600160a01b038816600090815260016020526040902055611df18382612206565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000611e5786611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611e8790866115f6565b6001600160a01b03808a16600090815260016020908152604080832094909455918a16815260029091522054611ebd9083611535565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611dce9085611535565b6000806000806000611efd86611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611d9f90866115f6565b6000806000806000611f3e86611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611f6e90876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611e8790866115f6565b6000806000611fab84611b09565b90506000611fb88261222a565b90506000611fc686846115f6565b94509092505050915091565b600080600080611feb85611fe589611b09565b906121ad565b90506000611ff988876121ad565b9050600061200782846115f6565b9050600061201589896121ad565b929a91995091975095505050505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156121695782600160006006848154811061205857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120bd575081600260006006848154811061209657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120dd576007546a5bd12a0eaadb08cf000000945094505050506121a9565b61211d60016000600684815481106120f157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906115f6565b925061215f600260006006848154811061213357fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906115f6565b915060010161203c565b50600754612182906a5bd12a0eaadb08cf00000061158f565b8210156121a3576007546a5bd12a0eaadb08cf0000009350935050506121a9565b90925090505b9091565b6000826121bc57506000610714565b828202828482816121c957fe5b0414610eca5760405162461bcd60e51b815260040180806020018281038252602181526020018061236e6021913960400191505060405180910390fd5b60075461221390836115f6565b6007556008546122239082611535565b6008555050565b6000610714600f54611b25600c54856121ad90919063ffffffff1656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f686f6c646572546178416c6c6f63206973206f757473696465206f662072616e676520352d31304163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644163636f756e7420697320616c726561647920696e636c7564656420696e20726577617264734163636f756e7420697320616c726561647920696e636c7564656420696e206665654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735f6c70546178416c6c6f63206973206f757473696465206f662072616e676520352d3130536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665654578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570c4252a59e23995950ead8b639aa6a16bec506caa031f3c5fcbe274581fb7964736f6c63430007040033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91

-----Decoded View---------------
Arg [0] : _marketingAddress (address): 0x8650501BA870B8df5353c21a6a62953a8Ff5ea91

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91


Deployed Bytecode Sourcemap

8213:17728:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9407:31;;;:::i;:::-;;;;-1:-1:-1;;;;;9407:31:0;;;;;;;;;;;;;;10012:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:165;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10975:165:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;12122:133;;;;;;;;;;;;;;;;-1:-1:-1;12122:133:0;-1:-1:-1;;;;;12122:133:0;;:::i;13730:375::-;;;;;;;;;;;;;;;;-1:-1:-1;13730:375:0;-1:-1:-1;;;;;13730:375:0;;:::i;:::-;;12398:132;;;:::i;:::-;;;;;;;;;;;;;;;;25043:611;;;;;;;;;;;;;;;;-1:-1:-1;25043:611:0;;;;;;;;;;;;:::i;13525:197::-;;;;;;;;;;;;;;;;-1:-1:-1;13525:197:0;-1:-1:-1;;;;;13525:197:0;;:::i;10292:102::-;;;:::i;11148:405::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11148:405:0;;;;;;;;;;;;;;;;;:::i;10200:84::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20884:491;;;;;;;;;;;;;;;;-1:-1:-1;20884:491:0;;;;;;;;;:::i;11561:222::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11561:222:0;;;;;;;;:::i;9276:84::-;;;:::i;12263:127::-;;;;;;;;;;;;;;;;-1:-1:-1;12263:127:0;-1:-1:-1;;;;;12263:127:0;;:::i;9239:30::-;;;:::i;12758:91::-;;;:::i;24820:215::-;;;;;;;;;;;;;;;;-1:-1:-1;24820:215:0;;:::i;10402:232::-;;;;;;;;;;;;;;;;-1:-1:-1;10402:232:0;-1:-1:-1;;;;;10402:232:0;;:::i;7796:148::-;;;:::i;9154:34::-;;;:::i;9195:37::-;;;:::i;12538:99::-;;;:::i;21383:276::-;;;;;;;;;;;;;;;;-1:-1:-1;21383:276:0;;:::i;25800:130::-;;;;;;;;;;;;;;;;-1:-1:-1;25800:130:0;-1:-1:-1;;;;;25800:130:0;;:::i;7561:87::-;;;:::i;25662:130::-;;;;;;;;;;;;;;;;-1:-1:-1;25662:130:0;-1:-1:-1;;;;;25662:130:0;;:::i;12864:444::-;;;;;;;;;;;;;;;;-1:-1:-1;12864:444:0;;:::i;10104:88::-;;;:::i;11791:323::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11791:323:0;;;;;;;;:::i;9369:31::-;;;:::i;10642:171::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10642:171:0;;;;;;;;:::i;9115:32::-;;;:::i;14113:541::-;;;;;;;;;;;;;;;;-1:-1:-1;14113:541:0;-1:-1:-1;;;;;14113:541:0;;:::i;12645:105::-;;;:::i;10821:146::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10821:146:0;;;;;;;;;;:::i;13316:201::-;;;;;;;;;;;;;;;;-1:-1:-1;13316:201:0;-1:-1:-1;;;;;13316:201:0;;:::i;7958:244::-;;;;;;;;;;;;;;;;-1:-1:-1;7958:244:0;-1:-1:-1;;;;;7958:244:0;;:::i;9407:31::-;;;-1:-1:-1;;;;;9407:31:0;;:::o;10012:84::-;10084:4;;;;;;;;;;;;-1:-1:-1;;;10084:4:0;;;;10012:84;:::o;10975:165::-;11052:4;11069:41;11078:12;:10;:12::i;:::-;11092:8;11102:7;11069:8;:41::i;:::-;-1:-1:-1;11128:4:0;10975:165;;;;;:::o;12122:133::-;-1:-1:-1;;;;;12218:29:0;;12194:4;12218:29;;;:19;:29;;;;;;;;12122:133;;;;:::o;13730:375::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13815:29:0;::::1;;::::0;;;:19:::1;:29;::::0;;;;;::::1;;13814:30;13806:82;;;;-1:-1:-1::0;;;13806:82:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13905:17:0;::::1;13925:1;13905:17:::0;;;:7:::1;:17;::::0;;;;;:21;13901:108:::1;;-1:-1:-1::0;;;;;13979:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;13962:35:::1;::::0;:16:::1;:35::i;:::-;-1:-1:-1::0;;;;;13943:16:0;::::1;;::::0;;;:6:::1;:16;::::0;;;;:54;13901:108:::1;-1:-1:-1::0;;;;;14021:29:0::1;;::::0;;;:19:::1;:29;::::0;;;;:36;;-1:-1:-1;;14021:36:0::1;14053:4;14021:36:::0;;::::1;::::0;;;14068:14:::1;:29:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14068:29:0::1;::::0;;::::1;::::0;;13730:375::o;12398:132::-;12442:7;12469:53;12511:10;;12469:37;12488:17;;12469:14;;:18;;:37;;;;:::i;:::-;:41;;:53::i;:::-;12462:60;;12398:132;:::o;25043:611::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25234:56:::1;25278:11:::0;25234:39:::1;:15:::0;25254:18;25234:19:::1;:39::i;:56::-;25218:13;:72:::0;25330:1:::1;25311:20:::0;::::1;::::0;::::1;::::0;:45:::1;;;25354:2;25335:15;:21;;25311:45;25303:98;;;;-1:-1:-1::0;;;25303:98:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25435:1;25420:11;:16;;:37;;;;;25455:2;25440:11;:17;;25420:37;25412:86;;;;-1:-1:-1::0;;;25412:86:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25520:14;:32:::0;;;;25563:17:::1;:38:::0;25612:10:::1;:24:::0;25043:611::o;13525:197::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13604:26:0;::::1;;::::0;;;:16:::1;:26;::::0;;;;;::::1;;13596:73;;;;-1:-1:-1::0;;;13596:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13680:26:0::1;13709:5;13680:26:::0;;;:16:::1;:26;::::0;;;;:34;;-1:-1:-1;;13680:34:0::1;::::0;;13525:197::o;10292:102::-;8906:18;10292:102;:::o;11148:405::-;11283:4;11300:39;11310:7;11319:10;11331:7;11300:9;:39::i;:::-;11352:169;11371:7;11393:12;:10;:12::i;:::-;11420:90;11458:7;11420:90;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11420:19:0;;;;;;:10;:19;;;;;;11440:12;:10;:12::i;:::-;-1:-1:-1;;;;;11420:33:0;;;;;;;;;;;;-1:-1:-1;11420:33:0;;;:90;:37;:90::i;:::-;11352:8;:169::i;:::-;-1:-1:-1;11541:4:0;11148:405;;;;;:::o;10200:84::-;8476:2;10200:84;:::o;20884:491::-;20979:7;8906:18;21007:13;:29;;20999:73;;;;;-1:-1:-1;;;20999:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21088:18;21083:285;;21124:20;21156:25;21167:13;21156:10;:25::i;:::-;-1:-1:-1;21123:58:0;;-1:-1:-1;21196:19:0;;-1:-1:-1;;;;21196:19:0;21083:285;21251:28;21289:25;21300:13;21289:10;:25::i;:::-;-1:-1:-1;21248:66:0;;-1:-1:-1;21329:27:0;;-1:-1:-1;;;;21329:27:0;11561:222;11651:4;11668:85;11677:12;:10;:12::i;:::-;11691:8;11701:51;11740:11;11701:10;:24;11712:12;:10;:12::i;:::-;-1:-1:-1;;;;;11701:24:0;;;;;;;;;;;;;;;;;-1:-1:-1;11701:24:0;;;:34;;;;;;;;;;;:38;:51::i;9276:84::-;;;;:::o;12263:127::-;-1:-1:-1;;;;;12356:26:0;12332:4;12356:26;;;:16;:26;;;;;;;;;12263:127::o;9239:30::-;;;;:::o;12758:91::-;12831:10;;12758:91;:::o;24820:215::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;24926:1:::1;24908:14;:19;;:43;;;;;24949:2;24931:14;:20;;24908:43;24900:86;;;::::0;;-1:-1:-1;;;24900:86:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;24997:13;:30:::0;24820:215::o;10402:232::-;-1:-1:-1;;;;;10493:29:0;;10469:7;10493:29;;;:19;:29;;;;;;;;10489:85;;;-1:-1:-1;;;;;;10546:16:0;;;;;;:6;:16;;;;;;10539:23;;10489:85;-1:-1:-1;;;;;10608:17:0;;;;;;:7;:17;;;;;;10591:35;;:16;:35::i;7796:148::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;7903:1:::1;7887:6:::0;;7866:40:::1;::::0;-1:-1:-1;;;;;7887:6:0;;::::1;::::0;7866:40:::1;::::0;7903:1;;7866:40:::1;7934:1;7917:19:::0;;-1:-1:-1;;;;;;7917:19:0::1;::::0;;7796:148::o;9154:34::-;;;;:::o;9195:37::-;;;;:::o;12538:99::-;12615:14;;12538:99;:::o;21383:276::-;21453:7;21498:12;;21481:13;:29;;21473:80;;;;-1:-1:-1;;;21473:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21564:19;21586:17;:15;:17::i;:::-;21564:39;-1:-1:-1;21621:30:0;:13;21564:39;21621:17;:30::i;:::-;21614:37;21383:276;-1:-1:-1;;;21383:276:0:o;25800:130::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25886:16:::1;:36:::0;;-1:-1:-1;;;;;;25886:36:0::1;-1:-1:-1::0;;;;;25886:36:0;;;::::1;::::0;;;::::1;::::0;;25800:130::o;7561:87::-;7607:7;7634:6;-1:-1:-1;;;;;7634:6:0;7561:87;:::o;25662:130::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25748:16:::1;:36:::0;;-1:-1:-1;;;;;;25748:36:0::1;-1:-1:-1::0;;;;;25748:36:0;;;::::1;::::0;;;::::1;::::0;;25662:130::o;12864:444::-;12925:14;12942:12;:10;:12::i;:::-;-1:-1:-1;;;;;12974:27:0;;;;;;:19;:27;;;;;;12925:29;;-1:-1:-1;12974:27:0;;12973:28;12965:85;;;;-1:-1:-1;;;12965:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13064:20;13096:25;13107:13;13096:10;:25::i;:::-;-1:-1:-1;;;;;;;;;13150:15:0;;;;;;:7;:15;;;;;;13063:58;;-1:-1:-1;13150:33:0;;13063:58;13150:19;:33::i;:::-;-1:-1:-1;;;;;13132:15:0;;;;;;:7;:15;;;;;:51;13209:12;;:30;;13226:12;13209:16;:30::i;:::-;13194:12;:45;13267:14;;:33;;13286:13;13267:18;:33::i;:::-;13250:14;:50;-1:-1:-1;;;12864:444:0:o;10104:88::-;10178:6;;;;;;;;;;;;-1:-1:-1;;;10178:6:0;;;;10104:88;:::o;11791:323::-;11886:4;11903:181;11926:12;:10;:12::i;:::-;11953:8;11976:97;12015:16;11976:97;;;;;;;;;;;;;;;;;:10;:24;11987:12;:10;:12::i;:::-;-1:-1:-1;;;;;11976:24:0;;;;;;;;;;;;;;;;;-1:-1:-1;11976:24:0;;;:34;;;;;;;;;;;:97;:38;:97::i;9369:31::-;;;-1:-1:-1;;;;;9369:31:0;;:::o;10642:171::-;10722:4;10739:44;10749:12;:10;:12::i;:::-;10763:10;10775:7;10739:9;:44::i;9115:32::-;;;;:::o;14113:541::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14195:29:0;::::1;;::::0;;;:19:::1;:29;::::0;;;;;::::1;;14187:80;;;;-1:-1:-1::0;;;14187:80:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14285:9;14280:367;14304:14;:21:::0;14300:25;::::1;14280:367;;;14372:8;-1:-1:-1::0;;;;;14351:29:0::1;:14;14366:1;14351:17;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14351:17:0::1;:29;14347:289;;;14421:14;14436:21:::0;;-1:-1:-1;;14436:25:0;;;14421:41;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;14401:14:::1;:17:::0;;-1:-1:-1;;;;;14421:41:0;;::::1;::::0;14416:1;;14401:17;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:61:::0;;-1:-1:-1;;;;;;14401:61:0::1;-1:-1:-1::0;;;;;14401:61:0;;::::1;;::::0;;14481:16;;::::1;::::0;;:6:::1;:16:::0;;;;;;:20;;;14520:19:::1;:29:::0;;;;:37;;-1:-1:-1;;14520:37:0::1;::::0;;14576:14:::1;:20:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;14576:20:0;;;;;-1:-1:-1;;;;;;14576:20:0::1;::::0;;;;;14615:5:::1;;14347:289;14327:3;;14280:367;;;;14113:541:::0;:::o;12645:105::-;12725:17;;12645:105;:::o;10821:146::-;-1:-1:-1;;;;;10931:18:0;;;10904:7;10931:18;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;10821:146::o;13316:201::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13398:26:0;::::1;;::::0;;;:16:::1;:26;::::0;;;;;::::1;;13397:27;13389:76;;;;-1:-1:-1::0;;;13389:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13476:26:0::1;;::::0;;;:16:::1;:26;::::0;;;;:33;;-1:-1:-1;;13476:33:0::1;13505:4;13476:33;::::0;;13316:201::o;7958:244::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8047:22:0;::::1;8039:73;;;;-1:-1:-1::0;;;8039:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8149:6;::::0;;8128:38:::1;::::0;-1:-1:-1;;;;;8128:38:0;;::::1;::::0;8149:6;::::1;::::0;8128:38:::1;::::0;::::1;8177:6;:17:::0;;-1:-1:-1;;;;;;8177:17:0::1;-1:-1:-1::0;;;;;8177:17:0;;;::::1;::::0;;;::::1;::::0;;7958:244::o;1994:179::-;2052:7;2084:5;;;2108:6;;;;2100:46;;;;;-1:-1:-1;;;2100:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:153;2648:7;2680:1;2676;:5;2668:44;;;;;-1:-1:-1;;;2668:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2734:1;2730;:5;;;;;;;2590:153;-1:-1:-1;;;2590:153:0:o;2185:158::-;2243:7;2276:1;2271;:6;;2263:49;;;;;-1:-1:-1;;;2263:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2330:5:0;;;2185:158::o;87:98::-;167:10;87:98;:::o;14662:381::-;-1:-1:-1;;;;;14792:20:0;;14784:69;;;;-1:-1:-1;;;14784:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14872:22:0;;14864:69;;;;-1:-1:-1;;;14864:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14946:18:0;;;;;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;:38;;;15000:35;;;;;;;;;;;;;;;;;14662:381;;;:::o;15051:1643::-;-1:-1:-1;;;;;15185:21:0;;15177:71;;;;-1:-1:-1;;;15177:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15267:24:0;;15259:72;;;;-1:-1:-1;;;15259:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15360:1;15350:7;:11;15342:65;;;;-1:-1:-1;;;15342:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15451:13;;-1:-1:-1;;;;;15479:25:0;;15420:28;15479:25;;;:16;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15508:28:0;;;;;;:16;:28;;;;;;;;15479:57;15475:372;;;15569:1;15553:13;:17;15475:372;;;15603:11;15617:16;15625:7;15617;:16::i;:::-;15603:30;;15648:20;15671:21;15688:3;15671:16;:21::i;:::-;15648:44;;15707:13;15723:14;15733:3;15723:9;:14::i;:::-;15707:30;;15754:33;15774:12;15754:19;:33::i;:::-;15802:19;15815:5;15802:12;:19::i;:::-;15475:372;;;;-1:-1:-1;;;;;15863:28:0;;;;;;:19;:28;;;;;;;;:64;;;;-1:-1:-1;;;;;;15896:31:0;;;;;;:19;:31;;;;;;;;15895:32;15863:64;15859:710;;;15944:59;15974:7;15983:10;15995:7;15944:29;:59::i;:::-;15859:710;;;-1:-1:-1;;;;;16026:28:0;;;;;;:19;:28;;;;;;;;16025:29;:64;;;;-1:-1:-1;;;;;;16058:31:0;;;;;;:19;:31;;;;;;;;16025:64;16021:548;;;16106:59;16136:7;16145:10;16157:7;16106:29;:59::i;16021:548::-;-1:-1:-1;;;;;16188:28:0;;;;;;:19;:28;;;;;;;;16187:29;:65;;;;-1:-1:-1;;;;;;16221:31:0;;;;;;:19;:31;;;;;;;;16220:32;16187:65;16183:386;;;16269:50;16290:7;16299:10;16311:7;16269:20;:50::i;16183:386::-;-1:-1:-1;;;;;16341:28:0;;;;;;:19;:28;;;;;;;;:63;;;;-1:-1:-1;;;;;;16373:31:0;;;;;;:19;:31;;;;;;;;16341:63;16337:232;;;16421:53;16445:7;16454:10;16466:7;16421:23;:53::i;16337:232::-;16507:50;16528:7;16537:10;16549:7;16507:20;:50::i;:::-;16609:13;;16585:20;:37;16581:106;;16639:13;:36;;;16581:106;15051:1643;;;;:::o;2922:166::-;3008:7;3044:12;3036:6;;;;3028:29;;;;-1:-1:-1;;;3028:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3075:5:0;;;2922:166::o;21667:660::-;21773:7;21795;21817;21839;21861;21897:28;21927:17;21948:31;21965:13;21948:16;:31::i;:::-;21896:83;;;;21990:19;22012:17;:15;:17::i;:::-;21990:39;;22055:20;22090:28;22133:17;22164:55;22181:13;22196:9;22207:11;22164:16;:55::i;:::-;22040:179;;;;-1:-1:-1;22040:179:0;;-1:-1:-1;22287:20:0;;-1:-1:-1;22309:9:0;;-1:-1:-1;21667:660:0;;-1:-1:-1;;;;;;21667:660:0:o;23294:193::-;23343:7;23364:21;23387:20;23411:19;:17;:19::i;:::-;23363:67;;-1:-1:-1;23363:67:0;-1:-1:-1;23448:31:0;23363:67;;23448:17;:31::i;:::-;23441:38;;;;23294:193;:::o;24251:126::-;24307:7;24334:35;24365:3;24334:26;24346:13;;24334:7;:11;;:26;;;;:::i;:::-;:30;;:35::i;24530:143::-;24592:7;24619:46;24651:13;;24619:27;24628:17;;24619:4;:8;;:27;;;;:::i;24681:129::-;24736:7;24763:39;24788:13;;24763:20;24772:10;;24763:4;:8;;:20;;;;:::i;19775:576::-;19850:16;;-1:-1:-1;;;;;19850:16:0;19846:69;;19897:7;;19846:69;19927:19;19949:17;:15;:17::i;:::-;19927:39;-1:-1:-1;19977:26:0;20006:30;:13;19927:39;20006:17;:30::i;:::-;20067:17;;19977:59;;-1:-1:-1;20067:36:0;;20089:13;20067:21;:36::i;:::-;20047:17;:56;20152:16;;-1:-1:-1;;;;;20152:16:0;20144:25;;;;:7;:25;;;;;;:49;;20174:18;20144:29;:49::i;:::-;20124:16;;;-1:-1:-1;;;;;20124:16:0;;;20116:25;;;;:7;:25;;;;;;;;:77;;;;20228:16;;;;;20208:37;;:19;:37;;;;;;;20204:140;;;20296:16;;-1:-1:-1;;;;;20296:16:0;20289:24;;;;:6;:24;;;;;;:43;;20318:13;20289:28;:43::i;:::-;20269:16;;-1:-1:-1;;;;;20269:16:0;20262:24;;;;:6;:24;;;;;:70;20204:140;19775:576;;;;:::o;20359:513::-;20420:16;;-1:-1:-1;;;;;20420:16:0;20416:69;;20467:7;;20416:69;20497:19;20519:17;:15;:17::i;:::-;20497:39;-1:-1:-1;20547:19:0;20569:23;:6;20497:39;20569:10;:23::i;:::-;20616:10;;20547:45;;-1:-1:-1;20616:22:0;;20631:6;20616:14;:22::i;:::-;20603:10;:35;20687:16;;-1:-1:-1;;;;;20687:16:0;20679:25;;;;:7;:25;;;;;;:42;;20709:11;20679:29;:42::i;:::-;20659:16;;;-1:-1:-1;;;;;20659:16:0;;;20651:25;;;;:7;:25;;;;;;;;:70;;;;20756:16;;;;;20736:37;;:19;:37;;;;;;;20732:133;;;20824:16;;-1:-1:-1;;;;;20824:16:0;20817:24;;;;:6;:24;;;;;;:36;;20846:6;20817:28;:36::i;:::-;20797:16;;-1:-1:-1;;;;;20797:16:0;20790:24;;;;:6;:24;;;;;:63;20359:513;;;:::o;18073:707::-;18240:20;18275:28;18318:17;18350:28;18393:17;18424:25;18435:13;18424:10;:25::i;:::-;-1:-1:-1;;;;;18480:15:0;;;;;;:6;:15;;;;;;18225:224;;-1:-1:-1;18225:224:0;;-1:-1:-1;18225:224:0;;-1:-1:-1;18225:224:0;-1:-1:-1;18225:224:0;-1:-1:-1;18480:34:0;;18500:13;18480:19;:34::i;:::-;-1:-1:-1;;;;;18462:15:0;;;;;;:6;:15;;;;;;;;:52;;;;18544:7;:16;;;;:34;;18565:12;18544:20;:34::i;:::-;-1:-1:-1;;;;;18525:16:0;;;;;;;:7;:16;;;;;;:53;;;;18611:19;;;;;;;:45;;18635:20;18611:23;:45::i;:::-;-1:-1:-1;;;;;18589:19:0;;;;;;:7;:19;;;;;:67;18667:38;18684:9;18695;18667:16;:38::i;:::-;18739:10;-1:-1:-1;;;;;18721:51:0;18730:7;-1:-1:-1;;;;;18721:51:0;;18751:20;18721:51;;;;;;;;;;;;;;;;;;18073:707;;;;;;;;:::o;17345:720::-;17512:20;17547:28;17590:17;17622:28;17665:17;17696:25;17707:13;17696:10;:25::i;:::-;-1:-1:-1;;;;;17753:16:0;;;;;;:7;:16;;;;;;17497:224;;-1:-1:-1;17497:224:0;;-1:-1:-1;17497:224:0;;-1:-1:-1;17497:224:0;-1:-1:-1;17497:224:0;-1:-1:-1;17753:34:0;;17497:224;17753:20;:34::i;:::-;-1:-1:-1;;;;;17734:16:0;;;;;;;:7;:16;;;;;;;;:53;;;;17819:18;;;;;:6;:18;;;;;:44;;17842:20;17819:22;:44::i;:::-;-1:-1:-1;;;;;17798:18:0;;;;;;:6;:18;;;;;;;;:65;;;;17896:7;:19;;;;:45;;17920:20;17896:23;:45::i;16702:635::-;16860:20;16895:28;16938:17;16970:28;17013:17;17044:25;17055:13;17044:10;:25::i;:::-;-1:-1:-1;;;;;17101:16:0;;;;;;:7;:16;;;;;;16845:224;;-1:-1:-1;16845:224:0;;-1:-1:-1;16845:224:0;;-1:-1:-1;16845:224:0;-1:-1:-1;16845:224:0;-1:-1:-1;17101:34:0;;16845:224;17101:20;:34::i;18788:777::-;18949:20;18984:28;19027:17;19059:28;19102:17;19133:25;19144:13;19133:10;:25::i;:::-;-1:-1:-1;;;;;19189:15:0;;;;;;:6;:15;;;;;;18934:224;;-1:-1:-1;18934:224:0;;-1:-1:-1;18934:224:0;;-1:-1:-1;18934:224:0;-1:-1:-1;18934:224:0;-1:-1:-1;19189:34:0;;19209:13;19189:19;:34::i;:::-;-1:-1:-1;;;;;19171:15:0;;;;;;:6;:15;;;;;;;;:52;;;;19253:7;:16;;;;:34;;19274:12;19253:20;:34::i;22335:338::-;22406:7;22415;22435:17;22455:22;22463:13;22455:7;:22::i;:::-;22435:42;;22488:23;22514:24;22528:9;22514:13;:24::i;:::-;22488:50;-1:-1:-1;22549:28:0;22580;:13;22598:9;22580:17;:28::i;:::-;22549:59;-1:-1:-1;22649:15:0;;-1:-1:-1;;;22335:338:0;;;:::o;22681:605::-;22875:7;22897;22919;22954:17;22974:40;23001:12;22974:22;22982:13;22974:7;:22::i;:::-;:26;;:40::i;:::-;22954:60;-1:-1:-1;23025:20:0;23048:31;:13;23066:12;23048:17;:31::i;:::-;23025:54;-1:-1:-1;23090:28:0;23121:27;23025:54;23138:9;23121:16;:27::i;:::-;23090:58;-1:-1:-1;23159:17:0;23179:34;:16;23200:12;23179:20;:34::i;:::-;23232:12;;23246:20;;-1:-1:-1;23232:12:0;;-1:-1:-1;22681:605:0;-1:-1:-1;;;;;;22681:605:0:o;23495:748::-;23599:12;;23546:7;;;;8906:18;23546:7;23670:391;23694:14;:21;23690:25;;23670:391;;;23770:13;23741:7;:26;23749:14;23764:1;23749:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23749:17:0;23741:26;;;;;;;;;;;;;:42;;:86;;;23815:12;23787:6;:25;23794:14;23809:1;23794:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23794:17:0;23787:25;;;;;;;;;;;;;:40;23741:86;23737:162;;;23856:12;;8906:18;23848:35;;;;;;;;;23737:162;23931:45;23949:7;:26;23957:14;23972:1;23957:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23957:17:0;23949:26;;;;;;;;;;;;;23931:13;;:17;:45::i;:::-;23915:61;;24006:43;24023:6;:25;24030:14;24045:1;24030:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24030:17:0;24023:25;;;;;;;;;;;;;24006:12;;:16;:43::i;:::-;23991:58;-1:-1:-1;23717:3:0;;23670:391;;;-1:-1:-1;24093:12:0;;:30;;8906:18;24093:16;:30::i;:::-;24077:13;:46;24073:114;;;24148:12;;8906:18;24140:35;;;;;;;;24073:114;24207:13;;-1:-1:-1;24222:12:0;-1:-1:-1;23495:748:0;;;:::o;2356:220::-;2414:7;2438:6;2434:20;;-1:-1:-1;2453:1:0;2446:8;;2434:20;2477:5;;;2481:1;2477;:5;:1;2501:5;;;;;:10;2493:56;;;;-1:-1:-1;;;2493:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19573:194;19673:12;;:28;;19690:10;19673:16;:28::i;:::-;19658:12;:43;19729:14;;:30;;19748:10;19729:18;:30::i;:::-;19712:14;:47;-1:-1:-1;;19573:194:0:o;24385:137::-;24444:7;24471:43;24500:13;;24471:24;24480:14;;24471:4;:8;;:24;;;;:::i

Swarm Source

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