Contract 0xedb814b15774989669779042ffbf82a1361d031a

Contract Overview

BSCswap: DRUGS
Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x2ac0027d841718e286ed89362c612c61dbf6d8c9725baa7fdae0ec24b0e0a5ce16886112020-10-26 18:47:073 hrs 21 mins ago0xa1a858ce61dbe2bd473fe65a2d4d27d7d69cd56f IN  BSCswap: DRUGS0 BNB0.0002897
0x87a44b51c41a2e171e14c6bb2da9c7fb9013b2382d75bae3c7d21409a34bc7ca16885992020-10-26 18:46:313 hrs 22 mins ago0xa1a858ce61dbe2bd473fe65a2d4d27d7d69cd56f IN  BSCswap: DRUGS0 BNB0.0002897
0x1f9311522f905c670c6a0aa32f3cbb127f0e2990c469c2539ecc99f3eb9fbf8216773292020-10-26 9:22:5212 hrs 46 mins ago0x806346b423ddb4727c1f5dc718886430aa7ce9cf IN  BSCswap: DRUGS0 BNB0.0004954
0xdce50b0c9e06676405b9cc856e639fb11f1f1e9f0e6a7e37be5d37298bc7b0d316773162020-10-26 9:22:1312 hrs 46 mins ago0x806346b423ddb4727c1f5dc718886430aa7ce9cf IN  BSCswap: DRUGS0 BNB0.0002897
0x2364f47c29315ed5531f2e120145c6ba01f7ca872f51e6c11bbdd34b820d72e916771962020-10-26 9:16:1312 hrs 52 mins ago0x7b6c7ad62a879540ccee5fec1585c4ade8778da1 IN  BSCswap: DRUGS0 BNB0.0002897
0x795641da79d805d1656865b8d7b86e10578ac1d038b5a8e3ca06e2a80ac14ca816595792020-10-25 18:34:501 day 3 hrs ago0x5e0ed7fce25a45787efc887dd8ca62be4153713e IN  BSCswap: DRUGS0 BNB0.00088708
0x5c8c042523294fb122d613aa7ea5912b6dec7961650142e0f0597d6d7b96acb216576172020-10-25 16:56:441 day 5 hrs ago0xa7fab85434c622f3c68bbb739c21ec3e564d5499 IN  BSCswap: DRUGS0 BNB0.00088708
0xf7aecbd2aedb8784731b1ef7633e3edecc7cc13c184f78a56a1e93323de08c1d16466702020-10-25 7:49:161 day 14 hrs ago0x1b368e3de63fa5923e9f145596ed8d059d722f7a IN  BSCswap: DRUGS0 BNB0.00088708
0x6b796c564c459c66ae85e246f422948b8eb5f093e9f4eafd383f6994efa3173c16465272020-10-25 7:42:071 day 14 hrs ago0x1647a23e90bb36af9921edd22cff36b6d80b36cf IN  BSCswap: DRUGS0 BNB0.00088708
0x249b43efdecdabb721a57ad960fb0a80de23c3fece3de548fa2c551da6ba8dbe16451712020-10-25 6:33:361 day 15 hrs ago0x428318c92477d1e084e2a1b0be09bc85b410bfe7 IN  BSCswap: DRUGS0 BNB0.00088708
0x4bc2aac60f193c471f69ed4912e36c58b5240d338d892d1f2404ad919f61439316400802020-10-25 2:18:401 day 19 hrs ago0x1d331db5be0b9031de0b5bf553e333f6a3915c93 IN  BSCswap: DRUGS0 BNB0.00088708
0x324c121943eaac87f9998ef87cbb6b1ec7a2bd3428f74514a8de9ebe2a24325a16385862020-10-25 1:03:581 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00050308
0x9816f9ef21e52c515cd4c00a7744171bcbf4b25b368515431f369d164fe86e8016384932020-10-25 0:59:191 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00050308
0x2244fe1923c18d1d7003ef64fc3d24481903d860b81d45139316717a137f609016384822020-10-25 0:58:461 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00050308
0xf90f4fe198086282dcee435503b9fa68dcf4290e474147b69c0d013374a970d716382412020-10-25 0:46:431 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00050308
0xed5d7a9ec416dec5cf03a606aafc2a2a0a93127956a7473f588eea15535e248316381062020-10-25 0:39:581 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00050308
0x4512a12b44a3b12adb0093e7d1eef01be5c520575d6e9586b01eaa6e94b009df16374912020-10-25 0:09:131 day 21 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00088708
0x05ac864508707a4bdcf0938108ae351959adf0efde9accde2321c4982f31704e16372632020-10-24 23:57:491 day 22 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00058708
0xe6c2579ca3950c94932d790c022720da7a3a52a97eb30e169b918f4b76fadfc116371022020-10-24 23:49:461 day 22 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00058228
0x4fd20a137fb0c96d9fe6637acdfa60f35ba87a12f8a6b94489431b3da4d1cbad16366672020-10-24 23:28:011 day 22 hrs ago0x8b25d29f345af7284543701622564707d1b4eb4e IN  BSCswap: DRUGS0 BNB0.00088108
0x59642e25adc8ce567b1e74677b2bc863b8215603f38488a10c004d19a3e8786416359212020-10-24 22:50:431 day 23 hrs ago0xadfb59ae2dd045cbf7206fa9573b9bb304cc5710 IN  BSCswap: DRUGS0 BNB0.00088708
0xe0c8424abcc35e08555e3cf83292b397bf1630ff229aa44281d9f65168d86aa916348282020-10-24 21:56:042 days 12 mins ago0x8474a0b51a8e9e77ab9446228554853a8e290635 IN  BSCswap: DRUGS0 BNB0.00088708
0xfa25ae729a2a423aa679258b60dd04a0198a1dc88b0e621b5ddaf365bf682be916317222020-10-24 19:20:252 days 2 hrs ago0xfc7293761364923c8455390aa490b8d085c4f497 IN  BSCswap: DRUGS0 BNB0.00088708
0xdec391d2c6edeb7f4afd8e00fbcbe5f92ed3eea482174430696f20cb1ffa902816281442020-10-24 16:21:312 days 5 hrs ago0x99d6ef60a82a74f84c7e39c62428047ef1650edd IN  BSCswap: DRUGS0 BNB0.00088708
0x6f473e1f314b8076525993f7e2a34ee92b438df1ea4d283e4e00057797e7baac16271652020-10-24 15:32:342 days 6 hrs ago0x530a0d7f4637657df13d5b93f12fd77cf0297bda IN  BSCswap: DRUGS0 BNB0.00088708
[ Download CSV Export 

OVERVIEW

BSCswap pool to exchange between WBNB and DRUGS.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe0ac1a39c7a620718f1a785d193855db465927321aa4e940db8b83baedb2940316882132020-10-26 18:27:133 hrs 41 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0xe0ac1a39c7a620718f1a785d193855db465927321aa4e940db8b83baedb2940316882132020-10-26 18:27:133 hrs 41 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xe0ac1a39c7a620718f1a785d193855db465927321aa4e940db8b83baedb2940316882132020-10-26 18:27:133 hrs 41 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xe0ac1a39c7a620718f1a785d193855db465927321aa4e940db8b83baedb2940316882132020-10-26 18:27:133 hrs 41 mins ago 0xe709ba959284ecf27140b44c8154d9135e773d46 BSCswap: DRUGS0 BNB
0xa1cd8307216cfc2bbd64cff09f87c8e2f91a15156920b4a874dc0d498ad69d2616879892020-10-26 18:16:013 hrs 52 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0xa1cd8307216cfc2bbd64cff09f87c8e2f91a15156920b4a874dc0d498ad69d2616879892020-10-26 18:16:013 hrs 52 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xa1cd8307216cfc2bbd64cff09f87c8e2f91a15156920b4a874dc0d498ad69d2616879892020-10-26 18:16:013 hrs 52 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xa1cd8307216cfc2bbd64cff09f87c8e2f91a15156920b4a874dc0d498ad69d2616879892020-10-26 18:16:013 hrs 52 mins ago 0xe709ba959284ecf27140b44c8154d9135e773d46 BSCswap: DRUGS0 BNB
0xb2367183cdc32344b0ebd207d8a325618f3ddddda1ddf1bb846c8ed24c85d9a116868722020-10-26 17:20:104 hrs 48 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0xb2367183cdc32344b0ebd207d8a325618f3ddddda1ddf1bb846c8ed24c85d9a116868722020-10-26 17:20:104 hrs 48 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xb2367183cdc32344b0ebd207d8a325618f3ddddda1ddf1bb846c8ed24c85d9a116868722020-10-26 17:20:104 hrs 48 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0xb2367183cdc32344b0ebd207d8a325618f3ddddda1ddf1bb846c8ed24c85d9a116868722020-10-26 17:20:104 hrs 48 mins ago 0xe709ba959284ecf27140b44c8154d9135e773d46 BSCswap: DRUGS0 BNB
0x28bf7e0c3858aa09ffd4fcdcf0184df8be216a67619d01b7d5bad115b2c9df3216856312020-10-26 16:18:075 hrs 50 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0x28bf7e0c3858aa09ffd4fcdcf0184df8be216a67619d01b7d5bad115b2c9df3216856312020-10-26 16:18:075 hrs 50 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0x28bf7e0c3858aa09ffd4fcdcf0184df8be216a67619d01b7d5bad115b2c9df3216856312020-10-26 16:18:075 hrs 50 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0x28bf7e0c3858aa09ffd4fcdcf0184df8be216a67619d01b7d5bad115b2c9df3216856312020-10-26 16:18:075 hrs 50 mins ago 0xe709ba959284ecf27140b44c8154d9135e773d46 BSCswap: DRUGS0 BNB
0x24d3aa106b5e83c81e364a5c93f8c652b05d5572fa7a22a92704cb3f8a0aedef16830212020-10-26 14:07:378 hrs 1 min ago 0xb752f0cb591ecfb1c5058a93e1332f066bf38473 BSCswap: DRUGS0 BNB
0x24d3aa106b5e83c81e364a5c93f8c652b05d5572fa7a22a92704cb3f8a0aedef16830212020-10-26 14:07:378 hrs 1 min ago 0xb752f0cb591ecfb1c5058a93e1332f066bf38473 BSCswap: DRUGS0 BNB
0x9057285ba1b70feaebd863a56f17792f6b1bbb8ebfd0260676ee7106a28b829816825902020-10-26 13:46:048 hrs 22 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0x9057285ba1b70feaebd863a56f17792f6b1bbb8ebfd0260676ee7106a28b829816825902020-10-26 13:46:048 hrs 22 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
0x9057285ba1b70feaebd863a56f17792f6b1bbb8ebfd0260676ee7106a28b829816825902020-10-26 13:46:048 hrs 22 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0x9057285ba1b70feaebd863a56f17792f6b1bbb8ebfd0260676ee7106a28b829816825902020-10-26 13:46:048 hrs 22 mins ago BSCswap: Router BSCswap: DRUGS0 BNB
0x9057285ba1b70feaebd863a56f17792f6b1bbb8ebfd0260676ee7106a28b829816825902020-10-26 13:46:048 hrs 22 mins ago BSCswap: Router BSCswap: DRUGS0 BNB
0xfd57b35cf922dc284db8a9b082a6362acfc92d2dee797c811aa8b2a85f45b21e16814832020-10-26 12:50:439 hrs 18 mins ago BSCswap: DRUGS Traphouse: DRUGS Token0 BNB
0xfd57b35cf922dc284db8a9b082a6362acfc92d2dee797c811aa8b2a85f45b21e16814832020-10-26 12:50:439 hrs 18 mins ago BSCswap: DRUGS Binance: WBNB Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x12e048d01535e2b49675d22078f64fd2307d8a0c

Contract Name:
BSCswapPair

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-09-14
*/

/**
 *Submitted for verification at Bscscan.com on 2020-09-13
*/

// Dependency file: contracts/libraries/SafeMath.sol

// SPDX-License-Identifier: GPL-3.0-or-later

// pragma solidity =0.6.12;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMathBSCswap {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}

// Dependency file: contracts/interfaces/IBSCswapCallee.sol

// pragma solidity >=0.5.0;

interface IBSCswapCallee {
    function BSCswapCall(address sender, uint amount0, uint amount1, bytes calldata data) external;
}

// Dependency file: contracts/interfaces/IBSCswapFactory.sol

// pragma solidity >=0.5.0;

interface IBSCswapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// Dependency file: contracts/interfaces/IBEP20.sol

// pragma solidity >=0.5.0;

interface IBEP20BSCswap {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

// Dependency file: contracts/libraries/UQ112x112.sol

// pragma solidity =0.6.12;

// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}

// Dependency file: contracts/libraries/Math.sol

// pragma solidity =0.6.12;

// a library for performing various math operations

library Math {
    function min(uint x, uint y) internal pure returns (uint z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint y) internal pure returns (uint z) {
        if (y > 3) {
            z = y;
            uint x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

// Dependency file: contracts/BSCswapBEP20.sol

// pragma solidity =0.6.12;

// import './libraries/SafeMath.sol';

contract BSCswapBEP20 {
    using SafeMathBSCswap for uint;

    string public constant name = 'BSCswap LP Token';
    string public constant symbol = 'BLP';
    uint8 public constant decimals = 18;
    uint  public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bytes32 public DOMAIN_SEPARATOR;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint) public nonces;

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    constructor() public {
        uint chainId;
        assembly {
            chainId := chainid()
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint value) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint value) external returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) external returns (bool) {
        if (allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        require(deadline >= block.timestamp, 'BSCswap: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'BSCswap: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}

pragma solidity =0.6.12;

// import './BSCswapBEP20.sol';
// import './libraries/Math.sol';
// import './libraries/UQ112x112.sol';
// import './interfaces/IBEP20.sol';
// import './interfaces/IBSCswapFactory.sol';
// import './interfaces/IBSCswapCallee.sol';

contract BSCswapPair is BSCswapBEP20 {
    using SafeMathBSCswap  for uint;
    using UQ112x112 for uint224;

    uint public constant MINIMUM_LIQUIDITY = 10**3;
    bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    address public factory;
    address public token0;
    address public token1;

    uint112 private reserve0;           // uses single storage slot, accessible via getReserves
    uint112 private reserve1;           // uses single storage slot, accessible via getReserves
    uint32  private blockTimestampLast; // uses single storage slot, accessible via getReserves

    uint public price0CumulativeLast;
    uint public price1CumulativeLast;
    uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event

    uint private unlocked = 1;
    modifier lock() {
        require(unlocked == 1, 'BSCswap: LOCKED');
        unlocked = 0;
        _;
        unlocked = 1;
    }

    function getReserves() public view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) {
        _reserve0 = reserve0;
        _reserve1 = reserve1;
        _blockTimestampLast = blockTimestampLast;
    }

    function _safeTransfer(address token, address to, uint value) private {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'BSCswap: TRANSFER_FAILED');
    }

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    constructor() public {
        factory = msg.sender;
    }

    // called once by the factory at time of deployment
    function initialize(address _token0, address _token1) external {
        require(msg.sender == factory, 'BSCswap: FORBIDDEN'); // sufficient check
        token0 = _token0;
        token1 = _token1;
    }

    // update reserves and, on the first call per block, price accumulators
    function _update(uint balance0, uint balance1, uint112 _reserve0, uint112 _reserve1) private {
        require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'BSCswap: OVERFLOW');
        uint32 blockTimestamp = uint32(block.timestamp % 2**32);
        uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired
        if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {
            // * never overflows, and + overflow is desired
            price0CumulativeLast += uint(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed;
            price1CumulativeLast += uint(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed;
        }
        reserve0 = uint112(balance0);
        reserve1 = uint112(balance1);
        blockTimestampLast = blockTimestamp;
        emit Sync(reserve0, reserve1);
    }

    // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)
    function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {
        address feeTo = IBSCswapFactory(factory).feeTo();
        feeOn = feeTo != address(0);
        uint _kLast = kLast; // gas savings
        if (feeOn) {
            if (_kLast != 0) {
                uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1));
                uint rootKLast = Math.sqrt(_kLast);
                if (rootK > rootKLast) {
                    uint numerator = totalSupply.mul(rootK.sub(rootKLast));
                    uint denominator = rootK.mul(5).add(rootKLast);
                    uint liquidity = numerator / denominator;
                    if (liquidity > 0) _mint(feeTo, liquidity);
                }
            }
        } else if (_kLast != 0) {
            kLast = 0;
        }
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function mint(address to) external lock returns (uint liquidity) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        uint balance0 = IBEP20BSCswap(token0).balanceOf(address(this));
        uint balance1 = IBEP20BSCswap(token1).balanceOf(address(this));
        uint amount0 = balance0.sub(_reserve0);
        uint amount1 = balance1.sub(_reserve1);

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        if (_totalSupply == 0) {
            liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);
           _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens
        } else {
            liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1);
        }
        require(liquidity > 0, 'BSCswap: INSUFFICIENT_LIQUIDITY_MINTED');
        _mint(to, liquidity);

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Mint(msg.sender, amount0, amount1);
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function burn(address to) external lock returns (uint amount0, uint amount1) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        address _token0 = token0;                                // gas savings
        address _token1 = token1;                                // gas savings
        uint balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        uint balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));
        uint liquidity = balanceOf[address(this)];

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution
        amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution
        require(amount0 > 0 && amount1 > 0, 'BSCswap: INSUFFICIENT_LIQUIDITY_BURNED');
        _burn(address(this), liquidity);
        _safeTransfer(_token0, to, amount0);
        _safeTransfer(_token1, to, amount1);
        balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Burn(msg.sender, amount0, amount1, to);
    }

    // this low-level function should be called from a contract which performs // important safety checks
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock {
        require(amount0Out > 0 || amount1Out > 0, 'BSCswap: INSUFFICIENT_OUTPUT_AMOUNT');
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        require(amount0Out < _reserve0 && amount1Out < _reserve1, 'BSCswap: INSUFFICIENT_LIQUIDITY');

        uint balance0;
        uint balance1;
        { // scope for _token{0,1}, avoids stack too deep errors
        address _token0 = token0;
        address _token1 = token1;
        require(to != _token0 && to != _token1, 'BSCswap: INVALID_TO');
        if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens
        if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens
        if (data.length > 0) IBSCswapCallee(to).BSCswapCall(msg.sender, amount0Out, amount1Out, data);
        balance0 = IBEP20BSCswap(_token0).balanceOf(address(this));
        balance1 = IBEP20BSCswap(_token1).balanceOf(address(this));
        }
        uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0;
        uint amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0;
        require(amount0In > 0 || amount1In > 0, 'BSCswap: INSUFFICIENT_INPUT_AMOUNT');
        { // scope for reserve{0,1}Adjusted, avoids stack too deep errors
        uint balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));
        uint balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));
        require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(1000**2), 'BSCswap: K');
        }

        _update(balance0, balance1, _reserve0, _reserve1);
        emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);
    }

    // force balances to match reserves
    function skim(address to) external lock {
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        _safeTransfer(_token0, to, IBEP20BSCswap(_token0).balanceOf(address(this)).sub(reserve0));
        _safeTransfer(_token1, to, IBEP20BSCswap(_token1).balanceOf(address(this)).sub(reserve1));
    }

    // force reserves to match balances
    function sync() external lock {
        _update(IBEP20BSCswap(token0).balanceOf(address(this)), IBEP20BSCswap(token1).balanceOf(address(this)), reserve0, reserve1);
    }
}

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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"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"}]

