Contract 0xa1303e6199b319a891b79685f0537d289af1fc83

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xf0df71829b8ae437325d014360647fcd393b4d406ffef51f64108f2173a73e9282476012021-06-13 0:51:134 hrs 49 mins ago0x9384df9cfdef8773e1aab32fdcc8e9bb7ed0ea2f IN  Narwhalswap: NAR Token0 BNB0.00039462
0xe11cbc113c4c01f25a4050e728b4689899704435bc7cd988a92f66972a9762fe82456292021-06-12 23:12:346 hrs 28 mins ago0xc68e7309bd612ebe367e938d2a3b53d9bbabbc2a IN  Narwhalswap: NAR Token0 BNB0.00022236
0x0e1d1eee2f4da920e837ad4231e0fff5cb366e8a1f1e40c8644a7c888b4430c382425072021-06-12 20:34:159 hrs 6 mins ago0x92063f5b21d10368bade1b8ee78f77bbb0006a1a IN  Narwhalswap: NAR Token0 BNB0.00022236
0x15143121bdc53f51cf7e87206dcbc4132eece54f9aa268eb586af966ff78bf5882389882021-06-12 17:35:5512 hrs 4 mins ago0x3e40fdc4c9d2a7abf994baf7fa94fddca5787de6 IN  Narwhalswap: NAR Token0 BNB0.00022236
0xa0406ff4679bdbc27936b8feed7efcb98382452fb76919949deb3ffcc1917ec982350662021-06-12 14:19:4715 hrs 20 mins ago0xd96f0fb8bcdf6044c6dab5c052a682e334ee07b3 IN  Narwhalswap: NAR Token0 BNB0.00022236
0x2ad0694c4084fb6be4519e0023fca09eda7eb34399f78ef0090fb88d5da1262982348612021-06-12 14:09:3215 hrs 31 mins ago0xc85f7618a16ae7bffdf7f1c60e3800e0ada09549 IN  Narwhalswap: NAR Token0 BNB0.000311304
0x59a3b807aa4b4cd764a4d45cf22e238c2d902e9e090f30e1e447a3b480bfb68482335622021-06-12 13:04:3516 hrs 36 mins ago0xc45317b81eb6385d59f57f7fc7295cb0dc195bac IN  Narwhalswap: NAR Token0 BNB0.00022236
0x139a100fe95bda6fb5c8e13b3865e44566bdfd25a7d827036642b3ccbf1a3c4582299072021-06-12 10:00:4219 hrs 39 mins ago0x9f6bf9ce2fea84a25e0400f7ab3c3f241d4a503d IN  Narwhalswap: NAR Token0 BNB0.00012636
0xe90d27bdfe6dfc46976a65c52fdcf01cc600bbe8c2448760244086caf70e0c9782266572021-06-12 7:18:1022 hrs 22 mins ago0xe580b805b0d902d22f665c40549d1c6d0fab1e9d IN  Narwhalswap: NAR Token0 BNB0.00022236
0xf258ea7c249006173ddb6d8892fb1581bbddcce4fbfdd2a9114f35fc89aa4ae982262322021-06-12 6:56:5522 hrs 43 mins ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0xd9b3f88961cb04823217708ef9534aa9ca76312922a475b00def57d776eedc7582259412021-06-12 6:42:2222 hrs 58 mins ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0x24d8f221c4e790e1f88d45803f14b8c80899268bc5ce331b411ec9dfe59f4f4982213392021-06-12 2:52:011 day 2 hrs ago0xd7b5b07cd371f1b7864b40abb3800ffc07e6bdf1 IN  Narwhalswap: NAR Token0 BNB0.000265248
0x45f6ddad09499f43d02db6cbd71aa088fd1581c244042a12dfc5ca50d618275a82168352021-06-11 23:05:571 day 6 hrs ago0x02d787917bbbd400d9fc12d3eed322a0ce845ce0 IN  Narwhalswap: NAR Token0 BNB0.00022236
0x60f76ad6ac338312035619ad9fc8cb26bb44501fdb2c61adeed864a979e6930082159742021-06-11 22:22:501 day 7 hrs ago0x3e40fdc4c9d2a7abf994baf7fa94fddca5787de6 IN  Narwhalswap: NAR Token0 BNB0.00022236
0xbddd3f7c62322fb3412aee1bcdda312c654ea1b34dac7aa6ec51ce254fd50b6482159532021-06-11 22:21:471 day 7 hrs ago0xfa369923b655b7b592a6750dd9eb19c68e6359a3 IN  Narwhalswap: NAR Token0 BNB0.00022236
0xba6c816b2261ff7e4850295be5244966ff18a735977812da818020e18eac88bd82128902021-06-11 19:48:251 day 9 hrs ago0xd96f0fb8bcdf6044c6dab5c052a682e334ee07b3 IN  Narwhalswap: NAR Token0 BNB0.00022236
0x479f7f28545e44e9690cd4caa3ea675f662a06c4144a4480625fac3ec5f8aefe82014202021-06-11 10:11:451 day 19 hrs ago0xcedae2a1a9772dddc301f3778bfa603584b97a99 IN  Narwhalswap: NAR Token0 BNB0.00022236
0xfa741fd8b39a081929038ac7d834aeb83f87989923d4b3e304442e327211940482010872021-06-11 9:55:061 day 19 hrs ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0xe408161d833f1bb52568068c9b5649c9f8165b77563df29a1027ba0400e731c782009092021-06-11 9:46:121 day 19 hrs ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0x671d0a56d23c9bcf2ad70556da58c854fda3032ebe632de488b7ffce6172f8e482006022021-06-11 9:30:511 day 20 hrs ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0x8b80869da3917b1a3babd3d04efa2887a2ef0ed52e8cdc16387caea19da14aff82004052021-06-11 9:21:001 day 20 hrs ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.0002223
0x5615c42d85163566fbb0909599ccd8630247d6384bec2814dff2ea897ce165c381998632021-06-11 8:53:241 day 20 hrs ago0x9db9ae86ca9cc4382baa0e264cd13bc1331830ed IN  Narwhalswap: NAR Token0 BNB0.00022236
0x65f32aed00ec7c787a15d82bbf90970ae27684802eb5c10950c97593f6bc5b9d81997382021-06-11 8:47:091 day 20 hrs ago0x512d86161ade81a3e01b6b2de8a994778f75f8cb IN  Narwhalswap: NAR Token0 BNB0.00022236
0x74e5813f92d7fc840148b07bd0086b4a18b756794b142a0459bffaef6994cf0f81997192021-06-11 8:46:121 day 20 hrs ago0x9db9ae86ca9cc4382baa0e264cd13bc1331830ed IN  Narwhalswap: NAR Token0 BNB0.00022236
0xca6e3c28e24ada428e55342aab4aad9a509dc4745da4f7510813a5bdc66dcea081848342021-06-10 20:20:542 days 9 hrs ago0x75349f44d5d36138009197833201f86a68e21f7b IN  Narwhalswap: NAR Token0 BNB0.00022236
[ Download CSV Export 

OVERVIEW

Narwhalsap protocol allows users to stake using other project’s tokens and NLP token given as reward. Users will be able to earn NAR tokens with the use of rNLP tokens for liquidity mining in other projects.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x98b1652df8e09761a5b9ad22fa373d771b0475bff0ceb7c90deaaa9b8890272354711912021-03-07 11:52:3097 days 17 hrs ago 0x6658cd8591285775fd31d525fc2b0f3b1dde9b47 Narwhalswap: NAR Token0 BNB
0x98b1652df8e09761a5b9ad22fa373d771b0475bff0ceb7c90deaaa9b8890272354711912021-03-07 11:52:3097 days 17 hrs ago 0xe85c6ab56a3422e7bafd71e81eb7d0f290646078 Narwhalswap: NAR Token0 BNB
0x6e9b0fa6fc0e55547c2dd1da8d8fbd974881e6b3394f94847fb7a7c0cfe3dd0354711712021-03-07 11:51:3097 days 17 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0x6e9b0fa6fc0e55547c2dd1da8d8fbd974881e6b3394f94847fb7a7c0cfe3dd0354711712021-03-07 11:51:3097 days 17 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0xc1bf82fa4f4f427a7cb35d414538179cfe2f9b4646ce215f95e208596970101d54709782021-03-07 11:41:5197 days 17 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0xc1bf82fa4f4f427a7cb35d414538179cfe2f9b4646ce215f95e208596970101d54709782021-03-07 11:41:5197 days 17 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0x4afeb13fd65a64cd357c539fa95c6ff65e841fb82406228b17d348f4e4e5d98b54708902021-03-07 11:37:2797 days 18 hrs ago PancakeSwap: Cake-NAR Narwhalswap: NAR Token0 BNB
0x4afeb13fd65a64cd357c539fa95c6ff65e841fb82406228b17d348f4e4e5d98b54708902021-03-07 11:37:2797 days 18 hrs ago PancakeSwap: Router Narwhalswap: NAR Token0 BNB
0x4afeb13fd65a64cd357c539fa95c6ff65e841fb82406228b17d348f4e4e5d98b54708902021-03-07 11:37:2797 days 18 hrs ago 0xc3885d572f672ffce0dd67ce3430902b6c1bd6af Narwhalswap: NAR Token0 BNB
0x4afeb13fd65a64cd357c539fa95c6ff65e841fb82406228b17d348f4e4e5d98b54708902021-03-07 11:37:2797 days 18 hrs ago PancakeSwap: Cake-NAR Narwhalswap: NAR Token0 BNB
0x4afeb13fd65a64cd357c539fa95c6ff65e841fb82406228b17d348f4e4e5d98b54708902021-03-07 11:37:2797 days 18 hrs ago PancakeSwap: Cake-NAR Narwhalswap: NAR Token0 BNB
0x914743eb10182e1771dfb9a2fee322fdbf4b8ef21d7d20d73f1bfa3419fc838454708512021-03-07 11:35:3097 days 18 hrs ago PancakeSwap: Router Narwhalswap: NAR Token0 BNB
0x914743eb10182e1771dfb9a2fee322fdbf4b8ef21d7d20d73f1bfa3419fc838454708512021-03-07 11:35:3097 days 18 hrs ago PancakeSwap: Router Narwhalswap: NAR Token0 BNB
0x914743eb10182e1771dfb9a2fee322fdbf4b8ef21d7d20d73f1bfa3419fc838454708512021-03-07 11:35:3097 days 18 hrs ago PancakeSwap: NAR Narwhalswap: NAR Token0 BNB
0x914743eb10182e1771dfb9a2fee322fdbf4b8ef21d7d20d73f1bfa3419fc838454708512021-03-07 11:35:3097 days 18 hrs ago PancakeSwap: NAR Narwhalswap: NAR Token0 BNB
0x914743eb10182e1771dfb9a2fee322fdbf4b8ef21d7d20d73f1bfa3419fc838454708512021-03-07 11:35:3097 days 18 hrs ago PancakeSwap: NAR Narwhalswap: NAR Token0 BNB
0xb48548b4e74254d3c26936ae45ac37700931cffb899f22d806de718604d57be054707742021-03-07 11:31:3997 days 18 hrs ago 0x6658cd8591285775fd31d525fc2b0f3b1dde9b47 Narwhalswap: NAR Token0 BNB
0xb48548b4e74254d3c26936ae45ac37700931cffb899f22d806de718604d57be054707742021-03-07 11:31:3997 days 18 hrs ago 0x268a2c1acbeee3b74616b9fe3f07c1bf80841e5d Narwhalswap: NAR Token0 BNB
0xb48548b4e74254d3c26936ae45ac37700931cffb899f22d806de718604d57be054707742021-03-07 11:31:3997 days 18 hrs ago 0x6658cd8591285775fd31d525fc2b0f3b1dde9b47 Narwhalswap: NAR Token0 BNB
0xb48548b4e74254d3c26936ae45ac37700931cffb899f22d806de718604d57be054707742021-03-07 11:31:3997 days 18 hrs ago 0xe85c6ab56a3422e7bafd71e81eb7d0f290646078 Narwhalswap: NAR Token0 BNB
0xb48548b4e74254d3c26936ae45ac37700931cffb899f22d806de718604d57be054707742021-03-07 11:31:3997 days 18 hrs ago 0xe85c6ab56a3422e7bafd71e81eb7d0f290646078 Narwhalswap: NAR Token0 BNB
0x056b193092e8f68bd7f48afbc8297f6ea54be89b46ef30a5a111092a43df28c954707652021-03-07 11:31:1297 days 18 hrs ago PancakeSwap: Cake-NAR Narwhalswap: NAR Token0 BNB
0x056b193092e8f68bd7f48afbc8297f6ea54be89b46ef30a5a111092a43df28c954707652021-03-07 11:31:1297 days 18 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0x056b193092e8f68bd7f48afbc8297f6ea54be89b46ef30a5a111092a43df28c954707652021-03-07 11:31:1297 days 18 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
0x9ac873983be7ea27d02d57ac96b151a8ec180479be7afedc8abd03da0682602554707462021-03-07 11:30:1597 days 18 hrs ago 0xb6b0ba4e208ab93602be7a81f1400a7c7daad1f2 Narwhalswap: NAR Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NarToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-10-12
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);
    function mint(address account, uint amount) external;
    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/libraries/ERC20Detailed.sol

