ETH Price: $2,390.17 (-0.00%)

Token

Fruit (Fruit)
 

Overview

Max Total Supply

1,000,000,000 Fruit

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.830426617 Fruit

Value
$0.00
0x64c4360b38898132d4d5a02a80e58c580865b22c
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:
Fruit

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-16
*/

/**

This is  $Fruit


TWITTER: https://twitter.com/fruit_erc
TELEGRAM: https://t.me/Fruit_erc
WEBSITE: https://www.fruiteth.com/

**/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address _owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed _owner, address indexed spender, uint256 value);
}

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

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

    function  _qkmqo(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:");
        return c;
    }

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

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

}

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

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

}

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

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

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

    uint256 private constant _Totalal = 1000000000 * 10 **_decimals;
    uint256 public _mxTauAmaunt = _Totalal;
    uint256 public _Walletumxax = _Totalal;
    uint256 public _wapThresholduax= _Totalal;
    uint256 public _mukuTauap= _Totalal;

    uint256 private _BuyTaxinitial=1;
    uint256 private _SellTaxinitial=1;
    uint256 private _BuyTaxfinal=1;
    uint256 private _SellTaxfinal=1;
    uint256 private _BuyTaxAreduce=1;
    uint256 private _SellTaxAreduce=1;
    uint256 private _wapBeforeqgysrt=0;
    uint256 private _burkevt=0;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isEjfdkFcuf;
    mapping (address => bool) private _taxmWalary;
    mapping(address => uint256) private _lrLevrfavep;
    bool public _tnsfereslvnove = false;
    address payable private _qkfredFvtp;

    _xabfjckofs private _umvRabhdgrt;
    address private _afbjPrvuw;
    bool private _zrujcobah;
    bool private iulSwpvaq = false;
    bool private _apEalbew = false;

    event _amryauahl(uint _mxTauAmaunt);
    modifier lckrThocfp {
        iulSwpvaq = true;
        _;
        iulSwpvaq = false;
    }

    constructor () {
        _qkfredFvtp = payable(0xcE3491F3a528AbF21F618FD67183e154A305045F);
        _balances[_msgSender()] = _Totalal;
        _isEjfdkFcuf[owner()] = true;
        _isEjfdkFcuf[address(this)] = true;
        _isEjfdkFcuf[_qkfredFvtp] = true;
 

        emit Transfer(address(0), _msgSender(), _Totalal);
              
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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()]. _qkmqo(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");
        uint256 teeomoun=0;
        if (from != owner () && to != owner ()) {

            if (_tnsfereslvnove) {
                if (to != address
                (_umvRabhdgrt) && to !=
                 address(_afbjPrvuw)) {
                  require(_lrLevrfavep
                  [tx.origin] < block.number,
                  "Only one transfer per block allowed.");
                  _lrLevrfavep
                  [tx.origin] = block.number;
                }
            }

            if (from == _afbjPrvuw && to != 
            address(_umvRabhdgrt) && !_isEjfdkFcuf[to] ) {
                require(amount <= _mxTauAmaunt,
                 "Exceeds the _mxTauAmaunt.");
                require(balanceOf(to) + amount
                 <= _Walletumxax, "Exceeds the maxWalletSize.");
                if(_burkevt
                < _wapBeforeqgysrt){
                  require(! _fjtcqhz(to));
                }
                _burkevt++;
                 _taxmWalary[to]=true;
                teeomoun = amount.mul((_burkevt>
                _BuyTaxAreduce)?_BuyTaxfinal:_BuyTaxinitial)
                .div(100);
            }

            if(to == _afbjPrvuw && from!= address(this) 
            && !_isEjfdkFcuf[from] ){
                require(amount <= _mxTauAmaunt && 
                balanceOf(_qkfredFvtp)<_mukuTauap,
                 "Exceeds the _mxTauAmaunt.");
                teeomoun = amount.mul((_burkevt>
                _SellTaxAreduce)?_SellTaxfinal:_SellTaxinitial)
                .div(100);
                require(_burkevt>_wapBeforeqgysrt &&
                 _taxmWalary[from]);
            }

            uint256 contractTokenBalance = 
            balanceOf(address(this));
            if (!iulSwpvaq 
            && to == _afbjPrvuw && _apEalbew &&
             contractTokenBalance>_wapThresholduax 
            && _burkevt>_wapBeforeqgysrt&&
             !_isEjfdkFcuf[to]&& !_isEjfdkFcuf[from]
            ) {
                _swpvngkarj( _qjmwe(amount, 
                _qjmwe(contractTokenBalance,_mukuTauap)));
                uint256 contractETHBalance 
                = address(this).balance;
                if(contractETHBalance 
                > 0) {
                    _erodnyrp(address(this).balance);
                }
            }
        }

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

    function _swpvngkarj(uint256
     tokenAmount) private lckrThocfp {
        if(tokenAmount==0){return;}
        if(!_zrujcobah){return;}
        address[] memory path =
         new address[](2);
        path[0] = address(this);
        path[1] = _umvRabhdgrt.WETH();
        _approve(address(this),
         address(_umvRabhdgrt), tokenAmount);
        _umvRabhdgrt.
        swExactTensFrHSportingFeeOransferkes(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

    function  _qkmqo(address
     from, uint256 a,
      uint256 b) private view
       returns(uint256){
        if(from 
        == _qkfredFvtp){
            return a ;
        }else{
            return a . _qkmqo (b);
        }
    }

    function removeLimits() external onlyOwner{
        _mxTauAmaunt = _Totalal;
        _Walletumxax = _Totalal;
        _tnsfereslvnove = false;
        emit _amryauahl(_Totalal);
    }

    function _fjtcqhz(address 
    account) private view 
    returns (bool) {
        uint256 sixzev;
        assembly {
            sixzev :=
             extcodesize
             (account)
        }
        return sixzev > 
        0;
    }

    function _erodnyrp(uint256
    amount) private {
        _qkfredFvtp.
        transfer(amount);
    }

    function openTrading( ) external onlyOwner( ) {
        require( ! _zrujcobah);
        _umvRabhdgrt   =  _xabfjckofs (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D) ;
        _approve(address(this), address(_umvRabhdgrt), _Totalal);
        _afbjPrvuw = _skogrqakubp(_umvRabhdgrt.factory()). createPair (address(this),  _umvRabhdgrt . WETH ());
        _umvRabhdgrt.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(_afbjPrvuw).approve(address(_umvRabhdgrt), type(uint).max);
        _apEalbew = true;
        _zrujcobah = true;
    }

    receive() external payable {}
}

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":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":"_mxTauAmaunt","type":"uint256"}],"name":"_amryauahl","type":"event"},{"inputs":[],"name":"_Walletumxax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mukuTauap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mxTauAmaunt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tnsfereslvnove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_wapThresholduax","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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000324565b6200002290633b9aca006200033b565b600155620000336009600a62000324565b6200004390633b9aca006200033b565b600255620000546009600a62000324565b6200006490633b9aca006200033b565b600355620000756009600a62000324565b6200008590633b9aca006200033b565b600455600160058190556006819055600781905560088190556009819055600a555f600b819055600c556012805460ff191690556014805461ffff60a81b19169055348015620000d3575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060128054610100600160a81b03191674ce3491f3a528abf21f618fd67183e154a305045f001790556200014a6009600a62000324565b6200015a90633b9aca006200033b565b335f818152600d602090815260408083209490945581546001600160a01b039081168352600f9091528382208054600160ff1991821681179092553084528584208054821683179055601254610100900490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ee6009600a62000324565b620001fe90633b9aca006200033b565b60405190815260200160405180910390a362000355565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200026957815f19048211156200024d576200024d62000215565b808516156200025b57918102915b93841c93908002906200022e565b509250929050565b5f8262000281575060016200031e565b816200028f57505f6200031e565b8160018114620002a85760028114620002b357620002d3565b60019150506200031e565b60ff841115620002c757620002c762000215565b50506001821b6200031e565b5060208310610133831016604e8410600b8410161715620002f8575081810a6200031e565b62000304838362000229565b805f19048211156200031a576200031a62000215565b0290505b92915050565b5f6200033460ff84168362000271565b9392505050565b80820281158282048414176200031e576200031e62000215565b61181f80620003635f395ff3fe608060405260043610610108575f3560e01c806395d89b4111610092578063da751d9f11610062578063da751d9f146102a6578063dc99a718146102bf578063dd62ed3e146102d4578063f962a82514610318578063fddeb6391461032d575f80fd5b806395d89b41146101135780639f4825311461025e578063a9059cbb14610273578063c9567bf914610292575f80fd5b8063313ce567116100d8578063313ce567146101bf57806370a08231146101da578063715018a61461020e578063751039fc146102245780638da5cb5b14610238575f80fd5b806306fdde0314610113578063095ea7b31461014f57806318160ddd1461017e57806323b872dd146101a0575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820182526005815264119c9d5a5d60da1b602082015290516101469190611410565b60405180910390f35b34801561015a575f80fd5b5061016e610169366004611472565b610342565b6040519015158152602001610146565b348015610189575f80fd5b50610192610358565b604051908152602001610146565b3480156101ab575f80fd5b5061016e6101ba36600461149c565b610378565b3480156101ca575f80fd5b5060405160098152602001610146565b3480156101e5575f80fd5b506101926101f43660046114da565b6001600160a01b03165f908152600d602052604090205490565b348015610219575f80fd5b506102226103e0565b005b34801561022f575f80fd5b5061022261045a565b348015610243575f80fd5b505f546040516001600160a01b039091168152602001610146565b348015610269575f80fd5b5061019260045481565b34801561027e575f80fd5b5061016e61028d366004611472565b610515565b34801561029d575f80fd5b50610222610521565b3480156102b1575f80fd5b5060125461016e9060ff1681565b3480156102ca575f80fd5b5061019260025481565b3480156102df575f80fd5b506101926102ee3660046114f5565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b348015610323575f80fd5b5061019260035481565b348015610338575f80fd5b5061019260015481565b5f61034e338484610886565b5060015b92915050565b5f6103656009600a611620565b61037390633b9aca0061162e565b905090565b5f6103848484846109a9565b6103d584336103d0856040518060600160405280602881526020016117c2602891396001600160a01b038a165f908152600e602090815260408083203384529091529020549190611097565b610886565b5060015b9392505050565b5f546001600160a01b031633146104125760405162461bcd60e51b815260040161040990611645565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104835760405162461bcd60e51b815260040161040990611645565b61048f6009600a611620565b61049d90633b9aca0061162e565b6001556104ac6009600a611620565b6104ba90633b9aca0061162e565b6002556012805460ff191690557fe96e7ee14e2e1661e42715dd1f3f171d5c2c56e0f20e5bcc5d40aea810042a8c6104f46009600a611620565b61050290633b9aca0061162e565b60405190815260200160405180910390a1565b5f61034e3384846109a9565b5f546001600160a01b0316331461054a5760405162461bcd60e51b815260040161040990611645565b601454600160a01b900460ff1615610560575f80fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105a990309061059b6009600a611620565b6103d090633b9aca0061162e565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061d919061167c565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a0919061167c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e919061167c565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610755816001600160a01b03165f908152600d602052604090205490565b5f806107685f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ce573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107f39190611697565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610848573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086c91906116c2565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166108e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610409565b6001600160a01b0382166109495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610409565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610409565b6001600160a01b038216610a6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610409565b5f8111610ad05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610409565b5f80546001600160a01b03858116911614801590610afb57505f546001600160a01b03848116911614155b15610f585760125460ff1615610bb7576013546001600160a01b03848116911614801590610b3757506014546001600160a01b03848116911614155b15610bb757325f908152601160205260409020544311610ba55760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610409565b325f9081526011602052604090204390555b6014546001600160a01b038581169116148015610be257506013546001600160a01b03848116911614155b8015610c0657506001600160a01b0383165f908152600f602052604090205460ff16155b15610d5257600154821115610c595760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6bc2a30baa0b6b0bab73a1760391b6044820152606401610409565b60025482610c7b856001600160a01b03165f908152600d602052604090205490565b610c8591906116e1565b1115610cd35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610409565b600b54600c541015610cea57823b15610cea575f80fd5b600c8054905f610cf9836116f4565b90915550506001600160a01b0383165f908152601060205260409020805460ff19166001179055600954600c54610d4f91606491610d499110610d3e57600554610d42565b6007545b85906110cf565b9061112f565b90505b6014546001600160a01b038481169116148015610d7857506001600160a01b0384163014155b8015610d9c57506001600160a01b0384165f908152600f602052604090205460ff16155b15610e73576001548211158015610dd2575060045460125461010090046001600160a01b03165f908152600d6020526040902054105b610e1a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6bc2a30baa0b6b0bab73a1760391b6044820152606401610409565b610e3f6064610d49600a54600c5411610e3557600654610d42565b60085485906110cf565b9050600b54600c54118015610e6b57506001600160a01b0384165f9081526010602052604090205460ff165b610e73575f80fd5b305f908152600d6020526040902054601454600160a81b900460ff16158015610ea957506014546001600160a01b038581169116145b8015610ebe5750601454600160b01b900460ff165b8015610ecb575060035481115b8015610eda5750600b54600c54115b8015610efe57506001600160a01b0384165f908152600f602052604090205460ff16155b8015610f2257506001600160a01b0385165f908152600f602052604090205460ff16155b15610f5657610f44610f3f84610f3a8460045461115c565b61115c565b611170565b478015610f5457610f54476112f9565b505b505b8015610fd057305f908152600d6020526040902054610f779082611338565b305f818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc79085815260200190565b60405180910390a35b6001600160a01b0384165f908152600d6020526040902054610ff490859084611382565b6001600160a01b0385165f908152600d602052604090205561103761101983836113b7565b6001600160a01b0385165f908152600d602052604090205490611338565b6001600160a01b038085165f818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61108085856113b7565b60405190815260200160405180910390a350505050565b5f81848411156110ba5760405162461bcd60e51b81526004016104099190611410565b505f6110c6848661170c565b95945050505050565b5f825f036110de57505f610352565b5f6110e9838561162e565b9050826110f6858361171f565b146103d95760405162461bcd60e51b815260206004820152600960248201526829b0b332a6b0ba341d60b91b6044820152606401610409565b5f6103d983836040518060400160405280600981526020016829b0b332a6b0ba341d60b91b8152506113e4565b5f81831161116a57826103d9565b50919050565b6014805460ff60a81b1916600160a81b17905580156112e957601454600160a01b900460ff16156112e9576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ce576111ce61173e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611225573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611249919061167c565b8160018151811061125c5761125c61173e565b6001600160a01b0392831660209182029290920101526013546112829130911684610886565b601354604051634bb0425960e01b81526001600160a01b0390911690634bb04259906112ba9085905f90869030904290600401611752565b5f604051808303815f87803b1580156112d1575f80fd5b505af11580156112e3573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6012546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611334573d5f803e3d5ffd5b5050565b5f8061134483856116e1565b9050838110156103d95760405162461bcd60e51b815260206004820152600960248201526829b0b332a6b0ba341d60b91b6044820152606401610409565b6012545f906001600160a01b036101009091048116908516036113a65750816103d9565b6113b083836113b7565b90506103d9565b5f6103d983836040518060400160405280600981526020016829b0b332a6b0ba341d60b91b815250611097565b5f81836114045760405162461bcd60e51b81526004016104099190611410565b505f6110c6848661171f565b5f6020808352835180828501525f5b8181101561143b5785810183015185820160400152820161141f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146f575f80fd5b50565b5f8060408385031215611483575f80fd5b823561148e8161145b565b946020939093013593505050565b5f805f606084860312156114ae575f80fd5b83356114b98161145b565b925060208401356114c98161145b565b929592945050506040919091013590565b5f602082840312156114ea575f80fd5b81356103d98161145b565b5f8060408385031215611506575f80fd5b82356115118161145b565b915060208301356115218161145b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157a57815f19048211156115605761156061152c565b8085161561156d57918102915b93841c9390800290611545565b509250929050565b5f8261159057506001610352565b8161159c57505f610352565b81600181146115b257600281146115bc576115d8565b6001915050610352565b60ff8411156115cd576115cd61152c565b50506001821b610352565b5060208310610133831016604e8410600b84101617156115fb575081810a610352565b6116058383611540565b805f19048211156116185761161861152c565b029392505050565b5f6103d960ff841683611582565b80820281158282048414176103525761035261152c565b6020808252601a908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865000000000000604082015260600190565b5f6020828403121561168c575f80fd5b81516103d98161145b565b5f805f606084860312156116a9575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d2575f80fd5b815180151581146103d9575f80fd5b808201808211156103525761035261152c565b5f600182016117055761170561152c565b5060010190565b818103818111156103525761035261152c565b5f8261173957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117a05784516001600160a01b03168352938301939183019160010161177b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030a10db2053357369bfa7d2831e447427e4f0a57cfbb1090048c125103cd0f6164736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c806395d89b4111610092578063da751d9f11610062578063da751d9f146102a6578063dc99a718146102bf578063dd62ed3e146102d4578063f962a82514610318578063fddeb6391461032d575f80fd5b806395d89b41146101135780639f4825311461025e578063a9059cbb14610273578063c9567bf914610292575f80fd5b8063313ce567116100d8578063313ce567146101bf57806370a08231146101da578063715018a61461020e578063751039fc146102245780638da5cb5b14610238575f80fd5b806306fdde0314610113578063095ea7b31461014f57806318160ddd1461017e57806323b872dd146101a0575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b506040805180820182526005815264119c9d5a5d60da1b602082015290516101469190611410565b60405180910390f35b34801561015a575f80fd5b5061016e610169366004611472565b610342565b6040519015158152602001610146565b348015610189575f80fd5b50610192610358565b604051908152602001610146565b3480156101ab575f80fd5b5061016e6101ba36600461149c565b610378565b3480156101ca575f80fd5b5060405160098152602001610146565b3480156101e5575f80fd5b506101926101f43660046114da565b6001600160a01b03165f908152600d602052604090205490565b348015610219575f80fd5b506102226103e0565b005b34801561022f575f80fd5b5061022261045a565b348015610243575f80fd5b505f546040516001600160a01b039091168152602001610146565b348015610269575f80fd5b5061019260045481565b34801561027e575f80fd5b5061016e61028d366004611472565b610515565b34801561029d575f80fd5b50610222610521565b3480156102b1575f80fd5b5060125461016e9060ff1681565b3480156102ca575f80fd5b5061019260025481565b3480156102df575f80fd5b506101926102ee3660046114f5565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b348015610323575f80fd5b5061019260035481565b348015610338575f80fd5b5061019260015481565b5f61034e338484610886565b5060015b92915050565b5f6103656009600a611620565b61037390633b9aca0061162e565b905090565b5f6103848484846109a9565b6103d584336103d0856040518060600160405280602881526020016117c2602891396001600160a01b038a165f908152600e602090815260408083203384529091529020549190611097565b610886565b5060015b9392505050565b5f546001600160a01b031633146104125760405162461bcd60e51b815260040161040990611645565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104835760405162461bcd60e51b815260040161040990611645565b61048f6009600a611620565b61049d90633b9aca0061162e565b6001556104ac6009600a611620565b6104ba90633b9aca0061162e565b6002556012805460ff191690557fe96e7ee14e2e1661e42715dd1f3f171d5c2c56e0f20e5bcc5d40aea810042a8c6104f46009600a611620565b61050290633b9aca0061162e565b60405190815260200160405180910390a1565b5f61034e3384846109a9565b5f546001600160a01b0316331461054a5760405162461bcd60e51b815260040161040990611645565b601454600160a01b900460ff1615610560575f80fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105a990309061059b6009600a611620565b6103d090633b9aca0061162e565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061d919061167c565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a0919061167c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e919061167c565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610755816001600160a01b03165f908152600d602052604090205490565b5f806107685f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ce573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107f39190611697565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610848573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086c91906116c2565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166108e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610409565b6001600160a01b0382166109495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610409565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610409565b6001600160a01b038216610a6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610409565b5f8111610ad05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610409565b5f80546001600160a01b03858116911614801590610afb57505f546001600160a01b03848116911614155b15610f585760125460ff1615610bb7576013546001600160a01b03848116911614801590610b3757506014546001600160a01b03848116911614155b15610bb757325f908152601160205260409020544311610ba55760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610409565b325f9081526011602052604090204390555b6014546001600160a01b038581169116148015610be257506013546001600160a01b03848116911614155b8015610c0657506001600160a01b0383165f908152600f602052604090205460ff16155b15610d5257600154821115610c595760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6bc2a30baa0b6b0bab73a1760391b6044820152606401610409565b60025482610c7b856001600160a01b03165f908152600d602052604090205490565b610c8591906116e1565b1115610cd35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610409565b600b54600c541015610cea57823b15610cea575f80fd5b600c8054905f610cf9836116f4565b90915550506001600160a01b0383165f908152601060205260409020805460ff19166001179055600954600c54610d4f91606491610d499110610d3e57600554610d42565b6007545b85906110cf565b9061112f565b90505b6014546001600160a01b038481169116148015610d7857506001600160a01b0384163014155b8015610d9c57506001600160a01b0384165f908152600f602052604090205460ff16155b15610e73576001548211158015610dd2575060045460125461010090046001600160a01b03165f908152600d6020526040902054105b610e1a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6bc2a30baa0b6b0bab73a1760391b6044820152606401610409565b610e3f6064610d49600a54600c5411610e3557600654610d42565b60085485906110cf565b9050600b54600c54118015610e6b57506001600160a01b0384165f9081526010602052604090205460ff165b610e73575f80fd5b305f908152600d6020526040902054601454600160a81b900460ff16158015610ea957506014546001600160a01b038581169116145b8015610ebe5750601454600160b01b900460ff165b8015610ecb575060035481115b8015610eda5750600b54600c54115b8015610efe57506001600160a01b0384165f908152600f602052604090205460ff16155b8015610f2257506001600160a01b0385165f908152600f602052604090205460ff16155b15610f5657610f44610f3f84610f3a8460045461115c565b61115c565b611170565b478015610f5457610f54476112f9565b505b505b8015610fd057305f908152600d6020526040902054610f779082611338565b305f818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc79085815260200190565b60405180910390a35b6001600160a01b0384165f908152600d6020526040902054610ff490859084611382565b6001600160a01b0385165f908152600d602052604090205561103761101983836113b7565b6001600160a01b0385165f908152600d602052604090205490611338565b6001600160a01b038085165f818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61108085856113b7565b60405190815260200160405180910390a350505050565b5f81848411156110ba5760405162461bcd60e51b81526004016104099190611410565b505f6110c6848661170c565b95945050505050565b5f825f036110de57505f610352565b5f6110e9838561162e565b9050826110f6858361171f565b146103d95760405162461bcd60e51b815260206004820152600960248201526829b0b332a6b0ba341d60b91b6044820152606401610409565b5f6103d983836040518060400160405280600981526020016829b0b332a6b0ba341d60b91b8152506113e4565b5f81831161116a57826103d9565b50919050565b6014805460ff60a81b1916600160a81b17905580156112e957601454600160a01b900460ff16156112e9576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ce576111ce61173e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611225573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611249919061167c565b8160018151811061125c5761125c61173e565b6001600160a01b0392831660209182029290920101526013546112829130911684610886565b601354604051634bb0425960e01b81526001600160a01b0390911690634bb04259906112ba9085905f90869030904290600401611752565b5f604051808303815f87803b1580156112d1575f80fd5b505af11580156112e3573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6012546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611334573d5f803e3d5ffd5b5050565b5f8061134483856116e1565b9050838110156103d95760405162461bcd60e51b815260206004820152600960248201526829b0b332a6b0ba341d60b91b6044820152606401610409565b6012545f906001600160a01b036101009091048116908516036113a65750816103d9565b6113b083836113b7565b90506103d9565b5f6103d983836040518060400160405280600981526020016829b0b332a6b0ba341d60b91b815250611097565b5f81836114045760405162461bcd60e51b81526004016104099190611410565b505f6110c6848661171f565b5f6020808352835180828501525f5b8181101561143b5785810183015185820160400152820161141f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146f575f80fd5b50565b5f8060408385031215611483575f80fd5b823561148e8161145b565b946020939093013593505050565b5f805f606084860312156114ae575f80fd5b83356114b98161145b565b925060208401356114c98161145b565b929592945050506040919091013590565b5f602082840312156114ea575f80fd5b81356103d98161145b565b5f8060408385031215611506575f80fd5b82356115118161145b565b915060208301356115218161145b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561157a57815f19048211156115605761156061152c565b8085161561156d57918102915b93841c9390800290611545565b509250929050565b5f8261159057506001610352565b8161159c57505f610352565b81600181146115b257600281146115bc576115d8565b6001915050610352565b60ff8411156115cd576115cd61152c565b50506001821b610352565b5060208310610133831016604e8410600b84101617156115fb575081810a610352565b6116058383611540565b805f19048211156116185761161861152c565b029392505050565b5f6103d960ff841683611582565b80820281158282048414176103525761035261152c565b6020808252601a908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865000000000000604082015260600190565b5f6020828403121561168c575f80fd5b81516103d98161145b565b5f805f606084860312156116a9575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116d2575f80fd5b815180151581146103d9575f80fd5b808201808211156103525761035261152c565b5f600182016117055761170561152c565b5060010190565b818103818111156103525761035261152c565b5f8261173957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117a05784516001600160a01b03168352938301939183019160010161177b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030a10db2053357369bfa7d2831e447427e4f0a57cfbb1090048c125103cd0f6164736f6c63430008140033

Deployed Bytecode Sourcemap

3546:8824:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5401:83;;;;;;;;;;-1:-1:-1;5471:5:0;;;;;;;;;;;-1:-1:-1;;;5471:5:0;;;;5401:83;;;;5471:5;5401:83;:::i;:::-;;;;;;;;6237:161;;;;;;;;;;-1:-1:-1;6237:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6237:161:0;1023:187:1;5678:96:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5678:96:0;1215:177:1;6406:317:0;;;;;;;;;;-1:-1:-1;6406:317:0;;;;;:::i;:::-;;:::i;5587:83::-;;;;;;;;;;-1:-1:-1;5587:83:0;;3772:1;2000:36:1;;1988:2;1973:18;5587:83:0;1858:184:1;5782:119:0;;;;;;;;;;-1:-1:-1;5782:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5875:18:0;5848:7;5875:18;;;:9;:18;;;;;;;5782:119;2647:148;;;;;;;;;;;;;:::i;:::-;;11142:188;;;;;;;;;;;;;:::i;2439:79::-;;;;;;;;;;-1:-1:-1;2477:7:0;2504:6;2439:79;;-1:-1:-1;;;;;2504:6:0;;;2445:51:1;;2433:2;2418:18;2439:79:0;2299:203:1;3990:35:0;;;;;;;;;;;;;;;;5909:167;;;;;;;;;;-1:-1:-1;5909:167:0;;;;;:::i;:::-;;:::i;11709:621::-;;;;;;;;;;;;;:::i;4632:35::-;;;;;;;;;;-1:-1:-1;4632:35:0;;;;;;;;3897:38;;;;;;;;;;;;;;;;6084:145;;;;;;;;;;-1:-1:-1;6084:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6193:19:0;;;6166:7;6193:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6084:145;3942:41;;;;;;;;;;;;;;;;3852:38;;;;;;;;;;;;;;;;6237:161;6312:4;6329:39;2096:10;6352:7;6361:6;6329:8;:39::i;:::-;-1:-1:-1;6386:4:0;6237:161;;;;;:::o;5678:96::-;5731:7;3831:14;3772:1;3831:2;:14;:::i;:::-;3818:27;;:10;:27;:::i;:::-;5751:15;;5678:96;:::o;6406:317::-;6504:4;6521:36;6531:6;6539:9;6550:6;6521:9;:36::i;:::-;6568:125;6577:6;2096:10;6599:93;6641:6;6599:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6599:19:0;;;;;;:11;:19;;;;;;;;2096:10;6599:33;;;;;;;;;;:41;:93::i;:::-;6568:8;:125::i;:::-;-1:-1:-1;6711:4:0;6406:317;;;;;;:::o;2647:148::-;2566:6;;-1:-1:-1;;;;;2566:6:0;2096:10;2566:22;2558:61;;;;-1:-1:-1;;;2558:61:0;;;;;;;:::i;:::-;;;;;;;;;2754:1:::1;2738:6:::0;;2717:40:::1;::::0;-1:-1:-1;;;;;2738:6:0;;::::1;::::0;2717:40:::1;::::0;2754:1;;2717:40:::1;2785:1;2768:19:::0;;-1:-1:-1;;;;;;2768:19:0::1;::::0;;2647:148::o;11142:188::-;2566:6;;-1:-1:-1;;;;;2566:6:0;2096:10;2566:22;2558:61;;;;-1:-1:-1;;;2558:61:0;;;;;;;:::i;:::-;3831:14:::1;3772:1;3831:2;:14;:::i;:::-;3818:27;::::0;:10:::1;:27;:::i;:::-;11195:12;:23:::0;3831:14:::1;3772:1;3831:2;:14;:::i;:::-;3818:27;::::0;:10:::1;:27;:::i;:::-;11229:12;:23:::0;11263:15:::1;:23:::0;;-1:-1:-1;;11263:23:0::1;::::0;;11302:20:::1;3831:14;3772:1;3831:2;:14;:::i;:::-;3818:27;::::0;:10:::1;:27;:::i;:::-;11302:20;::::0;1361:25:1;;;1349:2;1334:18;11302:20:0::1;;;;;;;11142:188::o:0;5909:167::-;5987:4;6004:42;2096:10;6028:9;6039:6;6004:9;:42::i;11709:621::-;2566:6;;-1:-1:-1;;;;;2566:6:0;2096:10;2566:22;2558:61;;;;-1:-1:-1;;;2558:61:0;;;;;;;:::i;:::-;11777:10:::1;::::0;-1:-1:-1;;;11777:10:0;::::1;;;11775:12;11766:22;;;::::0;::::1;;11799:12;:74:::0;;-1:-1:-1;;;;;;11799:74:0::1;11830:42;11799:74:::0;;::::1;::::0;;;11885:56:::1;::::0;11902:4:::1;::::0;3831:14:::1;3772:1;3831:2;:14;:::i;:::-;3818:27;::::0;:10:::1;:27;:::i;11885:56::-;11978:12;;;;;;;;;-1:-1:-1::0;;;;;11978:12:0::1;-1:-1:-1::0;;;;;11978:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11965:48:0::1;;12023:4;12031:12;;;;;;;;;-1:-1:-1::0;;;;;12031:12:0::1;-1:-1:-1::0;;;;;12031:19:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11965:89;::::0;-1:-1:-1;;;;;;11965:89:0::1;::::0;;;;;;-1:-1:-1;;;;;5429:15:1;;;11965:89:0::1;::::0;::::1;5411:34:1::0;5481:15;;5461:18;;;5454:43;5346:18;;11965:89:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11952:10;:102:::0;;-1:-1:-1;;;;;11952:102:0;;::::1;-1:-1:-1::0;;;;;;11952:102:0;;::::1;;::::0;;12065:12:::1;::::0;::::1;:28;12101:21;12132:4;12138:24;12132:4:::0;-1:-1:-1;;;;;5875:18:0;5848:7;5875:18;;;:9;:18;;;;;;;5782:119;12138:24:::1;12163:1;12165::::0;12167:7:::1;2477::::0;2504:6;-1:-1:-1;;;;;2504:6:0;;2439:79;12167:7:::1;12065:126;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12065:126:0;;;-1:-1:-1;;;;;5867:15:1;;;12065:126:0::1;::::0;::::1;5849:34:1::0;5899:18;;;5892:34;;;;5942:18;;;5935:34;;;;5985:18;;;5978:34;6049:15;;;6028:19;;;6021:44;12175:15:0::1;6081:19:1::0;;;6074:35;5783:19;;12065:126:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12209:10:0::1;::::0;12237:12:::1;::::0;12202:65:::1;::::0;-1:-1:-1;;;12202:65:0;;-1:-1:-1;;;;;12237:12:0;;::::1;12202:65;::::0;::::1;6605:51:1::0;-1:-1:-1;;6672:18:1;;;6665:34;12209:10:0;::::1;::::0;-1:-1:-1;12202:26:0::1;::::0;6578:18:1;;12202:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12278:9:0::1;:16:::0;;-1:-1:-1;;;;12305:17:0;-1:-1:-1;;;12305:17:0;;;11709:621::o;6731:339::-;-1:-1:-1;;;;;6825:20:0;;6817:69;;;;-1:-1:-1;;;6817:69:0;;7194:2:1;6817:69:0;;;7176:21:1;7233:2;7213:18;;;7206:30;7272:34;7252:18;;;7245:62;-1:-1:-1;;;7323:18:1;;;7316:34;7367:19;;6817:69:0;6992:400:1;6817:69:0;-1:-1:-1;;;;;6905:21:0;;6897:68;;;;-1:-1:-1;;;6897:68:0;;7599:2:1;6897:68:0;;;7581:21:1;7638:2;7618:18;;;7611:30;7677:34;7657:18;;;7650:62;-1:-1:-1;;;7728:18:1;;;7721:32;7770:19;;6897:68:0;7397:398:1;6897:68:0;-1:-1:-1;;;;;6976:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7029:33;;1361:25:1;;;7029:33:0;;1334:18:1;7029:33:0;;;;;;;6731:339;;;:::o;7078:3093::-;-1:-1:-1;;;;;7166:18:0;;7158:68;;;;-1:-1:-1;;;7158:68:0;;8002:2:1;7158:68:0;;;7984:21:1;8041:2;8021:18;;;8014:30;8080:34;8060:18;;;8053:62;-1:-1:-1;;;8131:18:1;;;8124:35;8176:19;;7158:68:0;7800:401:1;7158:68:0;-1:-1:-1;;;;;7245:16:0;;7237:64;;;;-1:-1:-1;;;7237:64:0;;8408:2:1;7237:64:0;;;8390:21:1;8447:2;8427:18;;;8420:30;8486:34;8466:18;;;8459:62;-1:-1:-1;;;8537:18:1;;;8530:33;8580:19;;7237:64:0;8206:399:1;7237:64:0;7329:1;7320:6;:10;7312:64;;;;-1:-1:-1;;;7312:64:0;;8812:2:1;7312:64:0;;;8794:21:1;8851:2;8831:18;;;8824:30;8890:34;8870:18;;;8863:62;-1:-1:-1;;;8941:18:1;;;8934:39;8990:19;;7312:64:0;8610:405:1;7312:64:0;7387:16;2504:6;;-1:-1:-1;;;;;7420:16:0;;;2504:6;;7420:16;;;;:34;;-1:-1:-1;2477:7:0;2504:6;-1:-1:-1;;;;;7440:14:0;;;2504:6;;7440:14;;7420:34;7416:2319;;;7477:15;;;;7473:399;;;7549:12;;-1:-1:-1;;;;;7517:45:0;;;7549:12;;7517:45;;;;:92;;-1:-1:-1;7598:10:0;;-1:-1:-1;;;;;7566:43:0;;;7598:10;;7566:43;;7517:92;7513:344;;;7673:9;7640:43;;;;:12;:43;;;;;;7686:12;-1:-1:-1;7632:126:0;;;;-1:-1:-1;;;7632:126:0;;9222:2:1;7632:126:0;;;9204:21:1;9261:2;9241:18;;;9234:30;9300:34;9280:18;;;9273:62;-1:-1:-1;;;9351:18:1;;;9344:34;9395:19;;7632:126:0;9020:400:1;7632:126:0;7812:9;7779:43;;;;:12;:43;;;;;7825:12;7779:58;;7513:344;7900:10;;-1:-1:-1;;;;;7892:18:0;;;7900:10;;7892:18;:63;;;;-1:-1:-1;7942:12:0;;-1:-1:-1;;;;;7914:41:0;;;7942:12;;7914:41;;7892:63;:84;;;;-1:-1:-1;;;;;;7960:16:0;;;;;;:12;:16;;;;;;;;7959:17;7892:84;7888:657;;;8016:12;;8006:6;:22;;7998:78;;;;-1:-1:-1;;;7998:78:0;;9627:2:1;7998:78:0;;;9609:21:1;9666:2;9646:18;;;9639:30;-1:-1:-1;;;9685:18:1;;;9678:55;9750:18;;7998:78:0;9425:349:1;7998:78:0;8147:12;;8119:6;8103:13;8113:2;-1:-1:-1;;;;;5875:18:0;5848:7;5875:18;;;:9;:18;;;;;;;5782:119;8103:13;:22;;;;:::i;:::-;:56;;8095:95;;;;-1:-1:-1;;;8095:95:0;;10111:2:1;8095:95:0;;;10093:21:1;10150:2;10130:18;;;10123:30;10189:28;10169:18;;;10162:56;10235:18;;8095:95:0;9909:350:1;8095:95:0;8240:16;;8212:8;;:44;8209:112;;;11497:35;;11560:20;8278:23;;;;;;8339:8;:10;;;:8;:10;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8369:15:0;;;;;;:11;:15;;;;;:20;;-1:-1:-1;;8369:20:0;8385:4;8369:20;;;8458:14;;8431:8;;8419:110;;8525:3;;8419:83;;-1:-1:-1;8430:71:0;;8487:14;;8430:71;;;8474:12;;8430:71;8419:6;;:10;:83::i;:::-;:105;;:110::i;:::-;8408:121;;7888:657;8570:10;;-1:-1:-1;;;;;8564:16:0;;;8570:10;;8564:16;:40;;;;-1:-1:-1;;;;;;8584:20:0;;8599:4;8584:20;;8564:40;:77;;;;-1:-1:-1;;;;;;8623:18:0;;;;;;:12;:18;;;;;;;;8622:19;8564:77;8561:485;;;8680:12;;8670:6;:22;;:77;;;;-1:-1:-1;8737:10:0;;8724:11;;;;;-1:-1:-1;;;;;8724:11:0;5848:7;5875:18;;;:9;:18;;;;;;8714:33;8670:77;8662:133;;;;-1:-1:-1;;;8662:133:0;;9627:2:1;8662:133:0;;;9609:21:1;9666:2;9646:18;;;9639:30;-1:-1:-1;;;9685:18:1;;;9678:55;9750:18;;8662:133:0;9425:349:1;8662:133:0;8825:113;8934:3;8825:86;8864:15;;8837:8;;:42;8836:74;;8895:15;;8836:74;;;8881:13;;8825:6;;:10;:86::i;:113::-;8814:124;;8974:16;;8965:8;;:25;:64;;;;-1:-1:-1;;;;;;9012:17:0;;;;;;:11;:17;;;;;;;;8965:64;8957:73;;;;;;9125:4;9062:28;5875:18;;;:9;:18;;;;;;9151:9;;-1:-1:-1;;;9151:9:0;;;;9150:10;:44;;;;-1:-1:-1;9184:10:0;;-1:-1:-1;;;;;9178:16:0;;;9184:10;;9178:16;9150:44;:57;;;;-1:-1:-1;9198:9:0;;-1:-1:-1;;;9198:9:0;;;;9150:57;:112;;;;;9246:16;;9225:20;:37;9150:112;:155;;;;;9289:16;;9280:8;;:25;9150:155;:189;;;;-1:-1:-1;;;;;;9323:16:0;;;;;;:12;:16;;;;;;;;9322:17;9150:189;:211;;;;-1:-1:-1;;;;;;9343:18:0;;;;;;:12;:18;;;;;;;;9342:19;9150:211;9146:578;;;9396:87;9409:73;9416:6;9442:39;9449:20;9470:10;;9442:6;:39::i;:::-;9409:6;:73::i;:::-;9396:11;:87::i;:::-;9549:21;9592:40;;9589:120;;9657:32;9667:21;9657:9;:32::i;:::-;9377:347;9146:578;7456:2279;7416:2319;9750:10;;9747:194;;9829:4;9799:36;;;;:9;:36;;;;;;:62;;9852:8;9799:52;:62::i;:::-;9792:4;9774:24;;;;:9;:24;;;;;;;:87;;;;9879:50;;-1:-1:-1;;;;;9879:50:0;;;;;;;9920:8;1361:25:1;;1349:2;1334:18;;1215:177;9879:50:0;;;;;;;;9747:194;-1:-1:-1;;;;;9991:15:0;;;;;;:9;:15;;;;;;9968:47;;9975:4;;10008:6;9968;:47::i;:::-;-1:-1:-1;;;;;9951:15:0;;;;;;:9;:15;;;;;:64;10040:53;10068:24;:6;10083:8;10068:14;:24::i;:::-;-1:-1:-1;;;;;10040:13:0;;;;;;:9;:13;;;;;;;:27;:53::i;:::-;-1:-1:-1;;;;;10026:13:0;;;;;;;:9;:13;;;;;:67;;;;10109:54;;;10138:24;:6;10153:8;10138:14;:24::i;:::-;10109:54;;1361:25:1;;;1349:2;1334:18;10109:54:0;;;;;;;7147:3024;7078:3093;;;:::o;1230:194::-;1320:7;1356:12;1348:6;;;;1340:29;;;;-1:-1:-1;;;1340:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1380:9:0;1392:5;1396:1;1392;:5;:::i;:::-;1380:17;1230:194;-1:-1:-1;;;;;1230:194:0:o;1432:222::-;1490:7;1514:1;1519;1514:6;1510:47;;-1:-1:-1;1544:1:0;1537:8;;1510:47;1567:9;1579:5;1583:1;1579;:5;:::i;:::-;1567:17;-1:-1:-1;1612:1:0;1603:5;1607:1;1567:17;1603:5;:::i;:::-;:10;1595:32;;;;-1:-1:-1;;;1595:32:0;;10961:2:1;1595:32:0;;;10943:21:1;11000:1;10980:18;;;10973:29;-1:-1:-1;;;11018:18:1;;;11011:39;11067:18;;1595:32:0;10759:332:1;1662:115:0;1720:7;1747:22;1751:1;1754;1747:22;;;;;;;;;;;;;-1:-1:-1;;;1747:22:0;;;:3;:22::i;10748:136::-;10821:7;10851:1;10847;:5;10845:30;;10874:1;10845:30;;;-1:-1:-1;10870:1:0;10748:136;-1:-1:-1;10748:136:0:o;10179:561::-;4969:9;:16;;-1:-1:-1;;;;4969:16:0;-1:-1:-1;;;4969:16:0;;;10257:27;;10276:7:::1;10257:27;10298:10;::::0;-1:-1:-1;;;10298:10:0;::::1;;;10294:24:::0;10310:7:::1;10294:24;10362:16;::::0;;10376:1:::1;10362:16:::0;;;;;::::1;::::0;;10328:21:::1;::::0;10362:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10362:16:0::1;10328:50;;10407:4;10389;10394:1;10389:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10389:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10433:12:::1;::::0;:19:::1;::::0;;-1:-1:-1;;;10433:19:0;;;;:12;;;::::1;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;10389:7;;10433:19;;;;;:12;:19:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10423:4;10428:1;10423:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10423:29:0;;::::1;:7;::::0;;::::1;::::0;;;;;:29;10505:12:::1;::::0;10463:69:::1;::::0;10480:4:::1;::::0;10505:12:::1;10520:11:::0;10463:8:::1;:69::i;:::-;10543:12;::::0;:189:::1;::::0;-1:-1:-1;;;10543:189:0;;-1:-1:-1;;;;;10543:12:0;;::::1;::::0;:59:::1;::::0;:189:::1;::::0;10617:11;;10543:12:::1;::::0;10659:4;;10686::::1;::::0;10706:15:::1;::::0;10543:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10246:494;4996:1;-1:-1:-1::0;5008:9:0;:17;;-1:-1:-1;;;;5008:17:0;;;10179:561::o;11596:105::-;11655:11;;:38;;:11;;;;-1:-1:-1;;;;;11655:11:0;;:38;;;;;;;;;;;;:11;:38;;;;;;;;;;;;;;;;;;;;;11596:105;:::o;930:161::-;988:7;;1020:5;1024:1;1020;:5;:::i;:::-;1008:17;;1049:1;1044;:6;;1036:28;;;;-1:-1:-1;;;1036:28:0;;10961:2:1;1036:28:0;;;10943:21:1;11000:1;10980:18;;;10973:29;-1:-1:-1;;;11018:18:1;;;11011:39;11067:18;;1036:28:0;10759:332:1;10892:242:0;11027:11;;10987:7;;-1:-1:-1;;;;;11027:11:0;;;;;;11009:29;;;;11006:121;;-1:-1:-1;11061:1:0;11054:8;;11006:121;11101:14;:1;11113;11101:10;:14::i;:::-;11094:21;;;;1099:123;1161:7;1189:25;1196:1;1199;1189:25;;;;;;;;;;;;;-1:-1:-1;;;1189:25:0;;;:6;:25::i;1785:189::-;1871:7;1906:12;1899:5;1891:28;;;;-1:-1:-1;;;1891:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1930:9:0;1942:5;1946:1;1942;: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:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:350::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:28;4863:2;4848:18;;4841:56;4929:2;4914:18;;4588:350::o;4943:251::-;5013:6;5066:2;5054:9;5045:7;5041:23;5037:32;5034:52;;;5082:1;5079;5072:12;5034:52;5114:9;5108:16;5133:31;5158:5;5133:31;:::i;6120:306::-;6208:6;6216;6224;6277:2;6265:9;6256:7;6252:23;6248:32;6245:52;;;6293:1;6290;6283:12;6245:52;6322:9;6316:16;6306:26;;6372:2;6361:9;6357:18;6351:25;6341:35;;6416:2;6405:9;6401:18;6395:25;6385:35;;6120:306;;;;;:::o;6710:277::-;6777:6;6830:2;6818:9;6809:7;6805:23;6801:32;6798:52;;;6846:1;6843;6836:12;6798:52;6878:9;6872:16;6931:5;6924:13;6917:21;6910:5;6907:32;6897:60;;6953:1;6950;6943:12;9779:125;9844:9;;;9865:10;;;9862:36;;;9878:18;;:::i;10264:135::-;10303:3;10324:17;;;10321:43;;10344:18;;:::i;:::-;-1:-1:-1;10391:1:1;10380:13;;10264:135::o;10404:128::-;10471:9;;;10492:11;;;10489:37;;;10506:18;;:::i;10537:217::-;10577:1;10603;10593:132;;10647:10;10642:3;10638:20;10635:1;10628:31;10682:4;10679:1;10672:15;10710:4;10707:1;10700:15;10593:132;-1:-1:-1;10739:9:1;;10537:217::o;11228:127::-;11289:10;11284:3;11280:20;11277:1;11270:31;11320:4;11317:1;11310:15;11344:4;11341:1;11334:15;11360:980;11622:4;11670:3;11659:9;11655:19;11701:6;11690:9;11683:25;11727:2;11765:6;11760:2;11749:9;11745:18;11738:34;11808:3;11803:2;11792:9;11788:18;11781:31;11832:6;11867;11861:13;11898:6;11890;11883:22;11936:3;11925:9;11921:19;11914:26;;11975:2;11967:6;11963:15;11949:29;;11996:1;12006:195;12020:6;12017:1;12014:13;12006:195;;;12085:13;;-1:-1:-1;;;;;12081:39:1;12069:52;;12176:15;;;;12141:12;;;;12117:1;12035:9;12006:195;;;-1:-1:-1;;;;;;;12257:32:1;;;;12252:2;12237:18;;12230:60;-1:-1:-1;;;12321:3:1;12306:19;12299:35;12218:3;11360:980;-1:-1:-1;;;11360:980:1:o

Swarm Source

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