ETH Price: $3,224.48 (-3.62%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve184313792023-10-26 2:21:35441 days ago1698286895IN
0x9Fc2dE87...8bE198554
0 ETH0.0009806820.84337978
Approve184243492023-10-25 2:40:47442 days ago1698201647IN
0x9Fc2dE87...8bE198554
0 ETH0.0007124815.1239207
Approve184240232023-10-25 1:35:11442 days ago1698197711IN
0x9Fc2dE87...8bE198554
0 ETH0.0006844514.54734022
Renounce Ownersh...184001302023-10-21 17:19:35446 days ago1697908775IN
0x9Fc2dE87...8bE198554
0 ETH0.0002721911.63234616
Approve182603652023-10-02 4:09:35465 days ago1696219775IN
0x9Fc2dE87...8bE198554
0 ETH0.000310476.63091674
Approve182598582023-10-02 2:27:35465 days ago1696213655IN
0x9Fc2dE87...8bE198554
0 ETH0.00034257.3112261
Approve182594312023-10-02 1:01:59466 days ago1696208519IN
0x9Fc2dE87...8bE198554
0 ETH0.000413468.77878762
Remove Limits182594202023-10-02 0:59:47466 days ago1696208387IN
0x9Fc2dE87...8bE198554
0 ETH0.000219296.30224852
Set Max Wallet A...182594152023-10-02 0:58:47466 days ago1696208327IN
0x9Fc2dE87...8bE198554
0 ETH0.000237076.64986977
Approve182594142023-10-02 0:58:35466 days ago1696208315IN
0x9Fc2dE87...8bE198554
0 ETH0.000448529.52085918
Approve182594072023-10-02 0:57:11466 days ago1696208231IN
0x9Fc2dE87...8bE198554
0 ETH0.0006124313
Approve182594022023-10-02 0:56:11466 days ago1696208171IN
0x9Fc2dE87...8bE198554
0 ETH0.0006124313
Approve182594012023-10-02 0:55:59466 days ago1696208159IN
0x9Fc2dE87...8bE198554
0 ETH0.000433589.20376079
Approve182594002023-10-02 0:55:47466 days ago1696208147IN
0x9Fc2dE87...8bE198554
0 ETH0.000438669.31145196
Approve182594002023-10-02 0:55:47466 days ago1696208147IN
0x9Fc2dE87...8bE198554
0 ETH0.000438669.31145196
Approve182594002023-10-02 0:55:47466 days ago1696208147IN
0x9Fc2dE87...8bE198554
0 ETH0.000438669.31145196
Approve182593962023-10-02 0:54:47466 days ago1696208087IN
0x9Fc2dE87...8bE198554
0 ETH0.000441489.37143967
Approve182593952023-10-02 0:54:35466 days ago1696208075IN
0x9Fc2dE87...8bE198554
0 ETH0.000447469.49836918
Set Fees182593872023-10-02 0:52:59466 days ago1696207979IN
0x9Fc2dE87...8bE198554
0 ETH0.00020636.02070994
Approve182593862023-10-02 0:52:47466 days ago1696207967IN
0x9Fc2dE87...8bE198554
0 ETH0.000352677.48819859
Approve182593862023-10-02 0:52:47466 days ago1696207967IN
0x9Fc2dE87...8bE198554
0 ETH0.0006595414
Approve182593862023-10-02 0:52:47466 days ago1696207967IN
0x9Fc2dE87...8bE198554
0 ETH0.0006595414
Approve182593832023-10-02 0:52:11466 days ago1696207931IN
0x9Fc2dE87...8bE198554
0 ETH0.000455379.66629405
Set Max Wallet A...182593822023-10-02 0:51:59466 days ago1696207919IN
0x9Fc2dE87...8bE198554
0 ETH0.000215056.02820228
Approve182593812023-10-02 0:51:47466 days ago1696207907IN
0x9Fc2dE87...8bE198554
0 ETH0.0006595414
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
182593542023-10-02 0:46:23466 days ago1696207583
0x9Fc2dE87...8bE198554
0.1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20_BuySellTax

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ERC20_BuySellTax.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address _owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}
contract Ownable is Context {
    address public _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }

    mapping(address => bool) internal authorizations;

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}
interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