pragma solidity 0.6.12;


/**
 * @title ERC20Detailed token
 * @dev The decimals are only for visualization purposes.
 * All the operations are done using the smallest and indivisible token unit,
 * just as on Ethereum all the operations are done in wei.
 */
abstract contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @return the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @return the symbol of the token.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @return the number of decimals of the token.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

// File: contracts/interfaces/Governance.sol

pragma solidity 0.6.12;

contract Governance {

    address public _governance;

    constructor() public {
        _governance = tx.origin;
    }

    event GovernanceTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyGovernance {
        require(msg.sender == _governance, "not governance");
        _;
    }

    function setGovernance(address governance)  public  onlyGovernance
    {
        require(governance != address(0), "new governance the zero address");
        emit GovernanceTransferred(_governance, governance);
        _governance = governance;
    }


}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.6.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be 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;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/Nar.sol

pragma solidity 0.6.12;




contract NarToken is Governance,ERC20Detailed{

    using SafeMath for uint256;

    //events
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Mint(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event eventSetRate(uint256 burn_rate, uint256 reward_rate);
    event eventRewardPool(address rewardPool);
    event eventTeamWallet(address teamWallet);
   
    // for minters
    mapping (address => bool) public _minters;
    address [] public _minterAddresses;

    //token base data
    uint256 internal _totalSupply;
    mapping(address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) public _allowances;

    /// Constant token specific fields
    uint256 public  _maxSupply = 0;

    ///
    bool public _openTransfer = false;

    // init limit rate
    uint256 public constant _maxValueRate = 2000; 
    uint256 public constant _minValueRate = 10;  
    uint256 public constant _rateBase = 10000; 

    uint256 public  _burnRate = 250;       
    uint256 public  _rewardRate = 250;   

    uint256 public _totalBurnToken = 0;
    uint256 public _totalRewardToken = 0;

    //todo reward pool!
    address public _rewardPool;
    //todo team wallet!
    address public _teamWallet;

    uint256 public _teamMinted = 0;

    address public _burnPool = 0x7777777777777777777777777777777777777777;

    /**
     * CONSTRUCTOR
     *
     * @dev Initialize the Nar Token
     */

    constructor () public ERC20Detailed("NAR Token", "NAR", 18) {
         _maxSupply = 21000000 * (10**18);
    }
    
    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param spender The address which will spend the funds.
    * @param amount The amount of tokens to be spent.
    */
    function approve(address spender, uint256 amount) override external 
    returns (bool) 
    {
        require(msg.sender != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);

        return true;
    }

    /**
    * @dev Function to check the amount of tokens than an owner _allowed to a spender.
    * @param owner address The address which owns the funds.
    * @param spender address The address which will spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address owner, address spender) override external view 
    returns (uint256) 
    {
        return _allowances[owner][spender];
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address owner) override external view 
    returns (uint256) 
    {
        return _balances[owner];
    }

    /**
    * @dev return the token total supply
    */
    function totalSupply() override external view 
    returns (uint256) 
    {
        return _totalSupply;
    }

     /**
    * @dev transfer token for a specified address
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function transfer(address to, uint256 value) override external 
    returns (bool)  
    {
        return _transfer(msg.sender,to,value);
    }

    /**
    * @dev Transfer tokens from one address to another
    * @param from address The address which you want to send tokens from
    * @param to address The address which you want to transfer to
    * @param value uint256 the amount of tokens to be transferred
    */
    function transferFrom(address from, address to, uint256 value) override external 
    returns (bool) 
    {
        uint256 allow = _allowances[from][msg.sender];
        _allowances[from][msg.sender] = allow.sub(value);
        
        return _transfer(from,to,value);
    }

      /**
    * @dev for mint function
    */
    function mint(address account, uint256 amount)  override external 
    {
        require(account != address(0), "ERC20: mint to the zero address");
        require(_minters[msg.sender] || _teamWallet == msg.sender , "!minter");

        uint256 curMintSupply = _totalSupply.add(_totalBurnToken);
        uint256 newMintSupply = curMintSupply.add(amount);
        require( newMintSupply <= _maxSupply,"supply is max!");

        if(_teamWallet == msg.sender){
             require(_teamMinted.add(amount) <= curMintSupply.div(100) ,"more than 1 %");
             _teamMinted = _teamMinted.add(amount);
        }

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
      
        emit Mint(address(0), account, amount);
        emit Transfer(address(0), account, amount);
    }

    /**
    * @dev Transfer tokens with fee
    * @param from address The address which you want to send tokens from
    * @param to address The address which you want to transfer to
    * @param value uint256s the amount of tokens to be transferred
    */
    function _transfer(address from, address to, uint256 value) internal 
    returns (bool) 
    {
        require(_openTransfer || from == _governance, "transfer closed");

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 sendAmount = value;
        uint256 burnFee = (value.mul(_burnRate)).div(_rateBase);
        if (burnFee > 0) {
            //to burn
            _balances[_burnPool] = _balances[_burnPool].add(burnFee);
            _totalSupply = _totalSupply.sub(burnFee);
            sendAmount = sendAmount.sub(burnFee);

            _totalBurnToken = _totalBurnToken.add(burnFee);

            emit Transfer(from, _burnPool, burnFee);
        }

        uint256 rewardFee = (value.mul(_rewardRate)).div(_rateBase);
        if (rewardFee > 0) {
           //to reward
            _balances[_rewardPool] = _balances[_rewardPool].add(rewardFee);
            sendAmount = sendAmount.sub(rewardFee);

            _totalRewardToken = _totalRewardToken.add(rewardFee);

            emit Transfer(from, _rewardPool, rewardFee);
        }

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(sendAmount);

        emit Transfer(from, to, sendAmount);

        return true;
    }

    /**
    * @dev set the token transfer switch
    */
    function enableOpenTransfer() public onlyGovernance  
    {
        _openTransfer = true;
    }

    /**
    * @dev for get numbers of minter
    */
    function minterAddressesLength() external view returns (uint256) {
        return _minterAddresses.length;
    }

    function addMinter(address _minter) public onlyGovernance 
    {
        _minters[_minter] = true;
        _minterAddresses.push(_minter);
        
    }
    
    function removeMinter(address _minter) public onlyGovernance 
    {
        _minters[_minter] = false;
        for (uint i=0; i < _minterAddresses.length ;i++){
            if(_minterAddresses[i] == _minter){
                _minterAddresses[i] = _minterAddresses[_minterAddresses.length -1];
                _minterAddresses.pop();
                break;
            }
        }
    }

    receive () external payable {
      revert();
    }

    /**
    * @dev for govern value
    */
    function setRate(uint256 burn_rate, uint256 reward_rate) public 
        onlyGovernance 
    {
        require(_maxValueRate >= burn_rate && burn_rate >= _minValueRate,"invalid burn rate");
        require(_maxValueRate >= reward_rate && reward_rate >= _minValueRate,"invalid reward rate");

        _burnRate = burn_rate;
        _rewardRate = reward_rate;

        emit eventSetRate(burn_rate, reward_rate);
    }

    /**
    * @dev for set teamWallet
    */

    function setTeamWallet(address teamWallet) public 
        onlyGovernance 
    {
        require(teamWallet != address(0x0));

        _teamWallet = teamWallet;

        emit eventTeamWallet(_teamWallet);
    }

    /**
    * @dev for set reward
    */
    
    function setRewardPool(address rewardPool) public 
        onlyGovernance 
    {
        require(rewardPool != address(0x0));

        _rewardPool = rewardPool;

        emit eventRewardPool(_rewardPool);
    }
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"GovernanceTransferred","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":"Mint","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"rewardPool","type":"address"}],"name":"eventRewardPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burn_rate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"eventSetRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"teamWallet","type":"address"}],"name":"eventTeamWallet","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minValueRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_minterAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_openTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rateBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rewardPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalBurnToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalRewardToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":[],"name":"enableOpenTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minterAddressesLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"governance","type":"address"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burn_rate","type":"uint256"},{"internalType":"uint256","name":"reward_rate","type":"uint256"}],"name":"setRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rewardPool","type":"address"}],"name":"setRewardPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"teamWallet","type":"address"}],"name":"setTeamWallet","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006009556000600a60006101000a81548160ff02191690831515021790555060fa600b5560fa600c556000600d556000600e556000601155737777777777777777777777777777777777777777601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200009f57600080fd5b506040518060400160405280600981526020017f4e415220546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4e415200000000000000000000000000000000000000000000000000000000008152506012326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826001908051906020019062000166929190620001b6565b5081600290805190602001906200017f929190620001b6565b5080600360006101000a81548160ff021916908360ff1602179055505050506a115eec47f6cf7e350000006009819055506200025c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001f957805160ff19168380011785556200022a565b828001600101855582156200022a579182015b82811115620002295782518255916020019190600101906200020c565b5b5090506200023991906200023d565b5090565b5b80821115620002585760008160009055506001016200023e565b5090565b613076806200026c6000396000f3fe6080604052600436106102135760003560e01c806353c76e1311610118578063983b2d56116100a0578063bde8e9fa1161006f578063bde8e9fa14610b56578063c160b9b014610b83578063dc7ced3d14610be8578063dd48f07d14610c29578063dd62ed3e14610c545761021d565b8063983b2d5614610a18578063a9059cbb14610a69578063aa3b2ecb14610ada578063ab033ea914610b055761021d565b8063775e1377116100e7578063775e1377146108b657806378238c37146108e157806379138df1146109325780638ca4ebce1461095d57806395d89b41146109885761021d565b806353c76e131461079657806368fd25cd146107c15780636ebcf607146107ec57806370a08231146108515761021d565b806328d2bc911161019b5780633575597d1161016a5780633575597d1461062357806337e294d51461068a5780633a5390fd146106cb57806340c10f19146106f657806346df2ccb146107515761021d565b806328d2bc91146105385780632d201af0146105795780633092afd5146105a4578063313ce567146105f55761021d565b806318160ddd116101e257806318160ddd146103f95780631ae6ddec146104245780631c2f3e3d1461043b57806322f4596f1461047c57806323b872dd146104a75761021d565b8063024c2ddd1461022257806306fdde03146102a7578063095ea7b3146103375780631525ff7d146103a85761021d565b3661021d57600080fd5b600080fd5b34801561022e57600080fd5b506102916004803603604081101561024557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd9565b6040518082815260200191505060405180910390f35b3480156102b357600080fd5b506102bc610cfe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102fc5780820151818401526020810190506102e1565b50505050905090810190601f1680156103295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034357600080fd5b506103906004803603604081101561035a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610da0565b60405180821515815260200191505060405180910390f35b3480156103b457600080fd5b506103f7600480360360208110156103cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f9d565b005b34801561040557600080fd5b5061040e61114b565b6040518082815260200191505060405180910390f35b34801561043057600080fd5b50610439611155565b005b34801561044757600080fd5b50610450611233565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048857600080fd5b50610491611257565b6040518082815260200191505060405180910390f35b3480156104b357600080fd5b50610520600480360360608110156104ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125d565b60405180821515815260200191505060405180910390f35b34801561054457600080fd5b5061054d611387565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058557600080fd5b5061058e6113ad565b6040518082815260200191505060405180910390f35b3480156105b057600080fd5b506105f3600480360360208110156105c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113b3565b005b34801561060157600080fd5b5061060a611632565b604051808260ff16815260200191505060405180910390f35b34801561062f57600080fd5b506106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611649565b60405180821515815260200191505060405180910390f35b34801561069657600080fd5b5061069f611669565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106d757600080fd5b506106e061168f565b6040518082815260200191505060405180910390f35b34801561070257600080fd5b5061074f6004803603604081101561071957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061169c565b005b34801561075d57600080fd5b506107946004803603604081101561077457600080fd5b810190808035906020019092919080359060200190929190505050611b91565b005b3480156107a257600080fd5b506107ab611dad565b6040518082815260200191505060405180910390f35b3480156107cd57600080fd5b506107d6611db3565b6040518082815260200191505060405180910390f35b3480156107f857600080fd5b5061083b6004803603602081101561080f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611db9565b6040518082815260200191505060405180910390f35b34801561085d57600080fd5b506108a06004803603602081101561087457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd1565b6040518082815260200191505060405180910390f35b3480156108c257600080fd5b506108cb611e1a565b6040518082815260200191505060405180910390f35b3480156108ed57600080fd5b506109306004803603602081101561090457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e20565b005b34801561093e57600080fd5b50610947611fce565b6040518082815260200191505060405180910390f35b34801561096957600080fd5b50610972611fd4565b6040518082815260200191505060405180910390f35b34801561099457600080fd5b5061099d611fd9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109dd5780820151818401526020810190506109c2565b50505050905090810190601f168015610a0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a2457600080fd5b50610a6760048036036020811015610a3b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061207b565b005b348015610a7557600080fd5b50610ac260048036036040811015610a8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121fa565b60405180821515815260200191505060405180910390f35b348015610ae657600080fd5b50610aef61220f565b6040518082815260200191505060405180910390f35b348015610b1157600080fd5b50610b5460048036036020811015610b2857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612215565b005b348015610b6257600080fd5b50610b6b612436565b60405180821515815260200191505060405180910390f35b348015610b8f57600080fd5b50610bbc60048036036020811015610ba657600080fd5b8101908080359060200190929190505050612449565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bf457600080fd5b50610bfd612485565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3557600080fd5b50610c3e6124ab565b6040518082815260200191505060405180910390f35b348015610c6057600080fd5b50610cc360048036036040811015610c7757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124b1565b6040518082815260200191505060405180910390f35b6008602052816000526040600020602052806000526040600020600091509150505481565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d965780601f10610d6b57610100808354040283529160200191610d96565b820191906000526020600020905b815481529060010190602001808311610d7957829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061301d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612fb56022913960400191505060405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561109857600080fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4a18a37346612abfddf55c671a8be3725f94845188147f14d037cc654cafbc37601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600654905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506112f2838261253890919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061137d858585612582565b9150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b60058054905081101561162e578173ffffffffffffffffffffffffffffffffffffffff166005828154811061150057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116215760056001600580549050038154811061155c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005828154811061159457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060058054806115e757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561162e565b80806001019150506114cf565b5050565b6000600360009054906101000a900460ff16905090565b60046020528060005260406000206000915054906101000a900460ff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600580549050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117e457503373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611856576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600061186f600d54600654612cb390919063ffffffff16565b905060006118868383612cb390919063ffffffff16565b9050600954811115611900576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f737570706c79206973206d61782100000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a0f5761196a606483612d3b90919063ffffffff16565b61197f84601154612cb390919063ffffffff16565b11156119f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6d6f7265207468616e203120250000000000000000000000000000000000000081525060200191505060405180910390fd5b611a0883601154612cb390919063ffffffff16565b6011819055505b611a2483600654612cb390919063ffffffff16565b600681905550611a7c83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cb390919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b816107d010158015611c655750600a8210155b611cd7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964206275726e207261746500000000000000000000000000000081525060200191505060405180910390fd5b806107d010158015611cea5750600a8110155b611d5c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c69642072657761726420726174650000000000000000000000000081525060200191505060405180910390fd5b81600b8190555080600c819055507f9f008dd6c9a3dd231a2ba4293e3716d4f335f0e39931c70cc8f92727284df7488282604051808381526020018281526020019250505060405180910390a15050565b600e5481565b600c5481565b60076020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61271081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f1b57600080fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff7c01861f4e8f3bd3c96737a445763caec61457746d8accaf53a235e0c6fce09600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600b5481565b600a81565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120715780601f1061204657610100808354040283529160200191612071565b820191906000526020600020905b81548152906001019060200180831161205457829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461213c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612207338484612582565b905092915050565b6107d081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f7420676f7665726e616e636500000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6e657720676f7665726e616e636520746865207a65726f20616464726573730081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900460ff1681565b6005818154811061245657fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061257a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d85565b905092915050565b6000600a60009054906101000a900460ff16806125ea575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b61265c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e7366657220636c6f736564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612ff86025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612768576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612f926023913960400191505060405180910390fd5b6000829050600061279861271061278a600b5487612e4590919063ffffffff16565b612d3b90919063ffffffff16565b9050600081111561294f576128178160076000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cb390919063ffffffff16565b60076000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128918160065461253890919063ffffffff16565b6006819055506128aa818361253890919063ffffffff16565b91506128c181600d54612cb390919063ffffffff16565b600d81905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600061297a61271061296c600c5488612e4590919063ffffffff16565b612d3b90919063ffffffff16565b90506000811115612b16576129f98160076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cb390919063ffffffff16565b60076000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a71818461253890919063ffffffff16565b9250612a8881600e54612cb390919063ffffffff16565b600e81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b612b6885600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253890919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bfd83600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cb390919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600193505050509392505050565b600080828401905083811015612d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612d7d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ecb565b905092915050565b6000838311158290612e32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612df7578082015181840152602081019050612ddc565b50505050905090810190601f168015612e245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612e585760009050612ec5565b6000828402905082848281612e6957fe5b0414612ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fd76021913960400191505060405180910390fd5b809150505b92915050565b60008083118290612f77576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f3c578082015181840152602081019050612f21565b50505050905090810190601f168015612f695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612f8357fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220c2005845d4f0aa0bcd8011db1a4afcd146e6b6aca211f1caa895c928b062ae4a64736f6c634300060c0033

