ETH Price: $3,246.57 (-0.37%)
Gas: 1 Gwei

Token

Hannya (HANNYA)
 

Overview

Max Total Supply

1,000,000,000,000 HANNYA

Holders

101

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
11,597,153,124.663550656 HANNYA

Value
$0.00
0x7365d137c598d48826616b15a3055adac746c84e
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Hannya

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-02
*/

/**

https://t.me/HannyaToken

https://www.Hannya.info

------Tokenomics-----

1,000,000,000,000 token supply

52% Burned to 0xdead

5,000,000,000 max buy.
10% buy & sell tax
15% sell tax for first 15 minutes
Max wallet 1.5% of total supply
Max buy auto lifted 2 mins after launch
No team tokens, no presale

*/


pragma solidity ^0.8.10;

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

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

contract Hannya is Context, IERC20, Ownable { ////
    mapping (address => uint) private _owned;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => User) private cooldown;
    mapping (address => bool) private _isBot;
    uint private constant _totalSupply = 1e12 * 10**9;

    string public constant name = unicode"Hannya"; ////
    string public constant symbol = unicode"HANNYA"; ////
    uint8 public constant decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;

    address payable public _FeeAddress1;
    address payable public _FeeAddress2;
    
    address public uniswapV2Pair;
    uint public _buyFee = 10;
    uint public _sellFee = 10;
    uint public _feeRate = 9;
    uint public _maxBuyAmount;
    uint public _maxHeldTokens;
    uint public _launchedAt;
    bool private _tradingOpen;
    bool private _inSwap;
    bool public _useImpactFeeSetter = true;

    struct User {
        uint buy;
        bool exists;
    }

    event FeeMultiplierUpdated(uint _multiplier);
    event ImpactFeeSetterUpdated(bool _usefeesetter);
    event FeeRateUpdated(uint _rate);
    event FeesUpdated(uint _buy, uint _sell);
    event FeeAddress1Updated(address _feewallet1);
    event FeeAddress2Updated(address _feewallet2);
    
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }
    constructor (address payable FeeAddress1, address payable FeeAddress2) {
        _FeeAddress1 = FeeAddress1;
        _FeeAddress2 = FeeAddress2;
        _owned[address(this)] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress1] = true;
        _isExcludedFromFee[FeeAddress2] = true;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function balanceOf(address account) public view override returns (uint) {
        return _owned[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public pure override returns (uint) {
        return _totalSupply;
    }

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

    function approve(address spender, uint amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        if(_tradingOpen && !_isExcludedFromFee[recipient] && sender == uniswapV2Pair){
            require (recipient == tx.origin, "pls no bot");
        }
        _transfer(sender, recipient, amount);
        uint allowedAmount = _allowances[sender][_msgSender()] - amount;
        _approve(sender, _msgSender(), allowedAmount);
        return true;
    }

    function _approve(address owner, address spender, uint amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isBot[from], "ERC20: transfer from frozen wallet.");

        bool isBuy = false;
        if(from != owner() && to != owner()) {
            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_tradingOpen, "Trading not yet enabled.");
                require(block.timestamp != _launchedAt, "pls no snip");
                if((_launchedAt + (1 hours)) > block.timestamp) {
                    require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); // 5%
                }
                if(!cooldown[to].exists) {
                    cooldown[to] = User(0,true);
                }
                if((_launchedAt + (120 seconds)) > block.timestamp) {
                    require(amount <= _maxBuyAmount, "Exceeds maximum buy amount.");
                    require(cooldown[to].buy < block.timestamp + (15 seconds), "Your buy cooldown has not expired.");
                }
                cooldown[to].buy = block.timestamp;
                isBuy = true;
            }
            // sell
            if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
                require(cooldown[from].buy < block.timestamp + (15 seconds), "Your sell cooldown has not expired.");
                uint contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > 0) {
                    if(_useImpactFeeSetter) {
                        if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
                            contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
                        }
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                isBuy = false;
            }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee,isBuy);
    }

    function swapTokensForEth(uint tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint amount) private {
        _FeeAddress1.transfer(amount / 2);
        _FeeAddress2.transfer(amount / 2);
    }
    
    function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
        (uint fee) = _getFee(takefee, buy);
        _transferStandard(sender, recipient, amount, fee);
    }

    function _getFee(bool takefee, bool buy) private view returns (uint) {
        uint fee = 0;
        if(takefee) {
            if(buy) {
                fee = _buyFee;
            } else {
                fee = _sellFee;
                if(block.timestamp < _launchedAt + (15 minutes)) {
                    fee += 5;
                }
            }
        }
        return fee;
    }

    function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
        (uint transferAmount, uint team) = _getValues(amount, fee);
        _owned[sender] = _owned[sender] - amount;
        _owned[recipient] = _owned[recipient] + transferAmount; 
        _takeTeam(team);
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
        uint team = (amount * teamFee) / 100;
        uint transferAmount = amount - team;
        return (transferAmount, team);
    }

    function _takeTeam(uint team) private {
        _owned[address(this)] = _owned[address(this)] + team;
    }

    receive() external payable {}
    
    // external functions
    function addLiquidity() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        _tradingOpen = true;
        _launchedAt = block.timestamp;
        _maxBuyAmount = 5000000000 * 10**9; // .5%
        _maxHeldTokens = 15000000000 * 10**9; // 1.5%
    }

    function manualswap() external {
        require(_msgSender() == _FeeAddress1);
        uint contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress1);
        uint contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setFeeRate(uint rate)  external onlyOwner() {
        require(_msgSender() == _FeeAddress1);
        require(rate > 0, "Rate can't be zero");
        // 100% is the common fee rate
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }

    function setFees(uint buy, uint sell)  external {
        require(_msgSender() == _FeeAddress1);
        require(buy <= 10);
        require(sell  <= 10);
        _buyFee = buy;
        _sellFee = sell;
        emit FeesUpdated(_buyFee, _sellFee);
    }

    function setBots(address[] memory bots_) external {
        require(_msgSender() == _FeeAddress1);
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }

     function delBots(address[] memory bots_) external {
        require(_msgSender() == _FeeAddress1);
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }
    
    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }


    function toggleImpactFee(bool onoff)  external onlyOwner() {
        _useImpactFeeSetter = onoff;
        emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
    }

    function updateFeeAddress1(address newAddress) external {
        require(_msgSender() == _FeeAddress1);
        _FeeAddress1 = payable(newAddress);
        emit FeeAddress1Updated(_FeeAddress1);
    }

    function updateFeeAddress2(address newAddress) external {
        require(_msgSender() == _FeeAddress2);
        _FeeAddress2 = payable(newAddress);
        emit FeeAddress2Updated(_FeeAddress2);
    }

    // view functions
    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress1","type":"address"},{"internalType":"address payable","name":"FeeAddress2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_feewallet1","type":"address"}],"name":"FeeAddress1Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_feewallet2","type":"address"}],"name":"FeeAddress2Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_FeeAddress1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_FeeAddress2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600b819055600c556009600d556011805462ff00001916620100001790553480156200003157600080fd5b506040516200226138038062002261833981016040819052620000549162000183565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600880546001600160a01b038481166001600160a01b0319928316811790935560098054858316931683179055306000818152600260209081526040808320683635c9adc5dea00000908190558354909516835260048252808320805460ff1990811660019081179092558585528285208054821683179055978452818420805489168217905595835280832080549097169095179095559251918252927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620001bb565b80516001600160a01b03811681146200017e57600080fd5b919050565b600080604083850312156200019757600080fd5b620001a28362000166565b9150620001b26020840162000166565b90509250929050565b61209680620001cb6000396000f3fe6080604052600436106102085760003560e01c806349bd5a5e11610118578063a9059cbb116100a0578063c9567bf91161006f578063c9567bf9146105f4578063db92dbb614610609578063dcb0e0ad1461061e578063dd62ed3e1461063e578063e8078d941461068457600080fd5b8063a9059cbb14610589578063b2131f7d146105a9578063b515566a146105bf578063c3c8cd80146105df57600080fd5b806370a08231116100e757806370a08231146104e4578063715018a6146105045780638da5cb5b1461051957806394b8d8f21461053757806395d89b411461055757600080fd5b806349bd5a5e146104795780635090161714610499578063590f897e146104b95780636fc3eaec146104cf57600080fd5b806327f3a72a1161019b578063367c55441161016a578063367c5544146103b25780633bbac579146103ea5780633bed43551461042357806340b9a54b1461044357806345596e2e1461045957600080fd5b806327f3a72a14610340578063313ce5671461035557806331c2d8471461037c57806332d873d81461039c57600080fd5b80630b78f9c0116101d75780630b78f9c0146102ce57806318160ddd146102ee5780631940d0201461030a57806323b872dd1461032057600080fd5b80630492f0551461021457806306fdde031461023d5780630802d2f61461027c578063095ea7b31461029e57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061022a600e5481565b6040519081526020015b60405180910390f35b34801561024957600080fd5b5061026f6040518060400160405280600681526020016548616e6e796160d01b81525081565b6040516102349190611c1d565b34801561028857600080fd5b5061029c610297366004611c97565b610699565b005b3480156102aa57600080fd5b506102be6102b9366004611cb4565b61070e565b6040519015158152602001610234565b3480156102da57600080fd5b5061029c6102e9366004611ce0565b610724565b3480156102fa57600080fd5b50683635c9adc5dea0000061022a565b34801561031657600080fd5b5061022a600f5481565b34801561032c57600080fd5b506102be61033b366004611d02565b6107a7565b34801561034c57600080fd5b5061022a61088f565b34801561036157600080fd5b5061036a600981565b60405160ff9091168152602001610234565b34801561038857600080fd5b5061029c610397366004611d59565b61089f565b3480156103a857600080fd5b5061022a60105481565b3480156103be57600080fd5b506009546103d2906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156103f657600080fd5b506102be610405366004611c97565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561042f57600080fd5b506008546103d2906001600160a01b031681565b34801561044f57600080fd5b5061022a600b5481565b34801561046557600080fd5b5061029c610474366004611e1e565b61092b565b34801561048557600080fd5b50600a546103d2906001600160a01b031681565b3480156104a557600080fd5b5061029c6104b4366004611c97565b6109ef565b3480156104c557600080fd5b5061022a600c5481565b3480156104db57600080fd5b5061029c610a5d565b3480156104f057600080fd5b5061022a6104ff366004611c97565b610a8a565b34801561051057600080fd5b5061029c610aa5565b34801561052557600080fd5b506000546001600160a01b03166103d2565b34801561054357600080fd5b506011546102be9062010000900460ff1681565b34801561056357600080fd5b5061026f6040518060400160405280600681526020016548414e4e594160d01b81525081565b34801561059557600080fd5b506102be6105a4366004611cb4565b610b19565b3480156105b557600080fd5b5061022a600d5481565b3480156105cb57600080fd5b5061029c6105da366004611d59565b610b26565b3480156105eb57600080fd5b5061029c610c35565b34801561060057600080fd5b5061029c610c6b565b34801561061557600080fd5b5061022a610d0d565b34801561062a57600080fd5b5061029c610639366004611e45565b610d25565b34801561064a57600080fd5b5061022a610659366004611e62565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561069057600080fd5b5061029c610da2565b6008546001600160a01b0316336001600160a01b0316146106b957600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c906020015b60405180910390a150565b600061071b3384846110e9565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461074457600080fd5b600a82111561075257600080fd5b600a81111561076057600080fd5b600b829055600c81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60115460009060ff1680156107d557506001600160a01b03831660009081526004602052604090205460ff16155b80156107ee5750600a546001600160a01b038581169116145b1561083d576001600160a01b038316321461083d5760405162461bcd60e51b815260206004820152600a6024820152691c1b1cc81b9bc8189bdd60b21b60448201526064015b60405180910390fd5b61084884848461120d565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610877908490611eb1565b90506108848533836110e9565b506001949350505050565b600061089a30610a8a565b905090565b6008546001600160a01b0316336001600160a01b0316146108bf57600080fd5b60005b8151811015610927576000600660008484815181106108e3576108e3611ec8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091f81611ede565b9150506108c2565b5050565b6000546001600160a01b031633146109555760405162461bcd60e51b815260040161083490611ef9565b6008546001600160a01b0316336001600160a01b03161461097557600080fd5b600081116109ba5760405162461bcd60e51b8152602060048201526012602482015271526174652063616e2774206265207a65726f60701b6044820152606401610834565b600d8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd890602001610703565b6009546001600160a01b0316336001600160a01b031614610a0f57600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a5301490602001610703565b6008546001600160a01b0316336001600160a01b031614610a7d57600080fd5b47610a878161187c565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610acf5760405162461bcd60e51b815260040161083490611ef9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061071b33848461120d565b6008546001600160a01b0316336001600160a01b031614610b4657600080fd5b60005b815181101561092757600a5482516001600160a01b0390911690839083908110610b7557610b75611ec8565b60200260200101516001600160a01b031614158015610bc6575060075482516001600160a01b0390911690839083908110610bb257610bb2611ec8565b60200260200101516001600160a01b031614155b15610c2357600160066000848481518110610be357610be3611ec8565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c2d81611ede565b915050610b49565b6008546001600160a01b0316336001600160a01b031614610c5557600080fd5b6000610c6030610a8a565b9050610a8781611901565b6000546001600160a01b03163314610c955760405162461bcd60e51b815260040161083490611ef9565b60115460ff1615610ce25760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610834565b6011805460ff1916600117905542601055674563918244f40000600e5567d02ab486cedc0000600f55565b600a5460009061089a906001600160a01b0316610a8a565b6000546001600160a01b03163314610d4f5760405162461bcd60e51b815260040161083490611ef9565b6011805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb90602001610703565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b815260040161083490611ef9565b60115460ff1615610e195760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610834565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610e563082683635c9adc5dea000006110e9565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190611f2e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f299190611f2e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611f2e565b600a80546001600160a01b0319166001600160a01b039283161790556007541663f305d7194730610fca81610a8a565b600080610fdf6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611047573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106c9190611f4b565b5050600a5460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611f79565b6001600160a01b03831661114b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610834565b6001600160a01b0382166111ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610834565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112715760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610834565b6001600160a01b0382166112d35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610834565b600081116113355760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610834565b6001600160a01b03831660009081526006602052604090205460ff16156113aa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e736665722066726f6d2066726f7a656e2077616c6c60448201526232ba1760e91b6064820152608401610834565b600080546001600160a01b038581169116148015906113d757506000546001600160a01b03848116911614155b1561181d57600a546001600160a01b03858116911614801561140757506007546001600160a01b03848116911614155b801561142c57506001600160a01b03831660009081526004602052604090205460ff16155b156116b95760115460ff166114835760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610834565b6010544214156114c35760405162461bcd60e51b815260206004820152600b60248201526a0706c73206e6f20736e69760ac1b6044820152606401610834565b42601054610e106114d49190611f96565b111561154e57600f546114e684610a8a565b6114f09084611f96565b111561154e5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b6064820152608401610834565b6001600160a01b03831660009081526005602052604090206001015460ff166115b6576040805180820182526000808252600160208084018281526001600160a01b03891684526005909152939091209151825591519101805460ff19169115159190911790555b4260105460786115c69190611f96565b111561169a57600e5482111561161e5760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e00000000006044820152606401610834565b61162942600f611f96565b6001600160a01b0384166000908152600560205260409020541061169a5760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610834565b506001600160a01b038216600090815260056020526040902042905560015b601154610100900460ff161580156116d3575060115460ff165b80156116ed5750600a546001600160a01b03858116911614155b1561181d576116fd42600f611f96565b6001600160a01b0385166000908152600560205260409020541061176f5760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b6064820152608401610834565b600061177a30610a8a565b905080156118065760115462010000900460ff16156117fd57600d54600a54606491906117af906001600160a01b0316610a8a565b6117b99190611fae565b6117c39190611fcd565b8111156117fd57600d54600a54606491906117e6906001600160a01b0316610a8a565b6117f09190611fae565b6117fa9190611fcd565b90505b61180681611901565b478015611816576118164761187c565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061185f57506001600160a01b03841660009081526004602052604090205460ff165b15611868575060005b6118758585858486611a75565b5050505050565b6008546001600160a01b03166108fc611896600284611fcd565b6040518115909202916000818181858888f193505050501580156118be573d6000803e3d6000fd5b506009546001600160a01b03166108fc6118d9600284611fcd565b6040518115909202916000818181858888f19350505050158015610927573d6000803e3d6000fd5b6011805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061194557611945611ec8565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190611f2e565b816001815181106119d5576119d5611ec8565b6001600160a01b0392831660209182029290920101526007546119fb91309116846110e9565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a34908590600090869030904290600401611fef565b600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b50506011805461ff001916905550505050565b6000611a818383611a97565b9050611a8f86868684611ade565b505050505050565b6000808315611ad7578215611aaf5750600b54611ad7565b50600c54601054611ac290610384611f96565b421015611ad757611ad4600582611f96565b90505b9392505050565b600080611aeb8484611bbb565b6001600160a01b0388166000908152600260205260409020549193509150611b14908590611eb1565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611b44908390611f96565b6001600160a01b038616600090815260026020526040902055611b6681611bef565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bab91815260200190565b60405180910390a3505050505050565b600080806064611bcb8587611fae565b611bd59190611fcd565b90506000611be38287611eb1565b96919550909350505050565b30600090815260026020526040902054611c0a908290611f96565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611c4a57858101830151858201604001528201611c2e565b81811115611c5c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a8757600080fd5b8035611c9281611c72565b919050565b600060208284031215611ca957600080fd5b8135611ad781611c72565b60008060408385031215611cc757600080fd5b8235611cd281611c72565b946020939093013593505050565b60008060408385031215611cf357600080fd5b50508035926020909101359150565b600080600060608486031215611d1757600080fd5b8335611d2281611c72565b92506020840135611d3281611c72565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611d6c57600080fd5b823567ffffffffffffffff80821115611d8457600080fd5b818501915085601f830112611d9857600080fd5b813581811115611daa57611daa611d43565b8060051b604051601f19603f83011681018181108582111715611dcf57611dcf611d43565b604052918252848201925083810185019188831115611ded57600080fd5b938501935b82851015611e1257611e0385611c87565b84529385019392850192611df2565b98975050505050505050565b600060208284031215611e3057600080fd5b5035919050565b8015158114610a8757600080fd5b600060208284031215611e5757600080fd5b8135611ad781611e37565b60008060408385031215611e7557600080fd5b8235611e8081611c72565b91506020830135611e9081611c72565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611ec357611ec3611e9b565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ef257611ef2611e9b565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f4057600080fd5b8151611ad781611c72565b600080600060608486031215611f6057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f8b57600080fd5b8151611ad781611e37565b60008219821115611fa957611fa9611e9b565b500190565b6000816000190483118215151615611fc857611fc8611e9b565b500290565b600082611fea57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561203f5784516001600160a01b03168352938301939183019160010161201a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f1f6c97cdfbdee30ebc3a03cc59750b1e10b8da86dc89148df7954282eac4ee964736f6c634300080a0033000000000000000000000000e6bbf3571b9a884b262a7e211ee38286a4c0203b00000000000000000000000088e99bda33da1d92eac0a6cd5f66662ff34307e0

