ETH Price: $3,225.10 (-1.29%)

Token

MOG TRUMP (MTRUMP)
 

Overview

Max Total Supply

69,000,000 MTRUMP

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
219,225.059417124947161187 MTRUMP

Value
$0.00
0x500a925677eb56c06b2309609bb29e8c6952d1b7
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:
MTRUMP

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-20
*/

/**
MOG TRUMP -- $MTRUMP
Telegram: https://t.me/mogtrumpportal
Twitter: https://x.com/mog_trump
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.7;

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 transferOwnership(address _newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, _newOwner);
        _owner = _newOwner;
        
    }

    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 MTRUMP is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isOutFromFee;
    mapping (address => bool) private isBlacklisted;

    uint256 private time;
    uint256 private bTime;

    uint256 private _totalSupply = 69 * 10**6 * 10**18;

    struct TaxStructure {
        uint256 totalPc;
        uint256 pcMarketing;
        uint256 pcTrump;
        uint256 pcLP;
    }
    TaxStructure private sellTax = TaxStructure(150,130,10,10);
    TaxStructure private buyTax = TaxStructure(150,130,10,10);
    TaxStructure private ZERO = TaxStructure(0,0,0,0);
    TaxStructure private initialTax = TaxStructure(150,150,0,0);
    TaxStructure private initialSellTax = TaxStructure(150,150,0,0);

    string private constant _name = unicode"MOG TRUMP";
    string private constant _symbol = unicode"MTRUMP";
    uint8 private constant _decimals = 18;

    uint256 private _maxTxAmount = _totalSupply.div(100);
    uint256 private _maxWalletAmount = _totalSupply.div(50);
    uint256 private liquidityParkedTokens = 0;
    uint256 private marketingParkedTokens = 0;
    uint256 private trumpParkedTokens = 0;
    uint256 private minBalance = _totalSupply.div(10000);

    address payable private _marketingWallet;
    address payable private _trumpWallet;

    IUniswapV2Router02 private uniswapV2Router;

    address private uniswapV2PairAddress;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _marketingWallet = payable(0xf535E188c77F90dEf043cdbd999ca1F89D55e045);
        _trumpWallet = payable(0xeAB11C7e985C75B760eCc03634cfaaFAA85b96f6);
        _balOwned[owner()] = _totalSupply;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2PairAddress = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        _isOutFromFee[owner()] = true;
        _isOutFromFee[address(this)] = true;
        _isOutFromFee[uniswapV2PairAddress] = true;


        emit Transfer(address(0),address(this),_totalSupply);
    }

    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 _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balOwned[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, "MTRUMP: transfer amount exceeds allowance"));
        return true;
    }

  

    function updateBuyFees(uint256 _marketing,uint256 _trump,uint256 _lp) external onlyOwner {
        buyTax.pcLP = _lp;
        buyTax.pcMarketing = _marketing;
        buyTax.pcTrump = _trump;
        buyTax.totalPc = _marketing.add(_lp).add(_trump);
        require(buyTax.totalPc < 210,"MTRUMP: Buy tax max 21%");
    }
    function updateSellFees(uint256 _marketing,uint256 _trump,uint256 _lp) external onlyOwner {
        sellTax.pcLP = _lp;
        sellTax.pcMarketing = _marketing;
        sellTax.pcTrump = _trump;
        sellTax.totalPc = _marketing.add(_lp).add(_trump);
        require(sellTax.totalPc < 210,"MTRUMP: Sell tax max 21%");
    }

    function updateLimits(uint256 maxTransactionPer,uint256 maxWalletPer) external onlyOwner {
        require(maxTransactionPer > 1 && maxWalletPer > 1,"MTRUMP: Max wallet and max transaction limits always exceed 1%");
        _maxTxAmount = _totalSupply.mul(maxTransactionPer).div(100);
        _maxWalletAmount = _totalSupply.mul(maxWalletPer).div(100);
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _totalSupply;
    }


    function excludeFromFee(address[] calldata target) external onlyOwner{
        for(uint i=0;i<target.length;i++)
            _isOutFromFee[target[i]] = true;
    }

   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "MTRUMP: Approving the zero address");
        require(spender != address(0), "MTRUMP: Approving 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), "MTRUMP: Transfer from the zero address");
        require(to != address(0), "MTRUMP: Transfer to the zero address");

        if (from != owner() && to != owner()) {
            require(tradingOpen,"MTRUMP: trading = true");
            require(!isBlacklisted[from] && !isBlacklisted[to]);

            TaxStructure storage _tax = ZERO;
            if(!_isOutFromFee[to]){
                require((_balOwned[to] + amount) <= _maxWalletAmount,"MTRUMP: Max Wallet");
                require(amount <= _maxTxAmount,"MTRUMP: Max TxAmount");
                if (from == uniswapV2PairAddress && to != address(uniswapV2Router)){
                    _tax = buyTax;
                }
                if(bTime > block.number){
                    _tax = initialTax;
                }
            }

            else if (to == uniswapV2PairAddress && from != address(uniswapV2Router) && ! _isOutFromFee[from]) {
                if(block.timestamp > time){
                    _tax = sellTax;
                }else{
                    _tax = initialSellTax;
                }
            }
            
            
            if (!inSwap && from != uniswapV2PairAddress && swapEnabled && !_isOutFromFee[from] && balanceOf(address(this)) > minBalance) {
                    swapBack();
            }

            if(_tax.totalPc>0){
                uint256 txTax = amount.mul(_tax.totalPc).div(1000);
                amount = amount.sub(txTax);
                liquidityParkedTokens = liquidityParkedTokens.add(txTax.mul(_tax.pcLP).div(_tax.totalPc));
                marketingParkedTokens = marketingParkedTokens.add(txTax.mul(_tax.pcMarketing).div(_tax.totalPc));
                trumpParkedTokens = trumpParkedTokens.add(txTax.mul(_tax.pcTrump).div(_tax.totalPc));
                _transferStandard(from,address(this),txTax);
            }
        }
        		
        _transferStandard(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        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 addLiquidity(uint256 tokenAmount,uint256 ethValue) private {
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethValue}(address(this),tokenAmount,0,0,address(0xdEaD),block.timestamp);
    }

    function swapBack() private lockTheSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = liquidityParkedTokens + marketingParkedTokens + trumpParkedTokens;
        bool success;

        if (contractTokenBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (contractTokenBalance > minBalance * 20) {
            contractTokenBalance = minBalance * 20;
        }

        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = (contractTokenBalance * liquidityParkedTokens) / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractTokenBalance.sub(liquidityTokens);

        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH);

        uint256 ethBalance = address(this).balance.sub(initialETHBalance);

        uint256 ethForMarketing = ethBalance.mul(marketingParkedTokens).div(totalTokensToSwap);

        uint256 ethForTrump = ethBalance.mul(trumpParkedTokens).div(totalTokensToSwap);

        uint256 ethForLiquidity = ethBalance - ethForMarketing - ethForTrump;

        liquidityParkedTokens = 0;
        marketingParkedTokens = 0;
        trumpParkedTokens = 0;

        (success, ) = address(_trumpWallet).call{value: ethForTrump}("");

        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
        }

        (success, ) = address(_marketingWallet).call{
            value: address(this).balance
        }("");

    }
    

    
    function openTrading() external onlyOwner {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (20 minutes);
        bTime = block.number + 1;
    }
    
    function setBlacklist(address[] memory _isBlacklisted) public onlyOwner {
        for (uint i = 0; i < _isBlacklisted.length; i++) {
            isBlacklisted[_isBlacklisted[i]] = true;
        }
    }
    
    function removeBlacklist(address[] memory notbot) public onlyOwner {
        for(uint i=0;i<notbot.length;i++){isBlacklisted[notbot[i]] = false;}
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        _balOwned[sender] = _balOwned[sender].sub(tAmount);
        _balOwned[recipient] = _balOwned[recipient].add(tAmount); 
        emit Transfer(sender, recipient, tAmount);
    }

    receive() external payable {}
    
    function manualSwap() external onlyOwner{
        swapBack();
    }

    function recoverTokens(address tokenAddress) external onlyOwner {
        require(tokenAddress != uniswapV2PairAddress);
        IERC20 _token = IERC20(tokenAddress);
        _token.transfer(msg.sender,_token.balanceOf(address(this)));
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"address[]","name":"target","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_isBlacklisted","type":"address[]"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_trump","type":"uint256"},{"internalType":"uint256","name":"_lp","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionPer","type":"uint256"},{"internalType":"uint256","name":"maxWalletPer","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_trump","type":"uint256"},{"internalType":"uint256","name":"_lp","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6a3913517ebd3c0c65000000600881905560966080819052608260a0819052600a60c081905260e08190526009839055818155600b819055600c819055610100839052610120829052610140819052610160819052600d839055600e91909155600f81905560105560006101808190526101a08190526101c08190526101e0819052601181905560128190556013819055601481905561020082905261022082905261024081905261026081905260158290556016829055601781905560188190556103006040526102808290526102a08290526102c08190526102e08190526019829055601a91909155601b819055601c556200010b90606462000483602090811b62000c4117901c565b601d556200012b60326008546200048360201b62000c411790919060201c565b601e556000601f55600060205560006021556200015b6127106008546200048360201b62000c411790919060201c565b6022556026805461ffff60a81b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602380546001600160a01b031990811673f535e188c77f90def043cdbd999ca1f89d55e045179091556024805490911673eab11c7e985c75b760ecc03634cfaafaa85b96f6179055600854600260006200020f6000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160002092909255602580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a0155926004808301939192829003018186803b1580156200028b57600080fd5b505afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000519565b6001600160a01b031663c9c6539630602560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032457600080fd5b505afa15801562000339573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035f919062000519565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620003a857600080fd5b505af1158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000519565b602680546001600160a01b0319166001600160a01b039283161781556000805483168152600460209081526040808320805460ff1990811660019081179092553080865283862080548316841790559554909616845281842080549096161790945560085484519081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3620005bf565b6000620004cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004d460201b60201c565b9392505050565b60008183620005015760405162461bcd60e51b8152600401620004f8919062000544565b60405180910390fd5b5060006200051084866200059c565b95945050505050565b6000602082840312156200052c57600080fd5b81516001600160a01b0381168114620004cd57600080fd5b600060208083528351808285015260005b81811015620005735785810183015185820160400152820162000555565b8181111562000586576000604083870101525b50601f01601f1916929092016040019392505050565b600082620005ba57634e487b7160e01b600052601260045260246000fd5b500490565b611d8380620005cf6000396000f3fe6080604052600436106101395760003560e01c80637911ef9d116100ab578063a9059cbb1161006f578063a9059cbb14610382578063bf772491146103a2578063c17b5b8c146103c2578063c9567bf9146103e2578063dd62ed3e146103f7578063f2fde38b1461043d57600080fd5b80637911ef9d146102cb5780638095d564146102eb5780638da5cb5b1461030b57806395d89b4114610333578063a2240e191461036257600080fd5b8063313ce567116100fd578063313ce5671461021a57806351bc3c851461023657806370a082311461024b578063715018a61461028157806371b9189c14610296578063751039fc146102b657600080fd5b806306fdde0314610145578063095ea7b31461018957806316114acd146101b957806318160ddd146101db57806323b872dd146101fa57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600981526804d4f47205452554d560bc1b60208201525b6040516101809190611b02565b60405180910390f35b34801561019557600080fd5b506101a96101a43660046118de565b61045d565b6040519015158152602001610180565b3480156101c557600080fd5b506101d96101d436600461182a565b610474565b005b3480156101e757600080fd5b506008545b604051908152602001610180565b34801561020657600080fd5b506101a961021536600461189d565b6105c8565b34801561022657600080fd5b5060405160128152602001610180565b34801561024257600080fd5b506101d9610631565b34801561025757600080fd5b506101ec61026636600461182a565b6001600160a01b031660009081526002602052604090205490565b34801561028d57600080fd5b506101d9610665565b3480156102a257600080fd5b506101d96102b136600461190a565b6106d9565b3480156102c257600080fd5b506101d9610775565b3480156102d757600080fd5b506101d96102e636600461197f565b6107a7565b3480156102f757600080fd5b506101d9610306366004611aa8565b61083d565b34801561031757600080fd5b506000546040516001600160a01b039091168152602001610180565b34801561033f57600080fd5b5060408051808201909152600681526504d5452554d560d41b6020820152610173565b34801561036e57600080fd5b506101d961037d366004611a86565b6108de565b34801561038e57600080fd5b506101a961039d3660046118de565b6109c8565b3480156103ae57600080fd5b506101d96103bd36600461197f565b6109d5565b3480156103ce57600080fd5b506101d96103dd366004611aa8565b610a67565b3480156103ee57600080fd5b506101d9610b02565b34801561040357600080fd5b506101ec610412366004611864565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044957600080fd5b506101d961045836600461182a565b610bbc565b600061046a338484610c8a565b5060015b92915050565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611b57565b60405180910390fd5b6026546001600160a01b03828116911614156104c257600080fd5b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a082319060240160206040518083038186803b15801561050d57600080fd5b505afa158015610521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105459190611a6d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561058b57600080fd5b505af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c39190611a4b565b505050565b60006105d5848484610d38565b610627843361062285604051806060016040528060298152602001611d25602991396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111a8565b610c8a565b5060019392505050565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260040161049e90611b57565b6106636111e2565b565b6000546001600160a01b0316331461068f5760405162461bcd60e51b815260040161049e90611b57565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107035760405162461bcd60e51b815260040161049e90611b57565b60005b818110156105c35760016004600085858581811061072657610726611ce0565b905060200201602081019061073b919061182a565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061076d81611caf565b915050610706565b6000546001600160a01b0316331461079f5760405162461bcd60e51b815260040161049e90611b57565b600854601d55565b6000546001600160a01b031633146107d15760405162461bcd60e51b815260040161049e90611b57565b60005b8151811015610839576000600560008484815181106107f5576107f5611ce0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061083181611caf565b9150506107d4565b5050565b6000546001600160a01b031633146108675760405162461bcd60e51b815260040161049e90611b57565b6010819055600e839055600f82905561088a8261088485846113fc565b906113fc565b600d81905560d2116105c35760405162461bcd60e51b815260206004820152601760248201527f4d5452554d503a2042757920746178206d617820323125000000000000000000604482015260640161049e565b6000546001600160a01b031633146109085760405162461bcd60e51b815260040161049e90611b57565b6001821180156109185750600181115b61098a5760405162461bcd60e51b815260206004820152603e60248201527f4d5452554d503a204d61782077616c6c657420616e64206d6178207472616e7360448201527f616374696f6e206c696d69747320616c77617973206578636565642031250000606482015260840161049e565b6109aa60646109a48460085461145b90919063ffffffff16565b90610c41565b601d556008546109c1906064906109a4908461145b565b601e555050565b600061046a338484610d38565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161049e90611b57565b60005b815181101561083957600160056000848481518110610a2357610a23611ce0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a5f81611caf565b915050610a02565b6000546001600160a01b03163314610a915760405162461bcd60e51b815260040161049e90611b57565b600c819055600a839055600b829055610aae8261088485846113fc565b600981905560d2116105c35760405162461bcd60e51b815260206004820152601860248201527f4d5452554d503a2053656c6c20746178206d6178203231250000000000000000604482015260640161049e565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b815260040161049e90611b57565b602654600160a01b900460ff1615610b865760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049e565b6026805462ff00ff60a01b19166201000160a01b179055610ba9426104b0611c3f565b600655610bb7436001611c3f565b600755565b6000546001600160a01b03163314610be65760405162461bcd60e51b815260040161049e90611b57565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c8383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114da565b9392505050565b6001600160a01b038316610cb05760405162461bcd60e51b815260040161049e90611b8c565b6001600160a01b038216610cd65760405162461bcd60e51b815260040161049e90611b8c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d9d5760405162461bcd60e51b815260206004820152602660248201527f4d5452554d503a205472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161049e565b6001600160a01b038216610dff5760405162461bcd60e51b8152602060048201526024808201527f4d5452554d503a205472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6000546001600160a01b03848116911614801590610e2b57506000546001600160a01b03838116911614155b1561119d57602654600160a01b900460ff16610e825760405162461bcd60e51b81526020600482015260166024820152754d5452554d503a2074726164696e67203d207472756560501b604482015260640161049e565b6001600160a01b03831660009081526005602052604090205460ff16158015610ec457506001600160a01b03821660009081526005602052604090205460ff16155b610ecd57600080fd5b6001600160a01b03821660009081526004602052604090205460119060ff16610fea57601e546001600160a01b038416600090815260026020526040902054610f17908490611c3f565b1115610f5a5760405162461bcd60e51b81526020600482015260126024820152711355149553540e8813585e0815d85b1b195d60721b604482015260640161049e565b601d54821115610fa35760405162461bcd60e51b81526020600482015260146024820152731355149553540e8813585e08151e105b5bdd5b9d60621b604482015260640161049e565b6026546001600160a01b038581169116148015610fce57506025546001600160a01b03848116911614155b15610fd75750600d5b436007541115610fe5575060155b611055565b6026546001600160a01b03848116911614801561101557506025546001600160a01b03858116911614155b801561103a57506001600160a01b03841660009081526004602052604090205460ff16155b156110555760065442111561105157506009611055565b5060195b602654600160a81b900460ff1615801561107d57506026546001600160a01b03858116911614155b80156110925750602654600160b01b900460ff165b80156110b757506001600160a01b03841660009081526004602052604090205460ff16155b80156110d3575060225430600090815260026020526040902054115b156110e0576110e06111e2565b80541561119b5760006111066103e86109a484600001548661145b90919063ffffffff16565b90506111128382611508565b925061113f61113683600001546109a485600301548561145b90919063ffffffff16565b601f54906113fc565b601f55815460018301546111659161115c916109a490859061145b565b602054906113fc565b6020558154600283015461118b91611182916109a490859061145b565b602154906113fc565b60215561119985308361154a565b505b505b6105c383838361154a565b600081848411156111cc5760405162461bcd60e51b815260040161049e9190611b02565b5060006111d98486611c98565b95945050505050565b6026805460ff60a81b1916600160a81b1790553060009081526002602052604081205490506000602154602054601f5461121c9190611c3f565b6112269190611c3f565b90506000821580611235575081155b15611242575050506113ed565b602254611250906014611c79565b83111561126857602254611265906014611c79565b92505b6000600283601f548661127b9190611c79565b6112859190611c57565b61128f9190611c57565b9050600061129d8583611508565b9050476112a9826115f0565b60006112b54783611508565b905060006112d2876109a46020548561145b90919063ffffffff16565b905060006112ef886109a46021548661145b90919063ffffffff16565b90506000816112fe8486611c98565b6113089190611c98565b6000601f819055602081905560218190556024546040519293506001600160a01b031691849181818185875af1925050503d8060008114611365576040519150601f19603f3d011682016040523d82523d6000602084013e61136a565b606091505b5090985050861580159061137e5750600081115b1561138d5761138d8782611759565b6023546040516001600160a01b03909116904790600081818185875af1925050503d80600081146113da576040519150601f19603f3d011682016040523d82523d6000602084013e6113df565b606091505b505050505050505050505050505b6026805460ff60a81b19169055565b6000806114098385611c3f565b905083811015610c835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b60008261146a5750600061046e565b60006114768385611c79565b9050826114838583611c57565b14610c835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b600081836114fb5760405162461bcd60e51b815260040161049e9190611b02565b5060006111d98486611c57565b6000610c8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a8565b6001600160a01b03831660009081526002602052604090205461156d9082611508565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461159c90826113fc565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2b9085815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061162557611625611ce0565b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561167957600080fd5b505afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b19190611847565b816001815181106116c4576116c4611ce0565b6001600160a01b0392831660209182029290920101526025546116ea9130911684610c8a565b60255460405163791ac94760e01b81526001600160a01b039091169063791ac94790611723908590600090869030904290600401611bce565b600060405180830381600087803b15801561173d57600080fd5b505af1158015611751573d6000803e3d6000fd5b505050505050565b6025546117719030906001600160a01b031684610c8a565b60255460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118139190611ad4565b5050505050565b803561182581611d0c565b919050565b60006020828403121561183c57600080fd5b8135610c8381611d0c565b60006020828403121561185957600080fd5b8151610c8381611d0c565b6000806040838503121561187757600080fd5b823561188281611d0c565b9150602083013561189281611d0c565b809150509250929050565b6000806000606084860312156118b257600080fd5b83356118bd81611d0c565b925060208401356118cd81611d0c565b929592945050506040919091013590565b600080604083850312156118f157600080fd5b82356118fc81611d0c565b946020939093013593505050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff8082111561193557600080fd5b818501915085601f83011261194957600080fd5b81358181111561195857600080fd5b8660208260051b850101111561196d57600080fd5b60209290920196919550909350505050565b6000602080838503121561199257600080fd5b823567ffffffffffffffff808211156119aa57600080fd5b818501915085601f8301126119be57600080fd5b8135818111156119d0576119d0611cf6565b8060051b604051601f19603f830116810181811085821117156119f5576119f5611cf6565b604052828152858101935084860182860187018a1015611a1457600080fd5b600095505b83861015611a3e57611a2a8161181a565b855260019590950194938601938601611a19565b5098975050505050505050565b600060208284031215611a5d57600080fd5b81518015158114610c8357600080fd5b600060208284031215611a7f57600080fd5b5051919050565b60008060408385031215611a9957600080fd5b50508035926020909101359150565b600080600060608486031215611abd57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ae957600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611b2f57858101830151858201604001528201611b13565b81811115611b41576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4d5452554d503a20417070726f76696e6720746865207a65726f206164647265604082015261737360f01b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c1e5784516001600160a01b031683529383019391830191600101611bf9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611c5257611c52611cca565b500190565b600082611c7457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c9357611c93611cca565b500290565b600082821015611caa57611caa611cca565b500390565b6000600019821415611cc357611cc3611cca565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611d2157600080fd5b5056fe4d5452554d503a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220122a3f5171c60f6fba717543521b5b614014cf2a975cb8a097ebea816c837e3f64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637911ef9d116100ab578063a9059cbb1161006f578063a9059cbb14610382578063bf772491146103a2578063c17b5b8c146103c2578063c9567bf9146103e2578063dd62ed3e146103f7578063f2fde38b1461043d57600080fd5b80637911ef9d146102cb5780638095d564146102eb5780638da5cb5b1461030b57806395d89b4114610333578063a2240e191461036257600080fd5b8063313ce567116100fd578063313ce5671461021a57806351bc3c851461023657806370a082311461024b578063715018a61461028157806371b9189c14610296578063751039fc146102b657600080fd5b806306fdde0314610145578063095ea7b31461018957806316114acd146101b957806318160ddd146101db57806323b872dd146101fa57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600981526804d4f47205452554d560bc1b60208201525b6040516101809190611b02565b60405180910390f35b34801561019557600080fd5b506101a96101a43660046118de565b61045d565b6040519015158152602001610180565b3480156101c557600080fd5b506101d96101d436600461182a565b610474565b005b3480156101e757600080fd5b506008545b604051908152602001610180565b34801561020657600080fd5b506101a961021536600461189d565b6105c8565b34801561022657600080fd5b5060405160128152602001610180565b34801561024257600080fd5b506101d9610631565b34801561025757600080fd5b506101ec61026636600461182a565b6001600160a01b031660009081526002602052604090205490565b34801561028d57600080fd5b506101d9610665565b3480156102a257600080fd5b506101d96102b136600461190a565b6106d9565b3480156102c257600080fd5b506101d9610775565b3480156102d757600080fd5b506101d96102e636600461197f565b6107a7565b3480156102f757600080fd5b506101d9610306366004611aa8565b61083d565b34801561031757600080fd5b506000546040516001600160a01b039091168152602001610180565b34801561033f57600080fd5b5060408051808201909152600681526504d5452554d560d41b6020820152610173565b34801561036e57600080fd5b506101d961037d366004611a86565b6108de565b34801561038e57600080fd5b506101a961039d3660046118de565b6109c8565b3480156103ae57600080fd5b506101d96103bd36600461197f565b6109d5565b3480156103ce57600080fd5b506101d96103dd366004611aa8565b610a67565b3480156103ee57600080fd5b506101d9610b02565b34801561040357600080fd5b506101ec610412366004611864565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044957600080fd5b506101d961045836600461182a565b610bbc565b600061046a338484610c8a565b5060015b92915050565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611b57565b60405180910390fd5b6026546001600160a01b03828116911614156104c257600080fd5b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a082319060240160206040518083038186803b15801561050d57600080fd5b505afa158015610521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105459190611a6d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561058b57600080fd5b505af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c39190611a4b565b505050565b60006105d5848484610d38565b610627843361062285604051806060016040528060298152602001611d25602991396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111a8565b610c8a565b5060019392505050565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260040161049e90611b57565b6106636111e2565b565b6000546001600160a01b0316331461068f5760405162461bcd60e51b815260040161049e90611b57565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107035760405162461bcd60e51b815260040161049e90611b57565b60005b818110156105c35760016004600085858581811061072657610726611ce0565b905060200201602081019061073b919061182a565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061076d81611caf565b915050610706565b6000546001600160a01b0316331461079f5760405162461bcd60e51b815260040161049e90611b57565b600854601d55565b6000546001600160a01b031633146107d15760405162461bcd60e51b815260040161049e90611b57565b60005b8151811015610839576000600560008484815181106107f5576107f5611ce0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061083181611caf565b9150506107d4565b5050565b6000546001600160a01b031633146108675760405162461bcd60e51b815260040161049e90611b57565b6010819055600e839055600f82905561088a8261088485846113fc565b906113fc565b600d81905560d2116105c35760405162461bcd60e51b815260206004820152601760248201527f4d5452554d503a2042757920746178206d617820323125000000000000000000604482015260640161049e565b6000546001600160a01b031633146109085760405162461bcd60e51b815260040161049e90611b57565b6001821180156109185750600181115b61098a5760405162461bcd60e51b815260206004820152603e60248201527f4d5452554d503a204d61782077616c6c657420616e64206d6178207472616e7360448201527f616374696f6e206c696d69747320616c77617973206578636565642031250000606482015260840161049e565b6109aa60646109a48460085461145b90919063ffffffff16565b90610c41565b601d556008546109c1906064906109a4908461145b565b601e555050565b600061046a338484610d38565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161049e90611b57565b60005b815181101561083957600160056000848481518110610a2357610a23611ce0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a5f81611caf565b915050610a02565b6000546001600160a01b03163314610a915760405162461bcd60e51b815260040161049e90611b57565b600c819055600a839055600b829055610aae8261088485846113fc565b600981905560d2116105c35760405162461bcd60e51b815260206004820152601860248201527f4d5452554d503a2053656c6c20746178206d6178203231250000000000000000604482015260640161049e565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b815260040161049e90611b57565b602654600160a01b900460ff1615610b865760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049e565b6026805462ff00ff60a01b19166201000160a01b179055610ba9426104b0611c3f565b600655610bb7436001611c3f565b600755565b6000546001600160a01b03163314610be65760405162461bcd60e51b815260040161049e90611b57565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c8383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114da565b9392505050565b6001600160a01b038316610cb05760405162461bcd60e51b815260040161049e90611b8c565b6001600160a01b038216610cd65760405162461bcd60e51b815260040161049e90611b8c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610d9d5760405162461bcd60e51b815260206004820152602660248201527f4d5452554d503a205472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161049e565b6001600160a01b038216610dff5760405162461bcd60e51b8152602060048201526024808201527f4d5452554d503a205472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6000546001600160a01b03848116911614801590610e2b57506000546001600160a01b03838116911614155b1561119d57602654600160a01b900460ff16610e825760405162461bcd60e51b81526020600482015260166024820152754d5452554d503a2074726164696e67203d207472756560501b604482015260640161049e565b6001600160a01b03831660009081526005602052604090205460ff16158015610ec457506001600160a01b03821660009081526005602052604090205460ff16155b610ecd57600080fd5b6001600160a01b03821660009081526004602052604090205460119060ff16610fea57601e546001600160a01b038416600090815260026020526040902054610f17908490611c3f565b1115610f5a5760405162461bcd60e51b81526020600482015260126024820152711355149553540e8813585e0815d85b1b195d60721b604482015260640161049e565b601d54821115610fa35760405162461bcd60e51b81526020600482015260146024820152731355149553540e8813585e08151e105b5bdd5b9d60621b604482015260640161049e565b6026546001600160a01b038581169116148015610fce57506025546001600160a01b03848116911614155b15610fd75750600d5b436007541115610fe5575060155b611055565b6026546001600160a01b03848116911614801561101557506025546001600160a01b03858116911614155b801561103a57506001600160a01b03841660009081526004602052604090205460ff16155b156110555760065442111561105157506009611055565b5060195b602654600160a81b900460ff1615801561107d57506026546001600160a01b03858116911614155b80156110925750602654600160b01b900460ff165b80156110b757506001600160a01b03841660009081526004602052604090205460ff16155b80156110d3575060225430600090815260026020526040902054115b156110e0576110e06111e2565b80541561119b5760006111066103e86109a484600001548661145b90919063ffffffff16565b90506111128382611508565b925061113f61113683600001546109a485600301548561145b90919063ffffffff16565b601f54906113fc565b601f55815460018301546111659161115c916109a490859061145b565b602054906113fc565b6020558154600283015461118b91611182916109a490859061145b565b602154906113fc565b60215561119985308361154a565b505b505b6105c383838361154a565b600081848411156111cc5760405162461bcd60e51b815260040161049e9190611b02565b5060006111d98486611c98565b95945050505050565b6026805460ff60a81b1916600160a81b1790553060009081526002602052604081205490506000602154602054601f5461121c9190611c3f565b6112269190611c3f565b90506000821580611235575081155b15611242575050506113ed565b602254611250906014611c79565b83111561126857602254611265906014611c79565b92505b6000600283601f548661127b9190611c79565b6112859190611c57565b61128f9190611c57565b9050600061129d8583611508565b9050476112a9826115f0565b60006112b54783611508565b905060006112d2876109a46020548561145b90919063ffffffff16565b905060006112ef886109a46021548661145b90919063ffffffff16565b90506000816112fe8486611c98565b6113089190611c98565b6000601f819055602081905560218190556024546040519293506001600160a01b031691849181818185875af1925050503d8060008114611365576040519150601f19603f3d011682016040523d82523d6000602084013e61136a565b606091505b5090985050861580159061137e5750600081115b1561138d5761138d8782611759565b6023546040516001600160a01b03909116904790600081818185875af1925050503d80600081146113da576040519150601f19603f3d011682016040523d82523d6000602084013e6113df565b606091505b505050505050505050505050505b6026805460ff60a81b19169055565b6000806114098385611c3f565b905083811015610c835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b60008261146a5750600061046e565b60006114768385611c79565b9050826114838583611c57565b14610c835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b600081836114fb5760405162461bcd60e51b815260040161049e9190611b02565b5060006111d98486611c57565b6000610c8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a8565b6001600160a01b03831660009081526002602052604090205461156d9082611508565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461159c90826113fc565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d2b9085815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061162557611625611ce0565b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561167957600080fd5b505afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b19190611847565b816001815181106116c4576116c4611ce0565b6001600160a01b0392831660209182029290920101526025546116ea9130911684610c8a565b60255460405163791ac94760e01b81526001600160a01b039091169063791ac94790611723908590600090869030904290600401611bce565b600060405180830381600087803b15801561173d57600080fd5b505af1158015611751573d6000803e3d6000fd5b505050505050565b6025546117719030906001600160a01b031684610c8a565b60255460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118139190611ad4565b5050505050565b803561182581611d0c565b919050565b60006020828403121561183c57600080fd5b8135610c8381611d0c565b60006020828403121561185957600080fd5b8151610c8381611d0c565b6000806040838503121561187757600080fd5b823561188281611d0c565b9150602083013561189281611d0c565b809150509250929050565b6000806000606084860312156118b257600080fd5b83356118bd81611d0c565b925060208401356118cd81611d0c565b929592945050506040919091013590565b600080604083850312156118f157600080fd5b82356118fc81611d0c565b946020939093013593505050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff8082111561193557600080fd5b818501915085601f83011261194957600080fd5b81358181111561195857600080fd5b8660208260051b850101111561196d57600080fd5b60209290920196919550909350505050565b6000602080838503121561199257600080fd5b823567ffffffffffffffff808211156119aa57600080fd5b818501915085601f8301126119be57600080fd5b8135818111156119d0576119d0611cf6565b8060051b604051601f19603f830116810181811085821117156119f5576119f5611cf6565b604052828152858101935084860182860187018a1015611a1457600080fd5b600095505b83861015611a3e57611a2a8161181a565b855260019590950194938601938601611a19565b5098975050505050505050565b600060208284031215611a5d57600080fd5b81518015158114610c8357600080fd5b600060208284031215611a7f57600080fd5b5051919050565b60008060408385031215611a9957600080fd5b50508035926020909101359150565b600080600060608486031215611abd57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ae957600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611b2f57858101830151858201604001528201611b13565b81811115611b41576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4d5452554d503a20417070726f76696e6720746865207a65726f206164647265604082015261737360f01b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c1e5784516001600160a01b031683529383019391830191600101611bf9565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611c5257611c52611cca565b500190565b600082611c7457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c9357611c93611cca565b500290565b600082821015611caa57611caa611cca565b500390565b6000600019821415611cc357611cc3611cca565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611d2157600080fd5b5056fe4d5452554d503a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220122a3f5171c60f6fba717543521b5b614014cf2a975cb8a097ebea816c837e3f64736f6c63430008070033

Deployed Bytecode Sourcemap

3806:11175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6252:83;;;;;;;;;;-1:-1:-1;6322:5:0;;;;;;;;;;;;-1:-1:-1;;;6322:5:0;;;;6252:83;;;;;;;:::i;:::-;;;;;;;;7090:161;;;;;;;;;;-1:-1:-1;7090:161:0;;;;;:::i;:::-;;:::i;:::-;;;6422:14:1;;6415:22;6397:41;;6385:2;6370:18;7090:161:0;6257:187:1;14729:245:0;;;;;;;;;;-1:-1:-1;14729:245:0;;;;;:::i;:::-;;:::i;:::-;;6529:100;;;;;;;;;;-1:-1:-1;6609:12:0;;6529:100;;;12066:25:1;;;12054:2;12039:18;6529:100:0;11920:177:1;7259:314:0;;;;;;;;;;-1:-1:-1;7259:314:0;;;;;:::i;:::-;;:::i;6438:83::-;;;;;;;;;;-1:-1:-1;6438:83:0;;4859:2;13229:36:1;;13217:2;13202:18;6438:83:0;13087:184:1;14652:69:0;;;;;;;;;;;;;:::i;6637:119::-;;;;;;;;;;-1:-1:-1;6637:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6730:18:0;6703:7;6730:18;;;:9;:18;;;;;;;6637:119;2885:148;;;;;;;;;;;;;:::i;8728:166::-;;;;;;;;;;-1:-1:-1;8728:166:0;;;;;:::i;:::-;;:::i;8630:88::-;;;;;;;;;;;;;:::i;14166:153::-;;;;;;;;;;-1:-1:-1;14166:153:0;;;;;:::i;:::-;;:::i;7587:326::-;;;;;;;;;;-1:-1:-1;7587:326:0;;;;;:::i;:::-;;:::i;2490:79::-;;;;;;;;;;-1:-1:-1;2528:7:0;2555:6;2490:79;;-1:-1:-1;;;;;2555:6:0;;;5304:51:1;;5292:2;5277:18;2490:79:0;5158:203:1;6343:87:0;;;;;;;;;;-1:-1:-1;6415:7:0;;;;;;;;;;;;-1:-1:-1;;;6415:7:0;;;;6343:87;;8260:362;;;;;;;;;;-1:-1:-1;8260:362:0;;;;;:::i;:::-;;:::i;6764:167::-;;;;;;;;;;-1:-1:-1;6764:167:0;;;;;:::i;:::-;;:::i;13949:205::-;;;;;;;;;;-1:-1:-1;13949:205:0;;;;;:::i;:::-;;:::i;7919:333::-;;;;;;;;;;-1:-1:-1;7919:333:0;;;;;:::i;:::-;;:::i;13688:249::-;;;;;;;;;;;;;:::i;6939:143::-;;;;;;;;;;-1:-1:-1;6939:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7047:18:0;;;7020:7;7047:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6939:143;2704:173;;;;;;;;;;-1:-1:-1;2704:173:0;;;;;:::i;:::-;;:::i;7090:161::-;7165:4;7182:39;288:10;7205:7;7214:6;7182:8;:39::i;:::-;-1:-1:-1;7239:4:0;7090:161;;;;;:::o;14729:245::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;;;;;;;;;14828:20:::1;::::0;-1:-1:-1;;;;;14812:36:0;;::::1;14828:20:::0;::::1;14812:36;;14804:45;;;::::0;::::1;;14934:31;::::0;-1:-1:-1;;;14934:31:0;;14959:4:::1;14934:31;::::0;::::1;5304:51:1::0;14883:12:0;;-1:-1:-1;;;;;14907:15:0;::::1;::::0;::::1;::::0;14923:10:::1;::::0;14907:15;;14934:16:::1;::::0;5277:18:1;;14934:31:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14907:59;::::0;-1:-1:-1;;;;;;14907:59:0::1;::::0;;;;;;-1:-1:-1;;;;;5558:32:1;;;14907:59:0::1;::::0;::::1;5540:51:1::0;5607:18;;;5600:34;5513:18;;14907:59:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14793:181;14729:245:::0;:::o;7259:314::-;7357:4;7374:36;7384:6;7392:9;7403:6;7374:9;:36::i;:::-;7421:122;7430:6;288:10;7452:90;7490:6;7452:90;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7452:19:0;;;;;;:11;:19;;;;;;;;288:10;7452:33;;;;;;;;;;:37;:90::i;:::-;7421:8;:122::i;:::-;-1:-1:-1;7561:4:0;7259:314;;;;;:::o;14652:69::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;14703:10:::1;:8;:10::i;:::-;14652:69::o:0;2885:148::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;2992:1:::1;2976:6:::0;;2955:40:::1;::::0;-1:-1:-1;;;;;2976:6:0;;::::1;::::0;2955:40:::1;::::0;2992:1;;2955:40:::1;3023:1;3006:19:::0;;-1:-1:-1;;;;;;3006:19:0::1;::::0;;2885:148::o;8728:166::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;8812:6:::1;8808:78;8821:15:::0;;::::1;8808:78;;;8882:4;8855:13;:24;8869:6;;8876:1;8869:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8855:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8855:24:0;:31;;-1:-1:-1;;8855:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8837:3;::::1;::::0;::::1;:::i;:::-;;;;8808:78;;8630:88:::0;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;8698:12:::1;::::0;8683::::1;:27:::0;8630:88::o;14166:153::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;14248:6:::1;14244:68;14259:6;:13;14257:1;:15;14244:68;;;14305:5;14278:13;:24;14292:6;14299:1;14292:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14278:24:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14278:24:0;:32;;-1:-1:-1;;14278:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14273:3;::::1;::::0;::::1;:::i;:::-;;;;14244:68;;;;14166:153:::0;:::o;7587:326::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;7687:11;:17;;;7715:18;:31;;;7757:14;:23;;;7808:31:::1;7774:6:::0;7808:19:::1;7736:10:::0;7701:3;7808:14:::1;:19::i;:::-;:23:::0;::::1;:31::i;:::-;7791:6;:48:::0;;;7875:3:::1;-1:-1:-1::0;7850:55:0::1;;;::::0;-1:-1:-1;;;7850:55:0;;8714:2:1;7850:55:0::1;::::0;::::1;8696:21:1::0;8753:2;8733:18;;;8726:30;8792:25;8772:18;;;8765:53;8835:18;;7850:55:0::1;8512:347:1::0;8260:362:0;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;8388:1:::1;8368:17;:21;:41;;;;;8408:1;8393:12;:16;8368:41;8360:115;;;::::0;-1:-1:-1;;;8360:115:0;;11344:2:1;8360:115:0::1;::::0;::::1;11326:21:1::0;11383:2;11363:18;;;11356:30;11422:34;11402:18;;;11395:62;11493:32;11473:18;;;11466:60;11543:19;;8360:115:0::1;11142:426:1::0;8360:115:0::1;8501:44;8541:3;8501:35;8518:17;8501:12;;:16;;:35;;;;:::i;:::-;:39:::0;::::1;:44::i;:::-;8486:12;:59:::0;8575:12:::1;::::0;:39:::1;::::0;8610:3:::1;::::0;8575:30:::1;::::0;8592:12;8575:16:::1;:30::i;:39::-;8556:16;:58:::0;-1:-1:-1;;8260:362:0:o;6764:167::-;6842:4;6859:42;288:10;6883:9;6894:6;6859:9;:42::i;13949:205::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;14037:6:::1;14032:115;14053:14;:21;14049:1;:25;14032:115;;;14131:4;14096:13;:32;14110:14;14125:1;14110:17;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14096:32:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14096:32:0;:39;;-1:-1:-1;;14096:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14076:3;::::1;::::0;::::1;:::i;:::-;;;;14032:115;;7919:333:::0;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;8020:12;:18;;;8049:19;:32;;;8092:15;:24;;;8145:31:::1;8110:6:::0;8145:19:::1;8071:10:::0;8035:3;8145:14:::1;:19::i;:31::-;8127:7;:49:::0;;;8213:3:::1;-1:-1:-1::0;8187:57:0::1;;;::::0;-1:-1:-1;;;8187:57:0;;10639:2:1;8187:57:0::1;::::0;::::1;10621:21:1::0;10678:2;10658:18;;;10651:30;10717:26;10697:18;;;10690:54;10761:18;;8187:57:0::1;10437:348:1::0;13688:249:0;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;13750:11:::1;::::0;-1:-1:-1;;;13750:11:0;::::1;;;13749:12;13741:47;;;::::0;-1:-1:-1;;;13741:47:0;;10992:2:1;13741:47:0::1;::::0;::::1;10974:21:1::0;11031:2;11011:18;;;11004:30;11070:25;11050:18;;;11043:53;11113:18;;13741:47:0::1;10790:347:1::0;13741:47:0::1;13799:11;:18:::0;;-1:-1:-1;;;;13828:18:0;-1:-1:-1;;;13828:18:0;;;13864:30:::1;:15;13883:10;13864:30;:::i;:::-;13857:4;:37:::0;13913:16:::1;:12;13928:1;13913:16;:::i;:::-;13905:5;:24:::0;13688:249::o;2704:173::-;2617:6;;-1:-1:-1;;;;;2617:6:0;288:10;2617:22;2609:67;;;;-1:-1:-1;;;2609:67:0;;;;;;;:::i;:::-;2812:6:::1;::::0;;2791:39:::1;::::0;-1:-1:-1;;;;;2791:39:0;;::::1;::::0;2812:6;::::1;::::0;2791:39:::1;::::0;::::1;2841:6;:18:::0;;-1:-1:-1;;;;;;2841:18:0::1;-1:-1:-1::0;;;;;2841:18:0;;;::::1;::::0;;;::::1;::::0;;2704:173::o;1797:132::-;1855:7;1882:39;1886:1;1889;1882:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1875:46;1797:132;-1:-1:-1;;;1797:132:0:o;8907:333::-;-1:-1:-1;;;;;9000:19:0;;8992:66;;;;-1:-1:-1;;;8992:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9077:21:0;;9069:68;;;;-1:-1:-1;;;9069:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9148:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9200:32;;12066:25:1;;;9200:32:0;;12039:18:1;9200:32:0;;;;;;;;8907:333;;;:::o;9248:2054::-;-1:-1:-1;;;;;9336:18:0;;9328:69;;;;-1:-1:-1;;;9328:69:0;;10232:2:1;9328:69:0;;;10214:21:1;10271:2;10251:18;;;10244:30;10310:34;10290:18;;;10283:62;-1:-1:-1;;;10361:18:1;;;10354:36;10407:19;;9328:69:0;10030:402:1;9328:69:0;-1:-1:-1;;;;;9416:16:0;;9408:65;;;;-1:-1:-1;;;9408:65:0;;7960:2:1;9408:65:0;;;7942:21:1;7999:2;7979:18;;;7972:30;8038:34;8018:18;;;8011:62;-1:-1:-1;;;8089:18:1;;;8082:34;8133:19;;9408:65:0;7758:400:1;9408:65:0;2528:7;2555:6;-1:-1:-1;;;;;9490:15:0;;;2555:6;;9490:15;;;;:32;;-1:-1:-1;2528:7:0;2555:6;-1:-1:-1;;;;;9509:13:0;;;2555:6;;9509:13;;9490:32;9486:1753;;;9547:11;;-1:-1:-1;;;9547:11:0;;;;9539:45;;;;-1:-1:-1;;;9539:45:0;;7253:2:1;9539:45:0;;;7235:21:1;7292:2;7272:18;;;7265:30;-1:-1:-1;;;7311:18:1;;;7304:52;7373:18;;9539:45:0;7051:346:1;9539:45:0;-1:-1:-1;;;;;9608:19:0;;;;;;:13;:19;;;;;;;;9607:20;:42;;;;-1:-1:-1;;;;;;9632:17:0;;;;;;:13;:17;;;;;;;;9631:18;9607:42;9599:51;;;;;;-1:-1:-1;;;;;9718:17:0;;9667:25;9718:17;;;:13;:17;;;;;;9695:4;;9718:17;;9714:746;;9791:16;;-1:-1:-1;;;;;9764:13:0;;;;;;:9;:13;;;;;;:22;;9780:6;;9764:22;:::i;:::-;9763:44;;9755:74;;;;-1:-1:-1;;;9755:74:0;;11775:2:1;9755:74:0;;;11757:21:1;11814:2;11794:18;;;11787:30;-1:-1:-1;;;11833:18:1;;;11826:48;11891:18;;9755:74:0;11573:342:1;9755:74:0;9866:12;;9856:6;:22;;9848:54;;;;-1:-1:-1;;;9848:54:0;;8365:2:1;9848:54:0;;;8347:21:1;8404:2;8384:18;;;8377:30;-1:-1:-1;;;8423:18:1;;;8416:50;8483:18;;9848:54:0;8163:344:1;9848:54:0;9933:20;;-1:-1:-1;;;;;9925:28:0;;;9933:20;;9925:28;:62;;;;-1:-1:-1;9971:15:0;;-1:-1:-1;;;;;9957:30:0;;;9971:15;;9957:30;;9925:62;9921:123;;;-1:-1:-1;10018:6:0;9921:123;10073:12;10065:5;;:20;10062:84;;;-1:-1:-1;10116:10:0;10062:84;9714:746;;;10192:20;;-1:-1:-1;;;;;10186:26:0;;;10192:20;;10186:26;:62;;;;-1:-1:-1;10232:15:0;;-1:-1:-1;;;;;10216:32:0;;;10232:15;;10216:32;;10186:62;:87;;;;-1:-1:-1;;;;;;10254:19:0;;;;;;:13;:19;;;;;;;;10252:21;10186:87;10182:278;;;10315:4;;10297:15;:22;10294:151;;;-1:-1:-1;10350:7:0;10294:151;;;-1:-1:-1;10411:14:0;10294:151;10507:6;;-1:-1:-1;;;10507:6:0;;;;10506:7;:39;;;;-1:-1:-1;10525:20:0;;-1:-1:-1;;;;;10517:28:0;;;10525:20;;10517:28;;10506:39;:54;;;;-1:-1:-1;10549:11:0;;-1:-1:-1;;;10549:11:0;;;;10506:54;:78;;;;-1:-1:-1;;;;;;10565:19:0;;;;;;:13;:19;;;;;;;;10564:20;10506:78;:119;;;;-1:-1:-1;10615:10:0;;10606:4;6703:7;6730:18;;;:9;:18;;;;;;10588:37;10506:119;10502:174;;;10650:10;:8;:10::i;:::-;10695:12;;:14;10692:536;;10729:13;10745:34;10774:4;10745:24;10756:4;:12;;;10745:6;:10;;:24;;;;:::i;:34::-;10729:50;-1:-1:-1;10807:17:0;:6;10729:50;10807:10;:17::i;:::-;10798:26;;10867:65;10893:38;10918:4;:12;;;10893:20;10903:4;:9;;;10893:5;:9;;:20;;;;:::i;:38::-;10867:21;;;:25;:65::i;:::-;10843:21;:89;11033:12;;11011:16;;;;10975:72;;11001:45;;:27;;:5;;:9;:27::i;:45::-;10975:21;;;:25;:72::i;:::-;10951:21;:96;11136:12;;11118;;;;11086:64;;11108:41;;:23;;:5;;:9;:23::i;:41::-;11086:17;;;:21;:64::i;:::-;11066:17;:84;11169:43;11187:4;11200;11206:5;11169:17;:43::i;:::-;10710:518;10692:536;9524:1715;9486:1753;11261:33;11279:4;11284:2;11287:6;11261:17;:33::i;1345:190::-;1431:7;1467:12;1459:6;;;;1451:29;;;;-1:-1:-1;;;1451:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1491:9:0;1503:5;1507:1;1503;:5;:::i;:::-;1491:17;1345:190;-1:-1:-1;;;;;1345:190:0:o;12072:1596::-;5518:6;:13;;-1:-1:-1;;;;5518:13:0;-1:-1:-1;;;5518:13:0;;;12172:4:::1;-1:-1:-1::0;6730:18:0;;;:9;:18;;;;;;12123:55:::1;;12189:25;12265:17;;12241:21;;12217;;:45;;;;:::i;:::-;:65;;;;:::i;:::-;12189:93:::0;-1:-1:-1;12293:12:0::1;12322:25:::0;;;:51:::1;;-1:-1:-1::0;12351:22:0;;12322:51:::1;12318:90;;;12390:7;;;;;12318:90;12447:10;::::0;:15:::1;::::0;12460:2:::1;12447:15;:::i;:::-;12424:20;:38;12420:109;;;12502:10;::::0;:15:::1;::::0;12515:2:::1;12502:15;:::i;:::-;12479:38;;12420:109;12590:23;12685:1;12665:17;12640:21;;12617:20;:44;;;;:::i;:::-;12616:66;;;;:::i;:::-;:70;;;;:::i;:::-;12590:96:::0;-1:-1:-1;12697:26:0::1;12726:41;:20:::0;12590:96;12726:24:::1;:41::i;:::-;12697:70:::0;-1:-1:-1;12808:21:0::1;12842:36;12697:70:::0;12842:16:::1;:36::i;:::-;12891:18;12912:44;:21;12938:17:::0;12912:25:::1;:44::i;:::-;12891:65;;12969:23;12995:60;13037:17;12995:37;13010:21;;12995:10;:14;;:37;;;;:::i;:60::-;12969:86;;13068:19;13090:56;13128:17;13090:33;13105:17;;13090:10;:14;;:33;;;;:::i;:56::-;13068:78:::0;-1:-1:-1;13159:23:0::1;13068:78:::0;13185:28:::1;13198:15:::0;13185:10;:28:::1;:::i;:::-;:42;;;;:::i;:::-;13264:1;13240:21;:25:::0;;;13276:21:::1;:25:::0;;;13312:17:::1;:21:::0;;;13368:12:::1;::::0;13360:50:::1;::::0;13159:68;;-1:-1:-1;;;;;;13368:12:0::1;::::0;13394:11;;13360:50;13264:1;13360:50;13394:11;13368:12;13360:50:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13346:64:0;;-1:-1:-1;;13427:19:0;;;;;:42:::1;;;13468:1;13450:15;:19;13427:42;13423:121;;;13486:46;13499:15;13516;13486:12;:46::i;:::-;13578:16;::::0;13570:88:::1;::::0;-1:-1:-1;;;;;13578:16:0;;::::1;::::0;13622:21:::1;::::0;13570:88:::1;::::0;;;13622:21;13578:16;13570:88:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;;;;5542:1:0::1;5554:6:::0;:14;;-1:-1:-1;;;;5554:14:0;;;12072:1596::o;1014:179::-;1072:7;;1104:5;1108:1;1104;:5;:::i;:::-;1092:17;;1133:1;1128;:6;;1120:46;;;;-1:-1:-1;;;1120:46:0;;7604:2:1;1120:46:0;;;7586:21:1;7643:2;7623:18;;;7616:30;7682:29;7662:18;;;7655:57;7729:18;;1120:46:0;7402:351:1;1543:246:0;1601:7;1625:6;1621:47;;-1:-1:-1;1655:1:0;1648:8;;1621:47;1678:9;1690:5;1694:1;1690;:5;:::i;:::-;1678:17;-1:-1:-1;1723:1:0;1714:5;1718:1;1678:17;1714:5;:::i;:::-;:10;1706:56;;;;-1:-1:-1;;;1706:56:0;;9066:2:1;1706:56:0;;;9048:21:1;9105:2;9085:18;;;9078:30;9144:34;9124:18;;;9117:62;-1:-1:-1;;;9195:18:1;;;9188:31;9236:19;;1706:56:0;8864:397:1;1937:189:0;2023:7;2058:12;2051:5;2043:28;;;;-1:-1:-1;;;2043:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2082:9:0;2094:5;2098:1;2094;:5;:::i;1201:136::-;1259:7;1286:43;1290:1;1293;1286:43;;;;;;;;;;;;;;;;;:3;:43::i;14327:276::-;-1:-1:-1;;;;;14445:17:0;;;;;;:9;:17;;;;;;:30;;14467:7;14445:21;:30::i;:::-;-1:-1:-1;;;;;14425:17:0;;;;;;;:9;:17;;;;;;:50;;;;14509:20;;;;;;;:33;;14534:7;14509:24;:33::i;:::-;-1:-1:-1;;;;;14486:20:0;;;;;;;:9;:20;;;;;;;:56;;;;14559:36;;;;;;;;;;14587:7;12066:25:1;;12054:2;12039:18;;11920:177;11310:471:0;11400:16;;;11414:1;11400:16;;;;;;;;11376:21;;11400:16;;;;;;;;;;-1:-1:-1;11400:16:0;11376:40;;11445:4;11427;11432:1;11427:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11427:23:0;;;:7;;;;;;;;;;:23;;;;11471:15;;:22;;;-1:-1:-1;;;11471:22:0;;;;:15;;;;;:20;;:22;;;;;11427:7;;11471:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11461:4;11466:1;11461:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11461:32:0;;;:7;;;;;;;;;:32;11536:15;;11504:62;;11521:4;;11536:15;11554:11;11504:8;:62::i;:::-;11577:15;;:196;;-1:-1:-1;;;11577:196:0;;-1:-1:-1;;;;;11577:15:0;;;;:66;;:196;;11658:11;;11577:15;;11700:4;;11727;;11747:15;;11577:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11365:416;11310:471;:::o;11795:269::-;11905:15;;11874:60;;11891:4;;-1:-1:-1;;;;;11905:15:0;11922:11;11874:8;:60::i;:::-;11945:15;;:111;;-1:-1:-1;;;11945:111:0;;12002:4;11945:111;;;5986:34:1;6036:18;;;6029:34;;;11945:15:0;6079:18:1;;;6072:34;;;6122:18;;;6115:34;12032:6:0;6165:19:1;;;6158:44;12040:15:0;6218:19:1;;;6211:35;-1:-1:-1;;;;;11945:15:0;;;;:31;;11984:8;;5920:19:1;;11945:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11795:269;;:::o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:615::-;1921:6;1929;1982:2;1970:9;1961:7;1957:23;1953:32;1950:52;;;1998:1;1995;1988:12;1950:52;2038:9;2025:23;2067:18;2108:2;2100:6;2097:14;2094:34;;;2124:1;2121;2114:12;2094:34;2162:6;2151:9;2147:22;2137:32;;2207:7;2200:4;2196:2;2192:13;2188:27;2178:55;;2229:1;2226;2219:12;2178:55;2269:2;2256:16;2295:2;2287:6;2284:14;2281:34;;;2311:1;2308;2301:12;2281:34;2364:7;2359:2;2349:6;2346:1;2342:14;2338:2;2334:23;2330:32;2327:45;2324:65;;;2385:1;2382;2375:12;2324:65;2416:2;2408:11;;;;;2438:6;;-1:-1:-1;1835:615:1;;-1:-1:-1;;;;1835:615:1:o;2455:1132::-;2539:6;2570:2;2613;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2669:9;2656:23;2698:18;2739:2;2731:6;2728:14;2725:34;;;2755:1;2752;2745:12;2725:34;2793:6;2782:9;2778:22;2768:32;;2838:7;2831:4;2827:2;2823:13;2819:27;2809:55;;2860:1;2857;2850:12;2809:55;2896:2;2883:16;2918:2;2914;2911:10;2908:36;;;2924:18;;:::i;:::-;2970:2;2967:1;2963:10;3002:2;2996:9;3065:2;3061:7;3056:2;3052;3048:11;3044:25;3036:6;3032:38;3120:6;3108:10;3105:22;3100:2;3088:10;3085:18;3082:46;3079:72;;;3131:18;;:::i;:::-;3167:2;3160:22;3217:18;;;3251:15;;;;-1:-1:-1;3286:11:1;;;3316;;;3312:20;;3309:33;-1:-1:-1;3306:53:1;;;3355:1;3352;3345:12;3306:53;3377:1;3368:10;;3387:169;3401:2;3398:1;3395:9;3387:169;;;3458:23;3477:3;3458:23;:::i;:::-;3446:36;;3419:1;3412:9;;;;;3502:12;;;;3534;;3387:169;;;-1:-1:-1;3575:6:1;2455:1132;-1:-1:-1;;;;;;;;2455:1132:1:o;3592:277::-;3659:6;3712:2;3700:9;3691:7;3687:23;3683:32;3680:52;;;3728:1;3725;3718:12;3680:52;3760:9;3754:16;3813:5;3806:13;3799:21;3792:5;3789:32;3779:60;;3835:1;3832;3825:12;3874:184;3944:6;3997:2;3985:9;3976:7;3972:23;3968:32;3965:52;;;4013:1;4010;4003:12;3965:52;-1:-1:-1;4036:16:1;;3874:184;-1:-1:-1;3874:184:1:o;4063:248::-;4131:6;4139;4192:2;4180:9;4171:7;4167:23;4163:32;4160:52;;;4208:1;4205;4198:12;4160:52;-1:-1:-1;;4231:23:1;;;4301:2;4286:18;;;4273:32;;-1:-1:-1;4063:248:1:o;4316:316::-;4393:6;4401;4409;4462:2;4450:9;4441:7;4437:23;4433:32;4430:52;;;4478:1;4475;4468:12;4430:52;-1:-1:-1;;4501:23:1;;;4571:2;4556:18;;4543:32;;-1:-1:-1;4622:2:1;4607:18;;;4594:32;;4316:316;-1:-1:-1;4316:316:1:o;4637:306::-;4725:6;4733;4741;4794:2;4782:9;4773:7;4769:23;4765:32;4762:52;;;4810:1;4807;4800:12;4762:52;4839:9;4833:16;4823:26;;4889:2;4878:9;4874:18;4868:25;4858:35;;4933:2;4922:9;4918:18;4912:25;4902:35;;4637:306;;;;;:::o;6449:597::-;6561:4;6590:2;6619;6608:9;6601:21;6651:6;6645:13;6694:6;6689:2;6678:9;6674:18;6667:34;6719:1;6729:140;6743:6;6740:1;6737:13;6729:140;;;6838:14;;;6834:23;;6828:30;6804:17;;;6823:2;6800:26;6793:66;6758:10;;6729:140;;;6887:6;6884:1;6881:13;6878:91;;;6957:1;6952:2;6943:6;6932:9;6928:22;6924:31;6917:42;6878:91;-1:-1:-1;7030:2:1;7009:15;-1:-1:-1;;7005:29:1;6990:45;;;;7037:2;6986:54;;6449:597;-1:-1:-1;;;6449:597:1:o;9266:356::-;9468:2;9450:21;;;9487:18;;;9480:30;9546:34;9541:2;9526:18;;9519:62;9613:2;9598:18;;9266:356::o;9627:398::-;9829:2;9811:21;;;9868:2;9848:18;;;9841:30;9907:34;9902:2;9887:18;;9880:62;-1:-1:-1;;;9973:2:1;9958:18;;9951:32;10015:3;10000:19;;9627:398::o;12102:980::-;12364:4;12412:3;12401:9;12397:19;12443:6;12432:9;12425:25;12469:2;12507:6;12502:2;12491:9;12487:18;12480:34;12550:3;12545:2;12534:9;12530:18;12523:31;12574:6;12609;12603:13;12640:6;12632;12625:22;12678:3;12667:9;12663:19;12656:26;;12717:2;12709:6;12705:15;12691:29;;12738:1;12748:195;12762:6;12759:1;12756:13;12748:195;;;12827:13;;-1:-1:-1;;;;;12823:39:1;12811:52;;12918:15;;;;12883:12;;;;12859:1;12777:9;12748:195;;;-1:-1:-1;;;;;;;12999:32:1;;;;12994:2;12979:18;;12972:60;-1:-1:-1;;;13063:3:1;13048:19;13041:35;12960:3;12102:980;-1:-1:-1;;;12102:980:1:o;13276:128::-;13316:3;13347:1;13343:6;13340:1;13337:13;13334:39;;;13353:18;;:::i;:::-;-1:-1:-1;13389:9:1;;13276:128::o;13409:217::-;13449:1;13475;13465:132;;13519:10;13514:3;13510:20;13507:1;13500:31;13554:4;13551:1;13544:15;13582:4;13579:1;13572:15;13465:132;-1:-1:-1;13611:9:1;;13409:217::o;13631:168::-;13671:7;13737:1;13733;13729:6;13725:14;13722:1;13719:21;13714:1;13707:9;13700:17;13696:45;13693:71;;;13744:18;;:::i;:::-;-1:-1:-1;13784:9:1;;13631:168::o;13804:125::-;13844:4;13872:1;13869;13866:8;13863:34;;;13877:18;;:::i;:::-;-1:-1:-1;13914:9:1;;13804:125::o;13934:135::-;13973:3;-1:-1:-1;;13994:17:1;;13991:43;;;14014:18;;:::i;:::-;-1:-1:-1;14061:1:1;14050:13;;13934:135::o;14074:127::-;14135:10;14130:3;14126:20;14123:1;14116:31;14166:4;14163:1;14156:15;14190:4;14187:1;14180:15;14206:127;14267:10;14262:3;14258:20;14255:1;14248:31;14298:4;14295:1;14288:15;14322:4;14319:1;14312:15;14338:127;14399:10;14394:3;14390:20;14387:1;14380:31;14430:4;14427:1;14420:15;14454:4;14451:1;14444:15;14470:131;-1:-1:-1;;;;;14545:31:1;;14535:42;;14525:70;;14591:1;14588;14581:12;14525:70;14470:131;:::o

Swarm Source

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