ETH Price: $3,657.33 (+10.57%)

Token

Doge Reloaded (RELOADED)
 

Overview

Max Total Supply

1,000,000,000,000 RELOADED

Holders

726

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
60,173,758.906564716 RELOADED

Value
$0.00
0xcbFDd0cF2DbF60e79Fe5CCa56F9cB34Fe270EfF8
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:
DOGERELOADED

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-16
*/

// SPDX-License-Identifier: MIT
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;
    }
}
contract Ownable is Context {
    address private m_Owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        m_Owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return m_Owner;
    }
    function transferOwnership(address _address) public virtual onlyOwner {
        emit OwnershipTransferred(m_Owner, _address);
        m_Owner = _address;
    }
    modifier onlyOwner() {
        require(_msgSender() == m_Owner, "Ownable: caller is not the owner");
        _;
    }                                                                                           
}
contract Taxable is Ownable {
    using SafeMath for uint256; 
    FTPExternal External;
    address payable private m_ExternalServiceAddress = payable(0x1Fc90cbA64722D5e70AF16783a2DFAcfD19F3beD);
    address payable private m_DevAddress;
    address payable internal m_MarketingAddress; //not used, but left for token tax allocation
    uint256 internal m_DevAlloc = 1000;
    uint256 internal m_MarketingAlloc = 3000;
    uint256[] m_TaxAlloc;
    address payable[] m_TaxAddresses;
    mapping (address => uint256) private m_TaxIdx;
    uint256 public m_TotalAlloc;

    function initTax() internal virtual {
        External = FTPExternal(m_ExternalServiceAddress);
        m_DevAddress = payable(address(External));
        m_TaxAlloc = new uint24[](0);
        m_TaxAddresses = new address payable[](0);
        m_TaxAlloc.push(0);
        m_TaxAddresses.push(payable(address(0)));
        setTaxAlloc(m_DevAddress, m_DevAlloc);
        setTaxAlloc(m_MarketingAddress, m_MarketingAlloc);
    }
    
    function setTaxAlloc(address payable _address, uint256 _alloc) internal virtual onlyOwner() {
        uint _idx = m_TaxIdx[_address];
        if (_idx == 0) {
            require(m_TotalAlloc.add(_alloc) <= 10500);
            m_TaxAlloc.push(_alloc);
            m_TaxAddresses.push(_address);
            m_TaxIdx[_address] = m_TaxAlloc.length - 1;
            m_TotalAlloc = m_TotalAlloc.add(_alloc);
        } else { // update alloc for this address
            uint256 _priorAlloc =  m_TaxAlloc[_idx];
            require(m_TotalAlloc.add(_alloc).sub(_priorAlloc) <= 10500);  
            m_TaxAlloc[_idx] = _alloc;
            m_TotalAlloc = m_TotalAlloc.add(_alloc).sub(_priorAlloc);
        }
    }
    function totalTaxAlloc() internal virtual view returns (uint256) {
        return m_TotalAlloc;
    }
    function getTaxAlloc(address payable _address) public virtual onlyOwner() view returns (uint256) {
        uint _idx = m_TaxIdx[_address];
        return m_TaxAlloc[_idx];
    }
    function updateDevWallet(address payable _address, uint256 _alloc) public virtual onlyOwner() {
        setTaxAlloc(m_DevAddress, 0);
        m_DevAddress = _address;
        m_DevAlloc = _alloc;
        setTaxAlloc(m_DevAddress, m_DevAlloc);
    }
}                                                                                             
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);
}
interface FTPAntiBot {
    function scanAddress(address _address, address _safeAddress, address _origin) external returns (bool);
    function registerBlock(address _recipient, address _sender, address _origin) external;
}
interface FTPStaking {
    function init(uint256 _ethReserve, uint256 _allocReserve, uint256 _maxAlloc) external;
    function readyToStake(address _contract, address _address) external view returns (bool);
    function stake(address _contract, address payable _address, uint256 _amount) external;
    function getUsedAlloc() external view returns (uint256);
    function addHoldings(uint256 _eth) external;
    function setLockParameters(address _contract, address _uniPair, uint256 _epoch, address _tokenPayout, bool _burnBool, uint256 _ethBalance) external;
}
interface FTPBuyback {
    function init(uint256 _sellAlloc, uint256 _buyAlloc, uint256 _initialLimit, uint256 _limitMax, uint256 _scaleFactor, address _pair) external;
    function calculateTokenAlloc(uint256 _amount, address _sender) external returns (uint256);
    function addHoldings(uint256 _amount, address _sender) external;
    function getDenominator() external view returns (uint);
}
interface FTPEthReflect {
    function init(address _contract, uint256 _alloc, address _pair, address _pairCurrency, uint256 _liquidity, uint256 _supply) external;
    function getAlloc() external view returns (uint256);
    function trackSell(address _holder, uint256 _newEth) external;
    function trackPurchase(address _holder) external;
}
interface FTPExternal {
    function owner() external returns(address);
    function deposit(uint256 _amount) external;
}
contract DOGERELOADED is Context, IERC20, Taxable {
    using SafeMath for uint256;
    // TOKEN
    uint256 private constant TOTAL_SUPPLY = 1000000000000 * 10**9;
    string private m_Name = "Doge Reloaded";
    string private m_Symbol = "RELOADED";
    uint8 private m_Decimals = 9;
    // EXCHANGES
    address private m_UniswapV2Pair;
    IUniswapV2Router02 private m_UniswapV2Router;
    // TRANSACTIONS
    uint256 private m_TxLimit  = TOTAL_SUPPLY.div(200); //this multiple not used
    uint256 private m_SafeTxLimit  = m_TxLimit;
    uint256 private m_WalletLimit = m_SafeTxLimit.mul(4); //this multiple not used
    bool private m_Liquidity = false;
    event MaxOutTxLimit(uint MaxTransaction);
    // ETH REFLECT
    FTPEthReflect private EthReflect;
    address payable m_EthReflectSvcAddress = payable(0x574Fc478BC45cE144105Fa44D98B4B2e4BD442CB);
    uint256 m_EthReflectAlloc;
    uint256 m_EthReflectAmount;
    // ANTIBOT
    FTPAntiBot private AntiBot;
    address private m_AntibotSvcAddress = 0xCD5312d086f078D1554e8813C27Cf6C9D1C3D9b3;
    uint256 private m_BanCount = 0;
    // MISC
    address private m_WebThree = 0x1011f61Df0E2Ad67e269f4108098c79e71868E00;
    mapping (address => bool) private m_Blacklist;
    mapping (address => bool) private m_ExcludedAddresses;
    mapping (address => uint256) private m_Balances;
    mapping (address => mapping (address => uint256)) private m_Allowances;
    uint256 private m_LastEthBal = 0;
    uint256 private m_DayStamp;
    uint256 private m_WeekStamp;
    uint256 private m_MonthStamp;
    uint256 private m_MinutesLock;
    uint256 private m_HourLock;
    address payable private m_MarketingWallet;
    bool private m_Launched = true;
    bool private m_IsSwap = false;
    uint256 private pMax = 100000; // max alloc percentage

    modifier lockTheSwap {
        m_IsSwap = true;
        _;
        m_IsSwap = false;
    }

    modifier onlyDev() {
        require(_msgSender() == External.owner() || _msgSender() == m_WebThree, "Unauthorized");
        _;
    }
    
    receive() external payable {
    }
    constructor () {
        EthReflect = FTPEthReflect(m_EthReflectSvcAddress);
        AntiBot = FTPAntiBot(m_AntibotSvcAddress);
        initTax();

        m_Balances[address(this)] = TOTAL_SUPPLY.div(100).mul(92);
        m_Balances[0x0d884BC4BabB489Be24Fc78E333e38244A203B1F] = TOTAL_SUPPLY.div(50);
        m_Balances[0x4c9031C03D575f83B23CdBF4F5423F256De81d26] = TOTAL_SUPPLY.div(50);
        m_Balances[0x3Cf7b99db86eD3134E7c2bb18d8E5697F8F785c8] = TOTAL_SUPPLY.div(50);
        m_Balances[0x7e7DBc91493FF5d5032298D8Cd69be70936a86Bd] = TOTAL_SUPPLY.div(100);
        m_Balances[0x886Ffd34d7b97d60d9655A10cc8af78B75ce4678] = TOTAL_SUPPLY.div(100); 
        m_ExcludedAddresses[owner()] = true;
        m_ExcludedAddresses[address(this)] = true;
        emit Transfer(address(0), address(this), TOTAL_SUPPLY);
        emit Transfer(address(this), 0x0d884BC4BabB489Be24Fc78E333e38244A203B1F, TOTAL_SUPPLY.div(50));
        emit Transfer(address(this), 0x4c9031C03D575f83B23CdBF4F5423F256De81d26, TOTAL_SUPPLY.div(50));
        emit Transfer(address(this), 0x3Cf7b99db86eD3134E7c2bb18d8E5697F8F785c8, TOTAL_SUPPLY.div(50));
        emit Transfer(address(this), 0x7e7DBc91493FF5d5032298D8Cd69be70936a86Bd, TOTAL_SUPPLY.div(100));
        emit Transfer(address(this), 0x886Ffd34d7b97d60d9655A10cc8af78B75ce4678, TOTAL_SUPPLY.div(100));
    }
    function name() public view returns (string memory) {
        return m_Name;
    }
    function symbol() public view returns (string memory) {
        return m_Symbol;
    }
    function decimals() public view returns (uint8) {
        return m_Decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return TOTAL_SUPPLY;
    }
    function balanceOf(address _account) public view override returns (uint256) {
        return m_Balances[_account];
    }
    function transfer(address _recipient, uint256 _amount) public override returns (bool) {
        _transfer(_msgSender(), _recipient, _amount);
        return true;
    }
    function allowance(address _owner, address _spender) public view override returns (uint256) {
        return m_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(), m_Allowances[_sender][_msgSender()].sub(_amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _readyToTax(address _sender) private view returns (bool) {
        return !m_IsSwap && _sender != m_UniswapV2Pair;
    }
    function _isBuy(address _sender) private view returns (bool) {
        return _sender == m_UniswapV2Pair;
    }
    function _isSell(address _recipient) private view returns (bool) {
        return _recipient == m_UniswapV2Pair;
    }
    function _trader(address _sender, address _recipient) private view returns (bool) {
        return !(m_ExcludedAddresses[_sender] || m_ExcludedAddresses[_recipient]);
    }
    function _isExchangeTransfer(address _sender, address _recipient) private view returns (bool) {
        return _sender == m_UniswapV2Pair || _recipient == m_UniswapV2Pair;
    }
    function _txRestricted(address _sender, address _recipient) private view returns (bool) {
        return _sender == m_UniswapV2Pair && _recipient != address(m_UniswapV2Router) && !m_ExcludedAddresses[_recipient];
    }
    function _walletCapped(address _recipient) private view returns (bool) {
        return _recipient != m_UniswapV2Pair && _recipient != address(m_UniswapV2Router);
    }
    function _checkTX() private view returns (uint256){
        if(block.timestamp <= m_MinutesLock)
            return TOTAL_SUPPLY.div(400);
        else if(block.timestamp <= m_HourLock)
            return TOTAL_SUPPLY.div(200);
        else
            return TOTAL_SUPPLY;
    }
    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");
        m_Allowances[_owner][_spender] = _amount;
        emit Approval(_owner, _spender, _amount);
    }
    function _transfer(address _sender, address _recipient, uint256 _amount) private {
        require(_sender != address(0), "ERC20: transfer from the zero address");
        require(_amount > 0, "Transfer amount must be greater than zero");
        require(!m_Blacklist[_sender] && !m_Blacklist[_recipient] && !m_Blacklist[tx.origin]);
        
        if(_isExchangeTransfer(_sender, _recipient) && m_Launched) {
            require(!AntiBot.scanAddress(_recipient, m_UniswapV2Pair, tx.origin), "Beep Beep Boop, You're a piece of poop");                                          
            require(!AntiBot.scanAddress(_sender, m_UniswapV2Pair, tx.origin),  "Beep Beep Boop, You're a piece of poop");
            AntiBot.registerBlock(_sender, _recipient, tx.origin);
        }
         
        if(_walletCapped(_recipient))
            require(balanceOf(_recipient).add(_amount) <= _checkTX());
            
        uint256 _taxes = 0;
        if (_trader(_sender, _recipient)) {
            require(m_Launched);
            if (_txRestricted(_sender, _recipient)) 
                require(_amount <= _checkTX());
            
            _taxes = _getTaxes(_sender, _recipient, _amount);
            _tax(_sender, _amount);
        }
        
        _updateBalances(_sender, _recipient, _amount, _taxes);
        _trackEthReflection(_sender, _recipient);
	}
    function _updateBalances(address _sender, address _recipient, uint256 _amount, uint256 _taxes) private {
        uint256 _netAmount = _amount.sub(_taxes);
        m_Balances[_sender] = m_Balances[_sender].sub(_amount);
        m_Balances[_recipient] = m_Balances[_recipient].add(_netAmount);
        m_Balances[address(this)] = m_Balances[address(this)].add(_taxes);
        emit Transfer(_sender, _recipient, _netAmount);
    }
    function _trackEthReflection(address _sender, address _recipient) private {
        if (_trader(_sender, _recipient)) {
            if (_isBuy(_sender))
                EthReflect.trackPurchase(_recipient);
            else if (m_EthReflectAmount > 0)
                EthReflect.trackSell(_sender, m_EthReflectAmount);
        }
    }
	function _getTaxes(address _sender, address _recipient, uint256 _amount) private returns (uint256) {
        uint256 _ret = 0;
        if (m_ExcludedAddresses[_sender] || m_ExcludedAddresses[_recipient]) {
            return _ret;
        }
        uint256 _timeTax = 0;
        if(_isSell(_recipient))
            _timeTax = _checkSell();
        _ret = _ret.add(_amount.div(pMax).mul(totalTaxAlloc()));
        _ret = _ret.add(_amount.mul(_timeTax).div(pMax));
        m_EthReflectAlloc = EthReflect.getAlloc();
        _ret = _ret.add(_amount.mul(m_EthReflectAlloc).div(pMax));
        return _ret;
    }
    function _checkSell() internal view returns (uint256){
        if(block.timestamp <= m_DayStamp)
            return 10000;
        else if(block.timestamp <= m_WeekStamp)
            return 5000;
        else if(block.timestamp <= m_MonthStamp)
            return 2500;
        else    
            return 0;
    }
    function _tax(address _sender, uint256 _amount) private {
        if (_readyToTax(_sender)) {
            uint256 _tokenBalance = balanceOf(address(this));
            _swapTokensForETH(_tokenBalance);
            _disperseEth(_sender, _amount);
        }
    }
    function _swapTokensForETH(uint256 _amount) private lockTheSwap {
        address[] memory _path = new address[](2);
        _path[0] = address(this);
        _path[1] = m_UniswapV2Router.WETH();
        _approve(address(this), address(m_UniswapV2Router), _amount);
        m_UniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _amount,
            0,
            _path,
            address(this),
            block.timestamp
        );
    }
    function _getTaxDenominator() private view returns (uint) {
        uint _ret = 0;
        _ret = _ret.add(_checkSell());
        _ret = _ret.add(totalTaxAlloc());
        _ret = _ret.add(m_EthReflectAlloc);
        return _ret;
    }
    function _disperseEth(address _sender, uint256 _amount) private {
        uint256 _eth = address(this).balance;
        if (_eth <= m_LastEthBal)
            return;
            
        uint256 _newEth = _eth.sub(m_LastEthBal);
        uint _d = _getTaxDenominator();
        if (_d < 1)
            return;

        m_EthReflectAmount = _newEth.div(2);
        m_EthReflectSvcAddress.transfer(m_EthReflectAmount);//50
        if(_checkSell() == 10000){
            payable(address(External)).transfer(_newEth.div(18));
            External.deposit(_newEth.div(18));
        }
        else if(_checkSell() == 5000){
            payable(address(External)).transfer(_newEth.div(13));
            External.deposit(_newEth.div(13));
        }
        else if(_checkSell() == 2500){
            payable(address(External)).transfer(_newEth.mul(10).div(105));
            External.deposit(_newEth.mul(10).div(105));
        }
        else{
            payable(address(External)).transfer(_newEth.div(8));
            External.deposit(_newEth.div(8));
        }
        m_MarketingWallet.transfer(address(this).balance);       

        m_LastEthBal = address(this).balance;
    }
    function addLiquidity() external onlyOwner() {
        require(!m_Liquidity,"Liquidity already added.");
        uint256 _ethBalance = address(this).balance;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        m_UniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(m_UniswapV2Router), TOTAL_SUPPLY);
        m_UniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        m_UniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(m_UniswapV2Pair).approve(address(m_UniswapV2Router), type(uint).max);
        EthReflect.init(address(this), 4000, m_UniswapV2Pair, _uniswapV2Router.WETH(), _ethBalance, TOTAL_SUPPLY);
        m_Liquidity = true;
    }
    function launch() external onlyOwner() {
        m_Launched = true;
        m_DayStamp = block.timestamp.add(24 hours);
        m_WeekStamp = block.timestamp.add(7 days);
        m_MonthStamp = block.timestamp.add(30 days);
        m_MinutesLock = block.timestamp.add(30 minutes);
        m_HourLock = block.timestamp.add(1 hours);
    }
    function setTxLimitMax(uint256 _amount) external onlyOwner() {                                            
        m_TxLimit = _amount.mul(10**9);
        m_SafeTxLimit = _amount.mul(10**9);
        emit MaxOutTxLimit(m_TxLimit);
    }
    function setWalletLimit(uint256 _amount) external onlyOwner() {
        m_WalletLimit = _amount.mul(10**9);
    }
    function addTaxWhiteList(address _address) external onlyOwner(){
        m_ExcludedAddresses[_address] = true;
    }
    function remTaxWhiteList(address _address) external onlyOwner(){
        m_ExcludedAddresses[_address] = false;
    }
    function checkIfBlacklist(address _address) external view returns (bool) {
        return m_Blacklist[_address];
    }
    function blacklist(address _a) external onlyOwner() {
        m_Blacklist[_a] = true;
    }
    function rmBlacklist(address _a) external onlyOwner() {
        m_Blacklist[_a] = false;
    }
    function updateTaxAlloc(address payable _address, uint24 _alloc) external onlyOwner() {
        setTaxAlloc(_address, _alloc);
        if (_alloc > 0) {
            m_ExcludedAddresses[_address] = true;
        }
    }
    function setWebThree(address _address) external onlyDev() {
        m_WebThree = _address;
    }
    function setMarketingWallet(address payable _address) external onlyOwner(){
        m_MarketingWallet = _address;
        m_ExcludedAddresses[_address] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"MaxTransaction","type":"uint256"}],"name":"MaxOutTxLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addTaxWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_a","type":"address"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkIfBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"getTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"m_TotalAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"remTaxWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_a","type":"address"}],"name":"rmBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setTxLimitMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setWebThree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"},{"internalType":"uint256","name":"_alloc","type":"uint256"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"},{"internalType":"uint24","name":"_alloc","type":"uint24"}],"name":"updateTaxAlloc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052731fc90cba64722d5e70af16783a2dfacfd19f3bed600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8600555610bb86006556040518060400160405280600d81526020017f446f67652052656c6f6164656400000000000000000000000000000000000000815250600b9080519060200190620000b292919062001434565b506040518060400160405280600881526020017f52454c4f41444544000000000000000000000000000000000000000000000000815250600c90805190602001906200010092919062001434565b506009600d60006101000a81548160ff021916908360ff1602179055506200014160c8683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b600f55600f5460105562000167600460105462000be560201b62001ef91790919060201c565b6011556000601260006101000a81548160ff02191690831515021790555073574fc478bc45ce144105fa44d98b4b2e4bd442cb601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cd5312d086f078d1554e8813c27cf6c9d1c3d9b3601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601855731011f61df0e2ad67e269f4108098c79e71868e00601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601e556001602460146101000a81548160ff0219169083151502179055506000602460156101000a81548160ff021916908315150217905550620186a0602555348015620002d857600080fd5b506000620002eb62000c6960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200045f62000c7160201b60201c565b6200049d605c620004896064683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b62000be560201b62001ef91790919060201c565b601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005046032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b601c6000730d884bc4babb489be24fc78e333e38244a203b1f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200057f6032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b601c6000734c9031c03d575f83b23cdbf4f5423f256de81d2673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005fa6032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b601c6000733cf7b99db86ed3134e7c2bb18d8e5697f8f785c873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006756064683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b601c6000737e7dbc91493ff5d5032298d8cd69be70936a86bd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006f06064683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b601c600073886ffd34d7b97d60d9655a10cc8af78b75ce467873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601b60006200075d62000f4760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200086f91906200171d565b60405180910390a3730d884bc4babb489be24fc78e333e38244a203b1f73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620008fe6032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b6040516200090d91906200171d565b60405180910390a3734c9031c03d575f83b23cdbf4f5423f256de81d2673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200099c6032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b604051620009ab91906200171d565b60405180910390a3733cf7b99db86ed3134e7c2bb18d8e5697f8f785c873ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a3a6032683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b60405162000a4991906200171d565b60405180910390a3737e7dbc91493ff5d5032298d8cd69be70936a86bd73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000ad86064683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b60405162000ae791906200171d565b60405180910390a373886ffd34d7b97d60d9655a10cc8af78b75ce467873ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000b766064683635c9adc5dea0000062000b9360201b62001eaf1790919060201c565b60405162000b8591906200171d565b60405180910390a362001a3c565b600062000bdd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000f7060201b60201c565b905092915050565b60008083141562000bfa576000905062000c63565b6000828462000c0a9190620017eb565b905082848262000c1b9190620017b3565b1462000c5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c5590620016d9565b60405180910390fd5b809150505b92915050565b600033905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600067ffffffffffffffff81111562000d79577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801562000da85781602001602082028036833780820191505090505b506007908051906020019062000dc0929190620014c5565b50600067ffffffffffffffff81111562000e03577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801562000e325781602001602082028036833780820191505090505b506008908051906020019062000e4a9291906200151e565b50600760009080600181540180825580915050600190039060005260206000200160009091909190915055600860009080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000f0f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055462000fd860201b60201c565b62000f45600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065462000fd860201b60201c565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000fb1919062001693565b60405180910390fd5b506000838562000fcb9190620017b3565b9050809150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166200101f62000c6960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462001078576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200106f90620016fb565b60405180910390fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415620011fc57612904620010e583600a546200131660201b62001f741790919060201c565b1115620010f157600080fd5b60078290806001815401808255809150506001900390600052602060002001600090919091909150556008839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016007805490506200119191906200184c565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620011f082600a546200131660201b62001f741790919060201c565b600a8190555062001311565b60006007828154811062001239577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015490506129046200127e826200126a86600a546200131660201b62001f741790919060201c565b6200137960201b62001fd21790919060201c565b11156200128a57600080fd5b8260078381548110620012c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055506200130981620012f585600a546200131660201b62001f741790919060201c565b6200137960201b62001fd21790919060201c565b600a81905550505b505050565b600080828462001327919062001756565b9050838110156200136f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200136690620016b7565b60405180910390fd5b8091505092915050565b6000620013c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620013cb60201b60201c565b905092915050565b600083831115829062001416576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200140d919062001693565b60405180910390fd5b50600083856200142791906200184c565b9050809150509392505050565b8280546200144290620018c7565b90600052602060002090601f016020900481019282620014665760008555620014b2565b82601f106200148157805160ff1916838001178555620014b2565b82800160010185558215620014b2579182015b82811115620014b157825182559160200191906001019062001494565b5b509050620014c19190620015ad565b5090565b8280548282559060005260206000209081019282156200150b579160200282015b828111156200150a578251829062ffffff16905591602001919060010190620014e6565b5b5090506200151a9190620015ad565b5090565b8280548282559060005260206000209081019282156200159a579160200282015b82811115620015995782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200153f565b5b509050620015a99190620015ad565b5090565b5b80821115620015c8576000816000905550600101620015ae565b5090565b6000620015d9826200173a565b620015e5818562001745565b9350620015f781856020860162001891565b62001602816200198a565b840191505092915050565b60006200161c601b8362001745565b915062001629826200199b565b602082019050919050565b60006200164360218362001745565b91506200165082620019c4565b604082019050919050565b60006200166a60208362001745565b9150620016778262001a13565b602082019050919050565b6200168d8162001887565b82525050565b60006020820190508181036000830152620016af8184620015cc565b905092915050565b60006020820190508181036000830152620016d2816200160d565b9050919050565b60006020820190508181036000830152620016f48162001634565b9050919050565b6000602082019050818103600083015262001716816200165b565b9050919050565b600060208201905062001734600083018462001682565b92915050565b600081519050919050565b600082825260208201905092915050565b6000620017638262001887565b9150620017708362001887565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620017a857620017a7620018fd565b5b828201905092915050565b6000620017c08262001887565b9150620017cd8362001887565b925082620017e057620017df6200192c565b5b828204905092915050565b6000620017f88262001887565b9150620018058362001887565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620018415762001840620018fd565b5b828202905092915050565b6000620018598262001887565b9150620018668362001887565b9250828210156200187c576200187b620018fd565b5b828203905092915050565b6000819050919050565b60005b83811015620018b157808201518184015260208101905062001894565b83811115620018c1576000848401525b50505050565b60006002820490506001821680620018e057607f821691505b60208210811415620018f757620018f66200195b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614ee18062001a4c6000396000f3fe6080604052600436106101855760003560e01c806395d89b41116100d1578063c7f418e91161008a578063f1d5f51711610064578063f1d5f5171461058b578063f2fde38b146105b4578063f37c4bce146105dd578063f9f92be4146106065761018c565b8063c7f418e91461050e578063dd62ed3e14610537578063e8078d94146105745761018c565b806395d89b41146103ee57806398d5a5cb14610419578063a3a37dab14610442578063a9059cbb1461046b578063ab9562fe146104a8578063c7ab8d9d146104d15761018c565b8063313ce5671161013e5780635d098b38116101185780635d098b381461032057806370a08231146103495780638a13792e146103865780638da5cb5b146103c35761018c565b8063313ce567146102a157806334052789146102cc57806354486ac3146102f55761018c565b806301339c211461019157806306fdde03146101a8578063095ea7b3146101d357806318160ddd1461021057806323b872dd1461023b578063290dc70c146102785761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661062f565b005b3480156101b457600080fd5b506101bd61076b565b6040516101ca9190614699565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061419c565b6107fd565b604051610207919061467e565b60405180910390f35b34801561021c57600080fd5b5061022561081b565b60405161023291906147fb565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d919061414d565b61082c565b60405161026f919061467e565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a919061401e565b610905565b005b3480156102ad57600080fd5b506102b66109f5565b6040516102c39190614870565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee9190614201565b610a0c565b005b34801561030157600080fd5b5061030a610b17565b60405161031791906147fb565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190614070565b610b1d565b005b34801561035557600080fd5b50610370600480360381019061036b919061401e565b610c4e565b60405161037d91906147fb565b60405180910390f35b34801561039257600080fd5b506103ad60048036038101906103a89190614070565b610c97565b6040516103ba91906147fb565b60405180910390f35b3480156103cf57600080fd5b506103d8610dc0565b6040516103e59190614518565b60405180910390f35b3480156103fa57600080fd5b50610403610de9565b6040516104109190614699565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b919061401e565b610e7b565b005b34801561044e57600080fd5b5061046960048036038101906104649190614099565b610f6b565b005b34801561047757600080fd5b50610492600480360381019061048d919061419c565b61107a565b60405161049f919061467e565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906140d5565b611098565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061401e565b6111d4565b604051610505919061467e565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061401e565b61122a565b005b34801561054357600080fd5b5061055e60048036038101906105599190614111565b61131a565b60405161056b91906147fb565b60405180910390f35b34801561058057600080fd5b506105896113a1565b005b34801561059757600080fd5b506105b260048036038101906105ad9190614201565b6119ff565b005b3480156105c057600080fd5b506105db60048036038101906105d6919061401e565b611ab4565b005b3480156105e957600080fd5b5061060460048036038101906105ff919061401e565b611c06565b005b34801561061257600080fd5b5061062d6004803603810190610628919061401e565b611dbf565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066e61201c565b73ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb9061475b565b60405180910390fd5b6001602460146101000a81548160ff0219169083151502179055506106f56201518042611f7490919063ffffffff16565b601f8190555061071162093a8042611f7490919063ffffffff16565b60208190555061072d62278d0042611f7490919063ffffffff16565b60218190555061074861070842611f7490919063ffffffff16565b602281905550610763610e1042611f7490919063ffffffff16565b602381905550565b6060600b805461077a90614ac2565b80601f01602080910402602001604051908101604052809291908181526020018280546107a690614ac2565b80156107f35780601f106107c8576101008083540402835291602001916107f3565b820191906000526020600020905b8154815290600101906020018083116107d657829003601f168201915b5050505050905090565b600061081161080a61201c565b8484612024565b6001905092915050565b6000683635c9adc5dea00000905090565b60006108398484846121ef565b6108fa8461084561201c565b6108f585604051806060016040528060288152602001614e8460289139601d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ab61201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127439092919063ffffffff16565b612024565b600190509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661094461201c565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109919061475b565b60405180910390fd5b6001601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600d60009054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a4b61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a989061475b565b60405180910390fd5b610ab8633b9aca0082611ef990919063ffffffff16565b600f81905550610ad5633b9aca0082611ef990919063ffffffff16565b6010819055507f1509687539547b95d9002029c1b24fbfdd2e99b914fabbbc629867062a4ff3cc600f54604051610b0c91906147fb565b60405180910390a150565b600a5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5c61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba99061475b565b60405180910390fd5b80602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cd961201c565b73ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d269061475b565b60405180910390fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060078181548110610dad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600c8054610df890614ac2565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2490614ac2565b8015610e715780601f10610e4657610100808354040283529160200191610e71565b820191906000526020600020905b815481529060010190602001808311610e5457829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eba61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f079061475b565b60405180910390fd5b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610faa61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff79061475b565b60405180910390fd5b61100f828262ffffff166127a7565b60008162ffffff161115611076576001601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600061108e61108761201c565b84846121ef565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d761201c565b73ffffffffffffffffffffffffffffffffffffffff161461112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111249061475b565b60405180910390fd5b61115a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006127a7565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806005819055506111d0600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005546127a7565b5050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661126961201c565b73ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b69061475b565b60405180910390fd5b6000601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e061201c565b73ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d9061475b565b60405180910390fd5b601260009054906101000a900460ff1615611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d906146bb565b60405180910390fd5b60004790506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061151b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000612024565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561156157600080fd5b505afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115999190614047565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190614047565b6040518363ffffffff1660e01b8152600401611650929190614533565b602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a29190614047565b600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061172b30610c4e565b600080611736610dc0565b426040518863ffffffff1660e01b81526004016117589695949392919061461d565b6060604051808303818588803b15801561177157600080fd5b505af1158015611785573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117aa9190614253565b505050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161184c9291906145f4565b602060405180830381600087803b15801561186657600080fd5b505af115801561187a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189e91906141d8565b50601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c435846530610fa0600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194a57600080fd5b505afa15801561195e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119829190614047565b87683635c9adc5dea000006040518763ffffffff1660e01b81526004016119ae96959493929190614593565b600060405180830381600087803b1580156119c857600080fd5b505af11580156119dc573d6000803e3d6000fd5b505050506001601260006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a3e61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b9061475b565b60405180910390fd5b611aab633b9aca0082611ef990919063ffffffff16565b60118190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611af361201c565b73ffffffffffffffffffffffffffffffffffffffff1614611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b409061475b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190614047565b73ffffffffffffffffffffffffffffffffffffffff16611cc661201c565b73ffffffffffffffffffffffffffffffffffffffff161480611d3c5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d2461201c565b73ffffffffffffffffffffffffffffffffffffffff16145b611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d72906146db565b60405180910390fd5b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611dfe61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b9061475b565b60405180910390fd5b6001601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611ef183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612aa8565b905092915050565b600080831415611f0c5760009050611f6e565b60008284611f1a9190614967565b9050828482611f299190614936565b14611f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f609061473b565b60405180910390fd5b809150505b92915050565b6000808284611f8391906148e0565b905083811015611fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbf9061471b565b60405180910390fd5b8091505092915050565b600061201483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612743565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b906147bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb906146fb565b60405180910390fd5b80601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121e291906147fb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561225f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122569061479b565b60405180910390fd5b600081116122a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122999061477b565b60405180910390fd5b601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123465750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561239c5750601a60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6123a557600080fd5b6123af8383612b0b565b80156123c75750602460149054906101000a900460ff165b1561268457601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312bdf42383600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16326040518463ffffffff1660e01b815260040161244d9392919061455c565b602060405180830381600087803b15801561246757600080fd5b505af115801561247b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249f91906141d8565b156124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d6906147db565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312bdf42384600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16326040518463ffffffff1660e01b81526004016125609392919061455c565b602060405180830381600087803b15801561257a57600080fd5b505af115801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b291906141d8565b156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e9906147db565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663155d0ed98484326040518463ffffffff1660e01b81526004016126519392919061455c565b600060405180830381600087803b15801561266b57600080fd5b505af115801561267f573d6000803e3d6000fd5b505050505b61268d82612bbe565b156126c15761269a612c73565b6126b5826126a785610c4e565b611f7490919063ffffffff16565b11156126c057600080fd5b5b60006126cd8484612ce0565b1561272757602460149054906101000a900460ff166126eb57600080fd5b6126f58484612d8c565b1561270f57612702612c73565b82111561270e57600080fd5b5b61271a848484612e97565b905061272684836130d5565b5b61273384848484613109565b61273d848461334b565b50505050565b600083831115829061278b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127829190614699565b60405180910390fd5b506000838561279a91906149c1565b9050809150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127e661201c565b73ffffffffffffffffffffffffffffffffffffffff161461283c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128339061475b565b60405180910390fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156129ad576129046128a183600a54611f7490919063ffffffff16565b11156128ac57600080fd5b60078290806001815401808255809150506001900390600052602060002001600090919091909150556008839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160078054905061294a91906149c1565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a282600a54611f7490919063ffffffff16565b600a81905550612aa3565b6000600782815481106129e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050612904612a2082612a1286600a54611f7490919063ffffffff16565b611fd290919063ffffffff16565b1115612a2b57600080fd5b8260078381548110612a66577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550612a9b81612a8d85600a54611f7490919063ffffffff16565b611fd290919063ffffffff16565b600a81905550505b505050565b60008083118290612aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae69190614699565b60405180910390fd5b5060008385612afe9190614936565b9050809150509392505050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480612bb65750600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c6c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b60006022544211612ca357612c9c610190683635c9adc5dea00000611eaf90919063ffffffff16565b9050612cdd565b6023544211612cd057612cc960c8683635c9adc5dea00000611eaf90919063ffffffff16565b9050612cdd565b683635c9adc5dea0000090505b90565b6000601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d835750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15905092915050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612e395750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612e8f5750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008060009050601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f3f5750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f4d57809150506130ce565b6000612f588561349d565b15612f6857612f656134f7565b90505b612fa8612f99612f7661353a565b612f8b60255488611eaf90919063ffffffff16565b611ef990919063ffffffff16565b83611f7490919063ffffffff16565b9150612fe3612fd4602554612fc68488611ef990919063ffffffff16565b611eaf90919063ffffffff16565b83611f7490919063ffffffff16565b9150601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c2bab2f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561304d57600080fd5b505afa158015613061573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613085919061422a565b6014819055506130c66130b76025546130a960145488611ef990919063ffffffff16565b611eaf90919063ffffffff16565b83611f7490919063ffffffff16565b915081925050505b9392505050565b6130de82613544565b156131055760006130ee30610c4e565b90506130f9816135b8565b61310383836138b2565b505b5050565b600061311e8284611fd290919063ffffffff16565b905061317283601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd290919063ffffffff16565b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061320781601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329c82601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161333c91906147fb565b60405180910390a35050505050565b6133558282612ce0565b156134995761336382613ed4565b156133fa57601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633627301e826040518263ffffffff1660e01b81526004016133c39190614518565b600060405180830381600087803b1580156133dd57600080fd5b505af11580156133f1573d6000803e3d6000fd5b50505050613498565b6000601554111561349757601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4a5f67f836015546040518363ffffffff1660e01b81526004016134649291906145f4565b600060405180830381600087803b15801561347e57600080fd5b505af1158015613492573d6000803e3d6000fd5b505050505b5b5b5050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000601f54421161350c576127109050613537565b602054421161351f576113889050613537565b6021544211613532576109c49050613537565b600090505b90565b6000600a54905090565b6000602460159054906101000a900460ff161580156135b15750600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6001602460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613616577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156136445781602001602082028036833780820191505090505b5090503081600081518110613682577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561372457600080fd5b505afa158015613738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375c9190614047565b81600181518110613796577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137fd30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612024565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613861959493929190614816565b600060405180830381600087803b15801561387b57600080fd5b505af115801561388f573d6000803e3d6000fd5b50505050506000602460156101000a81548160ff02191690831515021790555050565b6000479050601e5481116138c65750613ed0565b60006138dd601e5483611fd290919063ffffffff16565b905060006138e9613f2e565b905060018110156138fc57505050613ed0565b613910600283611eaf90919063ffffffff16565b601581905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6015549081150290604051600060405180830381858888f19350505050158015613980573d6000803e3d6000fd5b5061271061398c6134f7565b1415613ab357600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6139e2601285611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613a0d573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613a60601285611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613a7c91906147fb565b600060405180830381600087803b158015613a9657600080fd5b505af1158015613aaa573d6000803e3d6000fd5b50505050613e5c565b611388613abe6134f7565b1415613be557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613b14600d85611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613b3f573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613b92600d85611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613bae91906147fb565b600060405180830381600087803b158015613bc857600080fd5b505af1158015613bdc573d6000803e3d6000fd5b50505050613e5b565b6109c4613bf06134f7565b1415613d3d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613c596069613c4b600a87611ef990919063ffffffff16565b611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613c84573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613cea6069613cdc600a87611ef990919063ffffffff16565b611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613d0691906147fb565b600060405180830381600087803b158015613d2057600080fd5b505af1158015613d34573d6000803e3d6000fd5b50505050613e5a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613d8d600885611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613db8573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613e0b600885611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613e2791906147fb565b600060405180830381600087803b158015613e4157600080fd5b505af1158015613e55573d6000803e3d6000fd5b505050505b5b5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015613ec4573d6000803e3d6000fd5b5047601e819055505050505b5050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008060009050613f4f613f406134f7565b82611f7490919063ffffffff16565b9050613f6b613f5c61353a565b82611f7490919063ffffffff16565b9050613f8260145482611f7490919063ffffffff16565b90508091505090565b600081359050613f9a81614e10565b92915050565b600081519050613faf81614e10565b92915050565b600081359050613fc481614e27565b92915050565b600081519050613fd981614e3e565b92915050565b600081359050613fee81614e55565b92915050565b60008135905061400381614e6c565b92915050565b60008151905061401881614e6c565b92915050565b60006020828403121561403057600080fd5b600061403e84828501613f8b565b91505092915050565b60006020828403121561405957600080fd5b600061406784828501613fa0565b91505092915050565b60006020828403121561408257600080fd5b600061409084828501613fb5565b91505092915050565b600080604083850312156140ac57600080fd5b60006140ba85828601613fb5565b92505060206140cb85828601613fdf565b9150509250929050565b600080604083850312156140e857600080fd5b60006140f685828601613fb5565b925050602061410785828601613ff4565b9150509250929050565b6000806040838503121561412457600080fd5b600061413285828601613f8b565b925050602061414385828601613f8b565b9150509250929050565b60008060006060848603121561416257600080fd5b600061417086828701613f8b565b935050602061418186828701613f8b565b925050604061419286828701613ff4565b9150509250925092565b600080604083850312156141af57600080fd5b60006141bd85828601613f8b565b92505060206141ce85828601613ff4565b9150509250929050565b6000602082840312156141ea57600080fd5b60006141f884828501613fca565b91505092915050565b60006020828403121561421357600080fd5b600061422184828501613ff4565b91505092915050565b60006020828403121561423c57600080fd5b600061424a84828501614009565b91505092915050565b60008060006060848603121561426857600080fd5b600061427686828701614009565b935050602061428786828701614009565b925050604061429886828701614009565b9150509250925092565b60006142ae83836142ba565b60208301905092915050565b6142c3816149f5565b82525050565b6142d2816149f5565b82525050565b60006142e38261489b565b6142ed81856148be565b93506142f88361488b565b8060005b8381101561432957815161431088826142a2565b975061431b836148b1565b9250506001810190506142fc565b5085935050505092915050565b61433f81614a19565b82525050565b61434e81614a6b565b82525050565b61435d81614a7d565b82525050565b600061436e826148a6565b61437881856148cf565b9350614388818560208601614a8f565b61439181614b81565b840191505092915050565b60006143a96018836148cf565b91506143b482614b92565b602082019050919050565b60006143cc600c836148cf565b91506143d782614bbb565b602082019050919050565b60006143ef6022836148cf565b91506143fa82614be4565b604082019050919050565b6000614412601b836148cf565b915061441d82614c33565b602082019050919050565b60006144356021836148cf565b915061444082614c5c565b604082019050919050565b60006144586020836148cf565b915061446382614cab565b602082019050919050565b600061447b6029836148cf565b915061448682614cd4565b604082019050919050565b600061449e6025836148cf565b91506144a982614d23565b604082019050919050565b60006144c16024836148cf565b91506144cc82614d72565b604082019050919050565b60006144e46026836148cf565b91506144ef82614dc1565b604082019050919050565b61450381614a54565b82525050565b61451281614a5e565b82525050565b600060208201905061452d60008301846142c9565b92915050565b600060408201905061454860008301856142c9565b61455560208301846142c9565b9392505050565b600060608201905061457160008301866142c9565b61457e60208301856142c9565b61458b60408301846142c9565b949350505050565b600060c0820190506145a860008301896142c9565b6145b56020830188614354565b6145c260408301876142c9565b6145cf60608301866142c9565b6145dc60808301856144fa565b6145e960a08301846144fa565b979650505050505050565b600060408201905061460960008301856142c9565b61461660208301846144fa565b9392505050565b600060c08201905061463260008301896142c9565b61463f60208301886144fa565b61464c6040830187614345565b6146596060830186614345565b61466660808301856142c9565b61467360a08301846144fa565b979650505050505050565b60006020820190506146936000830184614336565b92915050565b600060208201905081810360008301526146b38184614363565b905092915050565b600060208201905081810360008301526146d48161439c565b9050919050565b600060208201905081810360008301526146f4816143bf565b9050919050565b60006020820190508181036000830152614714816143e2565b9050919050565b6000602082019050818103600083015261473481614405565b9050919050565b6000602082019050818103600083015261475481614428565b9050919050565b600060208201905081810360008301526147748161444b565b9050919050565b600060208201905081810360008301526147948161446e565b9050919050565b600060208201905081810360008301526147b481614491565b9050919050565b600060208201905081810360008301526147d4816144b4565b9050919050565b600060208201905081810360008301526147f4816144d7565b9050919050565b600060208201905061481060008301846144fa565b92915050565b600060a08201905061482b60008301886144fa565b6148386020830187614345565b818103604083015261484a81866142d8565b905061485960608301856142c9565b61486660808301846144fa565b9695505050505050565b60006020820190506148856000830184614509565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006148eb82614a54565b91506148f683614a54565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561492b5761492a614af4565b5b828201905092915050565b600061494182614a54565b915061494c83614a54565b92508261495c5761495b614b23565b5b828204905092915050565b600061497282614a54565b915061497d83614a54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156149b6576149b5614af4565b5b828202905092915050565b60006149cc82614a54565b91506149d783614a54565b9250828210156149ea576149e9614af4565b5b828203905092915050565b6000614a0082614a25565b9050919050565b6000614a1282614a25565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614a7682614a54565b9050919050565b6000614a8882614a54565b9050919050565b60005b83811015614aad578082015181840152602081019050614a92565b83811115614abc576000848401525b50505050565b60006002820490506001821680614ada57607f821691505b60208210811415614aee57614aed614b52565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f4c697175696469747920616c72656164792061646465642e0000000000000000600082015250565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f42656570204265657020426f6f702c20596f752772652061207069656365206f60008201527f6620706f6f700000000000000000000000000000000000000000000000000000602082015250565b614e19816149f5565b8114614e2457600080fd5b50565b614e3081614a07565b8114614e3b57600080fd5b50565b614e4781614a19565b8114614e5257600080fd5b50565b614e5e81614a45565b8114614e6957600080fd5b50565b614e7581614a54565b8114614e8057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a2f41683761cc0c190604c8e1beabe46616052ef55ca54e32c442d7cdf7b50b764736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806395d89b41116100d1578063c7f418e91161008a578063f1d5f51711610064578063f1d5f5171461058b578063f2fde38b146105b4578063f37c4bce146105dd578063f9f92be4146106065761018c565b8063c7f418e91461050e578063dd62ed3e14610537578063e8078d94146105745761018c565b806395d89b41146103ee57806398d5a5cb14610419578063a3a37dab14610442578063a9059cbb1461046b578063ab9562fe146104a8578063c7ab8d9d146104d15761018c565b8063313ce5671161013e5780635d098b38116101185780635d098b381461032057806370a08231146103495780638a13792e146103865780638da5cb5b146103c35761018c565b8063313ce567146102a157806334052789146102cc57806354486ac3146102f55761018c565b806301339c211461019157806306fdde03146101a8578063095ea7b3146101d357806318160ddd1461021057806323b872dd1461023b578063290dc70c146102785761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661062f565b005b3480156101b457600080fd5b506101bd61076b565b6040516101ca9190614699565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061419c565b6107fd565b604051610207919061467e565b60405180910390f35b34801561021c57600080fd5b5061022561081b565b60405161023291906147fb565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d919061414d565b61082c565b60405161026f919061467e565b60405180910390f35b34801561028457600080fd5b5061029f600480360381019061029a919061401e565b610905565b005b3480156102ad57600080fd5b506102b66109f5565b6040516102c39190614870565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee9190614201565b610a0c565b005b34801561030157600080fd5b5061030a610b17565b60405161031791906147fb565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190614070565b610b1d565b005b34801561035557600080fd5b50610370600480360381019061036b919061401e565b610c4e565b60405161037d91906147fb565b60405180910390f35b34801561039257600080fd5b506103ad60048036038101906103a89190614070565b610c97565b6040516103ba91906147fb565b60405180910390f35b3480156103cf57600080fd5b506103d8610dc0565b6040516103e59190614518565b60405180910390f35b3480156103fa57600080fd5b50610403610de9565b6040516104109190614699565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b919061401e565b610e7b565b005b34801561044e57600080fd5b5061046960048036038101906104649190614099565b610f6b565b005b34801561047757600080fd5b50610492600480360381019061048d919061419c565b61107a565b60405161049f919061467e565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906140d5565b611098565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061401e565b6111d4565b604051610505919061467e565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061401e565b61122a565b005b34801561054357600080fd5b5061055e60048036038101906105599190614111565b61131a565b60405161056b91906147fb565b60405180910390f35b34801561058057600080fd5b506105896113a1565b005b34801561059757600080fd5b506105b260048036038101906105ad9190614201565b6119ff565b005b3480156105c057600080fd5b506105db60048036038101906105d6919061401e565b611ab4565b005b3480156105e957600080fd5b5061060460048036038101906105ff919061401e565b611c06565b005b34801561061257600080fd5b5061062d6004803603810190610628919061401e565b611dbf565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661066e61201c565b73ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb9061475b565b60405180910390fd5b6001602460146101000a81548160ff0219169083151502179055506106f56201518042611f7490919063ffffffff16565b601f8190555061071162093a8042611f7490919063ffffffff16565b60208190555061072d62278d0042611f7490919063ffffffff16565b60218190555061074861070842611f7490919063ffffffff16565b602281905550610763610e1042611f7490919063ffffffff16565b602381905550565b6060600b805461077a90614ac2565b80601f01602080910402602001604051908101604052809291908181526020018280546107a690614ac2565b80156107f35780601f106107c8576101008083540402835291602001916107f3565b820191906000526020600020905b8154815290600101906020018083116107d657829003601f168201915b5050505050905090565b600061081161080a61201c565b8484612024565b6001905092915050565b6000683635c9adc5dea00000905090565b60006108398484846121ef565b6108fa8461084561201c565b6108f585604051806060016040528060288152602001614e8460289139601d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ab61201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127439092919063ffffffff16565b612024565b600190509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661094461201c565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109919061475b565b60405180910390fd5b6001601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600d60009054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a4b61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a989061475b565b60405180910390fd5b610ab8633b9aca0082611ef990919063ffffffff16565b600f81905550610ad5633b9aca0082611ef990919063ffffffff16565b6010819055507f1509687539547b95d9002029c1b24fbfdd2e99b914fabbbc629867062a4ff3cc600f54604051610b0c91906147fb565b60405180910390a150565b600a5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5c61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba99061475b565b60405180910390fd5b80602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cd961201c565b73ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d269061475b565b60405180910390fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060078181548110610dad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600c8054610df890614ac2565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2490614ac2565b8015610e715780601f10610e4657610100808354040283529160200191610e71565b820191906000526020600020905b815481529060010190602001808311610e5457829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eba61201c565b73ffffffffffffffffffffffffffffffffffffffff1614610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f079061475b565b60405180910390fd5b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610faa61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff79061475b565b60405180910390fd5b61100f828262ffffff166127a7565b60008162ffffff161115611076576001601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600061108e61108761201c565b84846121ef565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d761201c565b73ffffffffffffffffffffffffffffffffffffffff161461112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111249061475b565b60405180910390fd5b61115a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006127a7565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806005819055506111d0600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005546127a7565b5050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661126961201c565b73ffffffffffffffffffffffffffffffffffffffff16146112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b69061475b565b60405180910390fd5b6000601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e061201c565b73ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d9061475b565b60405180910390fd5b601260009054906101000a900460ff1615611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d906146bb565b60405180910390fd5b60004790506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061151b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000612024565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561156157600080fd5b505afa158015611575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115999190614047565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116339190614047565b6040518363ffffffff1660e01b8152600401611650929190614533565b602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a29190614047565b600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061172b30610c4e565b600080611736610dc0565b426040518863ffffffff1660e01b81526004016117589695949392919061461d565b6060604051808303818588803b15801561177157600080fd5b505af1158015611785573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117aa9190614253565b505050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161184c9291906145f4565b602060405180830381600087803b15801561186657600080fd5b505af115801561187a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189e91906141d8565b50601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c435846530610fa0600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194a57600080fd5b505afa15801561195e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119829190614047565b87683635c9adc5dea000006040518763ffffffff1660e01b81526004016119ae96959493929190614593565b600060405180830381600087803b1580156119c857600080fd5b505af11580156119dc573d6000803e3d6000fd5b505050506001601260006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a3e61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b9061475b565b60405180910390fd5b611aab633b9aca0082611ef990919063ffffffff16565b60118190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611af361201c565b73ffffffffffffffffffffffffffffffffffffffff1614611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b409061475b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190614047565b73ffffffffffffffffffffffffffffffffffffffff16611cc661201c565b73ffffffffffffffffffffffffffffffffffffffff161480611d3c5750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d2461201c565b73ffffffffffffffffffffffffffffffffffffffff16145b611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d72906146db565b60405180910390fd5b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611dfe61201c565b73ffffffffffffffffffffffffffffffffffffffff1614611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b9061475b565b60405180910390fd5b6001601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611ef183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612aa8565b905092915050565b600080831415611f0c5760009050611f6e565b60008284611f1a9190614967565b9050828482611f299190614936565b14611f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f609061473b565b60405180910390fd5b809150505b92915050565b6000808284611f8391906148e0565b905083811015611fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbf9061471b565b60405180910390fd5b8091505092915050565b600061201483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612743565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b906147bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb906146fb565b60405180910390fd5b80601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121e291906147fb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561225f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122569061479b565b60405180910390fd5b600081116122a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122999061477b565b60405180910390fd5b601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123465750601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561239c5750601a60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6123a557600080fd5b6123af8383612b0b565b80156123c75750602460149054906101000a900460ff165b1561268457601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312bdf42383600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16326040518463ffffffff1660e01b815260040161244d9392919061455c565b602060405180830381600087803b15801561246757600080fd5b505af115801561247b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249f91906141d8565b156124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d6906147db565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312bdf42384600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16326040518463ffffffff1660e01b81526004016125609392919061455c565b602060405180830381600087803b15801561257a57600080fd5b505af115801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b291906141d8565b156125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e9906147db565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663155d0ed98484326040518463ffffffff1660e01b81526004016126519392919061455c565b600060405180830381600087803b15801561266b57600080fd5b505af115801561267f573d6000803e3d6000fd5b505050505b61268d82612bbe565b156126c15761269a612c73565b6126b5826126a785610c4e565b611f7490919063ffffffff16565b11156126c057600080fd5b5b60006126cd8484612ce0565b1561272757602460149054906101000a900460ff166126eb57600080fd5b6126f58484612d8c565b1561270f57612702612c73565b82111561270e57600080fd5b5b61271a848484612e97565b905061272684836130d5565b5b61273384848484613109565b61273d848461334b565b50505050565b600083831115829061278b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127829190614699565b60405180910390fd5b506000838561279a91906149c1565b9050809150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166127e661201c565b73ffffffffffffffffffffffffffffffffffffffff161461283c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128339061475b565b60405180910390fd5b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114156129ad576129046128a183600a54611f7490919063ffffffff16565b11156128ac57600080fd5b60078290806001815401808255809150506001900390600052602060002001600090919091909150556008839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160078054905061294a91906149c1565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a282600a54611f7490919063ffffffff16565b600a81905550612aa3565b6000600782815481106129e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050612904612a2082612a1286600a54611f7490919063ffffffff16565b611fd290919063ffffffff16565b1115612a2b57600080fd5b8260078381548110612a66577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550612a9b81612a8d85600a54611f7490919063ffffffff16565b611fd290919063ffffffff16565b600a81905550505b505050565b60008083118290612aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae69190614699565b60405180910390fd5b5060008385612afe9190614936565b9050809150509392505050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480612bb65750600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c6c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b60006022544211612ca357612c9c610190683635c9adc5dea00000611eaf90919063ffffffff16565b9050612cdd565b6023544211612cd057612cc960c8683635c9adc5dea00000611eaf90919063ffffffff16565b9050612cdd565b683635c9adc5dea0000090505b90565b6000601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d835750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15905092915050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612e395750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612e8f5750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008060009050601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f3f5750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f4d57809150506130ce565b6000612f588561349d565b15612f6857612f656134f7565b90505b612fa8612f99612f7661353a565b612f8b60255488611eaf90919063ffffffff16565b611ef990919063ffffffff16565b83611f7490919063ffffffff16565b9150612fe3612fd4602554612fc68488611ef990919063ffffffff16565b611eaf90919063ffffffff16565b83611f7490919063ffffffff16565b9150601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c2bab2f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561304d57600080fd5b505afa158015613061573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613085919061422a565b6014819055506130c66130b76025546130a960145488611ef990919063ffffffff16565b611eaf90919063ffffffff16565b83611f7490919063ffffffff16565b915081925050505b9392505050565b6130de82613544565b156131055760006130ee30610c4e565b90506130f9816135b8565b61310383836138b2565b505b5050565b600061311e8284611fd290919063ffffffff16565b905061317283601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd290919063ffffffff16565b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061320781601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329c82601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161333c91906147fb565b60405180910390a35050505050565b6133558282612ce0565b156134995761336382613ed4565b156133fa57601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633627301e826040518263ffffffff1660e01b81526004016133c39190614518565b600060405180830381600087803b1580156133dd57600080fd5b505af11580156133f1573d6000803e3d6000fd5b50505050613498565b6000601554111561349757601260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4a5f67f836015546040518363ffffffff1660e01b81526004016134649291906145f4565b600060405180830381600087803b15801561347e57600080fd5b505af1158015613492573d6000803e3d6000fd5b505050505b5b5b5050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000601f54421161350c576127109050613537565b602054421161351f576113889050613537565b6021544211613532576109c49050613537565b600090505b90565b6000600a54905090565b6000602460159054906101000a900460ff161580156135b15750600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6001602460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613616577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156136445781602001602082028036833780820191505090505b5090503081600081518110613682577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561372457600080fd5b505afa158015613738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375c9190614047565b81600181518110613796577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137fd30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612024565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613861959493929190614816565b600060405180830381600087803b15801561387b57600080fd5b505af115801561388f573d6000803e3d6000fd5b50505050506000602460156101000a81548160ff02191690831515021790555050565b6000479050601e5481116138c65750613ed0565b60006138dd601e5483611fd290919063ffffffff16565b905060006138e9613f2e565b905060018110156138fc57505050613ed0565b613910600283611eaf90919063ffffffff16565b601581905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6015549081150290604051600060405180830381858888f19350505050158015613980573d6000803e3d6000fd5b5061271061398c6134f7565b1415613ab357600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6139e2601285611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613a0d573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613a60601285611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613a7c91906147fb565b600060405180830381600087803b158015613a9657600080fd5b505af1158015613aaa573d6000803e3d6000fd5b50505050613e5c565b611388613abe6134f7565b1415613be557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613b14600d85611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613b3f573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613b92600d85611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613bae91906147fb565b600060405180830381600087803b158015613bc857600080fd5b505af1158015613bdc573d6000803e3d6000fd5b50505050613e5b565b6109c4613bf06134f7565b1415613d3d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613c596069613c4b600a87611ef990919063ffffffff16565b611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613c84573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613cea6069613cdc600a87611ef990919063ffffffff16565b611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613d0691906147fb565b600060405180830381600087803b158015613d2057600080fd5b505af1158015613d34573d6000803e3d6000fd5b50505050613e5a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc613d8d600885611eaf90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015613db8573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25613e0b600885611eaf90919063ffffffff16565b6040518263ffffffff1660e01b8152600401613e2791906147fb565b600060405180830381600087803b158015613e4157600080fd5b505af1158015613e55573d6000803e3d6000fd5b505050505b5b5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015613ec4573d6000803e3d6000fd5b5047601e819055505050505b5050565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008060009050613f4f613f406134f7565b82611f7490919063ffffffff16565b9050613f6b613f5c61353a565b82611f7490919063ffffffff16565b9050613f8260145482611f7490919063ffffffff16565b90508091505090565b600081359050613f9a81614e10565b92915050565b600081519050613faf81614e10565b92915050565b600081359050613fc481614e27565b92915050565b600081519050613fd981614e3e565b92915050565b600081359050613fee81614e55565b92915050565b60008135905061400381614e6c565b92915050565b60008151905061401881614e6c565b92915050565b60006020828403121561403057600080fd5b600061403e84828501613f8b565b91505092915050565b60006020828403121561405957600080fd5b600061406784828501613fa0565b91505092915050565b60006020828403121561408257600080fd5b600061409084828501613fb5565b91505092915050565b600080604083850312156140ac57600080fd5b60006140ba85828601613fb5565b92505060206140cb85828601613fdf565b9150509250929050565b600080604083850312156140e857600080fd5b60006140f685828601613fb5565b925050602061410785828601613ff4565b9150509250929050565b6000806040838503121561412457600080fd5b600061413285828601613f8b565b925050602061414385828601613f8b565b9150509250929050565b60008060006060848603121561416257600080fd5b600061417086828701613f8b565b935050602061418186828701613f8b565b925050604061419286828701613ff4565b9150509250925092565b600080604083850312156141af57600080fd5b60006141bd85828601613f8b565b92505060206141ce85828601613ff4565b9150509250929050565b6000602082840312156141ea57600080fd5b60006141f884828501613fca565b91505092915050565b60006020828403121561421357600080fd5b600061422184828501613ff4565b91505092915050565b60006020828403121561423c57600080fd5b600061424a84828501614009565b91505092915050565b60008060006060848603121561426857600080fd5b600061427686828701614009565b935050602061428786828701614009565b925050604061429886828701614009565b9150509250925092565b60006142ae83836142ba565b60208301905092915050565b6142c3816149f5565b82525050565b6142d2816149f5565b82525050565b60006142e38261489b565b6142ed81856148be565b93506142f88361488b565b8060005b8381101561432957815161431088826142a2565b975061431b836148b1565b9250506001810190506142fc565b5085935050505092915050565b61433f81614a19565b82525050565b61434e81614a6b565b82525050565b61435d81614a7d565b82525050565b600061436e826148a6565b61437881856148cf565b9350614388818560208601614a8f565b61439181614b81565b840191505092915050565b60006143a96018836148cf565b91506143b482614b92565b602082019050919050565b60006143cc600c836148cf565b91506143d782614bbb565b602082019050919050565b60006143ef6022836148cf565b91506143fa82614be4565b604082019050919050565b6000614412601b836148cf565b915061441d82614c33565b602082019050919050565b60006144356021836148cf565b915061444082614c5c565b604082019050919050565b60006144586020836148cf565b915061446382614cab565b602082019050919050565b600061447b6029836148cf565b915061448682614cd4565b604082019050919050565b600061449e6025836148cf565b91506144a982614d23565b604082019050919050565b60006144c16024836148cf565b91506144cc82614d72565b604082019050919050565b60006144e46026836148cf565b91506144ef82614dc1565b604082019050919050565b61450381614a54565b82525050565b61451281614a5e565b82525050565b600060208201905061452d60008301846142c9565b92915050565b600060408201905061454860008301856142c9565b61455560208301846142c9565b9392505050565b600060608201905061457160008301866142c9565b61457e60208301856142c9565b61458b60408301846142c9565b949350505050565b600060c0820190506145a860008301896142c9565b6145b56020830188614354565b6145c260408301876142c9565b6145cf60608301866142c9565b6145dc60808301856144fa565b6145e960a08301846144fa565b979650505050505050565b600060408201905061460960008301856142c9565b61461660208301846144fa565b9392505050565b600060c08201905061463260008301896142c9565b61463f60208301886144fa565b61464c6040830187614345565b6146596060830186614345565b61466660808301856142c9565b61467360a08301846144fa565b979650505050505050565b60006020820190506146936000830184614336565b92915050565b600060208201905081810360008301526146b38184614363565b905092915050565b600060208201905081810360008301526146d48161439c565b9050919050565b600060208201905081810360008301526146f4816143bf565b9050919050565b60006020820190508181036000830152614714816143e2565b9050919050565b6000602082019050818103600083015261473481614405565b9050919050565b6000602082019050818103600083015261475481614428565b9050919050565b600060208201905081810360008301526147748161444b565b9050919050565b600060208201905081810360008301526147948161446e565b9050919050565b600060208201905081810360008301526147b481614491565b9050919050565b600060208201905081810360008301526147d4816144b4565b9050919050565b600060208201905081810360008301526147f4816144d7565b9050919050565b600060208201905061481060008301846144fa565b92915050565b600060a08201905061482b60008301886144fa565b6148386020830187614345565b818103604083015261484a81866142d8565b905061485960608301856142c9565b61486660808301846144fa565b9695505050505050565b60006020820190506148856000830184614509565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006148eb82614a54565b91506148f683614a54565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561492b5761492a614af4565b5b828201905092915050565b600061494182614a54565b915061494c83614a54565b92508261495c5761495b614b23565b5b828204905092915050565b600061497282614a54565b915061497d83614a54565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156149b6576149b5614af4565b5b828202905092915050565b60006149cc82614a54565b91506149d783614a54565b9250828210156149ea576149e9614af4565b5b828203905092915050565b6000614a0082614a25565b9050919050565b6000614a1282614a25565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614a7682614a54565b9050919050565b6000614a8882614a54565b9050919050565b60005b83811015614aad578082015181840152602081019050614a92565b83811115614abc576000848401525b50505050565b60006002820490506001821680614ada57607f821691505b60208210811415614aee57614aed614b52565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f4c697175696469747920616c72656164792061646465642e0000000000000000600082015250565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f42656570204265657020426f6f702c20596f752772652061207069656365206f60008201527f6620706f6f700000000000000000000000000000000000000000000000000000602082015250565b614e19816149f5565b8114614e2457600080fd5b50565b614e3081614a07565b8114614e3b57600080fd5b50565b614e4781614a19565b8114614e5257600080fd5b50565b614e5e81614a45565b8114614e6957600080fd5b50565b614e7581614a54565b8114614e8057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a2f41683761cc0c190604c8e1beabe46616052ef55ca54e32c442d7cdf7b50b764736f6c63430008040033

Deployed Bytecode Sourcemap

7680:14688:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20572:344;;;;;;;;;;;;;:::i;:::-;;11185:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12024:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11459:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12195:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21288:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11369:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20922:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3336:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22197:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11565:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4653:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2316:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11275:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21762:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21864:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11693:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21537:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21412:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11870:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19668:898;;;;;;;;;;;;;:::i;:::-;;21167:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2402:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22093:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21663:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20572:344;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20635:4:::1;20622:10;;:17;;;;;;;;;;;;;;;;;;20663:29;20683:8;20663:15;:19;;:29;;;;:::i;:::-;20650:10;:42;;;;20717:27;20737:6;20717:15;:19;;:27;;;;:::i;:::-;20703:11;:41;;;;20770:28;20790:7;20770:15;:19;;:28;;;;:::i;:::-;20755:12;:43;;;;20825:31;20845:10;20825:15;:19;;:31;;;;:::i;:::-;20809:13;:47;;;;20880:28;20900:7;20880:15;:19;;:28;;;;:::i;:::-;20867:10;:41;;;;20572:344::o:0;11185:84::-;11222:13;11255:6;11248:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11185:84;:::o;12024:165::-;12101:4;12118:41;12127:12;:10;:12::i;:::-;12141:8;12151:7;12118:8;:41::i;:::-;12177:4;12170:11;;12024:165;;;;:::o;11459:100::-;11512:7;7824:21;11532:19;;11459:100;:::o;12195:323::-;12296:4;12313:39;12323:7;12332:10;12344:7;12313:9;:39::i;:::-;12363:125;12372:7;12381:12;:10;:12::i;:::-;12395:92;12435:7;12395:92;;;;;;;;;;;;;;;;;:12;:21;12408:7;12395:21;;;;;;;;;;;;;;;:35;12417:12;:10;:12::i;:::-;12395:35;;;;;;;;;;;;;;;;:39;;:92;;;;;:::i;:::-;12363:8;:125::i;:::-;12506:4;12499:11;;12195:323;;;;;:::o;21288:118::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21394:4:::1;21362:19;:29;21382:8;21362:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;21288:118:::0;:::o;11369:84::-;11410:5;11435:10;;;;;;;;;;;11428:17;;11369:84;:::o;20922:239::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21050:18:::1;21062:5;21050:7;:11;;:18;;;;:::i;:::-;21038:9;:30;;;;21095:18;21107:5;21095:7;:11;;:18;;;;:::i;:::-;21079:13;:34;;;;21129:24;21143:9;;21129:24;;;;;;:::i;:::-;;;;;;;;20922:239:::0;:::o;3336:27::-;;;;:::o;22197:168::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22302:8:::1;22282:17;;:28;;;;;;;;;;;;;;;;;;22353:4;22321:19;:29;22341:8;22321:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;22197:168:::0;:::o;11565:122::-;11632:7;11659:10;:20;11670:8;11659:20;;;;;;;;;;;;;;;;11652:27;;11565:122;;;:::o;4653:180::-;4741:7;2626;;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4761:9:::1;4773:8;:18;4782:8;4773:18;;;;;;;;;;;;;;;;4761:30;;4809:10;4820:4;4809:16;;;;;;;;;;;;;;;;;;;;;;;;4802:23;;;4653:180:::0;;;:::o;2316:80::-;2354:7;2381;;;;;;;;;;;2374:14;;2316:80;:::o;11275:88::-;11314:13;11347:8;11340:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11275:88;:::o;21762:96::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21845:5:::1;21827:11;:15;21839:2;21827:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;21762:96:::0;:::o;21864:223::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21961:29:::1;21973:8;21983:6;21961:29;;:11;:29::i;:::-;22014:1;22005:6;:10;;;22001:79;;;22064:4;22032:19;:29;22052:8;22032:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;22001:79;21864:223:::0;;:::o;11693:171::-;11773:4;11790:44;11800:12;:10;:12::i;:::-;11814:10;11826:7;11790:9;:44::i;:::-;11852:4;11845:11;;11693:171;;;;:::o;4839:253::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4944:28:::1;4956:12;;;;;;;;;;;4970:1;4944:11;:28::i;:::-;4998:8;4983:12;;:23;;;;;;;;;;;;;;;;;;5030:6;5017:10;:19;;;;5047:37;5059:12;;;;;;;;;;;5073:10;;5047:11;:37::i;:::-;4839:253:::0;;:::o;21537:120::-;21604:4;21628:11;:21;21640:8;21628:21;;;;;;;;;;;;;;;;;;;;;;;;;21621:28;;21537:120;;;:::o;21412:119::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21518:5:::1;21486:19;:29;21506:8;21486:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;21412:119:::0;:::o;11870:148::-;11953:7;11980:12;:20;11993:6;11980:20;;;;;;;;;;;;;;;:30;12001:8;11980:30;;;;;;;;;;;;;;;;11973:37;;11870:148;;;;:::o;19668:898::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19733:11:::1;;;;;;;;;;;19732:12;19724:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;19783:19;19805:21;19783:43;;19837:35;19894:42;19837:100;;19968:16;19948:17;;:36;;;;;;;;;;;;;;;;;;19995:65;20012:4;20027:17;;;;;;;;;;;7824:21;19995:8;:65::i;:::-;20107:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20089:56;;;20154:4;20161:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20089:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20071:15;;:114;;;;;;;;;;;;;;;;;;20196:17;;;;;;;;;;;:33;;;20237:21;20268:4;20274:24;20292:4;20274:9;:24::i;:::-;20299:1;20301::::0;20303:7:::1;:5;:7::i;:::-;20311:15;20196:131;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20345:15;;;;;;;;;;;20338:31;;;20378:17;;;;;;;;;;;20398:14;20338:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20424:10;;;;;;;;;;;:15;;;20448:4;20455;20461:15;;;;;;;;;;;20478:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20503:11;7824:21;20424:105;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20554:4;20540:11;;:18;;;;;;;;;;;;;;;;;;2681:1;;19668:898::o:0;21167:115::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21256:18:::1;21268:5;21256:7;:11;;:18;;;;:::i;:::-;21240:13;:34;;;;21167:115:::0;:::o;2402:162::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2518:8:::1;2488:39;;2509:7;::::0;::::1;;;;;;;;2488:39;;;;;;;;;;;;2548:8;2538:7;::::0;:18:::1;;;;;;;;;;;;;;;;;;2402:162:::0;:::o;22093:98::-;9684:8;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9668:32;;:12;:10;:12::i;:::-;:32;;;:62;;;;9720:10;;;;;;;;;;;9704:26;;:12;:10;:12::i;:::-;:26;;;9668:62;9660:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;22175:8:::1;22162:10;;:21;;;;;;;;;;;;;;;;;;22093:98:::0;:::o;21663:93::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21744:4:::1;21726:11;:15;21738:2;21726:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;21663:93:::0;:::o;1668:132::-;1726:7;1753:39;1757:1;1760;1753:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1746:46;;1668:132;;;;:::o;1416:246::-;1474:7;1503:1;1498;:6;1494:47;;;1528:1;1521:8;;;;1494:47;1551:9;1567:1;1563;:5;;;;:::i;:::-;1551:17;;1596:1;1591;1587;:5;;;;:::i;:::-;:10;1579:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1653:1;1646:8;;;1416:246;;;;;:::o;893:179::-;951:7;971:9;987:1;983;:5;;;;:::i;:::-;971:17;;1012:1;1007;:6;;999:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1063:1;1056:8;;;893:179;;;;:::o;1078:136::-;1136:7;1163:43;1167:1;1170;1163:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1156:50;;1078:136;;;;:::o;91:98::-;144:7;171:10;164:17;;91:98;:::o;13965:347::-;14079:1;14061:20;;:6;:20;;;;14053:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14161:1;14141:22;;:8;:22;;;;14133:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14246:7;14213:12;:20;14226:6;14213:20;;;;;;;;;;;;;;;:30;14234:8;14213:30;;;;;;;;;;;;;;;:40;;;;14286:8;14269:35;;14278:6;14269:35;;;14296:7;14269:35;;;;;;:::i;:::-;;;;;;;;13965:347;;;:::o;14318:1388::-;14437:1;14418:21;;:7;:21;;;;14410:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14510:1;14500:7;:11;14492:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14577:11;:20;14589:7;14577:20;;;;;;;;;;;;;;;;;;;;;;;;;14576:21;:49;;;;;14602:11;:23;14614:10;14602:23;;;;;;;;;;;;;;;;;;;;;;;;;14601:24;14576:49;:76;;;;;14630:11;:22;14642:9;14630:22;;;;;;;;;;;;;;;;;;;;;;;;;14629:23;14576:76;14568:85;;;;;;14677:40;14697:7;14706:10;14677:19;:40::i;:::-;:54;;;;;14721:10;;;;;;;;;;;14677:54;14674:431;;;14757:7;;;;;;;;;;;:19;;;14777:10;14789:15;;;;;;;;;;;14806:9;14757:59;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14756:60;14748:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;14925:7;;;;;;;;;;;:19;;;14945:7;14954:15;;;;;;;;;;;14971:9;14925:56;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14924:57;14916:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;15040:7;;;;;;;;;;;:21;;;15062:7;15071:10;15083:9;15040:53;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14674:431;15129:25;15143:10;15129:13;:25::i;:::-;15126:100;;;15215:10;:8;:10::i;:::-;15177:34;15203:7;15177:21;15187:10;15177:9;:21::i;:::-;:25;;:34;;;;:::i;:::-;:48;;15169:57;;;;;;15126:100;15251:14;15284:28;15292:7;15301:10;15284:7;:28::i;:::-;15280:297;;;15337:10;;;;;;;;;;;15329:19;;;;;;15367:34;15381:7;15390:10;15367:13;:34::i;:::-;15363:88;;;15440:10;:8;:10::i;:::-;15429:7;:21;;15421:30;;;;;;15363:88;15489:39;15499:7;15508:10;15520:7;15489:9;:39::i;:::-;15480:48;;15543:22;15548:7;15557;15543:4;:22::i;:::-;15280:297;15597:53;15613:7;15622:10;15634:7;15643:6;15597:15;:53::i;:::-;15661:40;15681:7;15690:10;15661:19;:40::i;:::-;14318:1388;;;;:::o;1220:190::-;1306:7;1339:1;1334;:6;;1342:12;1326:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1366:9;1382:1;1378;:5;;;;:::i;:::-;1366:17;;1401:1;1394:8;;;1220:190;;;;;:::o;3818:720::-;2626:7;;;;;;;;;;2610:23;;:12;:10;:12::i;:::-;:23;;;2602:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3921:9:::1;3933:8;:18;3942:8;3933:18;;;;;;;;;;;;;;;;3921:30;;3974:1;3966:4;:9;3962:569;;;4028:5;4000:24;4017:6;4000:12;;:16;;:24;;;;:::i;:::-;:33;;3992:42;;;::::0;::::1;;4049:10;4065:6;4049:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4087:14;4107:8;4087:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4172:1;4152:10;:17;;;;:21;;;;:::i;:::-;4131:8;:18;4140:8;4131:18;;;;;;;;;;;;;;;:42;;;;4203:24;4220:6;4203:12;;:16;;:24;;;;:::i;:::-;4188:12;:39;;;;3962:569;;;4293:19;4316:10;4327:4;4316:16;;;;;;;;;;;;;;;;;;;;;;;;4293:39;;4400:5;4355:41;4384:11;4355:24;4372:6;4355:12;;:16;;:24;;;;:::i;:::-;:28;;:41;;;;:::i;:::-;:50;;4347:59;;;::::0;::::1;;4442:6;4423:10;4434:4;4423:16;;;;;;;;;;;;;;;;;;;;;;;:25;;;;4478:41;4507:11;4478:24;4495:6;4478:12;;:16;;:24;;;;:::i;:::-;:28;;:41;;;;:::i;:::-;4463:12;:56;;;;3962:569;;2681:1;3818:720:::0;;:::o;1806:189::-;1892:7;1924:1;1920;:5;1927:12;1912:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1951:9;1967:1;1963;:5;;;;:::i;:::-;1951:17;;1986:1;1979:8;;;1806:189;;;;;:::o;13086:179::-;13174:4;13209:15;;;;;;;;;;;13198:26;;:7;:26;;;:59;;;;13242:15;;;;;;;;;;;13228:29;;:10;:29;;;13198:59;13191:66;;13086:179;;;;:::o;13497:170::-;13562:4;13600:15;;;;;;;;;;;13586:29;;:10;:29;;;;:73;;;;;13641:17;;;;;;;;;;;13619:40;;:10;:40;;;;13586:73;13579:80;;13497:170;;;:::o;13673:286::-;13715:7;13756:13;;13737:15;:32;13734:217;;13791:21;13808:3;7824:21;13791:16;;:21;;;;:::i;:::-;13784:28;;;;13734:217;13850:10;;13831:15;:29;13828:123;;13882:21;13899:3;7824:21;13882:16;;:21;;;;:::i;:::-;13875:28;;;;13828:123;7824:21;13932:19;;13673:286;;:::o;12906:174::-;12982:4;13008:19;:28;13028:7;13008:28;;;;;;;;;;;;;;;;;;;;;;;;;:63;;;;13040:19;:31;13060:10;13040:31;;;;;;;;;;;;;;;;;;;;;;;;;13008:63;13006:66;12999:73;;12906:174;;;;:::o;13271:220::-;13353:4;13388:15;;;;;;;;;;;13377:26;;:7;:26;;;:70;;;;;13429:17;;;;;;;;;;;13407:40;;:10;:40;;;;13377:70;:106;;;;;13452:19;:31;13472:10;13452:31;;;;;;;;;;;;;;;;;;;;;;;;;13451:32;13377:106;13370:113;;13271:220;;;;:::o;16496:620::-;16586:7;16606:12;16621:1;16606:16;;16637:19;:28;16657:7;16637:28;;;;;;;;;;;;;;;;;;;;;;;;;:63;;;;16669:19;:31;16689:10;16669:31;;;;;;;;;;;;;;;;;;;;;;;;;16637:63;16633:107;;;16724:4;16717:11;;;;;16633:107;16750:16;16784:19;16792:10;16784:7;:19::i;:::-;16781:60;;;16829:12;:10;:12::i;:::-;16818:23;;16781:60;16859:48;16868:38;16890:15;:13;:15::i;:::-;16868:17;16880:4;;16868:7;:11;;:17;;;;:::i;:::-;:21;;:38;;;;:::i;:::-;16859:4;:8;;:48;;;;:::i;:::-;16852:55;;16925:41;16934:31;16960:4;;16934:21;16946:8;16934:7;:11;;:21;;;;:::i;:::-;:25;;:31;;;;:::i;:::-;16925:4;:8;;:41;;;;:::i;:::-;16918:48;;16997:10;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16977:17;:41;;;;17036:50;17045:40;17080:4;;17045:30;17057:17;;17045:7;:11;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;17036:4;:8;;:50;;;;:::i;:::-;17029:57;;17104:4;17097:11;;;;16496:620;;;;;;:::o;17451:267::-;17522:20;17534:7;17522:11;:20::i;:::-;17518:193;;;17559:21;17583:24;17601:4;17583:9;:24::i;:::-;17559:48;;17622:32;17640:13;17622:17;:32::i;:::-;17669:30;17682:7;17691;17669:12;:30::i;:::-;17518:193;;17451:267;;:::o;15712:434::-;15826:18;15847:19;15859:6;15847:7;:11;;:19;;;;:::i;:::-;15826:40;;15899:32;15923:7;15899:10;:19;15910:7;15899:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;15877:10;:19;15888:7;15877:19;;;;;;;;;;;;;;;:54;;;;15967:38;15994:10;15967;:22;15978:10;15967:22;;;;;;;;;;;;;;;;:26;;:38;;;;:::i;:::-;15942:10;:22;15953:10;15942:22;;;;;;;;;;;;;;;:63;;;;16044:37;16074:6;16044:10;:25;16063:4;16044:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;16016:10;:25;16035:4;16016:25;;;;;;;;;;;;;;;:65;;;;16115:10;16097:41;;16106:7;16097:41;;;16127:10;16097:41;;;;;;:::i;:::-;;;;;;;;15712:434;;;;;:::o;16152:341::-;16241:28;16249:7;16258:10;16241:7;:28::i;:::-;16237:249;;;16290:15;16297:7;16290:6;:15::i;:::-;16286:188;;;16324:10;;;;;;;;;;;:24;;;16349:10;16324:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16286:188;;;16405:1;16384:18;;:22;16380:94;;;16425:10;;;;;;;;;;;:20;;;16446:7;16455:18;;16425:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16380:94;16286:188;16237:249;16152:341;;:::o;12780:120::-;12839:4;12877:15;;;;;;;;;;;12863:29;;:10;:29;;;12856:36;;12780:120;;;:::o;17122:323::-;17167:7;17208:10;;17189:15;:29;17186:251;;17240:5;17233:12;;;;17186:251;17283:11;;17264:15;:30;17261:176;;17316:4;17309:11;;;;17261:176;17358:12;;17339:15;:31;17336:101;;17392:4;17385:11;;;;17336:101;17436:1;17429:8;;17122:323;;:::o;4544:103::-;4600:7;4627:12;;4620:19;;4544:103;:::o;12524:131::-;12584:4;12609:8;;;;;;;;;;;12608:9;:39;;;;;12632:15;;;;;;;;;;;12621:26;;:7;:26;;;;12608:39;12601:46;;12524:131;;;:::o;17724:482::-;9571:4;9560:8;;:15;;;;;;;;;;;;;;;;;;17799:22:::1;17838:1;17824:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17799:41;;17870:4;17851:5;17857:1;17851:8;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;::::0;::::1;17897:17;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17886:5;17892:1;17886:8;;;;;;;;;;;;;;;;;;;;;:35;;;;;;;;;::::0;::::1;17932:60;17949:4;17964:17;;;;;;;;;;;17984:7;17932:8;:60::i;:::-;18003:17;;;;;;;;;;;:68;;;18086:7;18108:1;18124:5;18152:4;18172:15;18003:195;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9586:1;9609:5:::0;9598:8;;:16;;;;;;;;;;;;;;;;;;17724:482;:::o;18458:1204::-;18533:12;18548:21;18533:36;;18592:12;;18584:4;:20;18580:46;;18619:7;;;18580:46;18650:15;18668:22;18677:12;;18668:4;:8;;:22;;;;:::i;:::-;18650:40;;18701:7;18711:20;:18;:20::i;:::-;18701:30;;18751:1;18746:2;:6;18742:32;;;18767:7;;;;;18742:32;18807:14;18819:1;18807:7;:11;;:14;;;;:::i;:::-;18786:18;:35;;;;18832:22;;;;;;;;;;;:31;;:51;18864:18;;18832:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18917:5;18901:12;:10;:12::i;:::-;:21;18898:641;;;18954:8;;;;;;;;;;;18938:35;;:52;18974:15;18986:2;18974:7;:11;;:15;;;;:::i;:::-;18938:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19005:8;;;;;;;;;;;:16;;;19022:15;19034:2;19022:7;:11;;:15;;;;:::i;:::-;19005:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18898:641;;;19084:4;19068:12;:10;:12::i;:::-;:20;19065:474;;;19120:8;;;;;;;;;;;19104:35;;:52;19140:15;19152:2;19140:7;:11;;:15;;;;:::i;:::-;19104:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19171:8;;;;;;;;;;;:16;;;19188:15;19200:2;19188:7;:11;;:15;;;;:::i;:::-;19171:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19065:474;;;19250:4;19234:12;:10;:12::i;:::-;:20;19231:308;;;19286:8;;;;;;;;;;;19270:35;;:61;19306:24;19326:3;19306:15;19318:2;19306:7;:11;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;19270:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19346:8;;;;;;;;;;;:16;;;19363:24;19383:3;19363:15;19375:2;19363:7;:11;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;19346:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19231:308;;;19445:8;;;;;;;;;;;19429:35;;:51;19465:14;19477:1;19465:7;:11;;:14;;;;:::i;:::-;19429:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19495:8;;;;;;;;;;;:16;;;19512:14;19524:1;19512:7;:11;;:14;;;;:::i;:::-;19495:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19231:308;19065:474;18898:641;19549:17;;;;;;;;;;;:26;;:49;19576:21;19549:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19633:21;19618:12;:36;;;;18458:1204;;;;;;:::o;12661:113::-;12716:4;12751:15;;;;;;;;;;;12740:26;;:7;:26;;;12733:33;;12661:113;;;:::o;18212:240::-;18264:4;18281:9;18293:1;18281:13;;18312:22;18321:12;:10;:12::i;:::-;18312:4;:8;;:22;;;;:::i;:::-;18305:29;;18352:25;18361:15;:13;:15::i;:::-;18352:4;:8;;:25;;;;:::i;:::-;18345:32;;18395:27;18404:17;;18395:4;:8;;:27;;;;:::i;:::-;18388:34;;18440:4;18433:11;;;18212:240;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:137::-;516:5;547:6;541:13;532:22;;563:30;587:5;563:30;:::i;:::-;522:77;;;;:::o;605:137::-;650:5;688:6;675:20;666:29;;704:32;730:5;704:32;:::i;:::-;656:86;;;;:::o;748:139::-;794:5;832:6;819:20;810:29;;848:33;875:5;848:33;:::i;:::-;800:87;;;;:::o;893:143::-;950:5;981:6;975:13;966:22;;997:33;1024:5;997:33;:::i;:::-;956:80;;;;:::o;1042:262::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:2;;;1166:1;1163;1156:12;1118:2;1209:1;1234:53;1279:7;1270:6;1259:9;1255:22;1234:53;:::i;:::-;1224:63;;1180:117;1108:196;;;;:::o;1310:284::-;1380:6;1429:2;1417:9;1408:7;1404:23;1400:32;1397:2;;;1445:1;1442;1435:12;1397:2;1488:1;1513:64;1569:7;1560:6;1549:9;1545:22;1513:64;:::i;:::-;1503:74;;1459:128;1387:207;;;;:::o;1600:278::-;1667:6;1716:2;1704:9;1695:7;1691:23;1687:32;1684:2;;;1732:1;1729;1722:12;1684:2;1775:1;1800:61;1853:7;1844:6;1833:9;1829:22;1800:61;:::i;:::-;1790:71;;1746:125;1674:204;;;;:::o;1884:421::-;1959:6;1967;2016:2;2004:9;1995:7;1991:23;1987:32;1984:2;;;2032:1;2029;2022:12;1984:2;2075:1;2100:61;2153:7;2144:6;2133:9;2129:22;2100:61;:::i;:::-;2090:71;;2046:125;2210:2;2236:52;2280:7;2271:6;2260:9;2256:22;2236:52;:::i;:::-;2226:62;;2181:117;1974:331;;;;;:::o;2311:423::-;2387:6;2395;2444:2;2432:9;2423:7;2419:23;2415:32;2412:2;;;2460:1;2457;2450:12;2412:2;2503:1;2528:61;2581:7;2572:6;2561:9;2557:22;2528:61;:::i;:::-;2518:71;;2474:125;2638:2;2664:53;2709:7;2700:6;2689:9;2685:22;2664:53;:::i;:::-;2654:63;;2609:118;2402:332;;;;;:::o;2740:407::-;2808:6;2816;2865:2;2853:9;2844:7;2840:23;2836:32;2833:2;;;2881:1;2878;2871:12;2833:2;2924:1;2949:53;2994:7;2985:6;2974:9;2970:22;2949:53;:::i;:::-;2939:63;;2895:117;3051:2;3077:53;3122:7;3113:6;3102:9;3098:22;3077:53;:::i;:::-;3067:63;;3022:118;2823:324;;;;;:::o;3153:552::-;3230:6;3238;3246;3295:2;3283:9;3274:7;3270:23;3266:32;3263:2;;;3311:1;3308;3301:12;3263:2;3354:1;3379:53;3424:7;3415:6;3404:9;3400:22;3379:53;:::i;:::-;3369:63;;3325:117;3481:2;3507:53;3552:7;3543:6;3532:9;3528:22;3507:53;:::i;:::-;3497:63;;3452:118;3609:2;3635:53;3680:7;3671:6;3660:9;3656:22;3635:53;:::i;:::-;3625:63;;3580:118;3253:452;;;;;:::o;3711:407::-;3779:6;3787;3836:2;3824:9;3815:7;3811:23;3807:32;3804:2;;;3852:1;3849;3842:12;3804:2;3895:1;3920:53;3965:7;3956:6;3945:9;3941:22;3920:53;:::i;:::-;3910:63;;3866:117;4022:2;4048:53;4093:7;4084:6;4073:9;4069:22;4048:53;:::i;:::-;4038:63;;3993:118;3794:324;;;;;:::o;4124:278::-;4191:6;4240:2;4228:9;4219:7;4215:23;4211:32;4208:2;;;4256:1;4253;4246:12;4208:2;4299:1;4324:61;4377:7;4368:6;4357:9;4353:22;4324:61;:::i;:::-;4314:71;;4270:125;4198:204;;;;:::o;4408:262::-;4467:6;4516:2;4504:9;4495:7;4491:23;4487:32;4484:2;;;4532:1;4529;4522:12;4484:2;4575:1;4600:53;4645:7;4636:6;4625:9;4621:22;4600:53;:::i;:::-;4590:63;;4546:117;4474:196;;;;:::o;4676:284::-;4746:6;4795:2;4783:9;4774:7;4770:23;4766:32;4763:2;;;4811:1;4808;4801:12;4763:2;4854:1;4879:64;4935:7;4926:6;4915:9;4911:22;4879:64;:::i;:::-;4869:74;;4825:128;4753:207;;;;:::o;4966:596::-;5054:6;5062;5070;5119:2;5107:9;5098:7;5094:23;5090:32;5087:2;;;5135:1;5132;5125:12;5087:2;5178:1;5203:64;5259:7;5250:6;5239:9;5235:22;5203:64;:::i;:::-;5193:74;;5149:128;5316:2;5342:64;5398:7;5389:6;5378:9;5374:22;5342:64;:::i;:::-;5332:74;;5287:129;5455:2;5481:64;5537:7;5528:6;5517:9;5513:22;5481:64;:::i;:::-;5471:74;;5426:129;5077:485;;;;;:::o;5568:179::-;5637:10;5658:46;5700:3;5692:6;5658:46;:::i;:::-;5736:4;5731:3;5727:14;5713:28;;5648:99;;;;:::o;5753:108::-;5830:24;5848:5;5830:24;:::i;:::-;5825:3;5818:37;5808:53;;:::o;5867:118::-;5954:24;5972:5;5954:24;:::i;:::-;5949:3;5942:37;5932:53;;:::o;6021:732::-;6140:3;6169:54;6217:5;6169:54;:::i;:::-;6239:86;6318:6;6313:3;6239:86;:::i;:::-;6232:93;;6349:56;6399:5;6349:56;:::i;:::-;6428:7;6459:1;6444:284;6469:6;6466:1;6463:13;6444:284;;;6545:6;6539:13;6572:63;6631:3;6616:13;6572:63;:::i;:::-;6565:70;;6658:60;6711:6;6658:60;:::i;:::-;6648:70;;6504:224;6491:1;6488;6484:9;6479:14;;6444:284;;;6448:14;6744:3;6737:10;;6145:608;;;;;;;:::o;6759:109::-;6840:21;6855:5;6840:21;:::i;:::-;6835:3;6828:34;6818:50;;:::o;6874:147::-;6969:45;7008:5;6969:45;:::i;:::-;6964:3;6957:58;6947:74;;:::o;7027:153::-;7125:48;7167:5;7125:48;:::i;:::-;7120:3;7113:61;7103:77;;:::o;7186:364::-;7274:3;7302:39;7335:5;7302:39;:::i;:::-;7357:71;7421:6;7416:3;7357:71;:::i;:::-;7350:78;;7437:52;7482:6;7477:3;7470:4;7463:5;7459:16;7437:52;:::i;:::-;7514:29;7536:6;7514:29;:::i;:::-;7509:3;7505:39;7498:46;;7278:272;;;;;:::o;7556:366::-;7698:3;7719:67;7783:2;7778:3;7719:67;:::i;:::-;7712:74;;7795:93;7884:3;7795:93;:::i;:::-;7913:2;7908:3;7904:12;7897:19;;7702:220;;;:::o;7928:366::-;8070:3;8091:67;8155:2;8150:3;8091:67;:::i;:::-;8084:74;;8167:93;8256:3;8167:93;:::i;:::-;8285:2;8280:3;8276:12;8269:19;;8074:220;;;:::o;8300:366::-;8442:3;8463:67;8527:2;8522:3;8463:67;:::i;:::-;8456:74;;8539:93;8628:3;8539:93;:::i;:::-;8657:2;8652:3;8648:12;8641:19;;8446:220;;;:::o;8672:366::-;8814:3;8835:67;8899:2;8894:3;8835:67;:::i;:::-;8828:74;;8911:93;9000:3;8911:93;:::i;:::-;9029:2;9024:3;9020:12;9013:19;;8818:220;;;:::o;9044:366::-;9186:3;9207:67;9271:2;9266:3;9207:67;:::i;:::-;9200:74;;9283:93;9372:3;9283:93;:::i;:::-;9401:2;9396:3;9392:12;9385:19;;9190:220;;;:::o;9416:366::-;9558:3;9579:67;9643:2;9638:3;9579:67;:::i;:::-;9572:74;;9655:93;9744:3;9655:93;:::i;:::-;9773:2;9768:3;9764:12;9757:19;;9562:220;;;:::o;9788:366::-;9930:3;9951:67;10015:2;10010:3;9951:67;:::i;:::-;9944:74;;10027:93;10116:3;10027:93;:::i;:::-;10145:2;10140:3;10136:12;10129:19;;9934:220;;;:::o;10160:366::-;10302:3;10323:67;10387:2;10382:3;10323:67;:::i;:::-;10316:74;;10399:93;10488:3;10399:93;:::i;:::-;10517:2;10512:3;10508:12;10501:19;;10306:220;;;:::o;10532:366::-;10674:3;10695:67;10759:2;10754:3;10695:67;:::i;:::-;10688:74;;10771:93;10860:3;10771:93;:::i;:::-;10889:2;10884:3;10880:12;10873:19;;10678:220;;;:::o;10904:366::-;11046:3;11067:67;11131:2;11126:3;11067:67;:::i;:::-;11060:74;;11143:93;11232:3;11143:93;:::i;:::-;11261:2;11256:3;11252:12;11245:19;;11050:220;;;:::o;11276:118::-;11363:24;11381:5;11363:24;:::i;:::-;11358:3;11351:37;11341:53;;:::o;11400:112::-;11483:22;11499:5;11483:22;:::i;:::-;11478:3;11471:35;11461:51;;:::o;11518:222::-;11611:4;11649:2;11638:9;11634:18;11626:26;;11662:71;11730:1;11719:9;11715:17;11706:6;11662:71;:::i;:::-;11616:124;;;;:::o;11746:332::-;11867:4;11905:2;11894:9;11890:18;11882:26;;11918:71;11986:1;11975:9;11971:17;11962:6;11918:71;:::i;:::-;11999:72;12067:2;12056:9;12052:18;12043:6;11999:72;:::i;:::-;11872:206;;;;;:::o;12084:442::-;12233:4;12271:2;12260:9;12256:18;12248:26;;12284:71;12352:1;12341:9;12337:17;12328:6;12284:71;:::i;:::-;12365:72;12433:2;12422:9;12418:18;12409:6;12365:72;:::i;:::-;12447;12515:2;12504:9;12500:18;12491:6;12447:72;:::i;:::-;12238:288;;;;;;:::o;12532:797::-;12776:4;12814:3;12803:9;12799:19;12791:27;;12828:71;12896:1;12885:9;12881:17;12872:6;12828:71;:::i;:::-;12909:83;12988:2;12977:9;12973:18;12964:6;12909:83;:::i;:::-;13002:72;13070:2;13059:9;13055:18;13046:6;13002:72;:::i;:::-;13084;13152:2;13141:9;13137:18;13128:6;13084:72;:::i;:::-;13166:73;13234:3;13223:9;13219:19;13210:6;13166:73;:::i;:::-;13249;13317:3;13306:9;13302:19;13293:6;13249:73;:::i;:::-;12781:548;;;;;;;;;:::o;13335:332::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13507:71;13575:1;13564:9;13560:17;13551:6;13507:71;:::i;:::-;13588:72;13656:2;13645:9;13641:18;13632:6;13588:72;:::i;:::-;13461:206;;;;;:::o;13673:807::-;13922:4;13960:3;13949:9;13945:19;13937:27;;13974:71;14042:1;14031:9;14027:17;14018:6;13974:71;:::i;:::-;14055:72;14123:2;14112:9;14108:18;14099:6;14055:72;:::i;:::-;14137:80;14213:2;14202:9;14198:18;14189:6;14137:80;:::i;:::-;14227;14303:2;14292:9;14288:18;14279:6;14227:80;:::i;:::-;14317:73;14385:3;14374:9;14370:19;14361:6;14317:73;:::i;:::-;14400;14468:3;14457:9;14453:19;14444:6;14400:73;:::i;:::-;13927:553;;;;;;;;;:::o;14486:210::-;14573:4;14611:2;14600:9;14596:18;14588:26;;14624:65;14686:1;14675:9;14671:17;14662:6;14624:65;:::i;:::-;14578:118;;;;:::o;14702:313::-;14815:4;14853:2;14842:9;14838:18;14830:26;;14902:9;14896:4;14892:20;14888:1;14877:9;14873:17;14866:47;14930:78;15003:4;14994:6;14930:78;:::i;:::-;14922:86;;14820:195;;;;:::o;15021:419::-;15187:4;15225:2;15214:9;15210:18;15202:26;;15274:9;15268:4;15264:20;15260:1;15249:9;15245:17;15238:47;15302:131;15428:4;15302:131;:::i;:::-;15294:139;;15192:248;;;:::o;15446:419::-;15612:4;15650:2;15639:9;15635:18;15627:26;;15699:9;15693:4;15689:20;15685:1;15674:9;15670:17;15663:47;15727:131;15853:4;15727:131;:::i;:::-;15719:139;;15617:248;;;:::o;15871:419::-;16037:4;16075:2;16064:9;16060:18;16052:26;;16124:9;16118:4;16114:20;16110:1;16099:9;16095:17;16088:47;16152:131;16278:4;16152:131;:::i;:::-;16144:139;;16042:248;;;:::o;16296:419::-;16462:4;16500:2;16489:9;16485:18;16477:26;;16549:9;16543:4;16539:20;16535:1;16524:9;16520:17;16513:47;16577:131;16703:4;16577:131;:::i;:::-;16569:139;;16467:248;;;:::o;16721:419::-;16887:4;16925:2;16914:9;16910:18;16902:26;;16974:9;16968:4;16964:20;16960:1;16949:9;16945:17;16938:47;17002:131;17128:4;17002:131;:::i;:::-;16994:139;;16892:248;;;:::o;17146:419::-;17312:4;17350:2;17339:9;17335:18;17327:26;;17399:9;17393:4;17389:20;17385:1;17374:9;17370:17;17363:47;17427:131;17553:4;17427:131;:::i;:::-;17419:139;;17317:248;;;:::o;17571:419::-;17737:4;17775:2;17764:9;17760:18;17752:26;;17824:9;17818:4;17814:20;17810:1;17799:9;17795:17;17788:47;17852:131;17978:4;17852:131;:::i;:::-;17844:139;;17742:248;;;:::o;17996:419::-;18162:4;18200:2;18189:9;18185:18;18177:26;;18249:9;18243:4;18239:20;18235:1;18224:9;18220:17;18213:47;18277:131;18403:4;18277:131;:::i;:::-;18269:139;;18167:248;;;:::o;18421:419::-;18587:4;18625:2;18614:9;18610:18;18602:26;;18674:9;18668:4;18664:20;18660:1;18649:9;18645:17;18638:47;18702:131;18828:4;18702:131;:::i;:::-;18694:139;;18592:248;;;:::o;18846:419::-;19012:4;19050:2;19039:9;19035:18;19027:26;;19099:9;19093:4;19089:20;19085:1;19074:9;19070:17;19063:47;19127:131;19253:4;19127:131;:::i;:::-;19119:139;;19017:248;;;:::o;19271:222::-;19364:4;19402:2;19391:9;19387:18;19379:26;;19415:71;19483:1;19472:9;19468:17;19459:6;19415:71;:::i;:::-;19369:124;;;;:::o;19499:831::-;19762:4;19800:3;19789:9;19785:19;19777:27;;19814:71;19882:1;19871:9;19867:17;19858:6;19814:71;:::i;:::-;19895:80;19971:2;19960:9;19956:18;19947:6;19895:80;:::i;:::-;20022:9;20016:4;20012:20;20007:2;19996:9;19992:18;19985:48;20050:108;20153:4;20144:6;20050:108;:::i;:::-;20042:116;;20168:72;20236:2;20225:9;20221:18;20212:6;20168:72;:::i;:::-;20250:73;20318:3;20307:9;20303:19;20294:6;20250:73;:::i;:::-;19767:563;;;;;;;;:::o;20336:214::-;20425:4;20463:2;20452:9;20448:18;20440:26;;20476:67;20540:1;20529:9;20525:17;20516:6;20476:67;:::i;:::-;20430:120;;;;:::o;20556:132::-;20623:4;20646:3;20638:11;;20676:4;20671:3;20667:14;20659:22;;20628:60;;;:::o;20694:114::-;20761:6;20795:5;20789:12;20779:22;;20768:40;;;:::o;20814:99::-;20866:6;20900:5;20894:12;20884:22;;20873:40;;;:::o;20919:113::-;20989:4;21021;21016:3;21012:14;21004:22;;20994:38;;;:::o;21038:184::-;21137:11;21171:6;21166:3;21159:19;21211:4;21206:3;21202:14;21187:29;;21149:73;;;;:::o;21228:169::-;21312:11;21346:6;21341:3;21334:19;21386:4;21381:3;21377:14;21362:29;;21324:73;;;;:::o;21403:305::-;21443:3;21462:20;21480:1;21462:20;:::i;:::-;21457:25;;21496:20;21514:1;21496:20;:::i;:::-;21491:25;;21650:1;21582:66;21578:74;21575:1;21572:81;21569:2;;;21656:18;;:::i;:::-;21569:2;21700:1;21697;21693:9;21686:16;;21447:261;;;;:::o;21714:185::-;21754:1;21771:20;21789:1;21771:20;:::i;:::-;21766:25;;21805:20;21823:1;21805:20;:::i;:::-;21800:25;;21844:1;21834:2;;21849:18;;:::i;:::-;21834:2;21891:1;21888;21884:9;21879:14;;21756:143;;;;:::o;21905:348::-;21945:7;21968:20;21986:1;21968:20;:::i;:::-;21963:25;;22002:20;22020:1;22002:20;:::i;:::-;21997:25;;22190:1;22122:66;22118:74;22115:1;22112:81;22107:1;22100:9;22093:17;22089:105;22086:2;;;22197:18;;:::i;:::-;22086:2;22245:1;22242;22238:9;22227:20;;21953:300;;;;:::o;22259:191::-;22299:4;22319:20;22337:1;22319:20;:::i;:::-;22314:25;;22353:20;22371:1;22353:20;:::i;:::-;22348:25;;22392:1;22389;22386:8;22383:2;;;22397:18;;:::i;:::-;22383:2;22442:1;22439;22435:9;22427:17;;22304:146;;;;:::o;22456:96::-;22493:7;22522:24;22540:5;22522:24;:::i;:::-;22511:35;;22501:51;;;:::o;22558:104::-;22603:7;22632:24;22650:5;22632:24;:::i;:::-;22621:35;;22611:51;;;:::o;22668:90::-;22702:7;22745:5;22738:13;22731:21;22720:32;;22710:48;;;:::o;22764:126::-;22801:7;22841:42;22834:5;22830:54;22819:65;;22809:81;;;:::o;22896:91::-;22932:7;22972:8;22965:5;22961:20;22950:31;;22940:47;;;:::o;22993:77::-;23030:7;23059:5;23048:16;;23038:32;;;:::o;23076:86::-;23111:7;23151:4;23144:5;23140:16;23129:27;;23119:43;;;:::o;23168:121::-;23226:9;23259:24;23277:5;23259:24;:::i;:::-;23246:37;;23236:53;;;:::o;23295:124::-;23356:9;23389:24;23407:5;23389:24;:::i;:::-;23376:37;;23366:53;;;:::o;23425:307::-;23493:1;23503:113;23517:6;23514:1;23511:13;23503:113;;;23602:1;23597:3;23593:11;23587:18;23583:1;23578:3;23574:11;23567:39;23539:2;23536:1;23532:10;23527:15;;23503:113;;;23634:6;23631:1;23628:13;23625:2;;;23714:1;23705:6;23700:3;23696:16;23689:27;23625:2;23474:258;;;;:::o;23738:320::-;23782:6;23819:1;23813:4;23809:12;23799:22;;23866:1;23860:4;23856:12;23887:18;23877:2;;23943:4;23935:6;23931:17;23921:27;;23877:2;24005;23997:6;23994:14;23974:18;23971:38;23968:2;;;24024:18;;:::i;:::-;23968:2;23789:269;;;;:::o;24064:180::-;24112:77;24109:1;24102:88;24209:4;24206:1;24199:15;24233:4;24230:1;24223:15;24250:180;24298:77;24295:1;24288:88;24395:4;24392:1;24385:15;24419:4;24416:1;24409:15;24436:180;24484:77;24481:1;24474:88;24581:4;24578:1;24571:15;24605:4;24602:1;24595:15;24622:102;24663:6;24714:2;24710:7;24705:2;24698:5;24694:14;24690:28;24680:38;;24670:54;;;:::o;24730:174::-;24870:26;24866:1;24858:6;24854:14;24847:50;24836:68;:::o;24910:162::-;25050:14;25046:1;25038:6;25034:14;25027:38;25016:56;:::o;25078:221::-;25218:34;25214:1;25206:6;25202:14;25195:58;25287:4;25282:2;25274:6;25270:15;25263:29;25184:115;:::o;25305:177::-;25445:29;25441:1;25433:6;25429:14;25422:53;25411:71;:::o;25488:220::-;25628:34;25624:1;25616:6;25612:14;25605:58;25697:3;25692:2;25684:6;25680:15;25673:28;25594:114;:::o;25714:182::-;25854:34;25850:1;25842:6;25838:14;25831:58;25820:76;:::o;25902:228::-;26042:34;26038:1;26030:6;26026:14;26019:58;26111:11;26106:2;26098:6;26094:15;26087:36;26008:122;:::o;26136:224::-;26276:34;26272:1;26264:6;26260:14;26253:58;26345:7;26340:2;26332:6;26328:15;26321:32;26242:118;:::o;26366:223::-;26506:34;26502:1;26494:6;26490:14;26483:58;26575:6;26570:2;26562:6;26558:15;26551:31;26472:117;:::o;26595:225::-;26735:34;26731:1;26723:6;26719:14;26712:58;26804:8;26799:2;26791:6;26787:15;26780:33;26701:119;:::o;26826:122::-;26899:24;26917:5;26899:24;:::i;:::-;26892:5;26889:35;26879:2;;26938:1;26935;26928:12;26879:2;26869:79;:::o;26954:138::-;27035:32;27061:5;27035:32;:::i;:::-;27028:5;27025:43;27015:2;;27082:1;27079;27072:12;27015:2;27005:87;:::o;27098:116::-;27168:21;27183:5;27168:21;:::i;:::-;27161:5;27158:32;27148:2;;27204:1;27201;27194:12;27148:2;27138:76;:::o;27220:120::-;27292:23;27309:5;27292:23;:::i;:::-;27285:5;27282:34;27272:2;;27330:1;27327;27320:12;27272:2;27262:78;:::o;27346:122::-;27419:24;27437:5;27419:24;:::i;:::-;27412:5;27409:35;27399:2;;27458:1;27455;27448:12;27399:2;27389:79;:::o

Swarm Source

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