Deployed ByteCode Sourcemap

10113:8850:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17913:8;;;10113:8850;;;;10839:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3578:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12083:397;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18466:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13388:114;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17020:98;;;;;;;;;;;;;:::i;:::-;;4088:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10956:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14110:283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11557:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11314:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17473:395;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3894:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10638:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11483:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17181:114;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14450:853;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17983:425;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11355:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11269:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10788:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13192:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11173:41;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18742:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11224:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11122:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3728:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17303:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13674:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11070:44;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4402:256;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11004:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10686:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11425:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11518:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12815:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10839:68;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3578:83::-;3615:13;3648:5;3641:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3578:83;:::o;12083:397::-;12166:4;12219:1;12197:24;;:10;:24;;;;12189:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12300:1;12281:21;;:7;:21;;;;12273:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12389:6;12354:11;:23;12366:10;12354:23;;;;;;;;;;;;;;;:32;12378:7;12354:32;;;;;;;;;;;;;;;:41;;;;12432:7;12411:37;;12420:10;12411:37;;;12441:6;12411:37;;;;;;;;;;;;;;;;;;12468:4;12461:11;;12083:397;;;;:::o;18466:218::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18588:3:::1;18566:26;;:10;:26;;;;18558:35;;;::::0;::::1;;18620:10;18606:11;;:24;;;;;;;;;;;;;;;;;;18648:28;18664:11;;;;;;;;;;;18648:28;;;;;;;;;;;;;;;;;;;;18466:218:::0;:::o;13388:114::-;13449:7;13482:12;;13475:19;;13388:114;:::o;17020:98::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17106:4:::1;17090:13;;:20;;;;;;;;;;;;;;;;;;17020:98::o:0;4088:26::-;;;;;;;;;;;;:::o;10956:30::-;;;;:::o;14110:283::-;14206:4;14229:13;14245:11;:17;14257:4;14245:17;;;;;;;;;;;;;;;:29;14263:10;14245:29;;;;;;;;;;;;;;;;14229:45;;14317:16;14327:5;14317;:9;;:16;;;;:::i;:::-;14285:11;:17;14297:4;14285:17;;;;;;;;;;;;;;;:29;14303:10;14285:29;;;;;;;;;;;;;;;:48;;;;14361:24;14371:4;14376:2;14379:5;14361:9;:24::i;:::-;14354:31;;;14110:283;;;;;:::o;11557:69::-;;;;;;;;;;;;;:::o;11314:34::-;;;;:::o;17473:395::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17571:5:::1;17551:8;:17;17560:7;17551:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;17592:6;17587:274;17606:16;:23;;;;17602:1;:27;17587:274;;;17676:7;17653:30;;:16;17670:1;17653:19;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;17650:200;;;17725:16;17767:1;17742:16;:23;;;;:26;17725:44;;;;;;;;;;;;;;;;;;;;;;;;;17703:16;17720:1;17703:19;;;;;;;;;;;;;;;;:66;;;;;;;;;;;;;;;;;;17788:16;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17829:5;;17650:200;17631:3;;;;;;;17587:274;;;;17473:395:::0;:::o;3894:83::-;3935:5;3960:9;;;;;;;;;;;3953:16;;3894:83;:::o;10638:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;11483:26::-;;;;;;;;;;;;;:::o;17181:114::-;17237:7;17264:16;:23;;;;17257:30;;17181:114;:::o;14450:853::-;14560:1;14541:21;;:7;:21;;;;14533:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14617:8;:20;14626:10;14617:20;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;14656:10;14641:25;;:11;;;;;;;;;;;:25;;;14617:49;14609:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14692:21;14716:33;14733:15;;14716:12;;:16;;:33;;;;:::i;:::-;14692:57;;14760:21;14784:25;14802:6;14784:13;:17;;:25;;;;:::i;:::-;14760:49;;14846:10;;14829:13;:27;;14820:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14905:10;14890:25;;:11;;;;;;;;;;;:25;;;14887:185;;;14967:22;14985:3;14967:13;:17;;:22;;;;:::i;:::-;14940:23;14956:6;14940:11;;:15;;:23;;;;:::i;:::-;:49;;14932:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15037:23;15053:6;15037:11;;:15;;:23;;;;:::i;:::-;15023:11;:37;;;;14887:185;15099:24;15116:6;15099:12;;:16;;:24;;;;:::i;:::-;15084:12;:39;;;;15155:30;15178:6;15155:9;:18;15165:7;15155:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;15134:9;:18;15144:7;15134:18;;;;;;;;;;;;;;;:51;;;;15226:7;15209:33;;15222:1;15209:33;;;15235:6;15209:33;;;;;;;;;;;;;;;;;;15279:7;15258:37;;15275:1;15258:37;;;15288:6;15258:37;;;;;;;;;;;;;;;;;;14450:853;;;;:::o;17983:425::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18114:9:::1;11110:4;18097:26;;:56;;;;;11162:2;18127:9;:26;;18097:56;18089:85;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18210:11;11110:4;18193:28;;:60;;;;;11162:2;18225:11;:28;;18193:60;18185:91;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18301:9;18289;:21;;;;18335:11;18321;:25;;;;18364:36;18377:9;18388:11;18364:36;;;;;;;;;;;;;;;;;;;;;;;;17983:425:::0;;:::o;11355:36::-;;;;:::o;11269:33::-;;;;:::o;10788:44::-;;;;;;;;;;;;;;;;;:::o;13192:129::-;13264:7;13297:9;:16;13307:5;13297:16;;;;;;;;;;;;;;;;13290:23;;13192:129;;;:::o;11173:41::-;11209:5;11173:41;:::o;18742:218::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18864:3:::1;18842:26;;:10;:26;;;;18834:35;;;::::0;::::1;;18896:10;18882:11;;:24;;;;;;;;;;;;;;;;;;18924:28;18940:11;;;;;;;;;;;18924:28;;;;;;;;;;;;;;;;;;;;18742:218:::0;:::o;11224:31::-;;;;:::o;11122:42::-;11162:2;11122:42;:::o;3728:87::-;3767:13;3800:7;3793:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3728:87;:::o;17303:158::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17398:4:::1;17378:8;:17;17387:7;17378:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;17413:16;17435:7;17413:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17303:158:::0;:::o;13674:147::-;13752:4;13783:30;13793:10;13804:2;13807:5;13783:9;:30::i;:::-;13776:37;;13674:147;;;;:::o;11070:44::-;11110:4;11070:44;:::o;4402:256::-;4344:11;;;;;;;;;;4330:25;;:10;:25;;;4322:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4515:1:::1;4493:24;;:10;:24;;;;4485:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4604:10;4569:46;;4591:11;::::0;::::1;;;;;;;;4569:46;;;;;;;;;;;;4640:10;4626:11;::::0;:24:::1;;;;;;;;;;;;;;;;;;4402:256:::0;:::o;11004:33::-;;;;;;;;;;;;;:::o;10686:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11425:26::-;;;;;;;;;;;;;:::o;11518:30::-;;;;:::o;12815:157::-;12904:7;12937:11;:18;12949:5;12937:18;;;;;;;;;;;;;;;:27;12956:7;12937:27;;;;;;;;;;;;;;;;12930:34;;12815:157;;;;:::o;6054:136::-;6112:7;6139:43;6143:1;6146;6139:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6132:50;;6054:136;;;;:::o;15574:1379::-;15658:4;15689:13;;;;;;;;;;;:36;;;;15714:11;;;;;;;;;;15706:19;;:4;:19;;;15689:36;15681:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15782:1;15766:18;;:4;:18;;;;15758:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15859:1;15845:16;;:2;:16;;;;15837:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15914:18;15935:5;15914:26;;15951:15;15969:37;11209:5;15970:20;15980:9;;15970:5;:9;;:20;;;;:::i;:::-;15969:26;;:37;;;;:::i;:::-;15951:55;;16031:1;16021:7;:11;16017:348;;;16095:33;16120:7;16095:9;:20;16105:9;;;;;;;;;;;16095:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;16072:9;:20;16082:9;;;;;;;;;;;16072:20;;;;;;;;;;;;;;;:56;;;;16158:25;16175:7;16158:12;;:16;;:25;;;;:::i;:::-;16143:12;:40;;;;16211:23;16226:7;16211:10;:14;;:23;;;;:::i;:::-;16198:36;;16269:28;16289:7;16269:15;;:19;;:28;;;;:::i;:::-;16251:15;:46;;;;16334:9;;;;;;;;;;;16319:34;;16328:4;16319:34;;;16345:7;16319:34;;;;;;;;;;;;;;;;;;16017:348;16377:17;16397:39;11209:5;16398:22;16408:11;;16398:5;:9;;:22;;;;:::i;:::-;16397:28;;:39;;;;:::i;:::-;16377:59;;16463:1;16451:9;:13;16447:314;;;16530:37;16557:9;16530;:22;16540:11;;;;;;;;;;;16530:22;;;;;;;;;;;;;;;;:26;;:37;;;;:::i;:::-;16505:9;:22;16515:11;;;;;;;;;;;16505:22;;;;;;;;;;;;;;;:62;;;;16595:25;16610:9;16595:10;:14;;:25;;;;:::i;:::-;16582:38;;16657:32;16679:9;16657:17;;:21;;:32;;;;:::i;:::-;16637:17;:52;;;;16726:11;;;;;;;;;;;16711:38;;16720:4;16711:38;;;16739:9;16711:38;;;;;;;;;;;;;;;;;;16447:314;16791:26;16811:5;16791:9;:15;16801:4;16791:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;16773:9;:15;16783:4;16773:15;;;;;;;;;;;;;;;:44;;;;16844:29;16862:10;16844:9;:13;16854:2;16844:13;;;;;;;;;;;;;;;;:17;;:29;;;;:::i;:::-;16828:9;:13;16838:2;16828:13;;;;;;;;;;;;;;;:45;;;;16906:2;16891:30;;16900:4;16891:30;;;16910:10;16891:30;;;;;;;;;;;;;;;;;;16941:4;16934:11;;;;;15574:1379;;;;;:::o;5590:181::-;5648:7;5668:9;5684:1;5680;:5;5668:17;;5709:1;5704;:6;;5696:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5762:1;5755:8;;;5590:181;;;;:::o;7891:132::-;7949:7;7976:39;7980:1;7983;7976:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7969:46;;7891:132;;;;:::o;6493:192::-;6579:7;6612:1;6607;:6;;6615:12;6599:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:9;6655:1;6651;:5;6639:17;;6676:1;6669:8;;;6493:192;;;;;:::o;6944:471::-;7002:7;7252:1;7247;:6;7243:47;;;7277:1;7270:8;;;;7243:47;7302:9;7318:1;7314;:5;7302:17;;7347:1;7342;7338;:5;;;;;;:10;7330:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7406:1;7399:8;;;6944:471;;;;;:::o;8519:278::-;8605:7;8637:1;8633;:5;8640:12;8625:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8664:9;8680:1;8676;:5;;;;;;8664:17;;8788:1;8781:8;;;8519:278;;;;;:::o

Swarm Source

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