ETH Price: $2,675.85 (+2.66%)

Token

Shubi (SHUBI)
 

Overview

Max Total Supply

1,000,000,000 SHUBI

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 SHUBI

Value
$0.00
0x8da3e12f6cdfd04a419b4a1168eb006d7b7264d9
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Shubi - A DeFi Trader's Best Friend and the mysterious mother of the inu realm has returned to help her followers get an unfair advantage in the risky world of DeFi.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ShubiToken

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-31
*/

//SPDX-License-Identifier: MIT

//Official contract for https://shubitoken.com

pragma solidity ^0.8.9;

interface ERC20 {

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

}

interface Oracle {

    function commit(address sender, address recipient, uint256 amount) external;
    function isWhitelisted(address sender, address recipient) external view returns(bool);
    function getMaxTx(address _sender) external view returns(uint256);
    function getSellTax(address _sender) external view returns(uint256);

}

abstract contract Ownable {

    address internal owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "not owner"); 
        _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

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

interface IDEXRouter {

    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;

}

contract ShubiToken is ERC20, Ownable {

    // Events
    event SetMaxWallet(uint256 maxWalletToken);
    event SetFees(uint256 DevFee);
    event SetSwapBackSettings(bool enabled, uint256 swapThreshold);
    event SetIsFeeExempt(address holder, bool enabled);
    event SetIsTxLimitExempt(address holder, bool enabled);
    event SetFeeReceiver(address DevWallet);
    event StuckBalanceSent(uint256 amountETH, address recipient);

    // Mappings
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;

    // Basic Contract Info
    string constant _name = "Shubi"; 
    string constant _symbol = "SHUBI"; 
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 1000000000 * (10 ** _decimals); 
    
    // Max wallet
    uint256 public _maxWalletSize = (_totalSupply * 50) / 10000;
    uint256 public _maxTxSize = (_totalSupply * 50) / 10000;

    // Fee receiver
    uint256 public DevFeeBuy = 10;
    uint256 public MarketingFeeBuy = 10;
    uint256 public LiquidityFeeBuy = 20;

    uint256 public DevFeeSell = 10;
    uint256 public MarketingFeeSell = 10;
    uint256 public LiquidityFeeSell = 20;

    uint256 public TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;

    // Fee receiver & Dead Wallet
    address public DevWallet;
    address public MarketingWallet = 0xe0441Cae777Cba5CEC0E1Ce716e1eaF8062f2C8D;
    address constant private DEAD = 0x000000000000000000000000000000000000dEaD;

    // Router
    IDEXRouter public router;
    address public pair;
    address public oracle;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 3; // 0.3% 

    bool public isTradingEnabled = false;
    address public tradingEnablerRole;
    uint256 public tradingTimestamp;

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

    constructor(address _oracle) Ownable(msg.sender) {

        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _allowances[address(this)][address(router)] = type(uint256).max;
        oracle = _oracle;
        
        address _owner = owner;
        DevWallet = msg.sender;

        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        isFeeExempt[MarketingWallet] = true;
        isTxLimitExempt[MarketingWallet] = true; 

        tradingEnablerRole = _owner;
        tradingTimestamp = block.timestamp;

        _balances[MarketingWallet] = _totalSupply * 100 / 100;
        emit Transfer(address(0), MarketingWallet, _totalSupply * 100 / 100);

    }

    receive() external payable { }

// Basic Internal Functions

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure 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]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    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] = _allowances[sender][msg.sender] - (amount);
        }
        return _transferFrom(sender, recipient, amount);
    }

    function getPair() public onlyOwner {
        pair = IDEXFactory(router.factory()).getPair(address(this), router.WETH());
        if (pair == address(0)) {pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH());}
    }

    function setOracle(address _oracle) public onlyOwner {
        oracle = _oracle;
    }

    function renounceTradingEnablerRole() public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        tradingEnablerRole = address(0x0);
    }

    function setIsTradingEnabled(bool _isTradingEnabled) public {
        require(tradingEnablerRole == msg.sender, 'incompatible role!');
        isTradingEnabled = _isTradingEnabled;
        tradingTimestamp = block.timestamp;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(inSwap){ return _basicTransfer(sender, recipient, amount);}
                
        require(isFeeExempt[sender] || isFeeExempt[recipient] || isTradingEnabled && (Oracle(oracle).isWhitelisted(sender, recipient) || 
            block.timestamp >= tradingTimestamp + 3 minutes), "Not authorized to trade yet");

        // Checks max transaction limit
        if (sender != owner && sender != MarketingWallet && recipient != owner && recipient != DEAD) {
            if (recipient == pair) {
                require(amount <= (Oracle(oracle).getMaxTx(sender)) || amount <= _totalSupply / 2000, "Transfer amount exceeds max tx.");} 
            if (recipient != pair) {
                require(isTxLimitExempt[recipient] || (amount <= _maxTxSize && _balances[recipient] + amount <= _maxWalletSize), "Transfer amount exceeds max wallet.");}
        }

        //Exchange tokens
        if(shouldSwapBack()){swapBack();}

        _balances[sender] = _balances[sender] - amount;

        //Check if should Take Fee
        uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, recipient, amount);
        _balances[recipient] = _balances[recipient] + (amountReceived);

        Oracle(oracle).commit(sender, recipient, amount);
        emit Transfer(sender, recipient, amountReceived);

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

// Internal Functions

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
   
        uint256 feeAmount = 0;

        if (sender == pair && recipient != pair) {
            feeAmount = amount * (DevFeeBuy + MarketingFeeBuy + LiquidityFeeBuy) / 1000;} 

        if (sender != pair && recipient == pair) {
            feeAmount = amount * Oracle(oracle).getSellTax(sender) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 1000000;
            if (feeAmount > 30 * amount / 100) {feeAmount = 30 * amount / 100;}}

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + (feeAmount);
            emit Transfer(sender, address(this), feeAmount);}

        return amount - (feeAmount);
    }

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

    function addLiquidity(uint256 _tokenBalance, uint256 _ETHBalance) private {
        if(_allowances[address(this)][address(router)] < _tokenBalance){_allowances[address(this)][address(router)] = _tokenBalance;}
        router.addLiquidityETH{value: _ETHBalance}(address(this), _tokenBalance, 0, 0, DevWallet, block.timestamp + 5 minutes);
    }

    function swapBack() internal swapping {

        uint256 amountToLiq = balanceOf(address(this)) * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase);
        uint256 amountToSwap = balanceOf(address(this)) - amountToLiq;

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(amountToSwap, 0, path, address(this), block.timestamp);

        if (amountToLiq > 0) {
            addLiquidity(amountToLiq, address(this).balance * (LiquidityFeeBuy + LiquidityFeeSell) / (2 * TotalBase - LiquidityFeeBuy - LiquidityFeeSell));
        }

        uint256 amountETHDev = address(this).balance * (DevFeeBuy + DevFeeSell) / (DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell);
        uint256 amountETHMarketing = address(this).balance - amountETHDev;

        (bool success1, /* bytes memory data */) = payable(DevWallet).call{value: amountETHDev, gas: 30000}("");
        (bool success2, /* bytes memory data */) = payable(MarketingWallet).call{value: amountETHMarketing, gas: 30000}("");
    
        require(success1 && success2, "receiver rejected ETH transfer");

    }

 // External Functions

   function setMaxWalletAndTx(uint256 _maxWalletSize_, uint256 _maxTxSize_) external onlyOwner {
        require(_maxWalletSize_ >= _totalSupply / 1000 && _maxTxSize_ >= _totalSupply / 1000, "Can't set MaxWallet or Tx below 0.1%");
        _maxWalletSize = _maxWalletSize_;
        _maxTxSize = _maxTxSize_;
        emit SetMaxWallet(_maxWalletSize);
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        emit SetIsFeeExempt(holder, exempt);
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
        emit SetIsTxLimitExempt(holder, exempt);
    }

    function setFees(uint256 _DevFeeBuy, uint256 _MarketingFeeBuy, uint256 _LiquidityFeeBuy, 
        uint256 _DevFeeSell, uint256 _MarketingFeeSell, uint256 _LiquidityFeeSell) external onlyOwner {
        
        require(_DevFeeBuy + _MarketingFeeBuy + _LiquidityFeeBuy <= 330 && _DevFeeSell + _MarketingFeeSell + _LiquidityFeeSell <= 330, "Total fees must be equal to or less than 33%");

        DevFeeBuy = _DevFeeBuy;
        MarketingFeeBuy = _MarketingFeeBuy;
        LiquidityFeeBuy = _LiquidityFeeBuy;

        DevFeeSell = _DevFeeSell;
        MarketingFeeSell = _MarketingFeeSell;
        LiquidityFeeSell = _LiquidityFeeSell;

        TotalBase = DevFeeBuy + DevFeeSell + MarketingFeeBuy + MarketingFeeSell + LiquidityFeeBuy + LiquidityFeeSell;
     
        emit SetFees(DevFeeBuy);
    }

    function setFeeReceiver(address _DevWallet, address _MarketingWallet) external onlyOwner {
        DevWallet = _DevWallet;
        MarketingWallet = _MarketingWallet;
        emit SetFeeReceiver(DevWallet);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        require(_amount >= 1, "Can't set SwapThreshold to ZERO");
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit SetSwapBackSettings(swapEnabled, swapThreshold);
    }

    function initSwapBack() public onlyOwner {

        swapBack();

    }

    function whatIsMySellTax(address _holder) public view returns(uint256) {
        uint256 _mySellTax = (Oracle(oracle).getSellTax(_holder) * (DevFeeSell + MarketingFeeSell + LiquidityFeeSell) / 100);
        return _mySellTax;
    }

    function howMuchCanISell(address _holder) public view returns(uint256) {
        uint256 _myMaxSell = Oracle(oracle).getMaxTx(_holder) / (10 ** 18);
        return _myMaxSell;
    }