contract ERC20_BuySellTax is Ownable, IERC20 {
    IUniswapV2Router02 public router;
    IUniswapV2Pair private pairContract;

    address public pair;
    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    address private outputAddress;

    bool liquidityAdded;
    bool inSwap;

    string public _name;
    string public _symbol;

    uint256 private constant DENOMINATOR = 10000;
    uint256 public constant TOTAL_SUPPLY = 10_000_000 * 1e18;
    uint256 public maxTxAmount = 10_000 * 1e18;
    uint256 public maxWalletTokens = 10_000 * 1e18;
    uint256 public sellTax = 2000;
    uint256 public buyTax = 2000;
    uint256 public swapThreshold = 0;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isExemptFromFees;
    mapping(address => bool) isExemptFromMaxTx;

    event EditTax(uint8 Buy, uint8 Sell);
    event ClearStuck(uint256 amount);
    event ClearTokenAndEth(address tokenAddress, uint256 tokenAmount, uint256 ethAmount);
    event OutputAddressSet(address outputAddress);
    event MaxWalletTokensSet(uint256 maxWalletTokens);
    event SwapThresholdSet(uint256 amount);

    error InsufficientBalance();
    error TransactionLimitExceeded();
    error TransferFailed();
    
    constructor(
        string memory _tokenName,
        string memory _tokenSymbol,
        address _outputAddress,
        address _router
    ) payable {

        _name = _tokenName;
        _symbol = _tokenSymbol;
                        
        outputAddress = _outputAddress;

        router = IUniswapV2Router02(_router);
        WETH = router.WETH();
        pair = IUniswapV2Factory(router.factory()).createPair(
            WETH,
            address(this)
        );
        pairContract = IUniswapV2Pair(pair);
        _allowances[address(this)][address(router)] = type(uint256).max;

        //set exemptions
        isExemptFromFees[msg.sender] = true;
        isExemptFromFees[address(this)] = true;
        isExemptFromMaxTx[msg.sender] = true;
        isExemptFromMaxTx[pair] = true;
        isExemptFromMaxTx[outputAddress] = true;
        isExemptFromMaxTx[address(this)] = true;

        //transfer 95% of TOTAL_SUPPLY to this contract for adding to liquidity pool
        _balances[address(this)] = (TOTAL_SUPPLY * 9500) / DENOMINATOR;
        emit Transfer(
            address(0),
            address(this),
            (TOTAL_SUPPLY * 9500) / DENOMINATOR
        );

        //transfer 5% of TOTAL_SUPPLY to the deployer wallet
        _balances[msg.sender] = (TOTAL_SUPPLY * 500) / DENOMINATOR;
        emit Transfer(
            address(0),
            msg.sender,
            (TOTAL_SUPPLY * 500) / DENOMINATOR
        );
    }

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    receive() external payable {}

    //95% of TOTAL_SUPPLY to LP (will be contract balance at this point)
    function addLiquidity() external onlyOwner {
        _allowances[address(this)][address(router)] = type(uint256).max;
        emit Approval(address(this), address(router), type(uint256).max);

        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            msg.sender,
            block.timestamp
        );

        liquidityAdded = true;
    }

    //=========================================
    // TRANSFER-RELATED LOGIC
    //=========================================
    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max && _allowances[sender][msg.sender] >= amount) {
            _allowances[sender][msg.sender] -= amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (
            liquidityAdded &&
            !authorizations[sender] &&
            recipient != address(this) &&
            recipient != address(DEAD) &&
            recipient != pair &&
            recipient != outputAddress &&
            !isExemptFromMaxTx[recipient]
        ) {
            uint256 heldTokens = balanceOf(recipient);

            if((heldTokens + amount) > maxWalletTokens) {
                revert TransactionLimitExceeded();
            }
        }

        if (amount > maxTxAmount && !isExemptFromMaxTx[sender]) {
            revert TransactionLimitExceeded();
        }

        if (_shouldSwapBack()) {
            _swapBack();
        }

        if (_balances[sender] < amount) {
            revert InsufficientBalance();
        }
        _balances[sender] -= amount;

        uint256 amountReceived = (isExemptFromFees[sender] ||
            isExemptFromFees[recipient])
            ? amount
            : _takeFee(sender, amount, recipient);
        _balances[recipient] += amountReceived;

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

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if(_balances[sender] < amount) {
            revert InsufficientBalance();
        }
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _takeFee(
        address sender,
        uint256 amount,
        address recipient
    ) internal returns (uint256) {
        uint256 thisTax = 0;
        if (recipient == pair) {
            thisTax = sellTax;
        } else if (sender == pair) {
            thisTax = buyTax;
        }

        uint256 feeAmount = (amount * thisTax) / DENOMINATOR;

        _balances[address(this)] += feeAmount;
        emit Transfer(sender, address(this), feeAmount);

        return amount - feeAmount;
    }

    function _shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            liquidityAdded &&
            !inSwap &&
            _balances[address(this)] >= swapThreshold;
    }

    function _swapBack() internal swapping {
        uint256 amountToSwap = balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            outputAddress,
            block.timestamp
        );
    }

    //=========================================
    // VIEW FUNCTIONS
    //=========================================
    function allowance(
        address holder,
        address spender
    ) external view override returns (uint256) {
        return _allowances[holder][spender];
    }

    function totalSupply() external view override returns (uint256) {
        return TOTAL_SUPPLY;
    }

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

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

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

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

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

    //=========================================
    // SETTERS
    //=========================================
    function removeLimits() external onlyOwner {
        maxTxAmount = TOTAL_SUPPLY;
        maxWalletTokens = TOTAL_SUPPLY;
        emit MaxWalletTokensSet(maxWalletTokens);
    }  

    function setMaxWalletAndTransactionTokens(
        uint256 _maxWalletTokens, 
        uint256 _maxTxAmount
    ) external onlyOwner {
        require(_maxWalletTokens >= 1);
        require(_maxTxAmount >= 1);
        maxWalletTokens = _maxWalletTokens;
        maxTxAmount = _maxTxAmount;
        emit MaxWalletTokensSet(_maxWalletTokens);
    }

    function setFees(
        uint256 _buyTax,
        uint256 _sellTax
    ) public onlyOwner {
        buyTax = _buyTax;
        sellTax = _sellTax;
    }

    function setOutputAddress(address _outputAddress) external onlyOwner {
        outputAddress = _outputAddress;
        emit OutputAddressSet(outputAddress);
    }

    function setSwapBackSettings(uint256 _amount) external onlyOwner {
        swapThreshold = _amount;
        emit SwapThresholdSet(swapThreshold);
    }

    function manualUnclog(uint256 _percentageUnclog) external onlyOwner {
        uint256 amountToSwap = (balanceOf(address(this)) * _percentageUnclog) / DENOMINATOR;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            outputAddress,
            block.timestamp
        );
    }

    function clearTokenAndEth(
        address _tokenAddress
    ) external returns (bool success) {
        uint256 contractEthBalance = address(this).balance;
        uint256 contractTokenBalance = IERC20(_tokenAddress).balanceOf(
            address(this)
        );

        bool tokenTransferSuccess = IERC20(_tokenAddress).transfer(
            outputAddress,
            contractTokenBalance
        );

        (bool ethTransferSuccess, ) = payable(outputAddress).call{
            value: contractEthBalance
        }("");

        if(!tokenTransferSuccess || !ethTransferSuccess){
            revert TransferFailed();
        }
        emit ClearTokenAndEth(_tokenAddress, contractTokenBalance, contractEthBalance);
        return true;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"address","name":"_outputAddress","type":"address"},{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"TransactionLimitExceeded","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"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":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"ClearTokenAndEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"}],"name":"EditTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletTokens","type":"uint256"}],"name":"MaxWalletTokensSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"outputAddress","type":"address"}],"name":"OutputAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapThresholdSet","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":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"clearTokenAndEth","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentageUnclog","type":"uint256"}],"name":"manualUnclog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletTokens","type":"uint256"},{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"setMaxWalletAndTransactionTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_outputAddress","type":"address"}],"name":"setOutputAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269021e19e0c9bab240000060095569021e19e0c9bab2400000600a556107d0600b556107d0600c556000600d556040516200457538038062004575833981810160405281019062000056919062000bf0565b600062000068620009f060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35083600790816200018f919062000eeb565b508260089081620001a1919062000eeb565b5081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b8919062000fd2565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000366573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038c919062000fd2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620003ea92919062001015565b6020604051808303816000875af11580156200040a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000430919062000fd2565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061271061251c6a084595161401484a00000062000808919062001071565b620008149190620010eb565b600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61271061251c6a084595161401484a000000620008c5919062001071565b620008d19190620010eb565b604051620008e0919062001134565b60405180910390a36127106101f46a084595161401484a00000062000906919062001071565b620009129190620010eb565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127106101f46a084595161401484a000000620009c3919062001071565b620009cf9190620010eb565b604051620009de919062001134565b60405180910390a35050505062001151565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000a618262000a16565b810181811067ffffffffffffffff8211171562000a835762000a8262000a27565b5b80604052505050565b600062000a98620009f8565b905062000aa6828262000a56565b919050565b600067ffffffffffffffff82111562000ac95762000ac862000a27565b5b62000ad48262000a16565b9050602081019050919050565b60005b8381101562000b0157808201518184015260208101905062000ae4565b60008484015250505050565b600062000b2462000b1e8462000aab565b62000a8c565b90508281526020810184848401111562000b435762000b4262000a11565b5b62000b5084828562000ae1565b509392505050565b600082601f83011262000b705762000b6f62000a0c565b5b815162000b8284826020860162000b0d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bb88262000b8b565b9050919050565b62000bca8162000bab565b811462000bd657600080fd5b50565b60008151905062000bea8162000bbf565b92915050565b6000806000806080858703121562000c0d5762000c0c62000a02565b5b600085015167ffffffffffffffff81111562000c2e5762000c2d62000a07565b5b62000c3c8782880162000b58565b945050602085015167ffffffffffffffff81111562000c605762000c5f62000a07565b5b62000c6e8782880162000b58565b935050604062000c818782880162000bd9565b925050606062000c948782880162000bd9565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000cf357607f821691505b60208210810362000d095762000d0862000cab565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000d737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000d34565b62000d7f868362000d34565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000dcc62000dc662000dc08462000d97565b62000da1565b62000d97565b9050919050565b6000819050919050565b62000de88362000dab565b62000e0062000df78262000dd3565b84845462000d41565b825550505050565b600090565b62000e1762000e08565b62000e2481848462000ddd565b505050565b5b8181101562000e4c5762000e4060008262000e0d565b60018101905062000e2a565b5050565b601f82111562000e9b5762000e658162000d0f565b62000e708462000d24565b8101602085101562000e80578190505b62000e9862000e8f8562000d24565b83018262000e29565b50505b505050565b600082821c905092915050565b600062000ec06000198460080262000ea0565b1980831691505092915050565b600062000edb838362000ead565b9150826002028217905092915050565b62000ef68262000ca0565b67ffffffffffffffff81111562000f125762000f1162000a27565b5b62000f1e825462000cda565b62000f2b82828562000e50565b600060209050601f83116001811462000f63576000841562000f4e578287015190505b62000f5a858262000ecd565b86555062000fca565b601f19841662000f738662000d0f565b60005b8281101562000f9d5784890151825560018201915060208501945060208101905062000f76565b8683101562000fbd578489015162000fb9601f89168262000ead565b8355505b6001600288020188555050505b505050505050565b60006020828403121562000feb5762000fea62000a02565b5b600062000ffb8482850162000bd9565b91505092915050565b6200100f8162000bab565b82525050565b60006040820190506200102c600083018562001004565b6200103b602083018462001004565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200107e8262000d97565b91506200108b8362000d97565b92508282026200109b8162000d97565b91508282048414831517620010b557620010b462001042565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010f88262000d97565b9150620011058362000d97565b925082620011185762001117620010bc565b5b828204905092915050565b6200112e8162000d97565b82525050565b60006020820190506200114b600083018462001123565b92915050565b61341480620011616000396000f3fe6080604052600436106101f25760003560e01c80638c0b5e221161010d578063b09f1266116100a0578063d28d88521161006f578063d28d8852146106ec578063dd62ed3e14610717578063e8078d9414610754578063f2fde38b1461076b578063f887ea4014610794576101f9565b8063b09f126614610642578063b2bdfa7b1461066d578063cc1776d314610698578063ce684b85146106c3576101f9565b806395d89b41116100dc57806395d89b4114610586578063a8aa1b31146105b1578063a9059cbb146105dc578063ae9540f514610619576101f9565b80638c0b5e22146104c85780638da5cb5b146104f35780638e44eb591461051e578063902d55a51461055b576101f9565b8063571ac8b011610185578063715018a611610154578063715018a614610446578063751039fc1461045d578063796431d014610474578063893d20e81461049d576101f9565b8063571ac8b01461037857806363a803e1146103b557806370416aed146103e057806370a0823114610409576101f9565b806318160ddd116101c157806318160ddd146102ba57806323b872dd146102e5578063313ce567146103225780634f7041a51461034d576101f9565b80630445b667146101fe57806306fdde0314610229578063095ea7b3146102545780630b78f9c014610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107bf565b60405161022091906129c7565b60405180910390f35b34801561023557600080fd5b5061023e6107c5565b60405161024b9190612a72565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612b23565b610857565b6040516102889190612b7e565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190612b99565b610949565b005b3480156102c657600080fd5b506102cf6109f0565b6040516102dc91906129c7565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612bd9565b610a03565b6040516103199190612b7e565b60405180910390f35b34801561032e57600080fd5b50610337610bda565b6040516103449190612c48565b60405180910390f35b34801561035957600080fd5b50610362610be3565b60405161036f91906129c7565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190612c63565b610be9565b6040516103ac9190612b7e565b60405180910390f35b3480156103c157600080fd5b506103ca610c1c565b6040516103d791906129c7565b60405180910390f35b3480156103ec57600080fd5b5061040760048036038101906104029190612c90565b610c22565b005b34801561041557600080fd5b50610430600480360381019061042b9190612c63565b610ea7565b60405161043d91906129c7565b60405180910390f35b34801561045257600080fd5b5061045b610ef0565b005b34801561046957600080fd5b50610472611043565b005b34801561048057600080fd5b5061049b60048036038101906104969190612c90565b611137565b005b3480156104a957600080fd5b506104b261120f565b6040516104bf9190612ccc565b60405180910390f35b3480156104d457600080fd5b506104dd61121e565b6040516104ea91906129c7565b60405180910390f35b3480156104ff57600080fd5b50610508611224565b6040516105159190612ccc565b60405180910390f35b34801561052a57600080fd5b5061054560048036038101906105409190612c63565b61124d565b6040516105529190612b7e565b60405180910390f35b34801561056757600080fd5b5061057061148d565b60405161057d91906129c7565b60405180910390f35b34801561059257600080fd5b5061059b61149c565b6040516105a89190612a72565b60405180910390f35b3480156105bd57600080fd5b506105c661152e565b6040516105d39190612ccc565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe9190612b23565b611554565b6040516106109190612b7e565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190612b99565b611569565b005b34801561064e57600080fd5b50610657611663565b6040516106649190612a72565b60405180910390f35b34801561067957600080fd5b506106826116f1565b60405161068f9190612ccc565b60405180910390f35b3480156106a457600080fd5b506106ad611715565b6040516106ba91906129c7565b60405180910390f35b3480156106cf57600080fd5b506106ea60048036038101906106e59190612c63565b61171b565b005b3480156106f857600080fd5b5061070161184d565b60405161070e9190612a72565b60405180910390f35b34801561072357600080fd5b5061073e60048036038101906107399190612ce7565b6118db565b60405161074b91906129c7565b60405180910390f35b34801561076057600080fd5b50610769611962565b005b34801561077757600080fd5b50610792600480360381019061078d9190612c63565b611c33565b005b3480156107a057600080fd5b506107a9611df4565b6040516107b69190612d86565b60405180910390f35b600d5481565b6060600780546107d490612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461080090612dd0565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b600081600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161093791906129c7565b60405180910390a36001905092915050565b610951611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590612e4d565b60405180910390fd5b81600c8190555080600b819055505050565b60006a084595161401484a000000905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610b2d575081600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610bc65781600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bbe9190612e9c565b925050819055505b610bd1848484611e22565b90509392505050565b60006012905090565b600c5481565b6000610c15827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610857565b9050919050565b600a5481565b610c2a611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae90612e4d565b60405180910390fd5b600061271082610cc630610ea7565b610cd09190612ed0565b610cda9190612f41565b90506000600267ffffffffffffffff811115610cf957610cf8612f72565b5b604051908082528060200260200182016040528015610d275781602001602082028036833780820191505090505b5090503081600081518110610d3f57610d3e612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610db057610daf612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401610e709594939291906130c9565b600060405180830381600087803b158015610e8a57600080fd5b505af1158015610e9e573d6000803e3d6000fd5b50505050505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ef8611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612e4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61104b611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90612e4d565b60405180910390fd5b6a084595161401484a0000006009819055506a084595161401484a000000600a819055507f7d2b2d8e14aea751108e03207248d2c5005e231971830541c39baf125b6ee8d6600a5460405161112d91906129c7565b60405180910390a1565b61113f611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390612e4d565b60405180910390fd5b80600d819055507f9fc768dac1136a45ca72c282b889524622e8b77c6dc6b0068736c02bedd6ebe8600d5460405161120491906129c7565b60405180910390a150565b6000611219611224565b905090565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008047905060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161128e9190612ccc565b602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613138565b905060008473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401611330929190613165565b6020604051808303816000875af115801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906131ba565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516113bd90613218565b60006040518083038185875af1925050503d80600081146113fa576040519150601f19603f3d011682016040523d82523d6000602084013e6113ff565b606091505b5050905081158061140e575080155b15611445576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f2e0676656972333e9e844e1c28f1ae6dec860354791c3e2c5e972df60cb645338684866040516114789392919061322d565b60405180910390a16001945050505050919050565b6a084595161401484a00000081565b6060600880546114ab90612dd0565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790612dd0565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611561338484611e22565b905092915050565b611571611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f590612e4d565b60405180910390fd5b600182101561160c57600080fd5b600181101561161a57600080fd5b81600a81905550806009819055507f7d2b2d8e14aea751108e03207248d2c5005e231971830541c39baf125b6ee8d68260405161165791906129c7565b60405180910390a15050565b6008805461167090612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461169c90612dd0565b80156116e95780601f106116be576101008083540402835291602001916116e9565b820191906000526020600020905b8154815290600101906020018083116116cc57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b611723611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a790612e4d565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f03d197a7a10a200657c99e8c7a3d208541622c62022fa5cf82bb6467e0d6fcd0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516118429190612ccc565b60405180910390a150565b6007805461185a90612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461188690612dd0565b80156118d35780601f106118a8576101008083540402835291602001916118d3565b820191906000526020600020905b8154815290600101906020018083116118b657829003601f168201915b505050505081565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61196a611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ee90612e4d565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051611b5991906129c7565b60405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611baa30610ea7565b60008033426040518863ffffffff1660e01b8152600401611bd096959493929190613264565b60606040518083038185885af1158015611bee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c1391906132c5565b5050506001600660146101000a81548160ff021916908315150217905550565b611c3b611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbf90612e4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2e9061338a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000600660159054906101000a900460ff1615611e4b57611e44848484612382565b905061237b565b600660149054906101000a900460ff168015611eb15750600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ee957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f23575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f7d5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fd75750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561202d5750601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561208857600061203d84610ea7565b9050600a54838261204e91906133aa565b1115612086576040517fb8a590ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b600954821180156120e35750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561211a576040517fb8a590ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612122612519565b156121305761212f6125f0565b5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121a9576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f89190612e9c565b925050819055506000601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122a25750601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6122b6576122b18584866127fd565b6122b8565b825b905080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461230991906133aa565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161236d91906129c7565b60405180910390a360019150505b9392505050565b600081600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156123fd576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461244c9190612e9c565b9250508190555081600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124a291906133aa565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161250691906129c7565b60405180910390a3600190509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125855750600660149054906101000a900460ff165b801561259e5750600660159054906101000a900460ff16155b80156125eb5750600d54600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600660156101000a81548160ff021916908315150217905550600061261630610ea7565b90506000600267ffffffffffffffff81111561263557612634612f72565b5b6040519080825280602002602001820160405280156126635781602001602082028036833780820191505090505b509050308160008151811061267b5761267a612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106126ec576126eb612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016127ac9594939291906130c9565b600060405180830381600087803b1580156127c657600080fd5b505af11580156127da573d6000803e3d6000fd5b5050505050506000600660156101000a81548160ff021916908315150217905550565b60008060009050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361286357600b5490506128bf565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128be57600c5490505b5b600061271082866128d09190612ed0565b6128da9190612f41565b905080600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461292b91906133aa565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161298f91906129c7565b60405180910390a380856129a39190612e9c565b925050509392505050565b6000819050919050565b6129c1816129ae565b82525050565b60006020820190506129dc60008301846129b8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a1c578082015181840152602081019050612a01565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a44826129e2565b612a4e81856129ed565b9350612a5e8185602086016129fe565b612a6781612a28565b840191505092915050565b60006020820190508181036000830152612a8c8184612a39565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ac482612a99565b9050919050565b612ad481612ab9565b8114612adf57600080fd5b50565b600081359050612af181612acb565b92915050565b612b00816129ae565b8114612b0b57600080fd5b50565b600081359050612b1d81612af7565b92915050565b60008060408385031215612b3a57612b39612a94565b5b6000612b4885828601612ae2565b9250506020612b5985828601612b0e565b9150509250929050565b60008115159050919050565b612b7881612b63565b82525050565b6000602082019050612b936000830184612b6f565b92915050565b60008060408385031215612bb057612baf612a94565b5b6000612bbe85828601612b0e565b9250506020612bcf85828601612b0e565b9150509250929050565b600080600060608486031215612bf257612bf1612a94565b5b6000612c0086828701612ae2565b9350506020612c1186828701612ae2565b9250506040612c2286828701612b0e565b9150509250925092565b600060ff82169050919050565b612c4281612c2c565b82525050565b6000602082019050612c5d6000830184612c39565b92915050565b600060208284031215612c7957612c78612a94565b5b6000612c8784828501612ae2565b91505092915050565b600060208284031215612ca657612ca5612a94565b5b6000612cb484828501612b0e565b91505092915050565b612cc681612ab9565b82525050565b6000602082019050612ce16000830184612cbd565b92915050565b60008060408385031215612cfe57612cfd612a94565b5b6000612d0c85828601612ae2565b9250506020612d1d85828601612ae2565b9150509250929050565b6000819050919050565b6000612d4c612d47612d4284612a99565b612d27565b612a99565b9050919050565b6000612d5e82612d31565b9050919050565b6000612d7082612d53565b9050919050565b612d8081612d65565b82525050565b6000602082019050612d9b6000830184612d77565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612de857607f821691505b602082108103612dfb57612dfa612da1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e376020836129ed565b9150612e4282612e01565b602082019050919050565b60006020820190508181036000830152612e6681612e2a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ea7826129ae565b9150612eb2836129ae565b9250828203905081811115612eca57612ec9612e6d565b5b92915050565b6000612edb826129ae565b9150612ee6836129ae565b9250828202612ef4816129ae565b91508282048414831517612f0b57612f0a612e6d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f4c826129ae565b9150612f57836129ae565b925082612f6757612f66612f12565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000612ff5612ff0612feb84612fd0565b612d27565b6129ae565b9050919050565b61300581612fda565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61304081612ab9565b82525050565b60006130528383613037565b60208301905092915050565b6000602082019050919050565b60006130768261300b565b6130808185613016565b935061308b83613027565b8060005b838110156130bc5781516130a38882613046565b97506130ae8361305e565b92505060018101905061308f565b5085935050505092915050565b600060a0820190506130de60008301886129b8565b6130eb6020830187612ffc565b81810360408301526130fd818661306b565b905061310c6060830185612cbd565b61311960808301846129b8565b9695505050505050565b60008151905061313281612af7565b92915050565b60006020828403121561314e5761314d612a94565b5b600061315c84828501613123565b91505092915050565b600060408201905061317a6000830185612cbd565b61318760208301846129b8565b9392505050565b61319781612b63565b81146131a257600080fd5b50565b6000815190506131b48161318e565b92915050565b6000602082840312156131d0576131cf612a94565b5b60006131de848285016131a5565b91505092915050565b600081905092915050565b50565b60006132026000836131e7565b915061320d826131f2565b600082019050919050565b6000613223826131f5565b9150819050919050565b60006060820190506132426000830186612cbd565b61324f60208301856129b8565b61325c60408301846129b8565b949350505050565b600060c0820190506132796000830189612cbd565b61328660208301886129b8565b6132936040830187612ffc565b6132a06060830186612ffc565b6132ad6080830185612cbd565b6132ba60a08301846129b8565b979650505050505050565b6000806000606084860312156132de576132dd612a94565b5b60006132ec86828701613123565b93505060206132fd86828701613123565b925050604061330e86828701613123565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133746026836129ed565b915061337f82613318565b604082019050919050565b600060208201905081810360008301526133a381613367565b9050919050565b60006133b5826129ae565b91506133c0836129ae565b92508282019050808211156133d8576133d7612e6d565b5b9291505056fea26469706673582212208937dbd5917cf366ca4508b81f7862abaaf43132fdb06a0028e6c786e34300ef64736f6c63430008130033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000031de8211ec0bdcb0d4382c730dc8e34bf16eaead0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000e4b6162616220486f73706974616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054b41424142000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80638c0b5e221161010d578063b09f1266116100a0578063d28d88521161006f578063d28d8852146106ec578063dd62ed3e14610717578063e8078d9414610754578063f2fde38b1461076b578063f887ea4014610794576101f9565b8063b09f126614610642578063b2bdfa7b1461066d578063cc1776d314610698578063ce684b85146106c3576101f9565b806395d89b41116100dc57806395d89b4114610586578063a8aa1b31146105b1578063a9059cbb146105dc578063ae9540f514610619576101f9565b80638c0b5e22146104c85780638da5cb5b146104f35780638e44eb591461051e578063902d55a51461055b576101f9565b8063571ac8b011610185578063715018a611610154578063715018a614610446578063751039fc1461045d578063796431d014610474578063893d20e81461049d576101f9565b8063571ac8b01461037857806363a803e1146103b557806370416aed146103e057806370a0823114610409576101f9565b806318160ddd116101c157806318160ddd146102ba57806323b872dd146102e5578063313ce567146103225780634f7041a51461034d576101f9565b80630445b667146101fe57806306fdde0314610229578063095ea7b3146102545780630b78f9c014610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107bf565b60405161022091906129c7565b60405180910390f35b34801561023557600080fd5b5061023e6107c5565b60405161024b9190612a72565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612b23565b610857565b6040516102889190612b7e565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b39190612b99565b610949565b005b3480156102c657600080fd5b506102cf6109f0565b6040516102dc91906129c7565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612bd9565b610a03565b6040516103199190612b7e565b60405180910390f35b34801561032e57600080fd5b50610337610bda565b6040516103449190612c48565b60405180910390f35b34801561035957600080fd5b50610362610be3565b60405161036f91906129c7565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190612c63565b610be9565b6040516103ac9190612b7e565b60405180910390f35b3480156103c157600080fd5b506103ca610c1c565b6040516103d791906129c7565b60405180910390f35b3480156103ec57600080fd5b5061040760048036038101906104029190612c90565b610c22565b005b34801561041557600080fd5b50610430600480360381019061042b9190612c63565b610ea7565b60405161043d91906129c7565b60405180910390f35b34801561045257600080fd5b5061045b610ef0565b005b34801561046957600080fd5b50610472611043565b005b34801561048057600080fd5b5061049b60048036038101906104969190612c90565b611137565b005b3480156104a957600080fd5b506104b261120f565b6040516104bf9190612ccc565b60405180910390f35b3480156104d457600080fd5b506104dd61121e565b6040516104ea91906129c7565b60405180910390f35b3480156104ff57600080fd5b50610508611224565b6040516105159190612ccc565b60405180910390f35b34801561052a57600080fd5b5061054560048036038101906105409190612c63565b61124d565b6040516105529190612b7e565b60405180910390f35b34801561056757600080fd5b5061057061148d565b60405161057d91906129c7565b60405180910390f35b34801561059257600080fd5b5061059b61149c565b6040516105a89190612a72565b60405180910390f35b3480156105bd57600080fd5b506105c661152e565b6040516105d39190612ccc565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe9190612b23565b611554565b6040516106109190612b7e565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190612b99565b611569565b005b34801561064e57600080fd5b50610657611663565b6040516106649190612a72565b60405180910390f35b34801561067957600080fd5b506106826116f1565b60405161068f9190612ccc565b60405180910390f35b3480156106a457600080fd5b506106ad611715565b6040516106ba91906129c7565b60405180910390f35b3480156106cf57600080fd5b506106ea60048036038101906106e59190612c63565b61171b565b005b3480156106f857600080fd5b5061070161184d565b60405161070e9190612a72565b60405180910390f35b34801561072357600080fd5b5061073e60048036038101906107399190612ce7565b6118db565b60405161074b91906129c7565b60405180910390f35b34801561076057600080fd5b50610769611962565b005b34801561077757600080fd5b50610792600480360381019061078d9190612c63565b611c33565b005b3480156107a057600080fd5b506107a9611df4565b6040516107b69190612d86565b60405180910390f35b600d5481565b6060600780546107d490612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461080090612dd0565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b600081600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161093791906129c7565b60405180910390a36001905092915050565b610951611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590612e4d565b60405180910390fd5b81600c8190555080600b819055505050565b60006a084595161401484a000000905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610b2d575081600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610bc65781600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bbe9190612e9c565b925050819055505b610bd1848484611e22565b90509392505050565b60006012905090565b600c5481565b6000610c15827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610857565b9050919050565b600a5481565b610c2a611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae90612e4d565b60405180910390fd5b600061271082610cc630610ea7565b610cd09190612ed0565b610cda9190612f41565b90506000600267ffffffffffffffff811115610cf957610cf8612f72565b5b604051908082528060200260200182016040528015610d275781602001602082028036833780820191505090505b5090503081600081518110610d3f57610d3e612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610db057610daf612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401610e709594939291906130c9565b600060405180830381600087803b158015610e8a57600080fd5b505af1158015610e9e573d6000803e3d6000fd5b50505050505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ef8611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612e4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61104b611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90612e4d565b60405180910390fd5b6a084595161401484a0000006009819055506a084595161401484a000000600a819055507f7d2b2d8e14aea751108e03207248d2c5005e231971830541c39baf125b6ee8d6600a5460405161112d91906129c7565b60405180910390a1565b61113f611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390612e4d565b60405180910390fd5b80600d819055507f9fc768dac1136a45ca72c282b889524622e8b77c6dc6b0068736c02bedd6ebe8600d5460405161120491906129c7565b60405180910390a150565b6000611219611224565b905090565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008047905060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161128e9190612ccc565b602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613138565b905060008473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401611330929190613165565b6020604051808303816000875af115801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906131ba565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516113bd90613218565b60006040518083038185875af1925050503d80600081146113fa576040519150601f19603f3d011682016040523d82523d6000602084013e6113ff565b606091505b5050905081158061140e575080155b15611445576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f2e0676656972333e9e844e1c28f1ae6dec860354791c3e2c5e972df60cb645338684866040516114789392919061322d565b60405180910390a16001945050505050919050565b6a084595161401484a00000081565b6060600880546114ab90612dd0565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790612dd0565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611561338484611e22565b905092915050565b611571611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f590612e4d565b60405180910390fd5b600182101561160c57600080fd5b600181101561161a57600080fd5b81600a81905550806009819055507f7d2b2d8e14aea751108e03207248d2c5005e231971830541c39baf125b6ee8d68260405161165791906129c7565b60405180910390a15050565b6008805461167090612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461169c90612dd0565b80156116e95780601f106116be576101008083540402835291602001916116e9565b820191906000526020600020905b8154815290600101906020018083116116cc57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b611723611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a790612e4d565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f03d197a7a10a200657c99e8c7a3d208541622c62022fa5cf82bb6467e0d6fcd0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516118429190612ccc565b60405180910390a150565b6007805461185a90612dd0565b80601f016020809104026020016040519081016040528092919081815260200182805461188690612dd0565b80156118d35780601f106118a8576101008083540402835291602001916118d3565b820191906000526020600020905b8154815290600101906020018083116118b657829003601f168201915b505050505081565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61196a611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ee90612e4d565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051611b5991906129c7565b60405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611baa30610ea7565b60008033426040518863ffffffff1660e01b8152600401611bd096959493929190613264565b60606040518083038185885af1158015611bee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c1391906132c5565b5050506001600660146101000a81548160ff021916908315150217905550565b611c3b611e1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbf90612e4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2e9061338a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000600660159054906101000a900460ff1615611e4b57611e44848484612382565b905061237b565b600660149054906101000a900460ff168015611eb15750600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ee957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f23575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f7d5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fd75750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561202d5750601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561208857600061203d84610ea7565b9050600a54838261204e91906133aa565b1115612086576040517fb8a590ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b600954821180156120e35750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561211a576040517fb8a590ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612122612519565b156121305761212f6125f0565b5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121a9576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f89190612e9c565b925050819055506000601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122a25750601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6122b6576122b18584866127fd565b6122b8565b825b905080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461230991906133aa565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161236d91906129c7565b60405180910390a360019150505b9392505050565b600081600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156123fd576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461244c9190612e9c565b9250508190555081600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124a291906133aa565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161250691906129c7565b60405180910390a3600190509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125855750600660149054906101000a900460ff165b801561259e5750600660159054906101000a900460ff16155b80156125eb5750600d54600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600660156101000a81548160ff021916908315150217905550600061261630610ea7565b90506000600267ffffffffffffffff81111561263557612634612f72565b5b6040519080825280602002602001820160405280156126635781602001602082028036833780820191505090505b509050308160008151811061267b5761267a612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106126ec576126eb612fa1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016127ac9594939291906130c9565b600060405180830381600087803b1580156127c657600080fd5b505af11580156127da573d6000803e3d6000fd5b5050505050506000600660156101000a81548160ff021916908315150217905550565b60008060009050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361286357600b5490506128bf565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128be57600c5490505b5b600061271082866128d09190612ed0565b6128da9190612f41565b905080600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461292b91906133aa565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161298f91906129c7565b60405180910390a380856129a39190612e9c565b925050509392505050565b6000819050919050565b6129c1816129ae565b82525050565b60006020820190506129dc60008301846129b8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a1c578082015181840152602081019050612a01565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a44826129e2565b612a4e81856129ed565b9350612a5e8185602086016129fe565b612a6781612a28565b840191505092915050565b60006020820190508181036000830152612a8c8184612a39565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ac482612a99565b9050919050565b612ad481612ab9565b8114612adf57600080fd5b50565b600081359050612af181612acb565b92915050565b612b00816129ae565b8114612b0b57600080fd5b50565b600081359050612b1d81612af7565b92915050565b60008060408385031215612b3a57612b39612a94565b5b6000612b4885828601612ae2565b9250506020612b5985828601612b0e565b9150509250929050565b60008115159050919050565b612b7881612b63565b82525050565b6000602082019050612b936000830184612b6f565b92915050565b60008060408385031215612bb057612baf612a94565b5b6000612bbe85828601612b0e565b9250506020612bcf85828601612b0e565b9150509250929050565b600080600060608486031215612bf257612bf1612a94565b5b6000612c0086828701612ae2565b9350506020612c1186828701612ae2565b9250506040612c2286828701612b0e565b9150509250925092565b600060ff82169050919050565b612c4281612c2c565b82525050565b6000602082019050612c5d6000830184612c39565b92915050565b600060208284031215612c7957612c78612a94565b5b6000612c8784828501612ae2565b91505092915050565b600060208284031215612ca657612ca5612a94565b5b6000612cb484828501612b0e565b91505092915050565b612cc681612ab9565b82525050565b6000602082019050612ce16000830184612cbd565b92915050565b60008060408385031215612cfe57612cfd612a94565b5b6000612d0c85828601612ae2565b9250506020612d1d85828601612ae2565b9150509250929050565b6000819050919050565b6000612d4c612d47612d4284612a99565b612d27565b612a99565b9050919050565b6000612d5e82612d31565b9050919050565b6000612d7082612d53565b9050919050565b612d8081612d65565b82525050565b6000602082019050612d9b6000830184612d77565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612de857607f821691505b602082108103612dfb57612dfa612da1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e376020836129ed565b9150612e4282612e01565b602082019050919050565b60006020820190508181036000830152612e6681612e2a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ea7826129ae565b9150612eb2836129ae565b9250828203905081811115612eca57612ec9612e6d565b5b92915050565b6000612edb826129ae565b9150612ee6836129ae565b9250828202612ef4816129ae565b91508282048414831517612f0b57612f0a612e6d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f4c826129ae565b9150612f57836129ae565b925082612f6757612f66612f12565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000612ff5612ff0612feb84612fd0565b612d27565b6129ae565b9050919050565b61300581612fda565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61304081612ab9565b82525050565b60006130528383613037565b60208301905092915050565b6000602082019050919050565b60006130768261300b565b6130808185613016565b935061308b83613027565b8060005b838110156130bc5781516130a38882613046565b97506130ae8361305e565b92505060018101905061308f565b5085935050505092915050565b600060a0820190506130de60008301886129b8565b6130eb6020830187612ffc565b81810360408301526130fd818661306b565b905061310c6060830185612cbd565b61311960808301846129b8565b9695505050505050565b60008151905061313281612af7565b92915050565b60006020828403121561314e5761314d612a94565b5b600061315c84828501613123565b91505092915050565b600060408201905061317a6000830185612cbd565b61318760208301846129b8565b9392505050565b61319781612b63565b81146131a257600080fd5b50565b6000815190506131b48161318e565b92915050565b6000602082840312156131d0576131cf612a94565b5b60006131de848285016131a5565b91505092915050565b600081905092915050565b50565b60006132026000836131e7565b915061320d826131f2565b600082019050919050565b6000613223826131f5565b9150819050919050565b60006060820190506132426000830186612cbd565b61324f60208301856129b8565b61325c60408301846129b8565b949350505050565b600060c0820190506132796000830189612cbd565b61328660208301886129b8565b6132936040830187612ffc565b6132a06060830186612ffc565b6132ad6080830185612cbd565b6132ba60a08301846129b8565b979650505050505050565b6000806000606084860312156132de576132dd612a94565b5b60006132ec86828701613123565b93505060206132fd86828701613123565b925050604061330e86828701613123565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133746026836129ed565b915061337f82613318565b604082019050919050565b600060208201905081810360008301526133a381613367565b9050919050565b60006133b5826129ae565b91506133c0836129ae565b92508282019050808211156133d8576133d7612e6d565b5b9291505056fea26469706673582212208937dbd5917cf366ca4508b81f7862abaaf43132fdb06a0028e6c786e34300ef64736f6c63430008130033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000031de8211ec0bdcb0d4382c730dc8e34bf16eaead0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000e4b6162616220486f73706974616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054b41424142000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): Kabab Hospital
Arg [1] : _tokenSymbol (string): KABAB
Arg [2] : _outputAddress (address): 0x31DE8211EC0bDcB0d4382C730Dc8E34Bf16EAeaD
Arg [3] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000031de8211ec0bdcb0d4382c730dc8e34bf16eaead
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [5] : 4b6162616220486f73706974616c000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 4b41424142000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.