ETH Price: $3,379.37 (+3.71%)

Token

The Mystery (ORACLE)
 

Overview

Max Total Supply

1,000,000,000 ORACLE

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
edwins.eth
Balance
3,320,814.97260826 ORACLE

Value
$0.00
0xc64a7a3c01296b3a37b8d8aaa31246021175b5e0
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:
Oracle

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-04
*/

/**
 *Submitted for verification at Etherscan.io on 2022-07-22
*/

// SPDX-License-Identifier: NOLICENSE

/**
Something difficult and impossible to understand and explain. 
A religious truth that one can know only by revelation and cannot fully understand. 
Why so many rugs? Why should i invest? Everything is speculative until there is a certainty.
 Everything is a mystery.

 https://medium.com/@TheMysteryETH
*/
pragma solidity ^0.8.4;

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

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

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

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

interface IRouter {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract Oracle is Context, IERC20, Ownable {

    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "The Mystery";
    string private constant _symbol = "ORACLE";
    uint8 private constant _decimals = 9;

    uint16 public tokensBuyFee = 300;
    uint16 public tokensSellFee = 300;
    uint16 public masterTaxDivisor = 10000;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private constant _tTotal = 1_000_000_000 * 10**9;
    uint256 private maxWalletAmount = _tTotal;
    uint256 private maxTxAmount = _tTotal;
    address payable private feeAddrWallet;