60806040526001600c5534801561001557600080fd5b50604080518082018252601081526f2129a1b9bbb0b8102628102a37b5b2b760811b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc125d93fd6f6bab15c37edd2f8405ac107cdef11825afbbfdfa809d2b34d7602818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600355600580546001600160a01b031916331790556121ae8061010e6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610adb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610b07565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b31565b604080519115158252519081900360200190f35b610339610b48565b604080516001600160a01b039092168252519081900360200190f35b61035d610b57565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b5d565b61035d610bf1565b6103b5610c15565b6040805160ff9092168252519081900360200190f35b61035d610c1a565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c20565b61035d610ca2565b61035d610ca8565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610cae565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316610f88565b61035d610f9a565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316610fa0565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316610fb2565b6040805192835260208301919091528051918290030190f35b610244611344565b61031d600480360360408110156104e857600080fd5b506001600160a01b038135169060200135611363565b61035d611370565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b0316611376565b6103396114e6565b6103396114f5565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611504565b61035d600480360360408110156105a357600080fd5b506001600160a01b0381358116916020013516611704565b61023a611721565b600c5460011461060c576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c558415158061061f5750600084115b61065a5760405162461bcd60e51b81526004018080602001828103825260238152602001806121566023913960400191505060405180910390fd5b600080610665610b07565b5091509150816001600160701b03168710801561068a5750806001600160701b031686105b6106db576040805162461bcd60e51b815260206004820152601f60248201527f425343737761703a20494e53554646494349454e545f4c495155494449545900604482015290519081900360640190fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107195750806001600160a01b0316896001600160a01b031614155b610760576040805162461bcd60e51b8152602060048201526013602482015272425343737761703a20494e56414c49445f544f60681b604482015290519081900360640190fd5b8a1561077157610771828a8d611881565b891561078257610782818a8c611881565b861561083457886001600160a01b03166375908f7c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108f057600080fd5b505afa158015610904573d6000803e3d6000fd5b505050506040513d602081101561091a57600080fd5b5051925060009150506001600160701b0385168a9003831161093d57600061094c565b89856001600160701b03160383035b9050600089856001600160701b0316038311610969576000610978565b89856001600160701b03160383035b905060008211806109895750600081115b6109c45760405162461bcd60e51b815260040180806020018281038252602281526020018061210e6022913960400191505060405180910390fd5b60006109e66109d4846003611a1b565b6109e0876103e8611a1b565b90611a7e565b905060006109f86109d4846003611a1b565b9050610a1d620f4240610a176001600160701b038b8116908b16611a1b565b90611a1b565b610a278383611a1b565b1015610a67576040805162461bcd60e51b815260206004820152600a602482015269425343737761703a204b60b01b604482015290519081900360640190fd5b5050610a7584848888611ace565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601081526020016f2129a1b9bbb0b8102628102a37b5b2b760811b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b3e338484611c8b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bdc576001600160a01b0384166000908152600260209081526040808320338452909152902054610bb79083611a7e565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610be7848484611ced565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c74576040805162461bcd60e51b81526020600482015260126024820152712129a1b9bbb0b81d102327a92124a22222a760711b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cf9576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c81905580610d09610b07565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d6020811015610d8757600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dda57600080fd5b505afa158015610dee573d6000803e3d6000fd5b505050506040513d6020811015610e0457600080fd5b505190506000610e1d836001600160701b038716611a7e565b90506000610e34836001600160701b038716611a7e565b90506000610e428787611d9b565b60005490915080610e7957610e656103e86109e0610e608787611a1b565b611edb565b9850610e7460006103e8611f2d565b610ebc565b610eb96001600160701b038916610e908684611a1b565b81610e9757fe5b046001600160701b038916610eac8685611a1b565b81610eb357fe5b04611fb7565b98505b60008911610efb5760405162461bcd60e51b81526004018080602001828103825260268152602001806121306026913960400191505060405180910390fd5b610f058a8a611f2d565b610f1186868a8a611ace565b8115610f3b57600854610f37906001600160701b0380821691600160701b900416611a1b565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114610ffe576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c8190558061100e610b07565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156110e257600080fd5b505afa1580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b50513060009081526001602052604081205491925061112b8888611d9b565b6000549091508061113c8487611a1b565b8161114357fe5b049a50806111518486611a1b565b8161115857fe5b04995060008b11801561116b575060008a115b6111a65760405162461bcd60e51b81526004018080602001828103825260268152602001806120e86026913960400191505060405180910390fd5b6111b03084611fcf565b6111bb878d8d611881565b6111c6868d8c611881565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561120c57600080fd5b505afa158015611220573d6000803e3d6000fd5b505050506040513d602081101561123657600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561128257600080fd5b505afa158015611296573d6000803e3d6000fd5b505050506040513d60208110156112ac57600080fd5b505193506112bc85858b8b611ace565b81156112e6576008546112e2906001600160701b0380821691600160701b900416611a1b565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620424c560ec1b81525081565b6000610b3e338484611ced565b6103e881565b600c546001146113bf576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b0394851694909316926114689285928792611463926001600160701b03169185916370a0823191602480820192602092909190829003018186803b15801561143157600080fd5b505afa158015611445573d6000803e3d6000fd5b505050506040513d602081101561145b57600080fd5b505190611a7e565b611881565b6114dc81846114636008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143157600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b4284101561154c576040805162461bcd60e51b815260206004820152601060248201526f1094d0dcddd85c0e881156141254915160821b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611667573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061169d5750886001600160a01b0316816001600160a01b0316145b6116ee576040805162461bcd60e51b815260206004820152601a60248201527f425343737761703a20494e56414c49445f5349474e4154555245000000000000604482015290519081900360640190fd5b6116f9898989611c8b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c5460011461176a576040805162461bcd60e51b815260206004820152600f60248201526e1094d0dcddd85c0e881313d0d2d151608a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b8152306004820152905161187a926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156117bb57600080fd5b505afa1580156117cf573d6000803e3d6000fd5b505050506040513d60208110156117e557600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561183257600080fd5b505afa158015611846573d6000803e3d6000fd5b505050506040513d602081101561185c57600080fd5b50516008546001600160701b0380821691600160701b900416611ace565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b6020831061192e5780518252601f19909201916020918201910161190f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091508180156119c35750805115806119c357508080602001905160208110156119c057600080fd5b50515b611a14576040805162461bcd60e51b815260206004820152601860248201527f425343737761703a205452414e534645525f4641494c45440000000000000000604482015290519081900360640190fd5b5050505050565b6000811580611a3657505080820282828281611a3357fe5b04145b610b42576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b42576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611aec57506001600160701b038311155b611b31576040805162461bcd60e51b8152602060048201526011602482015270425343737761703a204f564552464c4f5760781b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611b6157506001600160701b03841615155b8015611b7557506001600160701b03831615155b15611be0578063ffffffff16611b9d85611b8e86612061565b6001600160e01b031690612073565b600980546001600160e01b03929092169290920201905563ffffffff8116611bc884611b8e87612061565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611d109082611a7e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611d3f9082612098565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611dec57600080fd5b505afa158015611e00573d6000803e3d6000fd5b505050506040513d6020811015611e1657600080fd5b5051600b546001600160a01b038216158015945091925090611ec7578015611ec2576000611e53610e606001600160701b03888116908816611a1b565b90506000611e6083611edb565b905080821115611ebf576000611e82611e798484611a7e565b60005490611a1b565b90506000611e9b83611e95866005611a1b565b90612098565b90506000818381611ea857fe5b0490508015611ebb57611ebb8782611f2d565b5050505b50505b611ed3565b8015611ed3576000600b555b505092915050565b60006003821115611f1e575080600160028204015b81811015611f1857809150600281828581611f0757fe5b040181611f1057fe5b049050611ef0565b50611f28565b8115611f28575060015b919050565b600054611f3a9082612098565b60009081556001600160a01b038316815260016020526040902054611f5f9082612098565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310611fc65781611fc8565b825b9392505050565b6001600160a01b038216600090815260016020526040902054611ff29082611a7e565b6001600160a01b038316600090815260016020526040812091909155546120199082611a7e565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161209057fe5b049392505050565b80820182811015610b42576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe425343737761703a20494e53554646494349454e545f4c49515549444954595f4255524e4544425343737761703a20494e53554646494349454e545f494e5055545f414d4f554e54425343737761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544425343737761703a20494e53554646494349454e545f4f55545055545f414d4f554e54a2646970667358221220c1e9d060e0599d8a041609a0c8560eb7f782bcd43f06d5d3d17f513d547f217064736f6c634300060c0033