// Stuck Balance Function

    function ClearStuckBalance() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(DevWallet).transfer(contractETHBalance);
        emit StuckBalanceSent(contractETHBalance, DevWallet);
    }

    function withdrawToken(address _token) public onlyOwner {
        ERC20(_token).transfer(owner, ERC20(_token).balanceOf(address(this)));
    }

    function getSelfAddress() public view returns(address) {
        return address(this);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"DevWallet","type":"address"}],"name":"SetFeeReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"DevFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SetIsTxLimitExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletToken","type":"uint256"}],"name":"SetMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"swapThreshold","type":"uint256"}],"name":"SetSwapBackSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"StuckBalanceSent","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":"ClearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DevFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":[],"name":"getPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getSelfAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"howMuchCanISell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oracle","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":"renounceTradingEnablerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_DevWallet","type":"address"},{"internalType":"address","name":"_MarketingWallet","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_DevFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeBuy","type":"uint256"},{"internalType":"uint256","name":"_DevFeeSell","type":"uint256"},{"internalType":"uint256","name":"_MarketingFeeSell","type":"uint256"},{"internalType":"uint256","name":"_LiquidityFeeSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isTradingEnabled","type":"bool"}],"name":"setIsTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize_","type":"uint256"},{"internalType":"uint256","name":"_maxTxSize_","type":"uint256"}],"name":"setMaxWalletAndTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnablerRole","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"whatIsMySellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000402565b6200002290633b9aca006200041a565b60075561271060075460326200003991906200041a565b6200004591906200043c565b60085561271060075460326200005c91906200041a565b6200006891906200043c565b600955600a808055600b8190556014600c819055600d829055600e829055600f819055908190806200009b81806200045f565b620000a791906200045f565b620000b391906200045f565b620000bf91906200045f565b620000cb91906200045f565b601055601280546001600160a01b03191673e0441cae777cba5cec0e1ce716e1eaf8062f2c8d1790556015805460ff60a01b1916600160a01b1790556007546200011990612710906200043c565b620001269060036200041a565b6016556017805460ff191690553480156200014057600080fd5b5060405162002de538038062002de583398101604081905262000163916200047a565b60008054336001600160a01b03199182168117835560138054737a250d5630b4cf539739df2c5dacb4c659f2488d908416811790915530845260046020908152604080862092865291815281852060001990556015805485166001600160a01b03888116919091179091558554601180549096169094179094559183168085526005808452828620805460ff199081166001908117909255600680875285892080548316841790556012805489168a5293875285892080548316841790559254909616875293529320805490921617905560178054610100600160a81b0319166101008302179055426018556007546064906200026190826200041a565b6200026d91906200043c565b601280546001600160a01b039081166000908152600360205260408120939093559054600754911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90606490620002c890826200041a565b620002d491906200043c565b60405190815260200160405180910390a35050620004a5565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000344578160001904821115620003285762000328620002ed565b808516156200033657918102915b93841c939080029062000308565b509250929050565b6000826200035d57506001620003fc565b816200036c57506000620003fc565b81600181146200038557600281146200039057620003b0565b6001915050620003fc565b60ff841115620003a457620003a4620002ed565b50506001821b620003fc565b5060208310610133831016604e8410600b8410161715620003d5575081810a620003fc565b620003e1838362000303565b8060001904821115620003f857620003f8620002ed565b0290505b92915050565b60006200041360ff8416836200034c565b9392505050565b6000816000190483118215151615620004375762000437620002ed565b500290565b6000826200045a57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620004755762000475620002ed565b500190565b6000602082840312156200048d57600080fd5b81516001600160a01b03811681146200041357600080fd5b61293080620004b56000396000f3fe6080604052600436106102cd5760003560e01c80637adbf97311610175578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b146108bb578063f556fcdb146108db578063f84ba65d146108ee578063f887ea401461090e57600080fd5b8063dd62ed3e14610835578063df20fd491461087b578063e66db25e1461089b57600080fd5b8063a9059cbb1461078f578063b115e4df146107af578063b1be4271146107cf578063c1f1b1b5146107e5578063cbdcfd81146107fa578063da2354591461081f57600080fd5b80638b42507f1161012e5780638b42507f146106d15780638f9a55c01461070157806390a9ac3f1461071757806395d89b411461072c57806399ab04a71461075a578063a8aa1b311461076f57600080fd5b80637adbf973146106135780637dc0d1d01461063357806384ba35a91461065357806386f6c3c114610673578063893d20e81461069357806389476069146106b157600080fd5b806340c39c09116102345780636295c649116101ed5780636ddd1713116101c75780636ddd17131461058657806370a08231146105a7578063769b3fdd146105dd57806379d550c2146105f357600080fd5b80636295c649146105305780636540648114610546578063658d4b7f1461056657600080fd5b806340c39c09146104985780634cea44b5146104ae578063511b5f61146104c4578063559ef225146104da578063571ac8b0146104fa5780635be0499b1461051a57600080fd5b806325348b051161028657806325348b05146103b85780632598cdb2146103cf5780632f54bf6e146104075780632fe76bc214610436578063313ce5671461044c5780633f4218e01461046857600080fd5b80630445b667146102d9578063064a59d01461030257806306fdde031461032c578063095ea7b31461036357806318160ddd1461038357806323b872dd1461039857600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef60165481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5060175461031c9060ff1681565b60405190151581526020016102f9565b34801561033857600080fd5b50604080518082019091526005815264536875626960d81b60208201525b6040516102f9919061253d565b34801561036f57600080fd5b5061031c61037e3660046125aa565b61092e565b34801561038f57600080fd5b506007546102ef565b3480156103a457600080fd5b5061031c6103b33660046125d6565b61099a565b3480156103c457600080fd5b506103cd610a2f565b005b3480156103db57600080fd5b506012546103ef906001600160a01b031681565b6040516001600160a01b0390911681526020016102f9565b34801561041357600080fd5b5061031c610422366004612617565b6000546001600160a01b0391821691161490565b34801561044257600080fd5b506102ef600f5481565b34801561045857600080fd5b50604051601281526020016102f9565b34801561047457600080fd5b5061031c610483366004612617565b60056020526000908152604090205460ff1681565b3480156104a457600080fd5b506102ef60185481565b3480156104ba57600080fd5b506102ef600b5481565b3480156104d057600080fd5b506102ef60095481565b3480156104e657600080fd5b506103cd6104f5366004612642565b610ae5565b34801561050657600080fd5b5061031c610515366004612617565b610b50565b34801561052657600080fd5b506102ef60105481565b34801561053c57600080fd5b506102ef600d5481565b34801561055257600080fd5b506103cd61056136600461265f565b610b64565b34801561057257600080fd5b506103cd610581366004612681565b610c56565b34801561059257600080fd5b5060155461031c90600160a01b900460ff1681565b3480156105b357600080fd5b506102ef6105c2366004612617565b6001600160a01b031660009081526003602052604090205490565b3480156105e957600080fd5b506102ef600c5481565b3480156105ff57600080fd5b506102ef61060e366004612617565b610cdc565b34801561061f57600080fd5b506103cd61062e366004612617565b610d72565b34801561063f57600080fd5b506015546103ef906001600160a01b031681565b34801561065f57600080fd5b506102ef61066e366004612617565b610dbe565b34801561067f57600080fd5b506103cd61068e3660046126ba565b610e67565b34801561069f57600080fd5b506000546001600160a01b03166103ef565b3480156106bd57600080fd5b506103cd6106cc366004612617565b610fc3565b3480156106dd57600080fd5b5061031c6106ec366004612617565b60066020526000908152604090205460ff1681565b34801561070d57600080fd5b506102ef60085481565b34801561072357600080fd5b506103cd6110f5565b34801561073857600080fd5b50604080518082019091526005815264534855424960d81b6020820152610356565b34801561076657600080fd5b506103cd611129565b34801561077b57600080fd5b506014546103ef906001600160a01b031681565b34801561079b57600080fd5b5061031c6107aa3660046125aa565b611190565b3480156107bb57600080fd5b506011546103ef906001600160a01b031681565b3480156107db57600080fd5b506102ef600e5481565b3480156107f157600080fd5b506103cd61119d565b34801561080657600080fd5b506017546103ef9061010090046001600160a01b031681565b34801561082b57600080fd5b506102ef600a5481565b34801561084157600080fd5b506102ef6108503660046126fd565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561088757600080fd5b506103cd61089636600461272b565b611540565b3480156108a757600080fd5b506103cd6108b63660046126fd565b61161e565b3480156108c757600080fd5b506103cd6108d6366004612617565b6116a6565b3480156108e757600080fd5b50306103ef565b3480156108fa57600080fd5b506103cd610909366004612681565b611790565b34801561091a57600080fd5b506013546103ef906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109899086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a1a576001600160a01b03841660009081526004602090815260408083203384529091529020546109f590839061275f565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a25848484611816565b90505b9392505050565b6000546001600160a01b03163314610a625760405162461bcd60e51b8152600401610a5990612776565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610a9c573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60175461010090046001600160a01b03163314610b395760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a59565b6017805460ff191691151591909117905542601855565b6000610b5e8260001961092e565b92915050565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b8152600401610a5990612776565b6103e8600754610b9e9190612799565b8210158015610bbc57506103e8600754610bb89190612799565b8110155b610c145760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610a59565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610c805760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610c4a565b601554604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610d3057600080fd5b505afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906127bb565b610a289190612799565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b8152600401610a5990612776565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610dd691906127d4565b610de091906127d4565b60155460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e2557600080fd5b505afa158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d91906127bb565b610d6891906127ec565b6000546001600160a01b03163314610e915760405162461bcd60e51b8152600401610a5990612776565b61014a84610e9f87896127d4565b610ea991906127d4565b11158015610ecd575061014a81610ec084866127d4565b610eca91906127d4565b11155b610f2e5760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610a59565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610f5a878b6127d4565b610f6491906127d4565b610f6e91906127d4565b610f7891906127d4565b610f8291906127d4565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610a5990612776565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b15801561103b57600080fd5b505afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906127bb565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f1919061280b565b5050565b6000546001600160a01b0316331461111f5760405162461bcd60e51b8152600401610a5990612776565b611127611d37565b565b60175461010090046001600160a01b0316331461117d5760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a59565b60178054610100600160a81b0319169055565b6000610a28338484611816565b6000546001600160a01b031633146111c75760405162461bcd60e51b8152600401610a5990612776565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561121557600080fd5b505afa158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190612828565b6001600160a01b031663e6a4390530601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190612828565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561132857600080fd5b505afa15801561133c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113609190612828565b601480546001600160a01b0319166001600160a01b0392909216918217905561112757601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156113d157600080fd5b505afa1580156113e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114099190612828565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146657600080fd5b505afa15801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e9190612828565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156114e657600080fd5b505af11580156114fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151e9190612828565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461156a5760405162461bcd60e51b8152600401610a5990612776565b60018110156115bb5760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610a59565b6015805460ff60a01b1916600160a01b8415158102919091179182905560168390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610c4a565b6000546001600160a01b031633146116485760405162461bcd60e51b8152600401610a5990612776565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610c4a565b6000546001600160a01b031633146116d05760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b0381166117355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a59565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117ba5760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610c4a565b60195460009060ff16156118365761182f8484846120dd565b9050610a28565b6001600160a01b03841660009081526005602052604090205460ff168061187557506001600160a01b03831660009081526005602052604090205460ff165b80611925575060175460ff1680156119255750601554604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b1580156118d557600080fd5b505afa1580156118e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190d919061280b565b8061192557506018546119219060b46127d4565b4210155b6119715760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610a59565b6000546001600160a01b0385811691161480159061199d57506012546001600160a01b03858116911614155b80156119b757506000546001600160a01b03848116911614155b80156119ce57506001600160a01b03831661dead14155b15611b95576014546001600160a01b0384811691161415611acf57601554604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611a2e57600080fd5b505afa158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6691906127bb565b82111580611a8357506107d0600754611a7f9190612799565b8211155b611acf5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610a59565b6014546001600160a01b03848116911614611b95576001600160a01b03831660009081526006602052604090205460ff1680611b3d57506009548211158015611b3d57506008546001600160a01b038416600090815260036020526040902054611b3a9084906127d4565b11155b611b955760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610a59565b611b9d612197565b15611baa57611baa611d37565b6001600160a01b038416600090815260036020526040902054611bce90839061275f565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611c1f57506001600160a01b03841660009081526005602052604090205460ff1615155b611c3357611c2e8585856121ef565b611c35565b825b6001600160a01b038516600090815260036020526040902054909150611c5c9082906127d4565b6001600160a01b0385811660008181526003602052604090819020939093556015549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401600060405180830381600087803b158015611cc757600080fd5b505af1158015611cdb573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d2491815260200190565b60405180910390a3506001949350505050565b6019805460ff19166001179055601054600090611d559060026127ec565b600f54600c54611d6591906127d4565b30600090815260036020526040902054611d7f91906127ec565b611d899190612799565b3060009081526003602052604081205491925090611da890839061275f565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611de257611de2612845565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611e3657600080fd5b505afa158015611e4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6e9190612828565b81600181518110611e8157611e81612845565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac94790611ec790859060009086903090429060040161285b565b600060405180830381600087803b158015611ee157600080fd5b505af1158015611ef5573d6000803e3d6000fd5b505050506000831115611f5857611f5883600f54600c546010546002611f1b91906127ec565b611f25919061275f565b611f2f919061275f565b600f54600c54611f3f91906127d4565b611f4990476127ec565b611f539190612799565b61240f565b6000600e54600b54600d54600a54611f7091906127d4565b611f7a91906127d4565b611f8491906127d4565b600d54600a54611f9491906127d4565b611f9e90476127ec565b611fa89190612799565b90506000611fb6824761275f565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461200d576040519150601f19603f3d011682016040523d82523d6000602084013e612012565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461206b576040519150601f19603f3d011682016040523d82523d6000602084013e612070565b606091505b5050905081801561207e5750805b6120ca5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610a59565b50506019805460ff191690555050505050565b6001600160a01b03831660009081526003602052604081205461210190839061275f565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546121319083906127d4565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121859086815260200190565b60405180910390a35060019392505050565b6014546000906001600160a01b031633148015906121b8575060195460ff16155b80156121cd5750601554600160a01b900460ff165b80156121ea57506016543060009081526003602052604090205410155b905090565b60145460009081906001600160a01b03868116911614801561221f57506014546001600160a01b03858116911614155b1561225b576103e8600c54600b54600a5461223a91906127d4565b61224491906127d4565b61224e90856127ec565b6122589190612799565b90505b6014546001600160a01b0386811691161480159061228657506014546001600160a01b038581169116145b1561238157620f4240600f54600e54600d546122a291906127d4565b6122ac91906127d4565b60155460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b1580156122f157600080fd5b505afa158015612305573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232991906127bb565b61233390866127ec565b61233d91906127ec565b6123479190612799565b9050606461235684601e6127ec565b6123609190612799565b81111561238157606461237484601e6127ec565b61237e9190612799565b90505b80156123fc57306000908152600360205260409020546123a29082906127d4565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906123f39085815260200190565b60405180910390a35b612406818461275f565b95945050505050565b3060009081526004602090815260408083206013546001600160a01b03168452909152902054821115612465573060009081526004602090815260408083206013546001600160a01b0316845290915290208290555b6013546011546001600160a01b039182169163f305d719918491309187916000918291166124954261012c6127d4565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061253691906128cc565b5050505050565b600060208083528351808285015260005b8181101561256a5785810183015185820160400152820161254e565b8181111561257c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146125a757600080fd5b50565b600080604083850312156125bd57600080fd5b82356125c881612592565b946020939093013593505050565b6000806000606084860312156125eb57600080fd5b83356125f681612592565b9250602084013561260681612592565b929592945050506040919091013590565b60006020828403121561262957600080fd5b8135610a2881612592565b80151581146125a757600080fd5b60006020828403121561265457600080fd5b8135610a2881612634565b6000806040838503121561267257600080fd5b50508035926020909101359150565b6000806040838503121561269457600080fd5b823561269f81612592565b915060208301356126af81612634565b809150509250929050565b60008060008060008060c087890312156126d357600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561271057600080fd5b823561271b81612592565b915060208301356126af81612592565b6000806040838503121561273e57600080fd5b82356125c881612634565b634e487b7160e01b600052601160045260246000fd5b60008282101561277157612771612749565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826127b657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156127cd57600080fd5b5051919050565b600082198211156127e7576127e7612749565b500190565b600081600019048311821515161561280657612806612749565b500290565b60006020828403121561281d57600080fd5b8151610a2881612634565b60006020828403121561283a57600080fd5b8151610a2881612592565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128ab5784516001600160a01b031683529383019391830191600101612886565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128e157600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122011db34bd34af81e755b0fc3782defb33a9433f6bfd743499e1a16f242dcd5b1764736f6c63430008090033000000000000000000000000eb896c07b9947d5721894f20fdaa06f2fead12da