    event MaxWalletAmountUpdated(uint maxWalletAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
  
    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        feeAddrWallet = payable(0xd6B1fD6226CDD6198feE6f80Ef4b6bF4F079269A); 
        _tOwned[owner()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeAddrWallet] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) { return _name; }
    function symbol() public pure returns (string memory) { return _symbol; }
    function decimals() public pure returns (uint8) { return _decimals; }
    function totalSupply() public pure override returns (uint256) { return _tTotal; }
    function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; }
    function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; }
    function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; }
    function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        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");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");    
        require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet");

        if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize.");
        }

        uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]));
    }

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

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        _tOwned[sender] -= amount;
        uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount;
        _tOwned[recipient] += amountReceived;
        emit Transfer(sender, recipient, amountReceived);
    }

    function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) {
        uint256 currentFee;
        if(from == uniswapV2Pair) { 
            currentFee = tokensBuyFee;
        } else if (to == uniswapV2Pair) { 
          currentFee = tokensSellFee;
        }
        uint256 feeAmount = amount * currentFee / masterTaxDivisor;
        _tOwned[address(this)] += feeAmount;
        emit Transfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function updateMaxTxAmt(uint256 amount) external onlyOwner{
        maxTxAmount = amount * 10 **_decimals;
    }

    function updateMaxWalletAmount(uint256 amount) external onlyOwner {
        maxWalletAmount = amount * 10 **_decimals;
    }

    function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{
        maxTxAmount = _maxTxAmount * 10 **_decimals;
        maxWalletAmount = _maxWalletSize * 10 **_decimals;
    }

    function updateBuyFee(uint16 _fee) external onlyOwner {
        require(_fee <= 8, 'fee can not set more than 8%');
        tokensBuyFee = _fee;
    }

    function updateSellFee(uint16 _fee) external onlyOwner {
        require(_fee <= 8, 'fee can not set more than 8%');
        tokensSellFee = _fee;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        maxTxAmount = 5_000_001 * 10**9;
        maxWalletAmount = 5_000_001 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    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":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensBuyFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensSellFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxTxAmt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526004805465ffffffffffff1916652710012c012c1790556005805461ffff60a81b19169055670de0b6b3a764000060068190556007553480156200004757600080fd5b5062000053336200036e565b60048054600160301b600160d01b031916797a250d5630b4cf539739df2c5dacb4c659f2488d0000000000001781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a01559281830192602092829003018186803b158015620000cc57600080fd5b505afa158015620000e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001079190620003cd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015057600080fd5b505afa15801562000165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018b9190620003cd565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620001d457600080fd5b505af1158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f9190620003cd565b600580546001600160a01b03929092166001600160a01b03199283161790556008805490911673d6b1fd6226cdd6198fee6f80ef4b6bf4f079269a179055670de0b6b3a7640000600160006200026d6000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160036000620002a7620003be60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600854909116835291208054909216179055620003116000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035f91815260200190565b60405180910390a350620003fd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031690565b600060208284031215620003df578081fd5b81516001600160a01b0381168114620003f6578182fd5b9392505050565b6117e9806200040d6000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063c18bc1951161006f578063c18bc195146103dd578063c9567bf9146103fd578063dd62ed3e14610412578063ea2f0b3714610458578063ebece9c914610478578063f2fde38b1461049857600080fd5b8063715018a6146103165780637c988e091461032b5780638da5cb5b1461034b57806393b55dd01461037357806395d89b411461038e578063a9059cbb146103bd57600080fd5b806323b872dd1161010857806323b872dd146102425780632e092fe814610262578063313ce56714610284578063437823ec146102a05780634f9973ce146102c057806370a08231146102e057600080fd5b806306fdde0314610150578063095ea7b31461019657806318160ddd146101c6578063185b38c8146101eb5780631d6167ac1461021f57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600b81526a546865204d79737465727960a81b60208201525b60405161018d9190611534565b60405180910390f35b3480156101a257600080fd5b506101b66101b136600461148e565b6104b8565b604051901515815260200161018d565b3480156101d257600080fd5b50670de0b6b3a76400005b60405190815260200161018d565b3480156101f757600080fd5b5060045461020c9062010000900461ffff1681565b60405161ffff909116815260200161018d565b34801561022b57600080fd5b5060045461020c90640100000000900461ffff1681565b34801561024e57600080fd5b506101b661025d36600461144e565b6104cf565b34801561026e57600080fd5b5061028261027d3660046114fb565b610585565b005b34801561029057600080fd5b506040516009815260200161018d565b3480156102ac57600080fd5b506102826102bb3660046113d7565b6105cb565b3480156102cc57600080fd5b506102826102db3660046114d9565b610619565b3480156102ec57600080fd5b506101dd6102fb3660046113d7565b6001600160a01b031660009081526001602052604090205490565b34801561032257600080fd5b506102826106b8565b34801561033757600080fd5b506102826103463660046114d9565b6106ee565b34801561035757600080fd5b506000546040516001600160a01b03909116815260200161018d565b34801561037f57600080fd5b5060045461020c9061ffff1681565b34801561039a57600080fd5b506040805180820190915260068152654f5241434c4560d01b6020820152610180565b3480156103c957600080fd5b506101b66103d836600461148e565b610785565b3480156103e957600080fd5b506102826103f83660046114fb565b610792565b34801561040957600080fd5b506102826107d8565b34801561041e57600080fd5b506101dd61042d366004611416565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046457600080fd5b506102826104733660046113d7565b610919565b34801561048457600080fd5b50610282610493366004611513565b610964565b3480156104a457600080fd5b506102826104b33660046113d7565b6109c4565b60006104c5338484610a5c565b5060015b92915050565b60006104dc848484610b80565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156105665760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a85336105758685611771565b610a5c565b506001949350505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b815260040161055d90611587565b6105bb6009600a6116a7565b6105c59082611752565b60075550565b6000546001600160a01b031633146105f55760405162461bcd60e51b815260040161055d90611587565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161055d90611587565b60088161ffff1611156106985760405162461bcd60e51b815260206004820152601c60248201527f6665652063616e206e6f7420736574206d6f7265207468616e20382500000000604482015260640161055d565b6004805461ffff909216620100000263ffff000019909216919091179055565b6000546001600160a01b031633146106e25760405162461bcd60e51b815260040161055d90611587565b6106ec6000610fc0565b565b6000546001600160a01b031633146107185760405162461bcd60e51b815260040161055d90611587565b60088161ffff16111561076d5760405162461bcd60e51b815260206004820152601c60248201527f6665652063616e206e6f7420736574206d6f7265207468616e20382500000000604482015260640161055d565b6004805461ffff191661ffff92909216919091179055565b60006104c5338484610b80565b6000546001600160a01b031633146107bc5760405162461bcd60e51b815260040161055d90611587565b6107c86009600a6116a7565b6107d29082611752565b60065550565b6000546001600160a01b031633146108025760405162461bcd60e51b815260040161055d90611587565b600554600160a01b900460ff161561085c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161055d565b600580546611c379737b4a00600781905560065562ff00ff60a01b1981166201000160a01b179091556004805460405163095ea7b360e01b8152600160301b9091046001600160a01b0390811692820192909252600019602482015291169063095ea7b390604401602060405180830381600087803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091691906114b9565b50565b6000546001600160a01b031633146109435760405162461bcd60e51b815260040161055d90611587565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b0316331461098e5760405162461bcd60e51b815260040161055d90611587565b61099a6009600a6116a7565b6109a49083611752565b6007556109b36009600a6116a7565b6109bd9082611752565b6006555050565b6000546001600160a01b031633146109ee5760405162461bcd60e51b815260040161055d90611587565b6001600160a01b038116610a535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b61091681610fc0565b6001600160a01b038316610abe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161055d565b6001600160a01b038216610b1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161055d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610be45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161055d565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161055d565b60008111610ca85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161055d565b6001600160a01b038316600090815260016020526040902054811115610d2a5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161055d565b600554600160a01b900460ff1680610d5a57506001600160a01b03831660009081526003602052604090205460ff165b80610d7d57506001600160a01b03821660009081526003602052604090205460ff165b610dc95760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161055d565b6005546001600160a01b038481169116148015610dfb57506004546001600160a01b03838116600160301b9092041614155b8015610e2057506001600160a01b03821660009081526003602052604090205460ff16155b15610ef257600754811115610e775760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161055d565b60065481610e9a846001600160a01b031660009081526001602052604090205490565b610ea4919061162c565b1115610ef25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161055d565b30600090815260016020526040902054600554600160a81b900460ff16158015610f2a57506005546001600160a01b03858116911614155b8015610f3f5750600554600160b01b900460ff165b8015610f4b5750600081115b15610f6b57610f5981611010565b478015610f6957610f69476111db565b505b6001600160a01b038416600090815260036020526040902054610fba9085908590859060ff1680610fb457506001600160a01b03871660009081526003602052604090205460ff165b15611219565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6005805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061106657634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050600460069054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d457600080fd5b505afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c91906113fa565b8160018151811061112d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260045461115a913091600160301b90041684610a5c565b6004805460405163791ac94760e01b8152600160301b9091046001600160a01b03169163791ac94791611198918691600091879130914291016115bc565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b50506005805460ff60a81b1916905550505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611215573d6000803e3d6000fd5b5050565b6001600160a01b03841660009081526001602052604081208054849290611241908490611771565b909155506000905081611254578261125f565b61125f8585856112e7565b6001600160a01b03851660009081526001602052604081208054929350839290919061128c90849061162c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112d891815260200190565b60405180910390a35050505050565b60055460009081906001600160a01b038681169116141561130f575060045461ffff16611334565b6005546001600160a01b0385811691161415611334575060045462010000900461ffff165b600454600090640100000000900461ffff166113508386611752565b61135a9190611644565b3060009081526001602052604081208054929350839290919061137e90849061162c565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36113cd8185611771565b9695505050505050565b6000602082840312156113e8578081fd5b81356113f38161179e565b9392505050565b60006020828403121561140b578081fd5b81516113f38161179e565b60008060408385031215611428578081fd5b82356114338161179e565b915060208301356114438161179e565b809150509250929050565b600080600060608486031215611462578081fd5b833561146d8161179e565b9250602084013561147d8161179e565b929592945050506040919091013590565b600080604083850312156114a0578182fd5b82356114ab8161179e565b946020939093013593505050565b6000602082840312156114ca578081fd5b815180151581146113f3578182fd5b6000602082840312156114ea578081fd5b813561ffff811681146113f3578182fd5b60006020828403121561150c578081fd5b5035919050565b60008060408385031215611525578182fd5b50508035926020909101359150565b6000602080835283518082850152825b8181101561156057858101830151858201604001528201611544565b818111156115715783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561160b5784516001600160a01b0316835293830193918301916001016115e6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561163f5761163f611788565b500190565b60008261165f57634e487b7160e01b81526012600452602481fd5b500490565b600181815b8085111561169f57816000190482111561168557611685611788565b8085161561169257918102915b93841c9390800290611669565b509250929050565b60006113f360ff8416836000826116c0575060016104c9565b816116cd575060006104c9565b81600181146116e357600281146116ed57611709565b60019150506104c9565b60ff8411156116fe576116fe611788565b50506001821b6104c9565b5060208310610133831016604e8410600b841016171561172c575081810a6104c9565b6117368383611664565b806000190482111561174a5761174a611788565b029392505050565b600081600019048311821515161561176c5761176c611788565b500290565b60008282101561178357611783611788565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461091657600080fdfea26469706673582212206dddb43216c4d1c5b056902100cca80e595218a2a30800206fd21c05137a167064736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063c18bc1951161006f578063c18bc195146103dd578063c9567bf9146103fd578063dd62ed3e14610412578063ea2f0b3714610458578063ebece9c914610478578063f2fde38b1461049857600080fd5b8063715018a6146103165780637c988e091461032b5780638da5cb5b1461034b57806393b55dd01461037357806395d89b411461038e578063a9059cbb146103bd57600080fd5b806323b872dd1161010857806323b872dd146102425780632e092fe814610262578063313ce56714610284578063437823ec146102a05780634f9973ce146102c057806370a08231146102e057600080fd5b806306fdde0314610150578063095ea7b31461019657806318160ddd146101c6578063185b38c8146101eb5780631d6167ac1461021f57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600b81526a546865204d79737465727960a81b60208201525b60405161018d9190611534565b60405180910390f35b3480156101a257600080fd5b506101b66101b136600461148e565b6104b8565b604051901515815260200161018d565b3480156101d257600080fd5b50670de0b6b3a76400005b60405190815260200161018d565b3480156101f757600080fd5b5060045461020c9062010000900461ffff1681565b60405161ffff909116815260200161018d565b34801561022b57600080fd5b5060045461020c90640100000000900461ffff1681565b34801561024e57600080fd5b506101b661025d36600461144e565b6104cf565b34801561026e57600080fd5b5061028261027d3660046114fb565b610585565b005b34801561029057600080fd5b506040516009815260200161018d565b3480156102ac57600080fd5b506102826102bb3660046113d7565b6105cb565b3480156102cc57600080fd5b506102826102db3660046114d9565b610619565b3480156102ec57600080fd5b506101dd6102fb3660046113d7565b6001600160a01b031660009081526001602052604090205490565b34801561032257600080fd5b506102826106b8565b34801561033757600080fd5b506102826103463660046114d9565b6106ee565b34801561035757600080fd5b506000546040516001600160a01b03909116815260200161018d565b34801561037f57600080fd5b5060045461020c9061ffff1681565b34801561039a57600080fd5b506040805180820190915260068152654f5241434c4560d01b6020820152610180565b3480156103c957600080fd5b506101b66103d836600461148e565b610785565b3480156103e957600080fd5b506102826103f83660046114fb565b610792565b34801561040957600080fd5b506102826107d8565b34801561041e57600080fd5b506101dd61042d366004611416565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561046457600080fd5b506102826104733660046113d7565b610919565b34801561048457600080fd5b50610282610493366004611513565b610964565b3480156104a457600080fd5b506102826104b33660046113d7565b6109c4565b60006104c5338484610a5c565b5060015b92915050565b60006104dc848484610b80565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156105665760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a85336105758685611771565b610a5c565b506001949350505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b815260040161055d90611587565b6105bb6009600a6116a7565b6105c59082611752565b60075550565b6000546001600160a01b031633146105f55760405162461bcd60e51b815260040161055d90611587565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161055d90611587565b60088161ffff1611156106985760405162461bcd60e51b815260206004820152601c60248201527f6665652063616e206e6f7420736574206d6f7265207468616e20382500000000604482015260640161055d565b6004805461ffff909216620100000263ffff000019909216919091179055565b6000546001600160a01b031633146106e25760405162461bcd60e51b815260040161055d90611587565b6106ec6000610fc0565b565b6000546001600160a01b031633146107185760405162461bcd60e51b815260040161055d90611587565b60088161ffff16111561076d5760405162461bcd60e51b815260206004820152601c60248201527f6665652063616e206e6f7420736574206d6f7265207468616e20382500000000604482015260640161055d565b6004805461ffff191661ffff92909216919091179055565b60006104c5338484610b80565b6000546001600160a01b031633146107bc5760405162461bcd60e51b815260040161055d90611587565b6107c86009600a6116a7565b6107d29082611752565b60065550565b6000546001600160a01b031633146108025760405162461bcd60e51b815260040161055d90611587565b600554600160a01b900460ff161561085c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161055d565b600580546611c379737b4a00600781905560065562ff00ff60a01b1981166201000160a01b179091556004805460405163095ea7b360e01b8152600160301b9091046001600160a01b0390811692820192909252600019602482015291169063095ea7b390604401602060405180830381600087803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091691906114b9565b50565b6000546001600160a01b031633146109435760405162461bcd60e51b815260040161055d90611587565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b0316331461098e5760405162461bcd60e51b815260040161055d90611587565b61099a6009600a6116a7565b6109a49083611752565b6007556109b36009600a6116a7565b6109bd9082611752565b6006555050565b6000546001600160a01b031633146109ee5760405162461bcd60e51b815260040161055d90611587565b6001600160a01b038116610a535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b61091681610fc0565b6001600160a01b038316610abe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161055d565b6001600160a01b038216610b1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161055d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610be45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161055d565b6001600160a01b038216610c465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161055d565b60008111610ca85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161055d565b6001600160a01b038316600090815260016020526040902054811115610d2a5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161055d565b600554600160a01b900460ff1680610d5a57506001600160a01b03831660009081526003602052604090205460ff165b80610d7d57506001600160a01b03821660009081526003602052604090205460ff165b610dc95760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161055d565b6005546001600160a01b038481169116148015610dfb57506004546001600160a01b03838116600160301b9092041614155b8015610e2057506001600160a01b03821660009081526003602052604090205460ff16155b15610ef257600754811115610e775760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161055d565b60065481610e9a846001600160a01b031660009081526001602052604090205490565b610ea4919061162c565b1115610ef25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161055d565b30600090815260016020526040902054600554600160a81b900460ff16158015610f2a57506005546001600160a01b03858116911614155b8015610f3f5750600554600160b01b900460ff165b8015610f4b5750600081115b15610f6b57610f5981611010565b478015610f6957610f69476111db565b505b6001600160a01b038416600090815260036020526040902054610fba9085908590859060ff1680610fb457506001600160a01b03871660009081526003602052604090205460ff165b15611219565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6005805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061106657634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050600460069054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d457600080fd5b505afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c91906113fa565b8160018151811061112d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260045461115a913091600160301b90041684610a5c565b6004805460405163791ac94760e01b8152600160301b9091046001600160a01b03169163791ac94791611198918691600091879130914291016115bc565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b50506005805460ff60a81b1916905550505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611215573d6000803e3d6000fd5b5050565b6001600160a01b03841660009081526001602052604081208054849290611241908490611771565b909155506000905081611254578261125f565b61125f8585856112e7565b6001600160a01b03851660009081526001602052604081208054929350839290919061128c90849061162c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112d891815260200190565b60405180910390a35050505050565b60055460009081906001600160a01b038681169116141561130f575060045461ffff16611334565b6005546001600160a01b0385811691161415611334575060045462010000900461ffff165b600454600090640100000000900461ffff166113508386611752565b61135a9190611644565b3060009081526001602052604081208054929350839290919061137e90849061162c565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36113cd8185611771565b9695505050505050565b6000602082840312156113e8578081fd5b81356113f38161179e565b9392505050565b60006020828403121561140b578081fd5b81516113f38161179e565b60008060408385031215611428578081fd5b82356114338161179e565b915060208301356114438161179e565b809150509250929050565b600080600060608486031215611462578081fd5b833561146d8161179e565b9250602084013561147d8161179e565b929592945050506040919091013590565b600080604083850312156114a0578182fd5b82356114ab8161179e565b946020939093013593505050565b6000602082840312156114ca578081fd5b815180151581146113f3578182fd5b6000602082840312156114ea578081fd5b813561ffff811681146113f3578182fd5b60006020828403121561150c578081fd5b5035919050565b60008060408385031215611525578182fd5b50508035926020909101359150565b6000602080835283518082850152825b8181101561156057858101830151858201604001528201611544565b818111156115715783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561160b5784516001600160a01b0316835293830193918301916001016115e6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561163f5761163f611788565b500190565b60008261165f57634e487b7160e01b81526012600452602481fd5b500490565b600181815b8085111561169f57816000190482111561168557611685611788565b8085161561169257918102915b93841c9390800290611669565b509250929050565b60006113f360ff8416836000826116c0575060016104c9565b816116cd575060006104c9565b81600181146116e357600281146116ed57611709565b60019150506104c9565b60ff8411156116fe576116fe611788565b50506001821b6104c9565b5060208310610133831016604e8410600b841016171561172c575081810a6104c9565b6117368383611664565b806000190482111561174a5761174a611788565b029392505050565b600081600019048311821515161561176c5761176c611788565b500290565b60008282101561178357611783611788565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461091657600080fdfea26469706673582212206dddb43216c4d1c5b056902100cca80e595218a2a30800206fd21c05137a167064736f6c63430008040033

Deployed Bytecode Sourcemap

5099:7576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6825:69;;;;;;;;;;-1:-1:-1;6886:5:0;;;;;;;;;;;;-1:-1:-1;;;6886:5:0;;;;6825:69;;;;;;;:::i;:::-;;;;;;;;7535:138;;;;;;;;;;-1:-1:-1;7535:138:0;;;;;:::i;:::-;;:::i;:::-;;;3455:14:1;;3448:22;3430:41;;3418:2;3403:18;7535:138:0;3385:92:1;7054:81:0;;;;;;;;;;-1:-1:-1;5873:21:0;7054:81;;;9822:25:1;;;9810:2;9795:18;7054:81:0;9777:76:1;5558:33:0;;;;;;;;;;-1:-1:-1;5558:33:0;;;;;;;;;;;;;;9657:6:1;9645:19;;;9627:38;;9615:2;9600:18;5558:33:0;9582:89:1;5598:38:0;;;;;;;;;;-1:-1:-1;5598:38:0;;;;;;;;;;;7681:420;;;;;;;;;;-1:-1:-1;7681:420:0;;;;;:::i;:::-;;:::i;11383:114::-;;;;;;;;;;-1:-1:-1;11383:114:0;;;;;:::i;:::-;;:::i;:::-;;6979:69;;;;;;;;;;-1:-1:-1;6979:69:0;;5509:1;10988:36:1;;10976:2;10961:18;6979:69:0;10943:87:1;11146:111:0;;;;;;;;;;-1:-1:-1;11146:111:0;;;;;:::i;:::-;;:::i;12025:155::-;;;;;;;;;;-1:-1:-1;12025:155:0;;;;;:::i;:::-;;:::i;7141:103::-;;;;;;;;;;-1:-1:-1;7141:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7225:16:0;7207:7;7225:16;;;:7;:16;;;;;;;7141:103;3114:94;;;;;;;;;;;;;:::i;11864:153::-;;;;;;;;;;-1:-1:-1;11864:153:0;;;;;:::i;:::-;;:::i;2891:87::-;;;;;;;;;;-1:-1:-1;2937:7:0;2964:6;2891:87;;-1:-1:-1;;;;;2964:6:0;;;2949:51:1;;2937:2;2922:18;2891:87:0;2904:102:1;5519:32:0;;;;;;;;;;-1:-1:-1;5519:32:0;;;;;;;;6900:73;;;;;;;;;;-1:-1:-1;6963:7:0;;;;;;;;;;;;-1:-1:-1;;;6963:7:0;;;;6900:73;;7250:144;;;;;;;;;;-1:-1:-1;7250:144:0;;;;;:::i;:::-;;:::i;11505:126::-;;;;;;;;;;-1:-1:-1;11505:126:0;;;;;:::i;:::-;;:::i;12292:338::-;;;;;;;;;;;;;:::i;7400:129::-;;;;;;;;;;-1:-1:-1;7400:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;7499:18:0;;;7481:7;7499:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7400:129;11265:110;;;;;;;;;;-1:-1:-1;11265:110:0;;;;;:::i;:::-;;:::i;11639:217::-;;;;;;;;;;-1:-1:-1;11639:217:0;;;;;:::i;:::-;;:::i;3216:192::-;;;;;;;;;;-1:-1:-1;3216:192:0;;;;;:::i;:::-;;:::i;7535:138::-;7610:4;7618:39;2392:10;7641:7;7650:6;7618:8;:39::i;:::-;-1:-1:-1;7666:4:0;7535:138;;;;;:::o;7681:420::-;7787:4;7804:36;7814:6;7822:9;7833:6;7804:9;:36::i;:::-;-1:-1:-1;;;;;7880:19:0;;7853:24;7880:19;;;:11;:19;;;;;;;;2392:10;7880:33;;;;;;;;7932:26;;;;7924:79;;;;-1:-1:-1;;;7924:79:0;;6635:2:1;7924:79:0;;;6617:21:1;6674:2;6654:18;;;6647:30;6713:34;6693:18;;;6686:62;-1:-1:-1;;;6764:18:1;;;6757:38;6812:19;;7924:79:0;;;;;;;;;8014:57;8023:6;2392:10;8045:25;8064:6;8045:16;:25;:::i;:::-;8014:8;:57::i;:::-;-1:-1:-1;8089:4:0;;7681:420;-1:-1:-1;;;;7681:420:0:o;11383:114::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;11475:14:::1;5509:1;11475:2;:14;:::i;:::-;11466:23;::::0;:6;:23:::1;:::i;:::-;11452:11;:37:::0;-1:-1:-1;11383:114:0:o;11146:111::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11215:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;11215:34:0::1;11245:4;11215:34;::::0;;11146:111::o;12025:155::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;12107:1:::1;12099:4;:9;;;;12091:50;;;::::0;-1:-1:-1;;;12091:50:0;;6278:2:1;12091:50:0::1;::::0;::::1;6260:21:1::0;6317:2;6297:18;;;6290:30;6356;6336:18;;;6329:58;6404:18;;12091:50:0::1;6250:178:1::0;12091:50:0::1;12152:13;:20:::0;;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;12152:20:0;;::::1;::::0;;;::::1;::::0;;12025:155::o;3114:94::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;3179:21:::1;3197:1;3179:9;:21::i;:::-;3114:94::o:0;11864:153::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;11945:1:::1;11937:4;:9;;;;11929:50;;;::::0;-1:-1:-1;;;11929:50:0;;6278:2:1;11929:50:0::1;::::0;::::1;6260:21:1::0;6317:2;6297:18;;;6290:30;6356;6336:18;;;6329:58;6404:18;;11929:50:0::1;6250:178:1::0;11929:50:0::1;11990:12;:19:::0;;-1:-1:-1;;11990:19:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;11864:153::o;7250:144::-;7328:4;7336:42;2392:10;7360:9;7371:6;7336:9;:42::i;11505:126::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;11609:14:::1;5509:1;11609:2;:14;:::i;:::-;11600:23;::::0;:6;:23:::1;:::i;:::-;11582:15;:41:::0;-1:-1:-1;11505:126:0:o;12292:338::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;12356:11:::1;::::0;-1:-1:-1;;;12356:11:0;::::1;;;12355:12;12347:47;;;::::0;-1:-1:-1;;;12347:47:0;;8981:2:1;12347:47:0::1;::::0;::::1;8963:21:1::0;9020:2;9000:18;;;8993:30;9059:25;9039:18;;;9032:53;9102:18;;12347:47:0::1;8953:173:1::0;12347:47:0::1;12405:11;:18:::0;;12448:17:::1;12434:11;:31:::0;;;12476:15:::1;:35:::0;-1:-1:-1;;;;12522:18:0;;-1:-1:-1;;;12522:18:0;;;;12589:15:::1;::::0;;12551:71:::1;::::0;-1:-1:-1;;;12551:71:0;;-1:-1:-1;;;12589:15:0;;::::1;-1:-1:-1::0;;;;;12589:15:0;;::::1;12551:71:::0;;::::1;3185:51:1::0;;;;-1:-1:-1;;3252:18:1;;;3245:34;12558:13:0;;;12551:29:::1;::::0;3158:18:1;;12551:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12292:338::o:0;11265:110::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11332:27:0::1;11362:5;11332:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11332:35:0::1;::::0;;11265:110::o;11639:217::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;11774:14:::1;5509:1;11774:2;:14;:::i;:::-;11759:29;::::0;:12;:29:::1;:::i;:::-;11745:11;:43:::0;11834:14:::1;5509:1;11834:2;:14;:::i;:::-;11817:31;::::0;:14;:31:::1;:::i;:::-;11799:15;:49:::0;-1:-1:-1;;11639:217:0:o;3216:192::-;2937:7;2964:6;-1:-1:-1;;;;;2964:6:0;2392:10;3026:23;3018:68;;;;-1:-1:-1;;;3018:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3305:22:0;::::1;3297:73;;;::::0;-1:-1:-1;;;3297:73:0;;5468:2:1;3297:73:0::1;::::0;::::1;5450:21:1::0;5507:2;5487:18;;;5480:30;5546:34;5526:18;;;5519:62;-1:-1:-1;;;5597:18:1;;;5590:36;5643:19;;3297:73:0::1;5440:228:1::0;3297:73:0::1;3381:19;3391:8;3381:9;:19::i;8109:335::-:0;-1:-1:-1;;;;;8202:19:0;;8194:68;;;;-1:-1:-1;;;8194:68:0;;8576:2:1;8194:68:0;;;8558:21:1;8615:2;8595:18;;;8588:30;8654:34;8634:18;;;8627:62;-1:-1:-1;;;8705:18:1;;;8698:34;8749:19;;8194:68:0;8548:226:1;8194:68:0;-1:-1:-1;;;;;8281:21:0;;8273:68;;;;-1:-1:-1;;;8273:68:0;;5875:2:1;8273:68:0;;;5857:21:1;5914:2;5894:18;;;5887:30;5953:34;5933:18;;;5926:62;-1:-1:-1;;;6004:18:1;;;5997:32;6046:19;;8273:68:0;5847:224:1;8273:68:0;-1:-1:-1;;;;;8352:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8404:32;;9822:25:1;;;8404:32:0;;9795:18:1;8404:32:0;;;;;;;8109:335;;;:::o;8452:1335::-;-1:-1:-1;;;;;8540:18:0;;8532:68;;;;-1:-1:-1;;;8532:68:0;;7815:2:1;8532:68:0;;;7797:21:1;7854:2;7834:18;;;7827:30;7893:34;7873:18;;;7866:62;-1:-1:-1;;;7944:18:1;;;7937:35;7989:19;;8532:68:0;7787:227:1;8532:68:0;-1:-1:-1;;;;;8619:16:0;;8611:64;;;;-1:-1:-1;;;8611:64:0;;4292:2:1;8611:64:0;;;4274:21:1;4331:2;4311:18;;;4304:30;4370:34;4350:18;;;4343:62;-1:-1:-1;;;4421:18:1;;;4414:33;4464:19;;8611:64:0;4264:225:1;8611:64:0;8703:1;8694:6;:10;8686:64;;;;-1:-1:-1;;;8686:64:0;;7405:2:1;8686:64:0;;;7387:21:1;7444:2;7424:18;;;7417:30;7483:34;7463:18;;;7456:62;-1:-1:-1;;;7534:18:1;;;7527:39;7583:19;;8686:64:0;7377:231:1;8686:64:0;-1:-1:-1;;;;;7225:16:0;;7207:7;7225:16;;;:7;:16;;;;;;8769:6;:25;;8761:86;;;;-1:-1:-1;;;8761:86:0;;5050:2:1;8761:86:0;;;5032:21:1;5089:2;5069:18;;;5062:30;5128:34;5108:18;;;5101:62;-1:-1:-1;;;5179:18:1;;;5172:47;5236:19;;8761:86:0;5022:239:1;8761:86:0;8870:11;;-1:-1:-1;;;8870:11:0;;;;;:39;;-1:-1:-1;;;;;;8885:24:0;;;;;;:18;:24;;;;;;;;8870:39;:65;;;-1:-1:-1;;;;;;8913:22:0;;;;;;:18;:22;;;;;;;;8870:65;8862:101;;;;-1:-1:-1;;;8862:101:0;;9333:2:1;8862:101:0;;;9315:21:1;9372:2;9352:18;;;9345:30;9411:25;9391:18;;;9384:53;9454:18;;8862:101:0;9305:173:1;8862:101:0;8988:13;;-1:-1:-1;;;;;8980:21:0;;;8988:13;;8980:21;:55;;;;-1:-1:-1;9019:15:0;;-1:-1:-1;;;;;9005:30:0;;;-1:-1:-1;;;9019:15:0;;;;9005:30;;8980:55;:83;;;;-1:-1:-1;;;;;;9041:22:0;;;;;;:18;:22;;;;;;;;9039:24;8980:83;8976:278;;;9102:11;;9092:6;:21;;9084:59;;;;-1:-1:-1;;;9084:59:0;;4696:2:1;9084:59:0;;;4678:21:1;4735:2;4715:18;;;4708:30;4774:27;4754:18;;;4747:55;4819:18;;9084:59:0;4668:175:1;9084:59:0;9196:15;;9186:6;9170:13;9180:2;-1:-1:-1;;;;;7225:16:0;7207:7;7225:16;;;:7;:16;;;;;;;7141:103;9170:13;:22;;;;:::i;:::-;:41;;9162:80;;;;-1:-1:-1;;;9162:80:0;;8221:2:1;9162:80:0;;;8203:21:1;8260:2;8240:18;;;8233:30;8299:28;8279:18;;;8272:56;8345:18;;9162:80:0;8193:176:1;9162:80:0;9315:4;9266:28;7225:16;;;:7;:16;;;;;;9341:6;;-1:-1:-1;;;9341:6:0;;;;9340:7;:32;;;;-1:-1:-1;9359:13:0;;-1:-1:-1;;;;;9351:21:0;;;9359:13;;9351:21;;9340:32;:47;;;;-1:-1:-1;9376:11:0;;-1:-1:-1;;;9376:11:0;;;;9340:47;:73;;;;;9412:1;9391:20;:22;9340:73;9336:344;;;9434:38;9451:20;9434:16;:38::i;:::-;9520:21;9563:22;;9560:105;;9610:35;9623:21;9610:12;:35::i;:::-;9336:344;;-1:-1:-1;;;;;9727:24:0;;;;;;:18;:24;;;;;;9692:87;;9707:4;;9713:2;;9717:6;;9727:24;;;:50;;-1:-1:-1;;;;;;9755:22:0;;;;;;:18;:22;;;;;;;;9727:50;9725:53;9692:14;:87::i;:::-;8452:1335;;;;:::o;3416:173::-;3472:16;3491:6;;-1:-1:-1;;;;;3508:17:0;;;-1:-1:-1;;;;;;3508:17:0;;;;;;3541:40;;3491:6;;;;;;;3541:40;;3472:16;3541:40;3416:173;;:::o;9795:483::-;6130:6;:13;;-1:-1:-1;;;;6130:13:0;-1:-1:-1;;;6130:13:0;;;9897:16:::1;::::0;;9911:1:::1;9897:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9897:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9897:16:0::1;9873:40;;9942:4;9924;9929:1;9924:7;;;;;;-1:-1:-1::0;;;9924:7:0::1;;;;;;;;;;;;;;:23;-1:-1:-1::0;;;;;9924:23:0::1;;;-1:-1:-1::0;;;;;9924:23:0::1;;;::::0;::::1;9968:15;;;;;;;;;-1:-1:-1::0;;;;;9968:15:0::1;-1:-1:-1::0;;;;;9968:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9958:4;9963:1;9958:7;;;;;;-1:-1:-1::0;;;9958:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9958:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10033:15:::1;::::0;10001:62:::1;::::0;10018:4:::1;::::0;-1:-1:-1;;;10033:15:0;::::1;;10051:11:::0;10001:8:::1;:62::i;:::-;10074:15;::::0;;:196:::1;::::0;-1:-1:-1;;;10074:196:0;;-1:-1:-1;;;10074:15:0;;::::1;-1:-1:-1::0;;;;;10074:15:0::1;::::0;:66:::1;::::0;:196:::1;::::0;10155:11;;10181:1:::1;::::0;10197:4;;10224::::1;::::0;10244:15:::1;::::0;10074:196:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6166:6:0;:14;;-1:-1:-1;;;;6166:14:0;;;-1:-1:-1;;;;9795:483:0:o;12188:95::-;12245:13;;:30;;-1:-1:-1;;;;;12245:13:0;;;;:30;;;;;12268:6;;12245:13;:30;:13;:30;12268:6;12245:13;:30;;;;;;;;;;;;;;;;;;;;;12188:95;:::o;10286:340::-;-1:-1:-1;;;;;10394:15:0;;;;;;:7;:15;;;;;:25;;10413:6;;10394:15;:25;;10413:6;;10394:25;:::i;:::-;;;;-1:-1:-1;10430:22:0;;-1:-1:-1;10456:7:0;10455:57;;10506:6;10455:57;;;10467:36;10477:6;10485:9;10496:6;10467:9;:36::i;:::-;-1:-1:-1;;;;;10523:18:0;;;;;;:7;:18;;;;;:36;;10430:82;;-1:-1:-1;10430:82:0;;10523:18;;;:36;;10430:82;;10523:36;:::i;:::-;;;;;;;;10592:9;-1:-1:-1;;;;;10575:43:0;10584:6;-1:-1:-1;;;;;10575:43:0;;10603:14;10575:43;;;;9822:25:1;;9810:2;9795:18;;9777:76;10575:43:0;;;;;;;;10286:340;;;;;:::o;10634:504::-;10773:13;;10713:7;;;;-1:-1:-1;;;;;10765:21:0;;;10773:13;;10765:21;10762:162;;;-1:-1:-1;10817:12:0;;;;10762:162;;;10857:13;;-1:-1:-1;;;;;10851:19:0;;;10857:13;;10851:19;10847:77;;;-1:-1:-1;10899:13:0;;;;;;;10847:77;10976:16;;10934:17;;10976:16;;;;;10954:19;10963:10;10954:6;:19;:::i;:::-;:38;;;;:::i;:::-;11019:4;11003:22;;;;:7;:22;;;;;:35;;10934:58;;-1:-1:-1;10934:58:0;;11003:22;;;:35;;10934:58;;11003:35;:::i;:::-;;;;-1:-1:-1;;11054:40:0;;9822:25:1;;;11077:4:0;;-1:-1:-1;;;;;11054:40:0;;;;;9810:2:1;9795:18;11054:40:0;;;;;;;11112:18;11121:9;11112:6;:18;:::i;:::-;11105:25;10634:504;-1:-1:-1;;;;;;10634:504:0:o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:1:o;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:325::-;1484:6;1492;1545:2;1533:9;1524:7;1520:23;1516:32;1513:2;;;1566:6;1558;1551:22;1513:2;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1503:238:1:o;1746:297::-;1813:6;1866:2;1854:9;1845:7;1841:23;1837:32;1834:2;;;1887:6;1879;1872:22;1834:2;1924:9;1918:16;1977:5;1970:13;1963:21;1956:5;1953:32;1943:2;;2004:6;1996;1989:22;2048:292;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:2;;;2180:6;2172;2165:22;2127:2;2224:9;2211:23;2274:6;2267:5;2263:18;2256:5;2253:29;2243:2;;2301:6;2293;2286:22;2345:190;2404:6;2457:2;2445:9;2436:7;2432:23;2428:32;2425:2;;;2478:6;2470;2463:22;2425:2;-1:-1:-1;2506:23:1;;2415:120;-1:-1:-1;2415:120:1:o;2540:258::-;2608:6;2616;2669:2;2657:9;2648:7;2644:23;2640:32;2637:2;;;2690:6;2682;2675:22;2637:2;-1:-1:-1;;2718:23:1;;;2788:2;2773:18;;;2760:32;;-1:-1:-1;2627:171:1:o;3482:603::-;3594:4;3623:2;3652;3641:9;3634:21;3684:6;3678:13;3727:6;3722:2;3711:9;3707:18;3700:34;3752:4;3765:140;3779:6;3776:1;3773:13;3765:140;;;3874:14;;;3870:23;;3864:30;3840:17;;;3859:2;3836:26;3829:66;3794:10;;3765:140;;;3923:6;3920:1;3917:13;3914:2;;;3993:4;3988:2;3979:6;3968:9;3964:22;3960:31;3953:45;3914:2;-1:-1:-1;4069:2:1;4048:15;-1:-1:-1;;4044:29:1;4029:45;;;;4076:2;4025:54;;3603:482;-1:-1:-1;;;3603:482:1:o;6842:356::-;7044:2;7026:21;;;7063:18;;;7056:30;7122:34;7117:2;7102:18;;7095:62;7189:2;7174:18;;7016:182::o;9858:983::-;10120:4;10168:3;10157:9;10153:19;10199:6;10188:9;10181:25;10225:2;10263:6;10258:2;10247:9;10243:18;10236:34;10306:3;10301:2;10290:9;10286:18;10279:31;10330:6;10365;10359:13;10396:6;10388;10381:22;10434:3;10423:9;10419:19;10412:26;;10473:2;10465:6;10461:15;10447:29;;10494:4;10507:195;10521:6;10518:1;10515:13;10507:195;;;10586:13;;-1:-1:-1;;;;;10582:39:1;10570:52;;10677:15;;;;10642:12;;;;10618:1;10536:9;10507:195;;;-1:-1:-1;;;;;;;10758:32:1;;;;10753:2;10738:18;;10731:60;-1:-1:-1;;;10822:3:1;10807:19;10800:35;10719:3;10129:712;-1:-1:-1;;;10129:712:1:o;11035:128::-;11075:3;11106:1;11102:6;11099:1;11096:13;11093:2;;;11112:18;;:::i;:::-;-1:-1:-1;11148:9:1;;11083:80::o;11168:217::-;11208:1;11234;11224:2;;-1:-1:-1;;;11259:31:1;;11313:4;11310:1;11303:15;11341:4;11266:1;11331:15;11224:2;-1:-1:-1;11370:9:1;;11214:171::o;11390:422::-;11479:1;11522:5;11479:1;11536:270;11557:7;11547:8;11544:21;11536:270;;;11616:4;11612:1;11608:6;11604:17;11598:4;11595:27;11592:2;;;11625:18;;:::i;:::-;11675:7;11665:8;11661:22;11658:2;;;11695:16;;;;11658:2;11774:22;;;;11734:15;;;;11536:270;;;11540:3;11454:358;;;;;:::o;11817:140::-;11875:5;11904:47;11945:4;11935:8;11931:19;11925:4;12011:5;12041:8;12031:2;;-1:-1:-1;12082:1:1;12096:5;;12031:2;12130:4;12120:2;;-1:-1:-1;12167:1:1;12181:5;;12120:2;12212:4;12230:1;12225:59;;;;12298:1;12293:130;;;;12205:218;;12225:59;12255:1;12246:10;;12269:5;;;12293:130;12330:3;12320:8;12317:17;12314:2;;;12337:18;;:::i;:::-;-1:-1:-1;;12393:1:1;12379:16;;12408:5;;12205:218;;12507:2;12497:8;12494:16;12488:3;12482:4;12479:13;12475:36;12469:2;12459:8;12456:16;12451:2;12445:4;12442:12;12438:35;12435:77;12432:2;;;-1:-1:-1;12544:19:1;;;12576:5;;12432:2;12623:34;12648:8;12642:4;12623:34;:::i;:::-;12693:6;12689:1;12685:6;12681:19;12672:7;12669:32;12666:2;;;12704:18;;:::i;:::-;12742:20;;12021:747;-1:-1:-1;;;12021:747:1:o;12773:168::-;12813:7;12879:1;12875;12871:6;12867:14;12864:1;12861:21;12856:1;12849:9;12842:17;12838:45;12835:2;;;12886:18;;:::i;:::-;-1:-1:-1;12926:9:1;;12825:116::o;12946:125::-;12986:4;13014:1;13011;13008:8;13005:2;;;13019:18;;:::i;:::-;-1:-1:-1;13056:9:1;;12995:76::o;13076:127::-;13137:10;13132:3;13128:20;13125:1;13118:31;13168:4;13165:1;13158:15;13192:4;13189:1;13182:15;13208:131;-1:-1:-1;;;;;13283:31:1;;13273:42;;13263:2;;13329:1;13326;13319:12

Swarm Source

ipfs://6dddb43216c4d1c5b056902100cca80e595218a2a30800206fd21c05137a1670
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.