ETH Price: $2,629.65 (-0.05%)
Gas: 6 Gwei

Token

Quantum DAO (QNTM DAO)
 

Overview

Max Total Supply

1,000,000,000 QNTM DAO

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,324,934.052871914 QNTM DAO

Value
$0.00
0x070a495ab197461b21d6e7c629bad2ea87666fe6
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:
QuantumDAO

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-01
*/

/**
*
*
*


░██████╗░██╗░░░██╗░█████╗░███╗░░██╗████████╗██╗░░░██╗███╗░░░███╗      ██████╗░░█████╗░░█████╗░
██╔═══██╗██║░░░██║██╔══██╗████╗░██║╚══██╔══╝██║░░░██║████╗░████║      ██╔══██╗██╔══██╗██╔══██╗
██║██╗██║██║░░░██║███████║██╔██╗██║░░░██║░░░██║░░░██║██╔████╔██║      ██║░░██║███████║██║░░██║
╚██████╔╝██║░░░██║██╔══██║██║╚████║░░░██║░░░██║░░░██║██║╚██╔╝██║      ██║░░██║██╔══██║██║░░██║
░╚═██╔═╝░╚██████╔╝██║░░██║██║░╚███║░░░██║░░░╚██████╔╝██║░╚═╝░██║      ██████╔╝██║░░██║╚█████╔╝
░░░╚═╝░░░░╚═════╝░╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░░╚═════╝░╚═╝░░░░░╚═╝      ╚═════╝░╚═╝░░╚═╝░╚════╝░

*
*
*
.sɹnoʎ sᴉ ɹǝʍod ǝɥꓕ 
 
.sɹno ʎɐʅd ǝʍ ʍoN 
.ǝɯɐƃ ɹᴉǝɥʇ ʎɐʅd ʅʅᴉʍ ǝʇᴉʅǝ ǝɥꓕ 
 .ʇɐǝɹƃ ǝq puɐ ǝʇᴉun ʅʅᴉʍ ʍǝⅎ ʇɐɥʇ oS 
 .ʇⅎᴉƃ ɐ sᴉ O∀ᗡ ɯnʇuɐnꝹ 
 
.ʎɐʍ sᴉɥʇ ɹǝʇʇǝq s╻ʇI 
 .ǝɔuǝᴉɹǝdxǝ sᴉɥʇ ɥƃnoɹɥʇ ʎuɐɯ ƃuᴉʇɔǝuuoɔ ʍǝⅎ ssǝʅⅎʅǝs ∀ 
.ʇǝɯ ɹǝʌǝu sɐɥ ʇɐɥʇ ɯɐǝʇ ʅʅɐɯs ɐ ɥʇᴉʍ pǝɥɔunɐʅ sɐʍ O∀ᗡ ɯnʇuɐnꝹ 
 
.ǝsooʅ sʎɐʍʅɐ noʎ ʎɥʍ sᴉ sᴉɥꓕ 
.ʅɐʌoɹddɐ s╻ʇᴉ ɹoⅎ ƃǝq noʎ puɐɥ ǝɥʇ ʇsuᴉɐƃɐ ƃuᴉpuɐʇs ⅎo pɐǝʇsuI 
 .ɹǝʍod ǝɥʇ ʅʅɐ ǝʌɐɥ ʇǝ⅄ 
  .ɯǝɥʇ ǝǝs ʇ╻uɐɔ no⅄ 
.ʇsǝɹoⅎ ʞɹɐp ǝɥʇ uᴉ ʎʅʅɐᴉɔǝdsƎ 
.uᴉʍ sʎɐʍʅɐ ʅʅᴉʍ %⇂ ǝɥꓕ


-Vinvent Van Bro

*
*
*
*/

