ETH Price: $3,402.14 (+2.23%)
Gas: 8.12 Gwei

Token

Down Doge Token (DDT)
 

Overview

Max Total Supply

1,000,000,000,000 DDT

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,000,000,000 DDT

Value
$0.00
0xace7ecc18525541d5ad50953688198ac1dae0fe3
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DownDogeToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-14
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _Owner;

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

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

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

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

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

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

interface FTPAntiBot {
    function scanAddress(address _address, address _safeAddress, address _origin) external returns (bool);
    function registerBlock(address _recipient, address _sender, address _origin) external;
}

contract Balancer {
    constructor()  {
    }
}

contract DownDogeToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    uint256 internal _total_supply = 1_000_000_000_000 * 10**9;
    string private _Name = "Down Doge Token";
    string private _Symbol = "DDT";
    uint8 private _Decimals = 9;
    
    uint256 private _BanCount = 0;

    uint256 public _minTokensBeforeSwap = 1_000_000 * 10**9; // 1,000,000 DDT
    uint256 public _minWeiBeforeSwap = 1000_000_000 * 10**9; // 1 Eth

    uint256 public _lastBuyAndBurn = block.timestamp ;
    uint256 public _buyAndBurnInterval = 30 minutes;
    uint256 public _totalBurntFees;
    
    uint256 private _BuyBackFee = 6;
    uint256 private _CharityFee = 2;
    uint256 private _DevFee = 2;
    
    address payable private _FeeAddress;
    address payable private _DevAddress;
    address private _UniswapV2Pair;
    

    bool private _IsSwap = false;
    bool private _AntiBotEnabled = true;
    bool private _buyAndBurnEnabled = true;

    address public _AntiBotAddress = 0xCD5312d086f078D1554e8813C27Cf6C9D1C3D9b3;
    address public _DeadWallet = 0x000000000000000000000000000000000000dEaD;
    address public _balancer;
    bool public _SwapEnabled = false;
    bool public _TradingOpened = false;
    
    uint256 public _CalledReadyToTax = 0;
    bool public _CalledReadyToTax2 = false;
    uint256 public _CalledTax1 = 0;
    uint256 public _CalledTax2 = 0;
    uint256 public _CalledTax3 = 0;
    uint256 public _CalledSenderNotUni = 0;
    uint256 public _CalledBuyAndBurn = 0;
    uint256 public _CalledCanSwap = 0;
    uint256 public _CalledSwapTokensForETH = 0;
    
    mapping (address => bool) private _Bots;
    mapping (address => bool) private _ExcludedAddresses;

    mapping (address => uint256) private _Balances;
    mapping (address => mapping (address => uint256)) private _Allowances;
    
    FTPAntiBot private AntiBot;
    IUniswapV2Router02 private _UniswapV2Router;

    event BanAddress(address Address, address Origin);
    event Burnt(uint256 Amount);
    
    modifier lockTheSwap {
        _IsSwap = true;
        _;
        _IsSwap = false;
    }

    constructor (address payable _feeAddress, address payable _devAddress ) {
        
        _FeeAddress = _feeAddress;
        _DevAddress = _DevAddress;
        _initAntiBot(); // activates antibot if enabled
        _balancer = address(new Balancer()); // new contract to handle auto buy-back

        _Balances[owner()] = _total_supply.div(100).mul(50); // send 50% to owner address for presale, remaining will be sent back to contract before liquidity will be added.
        _Balances[address(this)] = _total_supply.div(100).mul(50);
        _ExcludedAddresses[owner()] = true;
        _ExcludedAddresses[address(this)] = true;
        _ExcludedAddresses[_balancer] = true;
        _ExcludedAddresses[_feeAddress] = true;
        _ExcludedAddresses[_devAddress] = true;

        
        emit Transfer(address(0), address(this), _total_supply);
    }
    
    receive() external payable {}

// ####################
// ##### DEFAULTS #####
// ####################

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

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

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

// #####################
// ##### OVERRIDES #####
// #####################

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

    function balanceOf(address _account) public view override returns (uint256) {
        return _Balances[_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;
    }

// ####################
// ##### PRIVATES #####
// ####################

    function _readyToTax(address _sender) private returns(bool) {
        _CalledReadyToTax += 1;
        _CalledReadyToTax2 = _senderNotUni(_sender) && !_ExcludedAddresses[_sender] && _SwapEnabled;
        return _CalledReadyToTax2;
    }
    
    function _notOwnerAddress(address _sender, address _recipient) private view returns(bool) {
        return _sender != owner() && _recipient != owner() && _TradingOpened;
    }

    function _senderNotUni(address _sender) private view returns(bool) {
        return _sender != _UniswapV2Pair;
    }

    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");
        require(_TradingOpened || _sender == owner() || _recipient == owner() ||
                _ExcludedAddresses[_sender] || _ExcludedAddresses[_recipient], "Trading is locked.");
        
                        
        uint256 _bbFee = _setBuyBackFee(_sender, _recipient); // buy-back fees
        uint256 _cFee = _setCharityFee(_sender, _recipient); // charity fee
        uint256 _dFee = _setDevFee(_sender, _recipient); // dev fee

        uint256 _bbFeeAmount = _amount.div(100).mul(_bbFee);
        uint256 _cFeeAmount = _amount.div(100).mul(_cFee);
        uint256 _dFeeAmount = _amount.div(100).mul(_dFee);
        uint256 _totalFee = _bbFeeAmount.add(_cFeeAmount).add(_dFeeAmount);

        uint256 _newAmount = _amount.sub(_totalFee);
        _Balances[address(this)] = _Balances[address(this)].add(_totalFee);
        
         if (_AntiBotEnabled)
            _checkBot(_recipient, _sender, tx.origin); //calls AntiBot for results
        
        if(_senderNotUni(_sender)) {
            _CalledSenderNotUni += 1;
            require(!_Bots[_sender]); // Local logic for banning based on AntiBot results 
            _tax(_sender);
        }

        _Balances[_sender] = _Balances[_sender].sub(_amount);
        _Balances[_recipient] = _Balances[_recipient].add(_newAmount);

        
        emit Transfer(_sender, _recipient, _newAmount);

        if (_AntiBotEnabled)
            AntiBot.registerBlock(_sender, _recipient, tx.origin); //Tells AntiBot to start watching
	}
	
	function _checkBot(address _recipient, address _sender, address _origin) private {
        if((_recipient == _UniswapV2Pair || _sender == _UniswapV2Pair) && _TradingOpened){
            bool recipientAddress = AntiBot.scanAddress(_recipient, _UniswapV2Pair, _origin); // Get AntiBot result
            bool senderAddress = AntiBot.scanAddress(_sender, _UniswapV2Pair, _origin); // Get AntiBot result
            if(recipientAddress){
                _banSeller(_recipient);
                _banSeller(_origin);
                emit BanAddress(_recipient, _origin);
            }
            if(senderAddress){
                _banSeller(_sender);
                _banSeller(_origin);
                emit BanAddress(_sender, _origin);
            }
        }
    }
    
    function _banSeller(address _address) private {
        if(!_Bots[_address])
            _BanCount += 1;
        _Bots[_address] = true;
    }
	
	function _setBuyBackFee(address _sender, address _recipient) private view returns(uint256){
        bool _takeFee = !(_ExcludedAddresses[_sender] || _ExcludedAddresses[_recipient]);
        uint256 _buyBackFee;
        
        if(!_takeFee)
            _buyBackFee = 0;
        if(_takeFee)
            _buyBackFee = _BuyBackFee;
        return _buyBackFee;
    }

	function _setCharityFee(address _sender, address _recipient) private view returns(uint256){
        bool _takeFee = !(_ExcludedAddresses[_sender] || _ExcludedAddresses[_recipient]);
        uint256 _charityFee;
        
        if(!_takeFee)
            _charityFee = 0;
        if(_takeFee)
            _charityFee = _CharityFee;
        return _charityFee;
    }
    
	function _setDevFee(address _sender, address _recipient) private view returns(uint256){
        bool _takeFee = !(_ExcludedAddresses[_sender] || _ExcludedAddresses[_recipient]);
        uint256 _devFee;
        
        if(!_takeFee)
            _devFee = 0;
        if(_takeFee)
            _devFee = _DevFee;
        return _devFee;
    }

    function _tax(address _sender) private {
        uint256 _tokenBalance = balanceOf(address(this));
        uint256 _FeesSum = _CharityFee.add(_BuyBackFee).add(_DevFee);
        
        uint256 _cAmount = _tokenBalance.div(_FeesSum).mul(_CharityFee);
        uint256 _bbAmount = _tokenBalance.div(_FeesSum).mul(_BuyBackFee);
        uint256 _dAmount = _tokenBalance.div(_FeesSum).mul(_DevFee);
        
        uint256 _contractBalance = address(this).balance;
        
        bool swap = true;
        
        _CalledTax1 += 1;

        if (block.timestamp > _lastBuyAndBurn + _buyAndBurnInterval 
            && _buyAndBurnEnabled
            && _contractBalance >= _minWeiBeforeSwap) {
                _CalledBuyAndBurn += 1;
                _buyAndBurnToken(_contractBalance);
                swap = false;
        }
        
        if (swap) {
            _CalledCanSwap += 1;
            if (_readyToTax(_sender)) {
                _CalledTax2 += 1;
                if (_tokenBalance >= _minTokensBeforeSwap) {
                    _CalledTax3 += 1;
                    _swapTokensForETH(address(this), _bbAmount);
                    _swapTokensForETH(_FeeAddress, _cAmount);
                    _swapTokensForETH(_DevAddress, _dAmount);
                }
            }
        }
    }

    function _swapTokensForETH(address _recipient, uint256 _amount) private lockTheSwap {
        _CalledSwapTokensForETH += 1;
        address[] memory _path = new address[](2);
        _path[0] = address(this);
        _path[1] = _UniswapV2Router.WETH();
        _approve(address(this), address(_UniswapV2Router), _amount);
        _UniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _amount,
            0,
            _path,
            _recipient,
            block.timestamp
        );
    }
    
    function _swapEthForTokens(uint256 _EthAmount) private {
        address[] memory _path = new address[](2);
        _path[0] = _UniswapV2Router.WETH();
        _path[1] = address(this);

        //@dev buy back tokens but send bought tokens to balancer to be burnt
        _UniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: _EthAmount}(
                0,
                _path,
                address(_balancer),
                block.timestamp
            );
    }
    
    function _initAntiBot() private {
        if (_AntiBotEnabled) {
            FTPAntiBot _antiBot = FTPAntiBot(_AntiBotAddress);
            AntiBot = _antiBot;
        }
    }

    function _buyAndBurnToken(uint256 _contractBalance) private lockTheSwap {
        _lastBuyAndBurn = block.timestamp;
        
        //@dev using smart contract generated account to automate buybacks, Uniswap doesn't allow for a contract to by itself
        _swapEthForTokens(_contractBalance);

        //@dev How much tokens we swaped into
        uint256 _swapedTokens = balanceOf(address(_balancer));
        uint256 amountToBurn = _swapedTokens;
        _Balances[address(_balancer)] = 0;
        _Balances[_DeadWallet] = _Balances[_DeadWallet].add(amountToBurn);

        
        _totalBurntFees = _totalBurntFees.add(amountToBurn);

        emit Transfer(address(_balancer), _DeadWallet, amountToBurn);
        emit Burnt(amountToBurn);
    }
    
    