Deployed Bytecode

0x6080604052600436106102cd5760003560e01c80637adbf97311610175578063a9059cbb116100dc578063dd62ed3e11610095578063f2fde38b1161006f578063f2fde38b146108bb578063f556fcdb146108db578063f84ba65d146108ee578063f887ea401461090e57600080fd5b8063dd62ed3e14610835578063df20fd491461087b578063e66db25e1461089b57600080fd5b8063a9059cbb1461078f578063b115e4df146107af578063b1be4271146107cf578063c1f1b1b5146107e5578063cbdcfd81146107fa578063da2354591461081f57600080fd5b80638b42507f1161012e5780638b42507f146106d15780638f9a55c01461070157806390a9ac3f1461071757806395d89b411461072c57806399ab04a71461075a578063a8aa1b311461076f57600080fd5b80637adbf973146106135780637dc0d1d01461063357806384ba35a91461065357806386f6c3c114610673578063893d20e81461069357806389476069146106b157600080fd5b806340c39c09116102345780636295c649116101ed5780636ddd1713116101c75780636ddd17131461058657806370a08231146105a7578063769b3fdd146105dd57806379d550c2146105f357600080fd5b80636295c649146105305780636540648114610546578063658d4b7f1461056657600080fd5b806340c39c09146104985780634cea44b5146104ae578063511b5f61146104c4578063559ef225146104da578063571ac8b0146104fa5780635be0499b1461051a57600080fd5b806325348b051161028657806325348b05146103b85780632598cdb2146103cf5780632f54bf6e146104075780632fe76bc214610436578063313ce5671461044c5780633f4218e01461046857600080fd5b80630445b667146102d9578063064a59d01461030257806306fdde031461032c578063095ea7b31461036357806318160ddd1461038357806323b872dd1461039857600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef60165481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5060175461031c9060ff1681565b60405190151581526020016102f9565b34801561033857600080fd5b50604080518082019091526005815264536875626960d81b60208201525b6040516102f9919061253d565b34801561036f57600080fd5b5061031c61037e3660046125aa565b61092e565b34801561038f57600080fd5b506007546102ef565b3480156103a457600080fd5b5061031c6103b33660046125d6565b61099a565b3480156103c457600080fd5b506103cd610a2f565b005b3480156103db57600080fd5b506012546103ef906001600160a01b031681565b6040516001600160a01b0390911681526020016102f9565b34801561041357600080fd5b5061031c610422366004612617565b6000546001600160a01b0391821691161490565b34801561044257600080fd5b506102ef600f5481565b34801561045857600080fd5b50604051601281526020016102f9565b34801561047457600080fd5b5061031c610483366004612617565b60056020526000908152604090205460ff1681565b3480156104a457600080fd5b506102ef60185481565b3480156104ba57600080fd5b506102ef600b5481565b3480156104d057600080fd5b506102ef60095481565b3480156104e657600080fd5b506103cd6104f5366004612642565b610ae5565b34801561050657600080fd5b5061031c610515366004612617565b610b50565b34801561052657600080fd5b506102ef60105481565b34801561053c57600080fd5b506102ef600d5481565b34801561055257600080fd5b506103cd61056136600461265f565b610b64565b34801561057257600080fd5b506103cd610581366004612681565b610c56565b34801561059257600080fd5b5060155461031c90600160a01b900460ff1681565b3480156105b357600080fd5b506102ef6105c2366004612617565b6001600160a01b031660009081526003602052604090205490565b3480156105e957600080fd5b506102ef600c5481565b3480156105ff57600080fd5b506102ef61060e366004612617565b610cdc565b34801561061f57600080fd5b506103cd61062e366004612617565b610d72565b34801561063f57600080fd5b506015546103ef906001600160a01b031681565b34801561065f57600080fd5b506102ef61066e366004612617565b610dbe565b34801561067f57600080fd5b506103cd61068e3660046126ba565b610e67565b34801561069f57600080fd5b506000546001600160a01b03166103ef565b3480156106bd57600080fd5b506103cd6106cc366004612617565b610fc3565b3480156106dd57600080fd5b5061031c6106ec366004612617565b60066020526000908152604090205460ff1681565b34801561070d57600080fd5b506102ef60085481565b34801561072357600080fd5b506103cd6110f5565b34801561073857600080fd5b50604080518082019091526005815264534855424960d81b6020820152610356565b34801561076657600080fd5b506103cd611129565b34801561077b57600080fd5b506014546103ef906001600160a01b031681565b34801561079b57600080fd5b5061031c6107aa3660046125aa565b611190565b3480156107bb57600080fd5b506011546103ef906001600160a01b031681565b3480156107db57600080fd5b506102ef600e5481565b3480156107f157600080fd5b506103cd61119d565b34801561080657600080fd5b506017546103ef9061010090046001600160a01b031681565b34801561082b57600080fd5b506102ef600a5481565b34801561084157600080fd5b506102ef6108503660046126fd565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561088757600080fd5b506103cd61089636600461272b565b611540565b3480156108a757600080fd5b506103cd6108b63660046126fd565b61161e565b3480156108c757600080fd5b506103cd6108d6366004612617565b6116a6565b3480156108e757600080fd5b50306103ef565b3480156108fa57600080fd5b506103cd610909366004612681565b611790565b34801561091a57600080fd5b506013546103ef906001600160a01b031681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109899086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a1a576001600160a01b03841660009081526004602090815260408083203384529091529020546109f590839061275f565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610a25848484611816565b90505b9392505050565b6000546001600160a01b03163314610a625760405162461bcd60e51b8152600401610a5990612776565b60405180910390fd5b60115460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610a9c573d6000803e3d6000fd5b50601154604080518381526001600160a01b0390921660208301527f98be19c3f4396a31e2a152c079eecc8fe940dcc3538dfe8fdc516e83567e9767910160405180910390a150565b60175461010090046001600160a01b03163314610b395760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a59565b6017805460ff191691151591909117905542601855565b6000610b5e8260001961092e565b92915050565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b8152600401610a5990612776565b6103e8600754610b9e9190612799565b8210158015610bbc57506103e8600754610bb89190612799565b8110155b610c145760405162461bcd60e51b8152602060048201526024808201527f43616e277420736574204d617857616c6c6574206f722054782062656c6f7720604482015263302e312560e01b6064820152608401610a59565b600882905560098190556040518281527fa2c87c3e7a3048198ae94e814f6a27e12a4e2a7476e33a0db4d97ffeaf636186906020015b60405180910390a15050565b6000546001600160a01b03163314610c805760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f1b92447bfc74f86a82293c184341926a5888220bc498dde33efabf7c3d796d699101610c4a565b601554604051632dc9977d60e21b81526001600160a01b0383811660048301526000928392670de0b6b3a7640000929091169063b7265df49060240160206040518083038186803b158015610d3057600080fd5b505afa158015610d44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6891906127bb565b610a289190612799565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b8152600401610a5990612776565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806064600f54600e54600d54610dd691906127d4565b610de091906127d4565b60155460405163de1a815960e01b81526001600160a01b0387811660048301529091169063de1a81599060240160206040518083038186803b158015610e2557600080fd5b505afa158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d91906127bb565b610d6891906127ec565b6000546001600160a01b03163314610e915760405162461bcd60e51b8152600401610a5990612776565b61014a84610e9f87896127d4565b610ea991906127d4565b11158015610ecd575061014a81610ec084866127d4565b610eca91906127d4565b11155b610f2e5760405162461bcd60e51b815260206004820152602c60248201527f546f74616c2066656573206d75737420626520657175616c20746f206f72206c60448201526b657373207468616e2033332560a01b6064820152608401610a59565b600a869055600b859055600c849055600d839055600e829055600f81905580848387610f5a878b6127d4565b610f6491906127d4565b610f6e91906127d4565b610f7891906127d4565b610f8291906127d4565b601055600a546040519081527fa142c987774756b13db02cb5b530db2fa8a680ce74f42d87f33148e3f7098ebb9060200160405180910390a1505050505050565b6000546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610a5990612776565b6000546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b15801561103b57600080fd5b505afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906127bb565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f1919061280b565b5050565b6000546001600160a01b0316331461111f5760405162461bcd60e51b8152600401610a5990612776565b611127611d37565b565b60175461010090046001600160a01b0316331461117d5760405162461bcd60e51b8152602060048201526012602482015271696e636f6d70617469626c6520726f6c652160701b6044820152606401610a59565b60178054610100600160a81b0319169055565b6000610a28338484611816565b6000546001600160a01b031633146111c75760405162461bcd60e51b8152600401610a5990612776565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561121557600080fd5b505afa158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190612828565b6001600160a01b031663e6a4390530601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190612828565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561132857600080fd5b505afa15801561133c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113609190612828565b601480546001600160a01b0319166001600160a01b0392909216918217905561112757601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156113d157600080fd5b505afa1580156113e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114099190612828565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146657600080fd5b505afa15801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e9190612828565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156114e657600080fd5b505af11580156114fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151e9190612828565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461156a5760405162461bcd60e51b8152600401610a5990612776565b60018110156115bb5760405162461bcd60e51b815260206004820152601f60248201527f43616e27742073657420537761705468726573686f6c6420746f205a45524f006044820152606401610a59565b6015805460ff60a01b1916600160a01b8415158102919091179182905560168390556040805160ff929093049190911615158252602082018390527f87648e954f6c9d5f5f7ddeb39f95ca8f7d2c14cbb2f190d5250f9b6eb04dd9349101610c4a565b6000546001600160a01b031633146116485760405162461bcd60e51b8152600401610a5990612776565b601180546001600160a01b038481166001600160a01b0319928316811790935560128054918516919092161790556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610c4a565b6000546001600160a01b031633146116d05760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b0381166117355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a59565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117ba5760405162461bcd60e51b8152600401610a5990612776565b6001600160a01b038216600081815260066020908152604091829020805460ff19168515159081179091558251938452908301527f6824b1d87573c276dab7cd55e81d1a9dda557f5deb51bad3c38832e5d1333fba9101610c4a565b60195460009060ff16156118365761182f8484846120dd565b9050610a28565b6001600160a01b03841660009081526005602052604090205460ff168061187557506001600160a01b03831660009081526005602052604090205460ff165b80611925575060175460ff1680156119255750601554604051635b59a93960e11b81526001600160a01b03868116600483015285811660248301529091169063b6b352729060440160206040518083038186803b1580156118d557600080fd5b505afa1580156118e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190d919061280b565b8061192557506018546119219060b46127d4565b4210155b6119715760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420617574686f72697a656420746f2074726164652079657400000000006044820152606401610a59565b6000546001600160a01b0385811691161480159061199d57506012546001600160a01b03858116911614155b80156119b757506000546001600160a01b03848116911614155b80156119ce57506001600160a01b03831661dead14155b15611b95576014546001600160a01b0384811691161415611acf57601554604051632dc9977d60e21b81526001600160a01b0386811660048301529091169063b7265df49060240160206040518083038186803b158015611a2e57600080fd5b505afa158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6691906127bb565b82111580611a8357506107d0600754611a7f9190612799565b8211155b611acf5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e742065786365656473206d61782074782e006044820152606401610a59565b6014546001600160a01b03848116911614611b95576001600160a01b03831660009081526006602052604090205460ff1680611b3d57506009548211158015611b3d57506008546001600160a01b038416600090815260036020526040902054611b3a9084906127d4565b11155b611b955760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e742065786365656473206d61782077616c6c60448201526232ba1760e91b6064820152608401610a59565b611b9d612197565b15611baa57611baa611d37565b6001600160a01b038416600090815260036020526040902054611bce90839061275f565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff16151580611c1f57506001600160a01b03841660009081526005602052604090205460ff1615155b611c3357611c2e8585856121ef565b611c35565b825b6001600160a01b038516600090815260036020526040902054909150611c5c9082906127d4565b6001600160a01b0385811660008181526003602052604090819020939093556015549251630c38245360e21b815288831660048201526024810191909152604481018690529116906330e0914c90606401600060405180830381600087803b158015611cc757600080fd5b505af1158015611cdb573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d2491815260200190565b60405180910390a3506001949350505050565b6019805460ff19166001179055601054600090611d559060026127ec565b600f54600c54611d6591906127d4565b30600090815260036020526040902054611d7f91906127ec565b611d899190612799565b3060009081526003602052604081205491925090611da890839061275f565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611de257611de2612845565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611e3657600080fd5b505afa158015611e4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6e9190612828565b81600181518110611e8157611e81612845565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac94790611ec790859060009086903090429060040161285b565b600060405180830381600087803b158015611ee157600080fd5b505af1158015611ef5573d6000803e3d6000fd5b505050506000831115611f5857611f5883600f54600c546010546002611f1b91906127ec565b611f25919061275f565b611f2f919061275f565b600f54600c54611f3f91906127d4565b611f4990476127ec565b611f539190612799565b61240f565b6000600e54600b54600d54600a54611f7091906127d4565b611f7a91906127d4565b611f8491906127d4565b600d54600a54611f9491906127d4565b611f9e90476127ec565b611fa89190612799565b90506000611fb6824761275f565b6011546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461200d576040519150601f19603f3d011682016040523d82523d6000602084013e612012565b606091505b50506012546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d806000811461206b576040519150601f19603f3d011682016040523d82523d6000602084013e612070565b606091505b5050905081801561207e5750805b6120ca5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610a59565b50506019805460ff191690555050505050565b6001600160a01b03831660009081526003602052604081205461210190839061275f565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546121319083906127d4565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121859086815260200190565b60405180910390a35060019392505050565b6014546000906001600160a01b031633148015906121b8575060195460ff16155b80156121cd5750601554600160a01b900460ff165b80156121ea57506016543060009081526003602052604090205410155b905090565b60145460009081906001600160a01b03868116911614801561221f57506014546001600160a01b03858116911614155b1561225b576103e8600c54600b54600a5461223a91906127d4565b61224491906127d4565b61224e90856127ec565b6122589190612799565b90505b6014546001600160a01b0386811691161480159061228657506014546001600160a01b038581169116145b1561238157620f4240600f54600e54600d546122a291906127d4565b6122ac91906127d4565b60155460405163de1a815960e01b81526001600160a01b0389811660048301529091169063de1a81599060240160206040518083038186803b1580156122f157600080fd5b505afa158015612305573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232991906127bb565b61233390866127ec565b61233d91906127ec565b6123479190612799565b9050606461235684601e6127ec565b6123609190612799565b81111561238157606461237484601e6127ec565b61237e9190612799565b90505b80156123fc57306000908152600360205260409020546123a29082906127d4565b30600081815260036020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906123f39085815260200190565b60405180910390a35b612406818461275f565b95945050505050565b3060009081526004602090815260408083206013546001600160a01b03168452909152902054821115612465573060009081526004602090815260408083206013546001600160a01b0316845290915290208290555b6013546011546001600160a01b039182169163f305d719918491309187916000918291166124954261012c6127d4565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c4016060604051808303818588803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061253691906128cc565b5050505050565b600060208083528351808285015260005b8181101561256a5785810183015185820160400152820161254e565b8181111561257c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146125a757600080fd5b50565b600080604083850312156125bd57600080fd5b82356125c881612592565b946020939093013593505050565b6000806000606084860312156125eb57600080fd5b83356125f681612592565b9250602084013561260681612592565b929592945050506040919091013590565b60006020828403121561262957600080fd5b8135610a2881612592565b80151581146125a757600080fd5b60006020828403121561265457600080fd5b8135610a2881612634565b6000806040838503121561267257600080fd5b50508035926020909101359150565b6000806040838503121561269457600080fd5b823561269f81612592565b915060208301356126af81612634565b809150509250929050565b60008060008060008060c087890312156126d357600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561271057600080fd5b823561271b81612592565b915060208301356126af81612592565b6000806040838503121561273e57600080fd5b82356125c881612634565b634e487b7160e01b600052601160045260246000fd5b60008282101561277157612771612749565b500390565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b6000826127b657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156127cd57600080fd5b5051919050565b600082198211156127e7576127e7612749565b500190565b600081600019048311821515161561280657612806612749565b500290565b60006020828403121561281d57600080fd5b8151610a2881612634565b60006020828403121561283a57600080fd5b8151610a2881612592565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156128ab5784516001600160a01b031683529383019391830191600101612886565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156128e157600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122011db34bd34af81e755b0fc3782defb33a9433f6bfd743499e1a16f242dcd5b1764736f6c63430008090033

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

