ETH Price: $3,711.99 (+3.29%)

Token

ERC-20: INFINECT (INFC)
 

Overview

Max Total Supply

100,000,000 INFC

Holders

393

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
130,161.902323177184628093 INFC

Value
$0.00
0xbd23ce9710029463625ef7a5beacf1a8cec92eb9
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:
INFINECT_DEPIN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-04
*/

/*
Website: https://infinect.io
Twitter: https://x.com/Infinectio
Telegram: https://t.me/infinect
DApps: https://dapps.infinect.io/
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(
        address account
    ) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
    function allowance(
        address owner,
        address spender
    ) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(
        address spender,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }
    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 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 IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

contract INFINECT_DEPIN is ERC20, Ownable {
    uint256 private buyTax = 20;
    uint256 private sellTax = 20;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    mapping(address => bool) public isExempt;

    address private immutable marketingAddress;
    address private immutable taxAddress;

    uint256 public maxTransactionAmount;
    uint256 public maxTxLaunch;
    bool private launch = false;
    bool private slowLaunch = true;
    uint256 private blockLaunch;
    uint256 private lastSellBlock;
    uint256 private sellCount;
    uint256 private minSwap;
    uint256 private maxSwap;
    uint256 private _buyCount = 0;
    bool private inSwap;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        address _taxAddress,
        address _marketingAddress

    ) ERC20("INFINECT", "INFC") Ownable() {
        uint256 totalSupply = 100000000 * 10 ** 18;

        marketingAddress = _marketingAddress;
        taxAddress = _taxAddress;

        isExempt[msg.sender] = true;
        isExempt[address(this)] = true;
        isExempt[marketingAddress] = true;
        isExempt[taxAddress] = true;


        _mint(marketingAddress, (totalSupply * 3) / 100);
        _mint(msg.sender, (totalSupply * 97) / 100);

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );


        maxTransactionAmount = (2 * 100000000 * 10 ** 18) / 100;
        maxTxLaunch = ( 15 * 100000000 * 10 ** 18) / 1000;
        maxSwap = 500000 * 10 ** 18;
        minSwap = 100000 * 10 ** 18;
    }

    function openTrading() external onlyOwner {
        // 20% clogged
        uint256 tokenToLP = ((100000000 * 10 ** 18) * 70) / 100;

        _approve(
            address(this),
            address(uniswapV2Router),
            balanceOf(address(this))
        );

        uniswapV2Pair = address(
            IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            )
        );        

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            tokenToLP,
            0,
            0,
            owner(),
            block.timestamp
        );

        launch = true;
        blockLaunch = block.number;
    }

    function getMinCASwap() public view returns (uint256) {
        return minSwap / 10 ** decimals();
    }

    function initialize(
        address[] calldata recipients,
        uint256[] calldata amounts
    ) external onlyOwner {
        require(recipients.length == amounts.length);
        for (uint256 i = 0; i < recipients.length; i++) {
            _transfer(msg.sender, recipients[i], amounts[i]);
        }
    }

    function setMaxCASwap(uint256 _maxSwap) external onlyOwner {
        require(_maxSwap <= ((100000000 * 10 ** 18) * 5 / 1000));
        require(_maxSwap >= ((100000000 * 10 ** 18) * 5 / 10000));
        maxSwap = _maxSwap * 10 ** decimals();
    }

    function setMinSwap(uint256 _minSwap) external onlyOwner {
        require(_minSwap <= ((100000000 * 10 ** 18) * 5 / 1000));
        require(_minSwap >= ((100000000 * 10 ** 18) * 5 / 10000));
        minSwap = _minSwap * 10 ** decimals();
    }

    function switchCaSell() external onlyOwner {
        if (inSwap) {
            inSwap = false;
        } else {
            inSwap = true;
        }
    }

    function deactivateSlowLaunch() external onlyOwner {
        slowLaunch = false;
    }

    function getMaxCASwap() public view returns (uint256) {
        return maxSwap / 10 ** decimals();
    }

    function swapTokensEth(uint256 tokenAmount) internal lockTheSwap {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            taxAddress,
            block.timestamp
        );
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal virtual override {
        if (!isExempt[from] && !isExempt[to]) {
            require(launch);
            uint256 tax = 0;

            if (slowLaunch && blockLaunch != block.number) {
                require(value <= maxTxLaunch, "MAX TX LIMIT");
            } else {
                require(value <= maxTransactionAmount, "MAX TX LIMIT");
            }

            if (to == uniswapV2Pair) {
                tax = sellTax;
                uint256 tokensSwap = balanceOf(address(this));
                if (tokensSwap > minSwap && !inSwap) {
                    if (block.number > lastSellBlock) {
                        sellCount = 0;
                    }
                    if (sellCount < 3) {
                        sellCount++;
                        lastSellBlock = block.number;
                        swapTokensEth(min(maxSwap, min(value, tokensSwap)));
                    }
                }
            } else if (from == uniswapV2Pair) {
                tax = buyTax;
                if (block.number == blockLaunch) {
                    _buyCount++;
                    tax = 20;
                    require(
                        _buyCount <= 15,
                        "Exceeds buys on the first block."
                    );
                }
            }

            uint256 taxAmount = (value * tax) / 100;
            uint256 amountAfterTax = value - taxAmount;

            if (taxAmount > 0) {
                super._transfer(from, address(this), taxAmount);
            }
            super._transfer(from, to, amountAfterTax);
            return;
        }
        super._transfer(from, to, value);
    }

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

    function setTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax < 20 && newSellTax < 20);
        sellTax = newSellTax;
        buyTax = newBuyTax;
    }

    function setMaxTx(uint256 newMaxTx) external onlyOwner {
        maxTransactionAmount = newMaxTx * 10 ** decimals();
    }

    function removeAllLimits() external onlyOwner {
        maxTransactionAmount = totalSupply();
    }

    function exportETH() external {
        payable(marketingAddress).transfer(address(this).balance);
    }

    function setExcludedWallet(
        address wAddress,
        bool isExcle
    ) external onlyOwner {
        isExempt[wAddress] = isExcle;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_taxAddress","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"deactivateSlowLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exportETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxCASwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinCASwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxLaunch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wAddress","type":"address"},{"internalType":"bool","name":"isExcle","type":"bool"}],"name":"setExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSwap","type":"uint256"}],"name":"setMaxCASwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTx","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minSwap","type":"uint256"}],"name":"setMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"switchCaSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601460065560146007555f600d5f6101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055505f601355348015610051575f80fd5b506040516139ad3803806139ad8339818101604052810190610073919061066c565b6040518060400160405280600881526020017f494e46494e4543540000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f494e46430000000000000000000000000000000000000000000000000000000081525081600390816100ee91906108e4565b5080600490816100fe91906108e4565b50505061011d6101126103e060201b60201c565b6103e760201b60201c565b5f6a52b7d2dcc80cd2e400000090508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f60a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610316608051606460038461030191906109e0565b61030b9190610a4e565b6104aa60201b60201c565b61033e33606460618461032991906109e0565b6103339190610a4e565b6104aa60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a01a784379d99db42000000600b819055506a013da329b6336471800000600c819055506969e10de76676d080000060128190555069152d02c7e14af6800000601181905550505050610b51565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050f90610ad8565b60405180910390fd5b6105295f838361060460201b60201c565b8060025f82825461053a9190610af6565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105e79190610b38565b60405180910390a36106005f838361060960201b60201c565b5050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61063b82610612565b9050919050565b61064b81610631565b8114610655575f80fd5b50565b5f8151905061066681610642565b92915050565b5f80604083850312156106825761068161060e565b5b5f61068f85828601610658565b92505060206106a085828601610658565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061072557607f821691505b602082108103610738576107376106e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261079a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261075f565b6107a4868361075f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6107e86107e36107de846107bc565b6107c5565b6107bc565b9050919050565b5f819050919050565b610801836107ce565b61081561080d826107ef565b84845461076b565b825550505050565b5f90565b61082961081d565b6108348184846107f8565b505050565b5b818110156108575761084c5f82610821565b60018101905061083a565b5050565b601f82111561089c5761086d8161073e565b61087684610750565b81016020851015610885578190505b61089961089185610750565b830182610839565b50505b505050565b5f82821c905092915050565b5f6108bc5f19846008026108a1565b1980831691505092915050565b5f6108d483836108ad565b9150826002028217905092915050565b6108ed826106aa565b67ffffffffffffffff811115610906576109056106b4565b5b610910825461070e565b61091b82828561085b565b5f60209050601f83116001811461094c575f841561093a578287015190505b61094485826108c9565b8655506109ab565b601f19841661095a8661073e565b5f5b828110156109815784890151825560018201915060208501945060208101905061095c565b8683101561099e578489015161099a601f8916826108ad565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6109ea826107bc565b91506109f5836107bc565b9250828202610a03816107bc565b91508282048414831517610a1a57610a196109b3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610a58826107bc565b9150610a63836107bc565b925082610a7357610a72610a21565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610ac2601f83610a7e565b9150610acd82610a8e565b602082019050919050565b5f6020820190508181035f830152610aef81610ab6565b9050919050565b5f610b00826107bc565b9150610b0b836107bc565b9250828201905080821115610b2357610b226109b3565b5b92915050565b610b32816107bc565b82525050565b5f602082019050610b4b5f830184610b29565b92915050565b60805160a051612e3b610b725f395f611a8901525f610f2c0152612e3b5ff3fe6080604052600436106101db575f3560e01c806395d89b4111610101578063c8c8ebe411610094578063da81a85a11610063578063da81a85a14610676578063db05e5cb1461068c578063dd62ed3e146106a2578063f2fde38b146106de576101e2565b8063c8c8ebe4146105f8578063c9567bf914610622578063d579d4ed14610638578063d7acde1f1461064e576101e2565b8063a9e282b8116100d0578063a9e282b814610544578063aca2cd6e1461056c578063ad5dff7314610594578063bc337182146105d0576101e2565b806395d89b4114610478578063a457c2d7146104a2578063a508de62146104de578063a9059cbb14610508576101e2565b8063395093511161017957806370a082311161014857806370a08231146103d4578063715018a6146104105780637fbbe46f146104265780638da5cb5b1461044e576101e2565b8063395093511461031c57806349bd5a5e146103585780634b203e1b14610382578063667f6526146103ac576101e2565b806318160ddd116101b557806318160ddd14610276578063184619d3146102a057806323b872dd146102b6578063313ce567146102f2576101e2565b806306fdde03146101e6578063084cf61514610210578063095ea7b31461023a576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610706565b6040516102079190611df9565b60405180910390f35b34801561021b575f80fd5b50610224610796565b6040516102319190611e31565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b9190611ed6565b61079c565b60405161026d9190611f2e565b60405180910390f35b348015610281575f80fd5b5061028a6107be565b6040516102979190611e31565b60405180910390f35b3480156102ab575f80fd5b506102b46107c7565b005b3480156102c1575f80fd5b506102dc60048036038101906102d79190611f47565b6107eb565b6040516102e99190611f2e565b60405180910390f35b3480156102fd575f80fd5b50610306610819565b6040516103139190611fb2565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d9190611ed6565b610821565b60405161034f9190611f2e565b60405180910390f35b348015610363575f80fd5b5061036c610857565b6040516103799190611fda565b60405180910390f35b34801561038d575f80fd5b5061039661087c565b6040516103a39190611e31565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd9190611ff3565b6108a3565b005b3480156103df575f80fd5b506103fa60048036038101906103f59190612031565b6108d5565b6040516104079190611e31565b60405180910390f35b34801561041b575f80fd5b5061042461091a565b005b348015610431575f80fd5b5061044c60048036038101906104479190612112565b61092d565b005b348015610459575f80fd5b506104626109b2565b60405161046f9190611fda565b60405180910390f35b348015610483575f80fd5b5061048c6109da565b6040516104999190611df9565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c39190611ed6565b610a6a565b6040516104d59190611f2e565b60405180910390f35b3480156104e9575f80fd5b506104f2610adf565b6040516104ff9190611e31565b60405180910390f35b348015610513575f80fd5b5061052e60048036038101906105299190611ed6565b610b06565b60405161053b9190611f2e565b60405180910390f35b34801561054f575f80fd5b5061056a60048036038101906105659190612190565b610b28565b005b348015610577575f80fd5b50610592600480360381019061058d91906121e5565b610b84565b005b34801561059f575f80fd5b506105ba60048036038101906105b59190612031565b610be4565b6040516105c79190611f2e565b60405180910390f35b3480156105db575f80fd5b506105f660048036038101906105f19190612190565b610c01565b005b348015610603575f80fd5b5061060c610c31565b6040516106199190611e31565b60405180910390f35b34801561062d575f80fd5b50610636610c37565b005b348015610643575f80fd5b5061064c610f2a565b005b348015610659575f80fd5b50610674600480360381019061066f9190612190565b610f90565b005b348015610681575f80fd5b5061068a610fec565b005b348015610697575f80fd5b506106a0611043565b005b3480156106ad575f80fd5b506106c860048036038101906106c39190612223565b61105b565b6040516106d59190611e31565b60405180910390f35b3480156106e9575f80fd5b5061070460048036038101906106ff9190612031565b6110dd565b005b6060600380546107159061228e565b80601f01602080910402602001604051908101604052809291908181526020018280546107419061228e565b801561078c5780601f106107635761010080835404028352916020019161078c565b820191905f5260205f20905b81548152906001019060200180831161076f57829003601f168201915b5050505050905090565b600c5481565b5f806107a661115f565b90506107b3818585611166565b600191505092915050565b5f600254905090565b6107cf611329565b5f600d60016101000a81548160ff021916908315150217905550565b5f806107f561115f565b90506108028582856113a7565b61080d858585611432565b60019150509392505050565b5f6012905090565b5f8061082b61115f565b905061084c81858561083d858961105b565b61084791906122eb565b611166565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610885610819565b600a610891919061244d565b60115461089e91906124c4565b905090565b6108ab611329565b6014821080156108bb5750601481105b6108c3575f80fd5b80600781905550816006819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610922611329565b61092b5f6117af565b565b610935611329565b818190508484905014610946575f80fd5b5f5b848490508110156109ab5761099e3386868481811061096a576109696124f4565b5b905060200201602081019061097f9190612031565b858585818110610992576109916124f4565b5b90506020020135611432565b8080600101915050610948565b5050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109e99061228e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a159061228e565b8015610a605780601f10610a3757610100808354040283529160200191610a60565b820191905f5260205f20905b815481529060010190602001808311610a4357829003601f168201915b5050505050905090565b5f80610a7461115f565b90505f610a81828661105b565b905083811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90612591565b60405180910390fd5b610ad38286868403611166565b60019250505092915050565b5f610ae8610819565b600a610af4919061244d565b601254610b0191906124c4565b905090565b5f80610b1061115f565b9050610b1d818585611432565b600191505092915050565b610b30611329565b6969e10de76676d0800000811115610b46575f80fd5b690a968163f0a57b400000811015610b5c575f80fd5b610b64610819565b600a610b70919061244d565b81610b7b91906125af565b60118190555050565b610b8c611329565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b610c09611329565b610c11610819565b600a610c1d919061244d565b81610c2891906125af565b600b8190555050565b600b5481565b610c3f611329565b5f6a39e7139a8c08fa060000009050610c823060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c7d306108d5565b611166565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d109190612604565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dba9190612604565b6040518363ffffffff1660e01b8152600401610dd792919061262f565b6020604051808303815f875af1158015610df3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e179190612604565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f80610ea06109b2565b426040518863ffffffff1660e01b8152600401610ec296959493929190612698565b60606040518083038185885af1158015610ede573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f03919061270b565b5050506001600d5f6101000a81548160ff02191690831515021790555043600e8190555050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610f8d573d5f803e3d5ffd5b50565b610f98611329565b6969e10de76676d0800000811115610fae575f80fd5b690a968163f0a57b400000811015610fc4575f80fd5b610fcc610819565b600a610fd8919061244d565b81610fe391906125af565b60128190555050565b610ff4611329565b60145f9054906101000a900460ff1615611026575f60145f6101000a81548160ff021916908315150217905550611041565b600160145f6101000a81548160ff0219169083151502179055505b565b61104b611329565b6110536107be565b600b81905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6110e5611329565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906127cb565b60405180910390fd5b61115c816117af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90612859565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906128e7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161131c9190611e31565b60405180910390a3505050565b61133161115f565b73ffffffffffffffffffffffffffffffffffffffff1661134f6109b2565b73ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c9061294f565b60405180910390fd5b565b5f6113b2848461105b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461142c578181101561141e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611415906129b7565b60405180910390fd5b61142b8484848403611166565b5b50505050565b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114d05750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561179e57600d5f9054906101000a900460ff166114ec575f80fd5b5f600d60019054906101000a900460ff16801561150b575043600e5414155b1561155a57600c54821115611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612a1f565b60405180910390fd5b6115a0565b600b5482111561159f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159690612a1f565b60405180910390fd5b5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116875760075490505f611603306108d5565b905060115481118015611622575060145f9054906101000a900460ff16155b1561168157600f54431115611639575f6010819055505b600360105410156116805760105f81548092919061165690612a3d565b919050555043600f8190555061167f61167a6012546116758685611872565b611872565b61188a565b5b5b5061174d565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361174c576006549050600e54430361174b5760135f8154809291906116fb90612a3d565b919050555060149050600f601354111561174a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174190612ace565b60405180910390fd5b5b5b5b5f6064828461175c91906125af565b61176691906124c4565b90505f81846117759190612aec565b90505f82111561178b5761178a863084611b13565b5b611796868683611b13565b5050506117aa565b6117a9838383611b13565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183116118805782611882565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055506118d03060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611166565b5f600267ffffffffffffffff8111156118ec576118eb612b1f565b5b60405190808252806020026020018201604052801561191a5781602001602082028036833780820191505090505b50905030815f81518110611931576119306124f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f99190612604565b81600181518110611a0d57611a0c6124f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b8152600401611ac9959493929190612c03565b5f604051808303815f87803b158015611ae0575f80fd5b505af1158015611af2573d5f803e3d5ffd5b50505050505f60145f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890612ccb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be690612d59565b60405180910390fd5b611bfa838383611d7f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7490612de7565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d669190611e31565b60405180910390a3611d79848484611d84565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611dcb82611d89565b611dd58185611d93565b9350611de5818560208601611da3565b611dee81611db1565b840191505092915050565b5f6020820190508181035f830152611e118184611dc1565b905092915050565b5f819050919050565b611e2b81611e19565b82525050565b5f602082019050611e445f830184611e22565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e7b82611e52565b9050919050565b611e8b81611e71565b8114611e95575f80fd5b50565b5f81359050611ea681611e82565b92915050565b611eb581611e19565b8114611ebf575f80fd5b50565b5f81359050611ed081611eac565b92915050565b5f8060408385031215611eec57611eeb611e4a565b5b5f611ef985828601611e98565b9250506020611f0a85828601611ec2565b9150509250929050565b5f8115159050919050565b611f2881611f14565b82525050565b5f602082019050611f415f830184611f1f565b92915050565b5f805f60608486031215611f5e57611f5d611e4a565b5b5f611f6b86828701611e98565b9350506020611f7c86828701611e98565b9250506040611f8d86828701611ec2565b9150509250925092565b5f60ff82169050919050565b611fac81611f97565b82525050565b5f602082019050611fc55f830184611fa3565b92915050565b611fd481611e71565b82525050565b5f602082019050611fed5f830184611fcb565b92915050565b5f806040838503121561200957612008611e4a565b5b5f61201685828601611ec2565b925050602061202785828601611ec2565b9150509250929050565b5f6020828403121561204657612045611e4a565b5b5f61205384828501611e98565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261207d5761207c61205c565b5b8235905067ffffffffffffffff81111561209a57612099612060565b5b6020830191508360208202830111156120b6576120b5612064565b5b9250929050565b5f8083601f8401126120d2576120d161205c565b5b8235905067ffffffffffffffff8111156120ef576120ee612060565b5b60208301915083602082028301111561210b5761210a612064565b5b9250929050565b5f805f806040858703121561212a57612129611e4a565b5b5f85013567ffffffffffffffff81111561214757612146611e4e565b5b61215387828801612068565b9450945050602085013567ffffffffffffffff81111561217657612175611e4e565b5b612182878288016120bd565b925092505092959194509250565b5f602082840312156121a5576121a4611e4a565b5b5f6121b284828501611ec2565b91505092915050565b6121c481611f14565b81146121ce575f80fd5b50565b5f813590506121df816121bb565b92915050565b5f80604083850312156121fb576121fa611e4a565b5b5f61220885828601611e98565b9250506020612219858286016121d1565b9150509250929050565b5f806040838503121561223957612238611e4a565b5b5f61224685828601611e98565b925050602061225785828601611e98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806122a557607f821691505b6020821081036122b8576122b7612261565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6122f582611e19565b915061230083611e19565b9250828201905080821115612318576123176122be565b5b92915050565b5f8160011c9050919050565b5f808291508390505b60018511156123735780860481111561234f5761234e6122be565b5b600185161561235e5780820291505b808102905061236c8561231e565b9450612333565b94509492505050565b5f8261238b5760019050612446565b81612398575f9050612446565b81600181146123ae57600281146123b8576123e7565b6001915050612446565b60ff8411156123ca576123c96122be565b5b8360020a9150848211156123e1576123e06122be565b5b50612446565b5060208310610133831016604e8410600b841016171561241c5782820a905083811115612417576124166122be565b5b612446565b612429848484600161232a565b925090508184048111156124405761243f6122be565b5b81810290505b9392505050565b5f61245782611e19565b915061246283611f97565b925061248f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461237c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ce82611e19565b91506124d983611e19565b9250826124e9576124e8612497565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61257b602583611d93565b915061258682612521565b604082019050919050565b5f6020820190508181035f8301526125a88161256f565b9050919050565b5f6125b982611e19565b91506125c483611e19565b92508282026125d281611e19565b915082820484148315176125e9576125e86122be565b5b5092915050565b5f815190506125fe81611e82565b92915050565b5f6020828403121561261957612618611e4a565b5b5f612626848285016125f0565b91505092915050565b5f6040820190506126425f830185611fcb565b61264f6020830184611fcb565b9392505050565b5f819050919050565b5f819050919050565b5f61268261267d61267884612656565b61265f565b611e19565b9050919050565b61269281612668565b82525050565b5f60c0820190506126ab5f830189611fcb565b6126b86020830188611e22565b6126c56040830187612689565b6126d26060830186612689565b6126df6080830185611fcb565b6126ec60a0830184611e22565b979650505050505050565b5f8151905061270581611eac565b92915050565b5f805f6060848603121561272257612721611e4a565b5b5f61272f868287016126f7565b9350506020612740868287016126f7565b9250506040612751868287016126f7565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6127b5602683611d93565b91506127c08261275b565b604082019050919050565b5f6020820190508181035f8301526127e2816127a9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612843602483611d93565b915061284e826127e9565b604082019050919050565b5f6020820190508181035f83015261287081612837565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128d1602283611d93565b91506128dc82612877565b604082019050919050565b5f6020820190508181035f8301526128fe816128c5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612939602083611d93565b915061294482612905565b602082019050919050565b5f6020820190508181035f8301526129668161292d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6129a1601d83611d93565b91506129ac8261296d565b602082019050919050565b5f6020820190508181035f8301526129ce81612995565b9050919050565b7f4d4158205458204c494d495400000000000000000000000000000000000000005f82015250565b5f612a09600c83611d93565b9150612a14826129d5565b602082019050919050565b5f6020820190508181035f830152612a36816129fd565b9050919050565b5f612a4782611e19565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a7957612a786122be565b5b600182019050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f612ab8602083611d93565b9150612ac382612a84565b602082019050919050565b5f6020820190508181035f830152612ae581612aac565b9050919050565b5f612af682611e19565b9150612b0183611e19565b9250828203905081811115612b1957612b186122be565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b7e81611e71565b82525050565b5f612b8f8383612b75565b60208301905092915050565b5f602082019050919050565b5f612bb182612b4c565b612bbb8185612b56565b9350612bc683612b66565b805f5b83811015612bf6578151612bdd8882612b84565b9750612be883612b9b565b925050600181019050612bc9565b5085935050505092915050565b5f60a082019050612c165f830188611e22565b612c236020830187612689565b8181036040830152612c358186612ba7565b9050612c446060830185611fcb565b612c516080830184611e22565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cb5602583611d93565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d43602383611d93565b9150612d4e82612ce9565b604082019050919050565b5f6020820190508181035f830152612d7081612d37565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612dd1602683611d93565b9150612ddc82612d77565b604082019050919050565b5f6020820190508181035f830152612dfe81612dc5565b905091905056fea26469706673582212200bea00f9ffe3df3e7af2ea2161311ea31381eaa38da264499d56ff2a7f5a1b5e64736f6c634300081a00330000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f840000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f84

Deployed Bytecode

0x6080604052600436106101db575f3560e01c806395d89b4111610101578063c8c8ebe411610094578063da81a85a11610063578063da81a85a14610676578063db05e5cb1461068c578063dd62ed3e146106a2578063f2fde38b146106de576101e2565b8063c8c8ebe4146105f8578063c9567bf914610622578063d579d4ed14610638578063d7acde1f1461064e576101e2565b8063a9e282b8116100d0578063a9e282b814610544578063aca2cd6e1461056c578063ad5dff7314610594578063bc337182146105d0576101e2565b806395d89b4114610478578063a457c2d7146104a2578063a508de62146104de578063a9059cbb14610508576101e2565b8063395093511161017957806370a082311161014857806370a08231146103d4578063715018a6146104105780637fbbe46f146104265780638da5cb5b1461044e576101e2565b8063395093511461031c57806349bd5a5e146103585780634b203e1b14610382578063667f6526146103ac576101e2565b806318160ddd116101b557806318160ddd14610276578063184619d3146102a057806323b872dd146102b6578063313ce567146102f2576101e2565b806306fdde03146101e6578063084cf61514610210578063095ea7b31461023a576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa610706565b6040516102079190611df9565b60405180910390f35b34801561021b575f80fd5b50610224610796565b6040516102319190611e31565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b9190611ed6565b61079c565b60405161026d9190611f2e565b60405180910390f35b348015610281575f80fd5b5061028a6107be565b6040516102979190611e31565b60405180910390f35b3480156102ab575f80fd5b506102b46107c7565b005b3480156102c1575f80fd5b506102dc60048036038101906102d79190611f47565b6107eb565b6040516102e99190611f2e565b60405180910390f35b3480156102fd575f80fd5b50610306610819565b6040516103139190611fb2565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d9190611ed6565b610821565b60405161034f9190611f2e565b60405180910390f35b348015610363575f80fd5b5061036c610857565b6040516103799190611fda565b60405180910390f35b34801561038d575f80fd5b5061039661087c565b6040516103a39190611e31565b60405180910390f35b3480156103b7575f80fd5b506103d260048036038101906103cd9190611ff3565b6108a3565b005b3480156103df575f80fd5b506103fa60048036038101906103f59190612031565b6108d5565b6040516104079190611e31565b60405180910390f35b34801561041b575f80fd5b5061042461091a565b005b348015610431575f80fd5b5061044c60048036038101906104479190612112565b61092d565b005b348015610459575f80fd5b506104626109b2565b60405161046f9190611fda565b60405180910390f35b348015610483575f80fd5b5061048c6109da565b6040516104999190611df9565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c39190611ed6565b610a6a565b6040516104d59190611f2e565b60405180910390f35b3480156104e9575f80fd5b506104f2610adf565b6040516104ff9190611e31565b60405180910390f35b348015610513575f80fd5b5061052e60048036038101906105299190611ed6565b610b06565b60405161053b9190611f2e565b60405180910390f35b34801561054f575f80fd5b5061056a60048036038101906105659190612190565b610b28565b005b348015610577575f80fd5b50610592600480360381019061058d91906121e5565b610b84565b005b34801561059f575f80fd5b506105ba60048036038101906105b59190612031565b610be4565b6040516105c79190611f2e565b60405180910390f35b3480156105db575f80fd5b506105f660048036038101906105f19190612190565b610c01565b005b348015610603575f80fd5b5061060c610c31565b6040516106199190611e31565b60405180910390f35b34801561062d575f80fd5b50610636610c37565b005b348015610643575f80fd5b5061064c610f2a565b005b348015610659575f80fd5b50610674600480360381019061066f9190612190565b610f90565b005b348015610681575f80fd5b5061068a610fec565b005b348015610697575f80fd5b506106a0611043565b005b3480156106ad575f80fd5b506106c860048036038101906106c39190612223565b61105b565b6040516106d59190611e31565b60405180910390f35b3480156106e9575f80fd5b5061070460048036038101906106ff9190612031565b6110dd565b005b6060600380546107159061228e565b80601f01602080910402602001604051908101604052809291908181526020018280546107419061228e565b801561078c5780601f106107635761010080835404028352916020019161078c565b820191905f5260205f20905b81548152906001019060200180831161076f57829003601f168201915b5050505050905090565b600c5481565b5f806107a661115f565b90506107b3818585611166565b600191505092915050565b5f600254905090565b6107cf611329565b5f600d60016101000a81548160ff021916908315150217905550565b5f806107f561115f565b90506108028582856113a7565b61080d858585611432565b60019150509392505050565b5f6012905090565b5f8061082b61115f565b905061084c81858561083d858961105b565b61084791906122eb565b611166565b600191505092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610885610819565b600a610891919061244d565b60115461089e91906124c4565b905090565b6108ab611329565b6014821080156108bb5750601481105b6108c3575f80fd5b80600781905550816006819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610922611329565b61092b5f6117af565b565b610935611329565b818190508484905014610946575f80fd5b5f5b848490508110156109ab5761099e3386868481811061096a576109696124f4565b5b905060200201602081019061097f9190612031565b858585818110610992576109916124f4565b5b90506020020135611432565b8080600101915050610948565b5050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109e99061228e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a159061228e565b8015610a605780601f10610a3757610100808354040283529160200191610a60565b820191905f5260205f20905b815481529060010190602001808311610a4357829003601f168201915b5050505050905090565b5f80610a7461115f565b90505f610a81828661105b565b905083811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90612591565b60405180910390fd5b610ad38286868403611166565b60019250505092915050565b5f610ae8610819565b600a610af4919061244d565b601254610b0191906124c4565b905090565b5f80610b1061115f565b9050610b1d818585611432565b600191505092915050565b610b30611329565b6969e10de76676d0800000811115610b46575f80fd5b690a968163f0a57b400000811015610b5c575f80fd5b610b64610819565b600a610b70919061244d565b81610b7b91906125af565b60118190555050565b610b8c611329565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b610c09611329565b610c11610819565b600a610c1d919061244d565b81610c2891906125af565b600b8190555050565b600b5481565b610c3f611329565b5f6a39e7139a8c08fa060000009050610c823060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c7d306108d5565b611166565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d109190612604565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dba9190612604565b6040518363ffffffff1660e01b8152600401610dd792919061262f565b6020604051808303815f875af1158015610df3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e179190612604565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f80610ea06109b2565b426040518863ffffffff1660e01b8152600401610ec296959493929190612698565b60606040518083038185885af1158015610ede573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f03919061270b565b5050506001600d5f6101000a81548160ff02191690831515021790555043600e8190555050565b7f0000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f8473ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610f8d573d5f803e3d5ffd5b50565b610f98611329565b6969e10de76676d0800000811115610fae575f80fd5b690a968163f0a57b400000811015610fc4575f80fd5b610fcc610819565b600a610fd8919061244d565b81610fe391906125af565b60128190555050565b610ff4611329565b60145f9054906101000a900460ff1615611026575f60145f6101000a81548160ff021916908315150217905550611041565b600160145f6101000a81548160ff0219169083151502179055505b565b61104b611329565b6110536107be565b600b81905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6110e5611329565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906127cb565b60405180910390fd5b61115c816117af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90612859565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906128e7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161131c9190611e31565b60405180910390a3505050565b61133161115f565b73ffffffffffffffffffffffffffffffffffffffff1661134f6109b2565b73ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c9061294f565b60405180910390fd5b565b5f6113b2848461105b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461142c578181101561141e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611415906129b7565b60405180910390fd5b61142b8484848403611166565b5b50505050565b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114d05750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561179e57600d5f9054906101000a900460ff166114ec575f80fd5b5f600d60019054906101000a900460ff16801561150b575043600e5414155b1561155a57600c54821115611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612a1f565b60405180910390fd5b6115a0565b600b5482111561159f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159690612a1f565b60405180910390fd5b5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116875760075490505f611603306108d5565b905060115481118015611622575060145f9054906101000a900460ff16155b1561168157600f54431115611639575f6010819055505b600360105410156116805760105f81548092919061165690612a3d565b919050555043600f8190555061167f61167a6012546116758685611872565b611872565b61188a565b5b5b5061174d565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361174c576006549050600e54430361174b5760135f8154809291906116fb90612a3d565b919050555060149050600f601354111561174a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174190612ace565b60405180910390fd5b5b5b5b5f6064828461175c91906125af565b61176691906124c4565b90505f81846117759190612aec565b90505f82111561178b5761178a863084611b13565b5b611796868683611b13565b5050506117aa565b6117a9838383611b13565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183116118805782611882565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055506118d03060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611166565b5f600267ffffffffffffffff8111156118ec576118eb612b1f565b5b60405190808252806020026020018201604052801561191a5781602001602082028036833780820191505090505b50905030815f81518110611931576119306124f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f99190612604565b81600181518110611a0d57611a0c6124f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f847f0000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f84426040518663ffffffff1660e01b8152600401611ac9959493929190612c03565b5f604051808303815f87803b158015611ae0575f80fd5b505af1158015611af2573d5f803e3d5ffd5b50505050505f60145f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890612ccb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be690612d59565b60405180910390fd5b611bfa838383611d7f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7490612de7565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d669190611e31565b60405180910390a3611d79848484611d84565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611dcb82611d89565b611dd58185611d93565b9350611de5818560208601611da3565b611dee81611db1565b840191505092915050565b5f6020820190508181035f830152611e118184611dc1565b905092915050565b5f819050919050565b611e2b81611e19565b82525050565b5f602082019050611e445f830184611e22565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e7b82611e52565b9050919050565b611e8b81611e71565b8114611e95575f80fd5b50565b5f81359050611ea681611e82565b92915050565b611eb581611e19565b8114611ebf575f80fd5b50565b5f81359050611ed081611eac565b92915050565b5f8060408385031215611eec57611eeb611e4a565b5b5f611ef985828601611e98565b9250506020611f0a85828601611ec2565b9150509250929050565b5f8115159050919050565b611f2881611f14565b82525050565b5f602082019050611f415f830184611f1f565b92915050565b5f805f60608486031215611f5e57611f5d611e4a565b5b5f611f6b86828701611e98565b9350506020611f7c86828701611e98565b9250506040611f8d86828701611ec2565b9150509250925092565b5f60ff82169050919050565b611fac81611f97565b82525050565b5f602082019050611fc55f830184611fa3565b92915050565b611fd481611e71565b82525050565b5f602082019050611fed5f830184611fcb565b92915050565b5f806040838503121561200957612008611e4a565b5b5f61201685828601611ec2565b925050602061202785828601611ec2565b9150509250929050565b5f6020828403121561204657612045611e4a565b5b5f61205384828501611e98565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261207d5761207c61205c565b5b8235905067ffffffffffffffff81111561209a57612099612060565b5b6020830191508360208202830111156120b6576120b5612064565b5b9250929050565b5f8083601f8401126120d2576120d161205c565b5b8235905067ffffffffffffffff8111156120ef576120ee612060565b5b60208301915083602082028301111561210b5761210a612064565b5b9250929050565b5f805f806040858703121561212a57612129611e4a565b5b5f85013567ffffffffffffffff81111561214757612146611e4e565b5b61215387828801612068565b9450945050602085013567ffffffffffffffff81111561217657612175611e4e565b5b612182878288016120bd565b925092505092959194509250565b5f602082840312156121a5576121a4611e4a565b5b5f6121b284828501611ec2565b91505092915050565b6121c481611f14565b81146121ce575f80fd5b50565b5f813590506121df816121bb565b92915050565b5f80604083850312156121fb576121fa611e4a565b5b5f61220885828601611e98565b9250506020612219858286016121d1565b9150509250929050565b5f806040838503121561223957612238611e4a565b5b5f61224685828601611e98565b925050602061225785828601611e98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806122a557607f821691505b6020821081036122b8576122b7612261565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6122f582611e19565b915061230083611e19565b9250828201905080821115612318576123176122be565b5b92915050565b5f8160011c9050919050565b5f808291508390505b60018511156123735780860481111561234f5761234e6122be565b5b600185161561235e5780820291505b808102905061236c8561231e565b9450612333565b94509492505050565b5f8261238b5760019050612446565b81612398575f9050612446565b81600181146123ae57600281146123b8576123e7565b6001915050612446565b60ff8411156123ca576123c96122be565b5b8360020a9150848211156123e1576123e06122be565b5b50612446565b5060208310610133831016604e8410600b841016171561241c5782820a905083811115612417576124166122be565b5b612446565b612429848484600161232a565b925090508184048111156124405761243f6122be565b5b81810290505b9392505050565b5f61245782611e19565b915061246283611f97565b925061248f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461237c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ce82611e19565b91506124d983611e19565b9250826124e9576124e8612497565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61257b602583611d93565b915061258682612521565b604082019050919050565b5f6020820190508181035f8301526125a88161256f565b9050919050565b5f6125b982611e19565b91506125c483611e19565b92508282026125d281611e19565b915082820484148315176125e9576125e86122be565b5b5092915050565b5f815190506125fe81611e82565b92915050565b5f6020828403121561261957612618611e4a565b5b5f612626848285016125f0565b91505092915050565b5f6040820190506126425f830185611fcb565b61264f6020830184611fcb565b9392505050565b5f819050919050565b5f819050919050565b5f61268261267d61267884612656565b61265f565b611e19565b9050919050565b61269281612668565b82525050565b5f60c0820190506126ab5f830189611fcb565b6126b86020830188611e22565b6126c56040830187612689565b6126d26060830186612689565b6126df6080830185611fcb565b6126ec60a0830184611e22565b979650505050505050565b5f8151905061270581611eac565b92915050565b5f805f6060848603121561272257612721611e4a565b5b5f61272f868287016126f7565b9350506020612740868287016126f7565b9250506040612751868287016126f7565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6127b5602683611d93565b91506127c08261275b565b604082019050919050565b5f6020820190508181035f8301526127e2816127a9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612843602483611d93565b915061284e826127e9565b604082019050919050565b5f6020820190508181035f83015261287081612837565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128d1602283611d93565b91506128dc82612877565b604082019050919050565b5f6020820190508181035f8301526128fe816128c5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612939602083611d93565b915061294482612905565b602082019050919050565b5f6020820190508181035f8301526129668161292d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6129a1601d83611d93565b91506129ac8261296d565b602082019050919050565b5f6020820190508181035f8301526129ce81612995565b9050919050565b7f4d4158205458204c494d495400000000000000000000000000000000000000005f82015250565b5f612a09600c83611d93565b9150612a14826129d5565b602082019050919050565b5f6020820190508181035f830152612a36816129fd565b9050919050565b5f612a4782611e19565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a7957612a786122be565b5b600182019050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f612ab8602083611d93565b9150612ac382612a84565b602082019050919050565b5f6020820190508181035f830152612ae581612aac565b9050919050565b5f612af682611e19565b9150612b0183611e19565b9250828203905081811115612b1957612b186122be565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b7e81611e71565b82525050565b5f612b8f8383612b75565b60208301905092915050565b5f602082019050919050565b5f612bb182612b4c565b612bbb8185612b56565b9350612bc683612b66565b805f5b83811015612bf6578151612bdd8882612b84565b9750612be883612b9b565b925050600181019050612bc9565b5085935050505092915050565b5f60a082019050612c165f830188611e22565b612c236020830187612689565b8181036040830152612c358186612ba7565b9050612c446060830185611fcb565b612c516080830184611e22565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cb5602583611d93565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d43602383611d93565b9150612d4e82612ce9565b604082019050919050565b5f6020820190508181035f830152612d7081612d37565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612dd1602683611d93565b9150612ddc82612d77565b604082019050919050565b5f6020820190508181035f830152612dfe81612dc5565b905091905056fea26469706673582212200bea00f9ffe3df3e7af2ea2161311ea31381eaa38da264499d56ff2a7f5a1b5e64736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f840000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f84

-----Decoded View---------------
Arg [0] : _taxAddress (address): 0x7A3CcEE5dE22193765E4EA5b6aC2610F4a1b8F84
Arg [1] : _marketingAddress (address): 0x7A3CcEE5dE22193765E4EA5b6aC2610F4a1b8F84

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f84
Arg [1] : 0000000000000000000000007a3ccee5de22193765e4ea5b6ac2610f4a1b8f84


Deployed Bytecode Sourcemap

8969:6963:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1828:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9358:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2812:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2143:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12571:88;;;;;;;;;;;;;:::i;:::-;;3044:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2044:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3345:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9138:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11448:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15184:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2257:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7597:103;;;;;;;;;;;;;:::i;:::-;;11562:319;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7366:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1934:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3614:498;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12667:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2406:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12147:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15742:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9173:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15387:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9316:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10665:775;;;;;;;;;;;;;:::i;:::-;;15628:106;;;;;;;;;;;;;:::i;:::-;;11889:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12403:160;;;;;;;;;;;;;:::i;:::-;;15519:101;;;;;;;;;;;;;:::i;:::-;;2630:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7706:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1828:100;1882:13;1915:5;1908:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1828:100;:::o;9358:26::-;;;;:::o;2812:226::-;2920:4;2937:13;2953:12;:10;:12::i;:::-;2937:28;;2976:32;2985:5;2992:7;3001:6;2976:8;:32::i;:::-;3026:4;3019:11;;;2812:226;;;;:::o;2143:108::-;2204:7;2231:12;;2224:19;;2143:108;:::o;12571:88::-;7327:13;:11;:13::i;:::-;12646:5:::1;12633:10;;:18;;;;;;;;;;;;;;;;;;12571:88::o:0;3044:295::-;3175:4;3192:15;3210:12;:10;:12::i;:::-;3192:30;;3233:38;3249:4;3255:7;3264:6;3233:15;:38::i;:::-;3282:27;3292:4;3298:2;3302:6;3282:9;:27::i;:::-;3327:4;3320:11;;;3044:295;;;;;:::o;2044:93::-;2102:5;2127:2;2120:9;;2044:93;:::o;3345:263::-;3458:4;3475:13;3491:12;:10;:12::i;:::-;3475:28;;3514:64;3523:5;3530:7;3567:10;3539:25;3549:5;3556:7;3539:9;:25::i;:::-;:38;;;;:::i;:::-;3514:8;:64::i;:::-;3596:4;3589:11;;;3345:263;;;;:::o;9138:28::-;;;;;;;;;;;;;:::o;11448:106::-;11493:7;11536:10;:8;:10::i;:::-;11530:2;:16;;;;:::i;:::-;11520:7;;:26;;;;:::i;:::-;11513:33;;11448:106;:::o;15184:195::-;7327:13;:11;:13::i;:::-;15289:2:::1;15277:9;:14;:33;;;;;15308:2;15295:10;:15;15277:33;15269:42;;;::::0;::::1;;15332:10;15322:7;:20;;;;15362:9;15353:6;:18;;;;15184:195:::0;;:::o;2257:143::-;2347:7;2374:9;:18;2384:7;2374:18;;;;;;;;;;;;;;;;2367:25;;2257:143;;;:::o;7597:103::-;7327:13;:11;:13::i;:::-;7662:30:::1;7689:1;7662:18;:30::i;:::-;7597:103::o:0;11562:319::-;7327:13;:11;:13::i;:::-;11725:7:::1;;:14;;11704:10;;:17;;:35;11696:44;;;::::0;::::1;;11756:9;11751:123;11775:10;;:17;;11771:1;:21;11751:123;;;11814:48;11824:10;11836;;11847:1;11836:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11851:7;;11859:1;11851:10;;;;;;;:::i;:::-;;;;;;;;11814:9;:48::i;:::-;11794:3;;;;;;;11751:123;;;;11562:319:::0;;;;:::o;7366:87::-;7412:7;7439:6;;;;;;;;;;;7432:13;;7366:87;:::o;1934:104::-;1990:13;2023:7;2016:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1934:104;:::o;3614:498::-;3732:4;3749:13;3765:12;:10;:12::i;:::-;3749:28;;3788:24;3815:25;3825:5;3832:7;3815:9;:25::i;:::-;3788:52;;3893:15;3873:16;:35;;3851:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4009:60;4018:5;4025:7;4053:15;4034:16;:34;4009:8;:60::i;:::-;4100:4;4093:11;;;;3614:498;;;;:::o;12667:106::-;12712:7;12755:10;:8;:10::i;:::-;12749:2;:16;;;;:::i;:::-;12739:7;;:26;;;;:::i;:::-;12732:33;;12667:106;:::o;2406:218::-;2510:4;2527:13;2543:12;:10;:12::i;:::-;2527:28;;2566;2576:5;2583:2;2587:6;2566:9;:28::i;:::-;2612:4;2605:11;;;2406:218;;;;:::o;12147:248::-;7327:13;:11;:13::i;:::-;12236:33:::1;12223:8;:47;;12215:56;;;::::0;::::1;;12303:34;12290:8;:48;;12282:57;;;::::0;::::1;;12377:10;:8;:10::i;:::-;12371:2;:16;;;;:::i;:::-;12360:8;:27;;;;:::i;:::-;12350:7;:37;;;;12147:248:::0;:::o;15742:150::-;7327:13;:11;:13::i;:::-;15877:7:::1;15856:8;:18;15865:8;15856:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;15742:150:::0;;:::o;9173:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;15387:124::-;7327:13;:11;:13::i;:::-;15493:10:::1;:8;:10::i;:::-;15487:2;:16;;;;:::i;:::-;15476:8;:27;;;;:::i;:::-;15453:20;:50;;;;15387:124:::0;:::o;9316:35::-;;;;:::o;10665:775::-;7327:13;:11;:13::i;:::-;10742:17:::1;10762:35;10742:55;;10810:125;10841:4;10869:15;;;;;;;;;;;10900:24;10918:4;10900:9;:24::i;:::-;10810:8;:125::i;:::-;11004:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10986:55;;;11068:4;11092:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10986:143;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10948:13;;:192;;;;;;;;;;;;;;;;;;11161:15;;;;;;;;;;;:31;;;11200:21;11245:4;11265:9;11289:1;11305::::0;11321:7:::1;:5;:7::i;:::-;11343:15;11161:208;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11391:4;11382:6;;:13;;;;;;;;;;;;;;;;;;11420:12;11406:11;:26;;;;10707:733;10665:775::o:0;15628:106::-;15677:16;15669:34;;:57;15704:21;15669:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15628:106::o;11889:250::-;7327:13;:11;:13::i;:::-;11980:33:::1;11967:8;:47;;11959:56;;;::::0;::::1;;12047:34;12034:8;:48;;12026:57;;;::::0;::::1;;12121:10;:8;:10::i;:::-;12115:2;:16;;;;:::i;:::-;12104:8;:27;;;;:::i;:::-;12094:7;:37;;;;11889:250:::0;:::o;12403:160::-;7327:13;:11;:13::i;:::-;12461:6:::1;;;;;;;;;;;12457:99;;;12493:5;12484:6;;:14;;;;;;;;;;;;;;;;;;12457:99;;;12540:4;12531:6;;:13;;;;;;;;;;;;;;;;;;12457:99;12403:160::o:0;15519:101::-;7327:13;:11;:13::i;:::-;15599::::1;:11;:13::i;:::-;15576:20;:36;;;;15519:101::o:0;2630:176::-;2744:7;2771:11;:18;2783:5;2771:18;;;;;;;;;;;;;;;:27;2790:7;2771:27;;;;;;;;;;;;;;;;2764:34;;2630:176;;;;:::o;7706:238::-;7327:13;:11;:13::i;:::-;7829:1:::1;7809:22;;:8;:22;;::::0;7787:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7908:28;7927:8;7908:18;:28::i;:::-;7706:238:::0;:::o;1212:98::-;1265:7;1292:10;1285:17;;1212:98;:::o;5878:380::-;6031:1;6014:19;;:5;:19;;;6006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6112:1;6093:21;;:7;:21;;;6085:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6196:6;6166:11;:18;6178:5;6166:18;;;;;;;;;;;;;;;:27;6185:7;6166:27;;;;;;;;;;;;;;;:36;;;;6234:7;6218:32;;6227:5;6218:32;;;6243:6;6218:32;;;;;;:::i;:::-;;;;;;;;5878:380;;;:::o;7459:132::-;7534:12;:10;:12::i;:::-;7523:23;;:7;:5;:7::i;:::-;:23;;;7515:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7459:132::o;6264:502::-;6399:24;6426:25;6436:5;6443:7;6426:9;:25::i;:::-;6399:52;;6486:17;6466:16;:37;6462:297;;6566:6;6546:16;:26;;6520:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;6681:51;6690:5;6697:7;6725:6;6706:16;:25;6681:8;:51::i;:::-;6462:297;6388:378;6264:502;;;:::o;13269:1792::-;13405:8;:14;13414:4;13405:14;;;;;;;;;;;;;;;;;;;;;;;;;13404:15;:32;;;;;13424:8;:12;13433:2;13424:12;;;;;;;;;;;;;;;;;;;;;;;;;13423:13;13404:32;13400:1611;;;13461:6;;;;;;;;;;;13453:15;;;;;;13483:11;13519:10;;;;;;;;;;;:41;;;;;13548:12;13533:11;;:27;;13519:41;13515:222;;;13598:11;;13589:5;:20;;13581:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13515:222;;;13684:20;;13675:5;:29;;13667:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;13515:222;13763:13;;;;;;;;;;;13757:19;;:2;:19;;;13753:940;;13803:7;;13797:13;;13829:18;13850:24;13868:4;13850:9;:24::i;:::-;13829:45;;13910:7;;13897:10;:20;:31;;;;;13922:6;;;;;;;;;;;13921:7;13897:31;13893:413;;;13972:13;;13957:12;:28;13953:98;;;14026:1;14014:9;:13;;;;13953:98;14089:1;14077:9;;:13;14073:214;;;14119:9;;:11;;;;;;;;;:::i;:::-;;;;;;14173:12;14157:13;:28;;;;14212:51;14226:36;14230:7;;14239:22;14243:5;14250:10;14239:3;:22::i;:::-;14226:3;:36::i;:::-;14212:13;:51::i;:::-;14073:214;13893:413;13778:543;13753:940;;;14339:13;;;;;;;;;;;14331:21;;:4;:21;;;14327:366;;14379:6;;14373:12;;14424:11;;14408:12;:27;14404:274;;14460:9;;:11;;;;;;;;;:::i;:::-;;;;;;14500:2;14494:8;;14572:2;14559:9;;:15;;14525:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;14404:274;14327:366;13753:940;14709:17;14745:3;14738;14730:5;:11;;;;:::i;:::-;14729:19;;;;:::i;:::-;14709:39;;14763:22;14796:9;14788:5;:17;;;;:::i;:::-;14763:42;;14838:1;14826:9;:13;14822:101;;;14860:47;14876:4;14890;14897:9;14860:15;:47::i;:::-;14822:101;14937:41;14953:4;14959:2;14963:14;14937:15;:41::i;:::-;14993:7;;;;;13400:1611;15021:32;15037:4;15043:2;15047:5;15021:15;:32::i;:::-;13269:1792;;;;:::o;7950:191::-;8024:16;8043:6;;;;;;;;;;;8024:25;;8069:8;8060:6;;:17;;;;;;;;;;;;;;;;;;8124:8;8093:40;;8114:8;8093:40;;;;;;;;;;;;8013:128;7950:191;:::o;15069:107::-;15126:7;15158:1;15154;:5;15153:15;;15167:1;15153:15;;;15163:1;15153:15;15146:22;;15069:107;;;;:::o;12781:480::-;9729:4;9720:6;;:13;;;;;;;;;;;;;;;;;;12857:62:::1;12874:4;12889:15;;;;;;;;;;;12907:11;12857:8;:62::i;:::-;12932:21;12970:1;12956:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12932:40;;13001:4;12983;12988:1;12983:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13027:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13017:4;13022:1;13017:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13060:15;;;;;;;;;;;:66;;;13141:11;13167:1;13183:4;13202:10;13227:15;13060:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12846:415;9765:5:::0;9756:6;;:14;;;;;;;;;;;;;;;;;;12781:480;:::o;4118:712::-;4265:1;4249:18;;:4;:18;;;4241:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4342:1;4328:16;;:2;:16;;;4320:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4397:38;4418:4;4424:2;4428:6;4397:20;:38::i;:::-;4448:19;4470:9;:15;4480:4;4470:15;;;;;;;;;;;;;;;;4448:37;;4533:6;4518:11;:21;;4496:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;4673:6;4659:11;:20;4641:9;:15;4651:4;4641:15;;;;;;;;;;;;;;;:38;;;;4711:6;4694:9;:13;4704:2;4694:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;4761:2;4746:26;;4755:4;4746:26;;;4765:6;4746:26;;;;;;:::i;:::-;;;;;;;;4785:37;4805:4;4811:2;4815:6;4785:19;:37::i;:::-;4230:600;4118:712;;;:::o;6772:125::-;;;;:::o;6903:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:77::-;1279:7;1308:5;1297:16;;1242:77;;;:::o;1325:118::-;1412:24;1430:5;1412:24;:::i;:::-;1407:3;1400:37;1325:118;;:::o;1449:222::-;1542:4;1580:2;1569:9;1565:18;1557:26;;1593:71;1661:1;1650:9;1646:17;1637:6;1593:71;:::i;:::-;1449:222;;;;:::o;1758:117::-;1867:1;1864;1857:12;1881:117;1990:1;1987;1980:12;2004:126;2041:7;2081:42;2074:5;2070:54;2059:65;;2004:126;;;:::o;2136:96::-;2173:7;2202:24;2220:5;2202:24;:::i;:::-;2191:35;;2136:96;;;:::o;2238:122::-;2311:24;2329:5;2311:24;:::i;:::-;2304:5;2301:35;2291:63;;2350:1;2347;2340:12;2291:63;2238:122;:::o;2366:139::-;2412:5;2450:6;2437:20;2428:29;;2466:33;2493:5;2466:33;:::i;:::-;2366:139;;;;:::o;2511:122::-;2584:24;2602:5;2584:24;:::i;:::-;2577:5;2574:35;2564:63;;2623:1;2620;2613:12;2564:63;2511:122;:::o;2639:139::-;2685:5;2723:6;2710:20;2701:29;;2739:33;2766:5;2739:33;:::i;:::-;2639:139;;;;:::o;2784:474::-;2852:6;2860;2909:2;2897:9;2888:7;2884:23;2880:32;2877:119;;;2915:79;;:::i;:::-;2877:119;3035:1;3060:53;3105:7;3096:6;3085:9;3081:22;3060:53;:::i;:::-;3050:63;;3006:117;3162:2;3188:53;3233:7;3224:6;3213:9;3209:22;3188:53;:::i;:::-;3178:63;;3133:118;2784:474;;;;;:::o;3264:90::-;3298:7;3341:5;3334:13;3327:21;3316:32;;3264:90;;;:::o;3360:109::-;3441:21;3456:5;3441:21;:::i;:::-;3436:3;3429:34;3360:109;;:::o;3475:210::-;3562:4;3600:2;3589:9;3585:18;3577:26;;3613:65;3675:1;3664:9;3660:17;3651:6;3613:65;:::i;:::-;3475:210;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:118::-;4833:24;4851:5;4833:24;:::i;:::-;4828:3;4821:37;4746:118;;:::o;4870:222::-;4963:4;5001:2;4990:9;4986:18;4978:26;;5014:71;5082:1;5071:9;5067:17;5058:6;5014:71;:::i;:::-;4870:222;;;;:::o;5098:474::-;5166:6;5174;5223:2;5211:9;5202:7;5198:23;5194:32;5191:119;;;5229:79;;:::i;:::-;5191:119;5349:1;5374:53;5419:7;5410:6;5399:9;5395:22;5374:53;:::i;:::-;5364:63;;5320:117;5476:2;5502:53;5547:7;5538:6;5527:9;5523:22;5502:53;:::i;:::-;5492:63;;5447:118;5098:474;;;;;:::o;5578:329::-;5637:6;5686:2;5674:9;5665:7;5661:23;5657:32;5654:119;;;5692:79;;:::i;:::-;5654:119;5812:1;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5783:117;5578:329;;;;:::o;5913:117::-;6022:1;6019;6012:12;6036:117;6145:1;6142;6135:12;6159:117;6268:1;6265;6258:12;6299:568;6372:8;6382:6;6432:3;6425:4;6417:6;6413:17;6409:27;6399:122;;6440:79;;:::i;:::-;6399:122;6553:6;6540:20;6530:30;;6583:18;6575:6;6572:30;6569:117;;;6605:79;;:::i;:::-;6569:117;6719:4;6711:6;6707:17;6695:29;;6773:3;6765:4;6757:6;6753:17;6743:8;6739:32;6736:41;6733:128;;;6780:79;;:::i;:::-;6733:128;6299:568;;;;;:::o;6890:::-;6963:8;6973:6;7023:3;7016:4;7008:6;7004:17;7000:27;6990:122;;7031:79;;:::i;:::-;6990:122;7144:6;7131:20;7121:30;;7174:18;7166:6;7163:30;7160:117;;;7196:79;;:::i;:::-;7160:117;7310:4;7302:6;7298:17;7286:29;;7364:3;7356:4;7348:6;7344:17;7334:8;7330:32;7327:41;7324:128;;;7371:79;;:::i;:::-;7324:128;6890:568;;;;;:::o;7464:934::-;7586:6;7594;7602;7610;7659:2;7647:9;7638:7;7634:23;7630:32;7627:119;;;7665:79;;:::i;:::-;7627:119;7813:1;7802:9;7798:17;7785:31;7843:18;7835:6;7832:30;7829:117;;;7865:79;;:::i;:::-;7829:117;7978:80;8050:7;8041:6;8030:9;8026:22;7978:80;:::i;:::-;7960:98;;;;7756:312;8135:2;8124:9;8120:18;8107:32;8166:18;8158:6;8155:30;8152:117;;;8188:79;;:::i;:::-;8152:117;8301:80;8373:7;8364:6;8353:9;8349:22;8301:80;:::i;:::-;8283:98;;;;8078:313;7464:934;;;;;;;:::o;8404:329::-;8463:6;8512:2;8500:9;8491:7;8487:23;8483:32;8480:119;;;8518:79;;:::i;:::-;8480:119;8638:1;8663:53;8708:7;8699:6;8688:9;8684:22;8663:53;:::i;:::-;8653:63;;8609:117;8404:329;;;;:::o;8739:116::-;8809:21;8824:5;8809:21;:::i;:::-;8802:5;8799:32;8789:60;;8845:1;8842;8835:12;8789:60;8739:116;:::o;8861:133::-;8904:5;8942:6;8929:20;8920:29;;8958:30;8982:5;8958:30;:::i;:::-;8861:133;;;;:::o;9000:468::-;9065:6;9073;9122:2;9110:9;9101:7;9097:23;9093:32;9090:119;;;9128:79;;:::i;:::-;9090:119;9248:1;9273:53;9318:7;9309:6;9298:9;9294:22;9273:53;:::i;:::-;9263:63;;9219:117;9375:2;9401:50;9443:7;9434:6;9423:9;9419:22;9401:50;:::i;:::-;9391:60;;9346:115;9000:468;;;;;:::o;9474:474::-;9542:6;9550;9599:2;9587:9;9578:7;9574:23;9570:32;9567:119;;;9605:79;;:::i;:::-;9567:119;9725:1;9750:53;9795:7;9786:6;9775:9;9771:22;9750:53;:::i;:::-;9740:63;;9696:117;9852:2;9878:53;9923:7;9914:6;9903:9;9899:22;9878:53;:::i;:::-;9868:63;;9823:118;9474:474;;;;;:::o;9954:180::-;10002:77;9999:1;9992:88;10099:4;10096:1;10089:15;10123:4;10120:1;10113:15;10140:320;10184:6;10221:1;10215:4;10211:12;10201:22;;10268:1;10262:4;10258:12;10289:18;10279:81;;10345:4;10337:6;10333:17;10323:27;;10279:81;10407:2;10399:6;10396:14;10376:18;10373:38;10370:84;;10426:18;;:::i;:::-;10370:84;10191:269;10140:320;;;:::o;10466:180::-;10514:77;10511:1;10504:88;10611:4;10608:1;10601:15;10635:4;10632:1;10625:15;10652:191;10692:3;10711:20;10729:1;10711:20;:::i;:::-;10706:25;;10745:20;10763:1;10745:20;:::i;:::-;10740:25;;10788:1;10785;10781:9;10774:16;;10809:3;10806:1;10803:10;10800:36;;;10816:18;;:::i;:::-;10800:36;10652:191;;;;:::o;10849:102::-;10891:8;10938:5;10935:1;10931:13;10910:34;;10849:102;;;:::o;10957:848::-;11018:5;11025:4;11049:6;11040:15;;11073:5;11064:14;;11087:712;11108:1;11098:8;11095:15;11087:712;;;11203:4;11198:3;11194:14;11188:4;11185:24;11182:50;;;11212:18;;:::i;:::-;11182:50;11262:1;11252:8;11248:16;11245:451;;;11677:4;11670:5;11666:16;11657:25;;11245:451;11727:4;11721;11717:15;11709:23;;11757:32;11780:8;11757:32;:::i;:::-;11745:44;;11087:712;;;10957:848;;;;;;;:::o;11811:1073::-;11865:5;12056:8;12046:40;;12077:1;12068:10;;12079:5;;12046:40;12105:4;12095:36;;12122:1;12113:10;;12124:5;;12095:36;12191:4;12239:1;12234:27;;;;12275:1;12270:191;;;;12184:277;;12234:27;12252:1;12243:10;;12254:5;;;12270:191;12315:3;12305:8;12302:17;12299:43;;;12322:18;;:::i;:::-;12299:43;12371:8;12368:1;12364:16;12355:25;;12406:3;12399:5;12396:14;12393:40;;;12413:18;;:::i;:::-;12393:40;12446:5;;;12184:277;;12570:2;12560:8;12557:16;12551:3;12545:4;12542:13;12538:36;12520:2;12510:8;12507:16;12502:2;12496:4;12493:12;12489:35;12473:111;12470:246;;;12626:8;12620:4;12616:19;12607:28;;12661:3;12654:5;12651:14;12648:40;;;12668:18;;:::i;:::-;12648:40;12701:5;;12470:246;12741:42;12779:3;12769:8;12763:4;12760:1;12741:42;:::i;:::-;12726:57;;;;12815:4;12810:3;12806:14;12799:5;12796:25;12793:51;;;12824:18;;:::i;:::-;12793:51;12873:4;12866:5;12862:16;12853:25;;11811:1073;;;;;;:::o;12890:281::-;12948:5;12972:23;12990:4;12972:23;:::i;:::-;12964:31;;13016:25;13032:8;13016:25;:::i;:::-;13004:37;;13060:104;13097:66;13087:8;13081:4;13060:104;:::i;:::-;13051:113;;12890:281;;;;:::o;13177:180::-;13225:77;13222:1;13215:88;13322:4;13319:1;13312:15;13346:4;13343:1;13336:15;13363:185;13403:1;13420:20;13438:1;13420:20;:::i;:::-;13415:25;;13454:20;13472:1;13454:20;:::i;:::-;13449:25;;13493:1;13483:35;;13498:18;;:::i;:::-;13483:35;13540:1;13537;13533:9;13528:14;;13363:185;;;;:::o;13554:180::-;13602:77;13599:1;13592:88;13699:4;13696:1;13689:15;13723:4;13720:1;13713:15;13740:224;13880:34;13876:1;13868:6;13864:14;13857:58;13949:7;13944:2;13936:6;13932:15;13925:32;13740:224;:::o;13970:366::-;14112:3;14133:67;14197:2;14192:3;14133:67;:::i;:::-;14126:74;;14209:93;14298:3;14209:93;:::i;:::-;14327:2;14322:3;14318:12;14311:19;;13970:366;;;:::o;14342:419::-;14508:4;14546:2;14535:9;14531:18;14523:26;;14595:9;14589:4;14585:20;14581:1;14570:9;14566:17;14559:47;14623:131;14749:4;14623:131;:::i;:::-;14615:139;;14342:419;;;:::o;14767:410::-;14807:7;14830:20;14848:1;14830:20;:::i;:::-;14825:25;;14864:20;14882:1;14864:20;:::i;:::-;14859:25;;14919:1;14916;14912:9;14941:30;14959:11;14941:30;:::i;:::-;14930:41;;15120:1;15111:7;15107:15;15104:1;15101:22;15081:1;15074:9;15054:83;15031:139;;15150:18;;:::i;:::-;15031:139;14815:362;14767:410;;;;:::o;15183:143::-;15240:5;15271:6;15265:13;15256:22;;15287:33;15314:5;15287:33;:::i;:::-;15183:143;;;;:::o;15332:351::-;15402:6;15451:2;15439:9;15430:7;15426:23;15422:32;15419:119;;;15457:79;;:::i;:::-;15419:119;15577:1;15602:64;15658:7;15649:6;15638:9;15634:22;15602:64;:::i;:::-;15592:74;;15548:128;15332:351;;;;:::o;15689:332::-;15810:4;15848:2;15837:9;15833:18;15825:26;;15861:71;15929:1;15918:9;15914:17;15905:6;15861:71;:::i;:::-;15942:72;16010:2;15999:9;15995:18;15986:6;15942:72;:::i;:::-;15689:332;;;;;:::o;16027:85::-;16072:7;16101:5;16090:16;;16027:85;;;:::o;16118:60::-;16146:3;16167:5;16160:12;;16118:60;;;:::o;16184:158::-;16242:9;16275:61;16293:42;16302:32;16328:5;16302:32;:::i;:::-;16293:42;:::i;:::-;16275:61;:::i;:::-;16262:74;;16184:158;;;:::o;16348:147::-;16443:45;16482:5;16443:45;:::i;:::-;16438:3;16431:58;16348:147;;:::o;16501:807::-;16750:4;16788:3;16777:9;16773:19;16765:27;;16802:71;16870:1;16859:9;16855:17;16846:6;16802:71;:::i;:::-;16883:72;16951:2;16940:9;16936:18;16927:6;16883:72;:::i;:::-;16965:80;17041:2;17030:9;17026:18;17017:6;16965:80;:::i;:::-;17055;17131:2;17120:9;17116:18;17107:6;17055:80;:::i;:::-;17145:73;17213:3;17202:9;17198:19;17189:6;17145:73;:::i;:::-;17228;17296:3;17285:9;17281:19;17272:6;17228:73;:::i;:::-;16501:807;;;;;;;;;:::o;17314:143::-;17371:5;17402:6;17396:13;17387:22;;17418:33;17445:5;17418:33;:::i;:::-;17314:143;;;;:::o;17463:663::-;17551:6;17559;17567;17616:2;17604:9;17595:7;17591:23;17587:32;17584:119;;;17622:79;;:::i;:::-;17584:119;17742:1;17767:64;17823:7;17814:6;17803:9;17799:22;17767:64;:::i;:::-;17757:74;;17713:128;17880:2;17906:64;17962:7;17953:6;17942:9;17938:22;17906:64;:::i;:::-;17896:74;;17851:129;18019:2;18045:64;18101:7;18092:6;18081:9;18077:22;18045:64;:::i;:::-;18035:74;;17990:129;17463:663;;;;;:::o;18132:225::-;18272:34;18268:1;18260:6;18256:14;18249:58;18341:8;18336:2;18328:6;18324:15;18317:33;18132:225;:::o;18363:366::-;18505:3;18526:67;18590:2;18585:3;18526:67;:::i;:::-;18519:74;;18602:93;18691:3;18602:93;:::i;:::-;18720:2;18715:3;18711:12;18704:19;;18363:366;;;:::o;18735:419::-;18901:4;18939:2;18928:9;18924:18;18916:26;;18988:9;18982:4;18978:20;18974:1;18963:9;18959:17;18952:47;19016:131;19142:4;19016:131;:::i;:::-;19008:139;;18735:419;;;:::o;19160:223::-;19300:34;19296:1;19288:6;19284:14;19277:58;19369:6;19364:2;19356:6;19352:15;19345:31;19160:223;:::o;19389:366::-;19531:3;19552:67;19616:2;19611:3;19552:67;:::i;:::-;19545:74;;19628:93;19717:3;19628:93;:::i;:::-;19746:2;19741:3;19737:12;19730:19;;19389:366;;;:::o;19761:419::-;19927:4;19965:2;19954:9;19950:18;19942:26;;20014:9;20008:4;20004:20;20000:1;19989:9;19985:17;19978:47;20042:131;20168:4;20042:131;:::i;:::-;20034:139;;19761:419;;;:::o;20186:221::-;20326:34;20322:1;20314:6;20310:14;20303:58;20395:4;20390:2;20382:6;20378:15;20371:29;20186:221;:::o;20413:366::-;20555:3;20576:67;20640:2;20635:3;20576:67;:::i;:::-;20569:74;;20652:93;20741:3;20652:93;:::i;:::-;20770:2;20765:3;20761:12;20754:19;;20413:366;;;:::o;20785:419::-;20951:4;20989:2;20978:9;20974:18;20966:26;;21038:9;21032:4;21028:20;21024:1;21013:9;21009:17;21002:47;21066:131;21192:4;21066:131;:::i;:::-;21058:139;;20785:419;;;:::o;21210:182::-;21350:34;21346:1;21338:6;21334:14;21327:58;21210:182;:::o;21398:366::-;21540:3;21561:67;21625:2;21620:3;21561:67;:::i;:::-;21554:74;;21637:93;21726:3;21637:93;:::i;:::-;21755:2;21750:3;21746:12;21739:19;;21398:366;;;:::o;21770:419::-;21936:4;21974:2;21963:9;21959:18;21951:26;;22023:9;22017:4;22013:20;22009:1;21998:9;21994:17;21987:47;22051:131;22177:4;22051:131;:::i;:::-;22043:139;;21770:419;;;:::o;22195:179::-;22335:31;22331:1;22323:6;22319:14;22312:55;22195:179;:::o;22380:366::-;22522:3;22543:67;22607:2;22602:3;22543:67;:::i;:::-;22536:74;;22619:93;22708:3;22619:93;:::i;:::-;22737:2;22732:3;22728:12;22721:19;;22380:366;;;:::o;22752:419::-;22918:4;22956:2;22945:9;22941:18;22933:26;;23005:9;22999:4;22995:20;22991:1;22980:9;22976:17;22969:47;23033:131;23159:4;23033:131;:::i;:::-;23025:139;;22752:419;;;:::o;23177:162::-;23317:14;23313:1;23305:6;23301:14;23294:38;23177:162;:::o;23345:366::-;23487:3;23508:67;23572:2;23567:3;23508:67;:::i;:::-;23501:74;;23584:93;23673:3;23584:93;:::i;:::-;23702:2;23697:3;23693:12;23686:19;;23345:366;;;:::o;23717:419::-;23883:4;23921:2;23910:9;23906:18;23898:26;;23970:9;23964:4;23960:20;23956:1;23945:9;23941:17;23934:47;23998:131;24124:4;23998:131;:::i;:::-;23990:139;;23717:419;;;:::o;24142:233::-;24181:3;24204:24;24222:5;24204:24;:::i;:::-;24195:33;;24250:66;24243:5;24240:77;24237:103;;24320:18;;:::i;:::-;24237:103;24367:1;24360:5;24356:13;24349:20;;24142:233;;;:::o;24381:182::-;24521:34;24517:1;24509:6;24505:14;24498:58;24381:182;:::o;24569:366::-;24711:3;24732:67;24796:2;24791:3;24732:67;:::i;:::-;24725:74;;24808:93;24897:3;24808:93;:::i;:::-;24926:2;24921:3;24917:12;24910:19;;24569:366;;;:::o;24941:419::-;25107:4;25145:2;25134:9;25130:18;25122:26;;25194:9;25188:4;25184:20;25180:1;25169:9;25165:17;25158:47;25222:131;25348:4;25222:131;:::i;:::-;25214:139;;24941:419;;;:::o;25366:194::-;25406:4;25426:20;25444:1;25426:20;:::i;:::-;25421:25;;25460:20;25478:1;25460:20;:::i;:::-;25455:25;;25504:1;25501;25497:9;25489:17;;25528:1;25522:4;25519:11;25516:37;;;25533:18;;:::i;:::-;25516:37;25366:194;;;;:::o;25566:180::-;25614:77;25611:1;25604:88;25711:4;25708:1;25701:15;25735:4;25732:1;25725:15;25752:114;25819:6;25853:5;25847:12;25837:22;;25752:114;;;:::o;25872:184::-;25971:11;26005:6;26000:3;25993:19;26045:4;26040:3;26036:14;26021:29;;25872:184;;;;:::o;26062:132::-;26129:4;26152:3;26144:11;;26182:4;26177:3;26173:14;26165:22;;26062:132;;;:::o;26200:108::-;26277:24;26295:5;26277:24;:::i;:::-;26272:3;26265:37;26200:108;;:::o;26314:179::-;26383:10;26404:46;26446:3;26438:6;26404:46;:::i;:::-;26482:4;26477:3;26473:14;26459:28;;26314:179;;;;:::o;26499:113::-;26569:4;26601;26596:3;26592:14;26584:22;;26499:113;;;:::o;26648:732::-;26767:3;26796:54;26844:5;26796:54;:::i;:::-;26866:86;26945:6;26940:3;26866:86;:::i;:::-;26859:93;;26976:56;27026:5;26976:56;:::i;:::-;27055:7;27086:1;27071:284;27096:6;27093:1;27090:13;27071:284;;;27172:6;27166:13;27199:63;27258:3;27243:13;27199:63;:::i;:::-;27192:70;;27285:60;27338:6;27285:60;:::i;:::-;27275:70;;27131:224;27118:1;27115;27111:9;27106:14;;27071:284;;;27075:14;27371:3;27364:10;;26772:608;;;26648:732;;;;:::o;27386:831::-;27649:4;27687:3;27676:9;27672:19;27664:27;;27701:71;27769:1;27758:9;27754:17;27745:6;27701:71;:::i;:::-;27782:80;27858:2;27847:9;27843:18;27834:6;27782:80;:::i;:::-;27909:9;27903:4;27899:20;27894:2;27883:9;27879:18;27872:48;27937:108;28040:4;28031:6;27937:108;:::i;:::-;27929:116;;28055:72;28123:2;28112:9;28108:18;28099:6;28055:72;:::i;:::-;28137:73;28205:3;28194:9;28190:19;28181:6;28137:73;:::i;:::-;27386:831;;;;;;;;:::o;28223:224::-;28363:34;28359:1;28351:6;28347:14;28340:58;28432:7;28427:2;28419:6;28415:15;28408:32;28223:224;:::o;28453:366::-;28595:3;28616:67;28680:2;28675:3;28616:67;:::i;:::-;28609:74;;28692:93;28781:3;28692:93;:::i;:::-;28810:2;28805:3;28801:12;28794:19;;28453:366;;;:::o;28825:419::-;28991:4;29029:2;29018:9;29014:18;29006:26;;29078:9;29072:4;29068:20;29064:1;29053:9;29049:17;29042:47;29106:131;29232:4;29106:131;:::i;:::-;29098:139;;28825:419;;;:::o;29250:222::-;29390:34;29386:1;29378:6;29374:14;29367:58;29459:5;29454:2;29446:6;29442:15;29435:30;29250:222;:::o;29478:366::-;29620:3;29641:67;29705:2;29700:3;29641:67;:::i;:::-;29634:74;;29717:93;29806:3;29717:93;:::i;:::-;29835:2;29830:3;29826:12;29819:19;;29478:366;;;:::o;29850:419::-;30016:4;30054:2;30043:9;30039:18;30031:26;;30103:9;30097:4;30093:20;30089:1;30078:9;30074:17;30067:47;30131:131;30257:4;30131:131;:::i;:::-;30123:139;;29850:419;;;:::o;30275:225::-;30415:34;30411:1;30403:6;30399:14;30392:58;30484:8;30479:2;30471:6;30467:15;30460:33;30275:225;:::o;30506:366::-;30648:3;30669:67;30733:2;30728:3;30669:67;:::i;:::-;30662:74;;30745:93;30834:3;30745:93;:::i;:::-;30863:2;30858:3;30854:12;30847:19;;30506:366;;;:::o;30878:419::-;31044:4;31082:2;31071:9;31067:18;31059:26;;31131:9;31125:4;31121:20;31117:1;31106:9;31102:17;31095:47;31159:131;31285:4;31159:131;:::i;:::-;31151:139;;30878:419;;;:::o

Swarm Source

ipfs://0bea00f9ffe3df3e7af2ea2161311ea31381eaa38da264499d56ff2a7f5a1b5e
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.