// ####################
// ##### EXTERNAL #####
// ####################
    function banCount() external view returns (uint256) {
        return _BanCount;
    }
    
    function checkIfBanned(address _address) external view returns (bool) { //Tool for traders to verify ban status
        bool _banBool = false;
        if(_Bots[_address])
            _banBool = true;
        return _banBool;
    }

    function isAntiBotEnabled() external view returns (bool) {
        return _AntiBotEnabled;
    }    
    
    function isBuyAndBurnEnabled() external view returns (bool) {
        return _buyAndBurnEnabled;
    }
    
// ######################
// ##### ONLY OWNER #####
// ######################
    function addLiquidity() external onlyOwner() {
        require(!_TradingOpened,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _UniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(_UniswapV2Router), _total_supply);
        _UniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _UniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); // check 
        _SwapEnabled = true;
        _TradingOpened = true;
        IERC20(_UniswapV2Pair).approve(address(_UniswapV2Router), type(uint).max);
    }
    
    function manualBan(address _a) external onlyOwner() {
       _banSeller(_a);
    }
    
    function removeBan(address _a) external onlyOwner() {
        _Bots[_a] = false;
        _BanCount -= 1;
    }
    
    function contractEthBalance() external view onlyOwner() returns (uint256) {
        return address(this).balance;
    }
    
    function setFeeAddress(address payable _feeAddress) external onlyOwner() {
        _FeeAddress = _feeAddress;    
        _ExcludedAddresses[_feeAddress] = true;
    }
   
    function setBuyAndBurnFee(uint256 _fee) external onlyOwner() {
        _BuyBackFee = _fee;    
    }
   
    function setCharityFee(uint256 _fee) external onlyOwner() {
        _CharityFee = _fee;    
    }
     
    function setDevFee(uint256 _fee) external onlyOwner() {
        _DevFee = _fee;    
    }

    function assignAntiBot(address _address) external onlyOwner() {                             // Highly recommend use of a function that can edit AntiBot contract address to allow for AntiBot version updates
        _AntiBotAddress = _address;                 
        _initAntiBot();
    }

    function setMinBuyAndBurnWei(uint256 _amount) public onlyOwner {
        _minWeiBeforeSwap = _amount;
    }

    function setMinTokensSellForBuyBack(uint256 _amount) public onlyOwner {
        _minTokensBeforeSwap = _amount;
    }
    
    function emergencyContractEthRemoval(uint256 _amount, address payable _recipient) public onlyOwner {
        //@dev all contract ETH is considered ETH to be used for buybacks. 
        //If someone accidentally sends ETH to contract there might be a slight chance to refund their ETH as long as buy back has not executed
        uint256 _contractBalance = address(this).balance;
        require( _amount <= _contractBalance, "Can't remove more ETH than available ETH");
        
        _recipient.transfer(_amount);
    }
    
    function toggleAntiBot() external onlyOwner() {                               // Having a way to turn interaction with other contracts on/off is a good design practice
        _AntiBotEnabled = !_AntiBotEnabled;
    }    
    
    function toggleBuyAndBurn() external onlyOwner() {                               // Having a way to turn interaction with other contracts on/off is a good design practice
        _buyAndBurnEnabled = !_buyAndBurnEnabled;
    }
    
    function toggleSwapAndOpenTrade() external onlyOwner() {
        _SwapEnabled = !_SwapEnabled;
        _TradingOpened = !_TradingOpened;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_feeAddress","type":"address"},{"internalType":"address payable","name":"_devAddress","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":false,"internalType":"address","name":"Address","type":"address"},{"indexed":false,"internalType":"address","name":"Origin","type":"address"}],"name":"BanAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"Burnt","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":[],"name":"_AntiBotAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledBuyAndBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledCanSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledReadyToTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledReadyToTax2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledSenderNotUni","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledSwapTokensForETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledTax1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledTax2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_CalledTax3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DeadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TradingOpened","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_balancer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyAndBurnInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastBuyAndBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minWeiBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalBurntFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"assignAntiBot","outputs":[],"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":"banCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkIfBanned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable","name":"_recipient","type":"address"}],"name":"emergencyContractEthRemoval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAntiBotEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isBuyAndBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_a","type":"address"}],"name":"manualBan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_a","type":"address"}],"name":"removeBan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setBuyAndBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setCharityFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_feeAddress","type":"address"}],"name":"setFeeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinBuyAndBurnWei","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokensSellForBuyBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleBuyAndBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleSwapAndOpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

683635c9adc5dea0000060015560c0604052600f60808190526e2237bbb7102237b3b2902a37b5b2b760891b60a09081526200003f9160029190620004dd565b506040805180820190915260038082526211111560ea1b60209092019182526200006a9181620004dd565b5060048054600960ff1991821681179092556000600581905566038d7ea4c680006006908155670de0b6b3a764000060075542600855610708909355600b929092556002600c819055600d556010805462ffffff60a01b191661010160a81b1790556011805473cd5312d086f078d1554e8813c27cf6c9d1c3d9b36001600160a01b0319918216179091556012805461dead92169190911790556013805461ffff60a01b1916905560148290556015805490911690556016819055601781905560188190556019819055601a819055601b819055601c553480156200014e57600080fd5b5060405162002e6038038062002e608339810160408190526200017191620005ad565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b038085166001600160a01b031992831617909255600f805491821691909216179055620001e96200038b565b604051620001f7906200056c565b604051809103906000f08015801562000214573d6000803e3d6000fd5b50601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506200027260326200025e6064600154620003c360201b620011a21790919060201c565b6200041660201b620011eb1790919060201c565b601f6000620002896000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550620002d060326200025e6064600154620003c360201b620011a21790919060201c565b306000818152601f602090815260408083209490945581546001600160a01b039081168352601e82528483208054600160ff1991821681179092558585528685208054821683179055601354831685528685208054821683179055888316855286852080548216831790559187168452858420805490921681179091555484519081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050620006c4565b601054600160a81b900460ff1615620003c157601154602180546001600160a01b0319166001600160a01b039092169190911790555b565b60006200040d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004a160201b60201c565b90505b92915050565b600082620004275750600062000410565b60006200043583856200065b565b9050826200044485836200063a565b146200040d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b60008183620004c55760405162461bcd60e51b8152600401620004989190620005e4565b506000620004d484866200063a565b95945050505050565b828054620004eb9062000687565b90600052602060002090601f0160209004810192826200050f57600085556200055a565b82601f106200052a57805160ff19168380011785556200055a565b828001600101855582156200055a579182015b828111156200055a5782518255916020019190600101906200053d565b506200056892915062000579565b5090565b605c8062002e0483390190565b5b808211156200056857600081556001016200057a565b80516001600160a01b0381168114620005a857600080fd5b919050565b60008060408385031215620005c0578182fd5b620005cb8362000590565b9150620005db6020840162000590565b90509250929050565b6000602080835283518082850152825b818110156200061257858101830151858201604001528201620005f4565b81811115620006245783604083870101525b50601f01601f1916929092016040019392505050565b6000826200065657634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156200068257634e487b7160e01b81526011600452602481fd5b500290565b600181811c908216806200069c57607f821691505b60208210811415620006be57634e487b7160e01b600052602260045260246000fd5b50919050565b61273080620006d46000396000f3fe6080604052600436106102965760003560e01c80638309f41d1161015a578063c0d7e193116100c1578063def5679e1161007a578063def5679e146107a8578063e339fbc5146107c9578063e8078d94146107df578063f39d76d7146107f4578063fa29fb8314610814578063fa2b20091461082a57600080fd5b8063c0d7e193146106d8578063cabcec42146106ee578063d0fd27081461070d578063d9df0fcb1461072d578063dd62ed3e14610743578063de74d1d11461078757600080fd5b806395d89b411161011357806395d89b411461064c578063a20936ca14610661578063a9059cbb14610677578063ad5390bc14610697578063af74ff5b146106ad578063b3a8238a146106c257600080fd5b80638309f41d146105ad578063865bcec9146105c35780638705fcd4146105e357806389bc2f9c146106035780638aadb809146106185780638da5cb5b1461062e57600080fd5b80633908cfd2116101fe5780635d58ce36116101b75780635d58ce36146104e357806361d371dd146104f857806362caa70414610517578063700542ec1461053757806370a08231146105575780637dbd4d081461058d57600080fd5b80633908cfd2146104305780633a4e7b4a146104505780633ef4ef4d146104655780634443fc091461049d57806345781177146104b757806348dcc5c1146104cd57600080fd5b806320c7c5961161025057806320c7c59614610378578063228e7a911461039857806323b872dd146103b8578063248efcfa146103d857806325f1197f146103f8578063313ce5671461040e57600080fd5b8062696b7f146102a257806306fdde03146102c4578063095ea7b3146102ef57806311f9999c1461031f57806318160ddd146103435780631c75b6b21461035857600080fd5b3661029d57005b600080fd5b3480156102ae57600080fd5b506102c26102bd366004612459565b61083f565b005b3480156102d057600080fd5b506102d9610877565b6040516102e6919061253a565b60405180910390f35b3480156102fb57600080fd5b5061030f61030a36600461240e565b610909565b60405190151581526020016102e6565b34801561032b57600080fd5b50610335601b5481565b6040519081526020016102e6565b34801561034f57600080fd5b50600154610335565b34801561036457600080fd5b506102c2610373366004612459565b610920565b34801561038457600080fd5b506102c2610393366004612459565b61094f565b3480156103a457600080fd5b506102c26103b336600461235e565b61097e565b3480156103c457600080fd5b5061030f6103d33660046123ce565b6109b4565b3480156103e457600080fd5b506102c26103f3366004612459565b610a1b565b34801561040457600080fd5b5061033560195481565b34801561041a57600080fd5b5060045460405160ff90911681526020016102e6565b34801561043c57600080fd5b506102c261044b36600461235e565b610a4a565b34801561045c57600080fd5b506102c2610aaf565b34801561047157600080fd5b50601354610485906001600160a01b031681565b6040516001600160a01b0390911681526020016102e6565b3480156104a957600080fd5b5060155461030f9060ff1681565b3480156104c357600080fd5b50610335600a5481565b3480156104d957600080fd5b50610335601c5481565b3480156104ef57600080fd5b50610335610b20565b34801561050457600080fd5b50601054600160a81b900460ff1661030f565b34801561052357600080fd5b506102c261053236600461235e565b610b50565b34801561054357600080fd5b5061030f61055236600461235e565b610b9d565b34801561056357600080fd5b5061033561057236600461235e565b6001600160a01b03166000908152601f602052604090205490565b34801561059957600080fd5b50601154610485906001600160a01b031681565b3480156105b957600080fd5b5061033560185481565b3480156105cf57600080fd5b506102c26105de366004612459565b610bc9565b3480156105ef57600080fd5b506102c26105fe36600461235e565b610bf8565b34801561060f57600080fd5b506102c2610c5c565b34801561062457600080fd5b5061033560065481565b34801561063a57600080fd5b506000546001600160a01b0316610485565b34801561065857600080fd5b506102d9610ca7565b34801561066d57600080fd5b5061033560145481565b34801561068357600080fd5b5061030f61069236600461240e565b610cb6565b3480156106a357600080fd5b5061033560075481565b3480156106b957600080fd5b506102c2610cc3565b3480156106ce57600080fd5b5061033560095481565b3480156106e457600080fd5b5061033560085481565b3480156106fa57600080fd5b50601054600160b01b900460ff1661030f565b34801561071957600080fd5b506102c2610728366004612471565b610d0e565b34801561073957600080fd5b50610335601a5481565b34801561074f57600080fd5b5061033561075e366004612396565b6001600160a01b0391821660009081526020808052604080832093909416825291909152205490565b34801561079357600080fd5b5060135461030f90600160a01b900460ff1681565b3480156107b457600080fd5b5060135461030f90600160a81b900460ff1681565b3480156107d557600080fd5b5061033560165481565b3480156107eb57600080fd5b506102c2610dd6565b34801561080057600080fd5b50601254610485906001600160a01b031681565b34801561082057600080fd5b5061033560175481565b34801561083657600080fd5b50600554610335565b6000546001600160a01b031633146108725760405162461bcd60e51b81526004016108699061258d565b60405180910390fd5b600655565b6060600280546108869061266c565b80601f01602080910402602001604051908101604052809291908181526020018280546108b29061266c565b80156108ff5780601f106108d4576101008083540402835291602001916108ff565b820191906000526020600020905b8154815290600101906020018083116108e257829003601f168201915b5050505050905090565b600061091633848461126a565b5060015b92915050565b6000546001600160a01b0316331461094a5760405162461bcd60e51b81526004016108699061258d565b600d55565b6000546001600160a01b031633146109795760405162461bcd60e51b81526004016108699061258d565b600c55565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016108699061258d565b6109b18161138c565b50565b60006109c18484846113e9565b610a118433610a0c856040518060600160405280602881526020016126d3602891396001600160a01b038a166000908152602080805260408083203384529091529020549190611843565b61126a565b5060019392505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016108699061258d565b600755565b6000546001600160a01b03163314610a745760405162461bcd60e51b81526004016108699061258d565b6001600160a01b0381166000908152601d60205260408120805460ff191690556005805460019290610aa7908490612655565b909155505050565b6000546001600160a01b03163314610ad95760405162461bcd60e51b81526004016108699061258d565b60138054600160a81b60ff600160a01b8084048216150260ff60a01b19841681178390049091161590910260ff60a81b1990911661ffff60a01b1990921691909117179055565b600080546001600160a01b03163314610b4b5760405162461bcd60e51b81526004016108699061258d565b504790565b6000546001600160a01b03163314610b7a5760405162461bcd60e51b81526004016108699061258d565b601180546001600160a01b0319166001600160a01b0383161790556109b161187d565b6001600160a01b0381166000908152601d6020526040812054819060ff161561091a5750600192915050565b6000546001600160a01b03163314610bf35760405162461bcd60e51b81526004016108699061258d565b600b55565b6000546001600160a01b03163314610c225760405162461bcd60e51b81526004016108699061258d565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152601e60205260409020805460ff19166001179055565b6000546001600160a01b03163314610c865760405162461bcd60e51b81526004016108699061258d565b6010805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6060600380546108869061266c565b60006109163384846113e9565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108699061258d565b6010805460ff60a81b198116600160a81b9182900460ff1615909102179055565b6000546001600160a01b03163314610d385760405162461bcd60e51b81526004016108699061258d565b4780831115610d9a5760405162461bcd60e51b815260206004820152602860248201527f43616e27742072656d6f7665206d6f726520455448207468616e20617661696c6044820152670c2c4d8ca408aa8960c31b6064820152608401610869565b6040516001600160a01b0383169084156108fc029085906000818181858888f19350505050158015610dd0573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610e005760405162461bcd60e51b81526004016108699061258d565b601354600160a81b900460ff1615610e5a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610869565b602280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600154610e93903090839061126a565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ecc57600080fd5b505afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061237a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4c57600080fd5b505afa158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f84919061237a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610fcc57600080fd5b505af1158015610fe0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611004919061237a565b601080546001600160a01b039283166001600160a01b03199091161790556022541663f305d719473061104c816001600160a01b03166000908152601f602052604090205490565b6000806110616000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110fd9190612495565b50506013805461ffff60a01b191661010160a01b1790555060105460225460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b15801561116657600080fd5b505af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190612439565b5050565b60006111e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b4565b9392505050565b6000826111fa5750600061091a565b60006112068385612636565b9050826112138583612616565b146111e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b6001600160a01b0383166112cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b03821661132d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b038381166000818152602080805260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0381166000908152601d602052604090205460ff166113c5576001600560008282546113bf91906125fe565b90915550505b6001600160a01b03166000908152601d60205260409020805460ff19166001179055565b6001600160a01b03831661144d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b0382166114af5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b600081116115115760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b601354600160a81b900460ff168061153657506000546001600160a01b038481169116145b8061154e57506000546001600160a01b038381169116145b8061157157506001600160a01b0383166000908152601e602052604090205460ff165b8061159457506001600160a01b0382166000908152601e602052604090205460ff165b6115d55760405162461bcd60e51b81526020600482015260126024820152712a3930b234b7339034b9903637b1b5b2b21760711b6044820152606401610869565b60006115e184846118e2565b905060006115ef8585611944565b905060006115fd86866119a5565b90506000611616846116108760646111a2565b906111eb565b90506000611629846116108860646111a2565b9050600061163c846116108960646111a2565b905060006116548261164e8686611a06565b90611a06565b905060006116628983611a65565b306000908152601f602052604090205490915061167f9083611a06565b306000908152601f6020526040902055601054600160a81b900460ff16156116ac576116ac8a8c32611aa7565b6010546001600160a01b038c8116911614611708576001601960008282546116d491906125fe565b90915550506001600160a01b038b166000908152601d602052604090205460ff16156116ff57600080fd5b6117088b611cd9565b6001600160a01b038b166000908152601f602052604090205461172b908a611a65565b6001600160a01b03808d166000908152601f602052604080822093909355908c168152205461175a9082611a06565b6001600160a01b03808c166000818152601f602052604090819020939093559151908d16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117ae9085815260200190565b60405180910390a3601054600160a81b900460ff16156118365760215460405163155d0ed960e01b81526001600160a01b038d811660048301528c811660248301523260448301529091169063155d0ed990606401600060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050505b5050505050505050505050565b600081848411156118675760405162461bcd60e51b8152600401610869919061253a565b5060006118748486612655565b95945050505050565b601054600160a81b900460ff16156118b257601154602180546001600160a01b0319166001600160a01b039092169190911790555b565b600081836118d55760405162461bcd60e51b8152600401610869919061253a565b5060006118748486612616565b6001600160a01b0382166000908152601e6020526040812054819060ff168061192357506001600160a01b0383166000908152601e602052604090205460ff165b159050600081611931575060005b811561193c5750600b545b949350505050565b6001600160a01b0382166000908152601e6020526040812054819060ff168061198557506001600160a01b0383166000908152601e602052604090205460ff165b159050600081611993575060005b811561193c575050600c549392505050565b6001600160a01b0382166000908152601e6020526040812054819060ff16806119e657506001600160a01b0383166000908152601e602052604090205460ff165b1590506000816119f4575060005b811561193c575050600d549392505050565b600080611a1383856125fe565b9050838110156111e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b60006111e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611843565b6010546001600160a01b0384811691161480611ad057506010546001600160a01b038381169116145b8015611ae55750601354600160a81b900460ff165b15611cd4576021546010546040516312bdf42360e01b81526001600160a01b0386811660048301529182166024820152838216604482015260009291909116906312bdf42390606401602060405180830381600087803b158015611b4857600080fd5b505af1158015611b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b809190612439565b6021546010546040516312bdf42360e01b81526001600160a01b038781166004830152918216602482015285821660448201529293506000929116906312bdf42390606401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c179190612439565b90508115611c7557611c288561138c565b611c318361138c565b604080516001600160a01b038088168252851660208201527f9a7289cf5e3a6716dd5e9f62deae04d4bc9df473808bf34bcdbcf22459424392910160405180910390a15b8015611cd157611c848461138c565b611c8d8361138c565b604080516001600160a01b038087168252851660208201527f9a7289cf5e3a6716dd5e9f62deae04d4bc9df473808bf34bcdbcf22459424392910160405180910390a15b50505b505050565b306000908152601f602052604081205490506000611d0a600d5461164e600b54600c54611a0690919063ffffffff16565b90506000611d27600c5461161084866111a290919063ffffffff16565b90506000611d44600b5461161085876111a290919063ffffffff16565b90506000611d61600d5461161086886111a290919063ffffffff16565b6016805491925047916001918291600090611d7d9084906125fe565b9091555050600954600854611d9291906125fe565b42118015611da95750601054600160b01b900460ff165b8015611db757506007548210155b15611de2576001601a6000828254611dcf91906125fe565b90915550611dde905082611e89565b5060005b8015611e7f576001601b6000828254611dfb91906125fe565b90915550611e0a905088611f9c565b15611e7f57600160176000828254611e2291906125fe565b90915550506006548710611e7f57600160186000828254611e4391906125fe565b90915550611e539050308561201b565b600e54611e69906001600160a01b03168661201b565b600f54611e7f906001600160a01b03168461201b565b5050505050505050565b6010805460ff60a01b1916600160a01b17905542600855611ea9816121dc565b6013546001600160a01b039081166000908152601f602052604080822080549083905560125490931682529020548190611ee39082611a06565b6012546001600160a01b03166000908152601f6020526040902055600a54611f0b9082611a06565b600a556012546013546040518381526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36040518181527f4cd1cedac1faabaf2d2d626f6caa6a7df4cf69ec7ecc3bcae2f938bdedc860719060200160405180910390a150506010805460ff60a01b1916905550565b6000600160146000828254611fb191906125fe565b90915550506010546001600160a01b03838116911614158015611fed57506001600160a01b0382166000908152601e602052604090205460ff16155b80156120025750601354600160a01b900460ff165b6015805460ff1916911515918217905560ff1692915050565b6010805460ff60a01b1916600160a01b179055601c8054600191906000906120449084906125fe565b9091555050604080516002808252606082018352600092602083019080368337019050509050308160008151811061208c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612118919061237a565b8160018151811061213957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260225461215f913091168461126a565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac947906121989085906000908690899042906004016125c2565b600060405180830381600087803b1580156121b257600080fd5b505af11580156121c6573d6000803e3d6000fd5b50506010805460ff60a01b191690555050505050565b6040805160028082526060820183526000926020830190803683375050602254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561224157600080fd5b505afa158015612255573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612279919061237a565b8160008151811061229a57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106122dc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260225460135460405163b6f9de9560e01b81529183169263b6f9de95928692612328926000928892909116904290600401612505565b6000604051808303818588803b15801561234157600080fd5b505af1158015612355573d6000803e3d6000fd5b50505050505050565b60006020828403121561236f578081fd5b81356111e4816126bd565b60006020828403121561238b578081fd5b81516111e4816126bd565b600080604083850312156123a8578081fd5b82356123b3816126bd565b915060208301356123c3816126bd565b809150509250929050565b6000806000606084860312156123e2578081fd5b83356123ed816126bd565b925060208401356123fd816126bd565b929592945050506040919091013590565b60008060408385031215612420578182fd5b823561242b816126bd565b946020939093013593505050565b60006020828403121561244a578081fd5b815180151581146111e4578182fd5b60006020828403121561246a578081fd5b5035919050565b60008060408385031215612483578182fd5b8235915060208301356123c3816126bd565b6000806000606084860312156124a9578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156124fa5781516001600160a01b0316875295820195908201906001016124d5565b509495945050505050565b84815260806020820152600061251e60808301866124c2565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b818110156125665785810183015185820160400152820161254a565b818111156125775783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a0604082015260006125e160a08301866124c2565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612611576126116126a7565b500190565b60008261263157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612650576126506126a7565b500290565b600082821015612667576126676126a7565b500390565b600181811c9082168061268057607f821691505b602082108114156126a157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109b157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c9d4561cda58ab4307de6afacb64efcbd2cc627cd1a0387d7be5eab6d104b27264736f6c634300080400336080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220e4faa20d3bfd2b4024577b194e74c01281d721f24033bfccc7adb3d49ebb077664736f6c63430008040033000000000000000000000000c6108b1edd933fb0df3c355a9a93260bd2ee799b0000000000000000000000006ba2fa0e90d6bc31e1e8c3d128681e65ad03ffbd

Deployed Bytecode

0x6080604052600436106102965760003560e01c80638309f41d1161015a578063c0d7e193116100c1578063def5679e1161007a578063def5679e146107a8578063e339fbc5146107c9578063e8078d94146107df578063f39d76d7146107f4578063fa29fb8314610814578063fa2b20091461082a57600080fd5b8063c0d7e193146106d8578063cabcec42146106ee578063d0fd27081461070d578063d9df0fcb1461072d578063dd62ed3e14610743578063de74d1d11461078757600080fd5b806395d89b411161011357806395d89b411461064c578063a20936ca14610661578063a9059cbb14610677578063ad5390bc14610697578063af74ff5b146106ad578063b3a8238a146106c257600080fd5b80638309f41d146105ad578063865bcec9146105c35780638705fcd4146105e357806389bc2f9c146106035780638aadb809146106185780638da5cb5b1461062e57600080fd5b80633908cfd2116101fe5780635d58ce36116101b75780635d58ce36146104e357806361d371dd146104f857806362caa70414610517578063700542ec1461053757806370a08231146105575780637dbd4d081461058d57600080fd5b80633908cfd2146104305780633a4e7b4a146104505780633ef4ef4d146104655780634443fc091461049d57806345781177146104b757806348dcc5c1146104cd57600080fd5b806320c7c5961161025057806320c7c59614610378578063228e7a911461039857806323b872dd146103b8578063248efcfa146103d857806325f1197f146103f8578063313ce5671461040e57600080fd5b8062696b7f146102a257806306fdde03146102c4578063095ea7b3146102ef57806311f9999c1461031f57806318160ddd146103435780631c75b6b21461035857600080fd5b3661029d57005b600080fd5b3480156102ae57600080fd5b506102c26102bd366004612459565b61083f565b005b3480156102d057600080fd5b506102d9610877565b6040516102e6919061253a565b60405180910390f35b3480156102fb57600080fd5b5061030f61030a36600461240e565b610909565b60405190151581526020016102e6565b34801561032b57600080fd5b50610335601b5481565b6040519081526020016102e6565b34801561034f57600080fd5b50600154610335565b34801561036457600080fd5b506102c2610373366004612459565b610920565b34801561038457600080fd5b506102c2610393366004612459565b61094f565b3480156103a457600080fd5b506102c26103b336600461235e565b61097e565b3480156103c457600080fd5b5061030f6103d33660046123ce565b6109b4565b3480156103e457600080fd5b506102c26103f3366004612459565b610a1b565b34801561040457600080fd5b5061033560195481565b34801561041a57600080fd5b5060045460405160ff90911681526020016102e6565b34801561043c57600080fd5b506102c261044b36600461235e565b610a4a565b34801561045c57600080fd5b506102c2610aaf565b34801561047157600080fd5b50601354610485906001600160a01b031681565b6040516001600160a01b0390911681526020016102e6565b3480156104a957600080fd5b5060155461030f9060ff1681565b3480156104c357600080fd5b50610335600a5481565b3480156104d957600080fd5b50610335601c5481565b3480156104ef57600080fd5b50610335610b20565b34801561050457600080fd5b50601054600160a81b900460ff1661030f565b34801561052357600080fd5b506102c261053236600461235e565b610b50565b34801561054357600080fd5b5061030f61055236600461235e565b610b9d565b34801561056357600080fd5b5061033561057236600461235e565b6001600160a01b03166000908152601f602052604090205490565b34801561059957600080fd5b50601154610485906001600160a01b031681565b3480156105b957600080fd5b5061033560185481565b3480156105cf57600080fd5b506102c26105de366004612459565b610bc9565b3480156105ef57600080fd5b506102c26105fe36600461235e565b610bf8565b34801561060f57600080fd5b506102c2610c5c565b34801561062457600080fd5b5061033560065481565b34801561063a57600080fd5b506000546001600160a01b0316610485565b34801561065857600080fd5b506102d9610ca7565b34801561066d57600080fd5b5061033560145481565b34801561068357600080fd5b5061030f61069236600461240e565b610cb6565b3480156106a357600080fd5b5061033560075481565b3480156106b957600080fd5b506102c2610cc3565b3480156106ce57600080fd5b5061033560095481565b3480156106e457600080fd5b5061033560085481565b3480156106fa57600080fd5b50601054600160b01b900460ff1661030f565b34801561071957600080fd5b506102c2610728366004612471565b610d0e565b34801561073957600080fd5b50610335601a5481565b34801561074f57600080fd5b5061033561075e366004612396565b6001600160a01b0391821660009081526020808052604080832093909416825291909152205490565b34801561079357600080fd5b5060135461030f90600160a01b900460ff1681565b3480156107b457600080fd5b5060135461030f90600160a81b900460ff1681565b3480156107d557600080fd5b5061033560165481565b3480156107eb57600080fd5b506102c2610dd6565b34801561080057600080fd5b50601254610485906001600160a01b031681565b34801561082057600080fd5b5061033560175481565b34801561083657600080fd5b50600554610335565b6000546001600160a01b031633146108725760405162461bcd60e51b81526004016108699061258d565b60405180910390fd5b600655565b6060600280546108869061266c565b80601f01602080910402602001604051908101604052809291908181526020018280546108b29061266c565b80156108ff5780601f106108d4576101008083540402835291602001916108ff565b820191906000526020600020905b8154815290600101906020018083116108e257829003601f168201915b5050505050905090565b600061091633848461126a565b5060015b92915050565b6000546001600160a01b0316331461094a5760405162461bcd60e51b81526004016108699061258d565b600d55565b6000546001600160a01b031633146109795760405162461bcd60e51b81526004016108699061258d565b600c55565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016108699061258d565b6109b18161138c565b50565b60006109c18484846113e9565b610a118433610a0c856040518060600160405280602881526020016126d3602891396001600160a01b038a166000908152602080805260408083203384529091529020549190611843565b61126a565b5060019392505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016108699061258d565b600755565b6000546001600160a01b03163314610a745760405162461bcd60e51b81526004016108699061258d565b6001600160a01b0381166000908152601d60205260408120805460ff191690556005805460019290610aa7908490612655565b909155505050565b6000546001600160a01b03163314610ad95760405162461bcd60e51b81526004016108699061258d565b60138054600160a81b60ff600160a01b8084048216150260ff60a01b19841681178390049091161590910260ff60a81b1990911661ffff60a01b1990921691909117179055565b600080546001600160a01b03163314610b4b5760405162461bcd60e51b81526004016108699061258d565b504790565b6000546001600160a01b03163314610b7a5760405162461bcd60e51b81526004016108699061258d565b601180546001600160a01b0319166001600160a01b0383161790556109b161187d565b6001600160a01b0381166000908152601d6020526040812054819060ff161561091a5750600192915050565b6000546001600160a01b03163314610bf35760405162461bcd60e51b81526004016108699061258d565b600b55565b6000546001600160a01b03163314610c225760405162461bcd60e51b81526004016108699061258d565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152601e60205260409020805460ff19166001179055565b6000546001600160a01b03163314610c865760405162461bcd60e51b81526004016108699061258d565b6010805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6060600380546108869061266c565b60006109163384846113e9565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108699061258d565b6010805460ff60a81b198116600160a81b9182900460ff1615909102179055565b6000546001600160a01b03163314610d385760405162461bcd60e51b81526004016108699061258d565b4780831115610d9a5760405162461bcd60e51b815260206004820152602860248201527f43616e27742072656d6f7665206d6f726520455448207468616e20617661696c6044820152670c2c4d8ca408aa8960c31b6064820152608401610869565b6040516001600160a01b0383169084156108fc029085906000818181858888f19350505050158015610dd0573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610e005760405162461bcd60e51b81526004016108699061258d565b601354600160a81b900460ff1615610e5a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610869565b602280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600154610e93903090839061126a565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ecc57600080fd5b505afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061237a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4c57600080fd5b505afa158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f84919061237a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610fcc57600080fd5b505af1158015610fe0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611004919061237a565b601080546001600160a01b039283166001600160a01b03199091161790556022541663f305d719473061104c816001600160a01b03166000908152601f602052604090205490565b6000806110616000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110fd9190612495565b50506013805461ffff60a01b191661010160a01b1790555060105460225460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b15801561116657600080fd5b505af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190612439565b5050565b60006111e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118b4565b9392505050565b6000826111fa5750600061091a565b60006112068385612636565b9050826112138583612616565b146111e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610869565b6001600160a01b0383166112cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b03821661132d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b038381166000818152602080805260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0381166000908152601d602052604090205460ff166113c5576001600560008282546113bf91906125fe565b90915550505b6001600160a01b03166000908152601d60205260409020805460ff19166001179055565b6001600160a01b03831661144d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b0382166114af5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b600081116115115760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610869565b601354600160a81b900460ff168061153657506000546001600160a01b038481169116145b8061154e57506000546001600160a01b038381169116145b8061157157506001600160a01b0383166000908152601e602052604090205460ff165b8061159457506001600160a01b0382166000908152601e602052604090205460ff165b6115d55760405162461bcd60e51b81526020600482015260126024820152712a3930b234b7339034b9903637b1b5b2b21760711b6044820152606401610869565b60006115e184846118e2565b905060006115ef8585611944565b905060006115fd86866119a5565b90506000611616846116108760646111a2565b906111eb565b90506000611629846116108860646111a2565b9050600061163c846116108960646111a2565b905060006116548261164e8686611a06565b90611a06565b905060006116628983611a65565b306000908152601f602052604090205490915061167f9083611a06565b306000908152601f6020526040902055601054600160a81b900460ff16156116ac576116ac8a8c32611aa7565b6010546001600160a01b038c8116911614611708576001601960008282546116d491906125fe565b90915550506001600160a01b038b166000908152601d602052604090205460ff16156116ff57600080fd5b6117088b611cd9565b6001600160a01b038b166000908152601f602052604090205461172b908a611a65565b6001600160a01b03808d166000908152601f602052604080822093909355908c168152205461175a9082611a06565b6001600160a01b03808c166000818152601f602052604090819020939093559151908d16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117ae9085815260200190565b60405180910390a3601054600160a81b900460ff16156118365760215460405163155d0ed960e01b81526001600160a01b038d811660048301528c811660248301523260448301529091169063155d0ed990606401600060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050505b5050505050505050505050565b600081848411156118675760405162461bcd60e51b8152600401610869919061253a565b5060006118748486612655565b95945050505050565b601054600160a81b900460ff16156118b257601154602180546001600160a01b0319166001600160a01b039092169190911790555b565b600081836118d55760405162461bcd60e51b8152600401610869919061253a565b5060006118748486612616565b6001600160a01b0382166000908152601e6020526040812054819060ff168061192357506001600160a01b0383166000908152601e602052604090205460ff165b159050600081611931575060005b811561193c5750600b545b949350505050565b6001600160a01b0382166000908152601e6020526040812054819060ff168061198557506001600160a01b0383166000908152601e602052604090205460ff165b159050600081611993575060005b811561193c575050600c549392505050565b6001600160a01b0382166000908152601e6020526040812054819060ff16806119e657506001600160a01b0383166000908152601e602052604090205460ff165b1590506000816119f4575060005b811561193c575050600d549392505050565b600080611a1383856125fe565b9050838110156111e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610869565b60006111e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611843565b6010546001600160a01b0384811691161480611ad057506010546001600160a01b038381169116145b8015611ae55750601354600160a81b900460ff165b15611cd4576021546010546040516312bdf42360e01b81526001600160a01b0386811660048301529182166024820152838216604482015260009291909116906312bdf42390606401602060405180830381600087803b158015611b4857600080fd5b505af1158015611b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b809190612439565b6021546010546040516312bdf42360e01b81526001600160a01b038781166004830152918216602482015285821660448201529293506000929116906312bdf42390606401602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c179190612439565b90508115611c7557611c288561138c565b611c318361138c565b604080516001600160a01b038088168252851660208201527f9a7289cf5e3a6716dd5e9f62deae04d4bc9df473808bf34bcdbcf22459424392910160405180910390a15b8015611cd157611c848461138c565b611c8d8361138c565b604080516001600160a01b038087168252851660208201527f9a7289cf5e3a6716dd5e9f62deae04d4bc9df473808bf34bcdbcf22459424392910160405180910390a15b50505b505050565b306000908152601f602052604081205490506000611d0a600d5461164e600b54600c54611a0690919063ffffffff16565b90506000611d27600c5461161084866111a290919063ffffffff16565b90506000611d44600b5461161085876111a290919063ffffffff16565b90506000611d61600d5461161086886111a290919063ffffffff16565b6016805491925047916001918291600090611d7d9084906125fe565b9091555050600954600854611d9291906125fe565b42118015611da95750601054600160b01b900460ff165b8015611db757506007548210155b15611de2576001601a6000828254611dcf91906125fe565b90915550611dde905082611e89565b5060005b8015611e7f576001601b6000828254611dfb91906125fe565b90915550611e0a905088611f9c565b15611e7f57600160176000828254611e2291906125fe565b90915550506006548710611e7f57600160186000828254611e4391906125fe565b90915550611e539050308561201b565b600e54611e69906001600160a01b03168661201b565b600f54611e7f906001600160a01b03168461201b565b5050505050505050565b6010805460ff60a01b1916600160a01b17905542600855611ea9816121dc565b6013546001600160a01b039081166000908152601f602052604080822080549083905560125490931682529020548190611ee39082611a06565b6012546001600160a01b03166000908152601f6020526040902055600a54611f0b9082611a06565b600a556012546013546040518381526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36040518181527f4cd1cedac1faabaf2d2d626f6caa6a7df4cf69ec7ecc3bcae2f938bdedc860719060200160405180910390a150506010805460ff60a01b1916905550565b6000600160146000828254611fb191906125fe565b90915550506010546001600160a01b03838116911614158015611fed57506001600160a01b0382166000908152601e602052604090205460ff16155b80156120025750601354600160a01b900460ff165b6015805460ff1916911515918217905560ff1692915050565b6010805460ff60a01b1916600160a01b179055601c8054600191906000906120449084906125fe565b9091555050604080516002808252606082018352600092602083019080368337019050509050308160008151811061208c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156120e057600080fd5b505afa1580156120f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612118919061237a565b8160018151811061213957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260225461215f913091168461126a565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac947906121989085906000908690899042906004016125c2565b600060405180830381600087803b1580156121b257600080fd5b505af11580156121c6573d6000803e3d6000fd5b50506010805460ff60a01b191690555050505050565b6040805160028082526060820183526000926020830190803683375050602254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561224157600080fd5b505afa158015612255573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612279919061237a565b8160008151811061229a57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106122dc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260225460135460405163b6f9de9560e01b81529183169263b6f9de95928692612328926000928892909116904290600401612505565b6000604051808303818588803b15801561234157600080fd5b505af1158015612355573d6000803e3d6000fd5b50505050505050565b60006020828403121561236f578081fd5b81356111e4816126bd565b60006020828403121561238b578081fd5b81516111e4816126bd565b600080604083850312156123a8578081fd5b82356123b3816126bd565b915060208301356123c3816126bd565b809150509250929050565b6000806000606084860312156123e2578081fd5b83356123ed816126bd565b925060208401356123fd816126bd565b929592945050506040919091013590565b60008060408385031215612420578182fd5b823561242b816126bd565b946020939093013593505050565b60006020828403121561244a578081fd5b815180151581146111e4578182fd5b60006020828403121561246a578081fd5b5035919050565b60008060408385031215612483578182fd5b8235915060208301356123c3816126bd565b6000806000606084860312156124a9578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b838110156124fa5781516001600160a01b0316875295820195908201906001016124d5565b509495945050505050565b84815260806020820152600061251e60808301866124c2565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b818110156125665785810183015185820160400152820161254a565b818111156125775783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a0604082015260006125e160a08301866124c2565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612611576126116126a7565b500190565b60008261263157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612650576126506126a7565b500290565b600082821015612667576126676126a7565b500390565b600181811c9082168061268057607f821691505b602082108114156126a157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109b157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c9d4561cda58ab4307de6afacb64efcbd2cc627cd1a0387d7be5eab6d104b27264736f6c63430008040033

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

000000000000000000000000c6108b1edd933fb0df3c355a9a93260bd2ee799b0000000000000000000000006ba2fa0e90d6bc31e1e8c3d128681e65ad03ffbd

-----Decoded View---------------
Arg [0] : _feeAddress (address): 0xc6108B1EDd933FB0df3c355A9A93260Bd2EE799b
Arg [1] : _devAddress (address): 0x6bA2fa0e90d6bC31E1E8c3D128681E65ad03fFbd

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c6108b1edd933fb0df3c355a9a93260bd2ee799b
Arg [1] : 0000000000000000000000006ba2fa0e90d6bc31e1e8c3d128681e65ad03ffbd


Deployed Bytecode Sourcemap

3806:16969:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19480:119;;;;;;;;;;-1:-1:-1;19480:119:0;;;;;:::i;:::-;;:::i;:::-;;6982:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7911:165;;;;;;;;;;-1:-1:-1;7911:165:0;;;;;:::i;:::-;;:::i;:::-;;;5602:14:1;;5595:22;5577:41;;5565:2;5550:18;7911:165:0;5532:92:1;5368:33:0;;;;;;;;;;;;;;;;;;;11153:25:1;;;11141:2;11126:18;5368:33:0;11108:76:1;7339:101:0;;;;;;;;;;-1:-1:-1;7419:13:0;;7339:101;;18965:91;;;;;;;;;;-1:-1:-1;18965:91:0;;;;;:::i;:::-;;:::i;18853:99::-;;;;;;;;;;-1:-1:-1;18853:99:0;;;;;:::i;:::-;;:::i;18205:84::-;;;;;;;;;;-1:-1:-1;18205:84:0;;;;;:::i;:::-;;:::i;8084:322::-;;;;;;;;;;-1:-1:-1;8084:322:0;;;;;:::i;:::-;;:::i;19363:109::-;;;;;;;;;;-1:-1:-1;19363:109:0;;;;;:::i;:::-;;:::i;5280:38::-;;;;;;;;;;;;;;;;7168:83;;;;;;;;;;-1:-1:-1;7234:9:0;;7168:83;;7234:9;;;;11918:36:1;;11906:2;11891:18;7168:83:0;11873:87:1;18301:113:0;;;;;;;;;;-1:-1:-1;18301:113:0;;;;;:::i;:::-;;:::i;20627:145::-;;;;;;;;;;;;;:::i;4964:24::-;;;;;;;;;;-1:-1:-1;4964:24:0;;;;-1:-1:-1;;;;;4964:24:0;;;;;;-1:-1:-1;;;;;3804:32:1;;;3786:51;;3774:2;3759:18;4964:24:0;3741:102:1;5124:38:0;;;;;;;;;;-1:-1:-1;5124:38:0;;;;;;;;4392:30;;;;;;;;;;;;;;;;5408:42;;;;;;;;;;;;;;;;18426:121;;;;;;;;;;;;;:::i;17114:98::-;;;;;;;;;;-1:-1:-1;17189:15:0;;-1:-1:-1;;;17189:15:0;;;;17114:98;;19064:291;;;;;;;;;;-1:-1:-1;19064:291:0;;;;;:::i;:::-;;:::i;16871:235::-;;;;;;;;;;-1:-1:-1;16871:235:0;;;;;:::i;:::-;;:::i;7448:121::-;;;;;;;;;;-1:-1:-1;7448:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;7542:19:0;7515:7;7542:19;;;:9;:19;;;;;;;7448:121;4804:75;;;;;;;;;;-1:-1:-1;4804:75:0;;;;-1:-1:-1;;;;;4804:75:0;;;5243:30;;;;;;;;;;;;;;;;18740:102;;;;;;;;;;-1:-1:-1;18740:102:0;;;;;:::i;:::-;;:::i;18559:170::-;;;;;;;;;;-1:-1:-1;18559:170:0;;;;;:::i;:::-;;:::i;20387:228::-;;;;;;;;;;;;;:::i;4130:55::-;;;;;;;;;;;;;;;;2348:79;;;;;;;;;;-1:-1:-1;2386:7:0;2413:6;-1:-1:-1;;;;;2413:6:0;2348:79;;7073:87;;;;;;;;;;;;;:::i;5081:36::-;;;;;;;;;;;;;;;;7577:171;;;;;;;;;;-1:-1:-1;7577:171:0;;;;;:::i;:::-;;:::i;4209:55::-;;;;;;;;;;;;;;;;20152:219;;;;;;;;;;;;;:::i;4338:47::-;;;;;;;;;;;;;;;;4282:48;;;;;;;;;;;;;;;;17228:104;;;;;;;;;;-1:-1:-1;17306:18:0;;-1:-1:-1;;;17306:18:0;;;;17228:104;;19611:529;;;;;;;;;;-1:-1:-1;19611:529:0;;;;;:::i;:::-;;:::i;5325:36::-;;;;;;;;;;;;;;;;7756:147;;;;;;;;;;-1:-1:-1;7756:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;7866:19:0;;;7839:7;7866:19;;;:11;:19;;;;;;;:29;;;;;;;;;;;;;7756:147;4995:32;;;;;;;;;;-1:-1:-1;4995:32:0;;;;-1:-1:-1;;;4995:32:0;;;;;;5034:34;;;;;;;;;;-1:-1:-1;5034:34:0;;;;-1:-1:-1;;;5034:34:0;;;;;;5169:30;;;;;;;;;;;;;;;;17425:768;;;;;;;;;;;;;:::i;4886:71::-;;;;;;;;;;-1:-1:-1;4886:71:0;;;;-1:-1:-1;;;;;4886:71:0;;;5206:30;;;;;;;;;;;;;;;;16772:87;;;;;;;;;;-1:-1:-1;16842:9:0;;16772:87;;19480:119;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;;;;;;;;;19561:20:::1;:30:::0;19480:119::o;6982:83::-;7019:13;7052:5;7045:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:83;:::o;7911:165::-;7988:4;8005:41;175:10;8028:8;8038:7;8005:8;:41::i;:::-;-1:-1:-1;8064:4:0;7911:165;;;;;:::o;18965:91::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;19030:7:::1;:14:::0;18965:91::o;18853:99::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;18922:11:::1;:18:::0;18853:99::o;18205:84::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;18267:14:::1;18278:2;18267:10;:14::i;:::-;18205:84:::0;:::o;8084:322::-;8185:4;8202:39;8212:7;8221:10;8233:7;8202:9;:39::i;:::-;8252:124;8261:7;175:10;8284:91;8323:7;8284:91;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8284:20:0;;;;;;:11;:20;;;;;;;175:10;8284:34;;;;;;;;;;:38;:91::i;:::-;8252:8;:124::i;:::-;-1:-1:-1;8394:4:0;8084:322;;;;;:::o;19363:109::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;19437:17:::1;:27:::0;19363:109::o;18301:113::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18364:9:0;::::1;18376:5;18364:9:::0;;;:5:::1;:9;::::0;;;;:17;;-1:-1:-1;;18364:17:0::1;::::0;;18392:9:::1;:14:::0;;18364:17;;18376:5;18392:14:::1;::::0;18364:17;;18392:14:::1;:::i;:::-;::::0;;;-1:-1:-1;;;18301:113:0:o;20627:145::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;20709:12:::1;::::0;;-1:-1:-1;;;20709:12:0::1;-1:-1:-1::0;;;20709:12:0;;::::1;::::0;::::1;20708:13;20693:28;-1:-1:-1::0;;;;20693:28:0;::::1;::::0;::::1;20750:14:::0;;::::1;::::0;;::::1;20749:15;20732:32:::0;;::::1;-1:-1:-1::0;;;;20732:32:0;;;-1:-1:-1;;;;20732:32:0;;;;;;;::::1;::::0;;20627:145::o;18426:121::-;18491:7;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;-1:-1:-1;18518:21:0::1;18426:121:::0;:::o;19064:291::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;19279:15:::1;:26:::0;;-1:-1:-1;;;;;;19279:26:0::1;-1:-1:-1::0;;;;;19279:26:0;::::1;;::::0;;19333:14:::1;:12;:14::i;16871:235::-:0;-1:-1:-1;;;;;17027:15:0;;16935:4;17027:15;;;:5;:15;;;;;;16935:4;;17027:15;;17024:48;;;-1:-1:-1;17068:4:0;17090:8;16871:235;-1:-1:-1;;16871:235:0:o;18740:102::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;18812:11:::1;:18:::0;18740:102::o;18559:170::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;18643:11:::1;:25:::0;;-1:-1:-1;;;;;18643:25:0;;::::1;-1:-1:-1::0;;;;;;18643:25:0;;::::1;::::0;::::1;::::0;;:11:::1;18683:31:::0;;;:18:::1;:31;::::0;;;;:38;;-1:-1:-1;;18683:38:0::1;18643:25:::0;18683:38:::1;::::0;;18559:170::o;20387:228::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;20589:18:::1;::::0;;-1:-1:-1;;;;20567:40:0;::::1;-1:-1:-1::0;;;20589:18:0;;;::::1;;;20588:19;20567:40:::0;;::::1;;::::0;;20387:228::o;7073:87::-;7112:13;7145:7;7138:14;;;;;:::i;7577:171::-;7657:4;7674:44;175:10;7698;7710:7;7674:9;:44::i;20152:219::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;20348:15:::1;::::0;;-1:-1:-1;;;;20329:34:0;::::1;-1:-1:-1::0;;;20348:15:0;;;::::1;;;20347:16;20329:34:::0;;::::1;;::::0;;20152:219::o;19611:529::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;19970:21:::1;20011:27:::0;;::::1;;20002:81;;;::::0;-1:-1:-1;;;20002:81:0;;8117:2:1;20002:81:0::1;::::0;::::1;8099:21:1::0;8156:2;8136:18;;;8129:30;8195:34;8175:18;;;8168:62;-1:-1:-1;;;8246:18:1;;;8239:38;8294:19;;20002:81:0::1;8089:230:1::0;20002:81:0::1;20104:28;::::0;-1:-1:-1;;;;;20104:19:0;::::1;::::0;:28;::::1;;;::::0;20124:7;;20104:28:::1;::::0;;;20124:7;20104:19;:28;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2545:1;19611:529:::0;;:::o;17425:768::-;2475:6;;-1:-1:-1;;;;;2475:6:0;175:10;2475:22;2467:67;;;;-1:-1:-1;;;2467:67:0;;;;;;;:::i;:::-;17490:14:::1;::::0;-1:-1:-1;;;17490:14:0;::::1;;;17489:15;17481:50;;;::::0;-1:-1:-1;;;17481:50:0;;10857:2:1;17481:50:0::1;::::0;::::1;10839:21:1::0;10896:2;10876:18;;;10869:30;10935:25;10915:18;;;10908:53;10978:18;;17481:50:0::1;10829:173:1::0;17481:50:0::1;17653:16;:35:::0;;-1:-1:-1;;;;;;17653:35:0::1;17599:42;17653:35:::0;;::::1;::::0;;;;17750:13;17699:65:::1;::::0;17716:4:::1;::::0;17599:42;;17699:8:::1;:65::i;:::-;17810:16;-1:-1:-1::0;;;;;17810:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17792:56:0::1;;17857:4;17864:16;-1:-1:-1::0;;;;;17864:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17792:96;::::0;-1:-1:-1;;;;;;17792:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4078:15:1;;;17792:96:0::1;::::0;::::1;4060:34:1::0;4130:15;;4110:18;;;4103:43;3995:18;;17792:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17775:14;:113:::0;;-1:-1:-1;;;;;17775:113:0;;::::1;-1:-1:-1::0;;;;;;17775:113:0;;::::1;;::::0;;17899:16:::1;::::0;::::1;:32;17939:21;17970:4;17976:24;17970:4:::0;-1:-1:-1;;;;;7542:19:0;7515:7;7542:19;;;:9;:19;;;;;;;7448:121;17976:24:::1;18001:1;18003::::0;18005:7:::1;2386::::0;2413:6;-1:-1:-1;;;;;2413:6:0;;2348:79;18005:7:::1;17899:130;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17899:130:0;;;-1:-1:-1;;;;;5184:15:1;;;17899:130:0::1;::::0;::::1;5166:34:1::0;5216:18;;;5209:34;;;;5259:18;;;5252:34;;;;5302:18;;;5295:34;5366:15;;;5345:19;;;5338:44;18013:15:0::1;5398:19:1::0;;;5391:35;5100:19;;17899:130:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18050:12:0::1;:19:::0;;-1:-1:-1;;;;18080:21:0;-1:-1:-1;;;18080:21:0;;;-1:-1:-1;18119:14:0::1;::::0;18151:16:::1;::::0;18112:73:::1;::::0;-1:-1:-1;;;18112:73:0;;-1:-1:-1;;;;;18151:16:0;;::::1;18112:73;::::0;::::1;4720:51:1::0;-1:-1:-1;;4787:18:1;;;4780:34;18119:14:0;::::1;::::0;18112:30:::1;::::0;4693:18:1;;18112:73:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2545:1;17425:768::o:0;1690:132::-;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1768:46;1690:132;-1:-1:-1;;;1690:132:0:o;1436:246::-;1494:7;1518:6;1514:47;;-1:-1:-1;1548:1:0;1541:8;;1514:47;1571:9;1583:5;1587:1;1583;:5;:::i;:::-;1571:17;-1:-1:-1;1616:1:0;1607:5;1611:1;1571:17;1607:5;:::i;:::-;:10;1599:56;;;;-1:-1:-1;;;1599:56:0;;8526:2:1;1599:56:0;;;8508:21:1;8565:2;8545:18;;;8538:30;8604:34;8584:18;;;8577:62;-1:-1:-1;;;8655:18:1;;;8648:31;8696:19;;1599:56:0;8498:223:1;9053:346:0;-1:-1:-1;;;;;9149:20:0;;9141:69;;;;-1:-1:-1;;;9141:69:0;;10452:2:1;9141:69:0;;;10434:21:1;10491:2;10471:18;;;10464:30;10530:34;10510:18;;;10503:62;-1:-1:-1;;;10581:18:1;;;10574:34;10625:19;;9141:69:0;10424:226:1;9141:69:0;-1:-1:-1;;;;;9229:22:0;;9221:69;;;;-1:-1:-1;;;9221:69:0;;7358:2:1;9221:69:0;;;7340:21:1;7397:2;7377:18;;;7370:30;7436:34;7416:18;;;7409:62;-1:-1:-1;;;7487:18:1;;;7480:32;7529:19;;9221:69:0;7330:224:1;9221:69:0;-1:-1:-1;;;;;9301:19:0;;;;;;;:11;:19;;;;;;;:29;;;;;;;;;;;;;:39;;;9356:35;;11153:25:1;;;9356:35:0;;11126:18:1;9356:35:0;;;;;;;9053:346;;;:::o;12055:146::-;-1:-1:-1;;;;;12116:15:0;;;;;;:5;:15;;;;;;;;12112:48;;12159:1;12146:9;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;12112:48:0;-1:-1:-1;;;;;12171:15:0;;;;;:5;:15;;;;;:22;;-1:-1:-1;;12171:22:0;12189:4;12171:22;;;12055:146::o;9407:1851::-;-1:-1:-1;;;;;9507:21:0;;9499:71;;;;-1:-1:-1;;;9499:71:0;;10046:2:1;9499:71:0;;;10028:21:1;10085:2;10065:18;;;10058:30;10124:34;10104:18;;;10097:62;-1:-1:-1;;;10175:18:1;;;10168:35;10220:19;;9499:71:0;10018:227:1;9499:71:0;-1:-1:-1;;;;;9589:24:0;;9581:72;;;;-1:-1:-1;;;9581:72:0;;6954:2:1;9581:72:0;;;6936:21:1;6993:2;6973:18;;;6966:30;7032:34;7012:18;;;7005:62;-1:-1:-1;;;7083:18:1;;;7076:33;7126:19;;9581:72:0;6926:225:1;9581:72:0;9682:1;9672:7;:11;9664:65;;;;-1:-1:-1;;;9664:65:0;;9289:2:1;9664:65:0;;;9271:21:1;9328:2;9308:18;;;9301:30;9367:34;9347:18;;;9340:62;-1:-1:-1;;;9418:18:1;;;9411:39;9467:19;;9664:65:0;9261:231:1;9664:65:0;9748:14;;-1:-1:-1;;;9748:14:0;;;;;:36;;-1:-1:-1;2386:7:0;2413:6;-1:-1:-1;;;;;9766:18:0;;;2413:6;;9766:18;9748:36;:61;;;-1:-1:-1;2386:7:0;2413:6;-1:-1:-1;;;;;9788:21:0;;;2413:6;;9788:21;9748:61;:109;;;-1:-1:-1;;;;;;9830:27:0;;;;;;:18;:27;;;;;;;;9748:109;:143;;;-1:-1:-1;;;;;;9861:30:0;;;;;;:18;:30;;;;;;;;9748:143;9740:174;;;;-1:-1:-1;;;9740:174:0;;9699:2:1;9740:174:0;;;9681:21:1;9738:2;9718:18;;;9711:30;-1:-1:-1;;;9757:18:1;;;9750:48;9815:18;;9740:174:0;9671:168:1;9740:174:0;9961:14;9978:35;9993:7;10002:10;9978:14;:35::i;:::-;9961:52;;10041:13;10057:35;10072:7;10081:10;10057:14;:35::i;:::-;10041:51;;10118:13;10134:31;10145:7;10154:10;10134;:31::i;:::-;10118:47;-1:-1:-1;10189:20:0;10212:28;10233:6;10212:16;:7;10224:3;10212:11;:16::i;:::-;:20;;:28::i;:::-;10189:51;-1:-1:-1;10251:19:0;10273:27;10294:5;10273:16;:7;10285:3;10273:11;:16::i;:27::-;10251:49;-1:-1:-1;10311:19:0;10333:27;10354:5;10333:16;:7;10345:3;10333:11;:16::i;:27::-;10311:49;-1:-1:-1;10371:17:0;10391:46;10311:49;10391:29;:12;10408:11;10391:16;:29::i;:::-;:33;;:46::i;:::-;10371:66;-1:-1:-1;10450:18:0;10471:22;:7;10371:66;10471:11;:22::i;:::-;10549:4;10531:24;;;;:9;:24;;;;;;10450:43;;-1:-1:-1;10531:39:0;;10560:9;10531:28;:39::i;:::-;10522:4;10504:24;;;;:9;:24;;;;;:66;10596:15;;-1:-1:-1;;;10596:15:0;;;;10592:75;;;10626:41;10636:10;10648:7;10657:9;10626;:41::i;:::-;9023:14;;-1:-1:-1;;;;;9012:25:0;;;9023:14;;9012:25;10716:198;;10781:1;10758:19;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;10806:14:0;;;;;;:5;:14;;;;;;;;10805:15;10797:24;;;;;;10889:13;10894:7;10889:4;:13::i;:::-;-1:-1:-1;;;;;10947:18:0;;;;;;:9;:18;;;;;;:31;;10970:7;10947:22;:31::i;:::-;-1:-1:-1;;;;;10926:18:0;;;;;;;:9;:18;;;;;;:52;;;;11013:21;;;;;;;:37;;11039:10;11013:25;:37::i;:::-;-1:-1:-1;;;;;10989:21:0;;;;;;;:9;:21;;;;;;;:61;;;;11078:41;;;;;;;;;;11108:10;11153:25:1;;11141:2;11126:18;;11108:76;11078:41:0;;;;;;;;11136:15;;-1:-1:-1;;;11136:15:0;;;;11132:87;;;11166:7;;:53;;-1:-1:-1;;;11166:53:0;;-1:-1:-1;;;;;4415:15:1;;;11166:53:0;;;4397:34:1;4467:15;;;4447:18;;;4440:43;11209:9:0;4499:18:1;;;4492:43;11166:7:0;;;;:21;;4332:18:1;;11166:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11132:87;9407:1851;;;;;;;;;;;:::o;1238:190::-;1324:7;1360:12;1352:6;;;;1344:29;;;;-1:-1:-1;;;1344:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1384:9:0;1396:5;1400:1;1396;:5;:::i;:::-;1384:17;1238:190;-1:-1:-1;;;;;1238:190:0:o;15722:180::-;15769:15;;-1:-1:-1;;;15769:15:0;;;;15765:130;;;15834:15;;15865:7;:18;;-1:-1:-1;;;;;;15865:18:0;-1:-1:-1;;;;;15834:15:0;;;15865:18;;;;;;15765:130;15722:180::o;1830:189::-;1916:7;1951:12;1944:5;1936:28;;;;-1:-1:-1;;;1936:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1975:9:0;1987:5;1991:1;1987;:5;:::i;12207:373::-;-1:-1:-1;;;;;12326:27:0;;12289:7;12326:27;;;:18;:27;;;;;;12289:7;;12326:27;;;:61;;-1:-1:-1;;;;;;12357:30:0;;;;;;:18;:30;;;;;;;;12326:61;12324:64;12308:80;;12399:19;12443:8;12439:42;;-1:-1:-1;12480:1:0;12439:42;12495:8;12492:51;;;-1:-1:-1;12532:11:0;;12492:51;12561:11;12207:373;-1:-1:-1;;;;12207:373:0:o;12585:::-;-1:-1:-1;;;;;12704:27:0;;12667:7;12704:27;;;:18;:27;;;;;;12667:7;;12704:27;;;:61;;-1:-1:-1;;;;;;12735:30:0;;;;;;:18;:30;;;;;;;;12704:61;12702:64;12686:80;;12777:19;12821:8;12817:42;;-1:-1:-1;12858:1:0;12817:42;12873:8;12870:51;;;-1:-1:-1;;12910:11:0;;;12585:373;-1:-1:-1;;;12585:373:0:o;12967:349::-;-1:-1:-1;;;;;13082:27:0;;13045:7;13082:27;;;:18;:27;;;;;;13045:7;;13082:27;;;:61;;-1:-1:-1;;;;;;13113:30:0;;;;;;:18;:30;;;;;;;;13082:61;13080:64;13064:80;;13155:15;13195:8;13191:38;;-1:-1:-1;13228:1:0;13191:38;13243:8;13240:43;;;-1:-1:-1;;13276:7:0;;;12967:349;-1:-1:-1;;;12967:349:0:o;907:179::-;965:7;;997:5;1001:1;997;:5;:::i;:::-;985:17;;1026:1;1021;:6;;1013:46;;;;-1:-1:-1;;;1013:46:0;;7761:2:1;1013:46:0;;;7743:21:1;7800:2;7780:18;;;7773:30;7839:29;7819:18;;;7812:57;7886:18;;1013:46:0;7733:177:1;1094:136:0;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;11264:779::-;11374:14;;-1:-1:-1;;;;;11360:28:0;;;11374:14;;11360:28;;:57;;-1:-1:-1;11403:14:0;;-1:-1:-1;;;;;11392:25:0;;;11403:14;;11392:25;11360:57;11359:77;;;;-1:-1:-1;11422:14:0;;-1:-1:-1;;;11422:14:0;;;;11359:77;11356:680;;;11476:7;;11508:14;;11476:56;;-1:-1:-1;;;11476:56:0;;-1:-1:-1;;;;;4415:15:1;;;11476:56:0;;;4397:34:1;11508:14:0;;;4447:18:1;;;4440:43;4519:15;;;4499:18;;;4492:43;11452:21:0;;11476:7;;;;;:19;;4332:18:1;;11476:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11590:7;;11619:14;;11590:53;;-1:-1:-1;;;11590:53:0;;-1:-1:-1;;;;;4415:15:1;;;11590:53:0;;;4397:34:1;11619:14:0;;;4447:18:1;;;4440:43;4519:15;;;4499:18;;;4492:43;11452:80:0;;-1:-1:-1;11569:18:0;;11590:7;;;:19;;4332:18:1;;11590:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11569:74;;11683:16;11680:170;;;11719:22;11730:10;11719;:22::i;:::-;11760:19;11771:7;11760:10;:19::i;:::-;11803:31;;;-1:-1:-1;;;;;4078:15:1;;;4060:34;;4130:15;;4125:2;4110:18;;4103:43;11803:31:0;;3995:18:1;11803:31:0;;;;;;;11680:170;11867:13;11864:161;;;11900:19;11911:7;11900:10;:19::i;:::-;11938;11949:7;11938:10;:19::i;:::-;11981:28;;;-1:-1:-1;;;;;4078:15:1;;;4060:34;;4130:15;;4125:2;4110:18;;4103:43;11981:28:0;;3995:18:1;11981:28:0;;;;;;;11864:161;11356:680;;;11264:779;;;:::o;13324:1328::-;13416:4;13374:21;7542:19;;;:9;:19;;;;;;13374:48;;13433:16;13452:41;13485:7;;13452:28;13468:11;;13452;;:15;;:28;;;;:::i;:41::-;13433:60;;13514:16;13533:44;13565:11;;13533:27;13551:8;13533:13;:17;;:27;;;;:::i;:44::-;13514:63;;13588:17;13608:44;13640:11;;13608:27;13626:8;13608:13;:17;;:27;;;;:::i;:44::-;13588:64;;13663:16;13682:40;13714:7;;13682:27;13700:8;13682:13;:17;;:27;;;;:::i;:40::-;13849:11;:16;;13663:59;;-1:-1:-1;13770:21:0;;13824:4;;;;13743:24;;13849:16;;13824:4;;13849:16;:::i;:::-;;;;-1:-1:-1;;13918:19:0;;13900:15;;:37;;13918:19;13900:37;:::i;:::-;13882:15;:55;:91;;;;-1:-1:-1;13955:18:0;;-1:-1:-1;;;13955:18:0;;;;13882:91;:145;;;;;14010:17;;13990:16;:37;;13882:145;13878:288;;;14069:1;14048:17;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;14089:34:0;;-1:-1:-1;14106:16:0;14089;:34::i;:::-;-1:-1:-1;14149:5:0;13878:288;14190:4;14186:459;;;14229:1;14211:14;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;14249:20:0;;-1:-1:-1;14261:7:0;14249:11;:20::i;:::-;14245:389;;;14305:1;14290:11;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;14346:20:0;;14329:37;;14325:294;;14406:1;14391:11;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;14430:43:0;;-1:-1:-1;14456:4:0;14463:9;14430:17;:43::i;:::-;14514:11;;14496:40;;-1:-1:-1;;;;;14514:11:0;14527:8;14496:17;:40::i;:::-;14577:11;;14559:40;;-1:-1:-1;;;;;14577:11:0;14590:8;14559:17;:40::i;:::-;13324:1328;;;;;;;;:::o;15910:769::-;5918:7;:14;;-1:-1:-1;;;;5918:14:0;-1:-1:-1;;;5918:14:0;;;16011:15:::1;15993;:33:::0;16174:35:::1;16192:16:::0;16174:17:::1;:35::i;:::-;16311:9;::::0;-1:-1:-1;;;;;16311:9:0;;::::1;16269:21;7542:19:::0;;;:9;:19;;;;;;;;16380:33;;;;16459:11:::1;::::0;;;::::1;16449:22:::0;;;;;7542:19;;16449:40:::1;::::0;7542:19;16449:26:::1;:40::i;:::-;16434:11;::::0;-1:-1:-1;;;;;16434:11:0::1;16424:22;::::0;;;:9:::1;:22;::::0;;;;:65;16530:15:::1;::::0;:33:::1;::::0;16550:12;16530:19:::1;:33::i;:::-;16512:15;:51:::0;16610:11:::1;::::0;16598:9:::1;::::0;16581:55:::1;::::0;11153:25:1;;;-1:-1:-1;;;;;16610:11:0;;::::1;::::0;16598:9;;::::1;::::0;16581:55:::1;::::0;11141:2:1;11126:18;16581:55:0::1;;;;;;;16652:19;::::0;11153:25:1;;;16652:19:0::1;::::0;11141:2:1;11126:18;16652:19:0::1;;;;;;;-1:-1:-1::0;;5955:7:0;:15;;-1:-1:-1;;;;5955:15:0;;;-1:-1:-1;15910:769:0:o;8491:239::-;8545:4;8583:1;8562:17;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;9023:14:0;;-1:-1:-1;;;;;9012:25:0;;;9023:14;;9012:25;;8616:54;;;;-1:-1:-1;;;;;;8643:27:0;;;;;;:18;:27;;;;;;;;8642:28;8616:54;:70;;;;-1:-1:-1;8674:12:0;;-1:-1:-1;;;8674:12:0;;;;8616:70;8595:18;:91;;-1:-1:-1;;8595:91:0;;;;;;;;;;8704:18;;;-1:-1:-1;;8491:239:0:o;14660:535::-;5918:7;:14;;-1:-1:-1;;;;5918:14:0;-1:-1:-1;;;5918:14:0;;;14755:23:::1;:28:::0;;5928:4;;14755:23;5918:14;;14755:28:::1;::::0;5928:4;;14755:28:::1;:::i;:::-;::::0;;;-1:-1:-1;;14819:16:0::1;::::0;;14833:1:::1;14819:16:::0;;;;;::::1;::::0;;14794:22:::1;::::0;14819:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14819:16:0::1;14794:41;;14865:4;14846:5;14852:1;14846:8;;;;;;-1:-1:-1::0;;;14846:8:0::1;;;;;;;;;-1:-1:-1::0;;;;;14846:24:0;;::::1;:8;::::0;;::::1;::::0;;;;;;:24;;;;14892:16:::1;::::0;:23:::1;::::0;;-1:-1:-1;;;14892:23:0;;;;:16;;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;14846:8;;14892:23;;;;;:16;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14881:5;14887:1;14881:8;;;;;;-1:-1:-1::0;;;14881:8:0::1;;;;;;;;;-1:-1:-1::0;;;;;14881:34:0;;::::1;:8;::::0;;::::1;::::0;;;;;:34;14958:16:::1;::::0;14926:59:::1;::::0;14943:4:::1;::::0;14958:16:::1;14977:7:::0;14926:8:::1;:59::i;:::-;14996:16;::::0;:191:::1;::::0;-1:-1:-1;;;14996:191:0;;-1:-1:-1;;;;;14996:16:0;;::::1;::::0;:67:::1;::::0;:191:::1;::::0;15078:7;;14996:16:::1;::::0;15116:5;;15136:10;;15161:15:::1;::::0;14996:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5955:7:0;:15;;-1:-1:-1;;;;5955:15:0;;;-1:-1:-1;;;;;14660:535:0:o;15207:503::-;15298:16;;;15312:1;15298:16;;;;;;;;15273:22;;15298:16;;;;;;;;-1:-1:-1;;15336:16:0;;:23;;;-1:-1:-1;;;15336:23:0;;;;15273:41;;-1:-1:-1;;;;;;15336:16:0;;;;:21;;-1:-1:-1;15336:23:0;;;;;;;;;;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15325:5;15331:1;15325:8;;;;;;-1:-1:-1;;;15325:8:0;;;;;;;;;;;;;;:34;-1:-1:-1;;;;;15325:34:0;;;-1:-1:-1;;;;;15325:34:0;;;;;15389:4;15370:5;15376:1;15370:8;;;;;;-1:-1:-1;;;15370:8:0;;;;;;;;;-1:-1:-1;;;;;15370:24:0;;;:8;;;;;;;;;:24;15486:16;;15643:9;;15486:216;;-1:-1:-1;;;15486:216:0;;:16;;;;:67;;15561:10;;15486:216;;:16;;15611:5;;15643:9;;;;15672:15;;15486:216;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15207:503;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;812:398::-;880:6;888;941:2;929:9;920:7;916:23;912:32;909:2;;;962:6;954;947:22;909:2;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;899:311;;;;;:::o;1215:466::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:2;;;1382:6;1374;1367:22;1329:2;1426:9;1413:23;1445:31;1470:5;1445:31;:::i;:::-;1495:5;-1:-1:-1;1552:2:1;1537:18;;1524:32;1565:33;1524:32;1565:33;:::i;:::-;1319:362;;1617:7;;-1:-1:-1;;;1671:2:1;1656:18;;;;1643:32;;1319:362::o;1686:325::-;1754:6;1762;1815:2;1803:9;1794:7;1790:23;1786:32;1783:2;;;1836:6;1828;1821:22;1783:2;1880:9;1867:23;1899:31;1924:5;1899:31;:::i;:::-;1949:5;2001:2;1986:18;;;;1973:32;;-1:-1:-1;;;1773:238:1:o;2016:297::-;2083:6;2136:2;2124:9;2115:7;2111:23;2107:32;2104:2;;;2157:6;2149;2142:22;2104:2;2194:9;2188:16;2247:5;2240:13;2233:21;2226:5;2223:32;2213:2;;2274:6;2266;2259:22;2318:190;2377:6;2430:2;2418:9;2409:7;2405:23;2401:32;2398:2;;;2451:6;2443;2436:22;2398:2;-1:-1:-1;2479:23:1;;2388:120;-1:-1:-1;2388:120:1:o;2513:333::-;2589:6;2597;2650:2;2638:9;2629:7;2625:23;2621:32;2618:2;;;2671:6;2663;2656:22;2618:2;2712:9;2699:23;2689:33;;2772:2;2761:9;2757:18;2744:32;2785:31;2810:5;2785:31;:::i;2851:316::-;2939:6;2947;2955;3008:2;2996:9;2987:7;2983:23;2979:32;2976:2;;;3029:6;3021;3014:22;2976:2;3063:9;3057:16;3047:26;;3113:2;3102:9;3098:18;3092:25;3082:35;;3157:2;3146:9;3142:18;3136:25;3126:35;;2966:201;;;;;:::o;3172:463::-;3225:3;3263:5;3257:12;3290:6;3285:3;3278:19;3316:4;3345:2;3340:3;3336:12;3329:19;;3382:2;3375:5;3371:14;3403:3;3415:195;3429:6;3426:1;3423:13;3415:195;;;3494:13;;-1:-1:-1;;;;;3490:39:1;3478:52;;3550:12;;;;3585:15;;;;3526:1;3444:9;3415:195;;;-1:-1:-1;3626:3:1;;3233:402;-1:-1:-1;;;;;3233:402:1:o;5629:510::-;5900:6;5889:9;5882:25;5943:3;5938:2;5927:9;5923:18;5916:31;5863:4;5964:57;6016:3;6005:9;6001:19;5993:6;5964:57;:::i;:::-;-1:-1:-1;;;;;6057:32:1;;;;6052:2;6037:18;;6030:60;-1:-1:-1;6121:2:1;6106:18;6099:34;5956:65;5872:267;-1:-1:-1;;5872:267:1:o;6144:603::-;6256:4;6285:2;6314;6303:9;6296:21;6346:6;6340:13;6389:6;6384:2;6373:9;6369:18;6362:34;6414:4;6427:140;6441:6;6438:1;6435:13;6427:140;;;6536:14;;;6532:23;;6526:30;6502:17;;;6521:2;6498:26;6491:66;6456:10;;6427:140;;;6585:6;6582:1;6579:13;6576:2;;;6655:4;6650:2;6641:6;6630:9;6626:22;6622:31;6615:45;6576:2;-1:-1:-1;6731:2:1;6710:15;-1:-1:-1;;6706:29:1;6691:45;;;;6738:2;6687:54;;6265:482;-1:-1:-1;;;6265:482:1:o;8726:356::-;8928:2;8910:21;;;8947:18;;;8940:30;9006:34;9001:2;8986:18;;8979:62;9073:2;9058:18;;8900:182::o;11189:582::-;11488:6;11477:9;11470:25;11531:6;11526:2;11515:9;11511:18;11504:34;11574:3;11569:2;11558:9;11554:18;11547:31;11451:4;11595:57;11647:3;11636:9;11632:19;11624:6;11595:57;:::i;:::-;-1:-1:-1;;;;;11688:32:1;;;;11683:2;11668:18;;11661:60;-1:-1:-1;11752:3:1;11737:19;11730:35;11587:65;11460:311;-1:-1:-1;;;11460:311:1:o;11965:128::-;12005:3;12036:1;12032:6;12029:1;12026:13;12023:2;;;12042:18;;:::i;:::-;-1:-1:-1;12078:9:1;;12013:80::o;12098:217::-;12138:1;12164;12154:2;;-1:-1:-1;;;12189:31:1;;12243:4;12240:1;12233:15;12271:4;12196:1;12261:15;12154:2;-1:-1:-1;12300:9:1;;12144:171::o;12320:168::-;12360:7;12426:1;12422;12418:6;12414:14;12411:1;12408:21;12403:1;12396:9;12389:17;12385:45;12382:2;;;12433:18;;:::i;:::-;-1:-1:-1;12473:9:1;;12372:116::o;12493:125::-;12533:4;12561:1;12558;12555:8;12552:2;;;12566:18;;:::i;:::-;-1:-1:-1;12603:9:1;;12542:76::o;12623:380::-;12702:1;12698:12;;;;12745;;;12766:2;;12820:4;12812:6;12808:17;12798:27;;12766:2;12873;12865:6;12862:14;12842:18;12839:38;12836:2;;;12919:10;12914:3;12910:20;12907:1;12900:31;12954:4;12951:1;12944:15;12982:4;12979:1;12972:15;12836:2;;12678:325;;;:::o;13008:127::-;13069:10;13064:3;13060:20;13057:1;13050:31;13100:4;13097:1;13090:15;13124:4;13121:1;13114:15;13140:131;-1:-1:-1;;;;;13215:31:1;;13205:42;;13195:2;;13261:1;13258;13251:12

Swarm Source

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