000000000000000000000000eb896c07b9947d5721894f20fdaa06f2fead12da

-----Decoded View---------------
Arg [0] : _oracle (address): 0xeB896C07b9947D5721894f20FdAa06F2FEaD12DA

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000eb896c07b9947d5721894f20fdaa06f2fead12da


Deployed Bytecode Sourcemap

2868:12945:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4685:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4685:55:0;;;;;;;;4758:36;;;;;;;;;;-1:-1:-1;4758:36:0;;;;;;;;;;;361:14:1;;354:22;336:41;;324:2;309:18;4758:36:0;196:187:1;6032:80:0;;;;;;;;;;-1:-1:-1;6104:5:0;;;;;;;;;;;;-1:-1:-1;;;6104:5:0;;;;6032:80;;;;;;;:::i;6454:216::-;;;;;;;;;;-1:-1:-1;6454:216:0;;;;;:::i;:::-;;:::i;5762:88::-;;;;;;;;;;-1:-1:-1;5835:12:0;;5762:88;;7026:341;;;;;;;;;;-1:-1:-1;7026:341:0;;;;;:::i;:::-;;:::i;15318:238::-;;;;;;;;;;;;;:::i;:::-;;4381:75;;;;;;;;;;-1:-1:-1;4381:75:0;;;;-1:-1:-1;;;;;4381:75:0;;;;;;-1:-1:-1;;;;;2071:32:1;;;2053:51;;2041:2;2026:18;4381:75:0;1907:203:1;1775:103:0;;;;;;;;;;-1:-1:-1;1775:103:0;;;;;:::i;:::-;1830:4;1865:5;-1:-1:-1;;;;;1854:16:0;;;1865:5;;1854:16;;1775:103;4138:36;;;;;;;;;;;;;;;;5856:80;;;;;;;;;;-1:-1:-1;5856:80:0;;3690:2;2509:36:1;;2497:2;2482:18;5856:80:0;2367:184:1;3447:44:0;;;;;;;;;;-1:-1:-1;3447:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4841:31;;;;;;;;;;;;;;;;3972:35;;;;;;;;;;;;;;;;3851:55;;;;;;;;;;;;;;;;7901:234;;;;;;;;;;-1:-1:-1;7901:234:0;;;;;:::i;:::-;;:::i;6678:122::-;;;;;;;;;;-1:-1:-1;6678:122:0;;;;;:::i;:::-;;:::i;4183:123::-;;;;;;;;;;;;;;;;4058:30;;;;;;;;;;;;;;;;12708:358;;;;;;;;;;-1:-1:-1;12708:358:0;;;;;:::i;:::-;;:::i;13074:165::-;;;;;;;;;;-1:-1:-1;13074:165:0;;;;;:::i;:::-;;:::i;4648:30::-;;;;;;;;;;-1:-1:-1;4648:30:0;;;;-1:-1:-1;;;4648:30:0;;;;;;6202:105;;;;;;;;;;-1:-1:-1;6202:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6286:18:0;6268:7;6286:18;;;:9;:18;;;;;;;6202:105;4014:35;;;;;;;;;;;;;;;;15095:184;;;;;;;;;;-1:-1:-1;15095:184:0;;;;;:::i;:::-;;:::i;7626:88::-;;;;;;;;;;-1:-1:-1;7626:88:0;;;;;:::i;:::-;;:::i;4618:21::-;;;;;;;;;;-1:-1:-1;4618:21:0;;;;-1:-1:-1;;;;;4618:21:0;;;14853:234;;;;;;;;;;-1:-1:-1;14853:234:0;;;;;:::i;:::-;;:::i;13432:814::-;;;;;;;;;;-1:-1:-1;13432:814:0;;;;;:::i;:::-;;:::i;6118:78::-;;;;;;;;;;-1:-1:-1;6170:7:0;6188:5;-1:-1:-1;;;;;6188:5:0;6118:78;;15564:144;;;;;;;;;;-1:-1:-1;15564:144:0;;;;;:::i;:::-;;:::i;3498:48::-;;;;;;;;;;-1:-1:-1;3498:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3785:59;;;;;;;;;;;;;;;;14771:74;;;;;;;;;;;;;:::i;5942:84::-;;;;;;;;;;-1:-1:-1;6016:7:0;;;;;;;;;;;;-1:-1:-1;;;6016:7:0;;;;5942:84;;7722:171;;;;;;;;;;;;;:::i;4592:19::-;;;;;;;;;;-1:-1:-1;4592:19:0;;;;-1:-1:-1;;;;;4592:19:0;;;6808:156;;;;;;;;;;-1:-1:-1;6808:156:0;;;;;:::i;:::-;;:::i;4350:24::-;;;;;;;;;;-1:-1:-1;4350:24:0;;;;-1:-1:-1;;;;;4350:24:0;;;4095:36;;;;;;;;;;;;;;;;7375:243;;;;;;;;;;;;;:::i;4801:33::-;;;;;;;;;;-1:-1:-1;4801:33:0;;;;;;;-1:-1:-1;;;;;4801:33:0;;;3936:29;;;;;;;;;;;;;;;;6313:133;;;;;;;;;;-1:-1:-1;6313:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6415:19:0;;;6397:7;6415:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6313:133;14478:285;;;;;;;;;;-1:-1:-1;14478:285:0;;;;;:::i;:::-;;:::i;14254:216::-;;;;;;;;;;-1:-1:-1;14254:216:0;;;;;:::i;:::-;;:::i;1886:242::-;;;;;;;;;;-1:-1:-1;1886:242:0;;;;;:::i;:::-;;:::i;15716:94::-;;;;;;;;;;-1:-1:-1;15797:4:0;15716:94;;13247:177;;;;;;;;;;-1:-1:-1;13247:177:0;;;;;:::i;:::-;;:::i;4561:24::-;;;;;;;;;;-1:-1:-1;4561:24:0;;;;-1:-1:-1;;;;;4561:24:0;;;6454:216;6558:10;6529:4;6546:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6546:32:0;;;;;;;;;;:41;;;6603:37;6529:4;;6546:32;;6603:37;;;;6581:6;160:25:1;;148:2;133:18;;14:177;6603:37:0;;;;;;;;-1:-1:-1;6658:4:0;6454:216;;;;:::o;7026:341::-;-1:-1:-1;;;;;7146:19:0;;7126:4;7146:19;;;:11;:19;;;;;;;;7166:10;7146:31;;;;;;;;-1:-1:-1;;7146:52:0;7143:159;;-1:-1:-1;;;;;7248:19:0;;;;;;:11;:19;;;;;;;;7268:10;7248:31;;;;;;;;:42;;7283:6;;7248:42;:::i;:::-;-1:-1:-1;;;;;7214:19:0;;;;;;:11;:19;;;;;;;;7234:10;7214:31;;;;;;;:76;7143:159;7319:40;7333:6;7341:9;7352:6;7319:13;:40::i;:::-;7312:47;;7026:341;;;;;;:::o;15318:238::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;;;;;;;;;15446:9:::1;::::0;15438:47:::1;::::0;15406:21:::1;::::0;-1:-1:-1;;;;;15446:9:0::1;::::0;15438:47;::::1;;;::::0;15406:21;;15377:26:::1;15438:47:::0;15377:26;15438:47;15406:21;15446:9;15438:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15538:9:0::1;::::0;15501:47:::1;::::0;;5799:25:1;;;-1:-1:-1;;;;;15538:9:0;;::::1;5855:2:1::0;5840:18;;5833:60;15501:47:0::1;::::0;5772:18:1;15501:47:0::1;;;;;;;15366:190;15318:238::o:0;7901:234::-;7980:18;;;;;-1:-1:-1;;;;;7980:18:0;8002:10;7980:32;7972:63;;;;-1:-1:-1;;;7972:63:0;;6106:2:1;7972:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;7972:63:0;5904:342:1;7972:63:0;8046:16;:36;;-1:-1:-1;;8046:36:0;;;;;;;;;;8112:15;8093:16;:34;7901:234::o;6678:122::-;6733:4;6757:35;6765:7;-1:-1:-1;;6757:7:0;:35::i;:::-;6750:42;6678:122;-1:-1:-1;;6678:122:0:o;12708:358::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;12853:4:::1;12838:12;;:19;;;;:::i;:::-;12819:15;:38;;:76;;;;;12891:4;12876:12;;:19;;;;:::i;:::-;12861:11;:34;;12819:76;12811:125;;;::::0;-1:-1:-1;;;12811:125:0;;6675:2:1;12811:125:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:34;6733:18;;;6726:62;-1:-1:-1;;;6804:18:1;;;6797:34;6848:19;;12811:125:0::1;6473:400:1::0;12811:125:0::1;12947:14;:32:::0;;;12990:10:::1;:24:::0;;;13030:28:::1;::::0;160:25:1;;;13030:28:0::1;::::0;148:2:1;133:18;13030:28:0::1;;;;;;;;12708:358:::0;;:::o;13074:165::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13157:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;;:28;;-1:-1:-1;;13157:28:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13201:30;;7046:51:1;;;7113:18;;;7106:50;13201:30:0::1;::::0;7019:18:1;13201:30:0::1;6878:284:1::0;15095:184:0;15205:6;;15198:32;;-1:-1:-1;;;15198:32:0;;-1:-1:-1;;;;;2071:32:1;;;15198::0;;;2053:51:1;15157:7:0;;;;15234:8;;15205:6;;;;15198:23;;2026:18:1;;15198:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;;;:::i;7626:88::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;7690:6:::1;:16:::0;;-1:-1:-1;;;;;;7690:16:0::1;-1:-1:-1::0;;;;;7690:16:0;;;::::1;::::0;;;::::1;::::0;;7626:88::o;14853:234::-;14915:7;14935:18;15047:3;15027:16;;15008;;14995:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;14964:6;;14957:34;;-1:-1:-1;;;14957:34:0;;-1:-1:-1;;;;;2071:32:1;;;14957:34:0;;;2053:51:1;14964:6:0;;;;14957:25;;2026:18:1;;14957:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:87;;;;:::i;13432:814::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;13706:3:::1;13686:16:::0;13654:29:::1;13667:16:::0;13654:10;:29:::1;:::i;:::-;:48;;;;:::i;:::-;:55;;:117;;;;-1:-1:-1::0;13768:3:0::1;13747:17:::0;13713:31:::1;13727:17:::0;13713:11;:31:::1;:::i;:::-;:51;;;;:::i;:::-;:58;;13654:117;13646:174;;;::::0;-1:-1:-1;;;13646:174:0;;7864:2:1;13646:174:0::1;::::0;::::1;7846:21:1::0;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:42;8045:19;;13646:174:0::1;7662:408:1::0;13646:174:0::1;13833:9;:22:::0;;;13866:15:::1;:34:::0;;;13911:15:::1;:34:::0;;;13958:10:::1;:24:::0;;;13993:16:::1;:36:::0;;;14040:16:::1;:36:::0;;;14059:17;13929:16;14012:17;13884:16;14101:22:::1;13971:11:::0;13845:10;14101:22:::1;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;:77;;;;:::i;:::-;:96;;;;:::i;:::-;14089:9;:108:::0;14228:9:::1;::::0;14220:18:::1;::::0;160:25:1;;;14220:18:0::1;::::0;148:2:1;133:18;14220::0::1;;;;;;;13432:814:::0;;;;;;:::o;15564:144::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;15654:5:::1;::::0;15661:38:::1;::::0;-1:-1:-1;;;15661:38:0;;15693:4:::1;15661:38;::::0;::::1;2053:51:1::0;-1:-1:-1;;;;;15631:22:0;;::::1;::::0;::::1;::::0;15654:5;::::1;::::0;15631:22;;15661:23:::1;::::0;2026:18:1;;15661:38:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15631:69;::::0;-1:-1:-1;;;;;;15631:69:0::1;::::0;;;;;;-1:-1:-1;;;;;8267:32:1;;;15631:69:0::1;::::0;::::1;8249:51:1::0;8316:18;;;8309:34;8222:18;;15631:69:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15564:144:::0;:::o;14771:74::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;14825:10:::1;:8;:10::i;:::-;14771:74::o:0;7722:171::-;7786:18;;;;;-1:-1:-1;;;;;7786:18:0;7808:10;7786:32;7778:63;;;;-1:-1:-1;;;7778:63:0;;6106:2:1;7778:63:0;;;6088:21:1;6145:2;6125:18;;;6118:30;-1:-1:-1;;;6164:18:1;;;6157:48;6222:18;;7778:63:0;5904:342:1;7778:63:0;7852:18;:33;;-1:-1:-1;;;;;;7852:33:0;;;7722:171::o;6808:156::-;6888:4;6912:44;6926:10;6938:9;6949:6;6912:13;:44::i;7375:243::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;7441:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7441:6:0::1;-1:-1:-1::0;;;;;7441:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7429:37:0::1;;7475:4;7482:6;;;;;;;;;-1:-1:-1::0;;;;;7482:6:0::1;-1:-1:-1::0;;;;;7482:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7429:67;::::0;-1:-1:-1;;;;;;7429:67:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7429:67:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7429:67:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7422:4;:74:::0;;-1:-1:-1;;;;;;7422:74:0::1;-1:-1:-1::0;;;;;7422:74:0;;;::::1;::::0;;::::1;::::0;;7507:104:::1;;7551:6;;;;;;;;;-1:-1:-1::0;;;;;7551:6:0::1;-1:-1:-1::0;;;;;7551:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7539:40:0::1;;7588:4;7595:6;;;;;;;;;-1:-1:-1::0;;;;;7595:6:0::1;-1:-1:-1::0;;;;;7595:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7539:70;::::0;-1:-1:-1;;;;;;7539:70:0::1;::::0;;;;;;-1:-1:-1;;;;;9090:15:1;;;7539:70:0::1;::::0;::::1;9072:34:1::0;9142:15;;9122:18;;;9115:43;9007:18;;7539:70:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7532:4;:77:::0;;-1:-1:-1;;;;;;7532:77:0::1;-1:-1:-1::0;;;;;7532:77:0;;;::::1;::::0;;;::::1;::::0;;7375:243::o;14478:285::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;14588:1:::1;14577:7;:12;;14569:56;;;::::0;-1:-1:-1;;;14569:56:0;;9371:2:1;14569:56:0::1;::::0;::::1;9353:21:1::0;9410:2;9390:18;;;9383:30;9449:33;9429:18;;;9422:61;9500:18;;14569:56:0::1;9169:355:1::0;14569:56:0::1;14636:11;:22:::0;;-1:-1:-1;;;;14636:22:0::1;-1:-1:-1::0;;;14636:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;14669:13:::1;:23:::0;;;14708:47:::1;::::0;;14636:22:::1;14728:11:::0;;;::::1;::::0;;;::::1;9722:14:1::0;9715:22;9697:41;;9769:2;9754:18;;9747:34;;;14708:47:0::1;::::0;9670:18:1;14708:47:0::1;9529:258:1::0;14254:216:0;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;14354:9:::1;:22:::0;;-1:-1:-1;;;;;14354:22:0;;::::1;-1:-1:-1::0;;;;;;14354:22:0;;::::1;::::0;::::1;::::0;;;14387:15:::1;:34:::0;;;;::::1;::::0;;;::::1;;::::0;;14437:25:::1;::::0;2053:51:1;;;14437:25:0::1;::::0;2041:2:1;2026:18;14437:25:0::1;1907:203:1::0;1886:242:0;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1975:22:0;::::1;1967:73;;;::::0;-1:-1:-1;;;1967:73:0;;9994:2:1;1967:73:0::1;::::0;::::1;9976:21:1::0;10033:2;10013:18;;;10006:30;10072:34;10052:18;;;10045:62;-1:-1:-1;;;10123:18:1;;;10116:36;10169:19;;1967:73:0::1;9792:402:1::0;1967:73:0::1;2077:5;::::0;;2056:37:::1;::::0;-1:-1:-1;;;;;2056:37:0;;::::1;::::0;2077:5;::::1;::::0;2056:37:::1;::::0;::::1;2104:5;:16:::0;;-1:-1:-1;;;;;;2104:16:0::1;-1:-1:-1::0;;;;;2104:16:0;;;::::1;::::0;;;::::1;::::0;;1886:242::o;13247:177::-;1727:5;;-1:-1:-1;;;;;1727:5:0;1713:10;:19;1705:41;;;;-1:-1:-1;;;1705:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13334:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;;;;:32;;-1:-1:-1;;13334:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13382:34;;7046:51:1;;;7113:18;;;7106:50;13382:34:0::1;::::0;7019:18:1;13382:34:0::1;6878:284:1::0;8143:1499:0;8257:6;;8235:4;;8257:6;;8254:62;;;8273:41;8288:6;8296:9;8307:6;8273:14;:41::i;:::-;8266:48;;;;8254:62;-1:-1:-1;;;;;8352:19:0;;;;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8375:22:0;;;;;;:11;:22;;;;;;;;8352:45;:183;;;-1:-1:-1;8401:16:0;;;;:134;;;;-1:-1:-1;8429:6:0;;8422:47;;-1:-1:-1;;;8422:47:0;;-1:-1:-1;;;;;9090:15:1;;;8422:47:0;;;9072:34:1;9142:15;;;9122:18;;;9115:43;8429:6:0;;;;8422:28;;9007:18:1;;8422:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:112;;;-1:-1:-1;8506:16:0;;:28;;8525:9;8506:28;:::i;:::-;8487:15;:47;;8422:112;8344:223;;;;-1:-1:-1;;;8344:223:0;;10401:2:1;8344:223:0;;;10383:21:1;10440:2;10420:18;;;10413:30;10479:29;10459:18;;;10452:57;10526:18;;8344:223:0;10199:351:1;8344:223:0;8635:5;;-1:-1:-1;;;;;8625:15:0;;;8635:5;;8625:15;;;;:44;;-1:-1:-1;8654:15:0;;-1:-1:-1;;;;;8644:25:0;;;8654:15;;8644:25;;8625:44;:66;;;;-1:-1:-1;8686:5:0;;-1:-1:-1;;;;;8673:18:0;;;8686:5;;8673:18;;8625:66;:87;;;;-1:-1:-1;;;;;;8695:17:0;;4495:42;8695:17;;8625:87;8621:493;;;8746:4;;-1:-1:-1;;;;;8733:17:0;;;8746:4;;8733:17;8729:164;;;8797:6;;8790:31;;-1:-1:-1;;;8790:31:0;;-1:-1:-1;;;;;2071:32:1;;;8790:31:0;;;2053:51:1;8797:6:0;;;;8790:23;;2026:18:1;;8790:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8779:6;:43;;:76;;;;8851:4;8836:12;;:19;;;;:::i;:::-;8826:6;:29;;8779:76;8771:120;;;;-1:-1:-1;;;8771:120:0;;10757:2:1;8771:120:0;;;10739:21:1;10796:2;10776:18;;;10769:30;10835:33;10815:18;;;10808:61;10886:18;;8771:120:0;10555:355:1;8771:120:0;8925:4;;-1:-1:-1;;;;;8912:17:0;;;8925:4;;8912:17;8908:195;;-1:-1:-1;;;;;8958:26:0;;;;;;:15;:26;;;;;;;;;:103;;;8999:10;;8989:6;:20;;:71;;;;-1:-1:-1;9046:14:0;;-1:-1:-1;;;;;9013:20:0;;;;;;:9;:20;;;;;;:29;;9036:6;;9013:29;:::i;:::-;:47;;8989:71;8950:151;;;;-1:-1:-1;;;8950:151:0;;11117:2:1;8950:151:0;;;11099:21:1;11156:2;11136:18;;;11129:30;11195:34;11175:18;;;11168:62;-1:-1:-1;;;11246:18:1;;;11239:33;11289:19;;8950:151:0;10915:399:1;8950:151:0;9156:16;:14;:16::i;:::-;9153:33;;;9174:10;:8;:10::i;:::-;-1:-1:-1;;;;;9218:17:0;;;;;;:9;:17;;;;;;:26;;9238:6;;9218:26;:::i;:::-;-1:-1:-1;;;;;9198:17:0;;;;;;:9;:17;;;;;;;;:46;;;;10074:11;:19;;;;;;;;10073:20;9319:22;:51;;;-1:-1:-1;;;;;;10074:19:0;;10049:4;10074:19;;;:11;:19;;;;;;;;10073:20;9345:25;9319:51;9318:99;;9383:34;9391:6;9399:9;9410:6;9383:7;:34::i;:::-;9318:99;;;9374:6;9318:99;-1:-1:-1;;;;;9451:20:0;;;;;;:9;:20;;;;;;9293:124;;-1:-1:-1;9451:39:0;;9293:124;;9451:39;:::i;:::-;-1:-1:-1;;;;;9428:20:0;;;;;;;:9;:20;;;;;;;:62;;;;9510:6;;9503:48;;-1:-1:-1;;;9503:48:0;;11577:15:1;;;9503:48:0;;;11559:34:1;11609:18;;;11602:43;;;;11661:18;;;11654:34;;;9510:6:0;;;9503:21;;11494:18:1;;9503:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9584:9;-1:-1:-1;;;;;9567:43:0;9576:6;-1:-1:-1;;;;;9567:43:0;;9595:14;9567:43;;;;160:25:1;;148:2;133:18;;14:177;9567:43:0;;;;;;;;-1:-1:-1;9630:4:0;;8143:1499;-1:-1:-1;;;;8143:1499:0:o;11445:1230::-;4921:6;:13;;-1:-1:-1;;4921:13:0;4930:4;4921:13;;;11589:9:::1;::::0;4921:6;;11585:13:::1;::::0;:1:::1;:13;:::i;:::-;11564:16;;11546:15;;:34;;;;:::i;:::-;11536:4;6268:7:::0;6286:18;;;:9;:18;;;;;;11518:63:::1;;;;:::i;:::-;:81;;;;:::i;:::-;11651:4;11610:20;6286:18:::0;;;:9;:18;;;;;;11496:103;;-1:-1:-1;11610:20:0;11633:38:::1;::::0;11496:103;;11633:38:::1;:::i;:::-;11708:16;::::0;;11722:1:::1;11708:16:::0;;;;;::::1;::::0;;11610:61;;-1:-1:-1;11684:21:0::1;::::0;11708:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11708:16:0::1;11684:40;;11753:4;11735;11740:1;11735:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11735:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11779:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;11779:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;11735:7;;11779:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11769:4;11774:1;11769:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11769:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11805:6:::1;::::0;:112:::1;::::0;-1:-1:-1;;;11805:112:0;;:6;::::1;::::0;:57:::1;::::0;:112:::1;::::0;11863:12;;11805:6:::1;::::0;11880:4;;11894::::1;::::0;11901:15:::1;::::0;11805:112:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11948:1;11934:11;:15;11930:190;;;11966:142;11979:11;12090:16;;12072:15;;12060:9;;12056:1;:13;;;;:::i;:::-;:31;;;;:::i;:::-;:50;;;;:::i;:::-;12035:16;;12017:15;;:34;;;;:::i;:::-;11992:60;::::0;:21:::1;:60;:::i;:::-;:115;;;;:::i;:::-;11966:12;:142::i;:::-;12132:20;12250:16;;12232:15;;12219:10;;12207:9;;:22;;;;:::i;:::-;:40;;;;:::i;:::-;:59;;;;:::i;:::-;12192:10;;12180:9;;:22;;;;:::i;:::-;12155:48;::::0;:21:::1;:48;:::i;:::-;:112;;;;:::i;:::-;12132:135:::0;-1:-1:-1;12278:26:0::1;12307:36;12132:135:::0;12307:21:::1;:36;:::i;:::-;12407:9;::::0;12399:60:::1;::::0;12278:65;;-1:-1:-1;12357:13:0::1;::::0;-1:-1:-1;;;;;12407:9:0;;::::1;::::0;12449:5:::1;::::0;12430:12;;12357:13;12399:60;12357:13;12399:60;12430:12;12407:9;12449:5;12399:60:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;12521:15:0::1;::::0;12513:72:::1;::::0;12356:103;;-1:-1:-1;12471:13:0::1;::::0;-1:-1:-1;;;;;12521:15:0;;::::1;::::0;12575:5:::1;::::0;12550:18;;12471:13;12513:72;12471:13;12513:72;12550:18;12521:15;12575:5;12513:72:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12470:115;;;12610:8;:20;;;;;12622:8;12610:20;12602:63;;;::::0;-1:-1:-1;;;12602:63:0;;13360:2:1;12602:63:0::1;::::0;::::1;13342:21:1::0;13399:2;13379:18;;;13372:30;13438:32;13418:18;;;13411:60;13488:18;;12602:63:0::1;13158:354:1::0;12602:63:0::1;-1:-1:-1::0;;4939:6:0;:14;;-1:-1:-1;;4939:14:0;;;-1:-1:-1;;;;;11445:1230:0:o;9654:300::-;-1:-1:-1;;;;;9784:17:0;;9747:4;9784:17;;;:9;:17;;;;;;:26;;9804:6;;9784:26;:::i;:::-;-1:-1:-1;;;;;9764:17:0;;;;;;;:9;:17;;;;;;:46;;;;9844:20;;;;;;;:29;;9867:6;;9844:29;:::i;:::-;-1:-1:-1;;;;;9821:20:0;;;;;;;:9;:20;;;;;;;:52;;;;9889:35;;;;;;;;;;9917:6;160:25:1;;148:2;133:18;;14:177;9889:35:0;;;;;;;;-1:-1:-1;9942:4:0;9654:300;;;;;:::o;10886:197::-;10973:4;;10935;;-1:-1:-1;;;;;10973:4:0;10959:10;:18;;;;:38;;-1:-1:-1;10991:6:0;;;;10990:7;10959:38;:62;;;;-1:-1:-1;11010:11:0;;-1:-1:-1;;;11010:11:0;;;;10959:62;:116;;;;-1:-1:-1;11062:13:0;;11052:4;11034:24;;;;:9;:24;;;;;;:41;;10959:116;10952:123;;10886:197;:::o;10109:769::-;10268:4;;10195:7;;;;-1:-1:-1;;;;;10258:14:0;;;10268:4;;10258:14;:35;;;;-1:-1:-1;10289:4:0;;-1:-1:-1;;;;;10276:17:0;;;10289:4;;10276:17;;10258:35;10254:133;;;10381:4;10362:15;;10344;;10332:9;;:27;;;;:::i;:::-;:45;;;;:::i;:::-;10322:56;;:6;:56;:::i;:::-;:63;;;;:::i;:::-;10310:75;;10254:133;10414:4;;-1:-1:-1;;;;;10404:14:0;;;10414:4;;10404:14;;;;:35;;-1:-1:-1;10435:4:0;;-1:-1:-1;;;;;10422:17:0;;;10435:4;;10422:17;10404:35;10400:256;;;10566:7;10546:16;;10527;;10514:10;;:29;;;;:::i;:::-;:48;;;;:::i;:::-;10484:6;;10477:33;;-1:-1:-1;;;10477:33:0;;-1:-1:-1;;;;;2071:32:1;;;10477:33:0;;;2053:51:1;10484:6:0;;;;10477:25;;2026:18:1;;10477:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10468:42;;:6;:42;:::i;:::-;:95;;;;:::i;:::-;:105;;;;:::i;:::-;10456:117;-1:-1:-1;10618:3:0;10604:11;10609:6;10604:2;:11;:::i;:::-;:17;;;;:::i;:::-;10592:9;:29;10588:67;;;10650:3;10636:11;10641:6;10636:2;:11;:::i;:::-;:17;;;;:::i;:::-;10624:29;;10588:67;10672:13;;10668:163;;10747:4;10729:24;;;;:9;:24;;;;;;:38;;10757:9;;10729:38;:::i;:::-;10720:4;10702:24;;;;:9;:24;;;;;;;:65;;;;10787:42;;-1:-1:-1;;;;;10787:42:0;;;;;;;10819:9;160:25:1;;148:2;133:18;;14:177;10787:42:0;;;;;;;;10668:163;10850:20;10860:9;10850:6;:20;:::i;:::-;10843:27;10109:769;-1:-1:-1;;;;;10109:769:0:o;11091:346::-;11199:4;11179:26;;;;:11;:26;;;;;;;;11214:6;;-1:-1:-1;;;;;11214:6:0;11179:43;;;;;;;;:59;-1:-1:-1;11176:125:0;;;11260:4;11240:26;;;;:11;:26;;;;;;;;11275:6;;-1:-1:-1;;;;;11275:6:0;11240:43;;;;;;;:59;;;11176:125;11311:6;;11390:9;;-1:-1:-1;;;;;11311:6:0;;;;:22;;11341:11;;11362:4;;11369:13;;11311:6;;;;11390:9;11401:27;:15;11419:9;11401:27;:::i;:::-;11311:118;;;;;;-1:-1:-1;;;;;;11311:118:0;;;-1:-1:-1;;;;;13876:15:1;;;11311:118:0;;;13858:34:1;13908:18;;;13901:34;;;;13951:18;;;13944:34;;;;13994:18;;;13987:34;;;;14058:15;;;14037:19;;;14030:44;14090:19;;;14083:35;;;;13792:19;;11311:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11091:346;;:::o;388:597:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;826:6;823:1;820:13;817:91;;;896:1;891:2;882:6;871:9;867:22;863:31;856:42;817:91;-1:-1:-1;969:2:1;948:15;-1:-1:-1;;944:29:1;929:45;;;;976:2;925:54;;388:597;-1:-1:-1;;;388:597:1:o;990:131::-;-1:-1:-1;;;;;1065:31:1;;1055:42;;1045:70;;1111:1;1108;1101:12;1045:70;990:131;:::o;1126:315::-;1194:6;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:31;1354:5;1329:31;:::i;:::-;1379:5;1431:2;1416:18;;;;1403:32;;-1:-1:-1;;;1126:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2115:247::-;2174:6;2227:2;2215:9;2206:7;2202:23;2198:32;2195:52;;;2243:1;2240;2233:12;2195:52;2282:9;2269:23;2301:31;2326:5;2301:31;:::i;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:241;2735:6;2788:2;2776:9;2767:7;2763:23;2759:32;2756:52;;;2804:1;2801;2794:12;2756:52;2843:9;2830:23;2862:28;2884:5;2862:28;:::i;2925:248::-;2993:6;3001;3054:2;3042:9;3033:7;3029:23;3025:32;3022:52;;;3070:1;3067;3060:12;3022:52;-1:-1:-1;;3093:23:1;;;3163:2;3148:18;;;3135:32;;-1:-1:-1;2925:248:1:o;3178:382::-;3243:6;3251;3304:2;3292:9;3283:7;3279:23;3275:32;3272:52;;;3320:1;3317;3310:12;3272:52;3359:9;3346:23;3378:31;3403:5;3378:31;:::i;:::-;3428:5;-1:-1:-1;3485:2:1;3470:18;;3457:32;3498:30;3457:32;3498:30;:::i;:::-;3547:7;3537:17;;;3178:382;;;;;:::o;3565:523::-;3669:6;3677;3685;3693;3701;3709;3762:3;3750:9;3741:7;3737:23;3733:33;3730:53;;;3779:1;3776;3769:12;3730:53;-1:-1:-1;;3802:23:1;;;3872:2;3857:18;;3844:32;;-1:-1:-1;3923:2:1;3908:18;;3895:32;;3974:2;3959:18;;3946:32;;-1:-1:-1;4025:3:1;4010:19;;3997:33;;-1:-1:-1;4077:3:1;4062:19;4049:33;;-1:-1:-1;3565:523:1;-1:-1:-1;3565:523:1:o;4093:388::-;4161:6;4169;4222:2;4210:9;4201:7;4197:23;4193:32;4190:52;;;4238:1;4235;4228:12;4190:52;4277:9;4264:23;4296:31;4321:5;4296:31;:::i;:::-;4346:5;-1:-1:-1;4403:2:1;4388:18;;4375:32;4416:33;4375:32;4416:33;:::i;4486:309::-;4551:6;4559;4612:2;4600:9;4591:7;4587:23;4583:32;4580:52;;;4628:1;4625;4618:12;4580:52;4667:9;4654:23;4686:28;4708:5;4686:28;:::i;5026:127::-;5087:10;5082:3;5078:20;5075:1;5068:31;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:125;5198:4;5226:1;5223;5220:8;5217:34;;;5231:18;;:::i;:::-;-1:-1:-1;5268:9:1;;5158:125::o;5288:332::-;5490:2;5472:21;;;5529:1;5509:18;;;5502:29;-1:-1:-1;;;5562:2:1;5547:18;;5540:39;5611:2;5596:18;;5288:332::o;6251:217::-;6291:1;6317;6307:132;;6361:10;6356:3;6352:20;6349:1;6342:31;6396:4;6393:1;6386:15;6424:4;6421:1;6414:15;6307:132;-1:-1:-1;6453:9:1;;6251:217::o;7167:184::-;7237:6;7290:2;7278:9;7269:7;7265:23;7261:32;7258:52;;;7306:1;7303;7296:12;7258:52;-1:-1:-1;7329:16:1;;7167:184;-1:-1:-1;7167:184:1:o;7356:128::-;7396:3;7427:1;7423:6;7420:1;7417:13;7414:39;;;7433:18;;:::i;:::-;-1:-1:-1;7469:9:1;;7356:128::o;7489:168::-;7529:7;7595:1;7591;7587:6;7583:14;7580:1;7577:21;7572:1;7565:9;7558:17;7554:45;7551:71;;;7602:18;;:::i;:::-;-1:-1:-1;7642:9:1;;7489:168::o;8354:245::-;8421:6;8474:2;8462:9;8453:7;8449:23;8445:32;8442:52;;;8490:1;8487;8480:12;8442:52;8522:9;8516:16;8541:28;8563:5;8541:28;:::i;8604:251::-;8674:6;8727:2;8715:9;8706:7;8702:23;8698:32;8695:52;;;8743:1;8740;8733:12;8695:52;8775:9;8769:16;8794:31;8819:5;8794:31;:::i;11831:127::-;11892:10;11887:3;11883:20;11880:1;11873:31;11923:4;11920:1;11913:15;11947:4;11944:1;11937:15;11963:980;12225:4;12273:3;12262:9;12258:19;12304:6;12293:9;12286:25;12330:2;12368:6;12363:2;12352:9;12348:18;12341:34;12411:3;12406:2;12395:9;12391:18;12384:31;12435:6;12470;12464:13;12501:6;12493;12486:22;12539:3;12528:9;12524:19;12517:26;;12578:2;12570:6;12566:15;12552:29;;12599:1;12609:195;12623:6;12620:1;12617:13;12609:195;;;12688:13;;-1:-1:-1;;;;;12684:39:1;12672:52;;12779:15;;;;12744:12;;;;12720:1;12638:9;12609:195;;;-1:-1:-1;;;;;;;12860:32:1;;;;12855:2;12840:18;;12833:60;-1:-1:-1;;;12924:3:1;12909:19;12902:35;12821:3;11963:980;-1:-1:-1;;;11963:980:1:o;14129:306::-;14217:6;14225;14233;14286:2;14274:9;14265:7;14261:23;14257:32;14254:52;;;14302:1;14299;14292:12;14254:52;14331:9;14325:16;14315:26;;14381:2;14370:9;14366:18;14360:25;14350:35;;14425:2;14414:9;14410:18;14404:25;14394:35;;14129:306;;;;;:::o

Swarm Source

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