Contract 0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca9 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2a5baa1bc3632a1e532fe696921885ff12d6a84a74c20a85c662a3e0f99c4e4aApprove130175822021-11-28 7:06:5920 hrs 25 mins ago0xe509f0119027c1993f307e067704078ae8c7da19 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.000072615
0x6d770d5419459ca21008a6598c1db69aafc0ef42bb57321e00bcfe7f0d67212eApprove126551492021-11-15 0:02:3514 days 3 hrs ago0x00d24c548ddceea987938132dcdc6e1e2fb17ff4 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x2f53ec7a1c037e28722c18b88222bf37a42c450aa6d4e95b387f7b9b332672f4Approve126454022021-11-14 15:33:1514 days 11 hrs ago0x7485263b4305bc027c259eca19f200db8f2fd767 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x86ba09e928c60d5ee14516be95d94cc390de480e6e6812eee46984d929bf2b09Approve125789752021-11-12 6:30:1816 days 21 hrs ago0x04b7dbd17a817d22ebd9b35a9a210d8e6e59a7ce IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xe6c45cbefa1f906bbba6deeb2a1573a81c3ec9e4627f97633e11b42795dcdad3Approve124717952021-11-08 10:42:4520 days 16 hrs ago0x873c64cb3c9bbdd601bfa9280d7a74754a3fd03e IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00031101
0x6229592e990c543e55caed7fc8d2bb09bbdb9667b75ab5ce5aa7f82f126b76d7Approve124189512021-11-06 14:27:2422 days 13 hrs ago0x15c564fc188f38fd5d470e260b744bc92336d472 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00012615
0x7beaf7292358358318fe56b653fe7bcc8405fd4812979835602251bb02c900b3Approve124189352021-11-06 14:26:3422 days 13 hrs ago0x15c564fc188f38fd5d470e260b744bc92336d472 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xe419f783c355c980b4ff62bdaada20952c350b50a27ed56626cbdc6051a9799cApprove123845652021-11-05 9:23:4123 days 18 hrs ago0x90e14944e2120234ac881d6b03e8456f8dd34a2f IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x79fd060ce4085a89dd246dbe4fc0c6a508b9c215ccad54a866f66cf36e514e34Approve123418682021-11-03 20:49:0725 days 6 hrs ago0xdad87a076fb3b7ec11983f6287f3cff568e57d58 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xad21e42b507466e70cd7c28e420c283c9befe5719ed9b156e0193e38e58085c9Approve123311232021-11-03 11:20:5225 days 16 hrs ago0x2ec5c0e87d3d6c9aa1229df1e0ab4082371c8008 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x0ddc432dda7630426e603fde1d812a2845c16826935614d6b54b96c4b846b652Transfer122583362021-10-31 20:47:2528 days 6 hrs ago0x8ac8b7e703ffc3c3a3186e81717aa15b36cfdde7 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.000408515
0x960031a8457346719a8c28bdefe98c638c54fa388c7af8dc82d6a26f8d1ea992Approve118616132021-10-17 21:20:2742 days 6 hrs ago0xa86b36cc618a6816512e9e02fbccc5ee40163c80 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x9797146ad4c7836cf44122364b1f3fa419f23192828264ef98fd9f442f3fdceeApprove117771272021-10-14 22:36:3945 days 4 hrs ago0x194e9ef98ea15cc39547af183b27e4405cc2a7a5 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xef7ee8549a127a0c1b4daaf2e6e2a661fa95faca018a84f6d044218f89dd5143Approve111075502021-09-21 12:20:5668 days 15 hrs ago0x6ac32dbcdc465860b292e1d950fc2d94f1abdb2b IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xf119ed73088eb5eb00d6c0aa95c61e423ab78bbaf4269fb995ec98148e28cf75Approve108901822021-09-13 22:33:4776 days 4 hrs ago0x8cc7bc33f5188b1fb683bedc4dbffa77b136833b IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022059
0xaef94fe9202d7bcd1885a82b659f71d5b8d8f41c643b7dce18239731fa74c24dApprove107182862021-09-07 22:10:0882 days 5 hrs ago0xfc8f55f2d4db0ea927b033c8fb1be3fd67be1d0a IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x916b96c8daedf69377e4300c7a4c5ecc66c98d10ea0ce8f153ae59b27149fe3dApprove107153632021-09-07 19:42:4982 days 7 hrs ago0x66115629e4e3353ca21550a5118c12d8b353b3c1 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x7d3b4f20226d973330ac2c5c8447ca779b9fda48a6f1ef04088fb657716c0750Approve106717762021-09-06 6:46:5283 days 20 hrs ago0xa264d125be950410d9344a08316e5702d464b064 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x7645bf0f023ec92b6018db71525abe3b2396041231d59abba103b8d86da80c77Approve105470152021-09-01 22:04:0988 days 5 hrs ago0x8b802a966ff4267d5650a576fefa33384ab37d74 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x5aab2b725598d57b6ff800e345225437db1b9332714f5204bd20eb391fed8cd6Approve103386942021-08-25 13:55:5795 days 13 hrs ago0x827f718685c8cf07e338e7cc8f56a5abe740d018 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x87dbbc13ee8325471336a6aff4319fdc21cfd1f7f382a0b0af46bacac0928d68Approve102451842021-08-22 7:37:5098 days 19 hrs ago0x8a608ae4194e8511ef2a6bcbea1dfe673e867336 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x989b0189836796624af9b57c0c008b21c366633731e8cf220f22e292d362e50eApprove102414092021-08-22 4:29:0598 days 23 hrs ago0x330bc3c4328df5b1ffd53e26d15e32b90be93a5a IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x598a731f94a910c49e682c977b0e1c6644b4c5e2125300d76c39beb9e3771ef4Approve99883242021-08-13 8:14:49107 days 19 hrs ago0xa1cb47acced3d3d2821366614511259363bc38ec IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0x4e033094582562d74615d4af8be4008b04fc05119a488dba4ca37229df2f2855Approve99487442021-08-11 22:38:40109 days 4 hrs ago0xf2cb34e7bcaafaa3cf12e55f1e95dc2183b3f147 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00022215
0xa818fd3b3bbb7bc048cc99189ae7c55aa47171eb556f62b099488f4cd68faf8aApprove98582902021-08-08 17:04:48112 days 10 hrs ago0x3543cb8ad1a8552fb6faa8ab1ee596da343c1084 IN  0x66d527f9cf2cf5fffc11a291cb40ec225e4b2ca90 BNB0.00012423
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NestSwap

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-27
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.7;

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

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


