ETH Price: $2,196.05 (-0.60%)

Token

Swing Token (SWING)
 

Overview

Max Total Supply

1,000,000,000,000 SWING

Holders

176

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
987,570,220.716660197 SWING

Value
$0.00
0xa3340d92be3bb1955b76ebf49e94e9e9af8a5a50
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:
Swing

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-19
*/

/**
 * 
 * $SWING
 * TG: https://t.me/swing_token
 * 
 * 
 * Tokenomics:
 * 
 * Tax is only 5% but swings
 * 
 * Reversal mode - buy tax is 1% for 5 minutes if one of following is met:
 * - 6 consecutive sells
 * - a single sell of 2% price impact 
 * 
 * Anti-paperhand mode - sell tax is increased to 10% for 5 minutes if one of following is met:
 * - 6 consecutive buys
 * - a single buy of 2% price impact 
 * 
 * Redistribution - 20% of all collected fees
 * 
 * Early bird mechanic - runs for the first 10 minutes
 * - 10% buy tax
 * 
 * No team tokens, no presale
 * 
 * SPDX-License-Identifier: UNLICENSED 
 * 
*/

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

}  

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

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

contract Swing is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    mapping (address => User) private trader;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"Swing Token";
    string private constant _symbol = unicode"SWING";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 6;
    uint256 private _launchTime;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    uint256 private _maxBuyAmount;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private _cooldownEnabled = true;
    bool private _communityMode = false;
    bool private inSwap = false;
    uint256 private launchBlock = 0;
    uint256 private buyLimitEnd;
    uint256 private antipaper = 0;
    uint256 private buymode = 0;
    uint256 private consecBuyCounter = 0;
    uint256 private consecSellCounter = 0;
    struct User {
        uint256 buyCD;
        bool exists;
    }

    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event CooldownEnabledUpdated(bool _cooldown);
    event FeeMultiplierUpdated(uint _multiplier);
    event FeeRateUpdated(uint _rate);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable marketingWalletAddress) {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public 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(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    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()) {
            
            require(!_bots[from] && !_bots[to]);
            
            if(!trader[msg.sender].exists) {
                trader[msg.sender] = User(0,true);
            }
            uint256 totalFee = 2;
            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                
                if(block.timestamp > _launchTime + (10 minutes)) {
                    if (buymode > block.timestamp) {
                        totalFee = 2;
                    } else {
                        totalFee = 5;
                    }
                } else {
                    totalFee = 10;
                }
                
                _taxFee = (totalFee.mul(2)).div(10);
                _teamFee = (totalFee.mul(8)).div(10);
                
                if(_cooldownEnabled) {
                    if(buyLimitEnd > block.timestamp) {
                        require(amount <= _maxBuyAmount);
                        require(trader[to].buyCD < block.timestamp, "Your buy cooldown has not expired.");
                        trader[to].buyCD = block.timestamp + (45 seconds);
                    }
                }
                
                if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) {
                    antipaper = block.timestamp + (5 minutes);
                }
                
                if (consecBuyCounter >= 5) {
                    antipaper = block.timestamp + (5 minutes);
                    consecBuyCounter = 0;
                } else {
                    consecBuyCounter++;
                }
                
                consecSellCounter = 0;
                
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                
                if (antipaper > block.timestamp) {
                    totalFee = 10;
                } else {
                    totalFee = 5;
                }
                
                _taxFee = (totalFee.mul(2)).div(10);
                _teamFee = (totalFee.mul(8)).div(10);

                if(contractTokenBalance > 0) {
                    if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(6).div(100)) {
                        contractTokenBalance = balanceOf(uniswapV2Pair).mul(6).div(100);
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                
                if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { 
                    buymode = block.timestamp + (5 minutes);
                }
                
                if (consecSellCounter >= 5) {
                    buymode = block.timestamp + (5 minutes);
                    consecSellCounter = 0;
                } else {
                    consecSellCounter++;
                }
                
                consecBuyCounter = 0;
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _communityMode){
            takeFee = false;
        }
        
        _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 {
        _FeeAddress.transfer(amount.div(2));
        _marketingWalletAddress.transfer(amount.div(2));
    }
    
    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 _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        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 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    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 _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 _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 openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxBuyAmount = 5000000000 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        buyLimitEnd = block.timestamp + (20 seconds);
        _launchTime = block.timestamp;
    }

    function setMarketingWallet (address payable marketingWalletAddress) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[_marketingWalletAddress] = false;
        _marketingWalletAddress = marketingWalletAddress;
        _isExcludedFromFee[marketingWalletAddress] = true;
    }
    
    function excludeFromFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = false;
    }
    
    // Fees will no longer be collected when
    function setCommunityMode(bool onoff) external {
        require(_msgSender() == _FeeAddress);
        _communityMode = onoff;
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _bots[bots_[i]] = true;
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        _bots[notbot] = false;
    }
    
    function isBot(address ad) public view returns (bool) {
        return _bots[ad];
    }
    
    function isAntipaperMode() public view returns (bool) {
        return (antipaper > block.timestamp);
    }
    
    function isSwingMode() public view returns (bool) {
        return (buymode > block.timestamp);
    }
    
    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        _cooldownEnabled = onoff;
        emit CooldownEnabledUpdated(_cooldownEnabled);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function cooldownEnabled() public view returns (bool) {
        return _cooldownEnabled;
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - trader[buyer].buyCD;
    }
    
    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","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":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAntipaperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSwingMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCommunityMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620005b1565b6000196200002c919062000538565b6008556001600a556006600b55600a54600d55600b54600e556000601360146101000a81548160ff0219169083151502179055506001601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff02191690831515021790555060006014556000601655600060175560006018556000601955348015620000d757600080fd5b5060405162004838380380620048388339818101604052810190620000fd9190620004c3565b60006200010f6200047b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002466200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200029a6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004036200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200046b91906200051b565b60405180910390a3505062000666565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004bd816200064c565b92915050565b60008060408385031215620004dd57620004dc62000647565b5b6000620004ed85828601620004ac565b92505060206200050085828601620004ac565b9150509250929050565b6200051581620005a7565b82525050565b60006020820190506200053260008301846200050a565b92915050565b60006200054582620005a7565b91506200055283620005a7565b925082821015620005685762000567620005e9565b5b828203905092915050565b6000620005808262000587565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005be82620005a7565b9150620005cb83620005a7565b925082620005de57620005dd62000618565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620006578162000573565b81146200066357600080fd5b50565b6141c280620006766000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063ba48ecb31161008a578063ca80166711610064578063ca801667146105df578063cf0848f71461060a578063db92dbb614610633578063dd62ed3e1461065e576101c2565b8063ba48ecb314610586578063c3c8cd80146105b1578063c9567bf9146105c8576101c2565b8063a9059cbb116100c6578063a9059cbb146104cc578063a985ceef14610509578063b1e5237314610534578063b515566a1461055d576101c2565b8063715018a61461045f5780638da5cb5b1461047657806395d89b41146104a1576101c2565b80633bbac579116101595780635d098b38116101335780635d098b38146103a557806368a3a6a5146103ce5780636fc3eaec1461040b57806370a0823114610422576101c2565b80633bbac57914610316578063437823ec146103535780635932ead11461037c576101c2565b806323b872dd1161019557806323b872dd1461025a578063273123b71461029757806327f3a72a146102c0578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e991906137f8565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061332c565b6106d8565b60405161022691906137dd565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b604051610251919061399a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c91906132d9565b610707565b60405161028e91906137dd565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190613212565b6107e0565b005b3480156102cc57600080fd5b506102d56108d0565b6040516102e2919061399a565b60405180910390f35b3480156102f757600080fd5b506103006108e0565b60405161030d9190613a0f565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190613212565b6108e9565b60405161034a91906137dd565b60405180910390f35b34801561035f57600080fd5b5061037a6004803603810190610375919061326c565b61093f565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133b5565b6109fb565b005b3480156103b157600080fd5b506103cc60048036038101906103c7919061326c565b610af3565b005b3480156103da57600080fd5b506103f560048036038101906103f09190613212565b610c6a565b604051610402919061399a565b60405180910390f35b34801561041757600080fd5b50610420610cc1565b005b34801561042e57600080fd5b5061044960048036038101906104449190613212565b610d33565b604051610456919061399a565b60405180910390f35b34801561046b57600080fd5b50610474610d84565b005b34801561048257600080fd5b5061048b610ed7565b604051610498919061370f565b60405180910390f35b3480156104ad57600080fd5b506104b6610f00565b6040516104c391906137f8565b60405180910390f35b3480156104d857600080fd5b506104f360048036038101906104ee919061332c565b610f3d565b60405161050091906137dd565b60405180910390f35b34801561051557600080fd5b5061051e610f5b565b60405161052b91906137dd565b60405180910390f35b34801561054057600080fd5b5061055b600480360381019061055691906133b5565b610f72565b005b34801561056957600080fd5b50610584600480360381019061057f919061336c565b610ff0565b005b34801561059257600080fd5b5061059b611200565b6040516105a891906137dd565b60405180910390f35b3480156105bd57600080fd5b506105c661120c565b005b3480156105d457600080fd5b506105dd611286565b005b3480156105eb57600080fd5b506105f46117c6565b60405161060191906137dd565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c919061326c565b6117d2565b005b34801561063f57600080fd5b5061064861188e565b604051610655919061399a565b60405180910390f35b34801561066a57600080fd5b5061068560048036038101906106809190613299565b6118c0565b604051610692919061399a565b60405180910390f35b60606040518060400160405280600b81526020017f5377696e6720546f6b656e000000000000000000000000000000000000000000815250905090565b60006106ec6106e5611947565b848461194f565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610714848484611b1a565b6107d584610720611947565b6107d08560405180606001604052806028815260200161416560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610786611947565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125629092919063ffffffff16565b61194f565b600190509392505050565b6107e8611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c906138da565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108db30610d33565b905090565b60006009905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610980611947565b73ffffffffffffffffffffffffffffffffffffffff16146109a057600080fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a03611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a87906138da565b60405180910390fd5b80601360156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601360159054906101000a900460ff16604051610ae891906137dd565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b34611947565b73ffffffffffffffffffffffffffffffffffffffff1614610b5457600080fd5b600060056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cba9190613bb1565b9050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d02611947565b73ffffffffffffffffffffffffffffffffffffffff1614610d2257600080fd5b6000479050610d30816125c6565b50565b6000610d7d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c1565b9050919050565b610d8c611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e10906138da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5357494e47000000000000000000000000000000000000000000000000000000815250905090565b6000610f51610f4a611947565b8484611b1a565b6001905092915050565b6000601360159054906101000a900460ff16905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fb3611947565b73ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80601360166101000a81548160ff02191690831515021790555050565b610ff8611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c906138da565b60405180910390fd5b60005b81518110156111fc57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106110dd576110dc613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111715750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106111505761114f613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156111e95760016006600084848151811061118f5761118e613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806111f490613cc2565b915050611088565b5050565b60004260165411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661124d611947565b73ffffffffffffffffffffffffffffffffffffffff161461126d57600080fd5b600061127830610d33565b90506112838161272f565b50565b61128e611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611312906138da565b60405180910390fd5b601360149054906101000a900460ff161561136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061395a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113fb30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061194f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144157600080fd5b505afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611479919061323f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114db57600080fd5b505afa1580156114ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611513919061323f565b6040518363ffffffff1660e01b815260040161153092919061372a565b602060405180830381600087803b15801561154a57600080fd5b505af115801561155e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611582919061323f565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061160b30610d33565b600080611616610ed7565b426040518863ffffffff1660e01b81526004016116389695949392919061377c565b6060604051808303818588803b15801561165157600080fd5b505af1158015611665573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061168a919061340f565b505050674563918244f40000600f81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161173b929190613753565b602060405180830381600087803b15801561175557600080fd5b505af1158015611769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178d91906133e2565b506001601360146101000a81548160ff0219169083151502179055506014426117b69190613ad0565b60158190555042600c8190555050565b60004260175411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611813611947565b73ffffffffffffffffffffffffffffffffffffffff161461183357600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006118bb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061393a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a269061385a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0d919061399a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b819061391a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf19061381a565b60405180910390fd5b60008111611c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c34906138fa565b60405180910390fd5b611c45610ed7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cb35750611c83610ed7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561248857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d5c5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d6557600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611e3f5760405180604001604052806000815260200160011515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b600060029050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ef05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f465750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121ed57601360149054906101000a900460ff16611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f919061397a565b60405180910390fd5b610258600c54611faa9190613ad0565b421115611fce57426017541115611fc45760029050611fc9565b600590505b611fd3565b600a90505b611ffa600a611fec6002846129b790919063ffffffff16565b612a3290919063ffffffff16565b600a81905550612027600a6120196008846129b790919063ffffffff16565b612a3290919063ffffffff16565b600b81905550601360159054906101000a900460ff16156121345742601554111561213357600f5482111561205b57600080fd5b42600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d69061387a565b60405180910390fd5b602d426120ec9190613ad0565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b61218560646121776002612169601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b82106121a05761012c426121999190613ad0565b6016819055505b6005601854106121cb5761012c426121b89190613ad0565b60168190555060006018819055506121e4565b601860008154809291906121de90613cc2565b91905055505b60006019819055505b60006121f830610d33565b9050601360179054906101000a900460ff161580156122655750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561227d5750601360149054906101000a900460ff165b156124855742601654111561229557600a915061229a565b600591505b6122c1600a6122b36002856129b790919063ffffffff16565b612a3290919063ffffffff16565b600a819055506122ee600a6122e06008856129b790919063ffffffff16565b612a3290919063ffffffff16565b600b8190555060008111156123b35761234e60646123406006612332601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b8111156123a9576123a66064612398600661238a601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b90505b6123b28161272f565b5b600047905060008111156123cb576123ca476125c6565b5b61241c606461240e6002612400601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b84106124375761012c426124309190613ad0565b6017819055505b6005601954106124625761012c4261244f9190613ad0565b601781905550600060198190555061247b565b6019600081548092919061247590613cc2565b91905055505b6000601881905550505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061252f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125465750601360169054906101000a900460ff165b1561255057600090505b61255c84848484612a7c565b50505050565b60008383111582906125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a191906137f8565b60405180910390fd5b50600083856125b99190613bb1565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612616600284612a3290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612641573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612692600284612a3290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156126bd573d6000803e3d6000fd5b5050565b6000600854821115612708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ff9061383a565b60405180910390fd5b6000612712612aa9565b90506127278184612a3290919063ffffffff16565b915050919050565b6001601360176101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561276757612766613d98565b5b6040519080825280602002602001820160405280156127955781602001602082028036833780820191505090505b50905030816000815181106127ad576127ac613d69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561284f57600080fd5b505afa158015612863573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612887919061323f565b8160018151811061289b5761289a613d69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061290230601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461194f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016129669594939291906139b5565b600060405180830381600087803b15801561298057600080fd5b505af1158015612994573d6000803e3d6000fd5b50505050506000601360176101000a81548160ff02191690831515021790555050565b6000808314156129ca5760009050612a2c565b600082846129d89190613b57565b90508284826129e79190613b26565b14612a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1e906138ba565b60405180910390fd5b809150505b92915050565b6000612a7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ad4565b905092915050565b80612a8a57612a89612b37565b5b612a95848484612b7a565b80612aa357612aa2612d45565b5b50505050565b6000806000612ab6612d59565b91509150612acd8183612a3290919063ffffffff16565b9250505090565b60008083118290612b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1291906137f8565b60405180910390fd5b5060008385612b2a9190613b26565b9050809150509392505050565b6000600a54148015612b4b57506000600b54145b15612b5557612b78565b600a54600d81905550600b54600e819055506000600a819055506000600b819055505b565b600080600080600080612b8c87612dbb565b955095509550955095509550612bea86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c7f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ccb81612ecb565b612cd58483612f88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612d32919061399a565b60405180910390a3505050505050505050565b600d54600a81905550600e54600b81905550565b600080600060085490506000683635c9adc5dea000009050612d8f683635c9adc5dea00000600854612a3290919063ffffffff16565b821015612dae57600854683635c9adc5dea00000935093505050612db7565b81819350935050505b9091565b6000806000806000806000806000612dd88a600a54600b54612fc2565b9250925092506000612de8612aa9565b90506000806000612dfb8e878787613058565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e6583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612562565b905092915050565b6000808284612e7c9190613ad0565b905083811015612ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb89061389a565b60405180910390fd5b8091505092915050565b6000612ed5612aa9565b90506000612eec82846129b790919063ffffffff16565b9050612f4081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612f9d82600854612e2390919063ffffffff16565b600881905550612fb881600954612e6d90919063ffffffff16565b6009819055505050565b600080600080612fee6064612fe0888a6129b790919063ffffffff16565b612a3290919063ffffffff16565b90506000613018606461300a888b6129b790919063ffffffff16565b612a3290919063ffffffff16565b9050600061304182613033858c612e2390919063ffffffff16565b612e2390919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061307185896129b790919063ffffffff16565b9050600061308886896129b790919063ffffffff16565b9050600061309f87896129b790919063ffffffff16565b905060006130c8826130ba8587612e2390919063ffffffff16565b612e2390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006130f46130ef84613a4f565b613a2a565b9050808382526020820190508285602086028201111561311757613116613dcc565b5b60005b85811015613147578161312d8882613151565b84526020840193506020830192505060018101905061311a565b5050509392505050565b60008135905061316081614108565b92915050565b60008151905061317581614108565b92915050565b60008135905061318a8161411f565b92915050565b600082601f8301126131a5576131a4613dc7565b5b81356131b58482602086016130e1565b91505092915050565b6000813590506131cd81614136565b92915050565b6000815190506131e281614136565b92915050565b6000813590506131f78161414d565b92915050565b60008151905061320c8161414d565b92915050565b60006020828403121561322857613227613dd6565b5b600061323684828501613151565b91505092915050565b60006020828403121561325557613254613dd6565b5b600061326384828501613166565b91505092915050565b60006020828403121561328257613281613dd6565b5b60006132908482850161317b565b91505092915050565b600080604083850312156132b0576132af613dd6565b5b60006132be85828601613151565b92505060206132cf85828601613151565b9150509250929050565b6000806000606084860312156132f2576132f1613dd6565b5b600061330086828701613151565b935050602061331186828701613151565b9250506040613322868287016131e8565b9150509250925092565b6000806040838503121561334357613342613dd6565b5b600061335185828601613151565b9250506020613362858286016131e8565b9150509250929050565b60006020828403121561338257613381613dd6565b5b600082013567ffffffffffffffff8111156133a05761339f613dd1565b5b6133ac84828501613190565b91505092915050565b6000602082840312156133cb576133ca613dd6565b5b60006133d9848285016131be565b91505092915050565b6000602082840312156133f8576133f7613dd6565b5b6000613406848285016131d3565b91505092915050565b60008060006060848603121561342857613427613dd6565b5b6000613436868287016131fd565b9350506020613447868287016131fd565b9250506040613458868287016131fd565b9150509250925092565b600061346e838361347a565b60208301905092915050565b61348381613be5565b82525050565b61349281613be5565b82525050565b60006134a382613a8b565b6134ad8185613aae565b93506134b883613a7b565b8060005b838110156134e95781516134d08882613462565b97506134db83613aa1565b9250506001810190506134bc565b5085935050505092915050565b6134ff81613c09565b82525050565b61350e81613c4c565b82525050565b600061351f82613a96565b6135298185613abf565b9350613539818560208601613c5e565b61354281613ddb565b840191505092915050565b600061355a602383613abf565b915061356582613dec565b604082019050919050565b600061357d602a83613abf565b915061358882613e3b565b604082019050919050565b60006135a0602283613abf565b91506135ab82613e8a565b604082019050919050565b60006135c3602283613abf565b91506135ce82613ed9565b604082019050919050565b60006135e6601b83613abf565b91506135f182613f28565b602082019050919050565b6000613609602183613abf565b915061361482613f51565b604082019050919050565b600061362c602083613abf565b915061363782613fa0565b602082019050919050565b600061364f602983613abf565b915061365a82613fc9565b604082019050919050565b6000613672602583613abf565b915061367d82614018565b604082019050919050565b6000613695602483613abf565b91506136a082614067565b604082019050919050565b60006136b8601783613abf565b91506136c3826140b6565b602082019050919050565b60006136db601883613abf565b91506136e6826140df565b602082019050919050565b6136fa81613c35565b82525050565b61370981613c3f565b82525050565b60006020820190506137246000830184613489565b92915050565b600060408201905061373f6000830185613489565b61374c6020830184613489565b9392505050565b60006040820190506137686000830185613489565b61377560208301846136f1565b9392505050565b600060c0820190506137916000830189613489565b61379e60208301886136f1565b6137ab6040830187613505565b6137b86060830186613505565b6137c56080830185613489565b6137d260a08301846136f1565b979650505050505050565b60006020820190506137f260008301846134f6565b92915050565b600060208201905081810360008301526138128184613514565b905092915050565b600060208201905081810360008301526138338161354d565b9050919050565b6000602082019050818103600083015261385381613570565b9050919050565b6000602082019050818103600083015261387381613593565b9050919050565b60006020820190508181036000830152613893816135b6565b9050919050565b600060208201905081810360008301526138b3816135d9565b9050919050565b600060208201905081810360008301526138d3816135fc565b9050919050565b600060208201905081810360008301526138f38161361f565b9050919050565b6000602082019050818103600083015261391381613642565b9050919050565b6000602082019050818103600083015261393381613665565b9050919050565b6000602082019050818103600083015261395381613688565b9050919050565b60006020820190508181036000830152613973816136ab565b9050919050565b60006020820190508181036000830152613993816136ce565b9050919050565b60006020820190506139af60008301846136f1565b92915050565b600060a0820190506139ca60008301886136f1565b6139d76020830187613505565b81810360408301526139e98186613498565b90506139f86060830185613489565b613a0560808301846136f1565b9695505050505050565b6000602082019050613a246000830184613700565b92915050565b6000613a34613a45565b9050613a408282613c91565b919050565b6000604051905090565b600067ffffffffffffffff821115613a6a57613a69613d98565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613adb82613c35565b9150613ae683613c35565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b1b57613b1a613d0b565b5b828201905092915050565b6000613b3182613c35565b9150613b3c83613c35565b925082613b4c57613b4b613d3a565b5b828204905092915050565b6000613b6282613c35565b9150613b6d83613c35565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ba657613ba5613d0b565b5b828202905092915050565b6000613bbc82613c35565b9150613bc783613c35565b925082821015613bda57613bd9613d0b565b5b828203905092915050565b6000613bf082613c15565b9050919050565b6000613c0282613c15565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c5782613c35565b9050919050565b60005b83811015613c7c578082015181840152602081019050613c61565b83811115613c8b576000848401525b50505050565b613c9a82613ddb565b810181811067ffffffffffffffff82111715613cb957613cb8613d98565b5b80604052505050565b6000613ccd82613c35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d0057613cff613d0b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61411181613be5565b811461411c57600080fd5b50565b61412881613bf7565b811461413357600080fd5b50565b61413f81613c09565b811461414a57600080fd5b50565b61415681613c35565b811461416157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b75d409b6fcd4c2b167bdcebf25754b300ef1b5d908db436b2562ec126862fd264736f6c634300080500330000000000000000000000001034df263b0fbf99b252ee269831ca16247c4b070000000000000000000000004109078f99bf8772706dd061005a05935ab67609

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063ba48ecb31161008a578063ca80166711610064578063ca801667146105df578063cf0848f71461060a578063db92dbb614610633578063dd62ed3e1461065e576101c2565b8063ba48ecb314610586578063c3c8cd80146105b1578063c9567bf9146105c8576101c2565b8063a9059cbb116100c6578063a9059cbb146104cc578063a985ceef14610509578063b1e5237314610534578063b515566a1461055d576101c2565b8063715018a61461045f5780638da5cb5b1461047657806395d89b41146104a1576101c2565b80633bbac579116101595780635d098b38116101335780635d098b38146103a557806368a3a6a5146103ce5780636fc3eaec1461040b57806370a0823114610422576101c2565b80633bbac57914610316578063437823ec146103535780635932ead11461037c576101c2565b806323b872dd1161019557806323b872dd1461025a578063273123b71461029757806327f3a72a146102c0578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e991906137f8565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061332c565b6106d8565b60405161022691906137dd565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b604051610251919061399a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c91906132d9565b610707565b60405161028e91906137dd565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190613212565b6107e0565b005b3480156102cc57600080fd5b506102d56108d0565b6040516102e2919061399a565b60405180910390f35b3480156102f757600080fd5b506103006108e0565b60405161030d9190613a0f565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190613212565b6108e9565b60405161034a91906137dd565b60405180910390f35b34801561035f57600080fd5b5061037a6004803603810190610375919061326c565b61093f565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133b5565b6109fb565b005b3480156103b157600080fd5b506103cc60048036038101906103c7919061326c565b610af3565b005b3480156103da57600080fd5b506103f560048036038101906103f09190613212565b610c6a565b604051610402919061399a565b60405180910390f35b34801561041757600080fd5b50610420610cc1565b005b34801561042e57600080fd5b5061044960048036038101906104449190613212565b610d33565b604051610456919061399a565b60405180910390f35b34801561046b57600080fd5b50610474610d84565b005b34801561048257600080fd5b5061048b610ed7565b604051610498919061370f565b60405180910390f35b3480156104ad57600080fd5b506104b6610f00565b6040516104c391906137f8565b60405180910390f35b3480156104d857600080fd5b506104f360048036038101906104ee919061332c565b610f3d565b60405161050091906137dd565b60405180910390f35b34801561051557600080fd5b5061051e610f5b565b60405161052b91906137dd565b60405180910390f35b34801561054057600080fd5b5061055b600480360381019061055691906133b5565b610f72565b005b34801561056957600080fd5b50610584600480360381019061057f919061336c565b610ff0565b005b34801561059257600080fd5b5061059b611200565b6040516105a891906137dd565b60405180910390f35b3480156105bd57600080fd5b506105c661120c565b005b3480156105d457600080fd5b506105dd611286565b005b3480156105eb57600080fd5b506105f46117c6565b60405161060191906137dd565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c919061326c565b6117d2565b005b34801561063f57600080fd5b5061064861188e565b604051610655919061399a565b60405180910390f35b34801561066a57600080fd5b5061068560048036038101906106809190613299565b6118c0565b604051610692919061399a565b60405180910390f35b60606040518060400160405280600b81526020017f5377696e6720546f6b656e000000000000000000000000000000000000000000815250905090565b60006106ec6106e5611947565b848461194f565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610714848484611b1a565b6107d584610720611947565b6107d08560405180606001604052806028815260200161416560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610786611947565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125629092919063ffffffff16565b61194f565b600190509392505050565b6107e8611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c906138da565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108db30610d33565b905090565b60006009905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610980611947565b73ffffffffffffffffffffffffffffffffffffffff16146109a057600080fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a03611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a87906138da565b60405180910390fd5b80601360156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601360159054906101000a900460ff16604051610ae891906137dd565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b34611947565b73ffffffffffffffffffffffffffffffffffffffff1614610b5457600080fd5b600060056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cba9190613bb1565b9050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d02611947565b73ffffffffffffffffffffffffffffffffffffffff1614610d2257600080fd5b6000479050610d30816125c6565b50565b6000610d7d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c1565b9050919050565b610d8c611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e10906138da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5357494e47000000000000000000000000000000000000000000000000000000815250905090565b6000610f51610f4a611947565b8484611b1a565b6001905092915050565b6000601360159054906101000a900460ff16905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fb3611947565b73ffffffffffffffffffffffffffffffffffffffff1614610fd357600080fd5b80601360166101000a81548160ff02191690831515021790555050565b610ff8611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c906138da565b60405180910390fd5b60005b81518110156111fc57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106110dd576110dc613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156111715750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106111505761114f613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156111e95760016006600084848151811061118f5761118e613d69565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806111f490613cc2565b915050611088565b5050565b60004260165411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661124d611947565b73ffffffffffffffffffffffffffffffffffffffff161461126d57600080fd5b600061127830610d33565b90506112838161272f565b50565b61128e611947565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611312906138da565b60405180910390fd5b601360149054906101000a900460ff161561136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061395a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113fb30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061194f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561144157600080fd5b505afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611479919061323f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114db57600080fd5b505afa1580156114ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611513919061323f565b6040518363ffffffff1660e01b815260040161153092919061372a565b602060405180830381600087803b15801561154a57600080fd5b505af115801561155e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611582919061323f565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061160b30610d33565b600080611616610ed7565b426040518863ffffffff1660e01b81526004016116389695949392919061377c565b6060604051808303818588803b15801561165157600080fd5b505af1158015611665573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061168a919061340f565b505050674563918244f40000600f81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161173b929190613753565b602060405180830381600087803b15801561175557600080fd5b505af1158015611769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178d91906133e2565b506001601360146101000a81548160ff0219169083151502179055506014426117b69190613ad0565b60158190555042600c8190555050565b60004260175411905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611813611947565b73ffffffffffffffffffffffffffffffffffffffff161461183357600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006118bb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061393a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a269061385a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0d919061399a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b819061391a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf19061381a565b60405180910390fd5b60008111611c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c34906138fa565b60405180910390fd5b611c45610ed7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cb35750611c83610ed7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561248857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d5c5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611d6557600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611e3f5760405180604001604052806000815260200160011515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b600060029050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ef05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f465750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121ed57601360149054906101000a900460ff16611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f919061397a565b60405180910390fd5b610258600c54611faa9190613ad0565b421115611fce57426017541115611fc45760029050611fc9565b600590505b611fd3565b600a90505b611ffa600a611fec6002846129b790919063ffffffff16565b612a3290919063ffffffff16565b600a81905550612027600a6120196008846129b790919063ffffffff16565b612a3290919063ffffffff16565b600b81905550601360159054906101000a900460ff16156121345742601554111561213357600f5482111561205b57600080fd5b42600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d69061387a565b60405180910390fd5b602d426120ec9190613ad0565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b61218560646121776002612169601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b82106121a05761012c426121999190613ad0565b6016819055505b6005601854106121cb5761012c426121b89190613ad0565b60168190555060006018819055506121e4565b601860008154809291906121de90613cc2565b91905055505b60006019819055505b60006121f830610d33565b9050601360179054906101000a900460ff161580156122655750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561227d5750601360149054906101000a900460ff165b156124855742601654111561229557600a915061229a565b600591505b6122c1600a6122b36002856129b790919063ffffffff16565b612a3290919063ffffffff16565b600a819055506122ee600a6122e06008856129b790919063ffffffff16565b612a3290919063ffffffff16565b600b8190555060008111156123b35761234e60646123406006612332601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b8111156123a9576123a66064612398600661238a601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b90505b6123b28161272f565b5b600047905060008111156123cb576123ca476125c6565b5b61241c606461240e6002612400601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d33565b6129b790919063ffffffff16565b612a3290919063ffffffff16565b84106124375761012c426124309190613ad0565b6017819055505b6005601954106124625761012c4261244f9190613ad0565b601781905550600060198190555061247b565b6019600081548092919061247590613cc2565b91905055505b6000601881905550505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061252f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125465750601360169054906101000a900460ff165b1561255057600090505b61255c84848484612a7c565b50505050565b60008383111582906125aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a191906137f8565b60405180910390fd5b50600083856125b99190613bb1565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612616600284612a3290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612641573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612692600284612a3290919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156126bd573d6000803e3d6000fd5b5050565b6000600854821115612708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ff9061383a565b60405180910390fd5b6000612712612aa9565b90506127278184612a3290919063ffffffff16565b915050919050565b6001601360176101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561276757612766613d98565b5b6040519080825280602002602001820160405280156127955781602001602082028036833780820191505090505b50905030816000815181106127ad576127ac613d69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561284f57600080fd5b505afa158015612863573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612887919061323f565b8160018151811061289b5761289a613d69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061290230601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461194f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016129669594939291906139b5565b600060405180830381600087803b15801561298057600080fd5b505af1158015612994573d6000803e3d6000fd5b50505050506000601360176101000a81548160ff02191690831515021790555050565b6000808314156129ca5760009050612a2c565b600082846129d89190613b57565b90508284826129e79190613b26565b14612a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1e906138ba565b60405180910390fd5b809150505b92915050565b6000612a7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ad4565b905092915050565b80612a8a57612a89612b37565b5b612a95848484612b7a565b80612aa357612aa2612d45565b5b50505050565b6000806000612ab6612d59565b91509150612acd8183612a3290919063ffffffff16565b9250505090565b60008083118290612b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1291906137f8565b60405180910390fd5b5060008385612b2a9190613b26565b9050809150509392505050565b6000600a54148015612b4b57506000600b54145b15612b5557612b78565b600a54600d81905550600b54600e819055506000600a819055506000600b819055505b565b600080600080600080612b8c87612dbb565b955095509550955095509550612bea86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e2390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c7f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ccb81612ecb565b612cd58483612f88565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612d32919061399a565b60405180910390a3505050505050505050565b600d54600a81905550600e54600b81905550565b600080600060085490506000683635c9adc5dea000009050612d8f683635c9adc5dea00000600854612a3290919063ffffffff16565b821015612dae57600854683635c9adc5dea00000935093505050612db7565b81819350935050505b9091565b6000806000806000806000806000612dd88a600a54600b54612fc2565b9250925092506000612de8612aa9565b90506000806000612dfb8e878787613058565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e6583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612562565b905092915050565b6000808284612e7c9190613ad0565b905083811015612ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb89061389a565b60405180910390fd5b8091505092915050565b6000612ed5612aa9565b90506000612eec82846129b790919063ffffffff16565b9050612f4081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612f9d82600854612e2390919063ffffffff16565b600881905550612fb881600954612e6d90919063ffffffff16565b6009819055505050565b600080600080612fee6064612fe0888a6129b790919063ffffffff16565b612a3290919063ffffffff16565b90506000613018606461300a888b6129b790919063ffffffff16565b612a3290919063ffffffff16565b9050600061304182613033858c612e2390919063ffffffff16565b612e2390919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061307185896129b790919063ffffffff16565b9050600061308886896129b790919063ffffffff16565b9050600061309f87896129b790919063ffffffff16565b905060006130c8826130ba8587612e2390919063ffffffff16565b612e2390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006130f46130ef84613a4f565b613a2a565b9050808382526020820190508285602086028201111561311757613116613dcc565b5b60005b85811015613147578161312d8882613151565b84526020840193506020830192505060018101905061311a565b5050509392505050565b60008135905061316081614108565b92915050565b60008151905061317581614108565b92915050565b60008135905061318a8161411f565b92915050565b600082601f8301126131a5576131a4613dc7565b5b81356131b58482602086016130e1565b91505092915050565b6000813590506131cd81614136565b92915050565b6000815190506131e281614136565b92915050565b6000813590506131f78161414d565b92915050565b60008151905061320c8161414d565b92915050565b60006020828403121561322857613227613dd6565b5b600061323684828501613151565b91505092915050565b60006020828403121561325557613254613dd6565b5b600061326384828501613166565b91505092915050565b60006020828403121561328257613281613dd6565b5b60006132908482850161317b565b91505092915050565b600080604083850312156132b0576132af613dd6565b5b60006132be85828601613151565b92505060206132cf85828601613151565b9150509250929050565b6000806000606084860312156132f2576132f1613dd6565b5b600061330086828701613151565b935050602061331186828701613151565b9250506040613322868287016131e8565b9150509250925092565b6000806040838503121561334357613342613dd6565b5b600061335185828601613151565b9250506020613362858286016131e8565b9150509250929050565b60006020828403121561338257613381613dd6565b5b600082013567ffffffffffffffff8111156133a05761339f613dd1565b5b6133ac84828501613190565b91505092915050565b6000602082840312156133cb576133ca613dd6565b5b60006133d9848285016131be565b91505092915050565b6000602082840312156133f8576133f7613dd6565b5b6000613406848285016131d3565b91505092915050565b60008060006060848603121561342857613427613dd6565b5b6000613436868287016131fd565b9350506020613447868287016131fd565b9250506040613458868287016131fd565b9150509250925092565b600061346e838361347a565b60208301905092915050565b61348381613be5565b82525050565b61349281613be5565b82525050565b60006134a382613a8b565b6134ad8185613aae565b93506134b883613a7b565b8060005b838110156134e95781516134d08882613462565b97506134db83613aa1565b9250506001810190506134bc565b5085935050505092915050565b6134ff81613c09565b82525050565b61350e81613c4c565b82525050565b600061351f82613a96565b6135298185613abf565b9350613539818560208601613c5e565b61354281613ddb565b840191505092915050565b600061355a602383613abf565b915061356582613dec565b604082019050919050565b600061357d602a83613abf565b915061358882613e3b565b604082019050919050565b60006135a0602283613abf565b91506135ab82613e8a565b604082019050919050565b60006135c3602283613abf565b91506135ce82613ed9565b604082019050919050565b60006135e6601b83613abf565b91506135f182613f28565b602082019050919050565b6000613609602183613abf565b915061361482613f51565b604082019050919050565b600061362c602083613abf565b915061363782613fa0565b602082019050919050565b600061364f602983613abf565b915061365a82613fc9565b604082019050919050565b6000613672602583613abf565b915061367d82614018565b604082019050919050565b6000613695602483613abf565b91506136a082614067565b604082019050919050565b60006136b8601783613abf565b91506136c3826140b6565b602082019050919050565b60006136db601883613abf565b91506136e6826140df565b602082019050919050565b6136fa81613c35565b82525050565b61370981613c3f565b82525050565b60006020820190506137246000830184613489565b92915050565b600060408201905061373f6000830185613489565b61374c6020830184613489565b9392505050565b60006040820190506137686000830185613489565b61377560208301846136f1565b9392505050565b600060c0820190506137916000830189613489565b61379e60208301886136f1565b6137ab6040830187613505565b6137b86060830186613505565b6137c56080830185613489565b6137d260a08301846136f1565b979650505050505050565b60006020820190506137f260008301846134f6565b92915050565b600060208201905081810360008301526138128184613514565b905092915050565b600060208201905081810360008301526138338161354d565b9050919050565b6000602082019050818103600083015261385381613570565b9050919050565b6000602082019050818103600083015261387381613593565b9050919050565b60006020820190508181036000830152613893816135b6565b9050919050565b600060208201905081810360008301526138b3816135d9565b9050919050565b600060208201905081810360008301526138d3816135fc565b9050919050565b600060208201905081810360008301526138f38161361f565b9050919050565b6000602082019050818103600083015261391381613642565b9050919050565b6000602082019050818103600083015261393381613665565b9050919050565b6000602082019050818103600083015261395381613688565b9050919050565b60006020820190508181036000830152613973816136ab565b9050919050565b60006020820190508181036000830152613993816136ce565b9050919050565b60006020820190506139af60008301846136f1565b92915050565b600060a0820190506139ca60008301886136f1565b6139d76020830187613505565b81810360408301526139e98186613498565b90506139f86060830185613489565b613a0560808301846136f1565b9695505050505050565b6000602082019050613a246000830184613700565b92915050565b6000613a34613a45565b9050613a408282613c91565b919050565b6000604051905090565b600067ffffffffffffffff821115613a6a57613a69613d98565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613adb82613c35565b9150613ae683613c35565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b1b57613b1a613d0b565b5b828201905092915050565b6000613b3182613c35565b9150613b3c83613c35565b925082613b4c57613b4b613d3a565b5b828204905092915050565b6000613b6282613c35565b9150613b6d83613c35565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ba657613ba5613d0b565b5b828202905092915050565b6000613bbc82613c35565b9150613bc783613c35565b925082821015613bda57613bd9613d0b565b5b828203905092915050565b6000613bf082613c15565b9050919050565b6000613c0282613c15565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613c5782613c35565b9050919050565b60005b83811015613c7c578082015181840152602081019050613c61565b83811115613c8b576000848401525b50505050565b613c9a82613ddb565b810181811067ffffffffffffffff82111715613cb957613cb8613d98565b5b80604052505050565b6000613ccd82613c35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d0057613cff613d0b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61411181613be5565b811461411c57600080fd5b50565b61412881613bf7565b811461413357600080fd5b50565b61413f81613c09565b811461414a57600080fd5b50565b61415681613c35565b811461416157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b75d409b6fcd4c2b167bdcebf25754b300ef1b5d908db436b2562ec126862fd264736f6c63430008050033

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