Deployed Bytecode

0x6080604052600436106102085760003560e01c806349bd5a5e11610118578063a9059cbb116100a0578063c9567bf91161006f578063c9567bf9146105f4578063db92dbb614610609578063dcb0e0ad1461061e578063dd62ed3e1461063e578063e8078d941461068457600080fd5b8063a9059cbb14610589578063b2131f7d146105a9578063b515566a146105bf578063c3c8cd80146105df57600080fd5b806370a08231116100e757806370a08231146104e4578063715018a6146105045780638da5cb5b1461051957806394b8d8f21461053757806395d89b411461055757600080fd5b806349bd5a5e146104795780635090161714610499578063590f897e146104b95780636fc3eaec146104cf57600080fd5b806327f3a72a1161019b578063367c55441161016a578063367c5544146103b25780633bbac579146103ea5780633bed43551461042357806340b9a54b1461044357806345596e2e1461045957600080fd5b806327f3a72a14610340578063313ce5671461035557806331c2d8471461037c57806332d873d81461039c57600080fd5b80630b78f9c0116101d75780630b78f9c0146102ce57806318160ddd146102ee5780631940d0201461030a57806323b872dd1461032057600080fd5b80630492f0551461021457806306fdde031461023d5780630802d2f61461027c578063095ea7b31461029e57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061022a600e5481565b6040519081526020015b60405180910390f35b34801561024957600080fd5b5061026f6040518060400160405280600681526020016548616e6e796160d01b81525081565b6040516102349190611c1d565b34801561028857600080fd5b5061029c610297366004611c97565b610699565b005b3480156102aa57600080fd5b506102be6102b9366004611cb4565b61070e565b6040519015158152602001610234565b3480156102da57600080fd5b5061029c6102e9366004611ce0565b610724565b3480156102fa57600080fd5b50683635c9adc5dea0000061022a565b34801561031657600080fd5b5061022a600f5481565b34801561032c57600080fd5b506102be61033b366004611d02565b6107a7565b34801561034c57600080fd5b5061022a61088f565b34801561036157600080fd5b5061036a600981565b60405160ff9091168152602001610234565b34801561038857600080fd5b5061029c610397366004611d59565b61089f565b3480156103a857600080fd5b5061022a60105481565b3480156103be57600080fd5b506009546103d2906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156103f657600080fd5b506102be610405366004611c97565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561042f57600080fd5b506008546103d2906001600160a01b031681565b34801561044f57600080fd5b5061022a600b5481565b34801561046557600080fd5b5061029c610474366004611e1e565b61092b565b34801561048557600080fd5b50600a546103d2906001600160a01b031681565b3480156104a557600080fd5b5061029c6104b4366004611c97565b6109ef565b3480156104c557600080fd5b5061022a600c5481565b3480156104db57600080fd5b5061029c610a5d565b3480156104f057600080fd5b5061022a6104ff366004611c97565b610a8a565b34801561051057600080fd5b5061029c610aa5565b34801561052557600080fd5b506000546001600160a01b03166103d2565b34801561054357600080fd5b506011546102be9062010000900460ff1681565b34801561056357600080fd5b5061026f6040518060400160405280600681526020016548414e4e594160d01b81525081565b34801561059557600080fd5b506102be6105a4366004611cb4565b610b19565b3480156105b557600080fd5b5061022a600d5481565b3480156105cb57600080fd5b5061029c6105da366004611d59565b610b26565b3480156105eb57600080fd5b5061029c610c35565b34801561060057600080fd5b5061029c610c6b565b34801561061557600080fd5b5061022a610d0d565b34801561062a57600080fd5b5061029c610639366004611e45565b610d25565b34801561064a57600080fd5b5061022a610659366004611e62565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561069057600080fd5b5061029c610da2565b6008546001600160a01b0316336001600160a01b0316146106b957600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c906020015b60405180910390a150565b600061071b3384846110e9565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461074457600080fd5b600a82111561075257600080fd5b600a81111561076057600080fd5b600b829055600c81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60115460009060ff1680156107d557506001600160a01b03831660009081526004602052604090205460ff16155b80156107ee5750600a546001600160a01b038581169116145b1561083d576001600160a01b038316321461083d5760405162461bcd60e51b815260206004820152600a6024820152691c1b1cc81b9bc8189bdd60b21b60448201526064015b60405180910390fd5b61084884848461120d565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610877908490611eb1565b90506108848533836110e9565b506001949350505050565b600061089a30610a8a565b905090565b6008546001600160a01b0316336001600160a01b0316146108bf57600080fd5b60005b8151811015610927576000600660008484815181106108e3576108e3611ec8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091f81611ede565b9150506108c2565b5050565b6000546001600160a01b031633146109555760405162461bcd60e51b815260040161083490611ef9565b6008546001600160a01b0316336001600160a01b03161461097557600080fd5b600081116109ba5760405162461bcd60e51b8152602060048201526012602482015271526174652063616e2774206265207a65726f60701b6044820152606401610834565b600d8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd890602001610703565b6009546001600160a01b0316336001600160a01b031614610a0f57600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a5301490602001610703565b6008546001600160a01b0316336001600160a01b031614610a7d57600080fd5b47610a878161187c565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b03163314610acf5760405162461bcd60e51b815260040161083490611ef9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061071b33848461120d565b6008546001600160a01b0316336001600160a01b031614610b4657600080fd5b60005b815181101561092757600a5482516001600160a01b0390911690839083908110610b7557610b75611ec8565b60200260200101516001600160a01b031614158015610bc6575060075482516001600160a01b0390911690839083908110610bb257610bb2611ec8565b60200260200101516001600160a01b031614155b15610c2357600160066000848481518110610be357610be3611ec8565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c2d81611ede565b915050610b49565b6008546001600160a01b0316336001600160a01b031614610c5557600080fd5b6000610c6030610a8a565b9050610a8781611901565b6000546001600160a01b03163314610c955760405162461bcd60e51b815260040161083490611ef9565b60115460ff1615610ce25760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610834565b6011805460ff1916600117905542601055674563918244f40000600e5567d02ab486cedc0000600f55565b600a5460009061089a906001600160a01b0316610a8a565b6000546001600160a01b03163314610d4f5760405162461bcd60e51b815260040161083490611ef9565b6011805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb90602001610703565b6000546001600160a01b03163314610dcc5760405162461bcd60e51b815260040161083490611ef9565b60115460ff1615610e195760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610834565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610e563082683635c9adc5dea000006110e9565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190611f2e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f299190611f2e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611f2e565b600a80546001600160a01b0319166001600160a01b039283161790556007541663f305d7194730610fca81610a8a565b600080610fdf6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611047573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106c9190611f4b565b5050600a5460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611f79565b6001600160a01b03831661114b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610834565b6001600160a01b0382166111ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610834565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112715760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610834565b6001600160a01b0382166112d35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610834565b600081116113355760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610834565b6001600160a01b03831660009081526006602052604090205460ff16156113aa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e736665722066726f6d2066726f7a656e2077616c6c60448201526232ba1760e91b6064820152608401610834565b600080546001600160a01b038581169116148015906113d757506000546001600160a01b03848116911614155b1561181d57600a546001600160a01b03858116911614801561140757506007546001600160a01b03848116911614155b801561142c57506001600160a01b03831660009081526004602052604090205460ff16155b156116b95760115460ff166114835760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610834565b6010544214156114c35760405162461bcd60e51b815260206004820152600b60248201526a0706c73206e6f20736e69760ac1b6044820152606401610834565b42601054610e106114d49190611f96565b111561154e57600f546114e684610a8a565b6114f09084611f96565b111561154e5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b6064820152608401610834565b6001600160a01b03831660009081526005602052604090206001015460ff166115b6576040805180820182526000808252600160208084018281526001600160a01b03891684526005909152939091209151825591519101805460ff19169115159190911790555b4260105460786115c69190611f96565b111561169a57600e5482111561161e5760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e00000000006044820152606401610834565b61162942600f611f96565b6001600160a01b0384166000908152600560205260409020541061169a5760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610834565b506001600160a01b038216600090815260056020526040902042905560015b601154610100900460ff161580156116d3575060115460ff165b80156116ed5750600a546001600160a01b03858116911614155b1561181d576116fd42600f611f96565b6001600160a01b0385166000908152600560205260409020541061176f5760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b6064820152608401610834565b600061177a30610a8a565b905080156118065760115462010000900460ff16156117fd57600d54600a54606491906117af906001600160a01b0316610a8a565b6117b99190611fae565b6117c39190611fcd565b8111156117fd57600d54600a54606491906117e6906001600160a01b0316610a8a565b6117f09190611fae565b6117fa9190611fcd565b90505b61180681611901565b478015611816576118164761187c565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061185f57506001600160a01b03841660009081526004602052604090205460ff165b15611868575060005b6118758585858486611a75565b5050505050565b6008546001600160a01b03166108fc611896600284611fcd565b6040518115909202916000818181858888f193505050501580156118be573d6000803e3d6000fd5b506009546001600160a01b03166108fc6118d9600284611fcd565b6040518115909202916000818181858888f19350505050158015610927573d6000803e3d6000fd5b6011805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061194557611945611ec8565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c29190611f2e565b816001815181106119d5576119d5611ec8565b6001600160a01b0392831660209182029290920101526007546119fb91309116846110e9565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a34908590600090869030904290600401611fef565b600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b50506011805461ff001916905550505050565b6000611a818383611a97565b9050611a8f86868684611ade565b505050505050565b6000808315611ad7578215611aaf5750600b54611ad7565b50600c54601054611ac290610384611f96565b421015611ad757611ad4600582611f96565b90505b9392505050565b600080611aeb8484611bbb565b6001600160a01b0388166000908152600260205260409020549193509150611b14908590611eb1565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611b44908390611f96565b6001600160a01b038616600090815260026020526040902055611b6681611bef565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bab91815260200190565b60405180910390a3505050505050565b600080806064611bcb8587611fae565b611bd59190611fcd565b90506000611be38287611eb1565b96919550909350505050565b30600090815260026020526040902054611c0a908290611f96565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611c4a57858101830151858201604001528201611c2e565b81811115611c5c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610a8757600080fd5b8035611c9281611c72565b919050565b600060208284031215611ca957600080fd5b8135611ad781611c72565b60008060408385031215611cc757600080fd5b8235611cd281611c72565b946020939093013593505050565b60008060408385031215611cf357600080fd5b50508035926020909101359150565b600080600060608486031215611d1757600080fd5b8335611d2281611c72565b92506020840135611d3281611c72565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611d6c57600080fd5b823567ffffffffffffffff80821115611d8457600080fd5b818501915085601f830112611d9857600080fd5b813581811115611daa57611daa611d43565b8060051b604051601f19603f83011681018181108582111715611dcf57611dcf611d43565b604052918252848201925083810185019188831115611ded57600080fd5b938501935b82851015611e1257611e0385611c87565b84529385019392850192611df2565b98975050505050505050565b600060208284031215611e3057600080fd5b5035919050565b8015158114610a8757600080fd5b600060208284031215611e5757600080fd5b8135611ad781611e37565b60008060408385031215611e7557600080fd5b8235611e8081611c72565b91506020830135611e9081611c72565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611ec357611ec3611e9b565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ef257611ef2611e9b565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f4057600080fd5b8151611ad781611c72565b600080600060608486031215611f6057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f8b57600080fd5b8151611ad781611e37565b60008219821115611fa957611fa9611e9b565b500190565b6000816000190483118215151615611fc857611fc8611e9b565b500290565b600082611fea57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561203f5784516001600160a01b03168352938301939183019160010161201a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f1f6c97cdfbdee30ebc3a03cc59750b1e10b8da86dc89148df7954282eac4ee964736f6c634300080a0033

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