pragma solidity ^0.8.14;
// SPDX-License-Identifier: Unlicensed
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
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

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

}

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;
    }
}

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

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,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract QuantumDAO is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Quantum DAO";
    string private constant _symbol = "QNTM DAO";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 10;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; 
    mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address private developmentAddress;
    address private marketingAddress;
    address private devFeeAddress1;
    address private devFeeAddress2;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 15000000 * 10**_decimals;
    uint256 public _maxWalletSize = 15000000 * 10**_decimals;
    uint256 public _swapTokensAtAmount = 25000 * 10**_decimals;

    struct Distribution {
        uint256 development;
        uint256 marketing;
        uint256 devFee;
    }

    Distribution public distribution;

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

    constructor(address developmentAddr, address marketingAddr, address devFeeAddr1, address devFeeAddr2) {
        developmentAddress = developmentAddr;
        marketingAddress = marketingAddr;
        devFeeAddress1 = devFeeAddr1;
        devFeeAddress2 = devFeeAddr2;
        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[devFeeAddress1] = true;
        _isExcludedFromFee[devFeeAddress2] = true;
        _isExcludedFromFee[marketingAddress] = true;
        _isExcludedFromFee[developmentAddress] = true;

        distribution = Distribution(37, 38, 25);

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

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

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

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

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

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

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

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

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

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

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function sendETHToFee(uint256 amount) private lockTheSwap {
        uint256 distributionEth = amount;
        uint256 marketingShare = distributionEth.mul(distribution.marketing).div(100);
        uint256 devFeeShare = distributionEth.mul(distribution.devFee).div(100).div(2);
        uint256 developmentShare = distributionEth.mul(distribution.development).div(100);
        payable(marketingAddress).transfer(marketingShare);
        payable(devFeeAddress1).transfer(devFeeShare);
        payable(devFeeAddress2).transfer(devFeeShare);
        payable(developmentAddress).transfer(developmentShare);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == developmentAddress || _msgSender() == marketingAddress || _msgSender() == devFeeAddress1 || _msgSender() == devFeeAddress2);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == developmentAddress || _msgSender() == marketingAddress || _msgSender() == devFeeAddress1 || _msgSender() == devFeeAddress2);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function setDistribution(uint256 development, uint256 marketing, uint256 devFee) external onlyOwner {        
        distribution.development = development;
        distribution.marketing = marketing;
        distribution.devFee = devFee;
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {
    }

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function allowPreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }

    function removePreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 delete preTrader[accounts[i]];
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"developmentAddr","type":"address"},{"internalType":"address","name":"marketingAddr","type":"address"},{"internalType":"address","name":"devFeeAddr1","type":"address"},{"internalType":"address","name":"devFeeAddr2","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distribution","outputs":[{"internalType":"uint256","name":"development","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"development","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"}],"name":"setDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000aa0565b633b9aca0062000025919062000af1565b60001962000034919062000b81565b60001962000043919062000bb9565b6006556000600855600a6009556000600a55600a600b55600a54600c55600b54600d55600c54600e55600d54600f556000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff0219169083151502179055506009600a620000b8919062000aa0565b62e4e1c0620000c8919062000af1565b6019556009600a620000db919062000aa0565b62e4e1c0620000eb919062000af1565b601a556009600a620000fe919062000aa0565b6161a86200010d919062000af1565b601b553480156200011d57600080fd5b50604051620056bb380380620056bb833981810160405281019062000143919062000c5e565b600062000155620008d560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35083601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200030e620008d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000418919062000cd0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a6919062000cd0565b6040518363ffffffff1660e01b8152600401620004c592919062000d13565b6020604051808303816000875af1158015620004e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200050b919062000cd0565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000561620008dd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550604051806060016040528060258152602001602681526020016019815250601c60008201518160000155602082015181600101556040820151816002015590505062000843620008d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620008a2919062000aa0565b633b9aca00620008b3919062000af1565b604051620008c2919062000d51565b60405180910390a3505050505062000d6e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000994578086048111156200096c576200096b62000906565b5b60018516156200097c5780820291505b80810290506200098c8562000935565b94506200094c565b94509492505050565b600082620009af576001905062000a82565b81620009bf576000905062000a82565b8160018114620009d85760028114620009e35762000a19565b600191505062000a82565b60ff841115620009f857620009f762000906565b5b8360020a91508482111562000a125762000a1162000906565b5b5062000a82565b5060208310610133831016604e8410600b841016171562000a535782820a90508381111562000a4d5762000a4c62000906565b5b62000a82565b62000a62848484600162000942565b9250905081840481111562000a7c5762000a7b62000906565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000aad8262000a89565b915062000aba8362000a93565b925062000ae97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200099d565b905092915050565b600062000afe8262000a89565b915062000b0b8362000a89565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b475762000b4662000906565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b8e8262000a89565b915062000b9b8362000a89565b92508262000bae5762000bad62000b52565b5b828206905092915050565b600062000bc68262000a89565b915062000bd38362000a89565b92508282101562000be95762000be862000906565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c268262000bf9565b9050919050565b62000c388162000c19565b811462000c4457600080fd5b50565b60008151905062000c588162000c2d565b92915050565b6000806000806080858703121562000c7b5762000c7a62000bf4565b5b600062000c8b8782880162000c47565b945050602062000c9e8782880162000c47565b935050604062000cb18782880162000c47565b925050606062000cc48782880162000c47565b91505092959194509250565b60006020828403121562000ce95762000ce862000bf4565b5b600062000cf98482850162000c47565b91505092915050565b62000d0d8162000c19565b82525050565b600060408201905062000d2a600083018562000d02565b62000d39602083018462000d02565b9392505050565b62000d4b8162000a89565b82525050565b600060208201905062000d68600083018462000d40565b92915050565b61493d8062000d7e6000396000f3fe6080604052600436106102075760003560e01c806374010ece11610118578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd8014610761578063c492f04614610778578063dd62ed3e146107a1578063ea1644d5146107de578063f2fde38b146108075761020e565b8063a9059cbb14610681578063b5a65223146106be578063bdd795ef146106e7578063bfd79284146107245761020e565b80638f70ccf7116100e75780638f70ccf7146105b05780638f9a55c0146105d957806395d89b411461060457806398a5c3151461062f578063a2a957bb146106585761020e565b806374010ece146104f45780637d1db4a51461051d5780637f2feddc146105485780638da5cb5b146105855761020e565b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146104375780636f343052146104605780636fc3eaec1461048957806370a08231146104a0578063715018a6146104dd5761020e565b806349bd5a5e1461038d5780635ee58efc146103b857806367aadb7e146103e55780636b9990531461040e5761020e565b806318160ddd116101d757806318160ddd146102cf57806323b872dd146102fa5780632fd689e314610337578063313ce567146103625761020e565b8062b8cf2a1461021357806306fdde031461023c578063095ea7b3146102675780631694505e146102a45761020e565b3661020e57005b600080fd5b34801561021f57600080fd5b5061023a60048036038101906102359190613675565b610830565b005b34801561024857600080fd5b5061025161095a565b60405161025e9190613746565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061379e565b610997565b60405161029b91906137f9565b60405180910390f35b3480156102b057600080fd5b506102b96109b5565b6040516102c69190613873565b60405180910390f35b3480156102db57600080fd5b506102e46109db565b6040516102f1919061389d565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c91906138b8565b6109ff565b60405161032e91906137f9565b60405180910390f35b34801561034357600080fd5b5061034c610ad8565b604051610359919061389d565b60405180910390f35b34801561036e57600080fd5b50610377610ade565b6040516103849190613927565b60405180910390f35b34801561039957600080fd5b506103a2610ae7565b6040516103af9190613951565b60405180910390f35b3480156103c457600080fd5b506103cd610b0d565b6040516103dc9392919061396c565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906139fe565b610b25565b005b34801561041a57600080fd5b5061043560048036038101906104309190613a4b565b610c56565b005b34801561044357600080fd5b5061045e60048036038101906104599190613aa4565b610d46565b005b34801561046c57600080fd5b5061048760048036038101906104829190613ad1565b610df8565b005b34801561049557600080fd5b5061049e610eb0565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190613a4b565b61103f565b6040516104d4919061389d565b60405180910390f35b3480156104e957600080fd5b506104f2611090565b005b34801561050057600080fd5b5061051b60048036038101906105169190613b24565b6111e3565b005b34801561052957600080fd5b50610532611282565b60405161053f919061389d565b60405180910390f35b34801561055457600080fd5b5061056f600480360381019061056a9190613a4b565b611288565b60405161057c919061389d565b60405180910390f35b34801561059157600080fd5b5061059a6112a0565b6040516105a79190613951565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d29190613aa4565b6112c9565b005b3480156105e557600080fd5b506105ee61137b565b6040516105fb919061389d565b60405180910390f35b34801561061057600080fd5b50610619611381565b6040516106269190613746565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190613b24565b6113be565b005b34801561066457600080fd5b5061067f600480360381019061067a9190613b51565b61145d565b005b34801561068d57600080fd5b506106a860048036038101906106a3919061379e565b611514565b6040516106b591906137f9565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906139fe565b611532565b005b3480156106f357600080fd5b5061070e60048036038101906107099190613a4b565b61166c565b60405161071b91906137f9565b60405180910390f35b34801561073057600080fd5b5061074b60048036038101906107469190613a4b565b61168c565b60405161075891906137f9565b60405180910390f35b34801561076d57600080fd5b506107766116ac565b005b34801561078457600080fd5b5061079f600480360381019061079a9190613bb8565b611843565b005b3480156107ad57600080fd5b506107c860048036038101906107c39190613c18565b61197d565b6040516107d5919061389d565b60405180910390f35b3480156107ea57600080fd5b5061080560048036038101906108009190613b24565b611a04565b005b34801561081357600080fd5b5061082e60048036038101906108299190613a4b565b611aa3565b005b610838611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90613ca4565b60405180910390fd5b60005b8151811015610956576001601060008484815181106108ea576108e9613cc4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094e90613d22565b9150506108c8565b5050565b60606040518060400160405280600b81526020017f5175616e74756d2044414f000000000000000000000000000000000000000000815250905090565b60006109ab6109a4611c64565b8484611c6c565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109eb9190613e9d565b633b9aca006109fa9190613ee8565b905090565b6000610a0c848484611e35565b610acd84610a18611c64565b610ac8856040518060600160405280602881526020016148e060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a7e611c64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277d9092919063ffffffff16565b611c6c565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c8060000154908060010154908060020154905083565b610b2d611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190613ca4565b60405180910390fd5b60005b82829050811015610c515760126000848484818110610bdf57610bde613cc4565b5b9050602002016020810190610bf49190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558080610c4990613d22565b915050610bbd565b505050565b610c5e611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290613ca4565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d4e611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290613ca4565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b610e00611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8490613ca4565b60405180910390fd5b82601c6000018190555081601c6001018190555080601c60020181905550505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ef1611c64565b73ffffffffffffffffffffffffffffffffffffffff161480610f675750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4f611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b80610fc65750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fae611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806110255750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661100d611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b61102e57600080fd5b600047905061103c816127e1565b50565b6000611089600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a67565b9050919050565b611098611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90613ca4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6111eb611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90613ca4565b60405180910390fd5b8060198190555050565b60195481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112d1611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135590613ca4565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600881526020017f514e544d2044414f000000000000000000000000000000000000000000000000815250905090565b6113c6611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a90613ca4565b60405180910390fd5b80601b8190555050565b611465611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613ca4565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000611528611521611c64565b8484611e35565b6001905092915050565b61153a611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90613ca4565b60405180910390fd5b60005b82829050811015611667576001601260008585858181106115ee576115ed613cc4565b5b90506020020160208101906116039190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061165f90613d22565b9150506115ca565b505050565b60126020528060005260406000206000915054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116ed611c64565b73ffffffffffffffffffffffffffffffffffffffff1614806117635750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661174b611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806117c25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117aa611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806118215750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611809611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b61182a57600080fd5b60006118353061103f565b905061184081612ad5565b50565b61184b611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90613ca4565b60405180910390fd5b60005b838390508110156119775781600560008686858181106118fe576118fd613cc4565b5b90506020020160208101906119139190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061196f90613d22565b9150506118db565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611a0c611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9090613ca4565b60405180910390fd5b80601a8190555050565b611aab611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2f90613ca4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90613fb4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd290614046565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d41906140d8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e28919061389d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9b9061416a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0a906141fc565b60405180910390fd5b60008111611f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4d9061428e565b60405180910390fd5b611f5e6112a0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fcc5750611f9c6112a0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120225750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120785750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561247c57601860149054906101000a900460ff1661211e57601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211490614320565b60405180910390fd5b5b601954811115612163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215a9061438c565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122075750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223d9061441e565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122f357601a54816122a88461103f565b6122b2919061443e565b106122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990614506565b60405180910390fd5b5b60006122fe3061103f565b90506000601b54821015905060195482106123195760195491505b8080156123335750601860159054906101000a900460ff16155b801561238d5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123a55750601860169054906101000a900460ff165b80156123fb5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124515750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124795761245f82612ad5565b6000479050600081111561247757612476476127e1565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125235750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125d65750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125d55750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156125e4576000905061276b565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561268f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126a757600854600c81905550600954600d819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156127525750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561276a57600a54600c81905550600b54600d819055505b5b61277784848484612d4e565b50505050565b60008383111582906127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc9190613746565b60405180910390fd5b50600083856127d49190614526565b9050809150509392505050565b6001601860156101000a81548160ff0219169083151502179055506000819050600061282e6064612820601c6001015485612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050600061287060026128626064612854601c6002015488612d7b90919063ffffffff16565b612df590919063ffffffff16565b612df590919063ffffffff16565b9050600061289f6064612891601c6000015487612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612909573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612972573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156129db573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a44573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6000600654821115612aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa5906145cc565b60405180910390fd5b6000612ab8612e3f565b9050612acd8184612df590919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612b0d57612b0c6134d4565b5b604051908082528060200260200182016040528015612b3b5781602001602082028036833780820191505090505b5090503081600081518110612b5357612b52613cc4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1e9190614601565b81600181518110612c3257612c31613cc4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c9930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c6c565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cfd959493929190614727565b600060405180830381600087803b158015612d1757600080fd5b505af1158015612d2b573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612d5c57612d5b612e6a565b5b612d67848484612ea7565b80612d7557612d74613072565b5b50505050565b6000808303612d8d5760009050612def565b60008284612d9b9190613ee8565b9050828482612daa91906147b0565b14612dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de190614853565b60405180910390fd5b809150505b92915050565b6000612e3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613086565b905092915050565b6000806000612e4c6130e9565b91509150612e638183612df590919063ffffffff16565b9250505090565b6000600c54148015612e7e57506000600d54145b612ea557600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612eb987613184565b955095509550955095509550612f1786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131ec90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fac85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ff881613294565b6130028483613351565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161305f919061389d565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080831182906130cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c49190613746565b60405180910390fd5b50600083856130dc91906147b0565b9050809150509392505050565b6000806000600654905060006009600a6131039190613e9d565b633b9aca006131129190613ee8565b90506131456009600a6131259190613e9d565b633b9aca006131349190613ee8565b600654612df590919063ffffffff16565b821015613177576006546009600a61315d9190613e9d565b633b9aca0061316c9190613ee8565b935093505050613180565b81819350935050505b9091565b60008060008060008060008060006131a18a600c54600d5461338b565b92509250925060006131b1612e3f565b905060008060006131c48e878787613421565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061322e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061277d565b905092915050565b6000808284613245919061443e565b90508381101561328a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613281906148bf565b60405180910390fd5b8091505092915050565b600061329e612e3f565b905060006132b58284612d7b90919063ffffffff16565b905061330981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613366826006546131ec90919063ffffffff16565b6006819055506133818160075461323690919063ffffffff16565b6007819055505050565b6000806000806133b760646133a9888a612d7b90919063ffffffff16565b612df590919063ffffffff16565b905060006133e160646133d3888b612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050600061340a826133fc858c6131ec90919063ffffffff16565b6131ec90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061343a8589612d7b90919063ffffffff16565b905060006134518689612d7b90919063ffffffff16565b905060006134688789612d7b90919063ffffffff16565b905060006134918261348385876131ec90919063ffffffff16565b6131ec90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61350c826134c3565b810181811067ffffffffffffffff8211171561352b5761352a6134d4565b5b80604052505050565b600061353e6134aa565b905061354a8282613503565b919050565b600067ffffffffffffffff82111561356a576135696134d4565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135ab82613580565b9050919050565b6135bb816135a0565b81146135c657600080fd5b50565b6000813590506135d8816135b2565b92915050565b60006135f16135ec8461354f565b613534565b905080838252602082019050602084028301858111156136145761361361357b565b5b835b8181101561363d578061362988826135c9565b845260208401935050602081019050613616565b5050509392505050565b600082601f83011261365c5761365b6134be565b5b813561366c8482602086016135de565b91505092915050565b60006020828403121561368b5761368a6134b4565b5b600082013567ffffffffffffffff8111156136a9576136a86134b9565b5b6136b584828501613647565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156136f85780820151818401526020810190506136dd565b83811115613707576000848401525b50505050565b6000613718826136be565b61372281856136c9565b93506137328185602086016136da565b61373b816134c3565b840191505092915050565b60006020820190508181036000830152613760818461370d565b905092915050565b6000819050919050565b61377b81613768565b811461378657600080fd5b50565b60008135905061379881613772565b92915050565b600080604083850312156137b5576137b46134b4565b5b60006137c3858286016135c9565b92505060206137d485828601613789565b9150509250929050565b60008115159050919050565b6137f3816137de565b82525050565b600060208201905061380e60008301846137ea565b92915050565b6000819050919050565b600061383961383461382f84613580565b613814565b613580565b9050919050565b600061384b8261381e565b9050919050565b600061385d82613840565b9050919050565b61386d81613852565b82525050565b60006020820190506138886000830184613864565b92915050565b61389781613768565b82525050565b60006020820190506138b2600083018461388e565b92915050565b6000806000606084860312156138d1576138d06134b4565b5b60006138df868287016135c9565b93505060206138f0868287016135c9565b925050604061390186828701613789565b9150509250925092565b600060ff82169050919050565b6139218161390b565b82525050565b600060208201905061393c6000830184613918565b92915050565b61394b816135a0565b82525050565b60006020820190506139666000830184613942565b92915050565b6000606082019050613981600083018661388e565b61398e602083018561388e565b61399b604083018461388e565b949350505050565b600080fd5b60008083601f8401126139be576139bd6134be565b5b8235905067ffffffffffffffff8111156139db576139da6139a3565b5b6020830191508360208202830111156139f7576139f661357b565b5b9250929050565b60008060208385031215613a1557613a146134b4565b5b600083013567ffffffffffffffff811115613a3357613a326134b9565b5b613a3f858286016139a8565b92509250509250929050565b600060208284031215613a6157613a606134b4565b5b6000613a6f848285016135c9565b91505092915050565b613a81816137de565b8114613a8c57600080fd5b50565b600081359050613a9e81613a78565b92915050565b600060208284031215613aba57613ab96134b4565b5b6000613ac884828501613a8f565b91505092915050565b600080600060608486031215613aea57613ae96134b4565b5b6000613af886828701613789565b9350506020613b0986828701613789565b9250506040613b1a86828701613789565b9150509250925092565b600060208284031215613b3a57613b396134b4565b5b6000613b4884828501613789565b91505092915050565b60008060008060808587031215613b6b57613b6a6134b4565b5b6000613b7987828801613789565b9450506020613b8a87828801613789565b9350506040613b9b87828801613789565b9250506060613bac87828801613789565b91505092959194509250565b600080600060408486031215613bd157613bd06134b4565b5b600084013567ffffffffffffffff811115613bef57613bee6134b9565b5b613bfb868287016139a8565b93509350506020613c0e86828701613a8f565b9150509250925092565b60008060408385031215613c2f57613c2e6134b4565b5b6000613c3d858286016135c9565b9250506020613c4e858286016135c9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c8e6020836136c9565b9150613c9982613c58565b602082019050919050565b60006020820190508181036000830152613cbd81613c81565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d2d82613768565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d5f57613d5e613cf3565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613dc157808604811115613d9d57613d9c613cf3565b5b6001851615613dac5780820291505b8081029050613dba85613d6a565b9450613d81565b94509492505050565b600082613dda5760019050613e96565b81613de85760009050613e96565b8160018114613dfe5760028114613e0857613e37565b6001915050613e96565b60ff841115613e1a57613e19613cf3565b5b8360020a915084821115613e3157613e30613cf3565b5b50613e96565b5060208310610133831016604e8410600b8410161715613e6c5782820a905083811115613e6757613e66613cf3565b5b613e96565b613e798484846001613d77565b92509050818404811115613e9057613e8f613cf3565b5b81810290505b9392505050565b6000613ea882613768565b9150613eb38361390b565b9250613ee07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dca565b905092915050565b6000613ef382613768565b9150613efe83613768565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f3757613f36613cf3565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f9e6026836136c9565b9150613fa982613f42565b604082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140306024836136c9565b915061403b82613fd4565b604082019050919050565b6000602082019050818103600083015261405f81614023565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006140c26022836136c9565b91506140cd82614066565b604082019050919050565b600060208201905081810360008301526140f1816140b5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141546025836136c9565b915061415f826140f8565b604082019050919050565b6000602082019050818103600083015261418381614147565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141e66023836136c9565b91506141f18261418a565b604082019050919050565b60006020820190508181036000830152614215816141d9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006142786029836136c9565b91506142838261421c565b604082019050919050565b600060208201905081810360008301526142a78161426b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061430a603f836136c9565b9150614315826142ae565b604082019050919050565b60006020820190508181036000830152614339816142fd565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000614376601c836136c9565b915061438182614340565b602082019050919050565b600060208201905081810360008301526143a581614369565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006144086023836136c9565b9150614413826143ac565b604082019050919050565b60006020820190508181036000830152614437816143fb565b9050919050565b600061444982613768565b915061445483613768565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561448957614488613cf3565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006144f06023836136c9565b91506144fb82614494565b604082019050919050565b6000602082019050818103600083015261451f816144e3565b9050919050565b600061453182613768565b915061453c83613768565b92508282101561454f5761454e613cf3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006145b6602a836136c9565b91506145c18261455a565b604082019050919050565b600060208201905081810360008301526145e5816145a9565b9050919050565b6000815190506145fb816135b2565b92915050565b600060208284031215614617576146166134b4565b5b6000614625848285016145ec565b91505092915050565b6000819050919050565b600061465361464e6146498461462e565b613814565b613768565b9050919050565b61466381614638565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61469e816135a0565b82525050565b60006146b08383614695565b60208301905092915050565b6000602082019050919050565b60006146d482614669565b6146de8185614674565b93506146e983614685565b8060005b8381101561471a57815161470188826146a4565b975061470c836146bc565b9250506001810190506146ed565b5085935050505092915050565b600060a08201905061473c600083018861388e565b614749602083018761465a565b818103604083015261475b81866146c9565b905061476a6060830185613942565b614777608083018461388e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147bb82613768565b91506147c683613768565b9250826147d6576147d5614781565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061483d6021836136c9565b9150614848826147e1565b604082019050919050565b6000602082019050818103600083015261486c81614830565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006148a9601b836136c9565b91506148b482614873565b602082019050919050565b600060208201905081810360008301526148d88161489c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfd5ba7189068454c4a3e499dfbee5f27a6fcd7810a8e9c5558239ec8ecdb12764736f6c634300080e0033000000000000000000000000b3ce07935586887323afe16a83af52b9b833d3d300000000000000000000000082dbd74cfd093625bd0a62aaccc81d4af4cfef9300000000000000000000000042e3a8f823115c1dfe41f67a6bb9ba1e5830197600000000000000000000000018c18c4bf8ac39363fe9bf21e3c89baa6b5193e0

Deployed Bytecode

0x6080604052600436106102075760003560e01c806374010ece11610118578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd8014610761578063c492f04614610778578063dd62ed3e146107a1578063ea1644d5146107de578063f2fde38b146108075761020e565b8063a9059cbb14610681578063b5a65223146106be578063bdd795ef146106e7578063bfd79284146107245761020e565b80638f70ccf7116100e75780638f70ccf7146105b05780638f9a55c0146105d957806395d89b411461060457806398a5c3151461062f578063a2a957bb146106585761020e565b806374010ece146104f45780637d1db4a51461051d5780637f2feddc146105485780638da5cb5b146105855761020e565b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146104375780636f343052146104605780636fc3eaec1461048957806370a08231146104a0578063715018a6146104dd5761020e565b806349bd5a5e1461038d5780635ee58efc146103b857806367aadb7e146103e55780636b9990531461040e5761020e565b806318160ddd116101d757806318160ddd146102cf57806323b872dd146102fa5780632fd689e314610337578063313ce567146103625761020e565b8062b8cf2a1461021357806306fdde031461023c578063095ea7b3146102675780631694505e146102a45761020e565b3661020e57005b600080fd5b34801561021f57600080fd5b5061023a60048036038101906102359190613675565b610830565b005b34801561024857600080fd5b5061025161095a565b60405161025e9190613746565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061379e565b610997565b60405161029b91906137f9565b60405180910390f35b3480156102b057600080fd5b506102b96109b5565b6040516102c69190613873565b60405180910390f35b3480156102db57600080fd5b506102e46109db565b6040516102f1919061389d565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c91906138b8565b6109ff565b60405161032e91906137f9565b60405180910390f35b34801561034357600080fd5b5061034c610ad8565b604051610359919061389d565b60405180910390f35b34801561036e57600080fd5b50610377610ade565b6040516103849190613927565b60405180910390f35b34801561039957600080fd5b506103a2610ae7565b6040516103af9190613951565b60405180910390f35b3480156103c457600080fd5b506103cd610b0d565b6040516103dc9392919061396c565b60405180910390f35b3480156103f157600080fd5b5061040c600480360381019061040791906139fe565b610b25565b005b34801561041a57600080fd5b5061043560048036038101906104309190613a4b565b610c56565b005b34801561044357600080fd5b5061045e60048036038101906104599190613aa4565b610d46565b005b34801561046c57600080fd5b5061048760048036038101906104829190613ad1565b610df8565b005b34801561049557600080fd5b5061049e610eb0565b005b3480156104ac57600080fd5b506104c760048036038101906104c29190613a4b565b61103f565b6040516104d4919061389d565b60405180910390f35b3480156104e957600080fd5b506104f2611090565b005b34801561050057600080fd5b5061051b60048036038101906105169190613b24565b6111e3565b005b34801561052957600080fd5b50610532611282565b60405161053f919061389d565b60405180910390f35b34801561055457600080fd5b5061056f600480360381019061056a9190613a4b565b611288565b60405161057c919061389d565b60405180910390f35b34801561059157600080fd5b5061059a6112a0565b6040516105a79190613951565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d29190613aa4565b6112c9565b005b3480156105e557600080fd5b506105ee61137b565b6040516105fb919061389d565b60405180910390f35b34801561061057600080fd5b50610619611381565b6040516106269190613746565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190613b24565b6113be565b005b34801561066457600080fd5b5061067f600480360381019061067a9190613b51565b61145d565b005b34801561068d57600080fd5b506106a860048036038101906106a3919061379e565b611514565b6040516106b591906137f9565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906139fe565b611532565b005b3480156106f357600080fd5b5061070e60048036038101906107099190613a4b565b61166c565b60405161071b91906137f9565b60405180910390f35b34801561073057600080fd5b5061074b60048036038101906107469190613a4b565b61168c565b60405161075891906137f9565b60405180910390f35b34801561076d57600080fd5b506107766116ac565b005b34801561078457600080fd5b5061079f600480360381019061079a9190613bb8565b611843565b005b3480156107ad57600080fd5b506107c860048036038101906107c39190613c18565b61197d565b6040516107d5919061389d565b60405180910390f35b3480156107ea57600080fd5b5061080560048036038101906108009190613b24565b611a04565b005b34801561081357600080fd5b5061082e60048036038101906108299190613a4b565b611aa3565b005b610838611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90613ca4565b60405180910390fd5b60005b8151811015610956576001601060008484815181106108ea576108e9613cc4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094e90613d22565b9150506108c8565b5050565b60606040518060400160405280600b81526020017f5175616e74756d2044414f000000000000000000000000000000000000000000815250905090565b60006109ab6109a4611c64565b8484611c6c565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109eb9190613e9d565b633b9aca006109fa9190613ee8565b905090565b6000610a0c848484611e35565b610acd84610a18611c64565b610ac8856040518060600160405280602881526020016148e060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a7e611c64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277d9092919063ffffffff16565b611c6c565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c8060000154908060010154908060020154905083565b610b2d611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190613ca4565b60405180910390fd5b60005b82829050811015610c515760126000848484818110610bdf57610bde613cc4565b5b9050602002016020810190610bf49190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558080610c4990613d22565b915050610bbd565b505050565b610c5e611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290613ca4565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d4e611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290613ca4565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b610e00611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8490613ca4565b60405180910390fd5b82601c6000018190555081601c6001018190555080601c60020181905550505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ef1611c64565b73ffffffffffffffffffffffffffffffffffffffff161480610f675750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4f611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b80610fc65750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fae611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806110255750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661100d611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b61102e57600080fd5b600047905061103c816127e1565b50565b6000611089600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a67565b9050919050565b611098611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90613ca4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6111eb611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90613ca4565b60405180910390fd5b8060198190555050565b60195481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112d1611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135590613ca4565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600881526020017f514e544d2044414f000000000000000000000000000000000000000000000000815250905090565b6113c6611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a90613ca4565b60405180910390fd5b80601b8190555050565b611465611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613ca4565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000611528611521611c64565b8484611e35565b6001905092915050565b61153a611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90613ca4565b60405180910390fd5b60005b82829050811015611667576001601260008585858181106115ee576115ed613cc4565b5b90506020020160208101906116039190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061165f90613d22565b9150506115ca565b505050565b60126020528060005260406000206000915054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116ed611c64565b73ffffffffffffffffffffffffffffffffffffffff1614806117635750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661174b611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806117c25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117aa611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b806118215750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611809611c64565b73ffffffffffffffffffffffffffffffffffffffff16145b61182a57600080fd5b60006118353061103f565b905061184081612ad5565b50565b61184b611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90613ca4565b60405180910390fd5b60005b838390508110156119775781600560008686858181106118fe576118fd613cc4565b5b90506020020160208101906119139190613a4b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061196f90613d22565b9150506118db565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611a0c611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9090613ca4565b60405180910390fd5b80601a8190555050565b611aab611c64565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2f90613ca4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90613fb4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd290614046565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d41906140d8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e28919061389d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9b9061416a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0a906141fc565b60405180910390fd5b60008111611f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4d9061428e565b60405180910390fd5b611f5e6112a0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fcc5750611f9c6112a0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120225750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120785750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561247c57601860149054906101000a900460ff1661211e57601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211490614320565b60405180910390fd5b5b601954811115612163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215a9061438c565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122075750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223d9061441e565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122f357601a54816122a88461103f565b6122b2919061443e565b106122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990614506565b60405180910390fd5b5b60006122fe3061103f565b90506000601b54821015905060195482106123195760195491505b8080156123335750601860159054906101000a900460ff16155b801561238d5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123a55750601860169054906101000a900460ff165b80156123fb5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124515750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124795761245f82612ad5565b6000479050600081111561247757612476476127e1565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125235750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125d65750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125d55750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156125e4576000905061276b565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561268f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126a757600854600c81905550600954600d819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156127525750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561276a57600a54600c81905550600b54600d819055505b5b61277784848484612d4e565b50505050565b60008383111582906127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc9190613746565b60405180910390fd5b50600083856127d49190614526565b9050809150509392505050565b6001601860156101000a81548160ff0219169083151502179055506000819050600061282e6064612820601c6001015485612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050600061287060026128626064612854601c6002015488612d7b90919063ffffffff16565b612df590919063ffffffff16565b612df590919063ffffffff16565b9050600061289f6064612891601c6000015487612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612909573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612972573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156129db573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a44573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6000600654821115612aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa5906145cc565b60405180910390fd5b6000612ab8612e3f565b9050612acd8184612df590919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612b0d57612b0c6134d4565b5b604051908082528060200260200182016040528015612b3b5781602001602082028036833780820191505090505b5090503081600081518110612b5357612b52613cc4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1e9190614601565b81600181518110612c3257612c31613cc4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c9930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c6c565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cfd959493929190614727565b600060405180830381600087803b158015612d1757600080fd5b505af1158015612d2b573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612d5c57612d5b612e6a565b5b612d67848484612ea7565b80612d7557612d74613072565b5b50505050565b6000808303612d8d5760009050612def565b60008284612d9b9190613ee8565b9050828482612daa91906147b0565b14612dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de190614853565b60405180910390fd5b809150505b92915050565b6000612e3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613086565b905092915050565b6000806000612e4c6130e9565b91509150612e638183612df590919063ffffffff16565b9250505090565b6000600c54148015612e7e57506000600d54145b612ea557600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612eb987613184565b955095509550955095509550612f1786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131ec90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fac85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ff881613294565b6130028483613351565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161305f919061389d565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080831182906130cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c49190613746565b60405180910390fd5b50600083856130dc91906147b0565b9050809150509392505050565b6000806000600654905060006009600a6131039190613e9d565b633b9aca006131129190613ee8565b90506131456009600a6131259190613e9d565b633b9aca006131349190613ee8565b600654612df590919063ffffffff16565b821015613177576006546009600a61315d9190613e9d565b633b9aca0061316c9190613ee8565b935093505050613180565b81819350935050505b9091565b60008060008060008060008060006131a18a600c54600d5461338b565b92509250925060006131b1612e3f565b905060008060006131c48e878787613421565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061322e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061277d565b905092915050565b6000808284613245919061443e565b90508381101561328a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613281906148bf565b60405180910390fd5b8091505092915050565b600061329e612e3f565b905060006132b58284612d7b90919063ffffffff16565b905061330981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461323690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613366826006546131ec90919063ffffffff16565b6006819055506133818160075461323690919063ffffffff16565b6007819055505050565b6000806000806133b760646133a9888a612d7b90919063ffffffff16565b612df590919063ffffffff16565b905060006133e160646133d3888b612d7b90919063ffffffff16565b612df590919063ffffffff16565b9050600061340a826133fc858c6131ec90919063ffffffff16565b6131ec90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061343a8589612d7b90919063ffffffff16565b905060006134518689612d7b90919063ffffffff16565b905060006134688789612d7b90919063ffffffff16565b905060006134918261348385876131ec90919063ffffffff16565b6131ec90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61350c826134c3565b810181811067ffffffffffffffff8211171561352b5761352a6134d4565b5b80604052505050565b600061353e6134aa565b905061354a8282613503565b919050565b600067ffffffffffffffff82111561356a576135696134d4565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135ab82613580565b9050919050565b6135bb816135a0565b81146135c657600080fd5b50565b6000813590506135d8816135b2565b92915050565b60006135f16135ec8461354f565b613534565b905080838252602082019050602084028301858111156136145761361361357b565b5b835b8181101561363d578061362988826135c9565b845260208401935050602081019050613616565b5050509392505050565b600082601f83011261365c5761365b6134be565b5b813561366c8482602086016135de565b91505092915050565b60006020828403121561368b5761368a6134b4565b5b600082013567ffffffffffffffff8111156136a9576136a86134b9565b5b6136b584828501613647565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156136f85780820151818401526020810190506136dd565b83811115613707576000848401525b50505050565b6000613718826136be565b61372281856136c9565b93506137328185602086016136da565b61373b816134c3565b840191505092915050565b60006020820190508181036000830152613760818461370d565b905092915050565b6000819050919050565b61377b81613768565b811461378657600080fd5b50565b60008135905061379881613772565b92915050565b600080604083850312156137b5576137b46134b4565b5b60006137c3858286016135c9565b92505060206137d485828601613789565b9150509250929050565b60008115159050919050565b6137f3816137de565b82525050565b600060208201905061380e60008301846137ea565b92915050565b6000819050919050565b600061383961383461382f84613580565b613814565b613580565b9050919050565b600061384b8261381e565b9050919050565b600061385d82613840565b9050919050565b61386d81613852565b82525050565b60006020820190506138886000830184613864565b92915050565b61389781613768565b82525050565b60006020820190506138b2600083018461388e565b92915050565b6000806000606084860312156138d1576138d06134b4565b5b60006138df868287016135c9565b93505060206138f0868287016135c9565b925050604061390186828701613789565b9150509250925092565b600060ff82169050919050565b6139218161390b565b82525050565b600060208201905061393c6000830184613918565b92915050565b61394b816135a0565b82525050565b60006020820190506139666000830184613942565b92915050565b6000606082019050613981600083018661388e565b61398e602083018561388e565b61399b604083018461388e565b949350505050565b600080fd5b60008083601f8401126139be576139bd6134be565b5b8235905067ffffffffffffffff8111156139db576139da6139a3565b5b6020830191508360208202830111156139f7576139f661357b565b5b9250929050565b60008060208385031215613a1557613a146134b4565b5b600083013567ffffffffffffffff811115613a3357613a326134b9565b5b613a3f858286016139a8565b92509250509250929050565b600060208284031215613a6157613a606134b4565b5b6000613a6f848285016135c9565b91505092915050565b613a81816137de565b8114613a8c57600080fd5b50565b600081359050613a9e81613a78565b92915050565b600060208284031215613aba57613ab96134b4565b5b6000613ac884828501613a8f565b91505092915050565b600080600060608486031215613aea57613ae96134b4565b5b6000613af886828701613789565b9350506020613b0986828701613789565b9250506040613b1a86828701613789565b9150509250925092565b600060208284031215613b3a57613b396134b4565b5b6000613b4884828501613789565b91505092915050565b60008060008060808587031215613b6b57613b6a6134b4565b5b6000613b7987828801613789565b9450506020613b8a87828801613789565b9350506040613b9b87828801613789565b9250506060613bac87828801613789565b91505092959194509250565b600080600060408486031215613bd157613bd06134b4565b5b600084013567ffffffffffffffff811115613bef57613bee6134b9565b5b613bfb868287016139a8565b93509350506020613c0e86828701613a8f565b9150509250925092565b60008060408385031215613c2f57613c2e6134b4565b5b6000613c3d858286016135c9565b9250506020613c4e858286016135c9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c8e6020836136c9565b9150613c9982613c58565b602082019050919050565b60006020820190508181036000830152613cbd81613c81565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d2d82613768565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d5f57613d5e613cf3565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613dc157808604811115613d9d57613d9c613cf3565b5b6001851615613dac5780820291505b8081029050613dba85613d6a565b9450613d81565b94509492505050565b600082613dda5760019050613e96565b81613de85760009050613e96565b8160018114613dfe5760028114613e0857613e37565b6001915050613e96565b60ff841115613e1a57613e19613cf3565b5b8360020a915084821115613e3157613e30613cf3565b5b50613e96565b5060208310610133831016604e8410600b8410161715613e6c5782820a905083811115613e6757613e66613cf3565b5b613e96565b613e798484846001613d77565b92509050818404811115613e9057613e8f613cf3565b5b81810290505b9392505050565b6000613ea882613768565b9150613eb38361390b565b9250613ee07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dca565b905092915050565b6000613ef382613768565b9150613efe83613768565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f3757613f36613cf3565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f9e6026836136c9565b9150613fa982613f42565b604082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140306024836136c9565b915061403b82613fd4565b604082019050919050565b6000602082019050818103600083015261405f81614023565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006140c26022836136c9565b91506140cd82614066565b604082019050919050565b600060208201905081810360008301526140f1816140b5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141546025836136c9565b915061415f826140f8565b604082019050919050565b6000602082019050818103600083015261418381614147565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141e66023836136c9565b91506141f18261418a565b604082019050919050565b60006020820190508181036000830152614215816141d9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006142786029836136c9565b91506142838261421c565b604082019050919050565b600060208201905081810360008301526142a78161426b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061430a603f836136c9565b9150614315826142ae565b604082019050919050565b60006020820190508181036000830152614339816142fd565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000614376601c836136c9565b915061438182614340565b602082019050919050565b600060208201905081810360008301526143a581614369565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006144086023836136c9565b9150614413826143ac565b604082019050919050565b60006020820190508181036000830152614437816143fb565b9050919050565b600061444982613768565b915061445483613768565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561448957614488613cf3565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006144f06023836136c9565b91506144fb82614494565b604082019050919050565b6000602082019050818103600083015261451f816144e3565b9050919050565b600061453182613768565b915061453c83613768565b92508282101561454f5761454e613cf3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006145b6602a836136c9565b91506145c18261455a565b604082019050919050565b600060208201905081810360008301526145e5816145a9565b9050919050565b6000815190506145fb816135b2565b92915050565b600060208284031215614617576146166134b4565b5b6000614625848285016145ec565b91505092915050565b6000819050919050565b600061465361464e6146498461462e565b613814565b613768565b9050919050565b61466381614638565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61469e816135a0565b82525050565b60006146b08383614695565b60208301905092915050565b6000602082019050919050565b60006146d482614669565b6146de8185614674565b93506146e983614685565b8060005b8381101561471a57815161470188826146a4565b975061470c836146bc565b9250506001810190506146ed565b5085935050505092915050565b600060a08201905061473c600083018861388e565b614749602083018761465a565b818103604083015261475b81866146c9565b905061476a6060830185613942565b614777608083018461388e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147bb82613768565b91506147c683613768565b9250826147d6576147d5614781565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061483d6021836136c9565b9150614848826147e1565b604082019050919050565b6000602082019050818103600083015261486c81614830565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006148a9601b836136c9565b91506148b482614873565b602082019050919050565b600060208201905081810360008301526148d88161489c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfd5ba7189068454c4a3e499dfbee5f27a6fcd7810a8e9c5558239ec8ecdb12764736f6c634300080e0033

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

000000000000000000000000b3ce07935586887323afe16a83af52b9b833d3d300000000000000000000000082dbd74cfd093625bd0a62aaccc81d4af4cfef9300000000000000000000000042e3a8f823115c1dfe41f67a6bb9ba1e5830197600000000000000000000000018c18c4bf8ac39363fe9bf21e3c89baa6b5193e0

-----Decoded View---------------
Arg [0] : developmentAddr (address): 0xb3CE07935586887323AfE16A83Af52B9B833d3d3
Arg [1] : marketingAddr (address): 0x82dbD74cfD093625bD0A62Aaccc81D4AF4cFEF93
Arg [2] : devFeeAddr1 (address): 0x42e3a8F823115C1DFe41F67A6bb9BA1E58301976
Arg [3] : devFeeAddr2 (address): 0x18C18c4bF8Ac39363fe9bF21E3C89BAa6B5193E0

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000b3ce07935586887323afe16a83af52b9b833d3d3
Arg [1] : 00000000000000000000000082dbd74cfd093625bd0a62aaccc81d4af4cfef93
Arg [2] : 00000000000000000000000042e3a8f823115c1dfe41f67a6bb9ba1e58301976
Arg [3] : 00000000000000000000000018c18c4bf8ac39363fe9bf21e3c89baa6b5193e0


Deployed Bytecode Sourcemap

6656:15459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16620:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9761:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10686:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8019:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10038:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10887:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8333:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9947:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8067:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8519:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;21916:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16797:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21092:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17805:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16311:301;;;;;;;;;;;;;:::i;:::-;;10141:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4143:148;;;;;;;;;;;;;:::i;:::-;;21232:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8209:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7764:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3929:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15892:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8270:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9852:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20901:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20558:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10287:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21713:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7814:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7720:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16001:302;;;;;;;;;;;;;:::i;:::-;;21471:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10494:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21348:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4299:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16620:169;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16696:9:::1;16691:91;16715:5;:12;16711:1;:16;16691:91;;;16766:4;16749;:14;16754:5;16760:1;16754:8;;;;;;;;:::i;:::-;;;;;;;;16749:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;16729:3;;;;;:::i;:::-;;;;16691:91;;;;16620:169:::0;:::o;9761:83::-;9798:13;9831:5;;;;;;;;;;;;;;;;;9824:12;;9761:83;:::o;10686:193::-;10788:4;10810:39;10819:12;:10;:12::i;:::-;10833:7;10842:6;10810:8;:39::i;:::-;10867:4;10860:11;;10686:193;;;;:::o;8019:41::-;;;;;;;;;;;;;:::o;10038:95::-;10091:7;6886:1;7225:2;:13;;;;:::i;:::-;7212:10;:26;;;;:::i;:::-;10111:14;;10038:95;:::o;10887:446::-;11019:4;11036:36;11046:6;11054:9;11065:6;11036:9;:36::i;:::-;11083:220;11106:6;11127:12;:10;:12::i;:::-;11154:138;11210:6;11154:138;;;;;;;;;;;;;;;;;:11;:19;11166:6;11154:19;;;;;;;;;;;;;;;:33;11174:12;:10;:12::i;:::-;11154:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;11083:8;:220::i;:::-;11321:4;11314:11;;10887:446;;;;;:::o;8333:58::-;;;;:::o;9947:83::-;9988:5;6886:1;10006:16;;9947:83;:::o;8067:28::-;;;;;;;;;;;;;:::o;8519:32::-;;;;;;;;;;;;;;;;;;;:::o;21916:196::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22003:9:::1;21999:106;22022:8;;:15;;22018:1;:19;21999:106;;;22071:9;:22;22081:8;;22090:1;22081:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;22071:22;;;;;;;;;;;;;;;;22064:29;;;;;;;;;;;22039:3;;;;;:::i;:::-;;;;21999:106;;;;21916:196:::0;;:::o;16797:92::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16876:5:::1;16861:4;:12;16866:6;16861:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;16797:92:::0;:::o;21092:101::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21173:12:::1;21159:11;;:26;;;;;;;;;;;;;;;;;;21092:101:::0;:::o;17805:249::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17951:11:::1;17924:12;:24;;:38;;;;17998:9;17973:12;:22;;:34;;;;18040:6;18018:12;:19;;:28;;;;17805:249:::0;;;:::o;16311:301::-;16377:18;;;;;;;;;;;16361:34;;:12;:10;:12::i;:::-;:34;;;:70;;;;16415:16;;;;;;;;;;;16399:32;;:12;:10;:12::i;:::-;:32;;;16361:70;:104;;;;16451:14;;;;;;;;;;;16435:30;;:12;:10;:12::i;:::-;:30;;;16361:104;:138;;;;16485:14;;;;;;;;;;;16469:30;;:12;:10;:12::i;:::-;:30;;;16361:138;16353:147;;;;;;16511:26;16540:21;16511:50;;16572:32;16585:18;16572:12;:32::i;:::-;16342:270;16311:301::o;10141:138::-;10207:7;10234:37;10254:7;:16;10262:7;10254:16;;;;;;;;;;;;;;;;10234:19;:37::i;:::-;10227:44;;10141:138;;;:::o;4143:148::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4250:1:::1;4213:40;;4234:6;::::0;::::1;;;;;;;;4213:40;;;;;;;;;;;;4281:1;4264:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4143:148::o:0;21232:108::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21321:11:::1;21306:12;:26;;;;21232:108:::0;:::o;8209:54::-;;;;:::o;7764:43::-;;;;;;;;;;;;;;;;;:::o;3929:79::-;3967:7;3994:6;;;;;;;;;;;3987:13;;3929:79;:::o;15892:101::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15973:12:::1;15959:11;;:26;;;;;;;;;;;;;;;;;;15892:101:::0;:::o;8270:56::-;;;;:::o;9852:87::-;9891:13;9924:7;;;;;;;;;;;;;;;;;9917:14;;9852:87;:::o;20901:139::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21014:18:::1;20992:19;:40;;;;20901:139:::0;:::o;20558:291::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20709:13:::1;20692:14;:30;;;;20751:14;20733:15;:32;;;;20791:11;20776:12;:26;;;;20829:12;20813:13;:28;;;;20558:291:::0;;;;:::o;10287:199::-;10392:4;10414:42;10424:12;:10;:12::i;:::-;10438:9;10449:6;10414:9;:42::i;:::-;10474:4;10467:11;;10287:199;;;;:::o;21713:195::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21799:9:::1;21795:106;21818:8;;:15;;21814:1;:19;21795:106;;;21885:4;21860:9;:22;21870:8;;21879:1;21870:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;21860:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;21835:3;;;;;:::i;:::-;;;;21795:106;;;;21713:195:::0;;:::o;7814:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;7720:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;16001:302::-;16067:18;;;;;;;;;;;16051:34;;:12;:10;:12::i;:::-;:34;;;:70;;;;16105:16;;;;;;;;;;;16089:32;;:12;:10;:12::i;:::-;:32;;;16051:70;:104;;;;16141:14;;;;;;;;;;;16125:30;;:12;:10;:12::i;:::-;:30;;;16051:104;:138;;;;16175:14;;;;;;;;;;;16159:30;;:12;:10;:12::i;:::-;:30;;;16051:138;16043:147;;;;;;16201:23;16227:24;16245:4;16227:9;:24::i;:::-;16201:50;;16262:33;16279:15;16262:16;:33::i;:::-;16032:271;16001:302::o;21471:234::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21588:9:::1;21584:114;21607:8;;:15;;21603:1;:19;21584:114;;;21678:8;21644:18;:31;21663:8;;21672:1;21663:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;21644:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;21624:3;;;;;:::i;:::-;;;;21584:114;;;;21471:234:::0;;;:::o;10494:184::-;10611:7;10643:11;:18;10655:5;10643:18;;;;;;;;;;;;;;;:27;10662:7;10643:27;;;;;;;;;;;;;;;;10636:34;;10494:184;;;;:::o;21348:115::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21442:13:::1;21425:14;:30;;;;21348:115:::0;:::o;4299:244::-;4066:12;:10;:12::i;:::-;4056:22;;:6;;;;;;;;;;:22;;;4048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4408:1:::1;4388:22;;:8;:22;;::::0;4380:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4498:8;4469:38;;4490:6;::::0;::::1;;;;;;;;4469:38;;;;;;;;;;;;4527:8;4518:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4299:244:::0;:::o;2688:98::-;2741:7;2768:10;2761:17;;2688:98;:::o;12024:369::-;12168:1;12151:19;;:5;:19;;;12143:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12249:1;12230:21;;:7;:21;;;12222:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12331:6;12301:11;:18;12313:5;12301:18;;;;;;;;;;;;;;;:27;12320:7;12301:27;;;;;;;;;;;;;;;:36;;;;12369:7;12353:32;;12362:5;12353:32;;;12378:6;12353:32;;;;;;:::i;:::-;;;;;;;;12024:369;;;:::o;12401:2368::-;12539:1;12523:18;;:4;:18;;;12515:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12616:1;12602:16;;:2;:16;;;12594:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12686:1;12677:6;:10;12669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12758:7;:5;:7::i;:::-;12750:15;;:4;:15;;;;:32;;;;;12775:7;:5;:7::i;:::-;12769:13;;:2;:13;;;;12750:32;:52;;;;;12787:9;:15;12797:4;12787:15;;;;;;;;;;;;;;;;;;;;;;;;;12786:16;12750:52;:70;;;;;12807:9;:13;12817:2;12807:13;;;;;;;;;;;;;;;;;;;;;;;;;12806:14;12750:70;12746:1297;;;12877:11;;;;;;;;;;;12872:144;;12917:9;:15;12927:4;12917:15;;;;;;;;;;;;;;;;;;;;;;;;;12909:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;12872:144;13050:12;;13040:6;:22;;13032:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;13119:4;:10;13124:4;13119:10;;;;;;;;;;;;;;;;;;;;;;;;;13118:11;:24;;;;;13134:4;:8;13139:2;13134:8;;;;;;;;;;;;;;;;;;;;;;;;;13133:9;13118:24;13110:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13208:13;;;;;;;;;;;13202:19;;:2;:19;;;13199:146;;13275:14;;13266:6;13250:13;13260:2;13250:9;:13::i;:::-;:22;;;;:::i;:::-;:39;13242:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;13199:146;13361:28;13392:24;13410:4;13392:9;:24::i;:::-;13361:55;;13431:12;13470:19;;13446:20;:43;;13431:58;;13533:12;;13509:20;:36;13506:124;;13602:12;;13579:35;;13506:124;13650:7;:18;;;;;13662:6;;;;;;;;;;;13661:7;13650:18;:43;;;;;13680:13;;;;;;;;;;;13672:21;;:4;:21;;;;13650:43;:58;;;;;13697:11;;;;;;;;;;;13650:58;:87;;;;;13713:18;:24;13732:4;13713:24;;;;;;;;;;;;;;;;;;;;;;;;;13712:25;13650:87;:114;;;;;13742:18;:22;13761:2;13742:22;;;;;;;;;;;;;;;;;;;;;;;;;13741:23;13650:114;13646:386;;;13785:38;13802:20;13785:16;:38::i;:::-;13842:26;13871:21;13842:50;;13936:1;13915:18;:22;13911:106;;;13962:35;13975:21;13962:12;:35::i;:::-;13911:106;13766:266;13646:386;12822:1221;;12746:1297;14055:12;14070:4;14055:19;;14119:18;:24;14138:4;14119:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;14147:18;:22;14166:2;14147:22;;;;;;;;;;;;;;;;;;;;;;;;;14119:50;14118:102;;;;14183:13;;;;;;;;;;;14175:21;;:4;:21;;;;:44;;;;;14206:13;;;;;;;;;;;14200:19;;:2;:19;;;;14175:44;14118:102;14114:594;;;14247:5;14237:15;;14114:594;;;14330:13;;;;;;;;;;;14322:21;;:4;:21;;;:55;;;;;14361:15;;;;;;;;;;;14347:30;;:2;:30;;;;14322:55;14319:162;;;14410:14;;14398:9;:26;;;;14453:12;;14443:7;:22;;;;14319:162;14540:13;;;;;;;;;;;14534:19;;:2;:19;;;:55;;;;;14573:15;;;;;;;;;;;14557:32;;:4;:32;;;;14534:55;14530:165;;;14622:15;;14610:9;:27;;;;14666:13;;14656:7;:23;;;;14530:165;14114:594;14720:41;14735:4;14741:2;14745:6;14753:7;14720:14;:41::i;:::-;12504:2265;12401:2368;;;:::o;4907:224::-;5027:7;5060:1;5055;:6;;5063:12;5047:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5087:9;5103:1;5099;:5;;;;:::i;:::-;5087:17;;5122:1;5115:8;;;4907:224;;;;;:::o;15268:616::-;8654:4;8645:6;;:13;;;;;;;;;;;;;;;;;;15337:23:::1;15363:6;15337:32;;15380:22;15405:52;15453:3;15405:43;15425:12;:22;;;15405:15;:19;;:43;;;;:::i;:::-;:47;;:52;;;;:::i;:::-;15380:77;;15468:19;15490:56;15544:1;15490:49;15535:3;15490:40;15510:12;:19;;;15490:15;:19;;:40;;;;:::i;:::-;:44;;:49;;;;:::i;:::-;:53;;:56;;;;:::i;:::-;15468:78;;15557:24;15584:54;15634:3;15584:45;15604:12;:24;;;15584:15;:19;;:45;;;;:::i;:::-;:49;;:54;;;;:::i;:::-;15557:81;;15657:16;;;;;;;;;;;15649:34;;:50;15684:14;15649:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15718:14;;;;;;;;;;;15710:32;;:45;15743:11;15710:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15774:14;;;;;;;;;;;15766:32;;:45;15799:11;15766:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15830:18;;;;;;;;;;;15822:36;;:54;15859:16;15822:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15326:558;;;;8690:5:::0;8681:6;;:14;;;;;;;;;;;;;;;;;;15268:616;:::o;11341:323::-;11436:7;11494;;11483;:18;;11461:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;11582:19;11604:10;:8;:10::i;:::-;11582:32;;11632:24;11644:11;11632:7;:11;;:24;;;;:::i;:::-;11625:31;;;11341:323;;;:::o;14777:483::-;8654:4;8645:6;;:13;;;;;;;;;;;;;;;;;;14855:21:::1;14893:1;14879:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14855:40;;14924:4;14906;14911:1;14906:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14950:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14940:4;14945:1;14940:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;14983:62;15000:4;15015:15;;;;;;;;;;;15033:11;14983:8;:62::i;:::-;15056:15;;;;;;;;;;;:66;;;15137:11;15163:1;15179:4;15206;15226:15;15056:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14844:416;8690:5:::0;8681:6;;:14;;;;;;;;;;;;;;;;;;14777:483;:::o;16897:282::-;17053:7;17048:28;;17062:14;:12;:14::i;:::-;17048:28;17087:44;17105:6;17113:9;17124:6;17087:17;:44::i;:::-;17147:7;17142:29;;17156:15;:13;:15::i;:::-;17142:29;16897:282;;;;:::o;5139:246::-;5197:7;5226:1;5221;:6;5217:47;;5251:1;5244:8;;;;5217:47;5274:9;5290:1;5286;:5;;;;:::i;:::-;5274:17;;5319:1;5314;5310;:5;;;;:::i;:::-;:10;5302:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5376:1;5369:8;;;5139:246;;;;;:::o;5393:132::-;5451:7;5478:39;5482:1;5485;5478:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5471:46;;5393:132;;;;:::o;20121:164::-;20163:7;20184:15;20201;20220:19;:17;:19::i;:::-;20183:56;;;;20257:20;20269:7;20257;:11;;:20;;;;:::i;:::-;20250:27;;;;20121:164;:::o;11672:219::-;11732:1;11719:9;;:14;:30;;;;;11748:1;11737:7;;:12;11719:30;11751:7;11715:43;11790:9;;11770:17;:29;;;;11828:7;;11810:15;:25;;;;11860:1;11848:9;:13;;;;11882:1;11872:7;:11;;;;11672:219;:::o;17187:610::-;17334:15;17364:23;17402:12;17429:23;17467:12;17494:13;17521:19;17532:7;17521:10;:19::i;:::-;17319:221;;;;;;;;;;;;17569:28;17589:7;17569;:15;17577:6;17569:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17551:7;:15;17559:6;17551:15;;;;;;;;;;;;;;;:46;;;;17629:39;17652:15;17629:7;:18;17637:9;17629:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17608:7;:18;17616:9;17608:18;;;;;;;;;;;;;;;:60;;;;17679:16;17689:5;17679:9;:16::i;:::-;17706:23;17718:4;17724;17706:11;:23::i;:::-;17762:9;17745:44;;17754:6;17745:44;;;17773:15;17745:44;;;;;;:::i;:::-;;;;;;;;17308:489;;;;;;17187:610;;;:::o;11899:117::-;11955:17;;11943:9;:29;;;;11993:15;;11983:7;:25;;;;11899:117::o;5533:223::-;5653:7;5685:1;5681;:5;5688:12;5673:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5712:9;5728:1;5724;:5;;;;:::i;:::-;5712:17;;5747:1;5740:8;;;5533:223;;;;;:::o;20293:257::-;20344:7;20353;20373:15;20391:7;;20373:25;;20409:15;6886:1;7225:2;:13;;;;:::i;:::-;7212:10;:26;;;;:::i;:::-;20409:25;;20459:20;6886:1;7225:2;:13;;;;:::i;:::-;7212:10;:26;;;;:::i;:::-;20459:7;;:11;;:20;;;;:::i;:::-;20449:7;:30;20445:61;;;20489:7;;6886:1;7225:2;:13;;;;:::i;:::-;7212:10;:26;;;;:::i;:::-;20481:25;;;;;;;;20445:61;20525:7;20534;20517:25;;;;;;20293:257;;;:::o;18479:615::-;18579:7;18601;18623;18645;18667;18689;18725:23;18750:12;18764:13;18794:40;18806:7;18815:9;;18826:7;;18794:11;:40::i;:::-;18724:110;;;;;;18845:19;18867:10;:8;:10::i;:::-;18845:32;;18889:15;18906:23;18931:12;18960:46;18972:7;18981:4;18987:5;18994:11;18960;:46::i;:::-;18888:118;;;;;;19025:7;19034:15;19051:4;19057:15;19074:4;19080:5;19017:69;;;;;;;;;;;;;;;;;;;18479:615;;;;;;;:::o;4763:136::-;4821:7;4848:43;4852:1;4855;4848:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4841:50;;4763:136;;;;:::o;4576:179::-;4634:7;4654:9;4670:1;4666;:5;;;;:::i;:::-;4654:17;;4695:1;4690;:6;;4682:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4746:1;4739:8;;;4576:179;;;;:::o;18062:211::-;18115:19;18137:10;:8;:10::i;:::-;18115:32;;18158:13;18174:22;18184:11;18174:5;:9;;:22;;;;:::i;:::-;18158:38;;18232:33;18259:5;18232:7;:22;18248:4;18232:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18207:7;:22;18223:4;18207:22;;;;;;;;;;;;;;;:58;;;;18104:169;;18062:211;:::o;18281:147::-;18359:17;18371:4;18359:7;;:11;;:17;;;;:::i;:::-;18349:7;:27;;;;18400:20;18415:4;18400:10;;:14;;:20;;;;:::i;:::-;18387:10;:33;;;;18281:147;;:::o;19102:469::-;19271:7;19293;19315;19350:12;19365:30;19391:3;19365:21;19377:8;19365:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;19350:45;;19406:13;19422:28;19446:3;19422:19;19434:6;19422:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;19406:44;;19461:23;19487:28;19509:5;19487:17;19499:4;19487:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19461:54;;19534:15;19551:4;19557:5;19526:37;;;;;;;;;19102:469;;;;;;;:::o;19579:534::-;19773:7;19795;19817;19852:15;19870:24;19882:11;19870:7;:11;;:24;;;;:::i;:::-;19852:42;;19905:12;19920:21;19929:11;19920:4;:8;;:21;;;;:::i;:::-;19905:36;;19952:13;19968:22;19978:11;19968:5;:9;;:22;;;;:::i;:::-;19952:38;;20001:23;20027:28;20049:5;20027:17;20039:4;20027:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;20001:54;;20074:7;20083:15;20100:4;20066:39;;;;;;;;;;19579:534;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:442::-;9217:4;9255:2;9244:9;9240:18;9232:26;;9268:71;9336:1;9325:9;9321:17;9312:6;9268:71;:::i;:::-;9349:72;9417:2;9406:9;9402:18;9393:6;9349:72;:::i;:::-;9431;9499:2;9488:9;9484:18;9475:6;9431:72;:::i;:::-;9068:442;;;;;;:::o;9516:117::-;9625:1;9622;9615:12;9656:568;9729:8;9739:6;9789:3;9782:4;9774:6;9770:17;9766:27;9756:122;;9797:79;;:::i;:::-;9756:122;9910:6;9897:20;9887:30;;9940:18;9932:6;9929:30;9926:117;;;9962:79;;:::i;:::-;9926:117;10076:4;10068:6;10064:17;10052:29;;10130:3;10122:4;10114:6;10110:17;10100:8;10096:32;10093:41;10090:128;;;10137:79;;:::i;:::-;10090:128;9656:568;;;;;:::o;10230:559::-;10316:6;10324;10373:2;10361:9;10352:7;10348:23;10344:32;10341:119;;;10379:79;;:::i;:::-;10341:119;10527:1;10516:9;10512:17;10499:31;10557:18;10549:6;10546:30;10543:117;;;10579:79;;:::i;:::-;10543:117;10692:80;10764:7;10755:6;10744:9;10740:22;10692:80;:::i;:::-;10674:98;;;;10470:312;10230:559;;;;;:::o;10795:329::-;10854:6;10903:2;10891:9;10882:7;10878:23;10874:32;10871:119;;;10909:79;;:::i;:::-;10871:119;11029:1;11054:53;11099:7;11090:6;11079:9;11075:22;11054:53;:::i;:::-;11044:63;;11000:117;10795:329;;;;:::o;11130:116::-;11200:21;11215:5;11200:21;:::i;:::-;11193:5;11190:32;11180:60;;11236:1;11233;11226:12;11180:60;11130:116;:::o;11252:133::-;11295:5;11333:6;11320:20;11311:29;;11349:30;11373:5;11349:30;:::i;:::-;11252:133;;;;:::o;11391:323::-;11447:6;11496:2;11484:9;11475:7;11471:23;11467:32;11464:119;;;11502:79;;:::i;:::-;11464:119;11622:1;11647:50;11689:7;11680:6;11669:9;11665:22;11647:50;:::i;:::-;11637:60;;11593:114;11391:323;;;;:::o;11720:619::-;11797:6;11805;11813;11862:2;11850:9;11841:7;11837:23;11833:32;11830:119;;;11868:79;;:::i;:::-;11830:119;11988:1;12013:53;12058:7;12049:6;12038:9;12034:22;12013:53;:::i;:::-;12003:63;;11959:117;12115:2;12141:53;12186:7;12177:6;12166:9;12162:22;12141:53;:::i;:::-;12131:63;;12086:118;12243:2;12269:53;12314:7;12305:6;12294:9;12290:22;12269:53;:::i;:::-;12259:63;;12214:118;11720:619;;;;;:::o;12345:329::-;12404:6;12453:2;12441:9;12432:7;12428:23;12424:32;12421:119;;;12459:79;;:::i;:::-;12421:119;12579:1;12604:53;12649:7;12640:6;12629:9;12625:22;12604:53;:::i;:::-;12594:63;;12550:117;12345:329;;;;:::o;12680:765::-;12766:6;12774;12782;12790;12839:3;12827:9;12818:7;12814:23;12810:33;12807:120;;;12846:79;;:::i;:::-;12807:120;12966:1;12991:53;13036:7;13027:6;13016:9;13012:22;12991:53;:::i;:::-;12981:63;;12937:117;13093:2;13119:53;13164:7;13155:6;13144:9;13140:22;13119:53;:::i;:::-;13109:63;;13064:118;13221:2;13247:53;13292:7;13283:6;13272:9;13268:22;13247:53;:::i;:::-;13237:63;;13192:118;13349:2;13375:53;13420:7;13411:6;13400:9;13396:22;13375:53;:::i;:::-;13365:63;;13320:118;12680:765;;;;;;;:::o;13451:698::-;13543:6;13551;13559;13608:2;13596:9;13587:7;13583:23;13579:32;13576:119;;;13614:79;;:::i;:::-;13576:119;13762:1;13751:9;13747:17;13734:31;13792:18;13784:6;13781:30;13778:117;;;13814:79;;:::i;:::-;13778:117;13927:80;13999:7;13990:6;13979:9;13975:22;13927:80;:::i;:::-;13909:98;;;;13705:312;14056:2;14082:50;14124:7;14115:6;14104:9;14100:22;14082:50;:::i;:::-;14072:60;;14027:115;13451:698;;;;;:::o;14155:474::-;14223:6;14231;14280:2;14268:9;14259:7;14255:23;14251:32;14248:119;;;14286:79;;:::i;:::-;14248:119;14406:1;14431:53;14476:7;14467:6;14456:9;14452:22;14431:53;:::i;:::-;14421:63;;14377:117;14533:2;14559:53;14604:7;14595:6;14584:9;14580:22;14559:53;:::i;:::-;14549:63;;14504:118;14155:474;;;;;:::o;14635:182::-;14775:34;14771:1;14763:6;14759:14;14752:58;14635:182;:::o;14823:366::-;14965:3;14986:67;15050:2;15045:3;14986:67;:::i;:::-;14979:74;;15062:93;15151:3;15062:93;:::i;:::-;15180:2;15175:3;15171:12;15164:19;;14823:366;;;:::o;15195:419::-;15361:4;15399:2;15388:9;15384:18;15376:26;;15448:9;15442:4;15438:20;15434:1;15423:9;15419:17;15412:47;15476:131;15602:4;15476:131;:::i;:::-;15468:139;;15195:419;;;:::o;15620:180::-;15668:77;15665:1;15658:88;15765:4;15762:1;15755:15;15789:4;15786:1;15779:15;15806:180;15854:77;15851:1;15844:88;15951:4;15948:1;15941:15;15975:4;15972:1;15965:15;15992:233;16031:3;16054:24;16072:5;16054:24;:::i;:::-;16045:33;;16100:66;16093:5;16090:77;16087:103;;16170:18;;:::i;:::-;16087:103;16217:1;16210:5;16206:13;16199:20;;15992:233;;;:::o;16231:102::-;16273:8;16320:5;16317:1;16313:13;16292:34;;16231:102;;;:::o;16339:848::-;16400:5;16407:4;16431:6;16422:15;;16455:5;16446:14;;16469:712;16490:1;16480:8;16477:15;16469:712;;;16585:4;16580:3;16576:14;16570:4;16567:24;16564:50;;;16594:18;;:::i;:::-;16564:50;16644:1;16634:8;16630:16;16627:451;;;17059:4;17052:5;17048:16;17039:25;;16627:451;17109:4;17103;17099:15;17091:23;;17139:32;17162:8;17139:32;:::i;:::-;17127:44;;16469:712;;;16339:848;;;;;;;:::o;17193:1073::-;17247:5;17438:8;17428:40;;17459:1;17450:10;;17461:5;;17428:40;17487:4;17477:36;;17504:1;17495:10;;17506:5;;17477:36;17573:4;17621:1;17616:27;;;;17657:1;17652:191;;;;17566:277;;17616:27;17634:1;17625:10;;17636:5;;;17652:191;17697:3;17687:8;17684:17;17681:43;;;17704:18;;:::i;:::-;17681:43;17753:8;17750:1;17746:16;17737:25;;17788:3;17781:5;17778:14;17775:40;;;17795:18;;:::i;:::-;17775:40;17828:5;;;17566:277;;17952:2;17942:8;17939:16;17933:3;17927:4;17924:13;17920:36;17902:2;17892:8;17889:16;17884:2;17878:4;17875:12;17871:35;17855:111;17852:246;;;18008:8;18002:4;17998:19;17989:28;;18043:3;18036:5;18033:14;18030:40;;;18050:18;;:::i;:::-;18030:40;18083:5;;17852:246;18123:42;18161:3;18151:8;18145:4;18142:1;18123:42;:::i;:::-;18108:57;;;;18197:4;18192:3;18188:14;18181:5;18178:25;18175:51;;;18206:18;;:::i;:::-;18175:51;18255:4;18248:5;18244:16;18235:25;;17193:1073;;;;;;:::o;18272:281::-;18330:5;18354:23;18372:4;18354:23;:::i;:::-;18346:31;;18398:25;18414:8;18398:25;:::i;:::-;18386:37;;18442:104;18479:66;18469:8;18463:4;18442:104;:::i;:::-;18433:113;;18272:281;;;;:::o;18559:348::-;18599:7;18622:20;18640:1;18622:20;:::i;:::-;18617:25;;18656:20;18674:1;18656:20;:::i;:::-;18651:25;;18844:1;18776:66;18772:74;18769:1;18766:81;18761:1;18754:9;18747:17;18743:105;18740:131;;;18851:18;;:::i;:::-;18740:131;18899:1;18896;18892:9;18881:20;;18559:348;;;;:::o;18913:225::-;19053:34;19049:1;19041:6;19037:14;19030:58;19122:8;19117:2;19109:6;19105:15;19098:33;18913:225;:::o;19144:366::-;19286:3;19307:67;19371:2;19366:3;19307:67;:::i;:::-;19300:74;;19383:93;19472:3;19383:93;:::i;:::-;19501:2;19496:3;19492:12;19485:19;;19144:366;;;:::o;19516:419::-;19682:4;19720:2;19709:9;19705:18;19697:26;;19769:9;19763:4;19759:20;19755:1;19744:9;19740:17;19733:47;19797:131;19923:4;19797:131;:::i;:::-;19789:139;;19516:419;;;:::o;19941:223::-;20081:34;20077:1;20069:6;20065:14;20058:58;20150:6;20145:2;20137:6;20133:15;20126:31;19941:223;:::o;20170:366::-;20312:3;20333:67;20397:2;20392:3;20333:67;:::i;:::-;20326:74;;20409:93;20498:3;20409:93;:::i;:::-;20527:2;20522:3;20518:12;20511:19;;20170:366;;;:::o;20542:419::-;20708:4;20746:2;20735:9;20731:18;20723:26;;20795:9;20789:4;20785:20;20781:1;20770:9;20766:17;20759:47;20823:131;20949:4;20823:131;:::i;:::-;20815:139;;20542:419;;;:::o;20967:221::-;21107:34;21103:1;21095:6;21091:14;21084:58;21176:4;21171:2;21163:6;21159:15;21152:29;20967:221;:::o;21194:366::-;21336:3;21357:67;21421:2;21416:3;21357:67;:::i;:::-;21350:74;;21433:93;21522:3;21433:93;:::i;:::-;21551:2;21546:3;21542:12;21535:19;;21194:366;;;:::o;21566:419::-;21732:4;21770:2;21759:9;21755:18;21747:26;;21819:9;21813:4;21809:20;21805:1;21794:9;21790:17;21783:47;21847:131;21973:4;21847:131;:::i;:::-;21839:139;;21566:419;;;:::o;21991:224::-;22131:34;22127:1;22119:6;22115:14;22108:58;22200:7;22195:2;22187:6;22183:15;22176:32;21991:224;:::o;22221:366::-;22363:3;22384:67;22448:2;22443:3;22384:67;:::i;:::-;22377:74;;22460:93;22549:3;22460:93;:::i;:::-;22578:2;22573:3;22569:12;22562:19;;22221:366;;;:::o;22593:419::-;22759:4;22797:2;22786:9;22782:18;22774:26;;22846:9;22840:4;22836:20;22832:1;22821:9;22817:17;22810:47;22874:131;23000:4;22874:131;:::i;:::-;22866:139;;22593:419;;;:::o;23018:222::-;23158:34;23154:1;23146:6;23142:14;23135:58;23227:5;23222:2;23214:6;23210:15;23203:30;23018:222;:::o;23246:366::-;23388:3;23409:67;23473:2;23468:3;23409:67;:::i;:::-;23402:74;;23485:93;23574:3;23485:93;:::i;:::-;23603:2;23598:3;23594:12;23587:19;;23246:366;;;:::o;23618:419::-;23784:4;23822:2;23811:9;23807:18;23799:26;;23871:9;23865:4;23861:20;23857:1;23846:9;23842:17;23835:47;23899:131;24025:4;23899:131;:::i;:::-;23891:139;;23618:419;;;:::o;24043:228::-;24183:34;24179:1;24171:6;24167:14;24160:58;24252:11;24247:2;24239:6;24235:15;24228:36;24043:228;:::o;24277:366::-;24419:3;24440:67;24504:2;24499:3;24440:67;:::i;:::-;24433:74;;24516:93;24605:3;24516:93;:::i;:::-;24634:2;24629:3;24625:12;24618:19;;24277:366;;;:::o;24649:419::-;24815:4;24853:2;24842:9;24838:18;24830:26;;24902:9;24896:4;24892:20;24888:1;24877:9;24873:17;24866:47;24930:131;25056:4;24930:131;:::i;:::-;24922:139;;24649:419;;;:::o;25074:250::-;25214:34;25210:1;25202:6;25198:14;25191:58;25283:33;25278:2;25270:6;25266:15;25259:58;25074:250;:::o;25330:366::-;25472:3;25493:67;25557:2;25552:3;25493:67;:::i;:::-;25486:74;;25569:93;25658:3;25569:93;:::i;:::-;25687:2;25682:3;25678:12;25671:19;;25330:366;;;:::o;25702:419::-;25868:4;25906:2;25895:9;25891:18;25883:26;;25955:9;25949:4;25945:20;25941:1;25930:9;25926:17;25919:47;25983:131;26109:4;25983:131;:::i;:::-;25975:139;;25702:419;;;:::o;26127:178::-;26267:30;26263:1;26255:6;26251:14;26244:54;26127:178;:::o;26311:366::-;26453:3;26474:67;26538:2;26533:3;26474:67;:::i;:::-;26467:74;;26550:93;26639:3;26550:93;:::i;:::-;26668:2;26663:3;26659:12;26652:19;;26311:366;;;:::o;26683:419::-;26849:4;26887:2;26876:9;26872:18;26864:26;;26936:9;26930:4;26926:20;26922:1;26911:9;26907:17;26900:47;26964:131;27090:4;26964:131;:::i;:::-;26956:139;;26683:419;;;:::o;27108:222::-;27248:34;27244:1;27236:6;27232:14;27225:58;27317:5;27312:2;27304:6;27300:15;27293:30;27108:222;:::o;27336:366::-;27478:3;27499:67;27563:2;27558:3;27499:67;:::i;:::-;27492:74;;27575:93;27664:3;27575:93;:::i;:::-;27693:2;27688:3;27684:12;27677:19;;27336:366;;;:::o;27708:419::-;27874:4;27912:2;27901:9;27897:18;27889:26;;27961:9;27955:4;27951:20;27947:1;27936:9;27932:17;27925:47;27989:131;28115:4;27989:131;:::i;:::-;27981:139;;27708:419;;;:::o;28133:305::-;28173:3;28192:20;28210:1;28192:20;:::i;:::-;28187:25;;28226:20;28244:1;28226:20;:::i;:::-;28221:25;;28380:1;28312:66;28308:74;28305:1;28302:81;28299:107;;;28386:18;;:::i;:::-;28299:107;28430:1;28427;28423:9;28416:16;;28133:305;;;;:::o;28444:222::-;28584:34;28580:1;28572:6;28568:14;28561:58;28653:5;28648:2;28640:6;28636:15;28629:30;28444:222;:::o;28672:366::-;28814:3;28835:67;28899:2;28894:3;28835:67;:::i;:::-;28828:74;;28911:93;29000:3;28911:93;:::i;:::-;29029:2;29024:3;29020:12;29013:19;;28672:366;;;:::o;29044:419::-;29210:4;29248:2;29237:9;29233:18;29225:26;;29297:9;29291:4;29287:20;29283:1;29272:9;29268:17;29261:47;29325:131;29451:4;29325:131;:::i;:::-;29317:139;;29044:419;;;:::o;29469:191::-;29509:4;29529:20;29547:1;29529:20;:::i;:::-;29524:25;;29563:20;29581:1;29563:20;:::i;:::-;29558:25;;29602:1;29599;29596:8;29593:34;;;29607:18;;:::i;:::-;29593:34;29652:1;29649;29645:9;29637:17;;29469:191;;;;:::o;29666:229::-;29806:34;29802:1;29794:6;29790:14;29783:58;29875:12;29870:2;29862:6;29858:15;29851:37;29666:229;:::o;29901:366::-;30043:3;30064:67;30128:2;30123:3;30064:67;:::i;:::-;30057:74;;30140:93;30229:3;30140:93;:::i;:::-;30258:2;30253:3;30249:12;30242:19;;29901:366;;;:::o;30273:419::-;30439:4;30477:2;30466:9;30462:18;30454:26;;30526:9;30520:4;30516:20;30512:1;30501:9;30497:17;30490:47;30554:131;30680:4;30554:131;:::i;:::-;30546:139;;30273:419;;;:::o;30698:143::-;30755:5;30786:6;30780:13;30771:22;;30802:33;30829:5;30802:33;:::i;:::-;30698:143;;;;:::o;30847:351::-;30917:6;30966:2;30954:9;30945:7;30941:23;30937:32;30934:119;;;30972:79;;:::i;:::-;30934:119;31092:1;31117:64;31173:7;31164:6;31153:9;31149:22;31117:64;:::i;:::-;31107:74;;31063:128;30847:351;;;;:::o;31204:85::-;31249:7;31278:5;31267:16;;31204:85;;;:::o;31295:158::-;31353:9;31386:61;31404:42;31413:32;31439:5;31413:32;:::i;:::-;31404:42;:::i;:::-;31386:61;:::i;:::-;31373:74;;31295:158;;;:::o;31459:147::-;31554:45;31593:5;31554:45;:::i;:::-;31549:3;31542:58;31459:147;;:::o;31612:114::-;31679:6;31713:5;31707:12;31697:22;;31612:114;;;:::o;31732:184::-;31831:11;31865:6;31860:3;31853:19;31905:4;31900:3;31896:14;31881:29;;31732:184;;;;:::o;31922:132::-;31989:4;32012:3;32004:11;;32042:4;32037:3;32033:14;32025:22;;31922:132;;;:::o;32060:108::-;32137:24;32155:5;32137:24;:::i;:::-;32132:3;32125:37;32060:108;;:::o;32174:179::-;32243:10;32264:46;32306:3;32298:6;32264:46;:::i;:::-;32342:4;32337:3;32333:14;32319:28;;32174:179;;;;:::o;32359:113::-;32429:4;32461;32456:3;32452:14;32444:22;;32359:113;;;:::o;32508:732::-;32627:3;32656:54;32704:5;32656:54;:::i;:::-;32726:86;32805:6;32800:3;32726:86;:::i;:::-;32719:93;;32836:56;32886:5;32836:56;:::i;:::-;32915:7;32946:1;32931:284;32956:6;32953:1;32950:13;32931:284;;;33032:6;33026:13;33059:63;33118:3;33103:13;33059:63;:::i;:::-;33052:70;;33145:60;33198:6;33145:60;:::i;:::-;33135:70;;32991:224;32978:1;32975;32971:9;32966:14;;32931:284;;;32935:14;33231:3;33224:10;;32632:608;;;32508:732;;;;:::o;33246:831::-;33509:4;33547:3;33536:9;33532:19;33524:27;;33561:71;33629:1;33618:9;33614:17;33605:6;33561:71;:::i;:::-;33642:80;33718:2;33707:9;33703:18;33694:6;33642:80;:::i;:::-;33769:9;33763:4;33759:20;33754:2;33743:9;33739:18;33732:48;33797:108;33900:4;33891:6;33797:108;:::i;:::-;33789:116;;33915:72;33983:2;33972:9;33968:18;33959:6;33915:72;:::i;:::-;33997:73;34065:3;34054:9;34050:19;34041:6;33997:73;:::i;:::-;33246:831;;;;;;;;:::o;34083:180::-;34131:77;34128:1;34121:88;34228:4;34225:1;34218:15;34252:4;34249:1;34242:15;34269:185;34309:1;34326:20;34344:1;34326:20;:::i;:::-;34321:25;;34360:20;34378:1;34360:20;:::i;:::-;34355:25;;34399:1;34389:35;;34404:18;;:::i;:::-;34389:35;34446:1;34443;34439:9;34434:14;;34269:185;;;;:::o;34460:220::-;34600:34;34596:1;34588:6;34584:14;34577:58;34669:3;34664:2;34656:6;34652:15;34645:28;34460:220;:::o;34686:366::-;34828:3;34849:67;34913:2;34908:3;34849:67;:::i;:::-;34842:74;;34925:93;35014:3;34925:93;:::i;:::-;35043:2;35038:3;35034:12;35027:19;;34686:366;;;:::o;35058:419::-;35224:4;35262:2;35251:9;35247:18;35239:26;;35311:9;35305:4;35301:20;35297:1;35286:9;35282:17;35275:47;35339:131;35465:4;35339:131;:::i;:::-;35331:139;;35058:419;;;:::o;35483:177::-;35623:29;35619:1;35611:6;35607:14;35600:53;35483:177;:::o;35666:366::-;35808:3;35829:67;35893:2;35888:3;35829:67;:::i;:::-;35822:74;;35905:93;35994:3;35905:93;:::i;:::-;36023:2;36018:3;36014:12;36007:19;;35666:366;;;:::o;36038:419::-;36204:4;36242:2;36231:9;36227:18;36219:26;;36291:9;36285:4;36281:20;36277:1;36266:9;36262:17;36255:47;36319:131;36445:4;36319:131;:::i;:::-;36311:139;;36038:419;;;:::o

Swarm Source

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