interface IBEP20 {

    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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        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;
        // solhint-disable-next-line no-inline-assembly
        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");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                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 pOwner, address indexed nOwner);

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

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

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

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

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

contract NestSwap is Context, IBEP20, Ownable {

    struct Transaction {
        bool enabled;
        address destination;
        bytes data;
    }

    Transaction[] public transactions;
    using SafeMath for uint256;
    using Address for address;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcluded;
    mapping (address => uint256) private _kOwned;
    mapping (address => uint256) private _uOwned;
    address[] private _excluded;
    
    string private constant _NAME = 'NestSwap';
    string private constant _SYMBOL = 'NEST';
    uint8 private constant _DECIMALS = 9;
    uint256 private constant _MAX = ~uint256(0);
    uint256 private constant _DECIMALFORMAT = 10 ** uint256(_DECIMALS);
    uint256 private constant _GRANULARITY = 100;
    uint256 private _uTotal = 100000000 * _DECIMALFORMAT;
    uint256 private _kTotal = (_MAX - (_MAX % _uTotal));
    uint256 private _uDestroyTotal;
    uint256 private _uTaxTotal;
    uint256 private _uDestroyCycles = 0;
    uint256 private _uTradeCycles = 0;
    uint256 private _NSCycles = 0;
    uint256 private totalNS = 0;
    uint256 private movedNS = 0;
    uint256 private tax_rate = 0;
    uint256 private destroy_rate = 0;
    uint256 private constant MAX_SUPPLY = ~uint128(0);  // (2^128) - 1  
    uint256 private constant _MAX_RT_SIZE = 100000000 * _DECIMALFORMAT;
    uint256 private _gonsPerFragment;
    
    mapping(address => uint256) private _gonBalances;

    constructor () public {
        _kOwned[_msgSender()] = _kTotal;
        emit Transfer(address(0), _msgSender(), _uTotal);
    }

    event TransactionFailed(address indexed destination, uint index, bytes data);

    function name() public view returns (string memory) {
        return _NAME;
    }

    function symbol() public view returns (string memory) {
        return _SYMBOL;
    }

    function decimals() public view returns (uint8) {
        return _DECIMALS;
    }

    function totalSupply() public view override returns (uint256) {
        return _uTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _uOwned[account];
        return tokenFromReflection(_kOwned[account]);
    }

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero"));
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalTaxes() public view returns (uint256) {
        return _uTaxTotal;
    }
    
    function totalBurn() public view returns (uint256) {
        return _uDestroyTotal;
    }

    function deliver(uint256 uAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 kAmount,,,,,) = _getValues(uAmount);
        _kOwned[sender] = _kOwned[sender].sub(kAmount);
        _kTotal = _kTotal.sub(kAmount);
        _uTaxTotal = _uTaxTotal.add(uAmount);
    }

    function reflectionFromToken(uint256 uAmount, bool deductTransfekTax) public view returns(uint256) {
        require(uAmount <= _uTotal, "Amount has to be lower than supply");
        if (!deductTransfekTax) {
            (uint256 kAmount,,,,,) = _getValues(uAmount);
            return kAmount;
        } else {
            (,uint256 kMoveAmount,,,,) = _getValues(uAmount);
            return kMoveAmount;
        }
    }

    function tokenFromReflection(uint256 kAmount) public view returns(uint256) {
        require(kAmount <= _kTotal, "Amount must be less than total reflections");
        uint256 presentRate =  _getRate();
        return kAmount.div(presentRate);
    }

