ETH Price: $3,146.22 (-8.04%)
Gas: 6 Gwei

Token

ERC20 (erc20)
 

Overview

Max Total Supply

99,962,500,496.260379666 erc20

Holders

146

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
100 erc20

Value
$0.00
0xb8358b31bca82989d3d6611911da3be38fe242f7
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:
PROGEV2

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-13
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0 <0.8.0;

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

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

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract PROGEV2 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "ERC20"; 
    string private constant _symbol = "erc20";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;    
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 100000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public _progeBurned;

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    
    address payable private _presa;
    address payable private _rogeTreasury;
    
    address public ROGE = 0x45734927Fa2f616FbE19E65f42A0ef3d37d1c80A; 
    address public animalSanctuary = 0x4A462404ca4b7caE9F639732EB4DaB75d6E88d19;  

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    bool public tradeAllowed = false;
    bool private liquidityAdded = false;
    bool private inSwap = false;
    bool public swapEnabled = false;
    bool private feeEnabled = false;
    bool private limitTX = false;

    uint256 private _maxTxAmount = _tTotal;     
    uint256 private _reflection = 2;
    uint256 private _contractFee = 9;
    uint256 private _progeBurn = 1;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable addr1, address payable addr2, address addr3) {
        _presa = addr1;
        _rogeTreasury = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_presa] = true;
        _isExcludedFromFee[addr3] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function setFeeEnabled( bool enable) public onlyOwner {
        feeEnabled = enable;
    }
    
    function setLimitTx( bool enable) public onlyOwner {
        limitTX = enable;
    }

    function enableTrading( bool enable) public onlyOwner {
        require(liquidityAdded);
        tradeAllowed = enable;
    }

    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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);
        swapEnabled = true;
        liquidityAdded = true;
        feeEnabled = true;
        limitTX = true;
        _maxTxAmount = 1000000000 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max);
    }

    function manualSwapTokensForEth() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualDistributeETH() external onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        distributeETH(contractETHBalance);
    }
    
    function manualRoge(uint amount) external onlyOwner() {
        swapETHforRoge(amount);
    }


    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal,"Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

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

    function _transfer(address from, address to, uint256 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");

        if (from != owner() && to != owner() && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradeAllowed);
                if (limitTX) {
                require(amount <= _maxTxAmount);
                }
                _contractFee = 9;
                _reflection = 2;
                _progeBurn = 1;
                uint contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    swapETHforRoge(address(this).balance);
                }
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                require(tradeAllowed);
                if (limitTX) {
                require(amount <= balanceOf(uniswapV2Pair).mul(3).div(100) && amount <= _maxTxAmount);
                }
                uint initialETHBalance = address(this).balance;
                swapTokensForEth(contractTokenBalance);
                uint newETHBalance = address(this).balance;
                uint ethToDistribute = newETHBalance.sub(initialETHBalance);
                if (ethToDistribute > 0) {
                    distributeETH(ethToDistribute);
                }
            }
        }
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || !feeEnabled) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
        restoreAllFee;
    }

    function removeAllFee() private {
        if (_reflection == 0 && _contractFee == 0 && _progeBurn == 0) return;
        _reflection = 0;
        _contractFee = 0;
        _progeBurn = 0;
    }

    function restoreAllFee() private {
        _reflection = 2;
        _contractFee = 9;
        _progeBurn = 1;
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
    function _transferStandard(address sender, address recipient, uint256 amount) private {
        (uint256 tAmount, uint256 tBurn) = _progeEthBurn(amount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount, tBurn);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _progeEthBurn(uint amount) private returns (uint, uint) {  
        uint orgAmount = amount;
        uint256 currentRate = _getRate();
        uint256 tBurn = amount.mul(_progeBurn).div(100);
        uint256 rBurn = tBurn.mul(currentRate);
        _tTotal = _tTotal.sub(tBurn);
        _rTotal = _rTotal.sub(rBurn);
        _progeBurned = _progeBurned.add(tBurn);
        return (orgAmount, tBurn);
    }
    
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount, uint256 tBurn) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _reflection, _contractFee, tBurn);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 teamFee, uint256 tBurn) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(teamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam).sub(tBurn);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function swapTokensForEth(uint256 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 swapETHforRoge(uint ethAmount) private {
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(ROGE);

        _approve(address(this), address(uniswapV2Router), ethAmount);
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(ethAmount,path,address(animalSanctuary),block.timestamp);
    }

    function distributeETH(uint256 amount) private {
        _presa.transfer(amount.div(9));
        _rogeTreasury.transfer(amount.div(3));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address","name":"addr3","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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"ROGE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_progeBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"animalSanctuary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualDistributeETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualRoge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokensForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setFeeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setLimitTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"tradeAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405268056bc75e2d63100000600481905568031f237e1a955fffff19600555600c80546001600160a01b03199081167345734927fa2f616fbe19e65f42a0ef3d37d1c80a17909155600d8054909116734a462404ca4b7cae9f639732eb4dab75d6e88d19179055600f805465ffffffffffff60a01b191690556010556002601155600960125560016013553480156200009a57600080fd5b50604051620021e7380380620021e783398181016040526060811015620000c057600080fd5b50805160208201516040909201519091906000620000dd62000268565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b038086166001600160a01b031992831617909255600b805492851692909116919091179055600554600260006200016862000268565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160096000620001a26200026c60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155600a548216845282842080548616821790559085168352912080549092161790556200021262000268565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a35050506200027b565b3390565b6000546001600160a01b031690565b611f5c806200028b6000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a2b174121161008a578063dd62ed3e11610064578063dd62ed3e146104d5578063e8078d9414610510578063f275f64b14610525578063f89ff9021461055157610171565b8063a2b174121461045d578063a9059cbb14610472578063d543dbeb146104ab57610171565b806370a08231146103aa578063715018a6146103dd5780637a32bae4146103f25780637b934dcd146104075780638da5cb5b1461043357806395d89b411461044857610171565b8063313ce56711610123578063313ce5671461031657806332976a251461034157806349abb68e1461035657806349bd5a5e1461036b5780636a66e9e3146103805780636ddd17131461039557610171565b806306fdde0314610176578063095ea7b3146102005780630db474fa1461024d57806310336de01461027b57806318160ddd146102ac57806323b872dd146102d357610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b61057b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c55781810151838201526020016101ad565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020c57600080fd5b506102396004803603604081101561022357600080fd5b506001600160a01b03813516906020013561059a565b604080519115158252519081900360200190f35b34801561025957600080fd5b506102796004803603602081101561027057600080fd5b503515156105b8565b005b34801561028757600080fd5b5061029061062e565b604080516001600160a01b039092168252519081900360200190f35b3480156102b857600080fd5b506102c161063d565b60408051918252519081900360200190f35b3480156102df57600080fd5b50610239600480360360608110156102f657600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b34801561032257600080fd5b5061032b6106ca565b6040805160ff9092168252519081900360200190f35b34801561034d57600080fd5b506102c16106cf565b34801561036257600080fd5b506102906106d5565b34801561037757600080fd5b506102906106e4565b34801561038c57600080fd5b506102796106f3565b3480156103a157600080fd5b50610239610758565b3480156103b657600080fd5b506102c1600480360360208110156103cd57600080fd5b50356001600160a01b0316610768565b3480156103e957600080fd5b5061027961078a565b3480156103fe57600080fd5b5061023961082c565b34801561041357600080fd5b506102796004803603602081101561042a57600080fd5b5035151561083c565b34801561043f57600080fd5b506102906108b2565b34801561045457600080fd5b5061018b6108c1565b34801561046957600080fd5b506102796108e0565b34801561047e57600080fd5b506102396004803603604081101561049557600080fd5b506001600160a01b03813516906020013561094e565b3480156104b757600080fd5b50610279600480360360208110156104ce57600080fd5b5035610962565b3480156104e157600080fd5b506102c1600480360360408110156104f857600080fd5b506001600160a01b0381358116916020013516610a69565b34801561051c57600080fd5b50610279610a94565b34801561053157600080fd5b506102796004803603602081101561054857600080fd5b50351515610e34565b34801561055d57600080fd5b506102796004803603602081101561057457600080fd5b5035610ec0565b604080518082019091526005815264045524332360dc1b602082015290565b60006105ae6105a7610f21565b8484610f25565b5060015b92915050565b6105c0610f21565b6000546001600160a01b03908116911614610610576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f8054911515600160c01b0260ff60c01b19909216919091179055565b600c546001600160a01b031681565b60045490565b6000610650848484611011565b6106c08461065c610f21565b6106bb85604051806060016040528060288152602001611e6d602891396001600160a01b038a1660009081526008602052604081209061069a610f21565b6001600160a01b031681526020810191909152604001600020549190611373565b610f25565b5060019392505050565b600990565b60075481565b600d546001600160a01b031681565b600f546001600160a01b031681565b6106fb610f21565b6000546001600160a01b0390811691161461074b576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b476107558161140a565b50565b600f54600160b81b900460ff1681565b6001600160a01b0381166000908152600260205260408120546105b290611493565b610792610f21565b6000546001600160a01b039081169116146107e2576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f54600160a01b900460ff1681565b610844610f21565b6000546001600160a01b03908116911614610894576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f8054911515600160c81b0260ff60c81b19909216919091179055565b6000546001600160a01b031690565b604080518082019091526005815264065726332360dc1b602082015290565b6108e8610f21565b6000546001600160a01b03908116911614610938576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600061094330610768565b9050610755816114f3565b60006105ae61095b610f21565b8484611011565b61096a610f21565b6000546001600160a01b039081169116146109ba576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b60008111610a0f576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610a2f6064610a29836004546116c290919063ffffffff16565b9061171b565b601081905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610a9c610f21565b6000546001600160a01b03908116911614610aec576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610b309130916001600160a01b031690610f25565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6957600080fd5b505afa158015610b7d573d6000803e3d6000fd5b505050506040513d6020811015610b9357600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610c5f57600080fd5b505af1158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b5051600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610cbb81610768565b600080610cc66108b2565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610d3157600080fd5b505af1158015610d45573d6000803e3d6000fd5b50505050506040513d6060811015610d5c57600080fd5b5050600f805460ff60c81b1960ff60c01b1960ff60a81b1960ff60b81b19909316600160b81b1792909216600160a81b1791909116600160c01b1716600160c81b1790819055670de0b6b3a7640000601055600e546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610e0557600080fd5b505af1158015610e19573d6000803e3d6000fd5b505050506040513d6020811015610e2f57600080fd5b505050565b610e3c610f21565b6000546001600160a01b03908116911614610e8c576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f54600160a81b900460ff16610ea257600080fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b610ec8610f21565b6000546001600160a01b03908116911614610f18576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b6107558161175d565b3390565b6001600160a01b038316610f6a5760405162461bcd60e51b8152600401808060200182810382526024815260200180611f036024913960400191505060405180910390fd5b6001600160a01b038216610faf5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e2a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110565760405162461bcd60e51b8152600401808060200182810382526025815260200180611ede6025913960400191505060405180910390fd5b6001600160a01b03821661109b5760405162461bcd60e51b8152600401808060200182810382526023815260200180611ddd6023913960400191505060405180910390fd5b600081116110da5760405162461bcd60e51b8152600401808060200182810382526029815260200180611eb56029913960400191505060405180910390fd5b6110e26108b2565b6001600160a01b0316836001600160a01b03161415801561111c57506111066108b2565b6001600160a01b0316826001600160a01b031614155b801561114157506001600160a01b03831660009081526009602052604090205460ff16155b801561116657506001600160a01b03821660009081526009602052604090205460ff16155b1561130157600f546001600160a01b0384811691161480156111965750600e546001600160a01b03838116911614155b80156111bb57506001600160a01b03821660009081526009602052604090205460ff16155b1561121857600f54600160a01b900460ff166111d657600080fd5b600f54600160c81b900460ff16156111f7576010548111156111f757600080fd5b600960125560026011556001601355478015611216576112164761175d565b505b600061122330610768565b600f54909150600160b01b900460ff1615801561124e5750600f546001600160a01b03858116911614155b80156112635750600f54600160b81b900460ff165b156112ff57600f54600160a01b900460ff1661127e57600080fd5b600f54600160c81b900460ff16156112d357600f546112b990606490610a29906003906112b3906001600160a01b0316610768565b906116c2565b82111580156112ca57506010548211155b6112d357600080fd5b476112dd826114f3565b4760006112ea8284611916565b905080156112fb576112fb8161140a565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061134357506001600160a01b03831660009081526009602052604090205460ff165b806113585750600f54600160c01b900460ff16155b15611361575060005b61136d84848484611958565b50505050565b600081848411156114025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113c75781810151838201526020016113af565b50505050905090810190601f1680156113f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a546001600160a01b03166108fc61142483600961171b565b6040518115909202916000818181858888f1935050505015801561144c573d6000803e3d6000fd5b50600b546001600160a01b03166108fc61146783600361171b565b6040518115909202916000818181858888f1935050505015801561148f573d6000803e3d6000fd5b5050565b60006005548211156114d65760405162461bcd60e51b815260040180806020018281038252602a815260200180611e00602a913960400191505060405180910390fd5b60006114e0611989565b90506114ec838261171b565b9392505050565b600f805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061153557fe5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60208110156115b357600080fd5b50518151829060019081106115c457fe5b6001600160a01b039283166020918202929092010152600e546115ea9130911684610f25565b600e5460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b83811015611670578181015183820152602001611658565b505050509050019650505050505050600060405180830381600087803b15801561169957600080fd5b505af11580156116ad573d6000803e3d6000fd5b5050600f805460ff60b01b1916905550505050565b6000826116d1575060006105b2565b828202828482816116de57fe5b04146114ec5760405162461bcd60e51b8152600401808060200182810382526021815260200180611e4c6021913960400191505060405180910390fd5b60006114ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ac565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b505050506040513d60208110156117ec57600080fd5b5051815182906000906117fb57fe5b6001600160a01b039283166020918202929092010152600c5482519116908290600190811061182657fe5b6001600160a01b039283166020918202929092010152600e5461184c9130911684610f25565b600e54600d5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156118d25781810151838201526020016118ba565b50505050905001955050505050506000604051808303818588803b1580156118f957600080fd5b505af115801561190d573d6000803e3d6000fd5b50505050505050565b60006114ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611373565b8061196557611965611a11565b611970848484611a49565b8061136d5761136d600260115560096012556001601355565b6000806000611996611b63565b90925090506119a5828261171b565b9250505090565b600081836119fb5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113c75781810151838201526020016113af565b506000838581611a0757fe5b0495945050505050565b601154158015611a215750601254155b8015611a2d5750601354155b15611a3757611a47565b6000601181905560128190556013555b565b600080611a5583611b9a565b91509150600080600080600080611a6c8888611c13565b955095509550955095509550611ab086600260008e6001600160a01b03166001600160a01b031681526020019081526020016000205461191690919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611adf9086611c72565b6001600160a01b038b16600090815260026020526040902055611b0181611ccc565b611b0b8483611d16565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611b78828261171b565b821015611b9057600554600454935093505050611b96565b90925090505b9091565b6000808281611ba7611989565b90506000611bc56064610a29601354896116c290919063ffffffff16565b90506000611bd382846116c2565b600454909150611be39083611916565b600455600554611bf39082611916565b600555600754611c039083611c72565b6007555091935090915050915091565b6000806000806000806000806000611c318b6011546012548d611d3a565b9250925092506000611c41611989565b90506000806000611c548f878787611d8c565b919e509c509a50959850939650919450505050509295509295509295565b6000828201838110156114ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611cd6611989565b90506000611ce483836116c2565b30600090815260026020526040902054909150611d019082611c72565b30600090815260026020526040902055505050565b600554611d239083611916565b600555600654611d339082611c72565b6006555050565b6000808080611d4e6064610a298a8a6116c2565b90506000611d616064610a298b8a6116c2565b90506000611d7b87611d7584818e88611916565b90611916565b9a9299509097509095505050505050565b6000808080611d9b88866116c2565b90506000611da988876116c2565b90506000611db788886116c2565b90506000611dc982611d758686611916565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220bb932671ae467b1d2b63cf5941d2736c6c8ccd5026678a2f95f72c03155f8a1a64736f6c6343000706003300000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a890000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f970000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d1578063a2b174121161008a578063dd62ed3e11610064578063dd62ed3e146104d5578063e8078d9414610510578063f275f64b14610525578063f89ff9021461055157610171565b8063a2b174121461045d578063a9059cbb14610472578063d543dbeb146104ab57610171565b806370a08231146103aa578063715018a6146103dd5780637a32bae4146103f25780637b934dcd146104075780638da5cb5b1461043357806395d89b411461044857610171565b8063313ce56711610123578063313ce5671461031657806332976a251461034157806349abb68e1461035657806349bd5a5e1461036b5780636a66e9e3146103805780636ddd17131461039557610171565b806306fdde0314610176578063095ea7b3146102005780630db474fa1461024d57806310336de01461027b57806318160ddd146102ac57806323b872dd146102d357610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b61057b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c55781810151838201526020016101ad565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020c57600080fd5b506102396004803603604081101561022357600080fd5b506001600160a01b03813516906020013561059a565b604080519115158252519081900360200190f35b34801561025957600080fd5b506102796004803603602081101561027057600080fd5b503515156105b8565b005b34801561028757600080fd5b5061029061062e565b604080516001600160a01b039092168252519081900360200190f35b3480156102b857600080fd5b506102c161063d565b60408051918252519081900360200190f35b3480156102df57600080fd5b50610239600480360360608110156102f657600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b34801561032257600080fd5b5061032b6106ca565b6040805160ff9092168252519081900360200190f35b34801561034d57600080fd5b506102c16106cf565b34801561036257600080fd5b506102906106d5565b34801561037757600080fd5b506102906106e4565b34801561038c57600080fd5b506102796106f3565b3480156103a157600080fd5b50610239610758565b3480156103b657600080fd5b506102c1600480360360208110156103cd57600080fd5b50356001600160a01b0316610768565b3480156103e957600080fd5b5061027961078a565b3480156103fe57600080fd5b5061023961082c565b34801561041357600080fd5b506102796004803603602081101561042a57600080fd5b5035151561083c565b34801561043f57600080fd5b506102906108b2565b34801561045457600080fd5b5061018b6108c1565b34801561046957600080fd5b506102796108e0565b34801561047e57600080fd5b506102396004803603604081101561049557600080fd5b506001600160a01b03813516906020013561094e565b3480156104b757600080fd5b50610279600480360360208110156104ce57600080fd5b5035610962565b3480156104e157600080fd5b506102c1600480360360408110156104f857600080fd5b506001600160a01b0381358116916020013516610a69565b34801561051c57600080fd5b50610279610a94565b34801561053157600080fd5b506102796004803603602081101561054857600080fd5b50351515610e34565b34801561055d57600080fd5b506102796004803603602081101561057457600080fd5b5035610ec0565b604080518082019091526005815264045524332360dc1b602082015290565b60006105ae6105a7610f21565b8484610f25565b5060015b92915050565b6105c0610f21565b6000546001600160a01b03908116911614610610576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f8054911515600160c01b0260ff60c01b19909216919091179055565b600c546001600160a01b031681565b60045490565b6000610650848484611011565b6106c08461065c610f21565b6106bb85604051806060016040528060288152602001611e6d602891396001600160a01b038a1660009081526008602052604081209061069a610f21565b6001600160a01b031681526020810191909152604001600020549190611373565b610f25565b5060019392505050565b600990565b60075481565b600d546001600160a01b031681565b600f546001600160a01b031681565b6106fb610f21565b6000546001600160a01b0390811691161461074b576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b476107558161140a565b50565b600f54600160b81b900460ff1681565b6001600160a01b0381166000908152600260205260408120546105b290611493565b610792610f21565b6000546001600160a01b039081169116146107e2576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f54600160a01b900460ff1681565b610844610f21565b6000546001600160a01b03908116911614610894576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f8054911515600160c81b0260ff60c81b19909216919091179055565b6000546001600160a01b031690565b604080518082019091526005815264065726332360dc1b602082015290565b6108e8610f21565b6000546001600160a01b03908116911614610938576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600061094330610768565b9050610755816114f3565b60006105ae61095b610f21565b8484611011565b61096a610f21565b6000546001600160a01b039081169116146109ba576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b60008111610a0f576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b610a2f6064610a29836004546116c290919063ffffffff16565b9061171b565b601081905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b610a9c610f21565b6000546001600160a01b03908116911614610aec576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610b309130916001600160a01b031690610f25565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6957600080fd5b505afa158015610b7d573d6000803e3d6000fd5b505050506040513d6020811015610b9357600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610c5f57600080fd5b505af1158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b5051600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610cbb81610768565b600080610cc66108b2565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610d3157600080fd5b505af1158015610d45573d6000803e3d6000fd5b50505050506040513d6060811015610d5c57600080fd5b5050600f805460ff60c81b1960ff60c01b1960ff60a81b1960ff60b81b19909316600160b81b1792909216600160a81b1791909116600160c01b1716600160c81b1790819055670de0b6b3a7640000601055600e546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610e0557600080fd5b505af1158015610e19573d6000803e3d6000fd5b505050506040513d6020811015610e2f57600080fd5b505050565b610e3c610f21565b6000546001600160a01b03908116911614610e8c576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b600f54600160a81b900460ff16610ea257600080fd5b600f8054911515600160a01b0260ff60a01b19909216919091179055565b610ec8610f21565b6000546001600160a01b03908116911614610f18576040805162461bcd60e51b81526020600482018190526024820152600080516020611e95833981519152604482015290519081900360640190fd5b6107558161175d565b3390565b6001600160a01b038316610f6a5760405162461bcd60e51b8152600401808060200182810382526024815260200180611f036024913960400191505060405180910390fd5b6001600160a01b038216610faf5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e2a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110565760405162461bcd60e51b8152600401808060200182810382526025815260200180611ede6025913960400191505060405180910390fd5b6001600160a01b03821661109b5760405162461bcd60e51b8152600401808060200182810382526023815260200180611ddd6023913960400191505060405180910390fd5b600081116110da5760405162461bcd60e51b8152600401808060200182810382526029815260200180611eb56029913960400191505060405180910390fd5b6110e26108b2565b6001600160a01b0316836001600160a01b03161415801561111c57506111066108b2565b6001600160a01b0316826001600160a01b031614155b801561114157506001600160a01b03831660009081526009602052604090205460ff16155b801561116657506001600160a01b03821660009081526009602052604090205460ff16155b1561130157600f546001600160a01b0384811691161480156111965750600e546001600160a01b03838116911614155b80156111bb57506001600160a01b03821660009081526009602052604090205460ff16155b1561121857600f54600160a01b900460ff166111d657600080fd5b600f54600160c81b900460ff16156111f7576010548111156111f757600080fd5b600960125560026011556001601355478015611216576112164761175d565b505b600061122330610768565b600f54909150600160b01b900460ff1615801561124e5750600f546001600160a01b03858116911614155b80156112635750600f54600160b81b900460ff165b156112ff57600f54600160a01b900460ff1661127e57600080fd5b600f54600160c81b900460ff16156112d357600f546112b990606490610a29906003906112b3906001600160a01b0316610768565b906116c2565b82111580156112ca57506010548211155b6112d357600080fd5b476112dd826114f3565b4760006112ea8284611916565b905080156112fb576112fb8161140a565b5050505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061134357506001600160a01b03831660009081526009602052604090205460ff165b806113585750600f54600160c01b900460ff16155b15611361575060005b61136d84848484611958565b50505050565b600081848411156114025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113c75781810151838201526020016113af565b50505050905090810190601f1680156113f45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600a546001600160a01b03166108fc61142483600961171b565b6040518115909202916000818181858888f1935050505015801561144c573d6000803e3d6000fd5b50600b546001600160a01b03166108fc61146783600361171b565b6040518115909202916000818181858888f1935050505015801561148f573d6000803e3d6000fd5b5050565b60006005548211156114d65760405162461bcd60e51b815260040180806020018281038252602a815260200180611e00602a913960400191505060405180910390fd5b60006114e0611989565b90506114ec838261171b565b9392505050565b600f805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061153557fe5b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60208110156115b357600080fd5b50518151829060019081106115c457fe5b6001600160a01b039283166020918202929092010152600e546115ea9130911684610f25565b600e5460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b83811015611670578181015183820152602001611658565b505050509050019650505050505050600060405180830381600087803b15801561169957600080fd5b505af11580156116ad573d6000803e3d6000fd5b5050600f805460ff60b01b1916905550505050565b6000826116d1575060006105b2565b828202828482816116de57fe5b04146114ec5760405162461bcd60e51b8152600401808060200182810382526021815260200180611e4c6021913960400191505060405180910390fd5b60006114ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ac565b6040805160028082526060820183526000926020830190803683375050600e54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b505050506040513d60208110156117ec57600080fd5b5051815182906000906117fb57fe5b6001600160a01b039283166020918202929092010152600c5482519116908290600190811061182657fe5b6001600160a01b039283166020918202929092010152600e5461184c9130911684610f25565b600e54600d5460405163b6f9de9560e01b8152600481018581526001600160a01b03928316604483018190524260648401819052608060248501908152875160848601528751959096169563b6f9de9595899586958a9594939092909160a401906020808801910280838360005b838110156118d25781810151838201526020016118ba565b50505050905001955050505050506000604051808303818588803b1580156118f957600080fd5b505af115801561190d573d6000803e3d6000fd5b50505050505050565b60006114ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611373565b8061196557611965611a11565b611970848484611a49565b8061136d5761136d600260115560096012556001601355565b6000806000611996611b63565b90925090506119a5828261171b565b9250505090565b600081836119fb5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113c75781810151838201526020016113af565b506000838581611a0757fe5b0495945050505050565b601154158015611a215750601254155b8015611a2d5750601354155b15611a3757611a47565b6000601181905560128190556013555b565b600080611a5583611b9a565b91509150600080600080600080611a6c8888611c13565b955095509550955095509550611ab086600260008e6001600160a01b03166001600160a01b031681526020019081526020016000205461191690919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611adf9086611c72565b6001600160a01b038b16600090815260026020526040902055611b0181611ccc565b611b0b8483611d16565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611b78828261171b565b821015611b9057600554600454935093505050611b96565b90925090505b9091565b6000808281611ba7611989565b90506000611bc56064610a29601354896116c290919063ffffffff16565b90506000611bd382846116c2565b600454909150611be39083611916565b600455600554611bf39082611916565b600555600754611c039083611c72565b6007555091935090915050915091565b6000806000806000806000806000611c318b6011546012548d611d3a565b9250925092506000611c41611989565b90506000806000611c548f878787611d8c565b919e509c509a50959850939650919450505050509295509295509295565b6000828201838110156114ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611cd6611989565b90506000611ce483836116c2565b30600090815260026020526040902054909150611d019082611c72565b30600090815260026020526040902055505050565b600554611d239083611916565b600555600654611d339082611c72565b6006555050565b6000808080611d4e6064610a298a8a6116c2565b90506000611d616064610a298b8a6116c2565b90506000611d7b87611d7584818e88611916565b90611916565b9a9299509097509095505050505050565b6000808080611d9b88866116c2565b90506000611da988876116c2565b90506000611db788886116c2565b90506000611dc982611d758686611916565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220bb932671ae467b1d2b63cf5941d2736c6c8ccd5026678a2f95f72c03155f8a1a64736f6c63430007060033

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

00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a890000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f970000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388

-----Decoded View---------------
Arg [0] : addr1 (address): 0x53F997da7206D6bF90Ffc4236b3ca8EfB7BB1A89
Arg [1] : addr2 (address): 0x8f5DEde1126E029a1BC0de694A32BC80b4353f97
Arg [2] : addr3 (address): 0x2ADf3ddd9A238E8c0afea647137aE4F534405388

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000053f997da7206d6bf90ffc4236b3ca8efb7bb1a89
Arg [1] : 0000000000000000000000008f5dede1126e029a1bc0de694a32bc80b4353f97
Arg [2] : 0000000000000000000000002adf3ddd9a238e8c0afea647137ae4f534405388


Deployed Bytecode Sourcemap

3738:12466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5740:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6592:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6592:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7083:92;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7083:92:0;;;;:::i;:::-;;4519:64;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4519:64:0;;;;;;;;;;;;;;6017:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6761:310;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6761:310:0;;;;;;;;;;;;;;;;;:::i;5926:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4258:27;;;;;;;;;;;;;:::i;4591:75::-;;;;;;;;;;;;;:::i;4726:28::-;;;;;;;;;;;;;:::i;8384:165::-;;;;;;;;;;;;;:::i;4878:31::-;;;;;;;;;;;;;:::i;6120:138::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6120:138:0;-1:-1:-1;;;;;6120:138:0;;:::i;2594:148::-;;;;;;;;;;;;;:::i;4763:32::-;;;;;;;;;;;;;:::i;7187:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7187:86:0;;;;:::i;2380:79::-;;;;;;;;;;;;;:::i;5831:87::-;;;;;;;;;;;;;:::i;8208:168::-;;;;;;;;;;;;;:::i;6266:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6266:167:0;;;;;;;;:::i;8666:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8666:255:0;;:::i;6441:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6441:143:0;;;;;;;;;;:::i;7417:783::-;;;;;;;;;;;;;:::i;7281:128::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7281:128:0;;;;:::i;8561:95::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8561:95:0;;:::i;5740:83::-;5810:5;;;;;;;;;;;;-1:-1:-1;;;5810:5:0;;;;5740:83;:::o;6592:161::-;6667:4;6684:39;6693:12;:10;:12::i;:::-;6707:7;6716:6;6684:8;:39::i;:::-;-1:-1:-1;6741:4:0;6592:161;;;;;:::o;7083:92::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7148:10:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;7148:19:0::1;-1:-1:-1::0;;;;7148:19:0;;::::1;::::0;;;::::1;::::0;;7083:92::o;4519:64::-;;;-1:-1:-1;;;;;4519:64:0;;:::o;6017:95::-;6097:7;;6017:95;:::o;6761:310::-;6859:4;6876:36;6886:6;6894:9;6905:6;6876:9;:36::i;:::-;6923:118;6932:6;6939:12;:10;:12::i;:::-;6952:88;6990:6;6952:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6952:19:0;;;;;;:11;:19;;;;;;6972:12;:10;:12::i;:::-;-1:-1:-1;;;;;6952:33:0;;;;;;;;;;;;-1:-1:-1;6952:33:0;;;:88;:37;:88::i;:::-;6923:8;:118::i;:::-;-1:-1:-1;7059:4:0;6761:310;;;;;:::o;5926:83::-;3953:1;5926:83;:::o;4258:27::-;;;;:::o;4591:75::-;;;-1:-1:-1;;;;;4591:75:0;;:::o;4726:28::-;;;-1:-1:-1;;;;;4726:28:0;;:::o;8384:165::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8476:21:::1;8508:33;8476:21:::0;8508:13:::1;:33::i;:::-;2577:1;8384:165::o:0;4878:31::-;;;-1:-1:-1;;;4878:31:0;;;;;:::o;6120:138::-;-1:-1:-1;;;;;6233:16:0;;6186:7;6233:16;;;:7;:16;;;;;;6213:37;;:19;:37::i;2594:148::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;2701:1:::1;2685:6:::0;;2664:40:::1;::::0;-1:-1:-1;;;;;2685:6:0;;::::1;::::0;2664:40:::1;::::0;2701:1;;2664:40:::1;2732:1;2715:19:::0;;-1:-1:-1;;;;;;2715:19:0::1;::::0;;2594:148::o;4763:32::-;;;-1:-1:-1;;;4763:32:0;;;;;:::o;7187:86::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7249:7:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;7249:16:0::1;-1:-1:-1::0;;;;7249:16:0;;::::1;::::0;;;::::1;::::0;;7187:86::o;2380:79::-;2418:7;2445:6;-1:-1:-1;;;;;2445:6:0;2380:79;:::o;5831:87::-;5903:7;;;;;;;;;;;;-1:-1:-1;;;5903:7:0;;;;5831:87;:::o;8208:168::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8274:23:::1;8300:24;8318:4;8300:9;:24::i;:::-;8274:50;;8335:33;8352:15;8335:16;:33::i;6266:167::-:0;6344:4;6361:42;6371:12;:10;:12::i;:::-;6385:9;6396:6;6361:9;:42::i;8666:255::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8768:1:::1;8753:12;:16;8745:58;;;::::0;;-1:-1:-1;;;8745:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8829:36;8859:5;8829:25;8841:12;8829:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:36::i;:::-;8814:12;:51:::0;;;8881:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;8666:255:::0;:::o;6441:143::-;-1:-1:-1;;;;;6549:18:0;;;6522:7;6549:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6441:143::o;7417:783::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7584:15:::1;:34:::0;;-1:-1:-1;;;;;;7584:34:0::1;7530:42;7584:34:::0;;::::1;::::0;;;;7679:7:::1;::::0;7530:42;;7629:58:::1;::::0;7646:4:::1;::::0;-1:-1:-1;;;;;7661:15:0::1;::::0;7629:8:::1;:58::i;:::-;7732:16;-1:-1:-1::0;;;;;7732:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7732:26:0;7786:23:::1;::::0;;-1:-1:-1;;;7786:23:0;;;;-1:-1:-1;;;;;7714:56:0;;::::1;::::0;::::1;::::0;7779:4:::1;::::0;7786:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;7732:26:::1;::::0;7786:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7786:23:0;7714:96:::1;::::0;;-1:-1:-1;;;;;;7714:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7714:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;7786:23:::1;::::0;7714:96;;;;;;;-1:-1:-1;7714:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7714:96:0;7698:13:::1;:112:::0;;-1:-1:-1;;;;;;7698:112:0::1;-1:-1:-1::0;;;;;7698:112:0;;::::1;;::::0;;7821:15:::1;::::0;::::1;:31;7860:21;7891:4;7897:24;7891:4:::0;7897:9:::1;:24::i;:::-;7922:1;7924::::0;7926:7:::1;:5;:7::i;:::-;7934:15;7821:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;7821:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7821:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;7961:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;;;;;;;;;7961:18:0;;::::1;-1:-1:-1::0;;;7961:18:0::1;7990:21:::0;;;::::1;-1:-1:-1::0;;;7990:21:0::1;8022:17:::0;;;::::1;-1:-1:-1::0;;;8022:17:0::1;8050:14;-1:-1:-1::0;;;8050:14:0::1;::::0;;;;8090:18:::1;8075:12;:33:::0;8157:15:::1;::::0;7821:129;8119:73;;-1:-1:-1;;;8119:73:0;;-1:-1:-1;;;;;8157:15:0;;::::1;8119:73;::::0;::::1;::::0;-1:-1:-1;;8119:73:0;;;;;;8126:13;;;::::1;::::0;8119:29:::1;::::0;:73;;;;;7821:129:::1;::::0;8119:73;;;;;;;7961:18;8126:13;8119:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;7417:783:0:o;7281:128::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;7354:14:::1;::::0;-1:-1:-1;;;7354:14:0;::::1;;;7346:23;;;::::0;::::1;;7380:12;:21:::0;;;::::1;;-1:-1:-1::0;;;7380:21:0::1;-1:-1:-1::0;;;;7380:21:0;;::::1;::::0;;;::::1;::::0;;7281:128::o;8561:95::-;2517:12;:10;:12::i;:::-;2507:6;;-1:-1:-1;;;;;2507:6:0;;;:22;;;2499:67;;;;;-1:-1:-1;;;2499:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2499:67:0;;;;;;;;;;;;;;;8626:22:::1;8641:6;8626:14;:22::i;101:98::-:0;181:10;101:98;:::o;9190:335::-;-1:-1:-1;;;;;9283:19:0;;9275:68;;;;-1:-1:-1;;;9275:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9362:21:0;;9354:68;;;;-1:-1:-1;;;9354:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9433:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9485:32;;;;;;;;;;;;;;;;;9190:335;;;:::o;9533:1945::-;-1:-1:-1;;;;;9621:18:0;;9613:68;;;;-1:-1:-1;;;9613:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9700:16:0;;9692:64;;;;-1:-1:-1;;;9692:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9784:1;9775:6;:10;9767:64;;;;-1:-1:-1;;;9767:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9856:7;:5;:7::i;:::-;-1:-1:-1;;;;;9848:15:0;:4;-1:-1:-1;;;;;9848:15:0;;;:32;;;;;9873:7;:5;:7::i;:::-;-1:-1:-1;;;;;9867:13:0;:2;-1:-1:-1;;;;;9867:13:0;;;9848:32;:61;;;;-1:-1:-1;;;;;;9885:24:0;;;;;;:18;:24;;;;;;;;9884:25;9848:61;:88;;;;-1:-1:-1;;;;;;9914:22:0;;;;;;:18;:22;;;;;;;;9913:23;9848:88;9844:1398;;;9979:13;;-1:-1:-1;;;;;9971:21:0;;;9979:13;;9971:21;:55;;;;-1:-1:-1;10010:15:0;;-1:-1:-1;;;;;9996:30:0;;;10010:15;;9996:30;;9971:55;:82;;;;-1:-1:-1;;;;;;10031:22:0;;;;;;:18;:22;;;;;;;;10030:23;9971:82;9967:539;;;10082:12;;-1:-1:-1;;;10082:12:0;;;;10074:21;;;;;;10118:7;;-1:-1:-1;;;10118:7:0;;;;10114:83;;;10164:12;;10154:6;:22;;10146:31;;;;;;10230:1;10215:12;:16;10264:1;10250:11;:15;-1:-1:-1;10284:10:0;:14;10343:21;10387:22;;10383:108;;10434:37;10449:21;10434:14;:37::i;:::-;9967:539;;10520:28;10551:24;10569:4;10551:9;:24::i;:::-;10595:6;;10520:55;;-1:-1:-1;;;;10595:6:0;;;;10594:7;:32;;;;-1:-1:-1;10613:13:0;;-1:-1:-1;;;;;10605:21:0;;;10613:13;;10605:21;;10594:32;:47;;;;-1:-1:-1;10630:11:0;;-1:-1:-1;;;10630:11:0;;;;10594:47;10590:641;;;10670:12;;-1:-1:-1;;;10670:12:0;;;;10662:21;;;;;;10706:7;;-1:-1:-1;;;10706:7:0;;;;10702:137;;;10762:13;;10752:40;;10788:3;;10752:31;;10781:1;;10752:24;;-1:-1:-1;;;;;10762:13:0;10752:9;:24::i;:::-;:28;;:31::i;:40::-;10742:6;:50;;:76;;;;;10806:12;;10796:6;:22;;10742:76;10734:85;;;;;;10882:21;10922:38;10939:20;10922:16;:38::i;:::-;11000:21;10979:18;11063:36;11000:21;11081:17;11063;:36::i;:::-;11040:59;-1:-1:-1;11122:19:0;;11118:98;;11166:30;11180:15;11166:13;:30::i;:::-;10590:641;;;;9844:1398;;-1:-1:-1;;;;;11286:24:0;;11252:12;11286:24;;;:18;:24;;;;;;11267:4;;11286:24;;;:50;;-1:-1:-1;;;;;;11314:22:0;;;;;;:18;:22;;;;;;;;11286:50;:65;;;-1:-1:-1;11341:10:0;;-1:-1:-1;;;11341:10:0;;;;11340:11;11286:65;11282:113;;;-1:-1:-1;11378:5:0;11282:113;11405:41;11420:4;11426:2;11430:6;11438:7;11405:14;:41::i;:::-;9533:1945;;;;:::o;1238:190::-;1324:7;1360:12;1352:6;;;;1344:29;;;;-1:-1:-1;;;1344:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1396:5:0;;;1238:190::o;16020:144::-;16078:6;;-1:-1:-1;;;;;16078:6:0;:30;16094:13;:6;16105:1;16094:10;:13::i;:::-;16078:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16119:13:0;;-1:-1:-1;;;;;16119:13:0;:37;16142:13;:6;16153:1;16142:10;:13::i;:::-;16119:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16020:144;:::o;8929:253::-;8997:7;9036;;9025;:18;;9017:72;;;;-1:-1:-1;;;9017:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9100:19;9122:10;:8;:10::i;:::-;9100:32;-1:-1:-1;9150:24:0;:7;9100:32;9150:11;:24::i;:::-;9143:31;8929:253;-1:-1:-1;;;8929:253:0:o;15183:407::-;5242:6;:13;;-1:-1:-1;;;;5242:13:0;-1:-1:-1;;;5242:13:0;;;15285:16:::1;::::0;;15299:1:::1;15285:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15285:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15285:16:0::1;15261:40;;15330:4;15312;15317:1;15312:7;;;;;;;;-1:-1:-1::0;;;;;15312:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15356:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15356:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15312:7;;15356:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15356:22:0;15346:7;;:4;;15351:1:::1;::::0;15346:7;::::1;;;;;-1:-1:-1::0;;;;;15346:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15421:15:::1;::::0;15389:62:::1;::::0;15406:4:::1;::::0;15421:15:::1;15439:11:::0;15389:8:::1;:62::i;:::-;15462:15;::::0;:120:::1;::::0;-1:-1:-1;;;15462:120:0;;::::1;::::0;::::1;::::0;;;:15:::1;:120:::0;;;;;;15559:4:::1;15462:120:::0;;;;;;15566:15:::1;15462:120:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15462:15:0;;::::1;::::0;:66:::1;::::0;15529:11;;15545:4;;15559;15566:15;15462:120;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:120:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5278:6:0;:14;;-1:-1:-1;;;;5278:14:0;;;-1:-1:-1;;;;15183:407:0:o;1436:246::-;1494:7;1518:6;1514:47;;-1:-1:-1;1548:1:0;1541:8;;1514:47;1583:5;;;1587:1;1583;:5;:1;1607:5;;;;;:10;1599:56;;;;-1:-1:-1;;;1599:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:132;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;15603:409::-;15686:16;;;15700:1;15686:16;;;;;;;;15662:21;;15686:16;;;;;;;;-1:-1:-1;;15723:15:0;;:22;;;-1:-1:-1;;;15723:22:0;;;;15662:40;;-1:-1:-1;;;;;;15723:15:0;;;;:20;;-1:-1:-1;15723:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15723:22:0;15713:7;;:4;;15718:1;;15713:7;;;;-1:-1:-1;;;;;15713:32:0;;;:7;;;;;;;;;:32;15774:4;;15756:7;;15774:4;;;15756;;15774;;15756:7;;;;;;-1:-1:-1;;;;;15756:23:0;;;:7;;;;;;;;;:23;15824:15;;15792:60;;15809:4;;15824:15;15842:9;15792:8;:60::i;:::-;15863:15;;15971;;15863:141;;-1:-1:-1;;;15863:141:0;;;;;;;;-1:-1:-1;;;;;15971:15:0;;;15863:141;;;;;;15988:15;15863:141;;;;;;;;;;;;;;;;;;;;;:15;;;;;:66;;15937:9;;;;15958:4;;15971:15;15988;15863:141;;;;;;;;;;;;;;;;:15;:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15603:409;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;11818:239::-;11931:7;11926:28;;11940:14;:12;:14::i;:::-;11965:44;11983:6;11991:9;12002:6;11965:17;:44::i;:::-;12025:7;12020:29;;12034:15;11749:1;11735:11;:15;11776:1;11761:12;:16;11801:1;11788:10;:14;11691:119::o;14746:164::-;14788:7;14809:15;14826;14845:19;:17;:19::i;:::-;14808:56;;-1:-1:-1;14808:56:0;-1:-1:-1;14882:20:0;14808:56;;14882:11;:20::i;:::-;14875:27;;;;14746:164;:::o;1830:189::-;1916:7;1951:12;1944:5;1936:28;;;;-1:-1:-1;;;1936:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:9;1991:1;1987;:5;;;;;;;1830:189;-1:-1:-1;;;;;1830:189:0:o;11486:197::-;11533:11;;:16;:37;;;;-1:-1:-1;11553:12:0;;:17;11533:37;:56;;;;-1:-1:-1;11574:10:0;;:15;11533:56;11529:69;;;11591:7;;11529:69;11622:1;11608:11;:15;;;11634:12;:16;;;11661:10;:14;11486:197;:::o;12063:560::-;12161:15;12178:13;12195:21;12209:6;12195:13;:21::i;:::-;12160:56;;;;12228:15;12245:23;12270:12;12284:23;12309:12;12323:13;12340:26;12351:7;12360:5;12340:10;:26::i;:::-;12227:139;;;;;;;;;;;;12395:28;12415:7;12395;:15;12403:6;-1:-1:-1;;;;;12395:15:0;-1:-1:-1;;;;;12395:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;12377:15:0;;;;;;;:7;:15;;;;;;:46;;;;12455:18;;;;;;;:39;;12478:15;12455:22;:39::i;:::-;-1:-1:-1;;;;;12434:18:0;;;;;;:7;:18;;;;;:60;12505:16;12515:5;12505:9;:16::i;:::-;12532:23;12544:4;12550;12532:11;:23::i;:::-;12588:9;-1:-1:-1;;;;;12571:44:0;12580:6;-1:-1:-1;;;;;12571:44:0;;12599:15;12571:44;;;;;;;;;;;;;;;;;;12063:560;;;;;;;;;;;:::o;14918:257::-;15016:7;;15052;;14969;;;;15084:20;15016:7;15052;15084:11;:20::i;:::-;15074:7;:30;15070:61;;;15114:7;;15123;;15106:25;;;;;;;;15070:61;15150:7;;-1:-1:-1;15159:7:0;-1:-1:-1;14918:257:0;;;:::o;12850:422::-;12903:4;;12945:6;12903:4;12984:10;:8;:10::i;:::-;12962:32;;13005:13;13021:31;13048:3;13021:22;13032:10;;13021:6;:10;;:22;;;;:::i;:31::-;13005:47;-1:-1:-1;13063:13:0;13079:22;13005:47;13089:11;13079:9;:22::i;:::-;13122:7;;13063:38;;-1:-1:-1;13122:18:0;;13134:5;13122:11;:18::i;:::-;13112:7;:28;13161:7;;:18;;13173:5;13161:11;:18::i;:::-;13151:7;:28;13205:12;;:23;;13222:5;13205:16;:23::i;:::-;13190:12;:38;-1:-1:-1;13247:9:0;;-1:-1:-1;13258:5:0;;-1:-1:-1;;12850:422:0;;;:::o;13439:497::-;13513:7;13522;13531;13540;13549;13558;13579:23;13604:12;13618:13;13635:54;13647:7;13656:11;;13669:12;;13683:5;13635:11;:54::i;:::-;13578:111;;;;;;13700:19;13722:10;:8;:10::i;:::-;13700:32;;13744:15;13761:23;13786:12;13802:46;13814:7;13823:4;13829:5;13836:11;13802;:46::i;:::-;13743:105;;-1:-1:-1;13743:105:0;-1:-1:-1;13743:105:0;-1:-1:-1;13899:15:0;;-1:-1:-1;13916:4:0;;-1:-1:-1;13922:5:0;;-1:-1:-1;;;;;13439:497:0;;;;;;;;:::o;907:179::-;965:7;997:5;;;1021:6;;;;1013:46;;;;;-1:-1:-1;;;1013:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12631:211;12684:19;12706:10;:8;:10::i;:::-;12684:32;-1:-1:-1;12727:13:0;12743:22;:5;12684:32;12743:9;:22::i;:::-;12817:4;12801:22;;;;:7;:22;;;;;;12727:38;;-1:-1:-1;12801:33:0;;12727:38;12801:26;:33::i;:::-;12792:4;12776:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12631:211:0:o;13284:147::-;13362:7;;:17;;13374:4;13362:11;:17::i;:::-;13352:7;:27;13403:10;;:20;;13418:4;13403:14;:20::i;:::-;13390:10;:33;-1:-1:-1;;13284:147:0:o;13944:377::-;14052:7;;;;14105:28;14129:3;14105:19;:7;14117:6;14105:11;:19::i;:28::-;14090:43;-1:-1:-1;14144:13:0;14160:29;14185:3;14160:20;:7;14172;14160:11;:20::i;:29::-;14144:45;-1:-1:-1;14200:23:0;14226:39;14259:5;14226:28;14144:45;14226:28;:7;14238:4;14226:11;:17::i;:::-;:21;;:28::i;:39::-;14200:65;14301:4;;-1:-1:-1;14307:5:0;;-1:-1:-1;13944:377:0;;-1:-1:-1;;;;;;13944:377:0:o;14329:409::-;14439:7;;;;14495:24;:7;14507:11;14495;:24::i;:::-;14477:42;-1:-1:-1;14530:12:0;14545:21;:4;14554:11;14545:8;:21::i;:::-;14530:36;-1:-1:-1;14577:13:0;14593:22;:5;14603:11;14593:9;:22::i;:::-;14577:38;-1:-1:-1;14626:23:0;14652:28;14577:38;14652:17;:7;14664:4;14652:11;:17::i;:28::-;14699:7;;;;-1:-1:-1;14725:4:0;;-1:-1:-1;14329:409:0;;-1:-1:-1;;;;;;;14329:409:0:o

Swarm Source

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