Deployed ByteCode Sourcemap

7787:9739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15016:1889;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15016:1889:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15016:1889:0;;-1:-1:-1;15016:1889:0;-1:-1:-1;15016:1889:0;:::i;:::-;;4178:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8793:231;;;:::i;:::-;;;;-1:-1:-1;;;;;8793:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6230:147;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6230:147:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8084:21;;;:::i;:::-;;;;-1:-1:-1;;;;;8084:21:0;;;;;;;;;;;;;;4319:24;;;:::i;:::-;;;;;;;;;;;;;;;;6532:301;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6532:301:0;;;;;;;;;;;;;;;;;:::i;4611:108::-;;;:::i;4277:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4468:31;;;:::i;9851:208::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9851:208:0;;;;;;;;;;:::i;8435:32::-;;;:::i;8474:::-;;;:::i;12042:1252::-;;;;;;;;;;;;;;;;-1:-1:-1;12042:1252:0;-1:-1:-1;;;;;12042:1252:0;;:::i;4350:41::-;;;;;;;;;;;;;;;;-1:-1:-1;4350:41:0;-1:-1:-1;;;;;4350:41:0;;:::i;8513:17::-;;;:::i;4726:38::-;;;;;;;;;;;;;;;;-1:-1:-1;4726:38:0;-1:-1:-1;;;;;4726:38:0;;:::i;13409:1492::-;;;;;;;;;;;;;;;;-1:-1:-1;13409:1492:0;-1:-1:-1;;;;;13409:1492:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4233:37;;;:::i;6385:139::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6385:139:0;;;;;;;;:::i;7905:46::-;;;:::i;16954:348::-;;;;;;;;;;;;;;;;-1:-1:-1;16954:348:0;-1:-1:-1;;;;;16954:348:0;;:::i;8055:22::-;;;:::i;8112:21::-;;;:::i;6841:670::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6841:670:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4398:61::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4398:61:0;;;;;;;;;;:::i;17351:172::-;;;:::i;15016:1889::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;15130:14;;;;:32:::1;;;15161:1;15148:10;:14;15130:32;15122:80;;;;-1:-1:-1::0;;;15122:80:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15214:17;15233::::0;15255:13:::1;:11;:13::i;:::-;15213:55;;;;;15315:9;-1:-1:-1::0;;;;;15302:22:0::1;:10;:22;:48;;;;;15341:9;-1:-1:-1::0;;;;;15328:22:0::1;:10;:22;15302:48;15294:92;;;::::0;;-1:-1:-1;;;15294:92:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;15531:6;::::0;15566::::1;::::0;15399:13:::1;::::0;;;-1:-1:-1;;;;;15531:6:0;;::::1;::::0;15566;;::::1;::::0;15591:13;::::1;::::0;::::1;::::0;::::1;::::0;:30:::1;;;15614:7;-1:-1:-1::0;;;;;15608:13:0::1;:2;-1:-1:-1::0;;;;;15608:13:0::1;;;15591:30;15583:62;;;::::0;;-1:-1:-1;;;15583:62:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15583:62:0;;;;;;;;;;;;;::::1;;15660:14:::0;;15656:58:::1;;15676:38;15690:7;15699:2;15703:10;15676:13;:38::i;:::-;15763:14:::0;;15759:58:::1;;15779:38;15793:7;15802:2;15806:10;15779:13;:38::i;:::-;15866:15:::0;;15862:93:::1;;15898:2;-1:-1:-1::0;;;;;15883:30:0::1;;15914:10;15926;15938;15950:4;;15883:72;;;;;;;;;;;;;-1:-1:-1::0;;;;;15883:72:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15862:93;15977:47;::::0;;-1:-1:-1;;;15977:47:0;;16018:4:::1;15977:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;15977:32:0;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;15977:47:0;16046::::1;::::0;;-1:-1:-1;;;16046:47:0;;16087:4:::1;16046:47;::::0;::::1;::::0;;;15977;;-1:-1:-1;;;;;;16046:32:0;::::1;::::0;::::1;::::0;:47;;;;;15977::::1;::::0;16046;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;16046:47:0;;-1:-1:-1;16115:14:0::1;::::0;-1:-1:-1;;;;;;;16143:22:0;::::1;::::0;;::::1;16132:33:::0;::::1;:75;;16206:1;16132:75;;;16192:10;16180:9;-1:-1:-1::0;;;;;16180:22:0::1;;16168:8;:35;16132:75;16115:92;;16218:14;16258:10;16246:9;-1:-1:-1::0;;;;;16246:22:0::1;;16235:8;:33;:75;;16309:1;16235:75;;;16295:10;16283:9;-1:-1:-1::0;;;;;16283:22:0::1;;16271:8;:35;16235:75;16218:92;;16341:1;16329:9;:13;:30;;;;16358:1;16346:9;:13;16329:30;16321:77;;;;-1:-1:-1::0;;;16321:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16484:21;16508:40;16531:16;:9:::0;16545:1:::1;16531:13;:16::i;:::-;16508:18;:8:::0;16521:4:::1;16508:12;:18::i;:::-;:22:::0;::::1;:40::i;:::-;16484:64:::0;-1:-1:-1;16559:21:0::1;16583:40;16606:16;:9:::0;16620:1:::1;16606:13;:16::i;16583:40::-;16559:64:::0;-1:-1:-1;16684:43:0::1;16719:7;16684:30;-1:-1:-1::0;;;;;16684:15:0;;::::1;::::0;:30;::::1;:19;:30::i;:::-;:34:::0;::::1;:43::i;:::-;16642:38;:16:::0;16663;16642:20:::1;:38::i;:::-;:85;;16634:108;;;::::0;;-1:-1:-1;;;16634:108:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16634:108:0;;;;;;;;;;;;;::::1;;8753:1;;16766:49;16774:8;16784;16794:9;16805;16766:7;:49::i;:::-;16831:66;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16831:66:0;::::1;::::0;16836:10:::1;::::0;16831:66:::1;::::0;;;;;;;::::1;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;;;;;;;;;15016:1889:0:o;4178:48::-;;;;;;;;;;;;;;-1:-1:-1;;;4178:48:0;;;;:::o;8793:231::-;8926:8;;-1:-1:-1;;;;;8926:8:0;;;;-1:-1:-1;;;8957:8:0;;;;;;-1:-1:-1;;;8998:18:0;;;;;8793:231::o;6230:147::-;6294:4;6311:36;6320:10;6332:7;6341:5;6311:8;:36::i;:::-;-1:-1:-1;6365:4:0;6230:147;;;;;:::o;8084:21::-;;;-1:-1:-1;;;;;8084:21:0;;:::o;4319:24::-;;;;:::o;6532:301::-;-1:-1:-1;;;;;6631:15:0;;6610:4;6631:15;;;:9;:15;;;;;;;;6647:10;6631:27;;;;;;;;-1:-1:-1;;6631:39:0;6627:140;;-1:-1:-1;;;;;6717:15:0;;;;;;:9;:15;;;;;;;;6733:10;6717:27;;;;;;;;:38;;6749:5;6717:31;:38::i;:::-;-1:-1:-1;;;;;6687:15:0;;;;;;:9;:15;;;;;;;;6703:10;6687:27;;;;;;;:68;6627:140;6777:26;6787:4;6793:2;6797:5;6777:9;:26::i;:::-;-1:-1:-1;6821:4:0;6532:301;;;;;:::o;4611:108::-;4653:66;4611:108;:::o;4277:35::-;4310:2;4277:35;:::o;4468:31::-;;;;:::o;9851:208::-;9947:7;;-1:-1:-1;;;;;9947:7:0;9933:10;:21;9925:52;;;;;-1:-1:-1;;;9925:52:0;;;;;;;;;;;;-1:-1:-1;;;9925:52:0;;;;;;;;;;;;;;;10008:6;:16;;-1:-1:-1;;;;;10008:16:0;;;-1:-1:-1;;;;;;10008:16:0;;;;;;;10035:6;:16;;;;;;;;;;;9851:208::o;8435:32::-;;;;:::o;8474:::-;;;;:::o;12042:1252::-;12091:14;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;;;8741:1;12160:13:::1;:11;:13::i;:::-;-1:-1:-1::0;12229:6:0::1;::::0;12215:46:::1;::::0;;-1:-1:-1;;;12215:46:0;;12255:4:::1;12215:46;::::0;::::1;::::0;;;12118:55;;-1:-1:-1;12118:55:0;;-1:-1:-1;12199:13:0::1;::::0;-1:-1:-1;;;;;12229:6:0;;::::1;::::0;12215:31:::1;::::0;:46;;;;;::::1;::::0;;;;;;;;12229:6;12215:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12215:46:0;12302:6:::1;::::0;12288:46:::1;::::0;;-1:-1:-1;;;12288:46:0;;12328:4:::1;12288:46;::::0;::::1;::::0;;;12215;;-1:-1:-1;12272:13:0::1;::::0;-1:-1:-1;;;;;12302:6:0;;::::1;::::0;12288:31:::1;::::0;:46;;;;;12215::::1;::::0;12288;;;;;;;;12302:6;12288:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12288:46:0;;-1:-1:-1;12345:12:0::1;12360:23;:8:::0;-1:-1:-1;;;;;12360:23:0;::::1;:12;:23::i;:::-;12345:38:::0;-1:-1:-1;12394:12:0::1;12409:23;:8:::0;-1:-1:-1;;;;;12409:23:0;::::1;:12;:23::i;:::-;12394:38;;12445:10;12458:30;12467:9;12478;12458:8;:30::i;:::-;12499:17;12519:11:::0;12445:43;;-1:-1:-1;12623:17:0;12619:352:::1;;12669:54;7946:5;12669:31;12679:20;:7:::0;12691;12679:11:::1;:20::i;:::-;12669:9;:31::i;:54::-;12657:66;;12737:36;12751:1;7946:5;12737;:36::i;:::-;12619:352;;;12873:86;-1:-1:-1::0;;;;;12882:37:0;::::1;:25;:7:::0;12894:12;12882:11:::1;:25::i;:::-;:37;;;;;;-1:-1:-1::0;;;;;12921:37:0;::::1;:25;:7:::0;12933:12;12921:11:::1;:25::i;:::-;:37;;;;;;12873:8;:86::i;:::-;12861:98;;12619:352;13001:1;12989:9;:13;12981:64;;;;-1:-1:-1::0;;;12981:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13056:20;13062:2;13066:9;13056:5;:20::i;:::-;13089:49;13097:8;13107;13117:9;13128;13089:7;:49::i;:::-;13153:5;13149:47;;;13187:8;::::0;13168:28:::1;::::0;-1:-1:-1;;;;;13173:8:0;;::::1;::::0;-1:-1:-1;;;13187:8:0;::::1;;13168:18;:28::i;:::-;13160:5;:36:::0;13149:47:::1;13252:34;::::0;;;;;::::1;::::0;::::1;::::0;;;;;13257:10:::1;::::0;13252:34:::1;::::0;;;;;;::::1;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;12042:1252:0;;;-1:-1:-1;;;;;;12042:1252:0:o;4350:41::-;;;;;;;;;;;;;:::o;8513:17::-;;;;:::o;4726:38::-;;;;;;;;;;;;;:::o;13409:1492::-;13458:12;13472;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;;;8741:1;13539:13:::1;:11;:13::i;:::-;-1:-1:-1::0;13596:6:0::1;::::0;13677::::1;::::0;13756:47:::1;::::0;;-1:-1:-1;;;13756:47:0;;13797:4:::1;13756:47;::::0;::::1;::::0;;;13497:55;;-1:-1:-1;13497:55:0;;-1:-1:-1;;;;;;13596:6:0;;::::1;::::0;13677;::::1;::::0;13578:15:::1;::::0;13596:6;;13756:32:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;13596:6;13756:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13756:47:0;13830::::1;::::0;;-1:-1:-1;;;13830:47:0;;13871:4:::1;13830:47;::::0;::::1;::::0;;;13756;;-1:-1:-1;13814:13:0::1;::::0;-1:-1:-1;;;;;13830:32:0;::::1;::::0;::::1;::::0;:47;;;;;13756::::1;::::0;13830;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13830:47:0;13923:4:::1;13888:14;13905:24:::0;;;:9:::1;13830:47;13905:24:::0;;;;;13830:47;;-1:-1:-1;13955:30:0::1;13964:9:::0;13975;13955:8:::1;:30::i;:::-;13996:17;14016:11:::0;13942:43;;-1:-1:-1;14016:11:0;14126:23:::1;:9:::0;14140:8;14126:13:::1;:23::i;:::-;:38;;;;;;::::0;-1:-1:-1;14259:12:0;14233:23:::1;:9:::0;14247:8;14233:13:::1;:23::i;:::-;:38;;;;;;14223:48;;14348:1;14338:7;:11;:26;;;;;14363:1;14353:7;:11;14338:26;14330:77;;;;-1:-1:-1::0;;;14330:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14418:31;14432:4;14439:9;14418:5;:31::i;:::-;14460:35;14474:7;14483:2;14487:7;14460:13;:35::i;:::-;14506;14520:7;14529:2;14533:7;14506:13;:35::i;:::-;14563:47;::::0;;-1:-1:-1;;;14563:47:0;;14604:4:::1;14563:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;14563:32:0;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14563:47:0;14632::::1;::::0;;-1:-1:-1;;;14632:47:0;;14673:4:::1;14632:47;::::0;::::1;::::0;;;14563;;-1:-1:-1;;;;;;14632:32:0;::::1;::::0;::::1;::::0;:47;;;;;14563::::1;::::0;14632;;;;;;;;:32;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14632:47:0;;-1:-1:-1;14692:49:0::1;14700:8:::0;14632:47;14720:9;14731;14692:7:::1;:49::i;:::-;14756:5;14752:47;;;14790:8;::::0;14771:28:::1;::::0;-1:-1:-1;;;;;14776:8:0;;::::1;::::0;-1:-1:-1;;;14790:8:0;::::1;;14771:18;:28::i;:::-;14763:5;:36:::0;14752:47:::1;14855:38;::::0;;;;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;14855:38:0;::::1;::::0;14860:10:::1;::::0;14855:38:::1;::::0;;;;;;;;;::::1;8753:1;;;;;;;;;8776::::0;8765:8;:12;;;;13409:1492;;;:::o;4233:37::-;;;;;;;;;;;;;;-1:-1:-1;;;4233:37:0;;;;:::o;6385:139::-;6445:4;6462:32;6472:10;6484:2;6488:5;6462:9;:32::i;7905:46::-;7946:5;7905:46;:::o;16954:348::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;17023:6:::1;::::0;17073::::1;::::0;17184:8:::1;::::0;17132:47:::1;::::0;;-1:-1:-1;;;17132:47:0;;17173:4:::1;17132:47;::::0;::::1;::::0;;;-1:-1:-1;;;;;17023:6:0;;::::1;::::0;17073;;::::1;::::0;17105:89:::1;::::0;17023:6;;17128:2;;17132:61:::1;::::0;-1:-1:-1;;;;;17184:8:0::1;::::0;17023:6;;17132:32:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;17023:6;17132:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17132:47:0;;:51:::1;:61::i;:::-;17105:13;:89::i;:::-;17205;17219:7;17228:2;17232:61;17284:8;;;;;;;;;-1:-1:-1::0;;;;;17284:8:0::1;-1:-1:-1::0;;;;;17232:61:0::1;17246:7;-1:-1:-1::0;;;;;17232:32:0::1;;17273:4;17232:47;;;;;;;;;;;;;-1:-1:-1::0;;;;;17232:47:0::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;17205:89;-1:-1:-1::0;;8776:1:0;8765:8;:12;-1:-1:-1;16954:348:0:o;8055:22::-;;;-1:-1:-1;;;;;8055:22:0;;:::o;8112:21::-;;;-1:-1:-1;;;;;8112:21:0;;:::o;6841:670::-;6987:15;6975:8;:27;;6967:56;;;;;-1:-1:-1;;;6967:56:0;;;;;;;;;;;;-1:-1:-1;;;6967:56:0;;;;;;;;;;;;;;;7139:16;;-1:-1:-1;;;;;7235:13:0;;;7034:14;7235:13;;;:6;:13;;;;;;;;:15;;;;;;;;;7184:77;;4653:66;7184:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7174:88;;;;;;-1:-1:-1;;;7075:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7051:237;;;;;;;;;7326:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7034:14;;7235:15;7326:26;;;;;-1:-1:-1;;7326:26:0;;;;;;;;;;7235:15;7326:26;;;;;;;;;;;;;;;-1:-1:-1;;7326:26:0;;-1:-1:-1;;7326:26:0;;;-1:-1:-1;;;;;;;7371:30:0;;;;;;:59;;;7425:5;-1:-1:-1;;;;;7405:25:0;:16;-1:-1:-1;;;;;7405:25:0;;7371:59;7363:98;;;;;-1:-1:-1;;;7363:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:31;7481:5;7488:7;7497:5;7472:8;:31::i;:::-;6841:670;;;;;;;;;:::o;4398:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;17351:172::-;8686:8;;8698:1;8686:13;8678:41;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;-1:-1:-1;;;8678:41:0;;;;;;;;;;;;;;;8741:1;8730:8;:12;17414:6:::1;::::0;17400:46:::1;::::0;;-1:-1:-1;;;17400:46:0;;17440:4:::1;17400:46;::::0;::::1;::::0;;;17392:123:::1;::::0;-1:-1:-1;;;;;17414:6:0::1;::::0;17400:31:::1;::::0;:46;;;;;::::1;::::0;;;;;;;;17414:6;17400:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17400:46:0;17462:6:::1;::::0;17448:46:::1;::::0;;-1:-1:-1;;;17448:46:0;;17488:4:::1;17448:46;::::0;::::1;::::0;;;-1:-1:-1;;;;;17462:6:0;;::::1;::::0;17448:31:::1;::::0;:46;;;;;17400::::1;::::0;17448;;;;;;;;17462:6;17448:46;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17448:46:0;17496:8:::1;::::0;-1:-1:-1;;;;;17496:8:0;;::::1;::::0;-1:-1:-1;;;17506:8:0;::::1;;17392:7;:123::i;:::-;8776:1:::0;8765:8;:12;17351:172::o;9032:285::-;8010:34;;;;;;;;;;;;;;;;;9160:43;;-1:-1:-1;;;;;9160:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9160:43:0;-1:-1:-1;;;9160:43:0;;;9149:55;;;;9114:12;;9128:17;;9149:10;;;9160:43;9149:55;;;9160:43;9149:55;;9160:43;9149:55;;;;;;;;;;-1:-1:-1;;9149:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9113:91;;;;9223:7;:57;;;;-1:-1:-1;9235:11:0;;:16;;:44;;;9266:4;9255:24;;;;;;;;;;;;;;;-1:-1:-1;9255:24:0;9235:44;9215:94;;;;;-1:-1:-1;;;9215:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9032:285;;;;;:::o;617:142::-;669:6;696;;;:30;;-1:-1:-1;;711:5:0;;;725:1;720;711:5;720:1;706:15;;;;;:20;696:30;688:63;;;;;-1:-1:-1;;;688:63:0;;;;;;;;;;;;-1:-1:-1;;;688:63:0;;;;;;;;;;;;;;480:129;564:5;;;559:16;;;;551:50;;;;;-1:-1:-1;;;551:50:0;;;;;;;;;;;;-1:-1:-1;;;551:50:0;;;;;;;;;;;;;;10144:858;-1:-1:-1;;;;;10256:23:0;;;;;:50;;-1:-1:-1;;;;;;10283:23:0;;;10256:50;10248:80;;;;;-1:-1:-1;;;10248:80:0;;;;;;;;;;;;-1:-1:-1;;;10248:80:0;;;;;;;;;;;;;;;10443:18;;10370:23;:15;:23;;;-1:-1:-1;;;10443:18:0;;;;10426:35;;;10499:15;;;;;;:33;;-1:-1:-1;;;;;;10518:14:0;;;;10499:33;:51;;;;-1:-1:-1;;;;;;10536:14:0;;;;10499:51;10495:336;;;10705:11;10652:64;;10657:44;10691:9;10657:27;10674:9;10657:16;:27::i;:::-;-1:-1:-1;;;;;10657:33:0;;;:44::i;:::-;10628:20;:88;;-1:-1:-1;;;;;10652:50:0;;;;:64;;;;10628:88;;;10755:64;;;10760:44;10794:9;10760:27;10777:9;10760:16;:27::i;:44::-;10731:20;:88;;-1:-1:-1;;;;;10755:50:0;;;;:64;;;;10731:88;;;10495:336;10841:8;:28;;-1:-1:-1;;10841:28:0;-1:-1:-1;;;;;10841:28:0;;;;;;;-1:-1:-1;;;;10880:28:0;-1:-1:-1;;;10880:28:0;;;;;;;;;-1:-1:-1;;;;;10919:35:0;-1:-1:-1;;;10919:35:0;;;;;;;;;10970:24;;;10975:8;;;10970:24;;10985:8;;;;;;;10970:24;;;;;;;;;;;;;;;;;10144:858;;;;;;:::o;5825:169::-;-1:-1:-1;;;;;5906:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;5955:31;;;;;;;;;;;;;;;;;5825:169;;;:::o;6002:220::-;-1:-1:-1;;;;;6096:15:0;;;;;;:9;:15;;;;;;:26;;6116:5;6096:19;:26::i;:::-;-1:-1:-1;;;;;6078:15:0;;;;;;;:9;:15;;;;;;:44;;;;6149:13;;;;;;;:24;;6167:5;6149:17;:24::i;:::-;-1:-1:-1;;;;;6133:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;6189:25;;;;;;;6133:13;;6189:25;;;;;;;;;;;;;6002:220;;;:::o;11092:835::-;11165:10;11188:13;11220:7;;;;;;;;;-1:-1:-1;;;;;11220:7:0;-1:-1:-1;;;;;11204:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11204:32:0;11299:5;;-1:-1:-1;;;;;11255:19:0;;;;;;-1:-1:-1;11204:32:0;;-1:-1:-1;11299:5:0;11330:590;;11360:11;;11356:494;;11392:10;11405:41;11415:30;-1:-1:-1;;;;;11415:15:0;;;;:30;;:19;:30::i;11405:41::-;11392:54;;11465:14;11482:17;11492:6;11482:9;:17::i;:::-;11465:34;;11530:9;11522:5;:17;11518:317;;;11564:14;11581:37;11597:20;:5;11607:9;11597;:20::i;:::-;11581:11;;;:15;:37::i;:::-;11564:54;-1:-1:-1;11641:16:0;11660:27;11677:9;11660:12;:5;11670:1;11660:9;:12::i;:::-;:16;;:27::i;:::-;11641:46;;11710:14;11739:11;11727:9;:23;;;;;;;-1:-1:-1;11777:13:0;;11773:42;;11792:23;11798:5;11805:9;11792:5;:23::i;:::-;11518:317;;;;11356:494;;;11330:590;;;11871:11;;11867:53;;11907:1;11899:5;:9;11867:53;11092:835;;;;;;:::o;3678:303::-;3723:6;3750:1;3746;:5;3742:232;;;-1:-1:-1;3772:1:0;3805;3801;3797:5;;:9;3821:92;3832:1;3828;:5;3821:92;;;3858:1;3854:5;;3896:1;3891;3887;3883;:5;;;;;;:9;3882:15;;;;;;3878:19;;3821:92;;;3742:232;;;;3934:6;;3930:44;;-1:-1:-1;3961:1:0;3930:44;3678:303;;;:::o;5399:201::-;5472:11;;:22;;5488:5;5472:15;:22::i;:::-;5458:11;:36;;;-1:-1:-1;;;;;5521:13:0;;;;:9;:13;;;;;;:24;;5539:5;5521:17;:24::i;:::-;-1:-1:-1;;;;;5505:13:0;;;;;;:9;:13;;;;;;;;:40;;;;5561:31;;;;;;;5505:13;;;;5561:31;;;;;;;;;;5399:201;;:::o;3464:96::-;3516:6;3543:1;3539;:5;:13;;3551:1;3539:13;;;3547:1;3539:13;3535:17;3464:96;-1:-1:-1;;;3464:96:0:o;5608:209::-;-1:-1:-1;;;;;5687:15:0;;;;;;:9;:15;;;;;;:26;;5707:5;5687:19;:26::i;:::-;-1:-1:-1;;;;;5669:15:0;;;;;;:9;:15;;;;;:44;;;;5738:11;:22;;5754:5;5738:15;:22::i;:::-;5724:11;:36;;;5776:33;;;;;;;;-1:-1:-1;;;;;5776:33:0;;;;;;;;;;;;;5608:209;;:::o;3000:120::-;-1:-1:-1;;;;;3076:10:0;-1:-1:-1;;;3076:17:0;;3000:120::o;3191:108::-;3251:9;-1:-1:-1;;;;;3281:10:0;;-1:-1:-1;;;;;3277:14:0;;3281:10;3277:14;;;;;;3191:108;-1:-1:-1;;;3191:108:0:o;344:128::-;428:5;;;423:16;;;;415:49;;;;;-1:-1:-1;;;415:49:0;;;;;;;;;;;;-1:-1:-1;;;415:49:0;;;;;;;;;;;;;

Swarm Source

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