000000000000000000000000e6bbf3571b9a884b262a7e211ee38286a4c0203b00000000000000000000000088e99bda33da1d92eac0a6cd5f66662ff34307e0

-----Decoded View---------------
Arg [0] : FeeAddress1 (address): 0xe6BBF3571b9A884b262a7E211EE38286a4C0203B
Arg [1] : FeeAddress2 (address): 0x88E99BDA33dA1D92eaC0a6Cd5f66662fF34307e0

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e6bbf3571b9a884b262a7e211ee38286a4c0203b
Arg [1] : 00000000000000000000000088e99bda33da1d92eac0a6cd5f66662ff34307e0


Deployed Bytecode Sourcemap

2667:11548:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:25;;;;;;;;;;;;;;;;;;;160::1;;;148:2;133:18;3485:25:0;;;;;;;;3056:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3056:45:0;;;;;;;;;;;;:::i;13554:205::-;;;;;;;;;;-1:-1:-1;13554:205:0;;;;;:::i;:::-;;:::i;:::-;;5170:158;;;;;;;;;;-1:-1:-1;5170:158:0;;;;;:::i;:::-;;:::i;:::-;;;1810:14:1;;1803:22;1785:41;;1773:2;1758:18;5170:158:0;1645:187:1;12475:260:0;;;;;;;;;;-1:-1:-1;12475:260:0;;;;;:::i;:::-;;:::i;4917:97::-;;;;;;;;;;-1:-1:-1;3035:12:0;4917:97;;3517:26;;;;;;;;;;;;;;;;5336:468;;;;;;;;;;-1:-1:-1;5336:468:0;;;;;:::i;:::-;;:::i;14003:100::-;;;;;;;;;;;;;:::i;3172:34::-;;;;;;;;;;;;3205:1;3172:34;;;;;2723:4:1;2711:17;;;2693:36;;2681:2;2666:18;3172:34:0;2551:184:1;13063:207:0;;;;;;;;;;-1:-1:-1;13063:207:0;;;;;:::i;:::-;;:::i;3550:23::-;;;;;;;;;;;;;;;;3308:35;;;;;;;;;;-1:-1:-1;3308:35:0;;;;-1:-1:-1;;;;;3308:35:0;;;;;;-1:-1:-1;;;;;4178:32:1;;;4160:51;;4148:2;4133:18;3308:35:0;3998:219:1;13282:90:0;;;;;;;;;;-1:-1:-1;13282:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;13354:10:0;13330:4;13354:10;;;:6;:10;;;;;;;;;13282:90;3266:35;;;;;;;;;;-1:-1:-1;3266:35:0;;;;-1:-1:-1;;;;;3266:35:0;;;3391:24;;;;;;;;;;;;;;;;12202:265;;;;;;;;;;-1:-1:-1;12202:265:0;;;;;:::i;:::-;;:::i;3356:28::-;;;;;;;;;;-1:-1:-1;3356:28:0;;;;-1:-1:-1;;;;;3356:28:0;;;13767:205;;;;;;;;;;-1:-1:-1;13767:205:0;;;;;:::i;:::-;;:::i;3422:25::-;;;;;;;;;;;;;;;;12006:188;;;;;;;;;;;;;:::i;4622:113::-;;;;;;;;;;-1:-1:-1;4622:113:0;;;;;:::i;:::-;;:::i;1748:148::-;;;;;;;;;;;;;:::i;1534:79::-;;;;;;;;;;-1:-1:-1;1572:7:0;1599:6;-1:-1:-1;;;;;1599:6:0;1534:79;;3639:38;;;;;;;;;;-1:-1:-1;3639:38:0;;;;;;;;;;;3113:47;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3113:47:0;;;;;4741:164;;;;;;;;;;-1:-1:-1;4741:164:0;;;;;:::i;:::-;;:::i;3454:24::-;;;;;;;;;;;;;;;;12743:311;;;;;;;;;;-1:-1:-1;12743:311:0;;;;;:::i;:::-;;:::i;11805:189::-;;;;;;;;;;;;;:::i;11508:289::-;;;;;;;;;;;;;:::i;14111:101::-;;;;;;;;;;;;;:::i;13382:164::-;;;;;;;;;;-1:-1:-1;13382:164:0;;;;;:::i;:::-;;:::i;5022:140::-;;;;;;;;;;-1:-1:-1;5022:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;5127:18:0;;;5103:4;5127:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5022:140;10812:688;;;;;;;;;;;;;:::i;13554:205::-;13645:12;;-1:-1:-1;;;;;13645:12:0;477:10;-1:-1:-1;;;;;13629:28:0;;13621:37;;;;;;13669:12;:34;;-1:-1:-1;;;;;;13669:34:0;-1:-1:-1;;;;;13669:34:0;;;;;;;;13719:32;;4160:51:1;;;13719:32:0;;4148:2:1;4133:18;13719:32:0;;;;;;;;13554:205;:::o;5170:158::-;5242:4;5259:39;477:10;5282:7;5291:6;5259:8;:39::i;:::-;-1:-1:-1;5316:4:0;5170:158;;;;:::o;12475:260::-;12558:12;;-1:-1:-1;;;;;12558:12:0;477:10;-1:-1:-1;;;;;12542:28:0;;12534:37;;;;;;12597:2;12590:3;:9;;12582:18;;;;;;12628:2;12619:4;:11;;12611:20;;;;;;12642:7;:13;;;12666:8;:15;;;12697:30;;;5767:25:1;;;5823:2;5808:18;;5801:34;;;12697:30:0;;5740:18:1;12697:30:0;;;;;;;12475:260;;:::o;5336:468::-;5451:12;;5431:4;;5451:12;;:46;;;;-1:-1:-1;;;;;;5468:29:0;;;;;;:18;:29;;;;;;;;5467:30;5451:46;:73;;;;-1:-1:-1;5511:13:0;;-1:-1:-1;;;;;5501:23:0;;;5511:13;;5501:23;5451:73;5448:150;;;-1:-1:-1;;;;;5549:22:0;;5562:9;5549:22;5540:46;;;;-1:-1:-1;;;5540:46:0;;6048:2:1;5540:46:0;;;6030:21:1;6087:2;6067:18;;;6060:30;-1:-1:-1;;;6106:18:1;;;6099:40;6156:18;;5540:46:0;;;;;;;;;5608:36;5618:6;5626:9;5637:6;5608:9;:36::i;:::-;-1:-1:-1;;;;;5676:19:0;;5655:18;5676:19;;;:11;:19;;;;;;;;477:10;5676:33;;;;;;;;:42;;5712:6;;5676:42;:::i;:::-;5655:63;-1:-1:-1;5729:45:0;5738:6;477:10;5760:13;5729:8;:45::i;:::-;-1:-1:-1;5792:4:0;;5336:468;-1:-1:-1;;;;5336:468:0:o;14003:100::-;14047:4;14071:24;14089:4;14071:9;:24::i;:::-;14064:31;;14003:100;:::o;13063:207::-;13148:12;;-1:-1:-1;;;;;13148:12:0;477:10;-1:-1:-1;;;;;13132:28:0;;13124:37;;;;;;13177:6;13172:91;13193:5;:12;13189:1;:16;13172:91;;;13246:5;13227:6;:16;13234:5;13240:1;13234:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;13227:16:0;;;;;;;;;;;-1:-1:-1;13227:16:0;:24;;-1:-1:-1;;13227:24:0;;;;;;;;;;13207:3;;;;:::i;:::-;;;;13172:91;;;;13063:207;:::o;12202:265::-;1661:6;;-1:-1:-1;;;;;1661:6:0;477:10;1661:22;1653:67;;;;-1:-1:-1;;;1653:67:0;;;;;;;:::i;:::-;12290:12:::1;::::0;-1:-1:-1;;;;;12290:12:0::1;477:10:::0;-1:-1:-1;;;;;12274:28:0::1;;12266:37;;;::::0;::::1;;12329:1;12322:4;:8;12314:39;;;::::0;-1:-1:-1;;;12314:39:0;;7282:2:1;12314:39:0::1;::::0;::::1;7264:21:1::0;7321:2;7301:18;;;7294:30;-1:-1:-1;;;7340:18:1;;;7333:48;7398:18;;12314:39:0::1;7080:342:1::0;12314:39:0::1;12404:8;:15:::0;;;12435:24:::1;::::0;160:25:1;;;12435:24:0::1;::::0;148:2:1;133:18;12435:24:0::1;14:177:1::0;13767:205:0;13858:12;;-1:-1:-1;;;;;13858:12:0;477:10;-1:-1:-1;;;;;13842:28:0;;13834:37;;;;;;13882:12;:34;;-1:-1:-1;;;;;;13882:34:0;-1:-1:-1;;;;;13882:34:0;;;;;;;;13932:32;;4160:51:1;;;13932:32:0;;4148:2:1;4133:18;13932:32:0;3998:219:1;12006:188:0;12072:12;;-1:-1:-1;;;;;12072:12:0;477:10;-1:-1:-1;;;;;12056:28:0;;12048:37;;;;;;12122:21;12154:32;12122:21;12154:12;:32::i;:::-;12037:157;12006:188::o;4622:113::-;-1:-1:-1;;;;;4712:15:0;4688:4;4712:15;;;:6;:15;;;;;;;4622:113::o;1748:148::-;1661:6;;-1:-1:-1;;;;;1661:6:0;477:10;1661:22;1653:67;;;;-1:-1:-1;;;1653:67:0;;;;;;;:::i;:::-;1855:1:::1;1839:6:::0;;1818:40:::1;::::0;-1:-1:-1;;;;;1839:6:0;;::::1;::::0;1818:40:::1;::::0;1855:1;;1818:40:::1;1886:1;1869:19:::0;;-1:-1:-1;;;;;;1869:19:0::1;::::0;;1748:148::o;4741:164::-;4816:4;4833:42;477:10;4857:9;4868:6;4833:9;:42::i;12743:311::-;12828:12;;-1:-1:-1;;;;;12828:12:0;477:10;-1:-1:-1;;;;;12812:28:0;;12804:37;;;;;;12857:6;12852:195;12873:5;:12;12869:1;:16;12852:195;;;12923:13;;12911:8;;-1:-1:-1;;;;;12923:13:0;;;;12911:5;;12917:1;;12911:8;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12911:25:0;;;:65;;;;-1:-1:-1;12960:15:0;;12940:8;;-1:-1:-1;;;;;12960:15:0;;;;12940:5;;12946:1;;12940:8;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12940:36:0;;;12911:65;12907:129;;;13016:4;12997:6;:16;13004:5;13010:1;13004:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;12997:16:0;-1:-1:-1;;;;;12997:16:0;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12907:129;12887:3;;;;:::i;:::-;;;;12852:195;;11805:189;11871:12;;-1:-1:-1;;;;;11871:12:0;477:10;-1:-1:-1;;;;;11855:28:0;;11847:37;;;;;;11895:20;11918:24;11936:4;11918:9;:24::i;:::-;11895:47;;11953:33;11970:15;11953:16;:33::i;11508:289::-;1661:6;;-1:-1:-1;;;;;1661:6:0;477:10;1661:22;1653:67;;;;-1:-1:-1;;;1653:67:0;;;;;;;:::i;:::-;11572:12:::1;::::0;::::1;;11571:13;11563:49;;;::::0;-1:-1:-1;;;11563:49:0;;7629:2:1;11563:49:0::1;::::0;::::1;7611:21:1::0;7668:2;7648:18;;;7641:30;-1:-1:-1;;;7687:18:1;;;7680:53;7750:18;;11563:49:0::1;7427:347:1::0;11563:49:0::1;11623:12;:19:::0;;-1:-1:-1;;11623:19:0::1;11638:4;11623:19;::::0;;11667:15:::1;11653:11;:29:::0;11709:18:::1;11693:13;:34:::0;11762:19:::1;11745:14;:36:::0;11508:289::o;14111:101::-;14190:13;;14156:4;;14180:24;;-1:-1:-1;;;;;14190:13:0;14180:9;:24::i;13382:164::-;1661:6;;-1:-1:-1;;;;;1661:6:0;477:10;1661:22;1653:67;;;;-1:-1:-1;;;1653:67:0;;;;;;;:::i;:::-;13452:19:::1;:27:::0;;-1:-1:-1;;13452:27:0::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;13495:43:::1;::::0;13452:27:::1;13518:19:::0;;;::::1;;1810:14:1::0;1803:22;1785:41;;13495:43:0::1;::::0;1773:2:1;1758:18;13495:43:0::1;1645:187:1::0;10812:688:0;1661:6;;-1:-1:-1;;;;;1661:6:0;477:10;1661:22;1653:67;;;;-1:-1:-1;;;1653:67:0;;;;;;;:::i;:::-;10877:12:::1;::::0;::::1;;10876:13;10868:49;;;::::0;-1:-1:-1;;;10868:49:0;;7629:2:1;10868:49:0::1;::::0;::::1;7611:21:1::0;7668:2;7648:18;;;7641:30;-1:-1:-1;;;7687:18:1;;;7680:53;7750:18;;10868:49:0::1;7427:347:1::0;10868:49:0::1;11039:15;:34:::0;;-1:-1:-1;;;;;;11039:34:0::1;10985:42;11039:34:::0;;::::1;::::0;;;11084:63:::1;11101:4;10985:42:::0;3035:12:::1;11084:8;:63::i;:::-;11192:16;-1:-1:-1::0;;;;;11192:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11174:56:0::1;;11239:4;11246:16;-1:-1:-1::0;;;;;11246:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11174:96;::::0;-1:-1:-1;;;;;;11174:96:0::1;::::0;;;;;;-1:-1:-1;;;;;8265:15:1;;;11174:96:0::1;::::0;::::1;8247:34:1::0;8317:15;;8297:18;;;8290:43;8182:18;;11174:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11158:13;:112:::0;;-1:-1:-1;;;;;;11158:112:0::1;-1:-1:-1::0;;;;;11158:112:0;;::::1;;::::0;;11281:15:::1;::::0;::::1;:31;11320:21;11351:4;11357:24;11351:4:::0;11357:9:::1;:24::i;:::-;11382:1;11384::::0;11386:7:::1;1572::::0;1599:6;-1:-1:-1;;;;;1599:6:0;;1534:79;11386:7:::1;11281:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11281:129:0;;;-1:-1:-1;;;;;8703:15:1;;;11281:129:0::1;::::0;::::1;8685:34:1::0;8735:18;;;8728:34;;;;8778:18;;;8771:34;;;;8821:18;;;8814:34;8885:15;;;8864:19;;;8857:44;11394:15:0::1;8917:19:1::0;;;8910:35;8619:19;;11281:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11428:13:0::1;::::0;11459:15:::1;::::0;11421:71:::1;::::0;-1:-1:-1;;;11421:71:0;;-1:-1:-1;;;;;11459:15:0;;::::1;11421:71;::::0;::::1;9441:51:1::0;-1:-1:-1;;9508:18:1;;;9501:34;11428:13:0;::::1;::::0;-1:-1:-1;11421:29:0::1;::::0;9414:18:1;;11421:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5812:332::-:0;-1:-1:-1;;;;;5902:19:0;;5894:68;;;;-1:-1:-1;;;5894:68:0;;9998:2:1;5894:68:0;;;9980:21:1;10037:2;10017:18;;;10010:30;10076:34;10056:18;;;10049:62;-1:-1:-1;;;10127:18:1;;;10120:34;10171:19;;5894:68:0;9796:400:1;5894:68:0;-1:-1:-1;;;;;5981:21:0;;5973:68;;;;-1:-1:-1;;;5973:68:0;;10403:2:1;5973:68:0;;;10385:21:1;10442:2;10422:18;;;10415:30;10481:34;10461:18;;;10454:62;-1:-1:-1;;;10532:18:1;;;10525:32;10574:19;;5973:68:0;10201:398:1;5973:68:0;-1:-1:-1;;;;;6052:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6104:32;;160:25:1;;;6104:32:0;;133:18:1;6104:32:0;;;;;;;5812:332;;;:::o;6152:2579::-;-1:-1:-1;;;;;6237:18:0;;6229:68;;;;-1:-1:-1;;;6229:68:0;;10806:2:1;6229:68:0;;;10788:21:1;10845:2;10825:18;;;10818:30;10884:34;10864:18;;;10857:62;-1:-1:-1;;;10935:18:1;;;10928:35;10980:19;;6229:68:0;10604:401:1;6229:68:0;-1:-1:-1;;;;;6316:16:0;;6308:64;;;;-1:-1:-1;;;6308:64:0;;11212:2:1;6308:64:0;;;11194:21:1;11251:2;11231:18;;;11224:30;11290:34;11270:18;;;11263:62;-1:-1:-1;;;11341:18:1;;;11334:33;11384:19;;6308:64:0;11010:399:1;6308:64:0;6400:1;6391:6;:10;6383:64;;;;-1:-1:-1;;;6383:64:0;;11616:2:1;6383:64:0;;;11598:21:1;11655:2;11635:18;;;11628:30;11694:34;11674:18;;;11667:62;-1:-1:-1;;;11745:18:1;;;11738:39;11794:19;;6383:64:0;11414:405:1;6383:64:0;-1:-1:-1;;;;;6467:12:0;;;;;;:6;:12;;;;;;;;6466:13;6458:61;;;;-1:-1:-1;;;6458:61:0;;12026:2:1;6458:61:0;;;12008:21:1;12065:2;12045:18;;;12038:30;12104:34;12084:18;;;12077:62;-1:-1:-1;;;12155:18:1;;;12148:33;12198:19;;6458:61:0;11824:399:1;6458:61:0;6532:10;1599:6;;-1:-1:-1;;;;;6564:15:0;;;1599:6;;6564:15;;;;:32;;-1:-1:-1;1572:7:0;1599:6;-1:-1:-1;;;;;6583:13:0;;;1599:6;;6583:13;;6564:32;6561:1972;;;6644:13;;-1:-1:-1;;;;;6636:21:0;;;6644:13;;6636:21;:55;;;;-1:-1:-1;6675:15:0;;-1:-1:-1;;;;;6661:30:0;;;6675:15;;6661:30;;6636:55;:82;;;;-1:-1:-1;;;;;;6696:22:0;;;;;;:18;:22;;;;;;;;6695:23;6636:82;6633:954;;;6747:12;;;;6739:49;;;;-1:-1:-1;;;6739:49:0;;12430:2:1;6739:49:0;;;12412:21:1;12469:2;12449:18;;;12442:30;12508:26;12488:18;;;12481:54;12552:18;;6739:49:0;12228:348:1;6739:49:0;6834:11;;6815:15;:30;;6807:54;;;;-1:-1:-1;;;6807:54:0;;12783:2:1;6807:54:0;;;12765:21:1;12822:2;12802:18;;;12795:30;-1:-1:-1;;;12841:18:1;;;12834:41;12892:18;;6807:54:0;12581:335:1;6807:54:0;6911:15;6884:11;;6899:7;6884:23;;;;:::i;:::-;6883:43;6880:200;;;6996:14;;6969:22;6987:2;6969:9;:22::i;:::-;6960:31;;:6;:31;:::i;:::-;6959:51;;6951:103;;;;-1:-1:-1;;;6951:103:0;;13256:2:1;6951:103:0;;;13238:21:1;13295:2;13275:18;;;13268:30;13334:34;13314:18;;;13307:62;-1:-1:-1;;;13385:18:1;;;13378:37;13432:19;;6951:103:0;13054:403:1;6951:103:0;-1:-1:-1;;;;;7102:12:0;;;;;;:8;:12;;;;;:19;;;;;7098:95;;7161:12;;;;;;;;-1:-1:-1;7161:12:0;;;7168:4;7161:12;;;;;;;-1:-1:-1;;;;;7146:12:0;;;;:8;:12;;;;;;;:27;;;;;;;;;;-1:-1:-1;;7146:27:0;;;;;;;;;;7098:95;7246:15;7215:11;;7230;7215:27;;;;:::i;:::-;7214:47;7211:277;;;7304:13;;7294:6;:23;;7286:63;;;;-1:-1:-1;;;7286:63:0;;13664:2:1;7286:63:0;;;13646:21:1;13703:2;13683:18;;;13676:30;13742:29;13722:18;;;13715:57;13789:18;;7286:63:0;13462:351:1;7286:63:0;7399:30;:15;7418:10;7399:30;:::i;:::-;-1:-1:-1;;;;;7380:12:0;;;;;;:8;:12;;;;;:16;:49;7372:96;;;;-1:-1:-1;;;7372:96:0;;14020:2:1;7372:96:0;;;14002:21:1;14059:2;14039:18;;;14032:30;14098:34;14078:18;;;14071:62;-1:-1:-1;;;14149:18:1;;;14142:32;14191:19;;7372:96:0;13818:398:1;7372:96:0;-1:-1:-1;;;;;;7506:12:0;;;;;;:8;:12;;;;;7525:15;7506:34;;7567:4;6633:954;7626:7;;;;;;;7625:8;:24;;;;-1:-1:-1;7637:12:0;;;;7625:24;:49;;;;-1:-1:-1;7661:13:0;;-1:-1:-1;;;;;7653:21:0;;;7661:13;;7653:21;;7625:49;7622:900;;;7724:30;:15;7743:10;7724:30;:::i;:::-;-1:-1:-1;;;;;7703:14:0;;;;;;:8;:14;;;;;:18;:51;7695:99;;;;-1:-1:-1;;;7695:99:0;;14423:2:1;7695:99:0;;;14405:21:1;14462:2;14442:18;;;14435:30;14501:34;14481:18;;;14474:62;-1:-1:-1;;;14552:18:1;;;14545:33;14595:19;;7695:99:0;14221:399:1;7695:99:0;7813:25;7841:24;7859:4;7841:9;:24::i;:::-;7813:52;-1:-1:-1;7887:24:0;;7884:402;;7939:19;;;;;;;7936:270;;;8041:8;;8024:13;;8053:3;;8041:8;8014:24;;-1:-1:-1;;;;;8024:13:0;8014:9;:24::i;:::-;:35;;;;:::i;:::-;8013:43;;;;:::i;:::-;7990:20;:66;7987:196;;;8140:8;;8123:13;;8152:3;;8140:8;8113:24;;-1:-1:-1;;;;;8123:13:0;8113:9;:24::i;:::-;:35;;;;:::i;:::-;8112:43;;;;:::i;:::-;8089:66;;7987:196;8228:38;8245:20;8228:16;:38::i;:::-;8330:21;8373:22;;8370:105;;8420:35;8433:21;8420:12;:35::i;:::-;8501:5;8493:13;;7676:846;;7622:900;-1:-1:-1;;;;;8576:24:0;;8543:12;8576:24;;;:18;:24;;;;;;8558:4;;8576:24;;;:50;;-1:-1:-1;;;;;;8604:22:0;;;;;;:18;:22;;;;;;;;8576:50;8573:96;;;-1:-1:-1;8652:5:0;8573:96;8679:44;8694:4;8699:2;8702:6;8709:7;8717:5;8679:14;:44::i;:::-;6218:2513;;6152:2579;;;:::o;9235:139::-;9289:12;;-1:-1:-1;;;;;9289:12:0;:33;9311:10;9320:1;9311:6;:10;:::i;:::-;9289:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9333:12:0;;-1:-1:-1;;;;;9333:12:0;:33;9355:10;9364:1;9355:6;:10;:::i;:::-;9333:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8739:480;4089:7;:14;;-1:-1:-1;;4089:14:0;;;;;8838:16:::1;::::0;;8852:1:::1;8838:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8838:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8838:16:0::1;8814:40;;8883:4;8865;8870:1;8865:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8865:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8909:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8909:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8865:7;;8909:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8899:4;8904:1;8899:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8899:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8974:15:::1;::::0;8942:62:::1;::::0;8959:4:::1;::::0;8974:15:::1;8992:11:::0;8942:8:::1;:62::i;:::-;9015:15;::::0;:196:::1;::::0;-1:-1:-1;;;9015:196:0;;-1:-1:-1;;;;;9015:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9096:11;;9015:15:::1;::::0;9138:4;;9165::::1;::::0;9185:15:::1;::::0;9015:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4126:7:0;:15;;-1:-1:-1;;4126:15:0;;;-1:-1:-1;;;;8739:480:0:o;9386:217::-;9502:8;9514:21;9522:7;9531:3;9514:7;:21::i;:::-;9501:34;;9546:49;9564:6;9572:9;9583:6;9591:3;9546:17;:49::i;:::-;9490:113;9386:217;;;;;:::o;9611:398::-;9674:4;;9714:267;;;;9744:3;9741:229;;;-1:-1:-1;9774:7:0;;9741:229;;;-1:-1:-1;9828:8:0;;9876:11;;:26;;9891:10;9876:26;:::i;:::-;9858:15;:44;9855:100;;;9927:8;9934:1;9927:8;;:::i;:::-;;;9855:100;9998:3;9611:398;-1:-1:-1;;;9611:398:0:o;10017:372::-;10122:19;10143:9;10156:23;10167:6;10175:3;10156:10;:23::i;:::-;-1:-1:-1;;;;;10207:14:0;;;;;;:6;:14;;;;;;10121:58;;-1:-1:-1;10121:58:0;-1:-1:-1;10207:23:0;;10224:6;;10207:23;:::i;:::-;-1:-1:-1;;;;;10190:14:0;;;;;;;:6;:14;;;;;;:40;;;;10261:17;;;;;;;:34;;10281:14;;10261:34;:::i;:::-;-1:-1:-1;;;;;10241:17:0;;;;;;:6;:17;;;;;:54;10307:15;10317:4;10307:9;:15::i;:::-;10355:9;-1:-1:-1;;;;;10338:43:0;10347:6;-1:-1:-1;;;;;10338:43:0;;10366:14;10338:43;;;;160:25:1;;148:2;133:18;;14:177;10338:43:0;;;;;;;;10110:279;;10017:372;;;;:::o;10397:222::-;10466:4;;;10522:3;10502:16;10511:7;10502:6;:16;:::i;:::-;10501:24;;;;:::i;:::-;10489:36;-1:-1:-1;10536:19:0;10558:13;10489:36;10558:6;:13;:::i;:::-;10536:35;10606:4;;-1:-1:-1;10397:222:0;;-1:-1:-1;;;;10397:222:0:o;10627:109::-;10715:4;10700:21;;;;:6;:21;;;;;;:28;;10724:4;;10700:28;:::i;:::-;10691:4;10676:21;;;;:6;:21;;;;;:52;-1:-1:-1;10627:109:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:247::-;1132:6;1185:2;1173:9;1164:7;1160:23;1156:32;1153:52;;;1201:1;1198;1191:12;1153:52;1240:9;1227:23;1259:31;1284:5;1259:31;:::i;1325:315::-;1393:6;1401;1454:2;1442:9;1433:7;1429:23;1425:32;1422:52;;;1470:1;1467;1460:12;1422:52;1509:9;1496:23;1528:31;1553:5;1528:31;:::i;:::-;1578:5;1630:2;1615:18;;;;1602:32;;-1:-1:-1;;;1325:315:1:o;1837:248::-;1905:6;1913;1966:2;1954:9;1945:7;1941:23;1937:32;1934:52;;;1982:1;1979;1972:12;1934:52;-1:-1:-1;;2005:23:1;;;2075:2;2060:18;;;2047:32;;-1:-1:-1;1837:248:1:o;2090:456::-;2167:6;2175;2183;2236:2;2224:9;2215:7;2211:23;2207:32;2204:52;;;2252:1;2249;2242:12;2204:52;2291:9;2278:23;2310:31;2335:5;2310:31;:::i;:::-;2360:5;-1:-1:-1;2417:2:1;2402:18;;2389:32;2430:33;2389:32;2430:33;:::i;:::-;2090:456;;2482:7;;-1:-1:-1;;;2536:2:1;2521:18;;;;2508:32;;2090:456::o;2740:127::-;2801:10;2796:3;2792:20;2789:1;2782:31;2832:4;2829:1;2822:15;2856:4;2853:1;2846:15;2872:1121;2956:6;2987:2;3030;3018:9;3009:7;3005:23;3001:32;2998:52;;;3046:1;3043;3036:12;2998:52;3086:9;3073:23;3115:18;3156:2;3148:6;3145:14;3142:34;;;3172:1;3169;3162:12;3142:34;3210:6;3199:9;3195:22;3185:32;;3255:7;3248:4;3244:2;3240:13;3236:27;3226:55;;3277:1;3274;3267:12;3226:55;3313:2;3300:16;3335:2;3331;3328:10;3325:36;;;3341:18;;:::i;:::-;3387:2;3384:1;3380:10;3419:2;3413:9;3482:2;3478:7;3473:2;3469;3465:11;3461:25;3453:6;3449:38;3537:6;3525:10;3522:22;3517:2;3505:10;3502:18;3499:46;3496:72;;;3548:18;;:::i;:::-;3584:2;3577:22;3634:18;;;3668:15;;;;-1:-1:-1;3710:11:1;;;3706:20;;;3738:19;;;3735:39;;;3770:1;3767;3760:12;3735:39;3794:11;;;;3814:148;3830:6;3825:3;3822:15;3814:148;;;3896:23;3915:3;3896:23;:::i;:::-;3884:36;;3847:12;;;;3940;;;;3814:148;;;3981:6;2872:1121;-1:-1:-1;;;;;;;;2872:1121:1:o;4222:180::-;4281:6;4334:2;4322:9;4313:7;4309:23;4305:32;4302:52;;;4350:1;4347;4340:12;4302:52;-1:-1:-1;4373:23:1;;4222:180;-1:-1:-1;4222:180:1:o;4615:118::-;4701:5;4694:13;4687:21;4680:5;4677:32;4667:60;;4723:1;4720;4713:12;4738:241;4794:6;4847:2;4835:9;4826:7;4822:23;4818:32;4815:52;;;4863:1;4860;4853:12;4815:52;4902:9;4889:23;4921:28;4943:5;4921:28;:::i;4984:388::-;5052:6;5060;5113:2;5101:9;5092:7;5088:23;5084:32;5081:52;;;5129:1;5126;5119:12;5081:52;5168:9;5155:23;5187:31;5212:5;5187:31;:::i;:::-;5237:5;-1:-1:-1;5294:2:1;5279:18;;5266:32;5307:33;5266:32;5307:33;:::i;:::-;5359:7;5349:17;;;4984:388;;;;;:::o;6185:127::-;6246:10;6241:3;6237:20;6234:1;6227:31;6277:4;6274:1;6267:15;6301:4;6298:1;6291:15;6317:125;6357:4;6385:1;6382;6379:8;6376:34;;;6390:18;;:::i;:::-;-1:-1:-1;6427:9:1;;6317:125::o;6447:127::-;6508:10;6503:3;6499:20;6496:1;6489:31;6539:4;6536:1;6529:15;6563:4;6560:1;6553:15;6579:135;6618:3;-1:-1:-1;;6639:17:1;;6636:43;;;6659:18;;:::i;:::-;-1:-1:-1;6706:1:1;6695:13;;6579:135::o;6719:356::-;6921:2;6903:21;;;6940:18;;;6933:30;6999:34;6994:2;6979:18;;6972:62;7066:2;7051:18;;6719:356::o;7779:251::-;7849:6;7902:2;7890:9;7881:7;7877:23;7873:32;7870:52;;;7918:1;7915;7908:12;7870:52;7950:9;7944:16;7969:31;7994:5;7969:31;:::i;8956:306::-;9044:6;9052;9060;9113:2;9101:9;9092:7;9088:23;9084:32;9081:52;;;9129:1;9126;9119:12;9081:52;9158:9;9152:16;9142:26;;9208:2;9197:9;9193:18;9187:25;9177:35;;9252:2;9241:9;9237:18;9231:25;9221:35;;8956:306;;;;;:::o;9546:245::-;9613:6;9666:2;9654:9;9645:7;9641:23;9637:32;9634:52;;;9682:1;9679;9672:12;9634:52;9714:9;9708:16;9733:28;9755:5;9733:28;:::i;12921:128::-;12961:3;12992:1;12988:6;12985:1;12982:13;12979:39;;;12998:18;;:::i;:::-;-1:-1:-1;13034:9:1;;12921:128::o;14625:168::-;14665:7;14731:1;14727;14723:6;14719:14;14716:1;14713:21;14708:1;14701:9;14694:17;14690:45;14687:71;;;14738:18;;:::i;:::-;-1:-1:-1;14778:9:1;;14625:168::o;14798:217::-;14838:1;14864;14854:132;;14908:10;14903:3;14899:20;14896:1;14889:31;14943:4;14940:1;14933:15;14971:4;14968:1;14961:15;14854:132;-1:-1:-1;15000:9:1;;14798:217::o;15020:980::-;15282:4;15330:3;15319:9;15315:19;15361:6;15350:9;15343:25;15387:2;15425:6;15420:2;15409:9;15405:18;15398:34;15468:3;15463:2;15452:9;15448:18;15441:31;15492:6;15527;15521:13;15558:6;15550;15543:22;15596:3;15585:9;15581:19;15574:26;;15635:2;15627:6;15623:15;15609:29;;15656:1;15666:195;15680:6;15677:1;15674:13;15666:195;;;15745:13;;-1:-1:-1;;;;;15741:39:1;15729:52;;15836:15;;;;15801:12;;;;15777:1;15695:9;15666:195;;;-1:-1:-1;;;;;;;15917:32:1;;;;15912:2;15897:18;;15890:60;-1:-1:-1;;;15981:3:1;15966:19;15959:35;15878:3;15020:980;-1:-1:-1;;;15020:980:1:o

Swarm Source

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