PSA: Scheduled Server Maintenance & Upgrades [2nd-December-2021 6:00 AM UTC] - Estimated duration: 3 hours.

Contract 0xee901a8a13e5b71dd35ad259d87e17a891d1f0f3 1

 

Contract Overview

FlokiZap: FLOKIZ Token
Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb51085934aced5e4d7b5235b71325a7b9e69162f8da1e6765248f97c3bdd8770Approve131201442021-12-02 3:31:023 hrs 15 mins ago0x17b13b32c29b5c22d1f84bb3865f2e8fec9aca77 IN  FlokiZap: FLOKIZ Token0 BNB0.000072815
0xc70761cdba94c4ccc5b0086b21ebb9fd8c1c97bf023c88d07300265a661cc44bApprove131184392021-12-02 1:51:564 hrs 54 mins ago0x4a5bd7c19287b67a78a39f2ec1326b6b25f2c16e IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x59d0185ee912007e494fa3efed27001259d174d025d9ef865ce8589a0f22ec6dApprove131135802021-12-01 21:40:159 hrs 6 mins ago0xbc49b77aa793ba0ac33703ee9174a6760ea07fe9 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x15513b27679cca369d8452a4d71aae6a1ce7f87c605a0c853c7082d99d8ae90bApprove131066942021-12-01 15:41:5015 hrs 4 mins ago0x6a7049e4bcd15e9c6c941e803704f385feb6a835 IN  FlokiZap: FLOKIZ Token0 BNB0.00031157
0x08f37251e4e01adf3cde8009db1599586dbd33ab03d1a7c16e69f774bd9e4bc5Approve131052982021-12-01 14:27:2616 hrs 19 mins ago0x7a187b40baf4883859c491677ed0bbee8eef1637 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0xb5498986b2c3a1f792cd220409da8427265f55f86b19aa547af691c13f3c0e48Approve131047562021-12-01 13:57:2016 hrs 49 mins ago0x785e1e7d178c73839d313d40fa3538d89459808b IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x5a5752abe9e27745db321163cc6591cf94a0b97de188228a2d8e3d188110b57bApprove131046452021-12-01 13:51:1916 hrs 55 mins ago0xbaa8ca6f6cb66c09320cd6384787bf9dbfd6e8bd IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x71afc8549ad12000751fa951625f91bb6960afd0af9ea79046c80f6c58167f24Approve131018292021-12-01 11:03:2119 hrs 43 mins ago0x62942af55abcf76161d18466f2fa03cfed87af13 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0xa123c4725dee85e14bef6846448650a327500c6c1bd9e929f0f5fcda585dfabcApprove131018032021-12-01 11:01:4219 hrs 44 mins ago0xf1cc0c1d16aca2d3b7d14a680ea76bd8aa3874c6 IN  FlokiZap: FLOKIZ Token0 BNB0.00015186
0xa736f59449557bb67c110e9580dc9cd2112cade38324784941d5812a85752a25Approve131013542021-12-01 10:34:3520 hrs 12 mins ago0xf1cc0c1d16aca2d3b7d14a680ea76bd8aa3874c6 IN  FlokiZap: FLOKIZ Token0 BNB0.00026706
0x4a2addc9a248a5a829a0353013a2de028a12ff3a10fa096336c2fd8751b0cdddApprove130984212021-12-01 7:35:4023 hrs 10 mins ago0x17cf80dffa91d004e7927570339f4dd90f59dcdf IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0xf63fbd2ed8d21efb9e6a08f98ee9132526a1749d6879e7096c63cba488da32e1Approve130939652021-12-01 3:47:041 day 2 hrs ago0xa6b82e3e5d456a0f6d3003a881b6a293191336e1 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x86b85c5c4dd914b56d6612ac48d118cb93277df8fa1e8be625d1aa8515cdc0f2Transfer130913742021-12-01 1:27:211 day 5 hrs ago0x7080e47638970d31d03c7a3a9a314d57466bef45 IN  FlokiZap: FLOKIZ Token0 BNB0.000341155
0x6ead20a29cf6ea676bd643149dda041d86a85490fbb4db1ab0caddb1d64bfebaTransfer130893492021-11-30 23:40:221 day 7 hrs ago0xb7bf3cdb0add7b3f3165e65a6ce7e340a8ce49ab IN  FlokiZap: FLOKIZ Token0 BNB0.00029006
0x753d50484930d4806cf50e9a168f4c64d00381671982ec1a7a55a348a8e8e45eApprove130877452021-11-30 22:19:491 day 8 hrs ago0x4cad4856a41da46523f81d9ea6360e02c97bf259 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x82579d545517a237da580c191b7ca0692ddedd6b8d78f66fa04cb091edb70548Approve130876582021-11-30 22:15:271 day 8 hrs ago0x2a5331291837ecb0b50ec47b1c9b964223c1faa4 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x581a8deceeaf6cbf28a180dcb6f42c0cda4e04cb4a89ba9c20cc2f1f00f6a500Approve130866352021-11-30 21:23:591 day 9 hrs ago0xa889d1f4fbf01c7abee0f6f23ccfa354711aeae5 IN  FlokiZap: FLOKIZ Token0 BNB0.00031157
0x4495a0b28f6f7dcd381188e19ea9c24232111152c5e5f1f3e6056488ce9803c7Approve130799662021-11-30 15:39:281 day 15 hrs ago0xe049f990424e4de8b5a24b24498d792c316e8351 IN  FlokiZap: FLOKIZ Token0 BNB0.000077984865
0xdfeaa7cee67a5cbf9246698b24438fed74669ed63abf25949b4750f11e5c5c6eApprove130790762021-11-30 14:51:471 day 15 hrs ago0xcaa05c546c00a146dd4c8f587fa96a92fbf536d5 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x683885ead75c4b6caecbb5474d4a2e35b6c0c3c0c37dc298e8d2b60caaae0bf5Approve130770752021-11-30 13:04:561 day 17 hrs ago0x4013454300721e51fdea7e4e1bd0003c99763df4 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x6db4c35cea3f53c5932c5afc0447eb861703ef70ed485477a95afbac6446fd03Approve130747042021-11-30 10:55:241 day 19 hrs ago0x5b9a9408eba8c66aa75d9837a8b1353183a7016e IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0x661daea9a01728e8aa211265140d6da2689c3c69166dc2b5a08359114b2449feApprove130656272021-11-30 2:48:412 days 3 hrs ago0x50506ef3d2b9ed1080ad160d49c769e8d4c3ff76 IN  FlokiZap: FLOKIZ Token0 BNB0.000077984865
0x012dc068d6804757d71b93bcf05ddaa583dd9a25f5eabad10c46954c2f000067Approve130579042021-11-29 19:51:002 days 10 hrs ago0x27fdf62fceea4a452aedcc6b89aee7907309badc IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
0xa4d6c2af1ba15cd3784e7443ce5fccdbb3baf5f58c54ba16ad5c377113616934Approve130561002021-11-29 18:14:512 days 12 hrs ago0x3839dce7826a6240006b6300b92a0d18789aa607 IN  FlokiZap: FLOKIZ Token0 BNB0.00012655
0x7368e85308fab52f7c7a4243fe5e8347de06d837173d69fa3ce77a428c9ec9eaApprove130560902021-11-29 18:14:062 days 12 hrs ago0x3839dce7826a6240006b6300b92a0d18789aa607 IN  FlokiZap: FLOKIZ Token0 BNB0.00022255
[ Download CSV Export 

OVERVIEW

FlokiZ is an airdrop platform and protocol where up-and-coming projects are promoted. It focusses on increasing holders as well as filtering out legit and safe projects for its community. Holders of the token will be eligible for Airdrops, NFT's and exclusivity to contribute in new projects.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FlokiZap

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-10-30
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.6;

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

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

/**
* BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

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

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

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

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

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

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

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

}

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

interface InterfaceLP {
    function sync() external;
}
  
interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

contract FlokiZap is Context, IBEP20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    
    IDEXRouter public router;
    address public pair;
    InterfaceLP public pairContract;

    string private _name = 'FlokiZap';
    string private _symbol = 'FLOKIZ';
    uint8 private _decimals = 18;
        
    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 1 * 1e7 * 1e18;
    uint256 private TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

    uint256 private _totalSupply;
    uint256 public _gonsPerFragment;
    
    mapping(address => uint256) public _gonBalances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping(address => bool) public blacklist;
    mapping (address => uint256) public _buyInfo;
    mapping(address => bool) public presaleWallet;

    uint256 public _percentForTxLimit = 1;
    uint256 public _percentForWalletLimit = 2;
    uint256 public _percentForBuyRedistribution = 10;
    
    uint256 public _cooldownTimeLimit = 2 minutes;
    uint256 private _lastBurn;
    
    uint public _torchBurnPercent = 1; 
    uint public _torchburnRewardPercent = 1;

    uint public _burnBlockGap = 1200;
    
    uint256 private pairAmount;
    uint256 private callerAmount;
    uint256 private burnReward;

    event Airdrop(address holder, uint256 amount);
    
    bool public _live = false;
    
    constructor () {
        router = IDEXRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        pairContract = InterfaceLP(pair);

        _lastBurn = block.number;
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[_msgSender()] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external view override returns (uint8) { return _decimals; }
    function symbol() external view override returns (string memory) { return _symbol; }
    function name() external view override returns (string memory) { return _name; }

    function balanceOf(address account) public view override returns (uint256) {
        if(account == pair)
            return pairAmount;
        return _gonBalances[account].div(_gonsPerFragment);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "Transfer amount exceeds allowance"));
        return true;
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function buyPlus(uint256 _amount) private {
        _totalSupply = _totalSupply.add(_amount.mul(_percentForBuyRedistribution).div(100));
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
    }

    function torchBurner() private {
        uint256 burnAmount = pairAmount.mul(_torchBurnPercent).div(100);
        pairAmount = pairAmount.sub(burnAmount);
        _totalSupply = _totalSupply.sub(burnAmount);
        callerAmount = balanceOf(_msgSender());
        burnReward = burnAmount.mul(_torchburnRewardPercent).div(100);
        uint256 gonValue = burnReward.mul(_gonsPerFragment);
        _gonBalances[_msgSender()] = _gonBalances[_msgSender()].add(gonValue);
        emit Transfer(address(0), _msgSender(), burnReward);
        _totalSupply = _totalSupply.add(burnReward);
        TOTAL_GONS = _gonsPerFragment.mul(_totalSupply);
        pairContract.sync();
    }

    function blacklistBurn(uint256 _amount) private {      
        _totalSupply = _totalSupply.sub(_amount);
        TOTAL_GONS = _gonsPerFragment.mul(_totalSupply);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "Transfer from the zero address");
        require(to != address(0), "Transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner() && !presaleWallet[from] && !presaleWallet[to]) {
            // if transfer is not from/to the owner or presale wallet
            uint256 txLimitAmount = _totalSupply.mul(_percentForTxLimit).div(100);
            require(amount <= txLimitAmount, "Amount exceeds the max tx limit.");
            
            if(from != pair) {
                // if the transfer is not from liqudity (sell tx).
                require(!blacklist[from] && !blacklist[to], 'Your wallet has been blacklisted for attempting to snipe before launch');
                require(_buyInfo[from] == 0 || _buyInfo[from].add(_cooldownTimeLimit) < block.timestamp, "Your wallet is on cooldown, try again shortly");
                
                if(to == address(router) || to == pair) {
                    // If the transfer is sell tx sending tokens to liqudity
                    _buyInfo[from] = block.timestamp;                    
                    _tokenTransfer(from, to, amount);
                }
                    
                else // Direct wallet transfers
                     _tokenTransfer(from, to, amount);

            }            
            else {
                // If the transfer is from liqudity (buy tx)
                uint256 walletMax = _totalSupply.mul(_percentForWalletLimit).div(100);
                require(balanceOf(to) <= walletMax, 'Current balance exceeds the maximum');                
                require(_buyInfo[to] == 0 || _buyInfo[to].add(_cooldownTimeLimit) < block.timestamp, "Your wallet is on cooldown, try again shortly");
                                
                if(!_live) {
                    // Launched but not live yet
                    blacklist[to] = true;
                    _buyInfo[to] = 0;
                    _tokenTransfer(from, to, amount);
                    _gonBalances[to] = 0;               
                    blacklistBurn(amount);
                }
                else {
                    // Launched and live
                    _buyInfo[to] = block.timestamp;
                    _tokenTransfer(from, to, amount);
                    buyPlus(amount);
                }
            }
        } else {
            // Safe transfers between owner and dxsale wallets, don't apply special rules
            _tokenTransfer(from, to, amount);
        }
    }

    function _tokenTransfer(address from, address to, uint256 amount) internal {
        if(to == pair)
            pairAmount = pairAmount.add(amount);
        else if(from == pair)
            pairAmount = pairAmount.sub(amount);
    
        uint256 gonTotalValue = amount.mul(_gonsPerFragment);
        uint256 gonValue = amount.mul(_gonsPerFragment);
        
        _gonBalances[from] = _gonBalances[from].sub(gonTotalValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        
        emit Transfer(from, to, amount);
    }
    
    function updateLive() public onlyOwner {
        if(!_live) {
            _live = true;
        }
    }
    
    function removeFromBlacklist(address account) public onlyOwner {
        blacklist[account] = false;
    }
    
    function updatePercentForTxLimit(uint256 percentForTxLimit) public onlyOwner {
        require(percentForTxLimit >= 1, 'Max tx limit should be greater than 1%');
        _percentForTxLimit = percentForTxLimit;
    }

    function updatePercentForWalletLimit(uint256 percentForWalletLimit) public onlyOwner {
        require(percentForWalletLimit >= 1, 'Max wallet limit should be greater than 1%');
        _percentForWalletLimit = percentForWalletLimit;
    }

    function updateBuyRebase(uint256 percentForBuyRebase) public onlyOwner {
        _percentForBuyRedistribution = percentForBuyRebase;
    }

    function updateCooldownTimeLimit(uint256 cooldownTimeLimit) public onlyOwner {
        require(cooldownTimeLimit <= 5 minutes, "Cannot set higher than 5 minutes");
        _cooldownTimeLimit = cooldownTimeLimit;
    }

    function setPresaleWallet(address account, bool enabled) public onlyOwner {
        presaleWallet[account] = enabled;
    }

    function manualSync() external {
        InterfaceLP(pair).sync();
    }

    function TORCH() public {
        require(pair != address(0), "The pair is zero address");
        require(_lastBurn.add(_burnBlockGap) <= block.number, "You can not call this function before until next Burn Block");
        torchBurner();
        _lastBurn = block.number;
    }

    function getLastBurn() public view returns(uint256) {
        return _lastBurn;
    }

    function getNextBurn() public view returns(uint256) {
        if(_lastBurn.add(_burnBlockGap) > block.number) {
            uint256 nextBurn = _lastBurn.add(_burnBlockGap).sub(block.number);
            return nextBurn;
        } else {
            return uint256(0);
        }
    }

    function updateTorchBurnPercent(uint256 torchBurnPercent) public onlyOwner {
        require(torchBurnPercent <= 20 , "Cannot set higher than 20%");
        _torchBurnPercent = torchBurnPercent;
    }

    function updateTorchBurnRewardPercent(uint256 torchburnRewardPercent) public onlyOwner {
        require(torchburnRewardPercent <= 20 , "Cannot set higher than 20%");
        _torchburnRewardPercent = torchburnRewardPercent;
    }

    function updateBurnBlockGap(uint256 burnBlockGap) public onlyOwner {        
        _burnBlockGap = burnBlockGap;
    }

    /*
    @dev sends tokens to multiple addresses, from sender wallet
    @param _contributors address[] array with addresses
    @param _balances uint256[] array with balances
    */
    function multiSend(
        address[] memory _contributors,
        uint256[] memory _balances
    ) public onlyOwner {
        require(
            _contributors.length == _balances.length,
            "Contributors and balances must be same size"
        );
        // Max 200 sends in bulk, uint8 in loop limited to 255
        require(
            _contributors.length <= 200,
            "Contributor list length must be <= 200"
        );
        uint256 sumOfBalances = 0;
        uint256 walletBalance = 0;
        for (uint8 i = 0; i < _balances.length; i++) {
            walletBalance = _balances[i] * 1e18;
            sumOfBalances = sumOfBalances.add(walletBalance);
        }
        require(
            balanceOf(msg.sender) >= sumOfBalances,
            "Account balance must be >= sum of balances. "
        );
        require(
            allowance(msg.sender, address(this)) >= sumOfBalances,
            "Contract allowance must be >= sum of balances. "
        );
        address contributor;
        uint256 origBalance;
        uint256 tranferbalance;
        for (uint8 j; j < _contributors.length; j++) {
            contributor = _contributors[j];
            require(
                contributor != address(0) &&
                    contributor != 0x000000000000000000000000000000000000dEaD,
                "Cannot airdrop to a dead address"
            );
            origBalance = balanceOf(contributor);
            tranferbalance = _balances[j] * 1e18;
            this.transferFrom(msg.sender, contributor, tranferbalance);
            require(
                balanceOf(contributor) == origBalance + tranferbalance,
                "Contributor must recieve full balance of airdrop"
            );
            emit Airdrop(contributor, _balances[j]);
        }
    }

    function Sweep() external onlyOwner {
        uint256 balance = address(this).balance;
        payable(owner()).transfer(balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TORCH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_burnBlockGap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_cooldownTimeLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_gonBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_gonsPerFragment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_live","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForBuyRedistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_torchBurnPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_torchburnRewardPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_contributors","type":"address[]"},{"internalType":"uint256[]","name":"_balances","type":"uint256[]"}],"name":"multiSend","outputs":[],"stateMutability":"nonpayable","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairContract","outputs":[{"internalType":"contract InterfaceLP","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"presaleWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setPresaleWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnBlockGap","type":"uint256"}],"name":"updateBurnBlockGap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentForBuyRebase","type":"uint256"}],"name":"updateBuyRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldownTimeLimit","type":"uint256"}],"name":"updateCooldownTimeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentForTxLimit","type":"uint256"}],"name":"updatePercentForTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentForWalletLimit","type":"uint256"}],"name":"updatePercentForWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"torchBurnPercent","type":"uint256"}],"name":"updateTorchBurnPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"torchburnRewardPercent","type":"uint256"}],"name":"updateTorchBurnRewardPercent","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405260086080819052670466c6f6b695a61760c41b60a09081526200002b91600491906200042f565b5060408051808201909152600680825265232627a5a4ad60d11b60209092019182526200005b916005916200042f565b506006805460ff19166012179055620000826a084595161401484a000000600019620005d2565b62000090906000196200056f565b6007556001600f8190556002601055600a601155607860125560148190556015556104b0601655601a805460ff19169055348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e9081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200017057600080fd5b505afa15801562000185573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ab9190620004d5565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020857600080fd5b505afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002439190620004d5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028b57600080fd5b505af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c69190620004d5565b600280546001600160a01b03929092166001600160a01b0319928316811790915560038054909216179055436013556a084595161401484a000000600855600754600a6000620003133390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550620003556008546007546200039960201b620013321790919060201c565b60095560085460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3620005ff565b6000620003e383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003ea60201b60201c565b9392505050565b60008183620004175760405162461bcd60e51b81526004016200040e919062000500565b60405180910390fd5b50600062000426848662000558565b95945050505050565b8280546200043d9062000595565b90600052602060002090601f016020900481019282620004615760008555620004ac565b82601f106200047c57805160ff1916838001178555620004ac565b82800160010185558215620004ac579182015b82811115620004ac5782518255916020019190600101906200048f565b50620004ba929150620004be565b5090565b5b80821115620004ba5760008155600101620004bf565b600060208284031215620004e857600080fd5b81516001600160a01b0381168114620003e357600080fd5b600060208083528351808285015260005b818110156200052f5785810183015185820160400152820162000511565b8181111562000542576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200056a576200056a620005e9565b500490565b6000828210156200059057634e487b7160e01b600052601160045260246000fd5b500390565b600181811c90821680620005aa57607f821691505b60208210811415620005cc57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620005e457620005e4620005e9565b500690565b634e487b7160e01b600052601260045260246000fd5b612365806200060f6000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063753d02a111610151578063c4996f51116100c3578063dd62ed3e11610087578063dd62ed3e146104f9578063ed82193c14610532578063f2fde38b14610552578063f887ea4014610565578063f9f92be414610578578063fd2dbb0e1461059b57600080fd5b8063c4996f51146104b9578063c81c7fe2146104c2578063c82a8fed146104d5578063cca687b3146104e8578063dcc09b82146104f157600080fd5b8063a61db32311610115578063a61db3231461044b578063a8aa1b311461046e578063a9059cbb14610481578063bb4c9f0b14610494578063bce87b33146104a7578063bfcf2ea8146104b057600080fd5b8063753d02a11461040e57806387fcd8c5146104165780638da5cb5b1461041f5780639171d1bd1461043057806395d89b411461044357600080fd5b80633fc3a3f3116101ea5780636eeef453116101ae5780636eeef453146103bc5780637088fb7f146103c557806370a08231146103cd578063715018a6146103e05780637347fb31146103e857806374a593cb146103fb57600080fd5b80633fc3a3f3146103605780634d709adf14610369578063537df3b61461039457806356e0ec72146103a7578063570726f6146103b457600080fd5b806323b872dd1161023c57806323b872dd146102e95780632dc9a2ed146102fc578063313ce56714610305578063362e8b6c1461031a57806336fed9751461032d57806337fa143f1461034d57600080fd5b806306fdde0314610279578063095ea7b3146102975780631346456d146102ba578063139c54bf146102cf57806318160ddd146102d7575b600080fd5b6102816105a3565b60405161028e91906120c4565b60405180910390f35b6102aa6102a5366004611f9d565b610635565b604051901515815260200161028e565b6102cd6102c83660046120ab565b61064c565b005b6102cd6106e8565b6008545b60405190815260200161028e565b6102aa6102f7366004611f2a565b6107da565b6102db60145481565b60065460405160ff909116815260200161028e565b6102cd6103283660046120ab565b610843565b6102db61033b366004611edc565b600a6020526000908152604090205481565b6102cd61035b3660046120ab565b6108c3565b6102db60155481565b60035461037c906001600160a01b031681565b6040516001600160a01b03909116815260200161028e565b6102cd6103a2366004611edc565b6108f2565b601a546102aa9060ff1681565b6013546102db565b6102db60115481565b6102cd61093d565b6102db6103db366004611edc565b6109b6565b6102cd6109fc565b6102cd6103f6366004611f66565b610a70565b6102cd6104093660046120ab565b610ac5565b6102cd610b46565b6102db60125481565b6000546001600160a01b031661037c565b6102cd61043e3660046120ab565b610bb0565b610281610bdf565b6102aa610459366004611edc565b600e6020526000908152604090205460ff1681565b60025461037c906001600160a01b031681565b6102aa61048f366004611f9d565b610bee565b6102cd6104a2366004611fc7565b610bfb565b6102db600f5481565b6102db60105481565b6102db60095481565b6102cd6104d03660046120ab565b6110ac565b6102cd6104e33660046120ab565b61112c565b6102db60165481565b6102db6111bb565b6102db610507366004611ef7565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b6102db610540366004611edc565b600d6020526000908152604090205481565b6102cd610560366004611edc565b611204565b60015461037c906001600160a01b031681565b6102aa610586366004611edc565b600c6020526000908152604090205460ff1681565b6102cd6112ee565b6060600480546105b290612260565b80601f01602080910402602001604051908101604052809291908181526020018280546105de90612260565b801561062b5780601f106106005761010080835404028352916020019161062b565b820191906000526020600020905b81548152906001019060200180831161060e57829003601f168201915b5050505050905090565b600061064233848461137b565b5060015b92915050565b6000546001600160a01b0316331461067f5760405162461bcd60e51b815260040161067690612119565b60405180910390fd5b60018110156106e35760405162461bcd60e51b815260206004820152602a60248201527f4d61782077616c6c6574206c696d69742073686f756c642062652067726561746044820152696572207468616e20312560b01b6064820152608401610676565b601055565b6002546001600160a01b03166107405760405162461bcd60e51b815260206004820152601860248201527f5468652070616972206973207a65726f206164647265737300000000000000006044820152606401610676565b4361075860165460135461148890919063ffffffff16565b11156107cc5760405162461bcd60e51b815260206004820152603b60248201527f596f752063616e206e6f742063616c6c20746869732066756e6374696f6e206260448201527f65666f726520756e74696c206e657874204275726e20426c6f636b00000000006064820152608401610676565b6107d46114e7565b43601355565b60006107e7848484611655565b61083984336108348560405180606001604052806021815260200161230f602191396001600160a01b038a166000908152600b602090815260408083203384529091529020549190611b8a565b61137b565b5060019392505050565b6000546001600160a01b0316331461086d5760405162461bcd60e51b815260040161067690612119565b60148111156108be5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073657420686967686572207468616e203230250000000000006044820152606401610676565b601555565b6000546001600160a01b031633146108ed5760405162461bcd60e51b815260040161067690612119565b601155565b6000546001600160a01b0316331461091c5760405162461bcd60e51b815260040161067690612119565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b031633146109675760405162461bcd60e51b815260040161067690612119565b4761097a6000546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156109b2573d6000803e3d6000fd5b5050565b6002546000906001600160a01b03838116911614156109d757505060175490565b6009546001600160a01b0383166000908152600a602052604090205461064691611332565b6000546001600160a01b03163314610a265760405162461bcd60e51b815260040161067690612119565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a9a5760405162461bcd60e51b815260040161067690612119565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aef5760405162461bcd60e51b815260040161067690612119565b61012c811115610b415760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f742073657420686967686572207468616e2035206d696e757465736044820152606401610676565b601255565b600260009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b9657600080fd5b505af1158015610baa573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610bda5760405162461bcd60e51b815260040161067690612119565b601655565b6060600580546105b290612260565b6000610642338484611655565b6000546001600160a01b03163314610c255760405162461bcd60e51b815260040161067690612119565b8051825114610c8a5760405162461bcd60e51b815260206004820152602b60248201527f436f6e7472696275746f727320616e642062616c616e636573206d757374206260448201526a652073616d652073697a6560a81b6064820152608401610676565b60c882511115610ceb5760405162461bcd60e51b815260206004820152602660248201527f436f6e7472696275746f72206c697374206c656e677468206d7573742062652060448201526503c3d203230360d41b6064820152608401610676565b60008060005b83518160ff161015610d4d57838160ff1681518110610d1257610d126122d1565b6020026020010151670de0b6b3a7640000610d2d919061222a565b9150610d398383611488565b925080610d458161229b565b915050610cf1565b5081610d58336109b6565b1015610dbb5760405162461bcd60e51b815260206004820152602c60248201527f4163636f756e742062616c616e6365206d757374206265203e3d2073756d206f60448201526b033103130b630b731b2b997160a51b6064820152608401610676565b336000908152600b60209081526040808320308452909152902054821115610e3d5760405162461bcd60e51b815260206004820152602f60248201527f436f6e747261637420616c6c6f77616e6365206d757374206265203e3d20737560448201526e0369037b3103130b630b731b2b9971608d1b6064820152608401610676565b6000806000805b87518160ff1610156110a257878160ff1681518110610e6557610e656122d1565b6020026020010151935060006001600160a01b0316846001600160a01b031614158015610e9d575061dead6001600160a01b03851614155b610ee95760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f742061697264726f7020746f2061206465616420616464726573736044820152606401610676565b610ef2846109b6565b9250868160ff1681518110610f0957610f096122d1565b6020026020010151670de0b6b3a7640000610f24919061222a565b6040516323b872dd60e01b81523360048201526001600160a01b03861660248201526044810182905290925030906323b872dd90606401602060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fad919061208e565b50610fb882846121f0565b610fc1856109b6565b146110275760405162461bcd60e51b815260206004820152603060248201527f436f6e7472696275746f72206d75737420726563696576652066756c6c20626160448201526f06c616e6365206f662061697264726f760841b6064820152608401610676565b7f8c32c568416fcf97be35ce5b27844cfddcd63a67a1a602c3595ba5dac38f303a84888360ff168151811061105e5761105e6122d1565b60200260200101516040516110889291906001600160a01b03929092168252602082015260400190565b60405180910390a18061109a8161229b565b915050610e44565b5050505050505050565b6000546001600160a01b031633146110d65760405162461bcd60e51b815260040161067690612119565b60148111156111275760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073657420686967686572207468616e203230250000000000006044820152606401610676565b601455565b6000546001600160a01b031633146111565760405162461bcd60e51b815260040161067690612119565b60018110156111b65760405162461bcd60e51b815260206004820152602660248201527f4d6178207478206c696d69742073686f756c642062652067726561746572207460448201526568616e20312560d01b6064820152608401610676565b600f55565b6000436111d560165460135461148890919063ffffffff16565b11156111fe576000610646436111f860165460135461148890919063ffffffff16565b90611bc4565b50600090565b6000546001600160a01b0316331461122e5760405162461bcd60e51b815260040161067690612119565b6001600160a01b0381166112935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610676565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146113185760405162461bcd60e51b815260040161067690612119565b601a5460ff1661133057601a805460ff191660011790555b565b600061137483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c06565b9392505050565b6001600160a01b0383166113d15760405162461bcd60e51b815260206004820152601d60248201527f417070726f76652066726f6d20746865207a65726f20616464726573730000006044820152606401610676565b6001600160a01b0382166114275760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610676565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008061149583856121f0565b9050838110156113745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610676565b600061150b6064611505601454601754611c3490919063ffffffff16565b90611332565b60175490915061151b9082611bc4565b60175560085461152b9082611bc4565b600855611537336109b6565b60185560155461154f90606490611505908490611c34565b601981905560095460009161156391611c34565b336000908152600a60205260409020549091506115809082611488565b336000818152600a60209081526040808320949094556019549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36019546008546115dc91611488565b60088190556009546115ed91611c34565b6007556003546040805160016209351760e01b0319815290516001600160a01b039092169163fff6cae99160048082019260009290919082900301818387803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166116ab5760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610676565b6001600160a01b0382166117015760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610676565b600081116117635760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610676565b6000546001600160a01b0384811691161480159061178f57506000546001600160a01b03838116911614155b80156117b457506001600160a01b0383166000908152600e602052604090205460ff16155b80156117d957506001600160a01b0382166000908152600e602052604090205460ff16155b15611b7a5760006117fc6064611505600f54600854611c3490919063ffffffff16565b90508082111561184e5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206578636565647320746865206d6178207478206c696d69742e6044820152606401610676565b6002546001600160a01b038581169116146119f0576001600160a01b0384166000908152600c602052604090205460ff161580156118a557506001600160a01b0383166000908152600c602052604090205460ff16155b6119265760405162461bcd60e51b815260206004820152604660248201527f596f75722077616c6c657420686173206265656e20626c61636b6c697374656460448201527f20666f7220617474656d7074696e6720746f20736e697065206265666f7265206064820152650d8c2eadcc6d60d31b608482015260a401610676565b6001600160a01b0384166000908152600d6020526040902054158061197057506012546001600160a01b0385166000908152600d6020526040902054429161196e9190611488565b105b61198c5760405162461bcd60e51b81526004016106769061214e565b6001546001600160a01b03848116911614806119b557506002546001600160a01b038481169116145b156119e5576001600160a01b0384166000908152600d602052604090204290556119e0848484611cb3565b610baa565b6119e0848484611cb3565b6000611a0e6064611505601054600854611c3490919063ffffffff16565b905080611a1a856109b6565b1115611a745760405162461bcd60e51b815260206004820152602360248201527f43757272656e742062616c616e6365206578636565647320746865206d6178696044820152626d756d60e81b6064820152608401610676565b6001600160a01b0384166000908152600d60205260409020541580611abe57506012546001600160a01b0385166000908152600d60205260409020544291611abc9190611488565b105b611ada5760405162461bcd60e51b81526004016106769061214e565b601a5460ff16611b44576001600160a01b0384166000908152600c60209081526040808320805460ff19166001179055600d909152812055611b1d858585611cb3565b6001600160a01b0384166000908152600a6020526040812055611b3f83611ded565b611b73565b6001600160a01b0384166000908152600d60205260409020429055611b6a858585611cb3565b611b7383611e11565b5050505050565b611b85838383611cb3565b505050565b60008184841115611bae5760405162461bcd60e51b815260040161067691906120c4565b506000611bbb8486612249565b95945050505050565b600061137483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b8a565b60008183611c275760405162461bcd60e51b815260040161067691906120c4565b506000611bbb8486612208565b600082611c4357506000610646565b6000611c4f838561222a565b905082611c5c8583612208565b146113745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610676565b6002546001600160a01b0383811691161415611cde57601754611cd69082611488565b601755611d05565b6002546001600160a01b0384811691161415611d0557601754611d019082611bc4565b6017555b6000611d1c60095483611c3490919063ffffffff16565b90506000611d3560095484611c3490919063ffffffff16565b6001600160a01b0386166000908152600a6020526040902054909150611d5b9083611bc4565b6001600160a01b038087166000908152600a60205260408082209390935590861681522054611d8a9082611488565b6001600160a01b038086166000818152600a602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611dde9087815260200190565b60405180910390a35050505050565b600854611dfa9082611bc4565b6008819055600954611e0b91611c34565b60075550565b611e37611e2e606461150560115485611c3490919063ffffffff16565b60085490611488565b6008819055600754611e4891611332565b60095550565b80356001600160a01b0381168114611e6557600080fd5b919050565b600082601f830112611e7b57600080fd5b81356020611e90611e8b836121cc565b61219b565b80838252828201915082860187848660051b8901011115611eb057600080fd5b60005b85811015611ecf57813584529284019290840190600101611eb3565b5090979650505050505050565b600060208284031215611eee57600080fd5b61137482611e4e565b60008060408385031215611f0a57600080fd5b611f1383611e4e565b9150611f2160208401611e4e565b90509250929050565b600080600060608486031215611f3f57600080fd5b611f4884611e4e565b9250611f5660208501611e4e565b9150604084013590509250925092565b60008060408385031215611f7957600080fd5b611f8283611e4e565b91506020830135611f92816122fd565b809150509250929050565b60008060408385031215611fb057600080fd5b611fb983611e4e565b946020939093013593505050565b60008060408385031215611fda57600080fd5b823567ffffffffffffffff80821115611ff257600080fd5b818501915085601f83011261200657600080fd5b81356020612016611e8b836121cc565b8083825282820191508286018a848660051b890101111561203657600080fd5b600096505b848710156120605761204c81611e4e565b83526001969096019591830191830161203b565b509650508601359250508082111561207757600080fd5b5061208485828601611e6a565b9150509250929050565b6000602082840312156120a057600080fd5b8151611374816122fd565b6000602082840312156120bd57600080fd5b5035919050565b600060208083528351808285015260005b818110156120f1578581018301518582016040015282016120d5565b81811115612103576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602d908201527f596f75722077616c6c6574206973206f6e20636f6f6c646f776e2c207472792060408201526c616761696e2073686f72746c7960981b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156121c4576121c46122e7565b604052919050565b600067ffffffffffffffff8211156121e6576121e66122e7565b5060051b60200190565b60008219821115612203576122036122bb565b500190565b60008261222557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612244576122446122bb565b500290565b60008282101561225b5761225b6122bb565b500390565b600181811c9082168061227457607f821691505b6020821081141561229557634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff8114156122b2576122b26122bb565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b801515811461230b57600080fd5b5056fe5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e818c12700840538b7cca35e386b62ca09478d3d3b9c7920671ed3183db22b3e64736f6c63430008070033