0000000000000000000000001034df263b0fbf99b252ee269831ca16247c4b070000000000000000000000004109078f99bf8772706dd061005a05935ab67609

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x1034Df263B0fBF99B252EE269831cA16247C4B07
Arg [1] : marketingWalletAddress (address): 0x4109078F99BF8772706Dd061005A05935aB67609

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001034df263b0fbf99b252ee269831ca16247c4b07
Arg [1] : 0000000000000000000000004109078f99bf8772706dd061005a05935ab67609


Deployed Bytecode Sourcemap

4438:15616:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6866:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7718:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7143:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7887:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18595:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19602:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7052:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18696:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17799:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19434:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17473:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19814:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19236:190;;;;;;;;;;;;;:::i;:::-;;7246:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3517:148;;;;;;;;;;;;;:::i;:::-;;3303:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6957:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7392:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19710:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18166:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18313:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18797:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19033:191;;;;;;;;;;;;;:::i;:::-;;16616:849;;;;;;;;;;;;;:::i;:::-;;18918:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17960:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19950:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7567:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6866:83;6903:13;6936:5;;;;;;;;;;;;;;;;;6929:12;;6866:83;:::o;7718:161::-;7793:4;7810:39;7819:12;:10;:12::i;:::-;7833:7;7842:6;7810:8;:39::i;:::-;7867:4;7860:11;;7718:161;;;;:::o;7143:95::-;7196:7;4935:12;7216:14;;7143:95;:::o;7887:313::-;7985:4;8002:36;8012:6;8020:9;8031:6;8002:9;:36::i;:::-;8049:121;8058:6;8066:12;:10;:12::i;:::-;8080:89;8118:6;8080:89;;;;;;;;;;;;;;;;;:11;:19;8092:6;8080:19;;;;;;;;;;;;;;;:33;8100:12;:10;:12::i;:::-;8080:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8049:8;:121::i;:::-;8188:4;8181:11;;7887:313;;;;;:::o;18595:89::-;3440:12;:10;:12::i;:::-;3430:22;;:6;;;;;;;;;;:22;;;3422:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18671:5:::1;18655;:13;18661:6;18655:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18595:89:::0;:::o;19602:100::-;19646:4;19670:24;19688:4;19670:9;:24::i;:::-;19663:31;;19602:100;:::o;7052:83::-;7093:5;5192:1;7111:16;;7052:83;:::o;18696:89::-;18744:4;18768:5;:9;18774:2;18768:9;;;;;;;;;;;;;;;;;;;;;;;;;18761:16;;18696:89;;;:::o;17799:149::-;17888:11;;;;;;;;;;;17872:27;;:12;:10;:12::i;:::-;:27;;;17864:36;;;;;;17936:4;17911:18;:22;17930:2;17911:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;17799:149;:::o;19434:160::-;3440:12;:10;:12::i;:::-;3430:22;;:6;;;;;;;;;;:22;;;3422:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19525:5:::1;19506:16;;:24;;;;;;;;;;;;;;;;;;19546:40;19569:16;;;;;;;;;;;19546:40;;;;;;:::i;:::-;;;;;;;;19434:160:::0;:::o;17473:314::-;17586:11;;;;;;;;;;;17570:27;;:12;:10;:12::i;:::-;:27;;;17562:36;;;;;;17655:5;17609:18;:43;17628:23;;;;;;;;;;;17609:43;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;17697:22;17671:23;;:48;;;;;;;;;;;;;;;;;;17775:4;17730:18;:42;17749:22;17730:42;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;17473:314;:::o;19814:124::-;19869:4;19911:6;:13;19918:5;19911:13;;;;;;;;;;;;;;;:19;;;19893:15;:37;;;;:::i;:::-;19886:44;;19814:124;;;:::o;19236:190::-;19302:11;;;;;;;;;;;19286:27;;:12;:10;:12::i;:::-;:27;;;19278:36;;;;;;19325:26;19354:21;19325:50;;19386:32;19399:18;19386:12;:32::i;:::-;19267:159;19236:190::o;7246:138::-;7312:7;7339:37;7359:7;:16;7367:7;7359:16;;;;;;;;;;;;;;;;7339:19;:37::i;:::-;7332:44;;7246:138;;;:::o;3517:148::-;3440:12;:10;:12::i;:::-;3430:22;;:6;;;;;;;;;;:22;;;3422:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3624:1:::1;3587:40;;3608:6;::::0;::::1;;;;;;;;3587:40;;;;;;;;;;;;3655:1;3638:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3517:148::o:0;3303:79::-;3341:7;3368:6;;;;;;;;;;;3361:13;;3303:79;:::o;6957:87::-;6996:13;7029:7;;;;;;;;;;;;;;;;;7022:14;;6957:87;:::o;7392:167::-;7470:4;7487:42;7497:12;:10;:12::i;:::-;7511:9;7522:6;7487:9;:42::i;:::-;7547:4;7540:11;;7392:167;;;;:::o;19710:96::-;19758:4;19782:16;;;;;;;;;;;19775:23;;19710:96;:::o;18166:135::-;18248:11;;;;;;;;;;;18232:27;;:12;:10;:12::i;:::-;:27;;;18224:36;;;;;;18288:5;18271:14;;:22;;;;;;;;;;;;;;;;;;18166:135;:::o;18313:270::-;3440:12;:10;:12::i;:::-;3430:22;;:6;;;;;;;;;;:22;;;3422:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18387:6:::1;18382:194;18403:5;:12;18399:1;:16;18382:194;;;18453:13;;;;;;;;;;;18441:25;;:5;18447:1;18441:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;:65;;;;;18490:15;;;;;;;;;;;18470:36;;:5;18476:1;18470:8;;;;;;;;:::i;:::-;;;;;;;;:36;;;;18441:65;18437:128;;;18545:4;18527:5;:15;18533:5;18539:1;18533:8;;;;;;;;:::i;:::-;;;;;;;;18527:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;18437:128;18417:3;;;;;:::i;:::-;;;;18382:194;;;;18313:270:::0;:::o;18797:109::-;18845:4;18882:15;18870:9;;:27;18862:36;;18797:109;:::o;19033:191::-;19099:11;;;;;;;;;;;19083:27;;:12;:10;:12::i;:::-;:27;;;19075:36;;;;;;19122:23;19148:24;19166:4;19148:9;:24::i;:::-;19122:50;;19183:33;19200:15;19183:16;:33::i;:::-;19064:160;19033:191::o;16616:849::-;3440:12;:10;:12::i;:::-;3430:22;;:6;;;;;;;;;;:22;;;3422:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16680:11:::1;;;;;;;;;;;16679:12;16671:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16729:35;16786:42;16729:100;;16858:16;16840:15;;:34;;;;;;;;;;;;;;;;;;16885:58;16902:4;16917:15;;;;;;;;;;;4935:12;16885:8;:58::i;:::-;16988:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16970:56;;;17035:4;17042:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16970:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16954:13;;:112;;;;;;;;;;;;;;;;;;17077:15;;;;;;;;;;;:31;;;17116:21;17147:4;17153:24;17171:4;17153:9;:24::i;:::-;17178:1;17180::::0;17182:7:::1;:5;:7::i;:::-;17190:15;17077:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17233:18;17217:13;:34;;;;17269:13;;;;;;;;;;;17262:29;;;17300:15;;;;;;;;;;;17318:14;17262:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17358:4;17344:11;;:18;;;;;;;;;;;;;;;;;;17406:10;17387:15;:30;;;;:::i;:::-;17373:11;:44;;;;17442:15;17428:11;:29;;;;16660:805;16616:849::o:0;18918:103::-;18962:4;18997:15;18987:7;;:25;18979:34;;18918:103;:::o;17960:148::-;18047:11;;;;;;;;;;;18031:27;;:12;:10;:12::i;:::-;:27;;;18023:36;;;;;;18095:5;18070:18;:22;18089:2;18070:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;17960:148;:::o;19950:101::-;19995:4;20019:24;20029:13;;;;;;;;;;;20019:9;:24::i;:::-;20012:31;;19950:101;:::o;7567:143::-;7648:7;7675:11;:18;7687:5;7675:18;;;;;;;;;;;;;;;:27;7694:7;7675:27;;;;;;;;;;;;;;;;7668:34;;7567:143;;;;:::o;712:98::-;765:7;792:10;785:17;;712:98;:::o;8815:335::-;8925:1;8908:19;;:5;:19;;;;8900:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9006:1;8987:21;;:7;:21;;;;8979:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9088:6;9058:11;:18;9070:5;9058:18;;;;;;;;;;;;;;;:27;9077:7;9058:27;;;;;;;;;;;;;;;:36;;;;9126:7;9110:32;;9119:5;9110:32;;;9135:6;9110:32;;;;;;:::i;:::-;;;;;;;;8815:335;;;:::o;9162:3904::-;9266:1;9250:18;;:4;:18;;;;9242:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9343:1;9329:16;;:2;:16;;;;9321:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9413:1;9404:6;:10;9396:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9484:7;:5;:7::i;:::-;9476:15;;:4;:15;;;;:32;;;;;9501:7;:5;:7::i;:::-;9495:13;;:2;:13;;;;9476:32;9473:3371;;;9548:5;:11;9554:4;9548:11;;;;;;;;;;;;;;;;;;;;;;;;;9547:12;:26;;;;;9564:5;:9;9570:2;9564:9;;;;;;;;;;;;;;;;;;;;;;;;;9563:10;9547:26;9539:35;;;;;;9607:6;:18;9614:10;9607:18;;;;;;;;;;;;;;;:25;;;;;;;;;;;;9603:99;;9674:12;;;;;;;;9679:1;9674:12;;;;9681:4;9674:12;;;;;9653:6;:18;9660:10;9653:18;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9603:99;9716:16;9735:1;9716:20;;9782:13;;;;;;;;;;;9774:21;;:4;:21;;;:55;;;;;9813:15;;;;;;;;;;;9799:30;;:2;:30;;;;9774:55;:82;;;;;9834:18;:22;9853:2;9834:22;;;;;;;;;;;;;;;;;;;;;;;;;9833:23;9774:82;9771:1558;;;9885:11;;;;;;;;;;;9877:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9998:10;9983:11;;:26;;;;:::i;:::-;9965:15;:44;9962:316;;;10048:15;10038:7;;:25;10034:163;;;10103:1;10092:12;;10034:163;;;10172:1;10161:12;;10034:163;9962:316;;;10256:2;10245:13;;9962:316;10324:25;10346:2;10325:15;10338:1;10325:8;:12;;:15;;;;:::i;:::-;10324:21;;:25;;;;:::i;:::-;10314:7;:35;;;;10379:25;10401:2;10380:15;10393:1;10380:8;:12;;:15;;;;:::i;:::-;10379:21;;:25;;;;:::i;:::-;10368:8;:36;;;;10444:16;;;;;;;;;;;10441:364;;;10502:15;10488:11;;:29;10485:301;;;10564:13;;10554:6;:23;;10546:32;;;;;;10632:15;10613:6;:10;10620:2;10613:10;;;;;;;;;;;;;;;:16;;;:34;10605:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10751:10;10732:15;:30;;;;:::i;:::-;10713:6;:10;10720:2;10713:10;;;;;;;;;;;;;;;:16;;:49;;;;10485:301;10441:364;10855:40;10891:3;10855:31;10884:1;10855:24;10865:13;;;;;;;;;;;10855:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;10845:6;:50;10841:140;;10951:9;10932:15;:29;;;;:::i;:::-;10920:9;:41;;;;10841:140;11041:1;11021:16;;:21;11017:221;;11098:9;11079:15;:29;;;;:::i;:::-;11067:9;:41;;;;11150:1;11131:16;:20;;;;11017:221;;;11200:16;;:18;;;;;;;;;:::i;:::-;;;;;;11017:221;11294:1;11274:17;:21;;;;9771:1558;11343:28;11374:24;11392:4;11374:9;:24::i;:::-;11343:55;;11440:6;;;;;;;;;;;11439:7;:32;;;;;11458:13;;;;;;;;;;;11450:21;;:4;:21;;;;11439:32;:47;;;;;11475:11;;;;;;;;;;;11439:47;11436:1397;;;11541:15;11529:9;;:27;11525:150;;;11592:2;11581:13;;11525:150;;;11654:1;11643:12;;11525:150;11721:25;11743:2;11722:15;11735:1;11722:8;:12;;:15;;;;:::i;:::-;11721:21;;:25;;;;:::i;:::-;11711:7;:35;;;;11776:25;11798:2;11777:15;11790:1;11777:8;:12;;:15;;;;:::i;:::-;11776:21;;:25;;;;:::i;:::-;11765:8;:36;;;;11848:1;11825:20;:24;11822:314;;;11900:40;11936:3;11900:31;11929:1;11900:24;11910:13;;;;;;;;;;;11900:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;11877:20;:63;11874:182;;;11992:40;12028:3;11992:31;12021:1;11992:24;12002:13;;;;;;;;;;;11992:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;11969:63;;11874:182;12078:38;12095:20;12078:16;:38::i;:::-;11822:314;12154:26;12183:21;12154:50;;12247:1;12226:18;:22;12223:105;;;12273:35;12286:21;12273:12;:35::i;:::-;12223:105;12378:40;12414:3;12378:31;12407:1;12378:24;12388:13;;;;;;;;;;;12378:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;12368:6;:50;12364:139;;12473:9;12454:15;:29;;;;:::i;:::-;12444:7;:39;;;;12364:139;12564:1;12543:17;;:22;12539:222;;12619:9;12600:15;:29;;;;:::i;:::-;12590:7;:39;;;;12672:1;12652:17;:21;;;;12539:222;;;12722:17;;:19;;;;;;;;;:::i;:::-;;;;;;12539:222;12816:1;12797:16;:20;;;;11488:1345;11436:1397;9510:3334;;9473:3371;12854:12;12869:4;12854:19;;12889:18;:24;12908:4;12889:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12917:18;:22;12936:2;12917:22;;;;;;;;;;;;;;;;;;;;;;;;;12889:50;:68;;;;12943:14;;;;;;;;;;;12889:68;12886:114;;;12983:5;12973:15;;12886:114;13020:38;13035:4;13040:2;13043:6;13050:7;13020:14;:38::i;:::-;9231:3835;9162:3904;;;:::o;1849:190::-;1935:7;1968:1;1963;:6;;1971:12;1955:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1995:9;2011:1;2007;:5;;;;:::i;:::-;1995:17;;2030:1;2023:8;;;1849:190;;;;;:::o;13573:158::-;13630:11;;;;;;;;;;;:20;;:35;13651:13;13662:1;13651:6;:10;;:13;;;;:::i;:::-;13630:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13676:23;;;;;;;;;;;:32;;:47;13709:13;13720:1;13709:6;:10;;:13;;;;:::i;:::-;13676:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13573:158;:::o;8208:254::-;8275:7;8314;;8303;:18;;8295:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8379:19;8402:10;:8;:10::i;:::-;8379:33;;8430:24;8442:11;8430:7;:11;;:24;;;;:::i;:::-;8423:31;;;8208:254;;;:::o;13074:483::-;6315:4;6306:6;;:13;;;;;;;;;;;;;;;;;;13152:21:::1;13190:1;13176:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13152:40;;13221:4;13203;13208:1;13203:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13247:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13237:4;13242:1;13237:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13280:62;13297:4;13312:15;;;;;;;;;;;13330:11;13280:8;:62::i;:::-;13353:15;;;;;;;;;;;:66;;;13434:11;13460:1;13476:4;13503;13523:15;13353:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13141:416;6351:5:::0;6342:6;;:14;;;;;;;;;;;;;;;;;;13074:483;:::o;2047:245::-;2105:7;2133:1;2128;:6;2125:46;;;2158:1;2151:8;;;;2125:46;2181:9;2197:1;2193;:5;;;;:::i;:::-;2181:17;;2226:1;2221;2217;:5;;;;:::i;:::-;:10;2209:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2283:1;2276:8;;;2047:245;;;;;:::o;2300:132::-;2358:7;2385:39;2389:1;2392;2385:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2378:46;;2300:132;;;;:::o;13743:263::-;13855:7;13851:40;;13877:14;:12;:14::i;:::-;13851:40;13902:44;13920:6;13928:9;13939:6;13902:17;:44::i;:::-;13961:7;13957:41;;13983:15;:13;:15::i;:::-;13957:41;13743:263;;;;:::o;15347:163::-;15388:7;15409:15;15426;15445:19;:17;:19::i;:::-;15408:56;;;;15482:20;15494:7;15482;:11;;:20;;;;:::i;:::-;15475:27;;;;15347:163;:::o;2440:189::-;2526:7;2558:1;2554;:5;2561:12;2546:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2585:9;2601:1;2597;:5;;;;:::i;:::-;2585:17;;2620:1;2613:8;;;2440:189;;;;;:::o;8470:210::-;8527:1;8516:7;;:12;:29;;;;;8544:1;8532:8;;:13;8516:29;8513:41;;;8547:7;;8513:41;8582:7;;8564:15;:25;;;;8619:8;;8600:16;:27;;;;8648:1;8638:7;:11;;;;8671:1;8660:8;:12;;;;8470:210;:::o;14014:490::-;14113:15;14130:23;14155:12;14169:23;14194:12;14208:13;14225:19;14236:7;14225:10;:19::i;:::-;14112:132;;;;;;;;;;;;14273:28;14293:7;14273;:15;14281:6;14273:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14255:7;:15;14263:6;14255:15;;;;;;;;;;;;;;;:46;;;;14333:39;14356:15;14333:7;:18;14341:9;14333:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14312:7;:18;14320:9;14312:18;;;;;;;;;;;;;;;:60;;;;14386:16;14396:5;14386:9;:16::i;:::-;14413:23;14425:4;14431;14413:11;:23::i;:::-;14469:9;14452:44;;14461:6;14452:44;;;14480:15;14452:44;;;;;;:::i;:::-;;;;;;;;14101:403;;;;;;14014:490;;;:::o;8692:115::-;8746:15;;8736:7;:25;;;;8783:16;;8772:8;:27;;;;8692:115::o;15518:255::-;15568:7;15577;15597:15;15615:7;;15597:25;;15633:15;4935:12;15633:25;;15682:20;4935:12;15682:7;;:11;;:20;;;;:::i;:::-;15672:7;:30;15669:60;;;15712:7;;4935:12;15704:25;;;;;;;;15669:60;15748:7;15757;15740:25;;;;;;15518:255;;;:::o;14512:468::-;14571:7;14580;14589;14598;14607;14616;14637:23;14662:12;14676:13;14693:39;14705:7;14714;;14723:8;;14693:11;:39::i;:::-;14636:96;;;;;;14743:19;14766:10;:8;:10::i;:::-;14743:33;;14788:15;14805:23;14830:12;14846:46;14858:7;14867:4;14873:5;14880:11;14846;:46::i;:::-;14787:105;;;;;;14911:7;14920:15;14937:4;14943:15;14960:4;14966:5;14903:69;;;;;;;;;;;;;;;;;;;14512:468;;;;;;;:::o;1705:136::-;1763:7;1790:43;1794:1;1797;1790:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1783:50;;1705:136;;;;:::o;1518:179::-;1576:7;1596:9;1612:1;1608;:5;;;;:::i;:::-;1596:17;;1637:1;1632;:6;;1624:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1688:1;1681:8;;;1518:179;;;;:::o;16198:214::-;16251:19;16274:10;:8;:10::i;:::-;16251:33;;16295:13;16311:22;16321:11;16311:5;:9;;:22;;;;:::i;:::-;16295:38;;16371:33;16398:5;16371:7;:22;16387:4;16371:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16346:7;:22;16362:4;16346:22;;;;;;;;;;;;;;;:58;;;;16240:172;;16198:214;:::o;16420:147::-;16498:17;16510:4;16498:7;;:11;;:17;;;;:::i;:::-;16488:7;:27;;;;16539:20;16554:4;16539:10;;:14;;:20;;;;:::i;:::-;16526:10;:33;;;;16420:147;;:::o;14988:351::-;15081:7;15090;15099;15119:12;15134:28;15158:3;15134:19;15146:6;15134:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15119:43;;15173:13;15189:29;15214:3;15189:20;15201:7;15189;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15173:45;;15229:23;15255:28;15277:5;15255:17;15267:4;15255:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15229:54;;15302:15;15319:4;15325:5;15294:37;;;;;;;;;14988:351;;;;;;;:::o;15781:409::-;15891:7;15900;15909;15929:15;15947:24;15959:11;15947:7;:11;;:24;;;;:::i;:::-;15929:42;;15982:12;15997:21;16006:11;15997:4;:8;;:21;;;;:::i;:::-;15982:36;;16029:13;16045:22;16055:11;16045:5;:9;;:22;;;;:::i;:::-;16029:38;;16078:23;16104:28;16126:5;16104:17;16116:4;16104:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16078:54;;16151:7;16160:15;16177:4;16143:39;;;;;;;;;;15781:409;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1046:155::-;1100:5;1138:6;1125:20;1116:29;;1154:41;1189:5;1154:41;:::i;:::-;1106:95;;;;:::o;1224:370::-;1295:5;1344:3;1337:4;1329:6;1325:17;1321:27;1311:2;;1352:79;;:::i;:::-;1311:2;1469:6;1456:20;1494:94;1584:3;1576:6;1569:4;1561:6;1557:17;1494:94;:::i;:::-;1485:103;;1301:293;;;;;:::o;1600:133::-;1643:5;1681:6;1668:20;1659:29;;1697:30;1721:5;1697:30;:::i;:::-;1649:84;;;;:::o;1739:137::-;1793:5;1824:6;1818:13;1809:22;;1840:30;1864:5;1840:30;:::i;:::-;1799:77;;;;:::o;1882:139::-;1928:5;1966:6;1953:20;1944:29;;1982:33;2009:5;1982:33;:::i;:::-;1934:87;;;;:::o;2027:143::-;2084:5;2115:6;2109:13;2100:22;;2131:33;2158:5;2131:33;:::i;:::-;2090:80;;;;:::o;2176:329::-;2235:6;2284:2;2272:9;2263:7;2259:23;2255:32;2252:2;;;2290:79;;:::i;:::-;2252:2;2410:1;2435:53;2480:7;2471:6;2460:9;2456:22;2435:53;:::i;:::-;2425:63;;2381:117;2242:263;;;;:::o;2511:351::-;2581:6;2630:2;2618:9;2609:7;2605:23;2601:32;2598:2;;;2636:79;;:::i;:::-;2598:2;2756:1;2781:64;2837:7;2828:6;2817:9;2813:22;2781:64;:::i;:::-;2771:74;;2727:128;2588:274;;;;:::o;2868:345::-;2935:6;2984:2;2972:9;2963:7;2959:23;2955:32;2952:2;;;2990:79;;:::i;:::-;2952:2;3110:1;3135:61;3188:7;3179:6;3168:9;3164:22;3135:61;:::i;:::-;3125:71;;3081:125;2942:271;;;;:::o;3219:474::-;3287:6;3295;3344:2;3332:9;3323:7;3319:23;3315:32;3312:2;;;3350:79;;:::i;:::-;3312:2;3470:1;3495:53;3540:7;3531:6;3520:9;3516:22;3495:53;:::i;:::-;3485:63;;3441:117;3597:2;3623:53;3668:7;3659:6;3648:9;3644:22;3623:53;:::i;:::-;3613:63;;3568:118;3302:391;;;;;:::o;3699:619::-;3776:6;3784;3792;3841:2;3829:9;3820:7;3816:23;3812:32;3809:2;;;3847:79;;:::i;:::-;3809:2;3967:1;3992:53;4037:7;4028:6;4017:9;4013:22;3992:53;:::i;:::-;3982:63;;3938:117;4094:2;4120:53;4165:7;4156:6;4145:9;4141:22;4120:53;:::i;:::-;4110:63;;4065:118;4222:2;4248:53;4293:7;4284:6;4273:9;4269:22;4248:53;:::i;:::-;4238:63;;4193:118;3799:519;;;;;:::o;4324:474::-;4392:6;4400;4449:2;4437:9;4428:7;4424:23;4420:32;4417:2;;;4455:79;;:::i;:::-;4417:2;4575:1;4600:53;4645:7;4636:6;4625:9;4621:22;4600:53;:::i;:::-;4590:63;;4546:117;4702:2;4728:53;4773:7;4764:6;4753:9;4749:22;4728:53;:::i;:::-;4718:63;;4673:118;4407:391;;;;;:::o;4804:539::-;4888:6;4937:2;4925:9;4916:7;4912:23;4908:32;4905:2;;;4943:79;;:::i;:::-;4905:2;5091:1;5080:9;5076:17;5063:31;5121:18;5113:6;5110:30;5107:2;;;5143:79;;:::i;:::-;5107:2;5248:78;5318:7;5309:6;5298:9;5294:22;5248:78;:::i;:::-;5238:88;;5034:302;4895:448;;;;:::o;5349:323::-;5405:6;5454:2;5442:9;5433:7;5429:23;5425:32;5422:2;;;5460:79;;:::i;:::-;5422:2;5580:1;5605:50;5647:7;5638:6;5627:9;5623:22;5605:50;:::i;:::-;5595:60;;5551:114;5412:260;;;;:::o;5678:345::-;5745:6;5794:2;5782:9;5773:7;5769:23;5765:32;5762:2;;;5800:79;;:::i;:::-;5762:2;5920:1;5945:61;5998:7;5989:6;5978:9;5974:22;5945:61;:::i;:::-;5935:71;;5891:125;5752:271;;;;:::o;6029:663::-;6117:6;6125;6133;6182:2;6170:9;6161:7;6157:23;6153:32;6150:2;;;6188:79;;:::i;:::-;6150:2;6308:1;6333:64;6389:7;6380:6;6369:9;6365:22;6333:64;:::i;:::-;6323:74;;6279:128;6446:2;6472:64;6528:7;6519:6;6508:9;6504:22;6472:64;:::i;:::-;6462:74;;6417:129;6585:2;6611:64;6667:7;6658:6;6647:9;6643:22;6611:64;:::i;:::-;6601:74;;6556:129;6140:552;;;;;:::o;6698:179::-;6767:10;6788:46;6830:3;6822:6;6788:46;:::i;:::-;6866:4;6861:3;6857:14;6843:28;;6778:99;;;;:::o;6883:108::-;6960:24;6978:5;6960:24;:::i;:::-;6955:3;6948:37;6938:53;;:::o;6997:118::-;7084:24;7102:5;7084:24;:::i;:::-;7079:3;7072:37;7062:53;;:::o;7151:732::-;7270:3;7299:54;7347:5;7299:54;:::i;:::-;7369:86;7448:6;7443:3;7369:86;:::i;:::-;7362:93;;7479:56;7529:5;7479:56;:::i;:::-;7558:7;7589:1;7574:284;7599:6;7596:1;7593:13;7574:284;;;7675:6;7669:13;7702:63;7761:3;7746:13;7702:63;:::i;:::-;7695:70;;7788:60;7841:6;7788:60;:::i;:::-;7778:70;;7634:224;7621:1;7618;7614:9;7609:14;;7574:284;;;7578:14;7874:3;7867:10;;7275:608;;;;;;;:::o;7889:109::-;7970:21;7985:5;7970:21;:::i;:::-;7965:3;7958:34;7948:50;;:::o;8004:147::-;8099:45;8138:5;8099:45;:::i;:::-;8094:3;8087:58;8077:74;;:::o;8157:364::-;8245:3;8273:39;8306:5;8273:39;:::i;:::-;8328:71;8392:6;8387:3;8328:71;:::i;:::-;8321:78;;8408:52;8453:6;8448:3;8441:4;8434:5;8430:16;8408:52;:::i;:::-;8485:29;8507:6;8485:29;:::i;:::-;8480:3;8476:39;8469:46;;8249:272;;;;;:::o;8527:366::-;8669:3;8690:67;8754:2;8749:3;8690:67;:::i;:::-;8683:74;;8766:93;8855:3;8766:93;:::i;:::-;8884:2;8879:3;8875:12;8868:19;;8673:220;;;:::o;8899:366::-;9041:3;9062:67;9126:2;9121:3;9062:67;:::i;:::-;9055:74;;9138:93;9227:3;9138:93;:::i;:::-;9256:2;9251:3;9247:12;9240:19;;9045:220;;;:::o;9271:366::-;9413:3;9434:67;9498:2;9493:3;9434:67;:::i;:::-;9427:74;;9510:93;9599:3;9510:93;:::i;:::-;9628:2;9623:3;9619:12;9612:19;;9417:220;;;:::o;9643:366::-;9785:3;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9799:74;;9882:93;9971:3;9882:93;:::i;:::-;10000:2;9995:3;9991:12;9984:19;;9789:220;;;:::o;10015:366::-;10157:3;10178:67;10242:2;10237:3;10178:67;:::i;:::-;10171:74;;10254:93;10343:3;10254:93;:::i;:::-;10372:2;10367:3;10363:12;10356:19;;10161:220;;;:::o;10387:366::-;10529:3;10550:67;10614:2;10609:3;10550:67;:::i;:::-;10543:74;;10626:93;10715:3;10626:93;:::i;:::-;10744:2;10739:3;10735:12;10728:19;;10533:220;;;:::o;10759:366::-;10901:3;10922:67;10986:2;10981:3;10922:67;:::i;:::-;10915:74;;10998:93;11087:3;10998:93;:::i;:::-;11116:2;11111:3;11107:12;11100:19;;10905:220;;;:::o;11131:366::-;11273:3;11294:67;11358:2;11353:3;11294:67;:::i;:::-;11287:74;;11370:93;11459:3;11370:93;:::i;:::-;11488:2;11483:3;11479:12;11472:19;;11277:220;;;:::o;11503:366::-;11645:3;11666:67;11730:2;11725:3;11666:67;:::i;:::-;11659:74;;11742:93;11831:3;11742:93;:::i;:::-;11860:2;11855:3;11851:12;11844:19;;11649:220;;;:::o;11875:366::-;12017:3;12038:67;12102:2;12097:3;12038:67;:::i;:::-;12031:74;;12114:93;12203:3;12114:93;:::i;:::-;12232:2;12227:3;12223:12;12216:19;;12021:220;;;:::o;12247:366::-;12389:3;12410:67;12474:2;12469:3;12410:67;:::i;:::-;12403:74;;12486:93;12575:3;12486:93;:::i;:::-;12604:2;12599:3;12595:12;12588:19;;12393:220;;;:::o;12619:366::-;12761:3;12782:67;12846:2;12841:3;12782:67;:::i;:::-;12775:74;;12858:93;12947:3;12858:93;:::i;:::-;12976:2;12971:3;12967:12;12960:19;;12765:220;;;:::o;12991:118::-;13078:24;13096:5;13078:24;:::i;:::-;13073:3;13066:37;13056:53;;:::o;13115:112::-;13198:22;13214:5;13198:22;:::i;:::-;13193:3;13186:35;13176:51;;:::o;13233:222::-;13326:4;13364:2;13353:9;13349:18;13341:26;;13377:71;13445:1;13434:9;13430:17;13421:6;13377:71;:::i;:::-;13331:124;;;;:::o;13461:332::-;13582:4;13620:2;13609:9;13605:18;13597:26;;13633:71;13701:1;13690:9;13686:17;13677:6;13633:71;:::i;:::-;13714:72;13782:2;13771:9;13767:18;13758:6;13714:72;:::i;:::-;13587:206;;;;;:::o;13799:332::-;13920:4;13958:2;13947:9;13943:18;13935:26;;13971:71;14039:1;14028:9;14024:17;14015:6;13971:71;:::i;:::-;14052:72;14120:2;14109:9;14105:18;14096:6;14052:72;:::i;:::-;13925:206;;;;;:::o;14137:807::-;14386:4;14424:3;14413:9;14409:19;14401:27;;14438:71;14506:1;14495:9;14491:17;14482:6;14438:71;:::i;:::-;14519:72;14587:2;14576:9;14572:18;14563:6;14519:72;:::i;:::-;14601:80;14677:2;14666:9;14662:18;14653:6;14601:80;:::i;:::-;14691;14767:2;14756:9;14752:18;14743:6;14691:80;:::i;:::-;14781:73;14849:3;14838:9;14834:19;14825:6;14781:73;:::i;:::-;14864;14932:3;14921:9;14917:19;14908:6;14864:73;:::i;:::-;14391:553;;;;;;;;;:::o;14950:210::-;15037:4;15075:2;15064:9;15060:18;15052:26;;15088:65;15150:1;15139:9;15135:17;15126:6;15088:65;:::i;:::-;15042:118;;;;:::o;15166:313::-;15279:4;15317:2;15306:9;15302:18;15294:26;;15366:9;15360:4;15356:20;15352:1;15341:9;15337:17;15330:47;15394:78;15467:4;15458:6;15394:78;:::i;:::-;15386:86;;15284:195;;;;:::o;15485:419::-;15651:4;15689:2;15678:9;15674:18;15666:26;;15738:9;15732:4;15728:20;15724:1;15713:9;15709:17;15702:47;15766:131;15892:4;15766:131;:::i;:::-;15758:139;;15656:248;;;:::o;15910:419::-;16076:4;16114:2;16103:9;16099:18;16091:26;;16163:9;16157:4;16153:20;16149:1;16138:9;16134:17;16127:47;16191:131;16317:4;16191:131;:::i;:::-;16183:139;;16081:248;;;:::o;16335:419::-;16501:4;16539:2;16528:9;16524:18;16516:26;;16588:9;16582:4;16578:20;16574:1;16563:9;16559:17;16552:47;16616:131;16742:4;16616:131;:::i;:::-;16608:139;;16506:248;;;:::o;16760:419::-;16926:4;16964:2;16953:9;16949:18;16941:26;;17013:9;17007:4;17003:20;16999:1;16988:9;16984:17;16977:47;17041:131;17167:4;17041:131;:::i;:::-;17033:139;;16931:248;;;:::o;17185:419::-;17351:4;17389:2;17378:9;17374:18;17366:26;;17438:9;17432:4;17428:20;17424:1;17413:9;17409:17;17402:47;17466:131;17592:4;17466:131;:::i;:::-;17458:139;;17356:248;;;:::o;17610:419::-;17776:4;17814:2;17803:9;17799:18;17791:26;;17863:9;17857:4;17853:20;17849:1;17838:9;17834:17;17827:47;17891:131;18017:4;17891:131;:::i;:::-;17883:139;;17781:248;;;:::o;18035:419::-;18201:4;18239:2;18228:9;18224:18;18216:26;;18288:9;18282:4;18278:20;18274:1;18263:9;18259:17;18252:47;18316:131;18442:4;18316:131;:::i;:::-;18308:139;;18206:248;;;:::o;18460:419::-;18626:4;18664:2;18653:9;18649:18;18641:26;;18713:9;18707:4;18703:20;18699:1;18688:9;18684:17;18677:47;18741:131;18867:4;18741:131;:::i;:::-;18733:139;;18631:248;;;:::o;18885:419::-;19051:4;19089:2;19078:9;19074:18;19066:26;;19138:9;19132:4;19128:20;19124:1;19113:9;19109:17;19102:47;19166:131;19292:4;19166:131;:::i;:::-;19158:139;;19056:248;;;:::o;19310:419::-;19476:4;19514:2;19503:9;19499:18;19491:26;;19563:9;19557:4;19553:20;19549:1;19538:9;19534:17;19527:47;19591:131;19717:4;19591:131;:::i;:::-;19583:139;;19481:248;;;:::o;19735:419::-;19901:4;19939:2;19928:9;19924:18;19916:26;;19988:9;19982:4;19978:20;19974:1;19963:9;19959:17;19952:47;20016:131;20142:4;20016:131;:::i;:::-;20008:139;;19906:248;;;:::o;20160:419::-;20326:4;20364:2;20353:9;20349:18;20341:26;;20413:9;20407:4;20403:20;20399:1;20388:9;20384:17;20377:47;20441:131;20567:4;20441:131;:::i;:::-;20433:139;;20331:248;;;:::o;20585:222::-;20678:4;20716:2;20705:9;20701:18;20693:26;;20729:71;20797:1;20786:9;20782:17;20773:6;20729:71;:::i;:::-;20683:124;;;;:::o;20813:831::-;21076:4;21114:3;21103:9;21099:19;21091:27;;21128:71;21196:1;21185:9;21181:17;21172:6;21128:71;:::i;:::-;21209:80;21285:2;21274:9;21270:18;21261:6;21209:80;:::i;:::-;21336:9;21330:4;21326:20;21321:2;21310:9;21306:18;21299:48;21364:108;21467:4;21458:6;21364:108;:::i;:::-;21356:116;;21482:72;21550:2;21539:9;21535:18;21526:6;21482:72;:::i;:::-;21564:73;21632:3;21621:9;21617:19;21608:6;21564:73;:::i;:::-;21081:563;;;;;;;;:::o;21650:214::-;21739:4;21777:2;21766:9;21762:18;21754:26;;21790:67;21854:1;21843:9;21839:17;21830:6;21790:67;:::i;:::-;21744:120;;;;:::o;21870:129::-;21904:6;21931:20;;:::i;:::-;21921:30;;21960:33;21988:4;21980:6;21960:33;:::i;:::-;21911:88;;;:::o;22005:75::-;22038:6;22071:2;22065:9;22055:19;;22045:35;:::o;22086:311::-;22163:4;22253:18;22245:6;22242:30;22239:2;;;22275:18;;:::i;:::-;22239:2;22325:4;22317:6;22313:17;22305:25;;22385:4;22379;22375:15;22367:23;;22168:229;;;:::o;22403:132::-;22470:4;22493:3;22485:11;;22523:4;22518:3;22514:14;22506:22;;22475:60;;;:::o;22541:114::-;22608:6;22642:5;22636:12;22626:22;;22615:40;;;:::o;22661:99::-;22713:6;22747:5;22741:12;22731:22;;22720:40;;;:::o;22766:113::-;22836:4;22868;22863:3;22859:14;22851:22;;22841:38;;;:::o;22885:184::-;22984:11;23018:6;23013:3;23006:19;23058:4;23053:3;23049:14;23034:29;;22996:73;;;;:::o;23075:169::-;23159:11;23193:6;23188:3;23181:19;23233:4;23228:3;23224:14;23209:29;;23171:73;;;;:::o;23250:305::-;23290:3;23309:20;23327:1;23309:20;:::i;:::-;23304:25;;23343:20;23361:1;23343:20;:::i;:::-;23338:25;;23497:1;23429:66;23425:74;23422:1;23419:81;23416:2;;;23503:18;;:::i;:::-;23416:2;23547:1;23544;23540:9;23533:16;;23294:261;;;;:::o;23561:185::-;23601:1;23618:20;23636:1;23618:20;:::i;:::-;23613:25;;23652:20;23670:1;23652:20;:::i;:::-;23647:25;;23691:1;23681:2;;23696:18;;:::i;:::-;23681:2;23738:1;23735;23731:9;23726:14;;23603:143;;;;:::o;23752:348::-;23792:7;23815:20;23833:1;23815:20;:::i;:::-;23810:25;;23849:20;23867:1;23849:20;:::i;:::-;23844:25;;24037:1;23969:66;23965:74;23962:1;23959:81;23954:1;23947:9;23940:17;23936:105;23933:2;;;24044:18;;:::i;:::-;23933:2;24092:1;24089;24085:9;24074:20;;23800:300;;;;:::o;24106:191::-;24146:4;24166:20;24184:1;24166:20;:::i;:::-;24161:25;;24200:20;24218:1;24200:20;:::i;:::-;24195:25;;24239:1;24236;24233:8;24230:2;;;24244:18;;:::i;:::-;24230:2;24289:1;24286;24282:9;24274:17;;24151:146;;;;:::o;24303:96::-;24340:7;24369:24;24387:5;24369:24;:::i;:::-;24358:35;;24348:51;;;:::o;24405:104::-;24450:7;24479:24;24497:5;24479:24;:::i;:::-;24468:35;;24458:51;;;:::o;24515:90::-;24549:7;24592:5;24585:13;24578:21;24567:32;;24557:48;;;:::o;24611:126::-;24648:7;24688:42;24681:5;24677:54;24666:65;;24656:81;;;:::o;24743:77::-;24780:7;24809:5;24798:16;;24788:32;;;:::o;24826:86::-;24861:7;24901:4;24894:5;24890:16;24879:27;;24869:43;;;:::o;24918:121::-;24976:9;25009:24;25027:5;25009:24;:::i;:::-;24996:37;;24986:53;;;:::o;25045:307::-;25113:1;25123:113;25137:6;25134:1;25131:13;25123:113;;;25222:1;25217:3;25213:11;25207:18;25203:1;25198:3;25194:11;25187:39;25159:2;25156:1;25152:10;25147:15;;25123:113;;;25254:6;25251:1;25248:13;25245:2;;;25334:1;25325:6;25320:3;25316:16;25309:27;25245:2;25094:258;;;;:::o;25358:281::-;25441:27;25463:4;25441:27;:::i;:::-;25433:6;25429:40;25571:6;25559:10;25556:22;25535:18;25523:10;25520:34;25517:62;25514:2;;;25582:18;;:::i;:::-;25514:2;25622:10;25618:2;25611:22;25401:238;;;:::o;25645:233::-;25684:3;25707:24;25725:5;25707:24;:::i;:::-;25698:33;;25753:66;25746:5;25743:77;25740:2;;;25823:18;;:::i;:::-;25740:2;25870:1;25863:5;25859:13;25852:20;;25688:190;;;:::o;25884:180::-;25932:77;25929:1;25922:88;26029:4;26026:1;26019:15;26053:4;26050:1;26043:15;26070:180;26118:77;26115:1;26108:88;26215:4;26212:1;26205:15;26239:4;26236:1;26229:15;26256:180;26304:77;26301:1;26294:88;26401:4;26398:1;26391:15;26425:4;26422:1;26415:15;26442:180;26490:77;26487:1;26480:88;26587:4;26584:1;26577:15;26611:4;26608:1;26601:15;26628:117;26737:1;26734;26727:12;26751:117;26860:1;26857;26850:12;26874:117;26983:1;26980;26973:12;26997:117;27106:1;27103;27096:12;27120:102;27161:6;27212:2;27208:7;27203:2;27196:5;27192:14;27188:28;27178:38;;27168:54;;;:::o;27228:222::-;27368:34;27364:1;27356:6;27352:14;27345:58;27437:5;27432:2;27424:6;27420:15;27413:30;27334:116;:::o;27456:229::-;27596:34;27592:1;27584:6;27580:14;27573:58;27665:12;27660:2;27652:6;27648:15;27641:37;27562:123;:::o;27691:221::-;27831:34;27827:1;27819:6;27815:14;27808:58;27900:4;27895:2;27887:6;27883:15;27876:29;27797:115;:::o;27918:221::-;28058:34;28054:1;28046:6;28042:14;28035:58;28127:4;28122:2;28114:6;28110:15;28103:29;28024:115;:::o;28145:177::-;28285:29;28281:1;28273:6;28269:14;28262:53;28251:71;:::o;28328:220::-;28468:34;28464:1;28456:6;28452:14;28445:58;28537:3;28532:2;28524:6;28520:15;28513:28;28434:114;:::o;28554:182::-;28694:34;28690:1;28682:6;28678:14;28671:58;28660:76;:::o;28742:228::-;28882:34;28878:1;28870:6;28866:14;28859:58;28951:11;28946:2;28938:6;28934:15;28927:36;28848:122;:::o;28976:224::-;29116:34;29112:1;29104:6;29100:14;29093:58;29185:7;29180:2;29172:6;29168:15;29161:32;29082:118;:::o;29206:223::-;29346:34;29342:1;29334:6;29330:14;29323:58;29415:6;29410:2;29402:6;29398:15;29391:31;29312:117;:::o;29435:173::-;29575:25;29571:1;29563:6;29559:14;29552:49;29541:67;:::o;29614:174::-;29754:26;29750:1;29742:6;29738:14;29731:50;29720:68;:::o;29794:122::-;29867:24;29885:5;29867:24;:::i;:::-;29860:5;29857:35;29847:2;;29906:1;29903;29896:12;29847:2;29837:79;:::o;29922:138::-;30003:32;30029:5;30003:32;:::i;:::-;29996:5;29993:43;29983:2;;30050:1;30047;30040:12;29983:2;29973:87;:::o;30066:116::-;30136:21;30151:5;30136:21;:::i;:::-;30129:5;30126:32;30116:2;;30172:1;30169;30162:12;30116:2;30106:76;:::o;30188:122::-;30261:24;30279:5;30261:24;:::i;:::-;30254:5;30251:35;30241:2;;30300:1;30297;30290:12;30241:2;30231:79;:::o

Swarm Source

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