    function excludeAccount(address account) external oOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
        require(!_isExcluded[account], "Account is already excluded");
        if(_kOwned[account] > 0) {
            _uOwned[account] = tokenFromReflection(_kOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external oOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _uOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "BEP20: approve from zero address");
        require(spender != address(0), "BEP20: approve to zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "BEP20: transfer from zero address");
        require(recipient != address(0), "BEP20: transfer to zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
    
        if(sender != owner() && recipient != owner())
            require(amount <= _MAX_RT_SIZE, "Transfer amount exceeds the maxRTAmount.");

        if(destroy_rate >= 150){
        
        _uTradeCycles = _uTradeCycles.add(amount);

            if(_uTradeCycles >= (0 * _DECIMALFORMAT) && _uTradeCycles <= (1999999*_DECIMALFORMAT)){
                _beginDestroyTax(150);
            }   else if(_uTradeCycles >= (2000000 * _DECIMALFORMAT) && _uTradeCycles <= (4000000 * _DECIMALFORMAT)){
                _beginDestroyTax(250);
            }   else if(_uTradeCycles >= (4000000 * _DECIMALFORMAT) && _uTradeCycles <= (6000000 * _DECIMALFORMAT)){
                _beginDestroyTax(350);
            }   else if(_uTradeCycles >= (6000000 * _DECIMALFORMAT) && _uTradeCycles <= (8000000 * _DECIMALFORMAT)){
                _beginDestroyTax(450);
            } else if(_uTradeCycles >= (8000000 * _DECIMALFORMAT) && _uTradeCycles <= (10000000 * _DECIMALFORMAT)){
                _beginDestroyTax(550);
            }
            
        }

        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 uAmount) private {
        uint256 presentRate =  _getRate();
        (uint256 kAmount, uint256 kMoveAmount, uint256 kTax, uint256 uMoveAmount, uint256 uTax, uint256 uDestroy) = _getValues(uAmount);
        uint256 yDestroy =  uDestroy.mul(presentRate);
        _kOwned[sender] = _kOwned[sender].sub(kAmount);
        _kOwned[recipient] = _kOwned[recipient].add(kMoveAmount);       
        _destroyFloat(kTax, yDestroy, uTax, uDestroy);
        emit Transfer(sender, recipient, uMoveAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 uAmount) private {
        uint256 presentRate =  _getRate();
        (uint256 kAmount, uint256 kMoveAmount, uint256 kTax, uint256 uMoveAmount, uint256 uTax, uint256 uDestroy) = _getValues(uAmount);
        uint256 yDestroy =  uDestroy.mul(presentRate);
        _kOwned[sender] = _kOwned[sender].sub(kAmount);
        _uOwned[recipient] = _uOwned[recipient].add(uMoveAmount);
        _kOwned[recipient] = _kOwned[recipient].add(kMoveAmount);           
        _destroyFloat(kTax, yDestroy, uTax, uDestroy);
        emit Transfer(sender, recipient, uMoveAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 uAmount) private {
        uint256 presentRate =  _getRate();
        (uint256 kAmount, uint256 kMoveAmount, uint256 kTax, uint256 uMoveAmount, uint256 uTax, uint256 uDestroy) = _getValues(uAmount);
        uint256 yDestroy =  uDestroy.mul(presentRate);
        _uOwned[sender] = _uOwned[sender].sub(uAmount);
        _kOwned[sender] = _kOwned[sender].sub(kAmount);
        _kOwned[recipient] = _kOwned[recipient].add(kMoveAmount);   
        _destroyFloat(kTax, yDestroy, uTax, uDestroy);
        emit Transfer(sender, recipient, uMoveAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 uAmount) private {
        uint256 presentRate =  _getRate();
        (uint256 kAmount, uint256 kMoveAmount, uint256 kTax, uint256 uMoveAmount, uint256 uTax, uint256 uDestroy) = _getValues(uAmount);
        uint256 yDestroy =  uDestroy.mul(presentRate);
        _uOwned[sender] = _uOwned[sender].sub(uAmount);
        _kOwned[sender] = _kOwned[sender].sub(kAmount);
        _uOwned[recipient] = _uOwned[recipient].add(uMoveAmount);
        _kOwned[recipient] = _kOwned[recipient].add(kMoveAmount);        
        _destroyFloat(kTax, yDestroy, uTax, uDestroy);
        emit Transfer(sender, recipient, uMoveAmount);
    }

    function _destroyFloat(uint256 kTax, uint256 yDestroy, uint256 uTax, uint256 uDestroy) private {
        _kTotal = _kTotal.sub(kTax).sub(yDestroy);
        _uTaxTotal = _uTaxTotal.add(uTax);
        _uDestroyTotal = _uDestroyTotal.add(uDestroy);
        _uDestroyCycles = _uDestroyCycles.add(uDestroy);
        _uTotal = _uTotal.sub(uDestroy);

        if(_uDestroyCycles >= (350000 * _DECIMALFORMAT)){
                uint256 _qRebase = 70000 * _DECIMALFORMAT;
                _uDestroyCycles = _uDestroyCycles.sub((350000 * _DECIMALFORMAT));
                _uTradeCycles = 0;
                _beginDestroyTax(150);
                _rebase(_qRebase);
            } 
    }

    function _getValues(uint256 uAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 uMoveAmount, uint256 uTax, uint256 uDestroy) = _getUValues(uAmount, tax_rate, destroy_rate);
        uint256 presentRate =  _getRate();
        (uint256 kAmount, uint256 kMoveAmount, uint256 kTax) = _getKValues(uAmount, uTax, uDestroy, presentRate);
        return (kAmount, kMoveAmount, kTax, uMoveAmount, uTax, uDestroy);
    }

    function _getUValues(uint256 uAmount, uint256 taxRate, uint256 destroyTax) private pure returns (uint256, uint256, uint256) {
        uint256 uTax = ((uAmount.mul(taxRate)).div(_GRANULARITY)).div(100);
        uint256 uDestroy = ((uAmount.mul(destroyTax)).div(_GRANULARITY)).div(100);
        uint256 uMoveAmount = uAmount.sub(uTax).sub(uDestroy);
        return (uMoveAmount, uTax, uDestroy);
    }

    function _getKValues(uint256 uAmount, uint256 uTax, uint256 uDestroy, uint256 presentRate) private pure returns (uint256, uint256, uint256) {
        uint256 kAmount = uAmount.mul(presentRate);
        uint256 kTax = uTax.mul(presentRate);
        uint256 yDestroy = uDestroy.mul(presentRate);
        uint256 kMoveAmount = kAmount.sub(kTax).sub(yDestroy);
        return (kAmount, kMoveAmount, kTax);
    }

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _kTotal;
        uint256 uSupply = _uTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_kOwned[_excluded[i]] > rSupply || _uOwned[_excluded[i]] > uSupply) return (_kTotal, _uTotal);
            rSupply = rSupply.sub(_kOwned[_excluded[i]]);
            uSupply = uSupply.sub(_uOwned[_excluded[i]]);
        }
        if (rSupply < _kTotal.div(_uTotal)) return (_kTotal, _uTotal);
        return (rSupply, uSupply);
    }
    

    function _beginDestroyTax(uint256 destroyTax) private {
        require(destroyTax >= 0 && destroyTax <= 550, "0-5.5%");
        destroy_rate = destroyTax;
    }
    
    function setTax(uint256 destroyTax) external oOwner() {
        require(destroyTax >= 0 && destroyTax <= 550, "0-5.5%");
        destroy_rate = destroyTax;
    }

    function _getDestroyTax() public view returns(uint256)  {
        return destroy_rate;
    }

    function _getMaxNSAmount() private view returns(uint256) {
        return _MAX_RT_SIZE;
    }

    function _getRotations() public view returns(uint256) {
        return _NSCycles;
    }

    function _getBurnRotations() public view returns(uint256) {
        return _uDestroyCycles;
    }

    function _getTradedRotations() public view returns(uint256) {
        return _uTradeCycles;
    }
    
    function _rebase(uint256 supplyDelta) internal {
        _NSCycles = _NSCycles.add(1);
        _uTotal = _uTotal.add(supplyDelta);

        if(_NSCycles > 251 || _uTotal <= 39557500 * _DECIMALFORMAT){
            _beginFinal();
        }
    }

    function _beginFinal() internal {
        _beginDestroyTax(0);
    }   
}

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":true,"internalType":"address","name":"pOwner","type":"address"},{"indexed":true,"internalType":"address","name":"nOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"TransactionFailed","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":"_getBurnRotations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getDestroyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getRotations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getTradedRotations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"uAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"uAmount","type":"uint256"},{"internalType":"bool","name":"deductTransfekTax","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"destroyTax","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"kAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"transactions","outputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"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":"nOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405267016345785d8a0000600781905560001906600019036008556000600b556000600c556000600d556000600e556000600f55600060105560006011553480156200004d57600080fd5b506000620000636001600160e01b036200014716565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060085460046000620000c76001600160e01b036200014716565b6001600160a01b03168152602081019190915260400160002055620000f46001600160e01b036200014716565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a36200014b565b3390565b612169806200015b6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e1461055f578063f2cc0c181461058d578063f2fde38b146105b3578063f84354f1146105d9576101c4565b8063cba0e99614610529578063cbe4e78d1461054f578063d81d0f5614610557576101c4565b80639ace38c2116100d35780639ace38c214610410578063a457c2d7146104c9578063a9059cbb146104f5578063c77e8b4a14610521576101c4565b8063715018a6146103dc5780638da5cb5b146103e457806395d89b4114610408576101c4565b8063313ce567116101665780633c9f861d116101405780633c9f861d146103815780634549b039146103895780635b71667d146103ae57806370a08231146103b6576101c4565b8063313ce5671461031a57806339509351146103385780633bd5d17314610364576101c4565b80631e3eca64116101a25780631e3eca64146102a057806323b872dd146102a85780632d838119146102de5780632e5bb6ff146102fb576101c4565b806306fdde03146101c9578063095ea7b31461024657806318160ddd14610286575b600080fd5b6101d16105ff565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102726004803603604081101561025c57600080fd5b506001600160a01b038135169060200135610621565b604080519115158252519081900360200190f35b61028e61063f565b60408051918252519081900360200190f35b61028e610645565b610272600480360360608110156102be57600080fd5b506001600160a01b0381358116916020810135909116906040013561064b565b61028e600480360360208110156102f457600080fd5b50356106d8565b6103186004803603602081101561031157600080fd5b5035610740565b005b6103226107dd565b6040805160ff9092168252519081900360200190f35b6102726004803603604081101561034e57600080fd5b506001600160a01b0381351690602001356107e2565b6103186004803603602081101561037a57600080fd5b5035610836565b61028e61091c565b61028e6004803603604081101561039f57600080fd5b50803590602001351515610922565b61028e61099e565b61028e600480360360208110156103cc57600080fd5b50356001600160a01b03166109a4565b610318610a06565b6103ec610aa8565b604080516001600160a01b039092168252519081900360200190f35b6101d1610ab7565b61042d6004803603602081101561042657600080fd5b5035610ad5565b6040518084151515158152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561048c578181015183820152602001610474565b50505050905090810190601f1680156104b95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b610272600480360360408110156104df57600080fd5b506001600160a01b038135169060200135610b9a565b6102726004803603604081101561050b57600080fd5b506001600160a01b038135169060200135610c08565b61028e610c1c565b6102726004803603602081101561053f57600080fd5b50356001600160a01b0316610c22565b61028e610c40565b61028e610c46565b61028e6004803603604081101561057557600080fd5b506001600160a01b0381358116916020013516610c4c565b610318600480360360208110156105a357600080fd5b50356001600160a01b0316610c77565b610318600480360360208110156105c957600080fd5b50356001600160a01b0316610e59565b610318600480360360208110156105ef57600080fd5b50356001600160a01b0316610f51565b60408051808201909152600881526704e657374537761760c41b602082015290565b600061063561062e611112565b8484611116565b5060015b92915050565b60075490565b600a5490565b600061065884848461122e565b6106ce84610664611112565b6106c985604051806060016040528060288152602001611fe6602891396001600160a01b038a166000908152600260205260408120906106a2611112565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6115fa16565b611116565b5060019392505050565b600060085482111561071b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611f96602a913960400191505060405180910390fd5b6000610725611691565b9050610737838263ffffffff6116ba16565b9150505b919050565b610748611112565b6000546001600160a01b03908116911614610798576040805162461bcd60e51b81526020600482018190526024820152600080516020612057833981519152604482015290519081900360640190fd5b6102268111156107d8576040805162461bcd60e51b8152602060048201526006602482015265302d352e352560d01b604482015290519081900360640190fd5b601155565b600990565b60006106356107ef611112565b846106c98560026000610800611112565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61170316565b6000610840611112565b6001600160a01b03811660009081526003602052604090205490915060ff161561089b5760405162461bcd60e51b815260040180806020018281038252602c815260200180612108602c913960400191505060405180910390fd5b60006108a68361175d565b505050506001600160a01b0384166000908152600460205260409020549192506108d2919050826117ba565b6001600160a01b0383166000908152600460205260409020556008546108fe908263ffffffff6117ba16565b600855600a54610914908463ffffffff61170316565b600a55505050565b60095490565b60006007548311156109655760405162461bcd60e51b8152600401808060200182810382526022815260200180611f746022913960400191505060405180910390fd5b816109845760006109758461175d565b50939550610639945050505050565b600061098f8461175d565b50929550610639945050505050565b60115490565b6001600160a01b03811660009081526003602052604081205460ff16156109e457506001600160a01b03811660009081526005602052604090205461073b565b6001600160a01b038216600090815260046020526040902054610639906106d8565b610a0e611112565b6000546001600160a01b03908116911614610a5e576040805162461bcd60e51b81526020600482018190526024820152600080516020612057833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b604080518082019091526004815263139154d560e21b602082015290565b60018181548110610ae257fe5b6000918252602091829020600291820201805460018083018054604080516101009483161585026000190190921696909604601f810188900488028201880190965285815260ff84169750919092046001600160a01b03169492939092830182828015610b905780601f10610b6557610100808354040283529160200191610b90565b820191906000526020600020905b815481529060010190602001808311610b7357829003601f168201915b5050505050905083565b6000610635610ba7611112565b846106c9856040518060600160405280602581526020016120a06025913960026000610bd1611112565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6115fa16565b6000610635610c15611112565b848461122e565b600b5490565b6001600160a01b031660009081526003602052604090205460ff1690565b600d5490565b600c5490565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610c7f611112565b6000546001600160a01b03908116911614610ccf576040805162461bcd60e51b81526020600482018190526024820152600080516020612057833981519152604482015290519081900360640190fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415610d2b5760405162461bcd60e51b81526004018080602001828103825260228152602001806120c56022913960400191505060405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff1615610d99576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205415610df3576001600160a01b038116600090815260046020526040902054610dd9906106d8565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600360205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b610e61611112565b6000546001600160a01b03908116911614610eb1576040805162461bcd60e51b81526020600482018190526024820152600080516020612057833981519152604482015290519081900360640190fd5b6001600160a01b038116610ef65760405162461bcd60e51b8152600401808060200182810382526026815260200180611fc06026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610f59611112565b6000546001600160a01b03908116911614610fa9576040805162461bcd60e51b81526020600482018190526024820152600080516020612057833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205460ff16611016576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b60065481101561110e57816001600160a01b03166006828154811061103a57fe5b6000918252602090912001546001600160a01b031614156111065760068054600019810190811061106757fe5b600091825260209091200154600680546001600160a01b03909216918390811061108d57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600390925220805460ff1916905560068054806110df57fe5b600082815260209020810160001990810180546001600160a01b031916905501905561110e565b600101611019565b5050565b3390565b6001600160a01b038316611171576040805162461bcd60e51b815260206004820181905260248201527f42455032303a20617070726f76652066726f6d207a65726f2061646472657373604482015290519081900360640190fd5b6001600160a01b0382166111cc576040805162461bcd60e51b815260206004820152601e60248201527f42455032303a20617070726f766520746f207a65726f20616464726573730000604482015290519081900360640190fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112735760405162461bcd60e51b81526004018080602001828103825260218152602001806120e76021913960400191505060405180910390fd5b6001600160a01b0382166112ce576040805162461bcd60e51b815260206004820152601f60248201527f42455032303a207472616e7366657220746f207a65726f206164647265737300604482015290519081900360640190fd5b6000811161130d5760405162461bcd60e51b81526004018080602001828103825260298152602001806120776029913960400191505060405180910390fd5b611315610aa8565b6001600160a01b0316836001600160a01b03161415801561134f5750611339610aa8565b6001600160a01b0316826001600160a01b031614155b1561139b5767016345785d8a000081111561139b5760405162461bcd60e51b815260040180806020018281038252602881526020018061202f6028913960400191505060405180910390fd5b6096601154106114a157600c546113b8908263ffffffff61170316565b600c55600c5466071afd0df23600106113da576113d56096610798565b6114a1565b600c5466071afd498d0000118015906113fc5750600c54660e35fa931a000010155b1561140b576113d560fa610798565b600c54660e35fa931a00001180159061142d5750600c54661550f7dca7000010155b1561143d576113d561015e610798565b600c54661550f7dca700001180159061145f5750600c54661c6bf52634000010155b1561146f576113d56101c2610798565b600c54661c6bf526340000118015906114915750600c54662386f26fc1000010155b156114a1576114a1610226610798565b6001600160a01b03831660009081526003602052604090205460ff1680156114e257506001600160a01b03821660009081526003602052604090205460ff16155b156114f7576114f28383836117fc565b6115f5565b6001600160a01b03831660009081526003602052604090205460ff1615801561153857506001600160a01b03821660009081526003602052604090205460ff165b15611548576114f283838361194e565b6001600160a01b03831660009081526003602052604090205460ff1615801561158a57506001600160a01b03821660009081526003602052604090205460ff16155b1561159a576114f2838383611a2a565b6001600160a01b03831660009081526003602052604090205460ff1680156115da57506001600160a01b03821660009081526003602052604090205460ff165b156115ea576114f2838383611a95565b6115f5838383611a2a565b505050565b600081848411156116895760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561164e578181015183820152602001611636565b50505050905090810190601f16801561167b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061169e611b35565b90925090506116b3828263ffffffff6116ba16565b9250505090565b60006116fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611caa565b9392505050565b6000828201838110156116fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600080600080600080600061177a8a601054601154611d0f565b925092509250600061178a611691565b9050600080600061179d8e878787611d86565b919e509c509a509598509396509194505050505091939550919395565b60006116fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115fa565b6000611806611691565b905060008060008060008061181a8861175d565b955095509550955095509550600061183b8883611dee90919063ffffffff16565b6001600160a01b038c16600090815260056020526040902054909150611867908a63ffffffff6117ba16565b6001600160a01b038c1660009081526005602090815260408083209390935560049052205461189c908863ffffffff6117ba16565b6001600160a01b03808d1660009081526004602052604080822093909355908c16815220546118d1908763ffffffff61170316565b6001600160a01b038b166000908152600460205260409020556118f685828585611e47565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b6000611958611691565b905060008060008060008061196c8861175d565b955095509550955095509550600061198d8883611dee90919063ffffffff16565b6001600160a01b038c166000908152600460205260409020549091506119b9908863ffffffff6117ba16565b6001600160a01b03808d16600090815260046020908152604080832094909455918d168152600590915220546119f5908563ffffffff61170316565b6001600160a01b038b166000908152600560209081526040808320939093556004905220546118d1908763ffffffff61170316565b6000611a34611691565b9050600080600080600080611a488861175d565b9550955095509550955095506000611a698883611dee90919063ffffffff16565b6001600160a01b038c1660009081526004602052604090205490915061189c908863ffffffff6117ba16565b6000611a9f611691565b9050600080600080600080611ab38861175d565b9550955095509550955095506000611ad48883611dee90919063ffffffff16565b6001600160a01b038c16600090815260056020526040902054909150611b00908a63ffffffff6117ba16565b6001600160a01b038c166000908152600560209081526040808320939093556004905220546119b9908863ffffffff6117ba16565b6008546007546000918291825b600654811015611c7257826004600060068481548110611b5e57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611bc35750816005600060068481548110611b9c57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611bda5760085460075494509450505050611ca6565b611c206004600060068481548110611bee57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849063ffffffff6117ba16565b9250611c686005600060068481548110611c3657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839063ffffffff6117ba16565b9150600101611b42565b50600754600854611c889163ffffffff6116ba16565b821015611ca057600854600754935093505050611ca6565b90925090505b9091565b60008183611cf95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561164e578181015183820152602001611636565b506000838581611d0557fe5b0495945050505050565b6000808080611d376064611d2b81818b8b63ffffffff611dee16565b9063ffffffff6116ba16565b90506000611d526064611d2b81818c8b63ffffffff611dee16565b90506000611d7682611d6a8b8663ffffffff6117ba16565b9063ffffffff6117ba16565b9992985090965090945050505050565b6000808080611d9b888663ffffffff611dee16565b90506000611daf888763ffffffff611dee16565b90506000611dc3888863ffffffff611dee16565b90506000611ddb82611d6a868663ffffffff6117ba16565b939b939a50919850919650505050505050565b600082611dfd57506000610639565b82820282848281611e0a57fe5b04146116fc5760405162461bcd60e51b815260040180806020018281038252602181526020018061200e6021913960400191505060405180910390fd5b611e6083611d6a866008546117ba90919063ffffffff16565b600855600a54611e76908363ffffffff61170316565b600a55600954611e8c908263ffffffff61170316565b600955600b54611ea2908263ffffffff61170316565b600b55600754611eb8908263ffffffff6117ba16565b600755600b5466013e52b9abe00011611f0a57600b54653faa2522600090611eed9066013e52b9abe00063ffffffff6117ba16565b600b556000600c55611eff6096610798565b611f0881611f10565b505b50505050565b600d54611f2490600163ffffffff61170316565b600d55600754611f3a908263ffffffff61170316565b600755600d5460fb1080611f575750600754668c89562fb3d80010155b15611f6457611f64611f67565b50565b611f716000610798565b56fe416d6f756e742068617320746f206265206c6f776572207468616e20737570706c79416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220616d6f756e74206578636565647320746865206d61785254416d6f756e742e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f57652063616e206e6f74206578636c75646520556e697377617020726f757465722e42455032303a207472616e736665722066726f6d207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6ea264697066735822122061989fc1309c809817c83d2ae6d0562de688557f5d8068a0d9fa335a9fc1d05f64736f6c63430006070033

Deployed ByteCode Sourcemap

6239:14889:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6239:14889:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;8012:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8012:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8924:161;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8924:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8289:95;;;:::i;:::-;;;;;;;;;;;;;;;;10035:88;;;:::i;9093:313::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9093:313:0;;;;;;;;;;;;;;;;;:::i;11058:253::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11058:253:0;;:::i;20102:164::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;20102:164:0;;:::i;:::-;;8198:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9414:218;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9414:218:0;;;;;;;;:::i;10234:377::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10234:377:0;;:::i;10135:91::-;;;:::i;10619:431::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10619:431:0;;;;;;;;;:::i;20274:94::-;;;:::i;8392:198::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8392:198:0;-1:-1:-1;;;;;8392:198:0;;:::i;5846:145::-;;;:::i;5635:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5635:79:0;;;;;;;;;;;;;;8103:87;;;:::i;6403:33::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6403:33:0;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;6403:33:0;-1:-1:-1;;;;;6403:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6403:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9640:269;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9640:269:0;;;;;;;;:::i;8598:167::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8598:167:0;;;;;;;;:::i;20576:99::-;;;:::i;9917:110::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9917:110:0;-1:-1:-1;;;;;9917:110:0;;:::i;20479:89::-;;;:::i;20683:99::-;;;:::i;8773:143::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8773:143:0;;;;;;;;;;:::i;11319:440::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11319:440:0;-1:-1:-1;;;;;11319:440:0;;:::i;5999:233::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5999:233:0;-1:-1:-1;;;;;5999:233:0;;:::i;11767:475::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11767:475:0;-1:-1:-1;;;;;11767:475:0;;:::i;8012:83::-;8082:5;;;;;;;;;;;;-1:-1:-1;;;8082:5:0;;;;8012:83;:::o;8924:161::-;8999:4;9016:39;9025:12;:10;:12::i;:::-;9039:7;9048:6;9016:8;:39::i;:::-;-1:-1:-1;9073:4:0;8924:161;;;;;:::o;8289:95::-;8369:7;;8289:95;:::o;10035:88::-;10105:10;;10035:88;:::o;9093:313::-;9191:4;9208:36;9218:6;9226:9;9237:6;9208:9;:36::i;:::-;9255:121;9264:6;9272:12;:10;:12::i;:::-;9286:89;9324:6;9286:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9286:19:0;;;;;;:11;:19;;;;;;9306:12;:10;:12::i;:::-;-1:-1:-1;;;;;9286:33:0;;;;;;;;;;;;-1:-1:-1;9286:33:0;;;:89;;:37;:89;:::i;:::-;9255:8;:121::i;:::-;-1:-1:-1;9394:4:0;9093:313;;;;;:::o;11058:253::-;11124:7;11163;;11152;:18;;11144:73;;;;-1:-1:-1;;;11144:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11228:19;11251:10;:8;:10::i;:::-;11228:33;-1:-1:-1;11279:24:0;:7;11228:33;11279:24;:11;:24;:::i;:::-;11272:31;;;11058:253;;;;:::o;20102:164::-;5769:12;:10;:12::i;:::-;5759:6;;-1:-1:-1;;;;;5759:6:0;;;:22;;;5751:67;;;;;-1:-1:-1;;;5751:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5751:67:0;;;;;;;;;;;;;;;20208:3:::1;20194:10;:17;;20167:55;;;::::0;;-1:-1:-1;;;20167:55:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;20167:55:0;;;;;;;;;;;;;::::1;;20233:12;:25:::0;20102:164::o;8198:83::-;6911:1;8198:83;:::o;9414:218::-;9502:4;9519:83;9528:12;:10;:12::i;:::-;9542:7;9551:50;9590:10;9551:11;:25;9563:12;:10;:12::i;:::-;-1:-1:-1;;;;;9551:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9551:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;10234:377::-;10286:14;10303:12;:10;:12::i;:::-;-1:-1:-1;;;;;10335:19:0;;;;;;:11;:19;;;;;;10286:29;;-1:-1:-1;10335:19:0;;10334:20;10326:77;;;;-1:-1:-1;;;10326:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10415:15;10439:19;10450:7;10439:10;:19::i;:::-;-1:-1:-1;;;;;;;;;10487:15:0;;;;;;:7;:15;;;;;;10414:44;;-1:-1:-1;10487:28:0;;:15;-1:-1:-1;10414:44:0;10487:19;:28::i;:::-;-1:-1:-1;;;;;10469:15:0;;;;;;:7;:15;;;;;:46;10536:7;;:20;;10548:7;10536:20;:11;:20;:::i;:::-;10526:7;:30;10580:10;;:23;;10595:7;10580:23;:14;:23;:::i;:::-;10567:10;:36;-1:-1:-1;;;10234:377:0:o;10135:91::-;10204:14;;10135:91;:::o;10619:431::-;10709:7;10748;;10737;:18;;10729:65;;;;-1:-1:-1;;;10729:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10810:17;10805:238;;10845:15;10869:19;10880:7;10869:10;:19::i;:::-;-1:-1:-1;10844:44:0;;-1:-1:-1;10903:14:0;;-1:-1:-1;;;;;10903:14:0;10805:238;10952:19;10979;10990:7;10979:10;:19::i;:::-;-1:-1:-1;10950:48:0;;-1:-1:-1;11013:18:0;;-1:-1:-1;;;;;11013:18:0;20274:94;20348:12;;20274:94;:::o;8392:198::-;-1:-1:-1;;;;;8482:20:0;;8458:7;8482:20;;;:11;:20;;;;;;;;8478:49;;;-1:-1:-1;;;;;;8511:16:0;;;;;;:7;:16;;;;;;8504:23;;8478:49;-1:-1:-1;;;;;8565:16:0;;;;;;:7;:16;;;;;;8545:37;;:19;:37::i;5846:145::-;5769:12;:10;:12::i;:::-;5759:6;;-1:-1:-1;;;;;5759:6:0;;;:22;;;5751:67;;;;;-1:-1:-1;;;5751:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5751:67:0;;;;;;;;;;;;;;;5950:1:::1;5934:6:::0;;5913:40:::1;::::0;-1:-1:-1;;;;;5934:6:0;;::::1;::::0;5913:40:::1;::::0;5950:1;;5913:40:::1;5981:1;5964:19:::0;;-1:-1:-1;;;;;;5964:19:0::1;::::0;;5846:145::o;5635:79::-;5673:7;5700:6;-1:-1:-1;;;;;5700:6:0;5635:79;:::o;8103:87::-;8175:7;;;;;;;;;;;;-1:-1:-1;;;8175:7:0;;;;8103:87;:::o;6403:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6403:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6403:33:0;;;;-1:-1:-1;;;;;6403:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9640:269::-;9733:4;9750:129;9759:12;:10;:12::i;:::-;9773:7;9782:96;9821:15;9782:96;;;;;;;;;;;;;;;;;:11;:25;9794:12;:10;:12::i;:::-;-1:-1:-1;;;;;9782:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9782:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;8598:167::-;8676:4;8693:42;8703:12;:10;:12::i;:::-;8717:9;8728:6;8693:9;:42::i;20576:99::-;20652:15;;20576:99;:::o;9917:110::-;-1:-1:-1;;;;;9999:20:0;9975:4;9999:20;;;:11;:20;;;;;;;;;9917:110::o;20479:89::-;20551:9;;20479:89;:::o;20683:99::-;20761:13;;20683:99;:::o;8773:143::-;-1:-1:-1;;;;;8881:18:0;;;8854:7;8881:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8773:143::o;11319:440::-;5769:12;:10;:12::i;:::-;5759:6;;-1:-1:-1;;;;;5759:6:0;;;:22;;;5751:67;;;;;-1:-1:-1;;;5751:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5751:67:0;;;;;;;;;;;;;;;11408:42:::1;-1:-1:-1::0;;;;;11397:53:0;::::1;;;11389:100;;;;-1:-1:-1::0;;;11389:100:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11509:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11508:21;11500:61;;;::::0;;-1:-1:-1;;;11500:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11575:16:0;::::1;11594:1;11575:16:::0;;;:7:::1;:16;::::0;;;;;:20;11572:108:::1;;-1:-1:-1::0;;;;;11651:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;11631:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;11612:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;11572:108:::1;-1:-1:-1::0;;;;;11690:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;11690:27:0::1;11713:4;11690:27:::0;;::::1;::::0;;;11728:9:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;11728::0;;;;::::1;::::0;;-1:-1:-1;;;;;;11728:23:0::1;::::0;;::::1;::::0;;11319:440::o;5999:233::-;5769:12;:10;:12::i;:::-;5759:6;;-1:-1:-1;;;;;5759:6:0;;;:22;;;5751:67;;;;;-1:-1:-1;;;5751:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5751:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6083:20:0;::::1;6075:71;;;;-1:-1:-1::0;;;6075:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6183:6;::::0;;6162:36:::1;::::0;-1:-1:-1;;;;;6162:36:0;;::::1;::::0;6183:6;::::1;::::0;6162:36:::1;::::0;::::1;6209:6;:15:::0;;-1:-1:-1;;;;;;6209:15:0::1;-1:-1:-1::0;;;;;6209:15:0;;;::::1;::::0;;;::::1;::::0;;5999:233::o;11767:475::-;5769:12;:10;:12::i;:::-;5759:6;;-1:-1:-1;;;;;5759:6:0;;;:22;;;5751:67;;;;;-1:-1:-1;;;5751:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5751:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11845:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11837:60;;;::::0;;-1:-1:-1;;;11837:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11913:9;11908:327;11932:9;:16:::0;11928:20;::::1;11908:327;;;11990:7;-1:-1:-1::0;;;;;11974:23:0::1;:9;11984:1;11974:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;11974:12:0::1;:23;11970:254;;;12033:9;12043:16:::0;;-1:-1:-1;;12043:20:0;;;12033:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;12018:9:::1;:12:::0;;-1:-1:-1;;;;;12033:31:0;;::::1;::::0;12028:1;;12018:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;12018:46:0::1;-1:-1:-1::0;;;;;12018:46:0;;::::1;;::::0;;12083:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;12122:11:::1;:20:::0;;;;:28;;-1:-1:-1;;12122:28:0::1;::::0;;12169:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;12169:15:0;;;;;-1:-1:-1;;;;;;12169:15:0::1;::::0;;;;;12203:5:::1;;11970:254;11950:3;;11908:327;;;;11767:475:::0;:::o;95:106::-;183:10;95:106;:::o;12250:329::-;-1:-1:-1;;;;;12343:19:0;;12335:64;;;;;-1:-1:-1;;;12335:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12418:21:0;;12410:64;;;;;-1:-1:-1;;;12410:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12487:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12539:32;;;;;;;;;;;;;;;;;12250:329;;;:::o;12587:1988::-;-1:-1:-1;;;;;12684:20:0;;12676:66;;;;-1:-1:-1;;;12676:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12761:23:0;;12753:67;;;;;-1:-1:-1;;;12753:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12848:1;12839:6;:10;12831:64;;;;-1:-1:-1;;;12831:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12925:7;:5;:7::i;:::-;-1:-1:-1;;;;;12915:17:0;:6;-1:-1:-1;;;;;12915:17:0;;;:41;;;;;12949:7;:5;:7::i;:::-;-1:-1:-1;;;;;12936:20:0;:9;-1:-1:-1;;;;;12936:20:0;;;12915:41;12912:134;;;7653:26;12979:22;;;12971:75;;;;-1:-1:-1;;;12971:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13078:3;13062:12;;:19;13059:900;;13119:13;;:25;;13137:6;13119:25;:17;:25;:::i;:::-;13103:13;:41;13205:13;;13223:22;-1:-1:-1;13161:773:0;;13266:21;13283:3;13266:16;:21::i;:::-;13161:773;;;13314:13;;13332:24;-1:-1:-1;13314:43:0;;;:90;;-1:-1:-1;13361:13:0;;13379:24;-1:-1:-1;13361:43:0;13314:90;13311:623;;;13424:21;13441:3;13424:16;:21::i;13311:623::-;13472:13;;13490:24;-1:-1:-1;13472:43:0;;;:90;;-1:-1:-1;13519:13:0;;13537:24;-1:-1:-1;13519:43:0;13472:90;13469:465;;;13582:21;13599:3;13582:16;:21::i;13469:465::-;13630:13;;13648:24;-1:-1:-1;13630:43:0;;;:90;;-1:-1:-1;13677:13:0;;13695:24;-1:-1:-1;13677:43:0;13630:90;13627:307;;;13740:21;13757:3;13740:16;:21::i;13627:307::-;13786:13;;13804:24;-1:-1:-1;13786:43:0;;;:91;;-1:-1:-1;13833:13:0;;13851:25;-1:-1:-1;13833:44:0;13786:91;13783:151;;;13897:21;13914:3;13897:16;:21::i;:::-;-1:-1:-1;;;;;13975:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;13999:22:0;;;;;;:11;:22;;;;;;;;13998:23;13975:46;13971:597;;;14038:48;14060:6;14068:9;14079:6;14038:21;:48::i;:::-;13971:597;;;-1:-1:-1;;;;;14109:19:0;;;;;;:11;:19;;;;;;;;14108:20;:46;;;;-1:-1:-1;;;;;;14132:22:0;;;;;;:11;:22;;;;;;;;14108:46;14104:464;;;14171:46;14191:6;14199:9;14210:6;14171:19;:46::i;14104:464::-;-1:-1:-1;;;;;14240:19:0;;;;;;:11;:19;;;;;;;;14239:20;:47;;;;-1:-1:-1;;;;;;14264:22:0;;;;;;:11;:22;;;;;;;;14263:23;14239:47;14235:333;;;14303:44;14321:6;14329:9;14340:6;14303:17;:44::i;14235:333::-;-1:-1:-1;;;;;14369:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;14392:22:0;;;;;;:11;:22;;;;;;;;14369:45;14365:203;;;14431:48;14453:6;14461:9;14472:6;14431:21;:48::i;14365:203::-;14512:44;14530:6;14538:9;14549:6;14512:17;:44::i;:::-;12587:1988;;;:::o;1369:192::-;1455:7;1491:12;1483:6;;;;1475:29;;;;-1:-1:-1;;;1475:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1475:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1527:5:0;;;1369:192::o;19180:163::-;19221:7;19242:15;19259;19278:19;:17;:19::i;:::-;19241:56;;-1:-1:-1;19241:56:0;-1:-1:-1;19315:20:0;19241:56;;19315:20;:11;:20;:::i;:::-;19308:27;;;;19180:163;:::o;1827:132::-;1885:7;1912:39;1916:1;1919;1912:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1905:46;1827:132;-1:-1:-1;;;1827:132:0:o;1038:179::-;1096:7;1128:5;;;1152:6;;;;1144:46;;;;;-1:-1:-1;;;1144:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17873:466;17932:7;17941;17950;17959;17968;17977;17998:19;18019:12;18033:16;18053:44;18065:7;18074:8;;18084:12;;18053:11;:44::i;:::-;17997:100;;;;;;18108:19;18131:10;:8;:10::i;:::-;18108:33;;18153:15;18170:19;18191:12;18207:49;18219:7;18228:4;18234:8;18244:11;18207;:49::i;:::-;18152:104;;-1:-1:-1;18152:104:0;-1:-1:-1;18152:104:0;-1:-1:-1;18303:11:0;;-1:-1:-1;18316:4:0;;-1:-1:-1;18322:8:0;;-1:-1:-1;;;;;17873:466:0;;;;;;;:::o;1225:136::-;1283:7;1310:43;1314:1;1317;1310:43;;;;;;;;;;;;;;;;;:3;:43::i;15824:633::-;15926:19;15949:10;:8;:10::i;:::-;15926:33;;15971:15;15988:19;16009:12;16023:19;16044:12;16058:16;16078:19;16089:7;16078:10;:19::i;:::-;15970:127;;;;;;;;;;;;16108:16;16128:25;16141:11;16128:8;:12;;:25;;;;:::i;:::-;-1:-1:-1;;;;;16182:15:0;;;;;;:7;:15;;;;;;16108:45;;-1:-1:-1;16182:28:0;;16202:7;16182:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;16164:15:0;;;;;;:7;:15;;;;;;;;:46;;;;16239:7;:15;;;;:28;;16259:7;16239:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;16221:15:0;;;;;;;:7;:15;;;;;;:46;;;;16299:18;;;;;;;:35;;16322:11;16299:35;:22;:35;:::i;:::-;-1:-1:-1;;;;;16278:18:0;;;;;;:7;:18;;;;;:56;16348:45;16362:4;16368:8;16378:4;16384:8;16348:13;:45::i;:::-;16426:9;-1:-1:-1;;;;;16409:40:0;16418:6;-1:-1:-1;;;;;16409:40:0;;16437:11;16409:40;;;;;;;;;;;;;;;;;;15824:633;;;;;;;;;;;:::o;15167:649::-;15267:19;15290:10;:8;:10::i;:::-;15267:33;;15312:15;15329:19;15350:12;15364:19;15385:12;15399:16;15419:19;15430:7;15419:10;:19::i;:::-;15311:127;;;;;;;;;;;;15449:16;15469:25;15482:11;15469:8;:12;;:25;;;;:::i;:::-;-1:-1:-1;;;;;15523:15:0;;;;;;:7;:15;;;;;;15449:45;;-1:-1:-1;15523:28:0;;15543:7;15523:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;15505:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;15583:18;;;;;:7;:18;;;;;:35;;15606:11;15583:35;:22;:35;:::i;:::-;-1:-1:-1;;;;;15562:18:0;;;;;;:7;:18;;;;;;;;:56;;;;15650:7;:18;;;;:35;;15673:11;15650:35;:22;:35;:::i;14583:576::-;14681:19;14704:10;:8;:10::i;:::-;14681:33;;14726:15;14743:19;14764:12;14778:19;14799:12;14813:16;14833:19;14844:7;14833:10;:19::i;:::-;14725:127;;;;;;;;;;;;14863:16;14883:25;14896:11;14883:8;:12;;:25;;;;:::i;:::-;-1:-1:-1;;;;;14937:15:0;;;;;;:7;:15;;;;;;14863:45;;-1:-1:-1;14937:28:0;;14957:7;14937:28;:19;:28;:::i;16465:705::-;16567:19;16590:10;:8;:10::i;:::-;16567:33;;16612:15;16629:19;16650:12;16664:19;16685:12;16699:16;16719:19;16730:7;16719:10;:19::i;:::-;16611:127;;;;;;;;;;;;16749:16;16769:25;16782:11;16769:8;:12;;:25;;;;:::i;:::-;-1:-1:-1;;;;;16823:15:0;;;;;;:7;:15;;;;;;16749:45;;-1:-1:-1;16823:28:0;;16843:7;16823:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;16805:15:0;;;;;;:7;:15;;;;;;;;:46;;;;16880:7;:15;;;;:28;;16900:7;16880:28;:19;:28;:::i;19351:561::-;19448:7;;19484;;19401;;;;;19508:289;19532:9;:16;19528:20;;19508:289;;;19598:7;19574;:21;19582:9;19592:1;19582:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19582:12:0;19574:21;;;;;;;;;;;;;:31;;:66;;;19633:7;19609;:21;19617:9;19627:1;19617:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19617:12:0;19609:21;;;;;;;;;;;;;:31;19574:66;19570:97;;;19650:7;;19659;;19642:25;;;;;;;;;19570:97;19692:34;19704:7;:21;19712:9;19722:1;19712:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19712:12:0;19704:21;;;;;;;;;;;;;19692:7;;:34;:11;:34;:::i;:::-;19682:44;;19751:34;19763:7;:21;19771:9;19781:1;19771:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19771:12:0;19763:21;;;;;;;;;;;;;19751:7;;:34;:11;:34;:::i;:::-;19741:44;-1:-1:-1;19550:3:0;;19508:289;;;-1:-1:-1;19833:7:0;;19821;;:20;;;:11;:20;:::i;:::-;19811:7;:30;19807:61;;;19851:7;;19860;;19843:25;;;;;;;;19807:61;19887:7;;-1:-1:-1;19896:7:0;-1:-1:-1;19351:561:0;;;:::o;1967:278::-;2053:7;2088:12;2081:5;2073:28;;;;-1:-1:-1;;;2073:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2073:28:0;;2112:9;2128:1;2124;:5;;;;;;;1967:278;-1:-1:-1;;;;;1967:278:0:o;18347:404::-;18444:7;;;;18497:51;18544:3;18498:40;18544:3;18498:40;18499:7;18511;18499:20;:11;:20;:::i;:::-;18498:26;:40;:26;:40;:::i;18497:51::-;18482:66;-1:-1:-1;18559:16:0;18578:54;18628:3;18579:43;18628:3;18579:43;18580:7;18592:10;18580:23;:11;:23;:::i;18578:54::-;18559:73;-1:-1:-1;18643:19:0;18665:31;18559:73;18665:17;:7;18677:4;18665:17;:11;:17;:::i;:::-;:21;:31;:21;:31;:::i;:::-;18643:53;18728:4;;-1:-1:-1;18734:8:0;;-1:-1:-1;18347:404:0;;-1:-1:-1;;;;;18347:404:0:o;18759:413::-;18872:7;;;;18928:24;:7;18940:11;18928:24;:11;:24;:::i;:::-;18910:42;-1:-1:-1;18963:12:0;18978:21;:4;18987:11;18978:21;:8;:21;:::i;:::-;18963:36;-1:-1:-1;19010:16:0;19029:25;:8;19042:11;19029:25;:12;:25;:::i;:::-;19010:44;-1:-1:-1;19065:19:0;19087:31;19010:44;19087:17;:7;19099:4;19087:17;:11;:17;:::i;:31::-;19137:7;;;;-1:-1:-1;19159:4:0;;-1:-1:-1;18759:413:0;;-1:-1:-1;;;;;;;18759:413:0:o;1569:250::-;1627:7;1651:6;1647:47;;-1:-1:-1;1681:1:0;1674:8;;1647:47;1718:5;;;1722:1;1718;:5;:1;1742:5;;;;;:10;1734:56;;;;-1:-1:-1;;;1734:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17178:687;17294:31;17316:8;17294:17;17306:4;17294:7;;:11;;:17;;;;:::i;:31::-;17284:7;:41;17349:10;;:20;;17364:4;17349:20;:14;:20;:::i;:::-;17336:10;:33;17397:14;;:28;;17416:8;17397:28;:18;:28;:::i;:::-;17380:14;:45;17454:15;;:29;;17474:8;17454:29;:19;:29;:::i;:::-;17436:15;:47;17504:7;;:21;;17516:8;17504:21;:11;:21;:::i;:::-;17494:7;:31;17541:15;;17561:23;-1:-1:-1;17538:319:0;;17683:15;;17624:22;;17683:46;;17704:23;17683:46;:19;:46;:::i;:::-;17665:15;:64;17764:1;17748:13;:17;17784:21;17801:3;17784:16;:21::i;:::-;17824:17;17832:8;17824:7;:17::i;:::-;17538:319;;17178:687;;;;:::o;20794:250::-;20864:9;;:16;;20878:1;20864:16;:13;:16;:::i;:::-;20852:9;:28;20901:7;;:24;;20913:11;20901:24;:11;:24;:::i;:::-;20891:7;:34;20941:9;;20953:3;-1:-1:-1;20941:15:0;:55;;-1:-1:-1;20960:7:0;;20971:25;-1:-1:-1;20960:36:0;20941:55;20938:99;;;21012:13;:11;:13::i;:::-;20794:250;:::o;21052:70::-;21095:19;21112:1;21095:16;:19::i;:::-;21052:70::o

Swarm Source

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