Deployed ByteCode Sourcemap

7446:12863:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9727:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10354:161;;;;;;:::i;:::-;;:::i;:::-;;;4867:14:1;;4860:22;4842:41;;4830:2;4815:18;10354:161:0;4702:187:1;16013:242:0;;;;;;:::i;:::-;;:::i;:::-;;16854:284;;;:::i;9457:88::-;9530:12;;9457:88;;;15860:25:1;;;15848:2;15833:18;9457:88:0;15714:177:1;10523:306:0;;;;;;:::i;:::-;;:::i;8619:33::-;;;;;;9551:80;9619:9;;9551:80;;9619:9;;;;16038:36:1;;16026:2;16011:18;9551:80:0;15896:184:1;17750:233:0;;;;;;:::i;:::-;;:::i;8093:47::-;;;;;;:::i;:::-;;;;;;;;;;;;;;16263:140;;;;;;:::i;:::-;;:::i;8660:39::-;;;;;;7627:31;;;;;-1:-1:-1;;;;;7627:31:0;;;;;;-1:-1:-1;;;;;3999:32:1;;;3981:51;;3969:2;3954:18;7627:31:0;3835:203:1;15667:108:0;;;;;;:::i;:::-;;:::i;8914:25::-;;;;;;;;;17146:87;17216:9;;17146:87;;8468:48;;;;;;20167:139;;;:::i;9815:205::-;;;;;;:::i;:::-;;:::i;5499:148::-;;;:::i;16639:125::-;;;;;;:::i;:::-;;:::i;16411:220::-;;;;;;:::i;:::-;;:::i;16772:74::-;;;:::i;8529:45::-;;;;;;5285:79;5323:7;5350:6;-1:-1:-1;;;;;5350:6:0;5285:79;;17991:122;;;;;;:::i;:::-;;:::i;9637:84::-;;;:::i;8322:45::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7601:19;;;;;-1:-1:-1;;;;;7601:19:0;;;10028:167;;;;;;:::i;:::-;;:::i;18311:1848::-;;;;;;:::i;:::-;;:::i;8376:37::-;;;;;;8420:41;;;;;;8049:31;;;;;;17539:203;;;;;;:::i;:::-;;:::i;15787:218::-;;;;;;:::i;:::-;;:::i;8708:32::-;;;;;;17241:290;;;:::i;10203:143::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10311:18:0;;;10284:7;10311:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10203:143;8271:44;;;;;;:::i;:::-;;;;;;;;;;;;;;5655:244;;;;;;:::i;:::-;;:::i;7570:24::-;;;;;-1:-1:-1;;;;;7570:24:0;;;8223:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;15548:107;;;:::i;9727:80::-;9775:13;9799:5;9792:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9727:80;:::o;10354:161::-;10429:4;10446:39;180:10;10469:7;10478:6;10446:8;:39::i;:::-;-1:-1:-1;10503:4:0;10354:161;;;;;:::o;16013:242::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;;;;;;;;;16142:1:::1;16117:21;:26;;16109:81;;;::::0;-1:-1:-1;;;16109:81:0;;9281:2:1;16109:81:0::1;::::0;::::1;9263:21:1::0;9320:2;9300:18;;;9293:30;9359:34;9339:18;;;9332:62;-1:-1:-1;;;9410:18:1;;;9403:40;9460:19;;16109:81:0::1;9079:406:1::0;16109:81:0::1;16201:22;:46:::0;16013:242::o;16854:284::-;16897:4;;-1:-1:-1;;;;;16897:4:0;16889:55;;;;-1:-1:-1;;;16889:55:0;;14847:2:1;16889:55:0;;;14829:21:1;14886:2;14866:18;;;14859:30;14925:26;14905:18;;;14898:54;14969:18;;16889:55:0;14645:348:1;16889:55:0;16995:12;16963:28;16977:13;;16963:9;;:13;;:28;;;;:::i;:::-;:44;;16955:116;;;;-1:-1:-1;;;16955:116:0;;13185:2:1;16955:116:0;;;13167:21:1;13224:2;13204:18;;;13197:30;13263:34;13243:18;;;13236:62;13334:29;13314:18;;;13307:57;13381:19;;16955:116:0;12983:423:1;16955:116:0;17082:13;:11;:13::i;:::-;17118:12;17106:9;:24;16854:284::o;10523:306::-;10621:4;10638:36;10648:6;10656:9;10667:6;10638:9;:36::i;:::-;10685:114;10694:6;180:10;10716:82;10754:6;10716:82;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10716:19:0;;;;;;:11;:19;;;;;;;;180:10;10716:33;;;;;;;;;;:37;:82::i;:::-;10685:8;:114::i;:::-;-1:-1:-1;10817:4:0;10523:306;;;;;:::o;17750:233::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;17882:2:::1;17856:22;:28;;17848:68;;;::::0;-1:-1:-1;;;17848:68:0;;6986:2:1;17848:68:0::1;::::0;::::1;6968:21:1::0;7025:2;7005:18;;;6998:30;7064:28;7044:18;;;7037:56;7110:18;;17848:68:0::1;6784:350:1::0;17848:68:0::1;17927:23;:48:::0;17750:233::o;16263:140::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;16345:28:::1;:50:::0;16263:140::o;15667:108::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15741:18:0::1;15762:5;15741:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;15741:26:0::1;::::0;;15667:108::o;20167:139::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;20232:21:::1;20272:7;5323::::0;5350:6;-1:-1:-1;;;;;5350:6:0;;5285:79;20272:7:::1;-1:-1:-1::0;;;;;20264:25:0::1;:34;20290:7;20264:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;20203:103;20167:139::o:0;9815:205::-;9915:4;;9881:7;;-1:-1:-1;;;;;9904:15:0;;;9915:4;;9904:15;9901:50;;;-1:-1:-1;;9941:10:0;;;9815:205::o;9901:50::-;9995:16;;-1:-1:-1;;;;;9969:21:0;;;;;;:12;:21;;;;;;:43;;:25;:43::i;5499:148::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;5606:1:::1;5590:6:::0;;5569:40:::1;::::0;-1:-1:-1;;;;;5590:6:0;;::::1;::::0;5569:40:::1;::::0;5606:1;;5569:40:::1;5637:1;5620:19:::0;;-1:-1:-1;;;;;;5620:19:0::1;::::0;;5499:148::o;16639:125::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16724:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:32;;-1:-1:-1;;16724:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16639:125::o;16411:220::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;16528:9:::1;16507:17;:30;;16499:75;;;::::0;-1:-1:-1;;;16499:75:0;;10876:2:1;16499:75:0::1;::::0;::::1;10858:21:1::0;;;10895:18;;;10888:30;10954:34;10934:18;;;10927:62;11006:18;;16499:75:0::1;10674:356:1::0;16499:75:0::1;16585:18;:38:::0;16411:220::o;16772:74::-;16826:4;;;;;;;;;-1:-1:-1;;;;;16826:4:0;-1:-1:-1;;;;;16814:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16772:74::o;17991:122::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;18077:13:::1;:28:::0;17991:122::o;9637:84::-;9687:13;9711:7;9704:14;;;;;:::i;10028:167::-;10106:4;10123:42;180:10;10147:9;10158:6;10123:9;:42::i;18311:1848::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;18489:9:::1;:16;18465:13;:20;:40;18443:133;;;::::0;-1:-1:-1;;;18443:133:0;;7748:2:1;18443:133:0::1;::::0;::::1;7730:21:1::0;7787:2;7767:18;;;7760:30;7826:34;7806:18;;;7799:62;-1:-1:-1;;;7877:18:1;;;7870:41;7928:19;;18443:133:0::1;7546:407:1::0;18443:133:0::1;18697:3;18673:13;:20;:27;;18651:115;;;::::0;-1:-1:-1;;;18651:115:0;;14026:2:1;18651:115:0::1;::::0;::::1;14008:21:1::0;14065:2;14045:18;;;14038:30;14104:34;14084:18;;;14077:62;-1:-1:-1;;;14155:18:1;;;14148:36;14201:19;;18651:115:0::1;13824:402:1::0;18651:115:0::1;18777:21;18813::::0;18854:7:::1;18849:170;18871:9;:16;18867:1;:20;;;18849:170;;;18925:9;18935:1;18925:12;;;;;;;;;;:::i;:::-;;;;;;;18940:4;18925:19;;;;:::i;:::-;18909:35:::0;-1:-1:-1;18975:32:0::1;:13:::0;18909:35;18975:17:::1;:32::i;:::-;18959:48:::0;-1:-1:-1;18889:3:0;::::1;::::0;::::1;:::i;:::-;;;;18849:170;;;;19076:13;19051:21;19061:10;19051:9;:21::i;:::-;:38;;19029:132;;;::::0;-1:-1:-1;;;19029:132:0;;13613:2:1;19029:132:0::1;::::0;::::1;13595:21:1::0;13652:2;13632:18;;;13625:30;13691:34;13671:18;;;13664:62;-1:-1:-1;;;13742:18:1;;;13735:42;13794:19;;19029:132:0::1;13411:408:1::0;19029:132:0::1;19204:10;10284:7:::0;10311:18;;;:11;:18;;;;;;;;19224:4:::1;10311:27:::0;;;;;;;;19234:13;-1:-1:-1;19194:53:0::1;19172:150;;;::::0;-1:-1:-1;;;19172:150:0;;10460:2:1;19172:150:0::1;::::0;::::1;10442:21:1::0;10499:2;10479:18;;;10472:30;10538:34;10518:18;;;10511:62;-1:-1:-1;;;10589:18:1;;;10582:45;10644:19;;19172:150:0::1;10258:411:1::0;19172:150:0::1;19333:19;19363::::0;19393:22:::1;19431:7:::0;19426:726:::1;19444:13;:20;19440:1;:24;;;19426:726;;;19500:13;19514:1;19500:16;;;;;;;;;;:::i;:::-;;;;;;;19486:30;;19580:1;-1:-1:-1::0;;;;;19557:25:0::1;:11;-1:-1:-1::0;;;;;19557:25:0::1;;;:107;;;;-1:-1:-1::0;19622:42:0::1;-1:-1:-1::0;;;;;19607:57:0;::::1;;;19557:107;19531:201;;;::::0;-1:-1:-1;;;19531:201:0;;8516:2:1;19531:201:0::1;::::0;::::1;8498:21:1::0;;;8535:18;;;8528:30;8594:34;8574:18;;;8567:62;8646:18;;19531:201:0::1;8314:356:1::0;19531:201:0::1;19761:22;19771:11;19761:9;:22::i;:::-;19747:36;;19815:9;19825:1;19815:12;;;;;;;;;;:::i;:::-;;;;;;;19830:4;19815:19;;;;:::i;:::-;19849:58;::::0;-1:-1:-1;;;19849:58:0;;19867:10:::1;19849:58;::::0;::::1;4283:34:1::0;-1:-1:-1;;;;;4353:15:1;;4333:18;;;4326:43;4385:18;;;4378:34;;;19798:36:0;;-1:-1:-1;19849:4:0::1;::::0;:17:::1;::::0;4218:18:1;;19849:58:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;19974:28:0::1;19988:14:::0;19974:11;:28:::1;:::i;:::-;19948:22;19958:11;19948:9;:22::i;:::-;:54;19922:164;;;::::0;-1:-1:-1;;;19922:164:0;;12358:2:1;19922:164:0::1;::::0;::::1;12340:21:1::0;12397:2;12377:18;;;12370:30;12436:34;12416:18;;;12409:62;-1:-1:-1;;;12487:18:1;;;12480:46;12543:19;;19922:164:0::1;12156:412:1::0;19922:164:0::1;20106:34;20114:11;20127:9;20137:1;20127:12;;;;;;;;;;:::i;:::-;;;;;;;20106:34;;;;;;-1:-1:-1::0;;;;;4615:32:1;;;;4597:51;;4679:2;4664:18;;4657:34;4585:2;4570:18;;4423:274;20106:34:0::1;;;;;;;;19466:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19426:726;;;;18432:1727;;;;;18311:1848:::0;;:::o;17539:203::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;17653:2:::1;17633:16;:22;;17625:62;;;::::0;-1:-1:-1;;;17625:62:0;;6986:2:1;17625:62:0::1;::::0;::::1;6968:21:1::0;7025:2;7005:18;;;6998:30;7064:28;7044:18;;;7037:56;7110:18;;17625:62:0::1;6784:350:1::0;17625:62:0::1;17698:17;:36:::0;17539:203::o;15787:218::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;15904:1:::1;15883:17;:22;;15875:73;;;::::0;-1:-1:-1;;;15875:73:0;;9692:2:1;15875:73:0::1;::::0;::::1;9674:21:1::0;9731:2;9711:18;;;9704:30;9770:34;9750:18;;;9743:62;-1:-1:-1;;;9821:18:1;;;9814:36;9867:19;;15875:73:0::1;9490:402:1::0;15875:73:0::1;15959:18;:38:::0;15787:218::o;17241:290::-;17284:7;17338:12;17307:28;17321:13;;17307:9;;:13;;:28;;;;:::i;:::-;:43;17304:220;;;17367:16;17386:46;17419:12;17386:28;17400:13;;17386:9;;:13;;:28;;;;:::i;:::-;:32;;:46::i;17304:220::-;-1:-1:-1;17510:1:0;;17241:290::o;5655:244::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5744:22:0;::::1;5736:73;;;::::0;-1:-1:-1;;;5736:73:0;;7341:2:1;5736:73:0::1;::::0;::::1;7323:21:1::0;7380:2;7360:18;;;7353:30;7419:34;7399:18;;;7392:62;-1:-1:-1;;;7470:18:1;;;7463:36;7516:19;;5736:73:0::1;7139:402:1::0;5736:73:0::1;5846:6;::::0;;5825:38:::1;::::0;-1:-1:-1;;;;;5825:38:0;;::::1;::::0;5846:6;::::1;::::0;5825:38:::1;::::0;::::1;5874:6;:17:::0;;-1:-1:-1;;;;;;5874:17:0::1;-1:-1:-1::0;;;;;5874:17:0;;;::::1;::::0;;;::::1;::::0;;5655:244::o;15548:107::-;5412:6;;-1:-1:-1;;;;;5412:6:0;180:10;5412:22;5404:67;;;;-1:-1:-1;;;5404:67:0;;;;;;;:::i;:::-;15602:5:::1;::::0;::::1;;15598:50;;15624:5;:12:::0;;-1:-1:-1;;15624:12:0::1;15632:4;15624:12;::::0;;15598:50:::1;15548:107::o:0;2000:132::-;2058:7;2085:39;2089:1;2092;2085:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2078:46;2000:132;-1:-1:-1;;;2000:132:0:o;10841:321::-;-1:-1:-1;;;;;10934:19:0;;10926:61;;;;-1:-1:-1;;;10926:61:0;;11237:2:1;10926:61:0;;;11219:21:1;11276:2;11256:18;;;11249:30;11315:31;11295:18;;;11288:59;11364:18;;10926:61:0;11035:353:1;10926:61:0;-1:-1:-1;;;;;11006:21:0;;10998:61;;;;-1:-1:-1;;;10998:61:0;;6630:2:1;10998:61:0;;;6612:21:1;6669:2;6649:18;;;6642:30;6708:29;6688:18;;;6681:57;6755:18;;10998:61:0;6428:351:1;10998:61:0;-1:-1:-1;;;;;11070:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11122:32;;15860:25:1;;;11122:32:0;;15833:18:1;11122:32:0;;;;;;;10841:321;;;:::o;1217:179::-;1275:7;;1307:5;1311:1;1307;:5;:::i;:::-;1295:17;;1336:1;1331;:6;;1323:46;;;;-1:-1:-1;;;1323:46:0;;8160:2:1;1323:46:0;;;8142:21:1;8199:2;8179:18;;;8172:30;8238:29;8218:18;;;8211:57;8285:18;;1323:46:0;7958:351:1;11384:684:0;11426:18;11447:42;11485:3;11447:33;11462:17;;11447:10;;:14;;:33;;;;:::i;:::-;:37;;:42::i;:::-;11513:10;;11426:63;;-1:-1:-1;11513:26:0;;11426:63;11513:14;:26::i;:::-;11500:10;:39;11565:12;;:28;;11582:10;11565:16;:28::i;:::-;11550:12;:43;11619:23;180:10;9815:205;:::i;11619:23::-;11604:12;:38;11681:23;;11666:48;;11710:3;;11666:39;;:10;;:14;:39::i;:48::-;11653:10;:61;;;11759:16;;11725;;11744:32;;:14;:32::i;:::-;180:10;11816:26;;;;:12;:26;;;;;;11725:51;;-1:-1:-1;11816:40:0;;11725:51;11816:30;:40::i;:::-;180:10;11787:26;;;;:12;:26;;;;;;;;:69;;;;11907:10;;11872:46;;15860:25:1;;;180:10:0;;11787:26;;11872:46;;15833:18:1;11872:46:0;;;;;;;11961:10;;11944:12;;:28;;:16;:28::i;:::-;11929:12;:43;;;11996:16;;:34;;:20;:34::i;:::-;11983:10;:47;12041:12;;:19;;;-1:-1:-1;;;;;;12041:19:0;;;;-1:-1:-1;;;;;12041:12:0;;;;:17;;:19;;;;;:12;;:19;;;;;;;;:12;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11415:653;;11384:684::o;12255:2717::-;-1:-1:-1;;;;;12343:18:0;;12335:61;;;;-1:-1:-1;;;12335:61:0;;15557:2:1;12335:61:0;;;15539:21:1;15596:2;15576:18;;;15569:30;15635:32;15615:18;;;15608:60;15685:18;;12335:61:0;15355:354:1;12335:61:0;-1:-1:-1;;;;;12415:16:0;;12407:57;;;;-1:-1:-1;;;12407:57:0;;15200:2:1;12407:57:0;;;15182:21:1;15239:2;15219:18;;;15212:30;15278;15258:18;;;15251:58;15326:18;;12407:57:0;14998:352:1;12407:57:0;12492:1;12483:6;:10;12475:64;;;;-1:-1:-1;;;12475:64:0;;12775:2:1;12475:64:0;;;12757:21:1;12814:2;12794:18;;;12787:30;12853:34;12833:18;;;12826:62;-1:-1:-1;;;12904:18:1;;;12897:39;12953:19;;12475:64:0;12573:405:1;12475:64:0;5323:7;5350:6;-1:-1:-1;;;;;12564:15:0;;;5350:6;;12564:15;;;;:32;;-1:-1:-1;5323:7:0;5350:6;-1:-1:-1;;;;;12583:13:0;;;5350:6;;12583:13;;12564:32;:56;;;;-1:-1:-1;;;;;;12601:19:0;;;;;;:13;:19;;;;;;;;12600:20;12564:56;:78;;;;-1:-1:-1;;;;;;12625:17:0;;;;;;:13;:17;;;;;;;;12624:18;12564:78;12560:2405;;;12730:21;12754:45;12795:3;12754:36;12771:18;;12754:12;;:16;;:36;;;;:::i;:45::-;12730:69;;12832:13;12822:6;:23;;12814:68;;;;-1:-1:-1;;;12814:68:0;;10099:2:1;12814:68:0;;;10081:21:1;;;10118:18;;;10111:30;10177:34;10157:18;;;10150:62;10229:18;;12814:68:0;9897:356:1;12814:68:0;12922:4;;-1:-1:-1;;;;;12914:12:0;;;12922:4;;12914:12;12911:1887;;-1:-1:-1;;;;;13024:15:0;;;;;;:9;:15;;;;;;;;13023:16;:34;;;;-1:-1:-1;;;;;;13044:13:0;;;;;;:9;:13;;;;;;;;13043:14;13023:34;13015:117;;;;-1:-1:-1;;;13015:117:0;;6151:2:1;13015:117:0;;;6133:21:1;6190:2;6170:18;;;6163:30;6229:34;6209:18;;;6202:62;6300:34;6280:18;;;6273:62;-1:-1:-1;;;6351:19:1;;;6344:37;6398:19;;13015:117:0;5949:474:1;13015:117:0;-1:-1:-1;;;;;13159:14:0;;;;;;:8;:14;;;;;;:19;;:79;;-1:-1:-1;13201:18:0;;-1:-1:-1;;;;;13182:14:0;;;;;;:8;:14;;;;;;13223:15;;13182:38;;:14;:18;:38::i;:::-;:56;13159:79;13151:137;;;;-1:-1:-1;;;13151:137:0;;;;;;;:::i;:::-;13342:6;;-1:-1:-1;;;;;13328:21:0;;;13342:6;;13328:21;;:35;;-1:-1:-1;13359:4:0;;-1:-1:-1;;;;;13353:10:0;;;13359:4;;13353:10;13328:35;13325:394;;;-1:-1:-1;;;;;13466:14:0;;;;;;:8;:14;;;;;13483:15;13466:32;;13541;13475:4;13562:2;13566:6;13541:14;:32::i;:::-;12911:1887;;13325:394;13687:32;13702:4;13708:2;13712:6;13687:14;:32::i;12911:1887::-;13849:17;13869:49;13914:3;13869:40;13886:22;;13869:12;;:16;;:40;;;;:::i;:49::-;13849:69;;13962:9;13945:13;13955:2;13945:9;:13::i;:::-;:26;;13937:74;;;;-1:-1:-1;;;13937:74:0;;8877:2:1;13937:74:0;;;8859:21:1;8916:2;8896:18;;;8889:30;8955:34;8935:18;;;8928:62;-1:-1:-1;;;9006:18:1;;;8999:33;9049:19;;13937:74:0;8675:399:1;13937:74:0;-1:-1:-1;;;;;14054:12:0;;;;;;:8;:12;;;;;;:17;;:75;;-1:-1:-1;14092:18:0;;-1:-1:-1;;;;;14075:12:0;;;;;;:8;:12;;;;;;14114:15;;14075:36;;:12;:16;:36::i;:::-;:54;14054:75;14046:133;;;;-1:-1:-1;;;14046:133:0;;;;;;;:::i;:::-;14236:5;;;;14232:551;;-1:-1:-1;;;;;14316:13:0;;;;;;:9;:13;;;;;;;;:20;;-1:-1:-1;;14316:20:0;14332:4;14316:20;;;14359:8;:12;;;;;:16;14398:32;14413:4;14326:2;14423:6;14398:14;:32::i;:::-;-1:-1:-1;;;;;14453:16:0;;14472:1;14453:16;;;:12;:16;;;;;:20;14511:21;14525:6;14511:13;:21::i;:::-;14232:551;;;-1:-1:-1;;;;;14640:12:0;;;;;;:8;:12;;;;;14655:15;14640:30;;14693:32;14708:4;14649:2;14718:6;14693:14;:32::i;:::-;14748:15;14756:6;14748:7;:15::i;:::-;13768:1030;12644:2165;12255:2717;;;:::o;12560:2405::-;14921:32;14936:4;14942:2;14946:6;14921:14;:32::i;:::-;12255:2717;;;:::o;1548:190::-;1634:7;1670:12;1662:6;;;;1654:29;;;;-1:-1:-1;;;1654:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1694:9:0;1706:5;1710:1;1706;:5;:::i;:::-;1694:17;1548:190;-1:-1:-1;;;;;1548:190:0:o;1404:136::-;1462:7;1489:43;1493:1;1496;1489:43;;;;;;;;;;;;;;;;;:3;:43::i;2140:189::-;2226:7;2261:12;2254:5;2246:28;;;;-1:-1:-1;;;2246:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2285:9:0;2297:5;2301:1;2297;:5;:::i;1746:246::-;1804:7;1828:6;1824:47;;-1:-1:-1;1858:1:0;1851:8;;1824:47;1881:9;1893:5;1897:1;1893;:5;:::i;:::-;1881:17;-1:-1:-1;1926:1:0;1917:5;1921:1;1881:17;1917:5;:::i;:::-;:10;1909:56;;;;-1:-1:-1;;;1909:56:0;;11595:2:1;1909:56:0;;;11577:21:1;11634:2;11614:18;;;11607:30;11673:34;11653:18;;;11646:62;-1:-1:-1;;;11724:18:1;;;11717:31;11765:19;;1909:56:0;11393:397:1;14980:556:0;15075:4;;-1:-1:-1;;;;;15069:10:0;;;15075:4;;15069:10;15066:144;;;15107:10;;:22;;15122:6;15107:14;:22::i;:::-;15094:10;:35;15066:144;;;15156:4;;-1:-1:-1;;;;;15148:12:0;;;15156:4;;15148:12;15145:65;;;15188:10;;:22;;15203:6;15188:14;:22::i;:::-;15175:10;:35;15145:65;15227:21;15251:28;15262:16;;15251:6;:10;;:28;;;;:::i;:::-;15227:52;;15290:16;15309:28;15320:16;;15309:6;:10;;:28;;;;:::i;:::-;-1:-1:-1;;;;;15379:18:0;;;;;;:12;:18;;;;;;15290:47;;-1:-1:-1;15379:37:0;;15402:13;15379:22;:37::i;:::-;-1:-1:-1;;;;;15358:18:0;;;;;;;:12;:18;;;;;;:58;;;;15446:16;;;;;;;:30;;15467:8;15446:20;:30::i;:::-;-1:-1:-1;;;;;15427:16:0;;;;;;;:12;:16;;;;;;;:49;;;;15502:26;;;;;;;;;;15521:6;15860:25:1;;15848:2;15833:18;;15714:177;15502:26:0;;;;;;;;15055:481;;14980:556;;;:::o;12076:171::-;12156:12;;:25;;12173:7;12156:16;:25::i;:::-;12141:12;:40;;;12205:16;;:34;;:20;:34::i;:::-;12192:10;:47;-1:-1:-1;12076:171:0:o;11174:202::-;11242:68;11259:50;11305:3;11259:41;11271:28;;11259:7;:11;;:41;;;;:::i;:50::-;11242:12;;;:16;:68::i;:::-;11227:12;:83;;;11340:10;;:28;;:14;:28::i;:::-;11321:16;:47;-1:-1:-1;11174:202:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:673::-;246:5;299:3;292:4;284:6;280:17;276:27;266:55;;317:1;314;307:12;266:55;353:6;340:20;379:4;403:60;419:43;459:2;419:43;:::i;:::-;403:60;:::i;:::-;485:3;509:2;504:3;497:15;537:2;532:3;528:12;521:19;;572:2;564:6;560:15;624:3;619:2;613;610:1;606:10;598:6;594:23;590:32;587:41;584:61;;;641:1;638;631:12;584:61;663:1;673:163;687:2;684:1;681:9;673:163;;;744:17;;732:30;;782:12;;;;814;;;;705:1;698:9;673:163;;;-1:-1:-1;854:5:1;;192:673;-1:-1:-1;;;;;;;192:673:1:o;870:186::-;929:6;982:2;970:9;961:7;957:23;953:32;950:52;;;998:1;995;988:12;950:52;1021:29;1040:9;1021:29;:::i;1061:260::-;1129:6;1137;1190:2;1178:9;1169:7;1165:23;1161:32;1158:52;;;1206:1;1203;1196:12;1158:52;1229:29;1248:9;1229:29;:::i;:::-;1219:39;;1277:38;1311:2;1300:9;1296:18;1277:38;:::i;:::-;1267:48;;1061:260;;;;;:::o;1326:328::-;1403:6;1411;1419;1472:2;1460:9;1451:7;1447:23;1443:32;1440:52;;;1488:1;1485;1478:12;1440:52;1511:29;1530:9;1511:29;:::i;:::-;1501:39;;1559:38;1593:2;1582:9;1578:18;1559:38;:::i;:::-;1549:48;;1644:2;1633:9;1629:18;1616:32;1606:42;;1326:328;;;;;:::o;1659:315::-;1724:6;1732;1785:2;1773:9;1764:7;1760:23;1756:32;1753:52;;;1801:1;1798;1791:12;1753:52;1824:29;1843:9;1824:29;:::i;:::-;1814:39;;1903:2;1892:9;1888:18;1875:32;1916:28;1938:5;1916:28;:::i;:::-;1963:5;1953:15;;;1659:315;;;;;:::o;1979:254::-;2047:6;2055;2108:2;2096:9;2087:7;2083:23;2079:32;2076:52;;;2124:1;2121;2114:12;2076:52;2147:29;2166:9;2147:29;:::i;:::-;2137:39;2223:2;2208:18;;;;2195:32;;-1:-1:-1;;;1979:254:1:o;2238:1157::-;2356:6;2364;2417:2;2405:9;2396:7;2392:23;2388:32;2385:52;;;2433:1;2430;2423:12;2385:52;2473:9;2460:23;2502:18;2543:2;2535:6;2532:14;2529:34;;;2559:1;2556;2549:12;2529:34;2597:6;2586:9;2582:22;2572:32;;2642:7;2635:4;2631:2;2627:13;2623:27;2613:55;;2664:1;2661;2654:12;2613:55;2700:2;2687:16;2722:4;2746:60;2762:43;2802:2;2762:43;:::i;2746:60::-;2828:3;2852:2;2847:3;2840:15;2880:2;2875:3;2871:12;2864:19;;2911:2;2907;2903:11;2959:7;2954:2;2948;2945:1;2941:10;2937:2;2933:19;2929:28;2926:41;2923:61;;;2980:1;2977;2970:12;2923:61;3002:1;2993:10;;3012:169;3026:2;3023:1;3020:9;3012:169;;;3083:23;3102:3;3083:23;:::i;:::-;3071:36;;3044:1;3037:9;;;;;3127:12;;;;3159;;3012:169;;;-1:-1:-1;3200:5:1;-1:-1:-1;;3243:18:1;;3230:32;;-1:-1:-1;;3274:16:1;;;3271:36;;;3303:1;3300;3293:12;3271:36;;3326:63;3381:7;3370:8;3359:9;3355:24;3326:63;:::i;:::-;3316:73;;;2238:1157;;;;;:::o;3400:245::-;3467:6;3520:2;3508:9;3499:7;3495:23;3491:32;3488:52;;;3536:1;3533;3526:12;3488:52;3568:9;3562:16;3587:28;3609:5;3587:28;:::i;3650:180::-;3709:6;3762:2;3750:9;3741:7;3737:23;3733:32;3730:52;;;3778:1;3775;3768:12;3730:52;-1:-1:-1;3801:23:1;;3650:180;-1:-1:-1;3650:180:1:o;5347:597::-;5459:4;5488:2;5517;5506:9;5499:21;5549:6;5543:13;5592:6;5587:2;5576:9;5572:18;5565:34;5617:1;5627:140;5641:6;5638:1;5635:13;5627:140;;;5736:14;;;5732:23;;5726:30;5702:17;;;5721:2;5698:26;5691:66;5656:10;;5627:140;;;5785:6;5782:1;5779:13;5776:91;;;5855:1;5850:2;5841:6;5830:9;5826:22;5822:31;5815:42;5776:91;-1:-1:-1;5928:2:1;5907:15;-1:-1:-1;;5903:29:1;5888:45;;;;5935:2;5884:54;;5347:597;-1:-1:-1;;;5347:597:1:o;11795:356::-;11997:2;11979:21;;;12016:18;;;12009:30;12075:34;12070:2;12055:18;;12048:62;12142:2;12127:18;;11795:356::o;14231:409::-;14433:2;14415:21;;;14472:2;14452:18;;;14445:30;14511:34;14506:2;14491:18;;14484:62;-1:-1:-1;;;14577:2:1;14562:18;;14555:43;14630:3;14615:19;;14231:409::o;16085:275::-;16156:2;16150:9;16221:2;16202:13;;-1:-1:-1;;16198:27:1;16186:40;;16256:18;16241:34;;16277:22;;;16238:62;16235:88;;;16303:18;;:::i;:::-;16339:2;16332:22;16085:275;;-1:-1:-1;16085:275:1:o;16365:183::-;16425:4;16458:18;16450:6;16447:30;16444:56;;;16480:18;;:::i;:::-;-1:-1:-1;16525:1:1;16521:14;16537:4;16517:25;;16365:183::o;16553:128::-;16593:3;16624:1;16620:6;16617:1;16614:13;16611:39;;;16630:18;;:::i;:::-;-1:-1:-1;16666:9:1;;16553:128::o;16686:217::-;16726:1;16752;16742:132;;16796:10;16791:3;16787:20;16784:1;16777:31;16831:4;16828:1;16821:15;16859:4;16856:1;16849:15;16742:132;-1:-1:-1;16888:9:1;;16686:217::o;16908:168::-;16948:7;17014:1;17010;17006:6;17002:14;16999:1;16996:21;16991:1;16984:9;16977:17;16973:45;16970:71;;;17021:18;;:::i;:::-;-1:-1:-1;17061:9:1;;16908:168::o;17081:125::-;17121:4;17149:1;17146;17143:8;17140:34;;;17154:18;;:::i;:::-;-1:-1:-1;17191:9:1;;17081:125::o;17211:380::-;17290:1;17286:12;;;;17333;;;17354:61;;17408:4;17400:6;17396:17;17386:27;;17354:61;17461:2;17453:6;17450:14;17430:18;17427:38;17424:161;;;17507:10;17502:3;17498:20;17495:1;17488:31;17542:4;17539:1;17532:15;17570:4;17567:1;17560:15;17424:161;;17211:380;;;:::o;17596:175::-;17633:3;17677:4;17670:5;17666:16;17706:4;17697:7;17694:17;17691:43;;;17714:18;;:::i;:::-;17763:1;17750:15;;17596:175;-1:-1:-1;;17596:175:1:o;17776:127::-;17837:10;17832:3;17828:20;17825:1;17818:31;17868:4;17865:1;17858:15;17892:4;17889:1;17882:15;17908:127;17969:10;17964:3;17960:20;17957:1;17950:31;18000:4;17997:1;17990:15;18024:4;18021:1;18014:15;18040:127;18101:10;18096:3;18092:20;18089:1;18082:31;18132:4;18129:1;18122:15;18156:4;18153:1;18146:15;18172:118;18258:5;18251:13;18244:21;18237:5;18234:32;18224:60;;18280:1;18277;18270:12;18224:60;18172:118;:::o

Swarm Source

ipfs://e818c12700840538b7cca35e386b62ca09478d3d3b9c7920671ed3183db22b3e
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.