Contract 0xe761afc921ec7ff11df025f8967d08e3daa805a8 2

Contract Overview

Balance:
0 AVAX

AVAX Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x51848516fca1cb99b7f18dd852d71b52d5182c9c408cec0eabaa1772e715b990Approve226021322022-11-20 5:33:578 days 23 hrs ago0x3b069451d3de2381522e61e2e326eba6ab27f681 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.0012807327.5
0x41ef8c560c14445bba551a06dcadcd8522a4397aa91b9042744dbce1af7316a9Approve173797812022-07-16 0:19:57136 days 4 hrs ago0xffcf75bd0b598fb0ae994d81955da7c032e7d1c1 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.00078537627
0xbaf2b2f74f3904bc62b8d4fe522fdf3027e739581f042570d9ca87a66941132dTransfer166654562022-06-29 9:22:13152 days 19 hrs ago0xe64fbe98ddde788c6c52b7c6aa72567147e37403 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.0166734025 26.5
0xdd102197d8b78d3ef7a5a8ce5183cd0a2c7870bf15219352b335bb71bbc2ae54Approve166647142022-06-29 8:57:24152 days 19 hrs ago0xe64fbe98ddde788c6c52b7c6aa72567147e37403 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001257444 27
0x485a83c31c2545243117f76a5ec7d2b9c0bac7e57526177ff589d85a22b1b6a3Approve163383592022-06-21 19:36:16160 days 9 hrs ago0x6102fb7b72936d10d1029573461cc2409979f49d IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.000785376 27
0x15c7485d12208be9892635bd9ab0155faf7ab666b87e6719e45fdc220b3838ecApprove138607742022-04-25 1:24:34218 days 3 hrs ago0x53d5c223ac1a4d0379bdb52714b19087f05192c6 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.00207405607 71.302807697
0x893e04afce707c7520a5d893bc886b8059dc5dd8d42525b17b3ba209f755313bApprove135812462022-04-18 12:50:50224 days 15 hrs ago0x715d84dcde278a4d8a1a738bbdf7b63715924fd9 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.003862990737 82.946636122
0x6f544ac3bc4c8db2e7e65822498d587d7acc4192ac295f7a12135cf5de732977Transfer131224392022-04-07 20:06:40235 days 8 hrs ago0xe57a438ee29c4bf25a6755e7071b1e4a1e4797f1 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.061616433609 111.495511711
0x6332a435d85257bdb259b346eb95c7d1d8e919cc131471115594381aed78d7d7Approve128910662022-04-02 8:09:51240 days 20 hrs ago0x684f87bbba7a4ae4dedaa3094ee4e0269bd37327 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.00176102158 37.812882852
0x21d397eb7b7e30056ac83ef2fc7051660335c71d070a8d88fa0b9e681f9be823Approve126242232022-03-27 1:43:09247 days 3 hrs ago0x17b1d9a1a8f0363e04bccdf2839cb107b2297774 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001234158 26.5
0xcbfada76f91884c9e8debe2875ff5ada15a0101402415770dca1d6825c4ee065Approve125203952022-03-24 15:02:43249 days 13 hrs ago0x5f06693ef9b161a0e9410672bee323c35322c392 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.003780291104 81.170898924
0x1cbe0d3a6e24ba53be1eb880ff2d31d190468aefdb14c2eb3ad789593270dc1fApprove121442622022-03-15 14:28:15258 days 14 hrs ago0x277ce4f20c935b00c51a1cca0581f04534b05fdc IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.0026117901456.080695274
0x71a4631feee132b4479106dd798b5b40985f7ef7217c187b50d1934b33dfd820Approve119351552022-03-10 14:30:27263 days 14 hrs ago0x7f82e84c2021a311131e894ceff475047ded4673 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001632874436 35.061290832
0xbdbb157ee13a5b7f926239107c83e862ed39507a147fdf600100baecb7578fcbApprove118890632022-03-09 12:36:50264 days 16 hrs ago0x4ed9736f883ace3ee6e11717a0396f86de29b6ab IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001234158 26.5
0xd542276d74de6a21e2339e7a4af2a533274292688e1259f33bd646e43481cc7fApprove118887232022-03-09 12:25:27264 days 16 hrs ago0x72afa00c1e700d73a8459ae8599742f9ce3d33fe IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.0007272 25
0x8741f0f4592bfe750c7f38a9ee9d9260912f7edd448d2fb1ed8dbffc2af2f8efApprove112300862022-02-22 1:14:33280 days 3 hrs ago0xea4007a31d9a81c52c5a5106dfca203000e4e885 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001282330856 27.534373789
0x6f2f5fea741600633bc1dce98487df0e4739ed7c97fbc747728d66cf5a1c6422Approve112300512022-02-22 1:13:21280 days 3 hrs ago0xea4007a31d9a81c52c5a5106dfca203000e4e885 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001281455548 27.515579071
0x9663a031208d5677a3b79ca8447cf60b5c5a36ab2e74f18f28a94500fb518e14Approve111483892022-02-20 3:02:56282 days 1 hr ago0xa3b1c0a6143975952160b60fd896428c3ff58835 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.000814464 28
0x8759e33197125a1102849ab4b2b5638494920aa1249196e6f3110caf390fd813Approve110794702022-02-18 12:17:52283 days 16 hrs ago0x424e0fe95f7aa640a59eb1874f53f13d130de667 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.00123552296 26.529308612
0x1c9922ac26ff026e0fb17198ff3b0eeb180b60f3968d27d65a6262eef2f24867Approve110271682022-02-17 6:37:59284 days 22 hrs ago0x71ff03cc10ead4717406f57ced8abc57e55acf90 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001234158 26.5
0xad1194ef4477bfb6a80c0accc6474387d02bec0ef28b6b8cf4c4bc37e8e1d55dApprove109571852022-02-15 14:45:27286 days 13 hrs ago0x5f06693ef9b161a0e9410672bee323c35322c392 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.002795937884 60.034739429
0x02010ed138ce8093fb98edd3157ae69bbe97b5de278d347b9d052bfa478d1f60Approve107945872022-02-11 21:00:51290 days 7 hrs ago0x701533cc1ac85fa5f32ec56fe3ea442bd4977e0d IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.00276336 95
0x50532c3124b59a888a24de481f96335c4a175b07cede14e9c1185b8e1b110d61Approve105681082022-02-06 15:27:52295 days 13 hrs ago0x671813687ef1c4f0dcccd6940880b0cb790364ad IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.001463278202 31.419698577
0x40257dd6ae30ae67cd78f5549b40766f1c2ac1228ba92407c6fa637de83ca2b5Transfer104854232022-02-04 18:17:54297 days 10 hrs ago0x671bbeee5bb6ad9c304bf16122ed77ac5a2e91a9 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.029980551241 47.649818799
0xf83f0f64b1bb73499b19f7a6067fe21cc21d3659654f747d7f3eddf5e4e5d0eeTransfer102602372022-01-30 15:01:05302 days 13 hrs ago0xa9b451ecae2c3646de2d19fd020aa1f4e66034d0 IN  0xe761afc921ec7ff11df025f8967d08e3daa805a80 AVAX0.0125231525
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x0181e590f52cb7abe57f43e8d6be5ae4a28ba6928d95aa440eca2c0564162fe079162552021-12-07 7:17:28356 days 21 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80x408ecb06ef97705afb02646ae1e5537f370a6bfb224.239832550718514445 AVAX
0x7ed19f708bcfec023a526adf61ca2439e9f51cb2f10c8a2f410f020caa6a828978976052021-12-06 20:54:40357 days 7 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.007501021861806325 AVAX
0x7ed19f708bcfec023a526adf61ca2439e9f51cb2f10c8a2f410f020caa6a828978976052021-12-06 20:54:40357 days 7 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 Trader Joe: Router0.008465999233769701 AVAX
0x7ed19f708bcfec023a526adf61ca2439e9f51cb2f10c8a2f410f020caa6a828978976052021-12-06 20:54:40357 days 7 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.033863996935078806 AVAX
0x7ed19f708bcfec023a526adf61ca2439e9f51cb2f10c8a2f410f020caa6a828978976052021-12-06 20:54:40357 days 7 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.059261994636387911 AVAX
0x7ed19f708bcfec023a526adf61ca2439e9f51cb2f10c8a2f410f020caa6a828978976052021-12-06 20:54:40357 days 7 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.10159199080523642 AVAX
0x12683db92ee015b15bc74ed523908392d55d5aa61a2e2253a6cef473753fc57578938152021-12-06 18:46:45357 days 9 hrs ago 0xecdbe3937cf6ff27f70480855cfe03254f915b48 0xe761afc921ec7ff11df025f8967d08e3daa805a8224.1192652 AVAX
0x153faf570bb0e8b51956d86c0a16d2c4f1ad0109cb8454d92008ed01dd53c76c78522742021-12-05 19:50:49358 days 8 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.241134701437028887 AVAX
0x153faf570bb0e8b51956d86c0a16d2c4f1ad0109cb8454d92008ed01dd53c76c78522742021-12-05 19:50:49358 days 8 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.421985727514800553 AVAX
0x153faf570bb0e8b51956d86c0a16d2c4f1ad0109cb8454d92008ed01dd53c76c78522742021-12-05 19:50:49358 days 8 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.783687779670343885 AVAX
0x95682d00f4a494d5a4c3cb9998cad4c8cf945a7a4d524fde8d3fd74b65d6ba1b78253412021-12-05 4:52:55358 days 23 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80x408ecb06ef97705afb02646ae1e5537f370a6bfb1.325394450937307569 AVAX
0x73df15b01af0d38b5c036e899cb959557fd71ec31e78728044f301ea230ccdc978039252021-12-04 17:01:23359 days 11 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.247023236692418314 AVAX
0x73df15b01af0d38b5c036e899cb959557fd71ec31e78728044f301ea230ccdc978039252021-12-04 17:01:23359 days 11 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.432290664211732049 AVAX
0x73df15b01af0d38b5c036e899cb959557fd71ec31e78728044f301ea230ccdc978039252021-12-04 17:01:23359 days 11 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.802825519250359521 AVAX
0x05df3a8b233a0d153c06cd23b6a0980c7cf991ecbb2c820d9e0b5b9aa7b6836d77593342021-12-03 16:30:21360 days 12 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.249839121558416764 AVAX
0x05df3a8b233a0d153c06cd23b6a0980c7cf991ecbb2c820d9e0b5b9aa7b6836d77593342021-12-03 16:30:21360 days 12 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.437218462727229338 AVAX
0x05df3a8b233a0d153c06cd23b6a0980c7cf991ecbb2c820d9e0b5b9aa7b6836d77593342021-12-03 16:30:21360 days 12 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.811977145064854486 AVAX
0xcdfa9b28f599ffd2edca3df932e73a085d1dc39d436e051199e99a7c4e014c7177592892021-12-03 16:28:51360 days 12 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.249839121558416764 AVAX
0xcdfa9b28f599ffd2edca3df932e73a085d1dc39d436e051199e99a7c4e014c7177592892021-12-03 16:28:51360 days 12 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.437218462727229338 AVAX
0xcdfa9b28f599ffd2edca3df932e73a085d1dc39d436e051199e99a7c4e014c7177592892021-12-03 16:28:51360 days 12 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.811977145064854486 AVAX
0x3e72dcd63a23d73e9457206393b0d3c8502e991687581508c221e98c8ee7e85577482092021-12-03 10:16:05360 days 18 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.250437856729464708 AVAX
0x3e72dcd63a23d73e9457206393b0d3c8502e991687581508c221e98c8ee7e85577482092021-12-03 10:16:05360 days 18 hrs ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.438266249276563239 AVAX
0x3e72dcd63a23d73e9457206393b0d3c8502e991687581508c221e98c8ee7e85577482092021-12-03 10:16:05360 days 18 hrs ago Trader Joe: Router 0xe761afc921ec7ff11df025f8967d08e3daa805a80.813923034370760301 AVAX
0xfa3a71a16df3f31a5a77d734de7a2e199a52519dec8006d5713544433261d9bc77367402021-12-03 3:47:56361 days 56 mins ago 0xe761afc921ec7ff11df025f8967d08e3daa805a80xb3f13760ade5f2ff14087ddf7bbca927391f41b00.252853649597341096 AVAX
0xfa3a71a16df3f31a5a77d734de7a2e199a52519dec8006d5713544433261d9bc77367402021-12-03 3:47:56361 days 56 mins ago 0xe761afc921ec7ff11df025f8967d08e3daa805a8 0x1a4c39836f300cff0fa25531928b8c6bd1e4adae0.442493886795346919 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Snowball

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2021-11-22
*/

/**
SPDX-License-Identifier: MIT
*/

pragma solidity ^0.8.0;

/**
 * SAFEMATH LIBRARY
 */
library SafeMath {
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // 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 (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

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

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WAVAX() external pure returns (address);

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

    function addLiquidityAVAX(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountAVAXMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountAVAX, uint liquidity);

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

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

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

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;// excluded dividend
        uint256 totalRealised;
    }

    IBEP20 BUSD = IBEP20(0x7d1232B90D3F809A54eeaeeBC639C62dF8a8942f);
    address WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    IDEXRouter router;

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;// to be shown in UI
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 1 hours;
    uint256 public minDistribution = 1 * (10 ** 18);

    uint256 currentIndex;

    bool initialized;
    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor (address _router) {
        router = _router != address(0)
        ? IDEXRouter(_router)
        : IDEXRouter(0x60aE616a2155Ee3d9A68541Ba4544862310933d4);
        _token = msg.sender;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external override onlyToken {
        minPeriod = _minPeriod;
        minDistribution = _minDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override onlyToken {
        uint256 balanceBefore = BUSD.balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = WAVAX;
        path[1] = address(BUSD);

        router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = BUSD.balanceOf(address(this)).sub(balanceBefore);

        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function process(uint256 gas) external override onlyToken {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        uint256 iterations = 0;

        while(gasUsed < gas && iterations < shareholderCount) {
            if(currentIndex >= shareholderCount){
                currentIndex = 0;
            }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }

    function shouldDistribute(address shareholder) internal view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
        && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            BUSD.transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }

    function claimDividend() external {
        distributeDividend(msg.sender);
    }
/*
returns the  unpaid earnings
*/
    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
}

contract Snowball is IBEP20, Auth {
    using SafeMath for uint256;

    uint256 public constant MASK = type(uint128).max;
    address BUSD = 0x7d1232B90D3F809A54eeaeeBC639C62dF8a8942f;
    address public WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address DEAD_NON_CHECKSUM = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Snowball";
    string constant _symbol = "SNO";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1_000_000_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply.div(200); // 0.55%
	uint256 public _maxWallet = _totalSupply.div(100); // 1%

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isDividendExempt;
    mapping (address => bool) public _isFree;

    uint256 liquidityFee = 200;
    uint256 buybackFee = 0;
    uint256 reflectionFee = 700;
    uint256 marketingFee = 400;
    uint256 totalFee = 1300;
    uint256 feeDenominator = 10000;

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver=0x57c69c79f303F68D463C11d4dd828dD97c3f49e4;

    uint256 targetLiquidity = 25;
    uint256 targetLiquidityDenominator = 100;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    uint256 public launchedAtTimestamp;

    uint256 buybackMultiplierNumerator = 200;
    uint256 buybackMultiplierDenominator = 100;
    uint256 buybackMultiplierTriggeredAt;
    uint256 buybackMultiplierLength = 30 minutes;

    bool public autoBuybackEnabled = false;
    mapping (address => bool) buyBacker;
    uint256 autoBuybackCap;
    uint256 autoBuybackAccumulator;
    uint256 autoBuybackAmount;
    uint256 autoBuybackBlockPeriod;
    uint256 autoBuybackBlockLast;

    DividendDistributor distributor;
    address public distributorAddress;

    uint256 distributorGas = 500000;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 2000; // 0.005%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _dexRouter, address _marketingAddress, address _wAVAX
    ) Auth(msg.sender) {
        router = IDEXRouter(_dexRouter);
        WAVAX=_wAVAX;
        pair = IDEXFactory(router.factory()).createPair(_wAVAX, address(this));
        _allowances[address(this)][address(router)] = _totalSupply;
        WAVAX = router.WAVAX();
        distributor = new DividendDistributor(_dexRouter);
        distributorAddress = address(distributor);

        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[msg.sender] = true;
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;
        buyBacker[msg.sender] = true;

        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = _marketingAddress;

        approve(_dexRouter, _totalSupply);
        approve(address(pair), _totalSupply);
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    modifier onlyBuybacker() { require(buyBacker[msg.sender] == true, ""); _; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != _totalSupply){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
		 
		// Max  tx check
		address routerAddress = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4;
		bool isBuy=sender== pair|| sender == routerAddress;
        bool isSell=recipient== pair|| recipient == routerAddress;
		
		checkTxLimit(sender, amount);
		
		// Max wallet check excluding pair and router
		if (!isSell && !_isFree[recipient]){
			require((_balances[recipient] + amount) < _maxWallet, "Max wallet has been triggered");
		}
		
		// No swapping on buy and tx
		if (isSell) {
			if(shouldSwapBack()){ swapBack(); }
			if(shouldAutoBuyback()){ triggerAutoBuyback(); }
		}
        //        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient].add(amountReceived);

        if(!isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} }
        if(!isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} }

        try distributor.process(distributorGas) {} catch {}

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
//        emit Transfer(sender, recipient, amount);
        return true;
    }



    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return totalFee; }
        if(selling){ return totalFee; }
        return totalFee;
    }

    function getMultipliedFee() public view returns (uint256) {
        /**
         * if (launchedAtTimestamp + 1 days > block.timestamp) {
            return totalFee.mul(18000).div(feeDenominator);
        } else if (buybackMultiplierTriggeredAt.add(buybackMultiplierLength) > block.timestamp) {
            uint256 remainingTime = buybackMultiplierTriggeredAt.add(buybackMultiplierLength).sub(block.timestamp);
            uint256 feeIncrease = totalFee.mul(buybackMultiplierNumerator).div(buybackMultiplierDenominator).sub(totalFee);
            return totalFee.add(feeIncrease.mul(remainingTime).div(buybackMultiplierLength));
        }
        */
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WAVAX;
        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForAVAXSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountAVAX = address(this).balance.sub(balanceBefore);

        uint256 totalAVAXFee = totalFee.sub(dynamicLiquidityFee.div(2));

        uint256 amountAVAXLiquidity = amountAVAX.mul(dynamicLiquidityFee).div(totalAVAXFee).div(2);
        uint256 amountAVAXReflection = amountAVAX.mul(reflectionFee).div(totalAVAXFee);
        uint256 amountAVAXMarketing = amountAVAX.mul(marketingFee).div(totalAVAXFee);

        try distributor.deposit{value: amountAVAXReflection}() {} catch {}
        payable(marketingFeeReceiver).transfer(amountAVAXMarketing);
            
        

        if(amountToLiquify > 0){
            router.addLiquidityAVAX{value: amountAVAXLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountAVAXLiquidity, amountToLiquify);
        }
    }

    function shouldAutoBuyback() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && autoBuybackEnabled
        && autoBuybackBlockLast + autoBuybackBlockPeriod <= block.number // After N blocks from last buyback
        && address(this).balance >= autoBuybackAmount;
    }

    function triggerZeusBuyback(uint256 amount, bool triggerBuybackMultiplier) external authorized {
        buyTokens(amount, DEAD);
        if(triggerBuybackMultiplier){
            buybackMultiplierTriggeredAt = block.timestamp;
            emit BuybackMultiplierActive(buybackMultiplierLength);
        }
    }

    function clearBuybackMultiplier() external authorized {
        buybackMultiplierTriggeredAt = 0;
    }

    function triggerAutoBuyback() internal {
        buyTokens(autoBuybackAmount, DEAD);
        autoBuybackBlockLast = block.number;
        autoBuybackAccumulator = autoBuybackAccumulator.add(autoBuybackAmount);
        if(autoBuybackAccumulator > autoBuybackCap){ autoBuybackEnabled = false; }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WAVAX;
        path[1] = address(this);

        router.swapExactAVAXForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }
    
    function Sweep() external onlyOwner {
        uint256 balance = address(this).balance;
        payable(msg.sender).transfer(balance);
    }


    function setAutoBuybackSettings(bool _enabled, uint256 _cap, uint256 _amount, uint256 _period) external authorized {
        autoBuybackEnabled = _enabled;
        autoBuybackCap = _cap;
        autoBuybackAccumulator = 0;
        autoBuybackAmount = _amount;
        autoBuybackBlockPeriod = _period;
        autoBuybackBlockLast = block.number;
    }

    function setBuybackMultiplierSettings(uint256 numerator, uint256 denominator, uint256 length) external authorized {
        require(numerator / denominator <= 2 && numerator > denominator);
        buybackMultiplierNumerator = numerator;
        buybackMultiplierDenominator = denominator;
        buybackMultiplierLength = length;
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() public authorized {
        require(launchedAt == 0, "Already launched boi");
        launchedAt = block.number;
        launchedAtTimestamp = block.timestamp;
    }
	
	function setMaxWallet(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxWallet = amount;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }

    function setIsDividendExempt(address holder, bool exempt) external authorized {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }
    
    function setFree(address holder) public onlyOwner {
        _isFree[holder] = true;
    }
    
    function unSetFree(address holder) public onlyOwner {
        _isFree[holder] = false;
    }
    
    function checkFree(address holder) public view onlyOwner returns(bool){
        return _isFree[holder];
    }

    function setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        reflectionFee = _reflectionFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_reflectionFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/4);
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized {
        targetLiquidity = _target;
        targetLiquidityDenominator = _denominator;
    }

    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external authorized {
        distributor.setDistributionCriteria(_minPeriod, _minDistribution);
    }

    function setDistributorSettings(uint256 gas) external authorized {
        require(gas < 750000);
        distributorGas = gas;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }

    event AutoLiquify(uint256 amountAVAX, uint256 amountBOG);
    event BuybackMultiplierActive(uint256 duration);
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"},{"internalType":"address","name":"_wAVAX","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountAVAX","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"BuybackMultiplierActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WAVAX","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoBuybackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"checkFree","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearBuybackMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMultipliedFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAtTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_period","type":"uint256"}],"name":"setAutoBuybackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"setBuybackMultiplierSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"setFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"triggerBuybackMultiplier","type":"bool"}],"name":"triggerZeusBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"unSetFree","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b0319908116737d1232b90d3f809a54eeaeebc639c62df8a8942f1790915560038054821673b31f66aa3c1e785363f0875a1b74e27b85fd66c717905560048054821661dead9081179091556005805483169055600680549092161790556200007a6009600a620006c3565b6200008d9066038d7ea4c68000620007ae565b600755620000ad60c86007546200054260201b620015aa1790919060201c565b600855620000cd60646007546200054260201b620015aa1790919060201c565b60095560c8601081905560006011556102bc601255610190601355610514601455612710601555601780546001600160a01b0319167357c69c79f303f68d463c11d4dd828dd97c3f49e417905560196018819055606490819055601e91909155601f556107086021556022805460ff199081169091556207a120602b55602c8054909116600117905560075462000168906107d09062000655565b602d553480156200017857600080fd5b5060405162003c9238038062003c928339810160408190526200019b916200060c565b60008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601a805483166001600160a01b0388811691909117918290556003805490941686821617909355835163c45a015560e01b8152935192169263c45a01559260048083019392829003018186803b1580156200022557600080fd5b505afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002609190620005ef565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c6539690604401602060405180830381600087803b158015620002ac57600080fd5b505af1158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e79190620005ef565b601b80546001600160a01b0319166001600160a01b03928316179055600754306000908152600b60209081526040808320601a8054871685529083529281902093909355905482516339d94ae160e11b815292519316926373b295c2926004808201939291829003018186803b1580156200036157600080fd5b505afa15801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c9190620005ef565b600380546001600160a01b0319166001600160a01b03929092169190911790556040518390620003cc90620005c4565b6001600160a01b039091168152602001604051809103906000f080158015620003f9573d6000803e3d6000fd5b50602980546001600160a01b039283166001600160a01b03199182161791829055602a8054821692841692909217909155336000818152600c60209081526040808320805460ff199081166001908117909255600d84528285208054821683179055601b5488168552600e845282852080548216831790553085528285208054821683179055600454881685528285208054821683179055858552602390935292208054909116909117905560168054831690911790556017805492851692909116919091179055600754620004d190849062000557565b50601b54600754620004ed916001600160a01b03169062000557565b50600754336000818152600a6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050620007e6565b600062000550828462000655565b9392505050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005b39086815260200190565b60405180910390a350600192915050565b610e938062002dff83390190565b80516001600160a01b0381168114620005ea57600080fd5b919050565b60006020828403121562000601578081fd5b6200055082620005d2565b60008060006060848603121562000621578182fd5b6200062c84620005d2565b92506200063c60208501620005d2565b91506200064c60408501620005d2565b90509250925092565b6000826200067157634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116200068a5750620006ba565b8187048211156200069f576200069f620007d0565b80861615620006ad57918102915b9490941c93800262000679565b94509492505050565b60006200055060001960ff851684600082620006e25750600162000550565b81620006f15750600062000550565b81600181146200070a5760028114620007155762000749565b600191505062000550565b60ff841115620007295762000729620007d0565b6001841b915084821115620007425762000742620007d0565b5062000550565b5060208310610133831016604e8410600b841016171562000781575081810a838111156200077b576200077b620007d0565b62000550565b62000790848484600162000676565b808604821115620007a557620007a5620007d0565b02949350505050565b6000816000190483118215151615620007cb57620007cb620007d0565b500290565b634e487b7160e01b600052601160045260246000fd5b61260980620007f66000396000f3fe60806040526004361061036f5760003560e01c806382247ec0116101c6578063d51ed1c8116100f7578063f1f3bca311610095578063f708a64f1161006f578063f708a64f14610a37578063f84ba65d14610a57578063f887ea4014610a77578063fe9fbb8014610a9757610376565b8063f1f3bca3146109d7578063f2fde38b146109f7578063f5cfec0a14610a1757610376565b8063df20fd49116100d1578063df20fd4914610953578063e91f214e14610973578063e96fada214610997578063f0b37c04146109b757610376565b8063d51ed1c8146108d8578063d806d12f146108f8578063dd62ed3e1461090d57610376565b8063a8aa1b3111610164578063b6a5d7de1161013e578063b6a5d7de1461086c578063bf56b3711461088c578063c6d2577d146108a2578063ca33e64c146108b857610376565b8063a8aa1b3114610817578063a9059cbb14610837578063b210b06d1461085757610376565b806395d89b41116101a057806395d89b411461078b5780639d1944f5146107b7578063a4b45c00146107d7578063a51af4c5146107f757610376565b806382247ec014610737578063893d20e81461074d57806389ef69f61461076b57610376565b80632d48e896116102a05780635d0044ca1161023e5780637088fb7f116102185780637088fb7f1461069e57806370a08231146106b357806373b295c2146106e95780637d1db4a51461072157610376565b80635d0044ca14610644578063658d4b7f146106645780636ddd17131461068457610376565b80633425c0011161027a5780633425c001146105ca5780633bb8a8d4146105ea578063571ac8b0146106045780635c85974f1461062457610376565b80632d48e8961461055f5780632f54bf6e1461057f578063313ce567146105ae57610376565b80631161ae391161030d5780632375ce40116102e75780632375ce40146104da57806323b872dd146104fa578063296020e71461051a5780632b112e491461054a57610376565b80631161ae391461048557806318160ddd146104a5578063201e7991146104ba57610376565b806304a66b481161034957806304a66b48146103db57806306fdde03146103fb57806307c89fe814610435578063095ea7b31461046557610376565b806301339c211461037b5780630445b66714610392578063048c7baf146103bb57610376565b3661037657005b600080fd5b34801561038757600080fd5b50610390610ab7565b005b34801561039e57600080fd5b506103a8602d5481565b6040519081526020015b60405180910390f35b3480156103c757600080fd5b506103906103d63660046122c6565b610b36565b3480156103e757600080fd5b506103906103f63660046123b1565b610b84565b34801561040757600080fd5b5060408051808201909152600881526714db9bddd8985b1b60c21b60208201525b6040516103b29190612463565b34801561044157600080fd5b5061045561045036600461219e565b610bfa565b60405190151581526020016103b2565b34801561047157600080fd5b50610455610480366004612266565b610c48565b34801561049157600080fd5b506104556104a0366004612338565b610cb4565b3480156104b157600080fd5b506007546103a8565b3480156104c657600080fd5b506103906104d5366004612338565b610cc8565b3480156104e657600080fd5b506103906104f5366004612359565b610cf8565b34801561050657600080fd5b506104556105153660046121f2565b610d4d565b34801561052657600080fd5b5061045561053536600461219e565b600f6020526000908152604090205460ff1681565b34801561055657600080fd5b506103a8610e11565b34801561056b57600080fd5b5061039061057a366004612338565b610e63565b34801561058b57600080fd5b5061045561059a36600461219e565b6000546001600160a01b0390811691161490565b3480156105ba57600080fd5b50604051600981526020016103b2565b3480156105d657600080fd5b506103906105e536600461219e565b610ef2565b3480156105f657600080fd5b506022546104559060ff1681565b34801561061057600080fd5b5061045561061f36600461219e565b610f3d565b34801561063057600080fd5b5061039061063f3660046122fe565b610f51565b34801561065057600080fd5b5061039061065f3660046122fe565b610f97565b34801561067057600080fd5b5061039061067f366004612232565b610fdd565b34801561069057600080fd5b50602c546104559060ff1681565b3480156106aa57600080fd5b5061039061102d565b3480156106bf57600080fd5b506103a86106ce36600461219e565b6001600160a01b03166000908152600a602052604090205490565b3480156106f557600080fd5b50600354610709906001600160a01b031681565b6040516001600160a01b0390911681526020016103b2565b34801561072d57600080fd5b506103a860085481565b34801561074357600080fd5b506103a860095481565b34801561075957600080fd5b506000546001600160a01b0316610709565b34801561077757600080fd5b5061039061078636600461219e565b61108a565b34801561079757600080fd5b50604080518082019091526003815262534e4f60e81b6020820152610428565b3480156107c357600080fd5b506103906107d23660046122fe565b6110d8565b3480156107e357600080fd5b506103906107f23660046121ba565b611111565b34801561080357600080fd5b50602a54610709906001600160a01b031681565b34801561082357600080fd5b50601b54610709906001600160a01b031681565b34801561084357600080fd5b50610455610852366004612266565b611164565b34801561086357600080fd5b50610390611171565b34801561087857600080fd5b5061039061088736600461219e565b61119d565b34801561089857600080fd5b506103a8601c5481565b3480156108ae57600080fd5b506103a8601d5481565b3480156108c457600080fd5b50601654610709906001600160a01b031681565b3480156108e457600080fd5b506103a86108f33660046122fe565b6111ee565b34801561090457600080fd5b506014546103a8565b34801561091957600080fd5b506103a86109283660046121ba565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561095f57600080fd5b5061039061096e3660046122ab565b611232565b34801561097f57600080fd5b506103a86fffffffffffffffffffffffffffffffff81565b3480156109a357600080fd5b50601754610709906001600160a01b031681565b3480156109c357600080fd5b506103906109d236600461219e565b61126e565b3480156109e357600080fd5b506103a86109f2366004612291565b6112b9565b348015610a0357600080fd5b50610390610a1236600461219e565b6112f0565b348015610a2357600080fd5b50610390610a32366004612316565b611386565b348015610a4357600080fd5b50610390610a52366004612232565b611406565b348015610a6357600080fd5b50610390610a72366004612232565b61153c565b348015610a8357600080fd5b50601a54610709906001600160a01b031681565b348015610aa357600080fd5b50610455610ab236600461219e565b61158c565b610ac03361158c565b610ae55760405162461bcd60e51b8152600401610adc906124d6565b60405180910390fd5b601c5415610b2c5760405162461bcd60e51b8152602060048201526014602482015273416c7265616479206c61756e6368656420626f6960601b6044820152606401610adc565b43601c5542601d55565b610b3f3361158c565b610b5b5760405162461bcd60e51b8152600401610adc906124d6565b6022805460ff191694151594909417909355602491909155600060255560265560275543602855565b610b8d3361158c565b610ba95760405162461bcd60e51b8152600401610adc906124d6565b6010859055601184905560128390556013829055610bd382610bcd858189896115b6565b906115b6565b6014556015819055610be660048261254f565b60145410610bf357600080fd5b5050505050565b600080546001600160a01b03163314610c255760405162461bcd60e51b8152600401610adc906124b6565b506001600160a01b0381166000908152600f602052604090205460ff165b919050565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ca39086815260200190565b60405180910390a350600192915050565b600082610cc0836111ee565b119392505050565b610cd13361158c565b610ced5760405162461bcd60e51b8152600401610adc906124d6565b601891909155601955565b610d013361158c565b610d1d5760405162461bcd60e51b8152600401610adc906124d6565b6002610d29838561254f565b11158015610d3657508183115b610d3f57600080fd5b601e92909255601f55602155565b6007546001600160a01b0384166000908152600b60209081526040808320338452909152812054909114610dfc576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610dd79184906115c2565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610e078484846115ee565b90505b9392505050565b6005546001600160a01b03166000908152600a6020526040812054610e5e906004546001600160a01b03166000908152600a6020526040902054610e589060075490611a0f565b90611a0f565b905090565b610e6c3361158c565b610e885760405162461bcd60e51b8152600401610adc906124d6565b6029546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610ed657600080fd5b505af1158015610eea573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610f1c5760405162461bcd60e51b8152600401610adc906124b6565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000610f4b82600754610c48565b92915050565b610f5a3361158c565b610f765760405162461bcd60e51b8152600401610adc906124d6565b6103e8600754610f86919061254f565b811015610f9257600080fd5b600855565b610fa03361158c565b610fbc5760405162461bcd60e51b8152600401610adc906124d6565b6103e8600754610fcc919061254f565b811015610fd857600080fd5b600955565b610fe63361158c565b6110025760405162461bcd60e51b8152600401610adc906124d6565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110575760405162461bcd60e51b8152600401610adc906124b6565b6040514790339082156108fc029083906000818181858888f19350505050158015611086573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146110b45760405162461bcd60e51b8152600401610adc906124b6565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6110e13361158c565b6110fd5760405162461bcd60e51b8152600401610adc906124d6565b620b71b0811061110c57600080fd5b602b55565b61111a3361158c565b6111365760405162461bcd60e51b8152600401610adc906124d6565b601680546001600160a01b039384166001600160a01b03199182161790915560178054929093169116179055565b6000610e0a3384846115ee565b61117a3361158c565b6111965760405162461bcd60e51b8152600401610adc906124d6565b6000602055565b6000546001600160a01b031633146111c75760405162461bcd60e51b8152600401610adc906124b6565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610f4b6111fb610e11565b601b546001600160a01b03166000908152600a602052604090205461122c90611225906002611a1b565b8590611a1b565b906115aa565b61123b3361158c565b6112575760405162461bcd60e51b8152600401610adc906124d6565b602c805460ff191692151592909217909155602d55565b6000546001600160a01b031633146112985760405162461bcd60e51b8152600401610adc906124b6565b6001600160a01b03166000908152600160205260409020805460ff19169055565b600043601c5460016112cb9190612537565b106112d95750601454610c43565b81156112e85750601454610c43565b505060145490565b6000546001600160a01b0316331461131a5760405162461bcd60e51b8152600401610adc906124b6565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61138f3361158c565b6113ab5760405162461bcd60e51b8152600401610adc906124d6565b6004546113c29083906001600160a01b0316611a27565b8015611086574260209081556021546040519081527f39d2389ec5c1fa77b2c0d374bc61b6d7bd97ccba280fcdeb4e9c7644898d7c3a910160405180910390a15050565b61140f3361158c565b61142b5760405162461bcd60e51b8152600401610adc906124d6565b6001600160a01b03821630148015906114525750601b546001600160a01b03838116911614155b61145b57600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff191682158015919091179091556114f357602954604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b1580156114d657600080fd5b505af11580156114ea573d6000803e3d6000fd5b50505050611086565b6029546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610ebc565b6115453361158c565b6115615760405162461bcd60e51b8152600401610adc906124d6565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000610e0a828461254f565b6000610e0a8284612537565b600081848411156115e65760405162461bcd60e51b8152600401610adc9190612463565b505050900390565b602e5460009060ff161561160e57611607848484611b4c565b9050610e0a565b601b547360ae616a2155ee3d9a68541ba4544862310933d4906000906001600160a01b03878116911614806116545750816001600160a01b0316866001600160a01b0316145b601b549091506000906001600160a01b03878116911614806116875750826001600160a01b0316866001600160a01b0316145b90506116938786611bef565b801580156116ba57506001600160a01b0386166000908152600f602052604090205460ff16155b15611733576009546001600160a01b0387166000908152600a60205260409020546116e6908790612537565b106117335760405162461bcd60e51b815260206004820152601d60248201527f4d61782077616c6c657420686173206265656e207472696767657265640000006044820152606401610adc565b801561176357611741611c58565b1561174e5761174e611ca7565b611756612031565b156117635761176361208c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038a166000908152600a90915291909120546117b59187906115c2565b6001600160a01b0388166000908152600a6020908152604080832093909355600c90529081205460ff16156117ea57856117f5565b6117f58888886120d3565b6001600160a01b0388166000908152600a602052604090205490915061181b90826115b6565b6001600160a01b038089166000908152600a6020908152604080832094909455918b168152600e909152205460ff166118bf576029546001600160a01b038981166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118ac57600080fd5b505af19250505080156118bd575060015b505b6001600160a01b0387166000908152600e602052604090205460ff16611950576029546001600160a01b038881166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561193d57600080fd5b505af192505050801561194e575060015b505b602954602b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916119889160040190815260200190565b600060405180830381600087803b1580156119a257600080fd5b505af19250505080156119b3575060015b50866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119f991815260200190565b60405180910390a3506001979650505050505050565b6000610e0a828461258e565b6000610e0a828461256f565b602e805460ff19166001179055604080516002808252606082018352600092602083019080368337505060035482519293506001600160a01b031691839150600090611a8357634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611ac557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601a5460405163c57559dd60e01b815291169063c57559dd908590611b0b9060009086908890429060040161242e565b6000604051808303818588803b158015611b2457600080fd5b505af1158015611b38573d6000803e3d6000fd5b5050602e805460ff19169055505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054611b9d9184906115c2565b6001600160a01b038086166000908152600a60205260408082209390935590851681522054611bcc90836115b6565b6001600160a01b0384166000908152600a60205260409020555060019392505050565b60085481111580611c1857506001600160a01b0382166000908152600d602052604090205460ff165b6110865760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610adc565b601b546000906001600160a01b03163314801590611c795750602e5460ff16155b8015611c875750602c5460ff165b8015610e5e575050602d54306000908152600a6020526040902054101590565b602e805460ff19166001179055601854601954600091611cc691610cb4565b611cd257601054611cd5565b60005b90506000611cf9600261122c60145461122c86602d54611a1b90919063ffffffff16565b90506000611d1282602d54611a0f90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611d5a57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600354825191169082906001908110611d9957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601a54604051633b158ab160e11b81524792919091169063762b156290611de39086906000908790309042906004016124fb565b600060405180830381600087803b158015611dfd57600080fd5b505af1158015611e11573d6000803e3d6000fd5b505050506000611e2a8247611a0f90919063ffffffff16565b90506000611e45611e3c8860026115aa565b60145490611a0f565b90506000611e5a600261122c8481878d611a1b565b90506000611e778361122c60125487611a1b90919063ffffffff16565b90506000611e948461122c60135488611a1b90919063ffffffff16565b9050602960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015611ee657600080fd5b505af193505050508015611ef8575060015b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611f33573d6000803e3d6000fd5b50881561201b57601a54601654604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290859060c4016060604051808303818588803b158015611fa557600080fd5b505af1158015611fb9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fde9190612384565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050602e805460ff191690555050505050505050565b601b546000906001600160a01b031633148015906120525750602e5460ff16155b8015612060575060225460ff165b801561207b5750436027546028546120789190612537565b11155b8015610e5e57505060265447101590565b6026546004546120a591906001600160a01b0316611a27565b436028556026546025546120b8916115b6565b602581905560245410156120d1576022805460ff191690555b565b601554601b546000918291612105919061122c906120fe906001600160a01b038981169116146112b9565b8690611a1b565b306000908152600a602052604090205490915061212290826115b6565b306000818152600a6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121739085815260200190565b60405180910390a36121858382611a0f565b95945050505050565b80358015158114610c4357600080fd5b6000602082840312156121af578081fd5b8135610e0a816125bb565b600080604083850312156121cc578081fd5b82356121d7816125bb565b915060208301356121e7816125bb565b809150509250929050565b600080600060608486031215612206578081fd5b8335612211816125bb565b92506020840135612221816125bb565b929592945050506040919091013590565b60008060408385031215612244578182fd5b823561224f816125bb565b915061225d6020840161218e565b90509250929050565b60008060408385031215612278578182fd5b8235612283816125bb565b946020939093013593505050565b6000602082840312156122a2578081fd5b610e0a8261218e565b600080604083850312156122bd578182fd5b6122838361218e565b600080600080608085870312156122db578081fd5b6122e48561218e565b966020860135965060408601359560600135945092505050565b60006020828403121561230f578081fd5b5035919050565b60008060408385031215612328578182fd5b8235915061225d6020840161218e565b6000806040838503121561234a578182fd5b50508035926020909101359150565b60008060006060848603121561236d578283fd5b505081359360208301359350604090920135919050565b600080600060608486031215612398578283fd5b8351925060208401519150604084015190509250925092565b600080600080600060a086880312156123c8578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845260208085019450808401835b838110156124235781516001600160a01b0316875295820195908201906001016123fe565b509495945050505050565b60008582526080602083015261244760808301866123eb565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561248f57858101830151858201604001528201612473565b818111156124a05783604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600086825285602083015260a0604083015261251a60a08301866123eb565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561254a5761254a6125a5565b500190565b60008261256a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612589576125896125a5565b500290565b6000828210156125a0576125a06125a5565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146125d057600080fd5b5056fea2646970667358221220c28140e6da928609ea95019bd3c82a0fa900b237d0da854dd74d3a98bda5530464736f6c634300080200336080604052600180546001600160a01b0319908116737d1232b90d3f809a54eeaeebc639c62df8a8942f179091556002805490911673b31f66aa3c1e785363f0875a1b74e27b85fd66c71790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610e93380380610e9383398101604081905261009c916100f6565b6001600160a01b0381166100c4577360ae616a2155ee3d9a68541ba4544862310933d46100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610124565b600060208284031215610107578081fd5b81516001600160a01b038116811461011d578182fd5b9392505050565b610d60806101336000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f576100dd565b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e576100dd565b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d714610199576100dd565b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610b88565b610285565b005b34801561013957600080fd5b506100f8610148366004610b6e565b6103fd565b34801561015957600080fd5b5061012b610168366004610c01565b610489565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610b6e565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104ab565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b610714565b34801561025b57600080fd5b5061012b61026a366004610bd1565b61071f565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c38261083e565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b15610382576103828261096b565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610ab8565b90610acb565b6008556001600160a01b03821660009081526007602052604090208190556103da81610ad7565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461042257506000610484565b6001600160a01b03821660009081526007602052604081205461044490610ad7565b6001600160a01b03841660009081526007602052604090206001015490915080821161047557600092505050610484565b61047f8282610ab8565b925050505b919050565b6000546001600160a01b031633146104a057600080fd5b600d91909155600e55565b6000546001600160a01b031633146104c257600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e9190610be9565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061059257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105d057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260035460405163c57559dd60e01b815291169063c57559dd90349061061690600090869030904290600401610c22565b6000604051808303818588803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600094506106d293508692506001600160a01b03909116906370a082319060240160206040518083038186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc9190610be9565b90610ab8565b6009549091506106e29082610acb565b600955600854600c5461070c91610703916106fd9085610afa565b90610b06565b600b5490610acb565b600b55505050565b61071d3361083e565b565b6000546001600160a01b0316331461073657600080fd5b60045480610744575061083b565b6000805a905060005b848310801561075b57508381105b156108365783600f541061076f576000600f555b6107af6004600f548154811061079557634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316610b12565b156107f4576107f46004600f54815481106107da57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031661083e565b6108096108025a8490610ab8565b8490610acb565b92505a600f8054919350600061081e83610cf9565b9190505550808061082e90610cf9565b91505061074d565b505050505b50565b6001600160a01b0381166000908152600760205260409020546108605761083b565b600061086b826103fd565b9050801561096757600a546108809082610acb565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b1580156108d157600080fd5b505af11580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109099190610bb1565b506001600160a01b0382166000908152600660209081526040808320429055600790915290206002015461093d9082610acb565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610ad7565b5050565b6004805461097b90600190610ce2565b8154811061099957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03848116845260059092526040909220546004805492909316929181106109e557634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260059182905260408120546004805491939291610a3190600190610ce2565b81548110610a4f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610a9357634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610ac48284610ce2565b9392505050565b6000610ac48284610c8b565b6000610af4600c546106fd600b5485610afa90919063ffffffff16565b92915050565b6000610ac48284610cc3565b6000610ac48284610ca3565b600d546001600160a01b03821660009081526006602052604081205490914291610b3c9190610c8b565b108015610af45750600e54610b50836103fd565b1192915050565b80356001600160a01b038116811461048457600080fd5b600060208284031215610b7f578081fd5b610ac482610b57565b60008060408385031215610b9a578081fd5b610ba383610b57565b946020939093013593505050565b600060208284031215610bc2578081fd5b81518015158114610ac4578182fd5b600060208284031215610be2578081fd5b5035919050565b600060208284031215610bfa578081fd5b5051919050565b60008060408385031215610c13578182fd5b50508035926020909101359150565b600060808201868352602060808185015281875180845260a0860191508289019350845b81811015610c6b5784516001600160a01b031683529383019391830191600101610c46565b50506001600160a01b039690961660408501525050506060015292915050565b60008219821115610c9e57610c9e610d14565b500190565b600082610cbe57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610cdd57610cdd610d14565b500290565b600082821015610cf457610cf4610d14565b500390565b6000600019821415610d0d57610d0d610d14565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b028de1320f08a78f16e885e8ff3a950061ef153a9f7e0dac032099f11fa96c264736f6c6343000802003300000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000408ecb06ef97705afb02646ae1e5537f370a6bfb000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000408ecb06ef97705afb02646ae1e5537f370a6bfb000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7

-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x60ae616a2155ee3d9a68541ba4544862310933d4
Arg [1] : _marketingAddress (address): 0x408ecb06ef97705afb02646ae1e5537f370a6bfb
Arg [2] : _wAVAX (address): 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
Arg [1] : 000000000000000000000000408ecb06ef97705afb02646ae1e5537f370a6bfb
Arg [2] : 000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7


Deployed ByteCode Sourcemap

12710:16379:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25612:187;;;;;;;;;;;;;:::i;:::-;;14958:50;;;;;;;;;;;;;;;;;;;10429:25:1;;;10417:2;10402:18;14958:50:0;;;;;;;;24797:359;;;;;;;;;;-1:-1:-1;24797:359:0;;;;;:::i;:::-;;:::i;27062:496::-;;;;;;;;;;-1:-1:-1;27062:496:0;;;;;:::i;:::-;;:::i;16463:80::-;;;;;;;;;;-1:-1:-1;16535:5:0;;;;;;;;;;;;-1:-1:-1;;;16535:5:0;;;;16463:80;;;;;;;:::i;26943:111::-;;;;;;;;;;-1:-1:-1;26943:111:0;;;;;:::i;:::-;;:::i;:::-;;;7180:14:1;;7173:22;7155:41;;7143:2;7128:18;26943:111:0;7110:92:1;16966:216:0;;;;;;;;;;-1:-1:-1;16966:216:0;;;;;:::i;:::-;;:::i;28817:150::-;;;;;;;;;;-1:-1:-1;28817:150:0;;;;;:::i;:::-;;:::i;16193:88::-;;;;;;;;;;-1:-1:-1;16266:12:0;;16193:88;;27966:183;;;;;;;;;;-1:-1:-1;27966:183:0;;;;;:::i;:::-;;:::i;25164:342::-;;;;;;;;;;-1:-1:-1;25164:342:0;;;;;:::i;:::-;;:::i;17479:365::-;;;;;;;;;;-1:-1:-1;17479:365:0;;;;;:::i;:::-;;:::i;13755:40::-;;;;;;;;;;-1:-1:-1;13755:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;28492:142;;;;;;;;;;;;;:::i;28157:183::-;;;;;;;;;;-1:-1:-1;28157:183:0;;;;;:::i;:::-;;:::i;4521:103::-;;;;;;;;;;-1:-1:-1;4521:103:0;;;;;:::i;:::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;;;4600:16;;;;4521:103;16287:80;;;;;;;;;;-1:-1:-1;16287:80:0;;13290:1;11447:36:1;;11435:2;11420:18;16287:80:0;11402:87:1;26837:94:0;;;;;;;;;;-1:-1:-1;26837:94:0;;;;;:::i;:::-;;:::i;14542:38::-;;;;;;;;;;-1:-1:-1;14542:38:0;;;;;;;;17190:117;;;;;;;;;;-1:-1:-1;17190:117:0;;;;;:::i;:::-;;:::i;25958:145::-;;;;;;;;;;-1:-1:-1;25958:145:0;;;;;:::i;:::-;;:::i;25805:::-;;;;;;;;;;-1:-1:-1;25805:145:0;;;;;:::i;:::-;;:::i;26466:120::-;;;;;;;;;;-1:-1:-1;26466:120:0;;;;;:::i;:::-;;:::i;14921:30::-;;;;;;;;;;-1:-1:-1;14921:30:0;;;;;;;;24645:142;;;;;;;;;;;;;:::i;16714:105::-;;;;;;;;;;-1:-1:-1;16714:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;16798:18:0;16780:7;16798:18;;;:9;:18;;;;;;;16714:105;12905:65;;;;;;;;;;-1:-1:-1;12905:65:0;;;;-1:-1:-1;;;;;12905:65:0;;;;;;-1:-1:-1;;;;;5577:32:1;;;5559:51;;5547:2;5532:18;12905:65:0;5514:102:1;13371:51:0;;;;;;;;;;;;;;;;13435:49;;;;;;;;;;;;;;;;16549:78;;;;;;;;;;-1:-1:-1;16601:7:0;16619:5;-1:-1:-1;;;;;16619:5:0;16549:78;;26734:91;;;;;;;;;;-1:-1:-1;26734:91:0;;;;;:::i;:::-;;:::i;16373:84::-;;;;;;;;;;-1:-1:-1;16447:7:0;;;;;;;;;;;;-1:-1:-1;;;16447:7:0;;;;16373:84;;28348:136;;;;;;;;;;-1:-1:-1;28348:136:0;;;;;:::i;:::-;;:::i;27566:228::-;;;;;;;;;;-1:-1:-1;27566:228:0;;;;;:::i;:::-;;:::i;14839:33::-;;;;;;;;;;-1:-1:-1;14839:33:0;;;;-1:-1:-1;;;;;14839:33:0;;;14247:19;;;;;;;;;;-1:-1:-1;14247:19:0;;;;-1:-1:-1;;;;;14247:19:0;;;17315:156;;;;;;;;;;-1:-1:-1;17315:156:0;;;;;:::i;:::-;;:::i;23846:105::-;;;;;;;;;;;;;:::i;4194:94::-;;;;;;;;;;-1:-1:-1;4194:94:0;;;;;:::i;:::-;;:::i;14275:25::-;;;;;;;;;;;;;;;;14307:34;;;;;;;;;;;;;;;;14002:36;;;;;;;;;;-1:-1:-1;14002:36:0;;;;-1:-1:-1;;;;;14002:36:0;;;28642:167;;;;;;;;;;-1:-1:-1;28642:167:0;;;;;:::i;:::-;;:::i;20225:691::-;;;;;;;;;;-1:-1:-1;20900:8:0;;20225:691;;16825:133;;;;;;;;;;-1:-1:-1;16825:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;16927:19:0;;;16909:7;16927:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;16825:133;27802:156;;;;;;;;;;-1:-1:-1;27802:156:0;;;;;:::i;:::-;;:::i;12786:48::-;;;;;;;;;;-1:-1:-1;12786:48:0;12817:17;12786:48;;14045:78;;;;;;;;;;-1:-1:-1;14045:78:0;;;;-1:-1:-1;;;;;14045:78:0;;;4364:97;;;;;;;;;;-1:-1:-1;4364:97:0;;;;;:::i;:::-;;:::i;20013:204::-;;;;;;;;;;-1:-1:-1;20013:204:0;;;;;:::i;:::-;;:::i;4921:173::-;;;;;;;;;;-1:-1:-1;4921:173:0;;;;;:::i;:::-;;:::i;23522:316::-;;;;;;;;;;-1:-1:-1;23522:316:0;;;;;:::i;:::-;;:::i;26111:347::-;;;;;;;;;;-1:-1:-1;26111:347:0;;;;;:::i;:::-;;:::i;26594:128::-;;;;;;;;;;-1:-1:-1;26594:128:0;;;;;:::i;:::-;;:::i;14216:24::-;;;;;;;;;;-1:-1:-1;14216:24:0;;;;-1:-1:-1;;;;;14216:24:0;;;4695:107;;;;;;;;;;-1:-1:-1;4695:107:0;;;;;:::i;:::-;;:::i;25612:187::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;;;;;;;;;25667:10:::1;::::0;:15;25659:48:::1;;;::::0;-1:-1:-1;;;25659:48:0;;9462:2:1;25659:48:0::1;::::0;::::1;9444:21:1::0;9501:2;9481:18;;;9474:30;-1:-1:-1;;;9520:18:1;;;9513:50;9580:18;;25659:48:0::1;9434:170:1::0;25659:48:0::1;25731:12;25718:10;:25:::0;25776:15:::1;25754:19;:37:::0;25612:187::o;24797:359::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;24923:18:::1;:29:::0;;-1:-1:-1;;24923:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;24963:14:::1;:21:::0;;;;-1:-1:-1;24995:22:0::1;:26:::0;25032:17:::1;:27:::0;25070:22:::1;:32:::0;25136:12:::1;25113:20;:35:::0;24797:359::o;27062:496::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;27226:12:::1;:28:::0;;;27265:10:::1;:24:::0;;;27300:13:::1;:30:::0;;;27341:12:::1;:28:::0;;;27391:69:::1;27356:13:::0;27391:50:::1;27316:14:::0;27391:50;27241:13;27278:11;27391:17:::1;:30::i;:::-;:34:::0;::::1;:50::i;:69::-;27380:8;:80:::0;27471:14:::1;:32:::0;;;27533:16:::1;27548:1;27488:15:::0;27533:16:::1;:::i;:::-;27522:8;;:27;27514:36;;;::::0;::::1;;27062:496:::0;;;;;:::o;26943:111::-;27008:4;4611:5;;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;27031:15:0;::::1;;::::0;;;:7:::1;:15;::::0;;;;;::::1;;3942:1;26943:111:::0;;;:::o;16966:216::-;17070:10;17041:4;17058:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17058:32:0;;;;;;;;;;:41;;;17115:37;17041:4;;17058:32;;17115:37;;;;17093:6;10429:25:1;;10417:2;10402:18;;10384:76;17115:37:0;;;;;;;;-1:-1:-1;17170:4:0;16966:216;;;;:::o;28817:150::-;28897:4;28953:6;28921:29;28941:8;28921:19;:29::i;:::-;:38;;28817:150;-1:-1:-1;;;28817:150:0:o;27966:183::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;28064:15:::1;:25:::0;;;;28100:26:::1;:41:::0;27966:183::o;25164:342::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;25324:1:::1;25297:23;25309:11:::0;25297:9;:23:::1;:::i;:::-;:28;;:55;;;;;25341:11;25329:9;:23;25297:55;25289:64;;;::::0;::::1;;25364:26;:38:::0;;;;25413:28:::1;:42:::0;25466:23:::1;:32:::0;25164:342::o;17479:365::-;17634:12;;-1:-1:-1;;;;;17599:19:0;;17579:4;17599:19;;;:11;:19;;;;;;;;17619:10;17599:31;;;;;;;;17579:4;;17599:47;17596:181;;17696:69;;;;;;;;;;;-1:-1:-1;;;17696:69:0;;;;;;;;-1:-1:-1;;;;;17696:19:0;;-1:-1:-1;17696:19:0;;;:11;:19;;;;;17716:10;17696:31;;;;;;;;;;:69;;17732:6;;17696:35;:69::i;:::-;-1:-1:-1;;;;;17662:19:0;;;;;;:11;:19;;;;;;;;17682:10;17662:31;;;;;;;:103;17596:181;17796:40;17810:6;17818:9;17829:6;17796:13;:40::i;:::-;17789:47;;17479:365;;;;;;:::o;28492:142::-;28620:4;;-1:-1:-1;;;;;28620:4:0;28545:7;16798:18;;;:9;:18;;;;;;28572:54;;28599:4;;-1:-1:-1;;;;;28599:4:0;16780:7;16798:18;;;:9;:18;;;;;;28572:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;28565:61;;28492:142;:::o;28157:183::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;28267:11:::1;::::0;:65:::1;::::0;-1:-1:-1;;;28267:65:0;;::::1;::::0;::::1;11226:25:1::0;;;11267:18;;;11260:34;;;-1:-1:-1;;;;;28267:11:0;;::::1;::::0;:35:::1;::::0;11199:18:1;;28267:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28157:183:::0;;:::o;26837:94::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26900:15:0::1;26918:5;26900:15:::0;;;:7:::1;:15;::::0;;;;:23;;-1:-1:-1;;26900:23:0::1;::::0;;26837:94::o;17190:117::-;17245:4;17269:30;17277:7;17286:12;;17269:7;:30::i;:::-;17262:37;17190:117;-1:-1:-1;;17190:117:0:o;25958:145::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;26058:4:::1;26043:12;;:19;;;;:::i;:::-;26033:6;:29;;26025:38;;;::::0;::::1;;26074:12;:21:::0;25958:145::o;25805:::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;25907:4:::1;25892:12;;:19;;;;:::i;:::-;25882:6;:29;;25874:38;;;::::0;::::1;;25923:10;:19:::0;25805:145::o;26466:120::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26550:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;26550:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26466:120::o;24645:142::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;24742:37:::1;::::0;24710:21:::1;::::0;24750:10:::1;::::0;24742:37;::::1;;;::::0;24710:21;;24692:15:::1;24742:37:::0;24692:15;24742:37;24710:21;24750:10;24742:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;3942:1;24645:142::o:0;26734:91::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26795:15:0::1;;::::0;;;:7:::1;:15;::::0;;;;:22;;-1:-1:-1;;26795:22:0::1;26813:4;26795:22;::::0;;26734:91::o;28348:136::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;28438:6:::1;28432:3;:12;28424:21;;;::::0;::::1;;28456:14;:20:::0;28348:136::o;27566:228::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;27685:21:::1;:46:::0;;-1:-1:-1;;;;;27685:46:0;;::::1;-1:-1:-1::0;;;;;;27685:46:0;;::::1;;::::0;;;27742:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;27566:228::o;17315:156::-;17395:4;17419:44;17433:10;17445:9;17456:6;17419:13;:44::i;23846:105::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;23942:1:::1;23911:28;:32:::0;23846:105::o;4194:94::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4254:19:0::1;;::::0;;;4276:4:::1;4254:19;::::0;;;;;;;:26;;-1:-1:-1;;4254:26:0::1;::::0;;::::1;::::0;;4194:94::o;28642:167::-;28710:7;28737:64;28778:22;:20;:22::i;:::-;28760:4;;-1:-1:-1;;;;;28760:4:0;16780:7;16798:18;;;:9;:18;;;;;;28737:36;;28750:22;;28770:1;28750:19;:22::i;:::-;28737:8;;:12;:36::i;:::-;:40;;:64::i;27802:156::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;27894:11:::1;:22:::0;;-1:-1:-1;;27894:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;27927:13:::1;:23:::0;27802:156::o;4364:97::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4426:19:0::1;4448:5;4426:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;4426:27:0::1;::::0;;4364:97::o;20013:204::-;20069:7;20110:12;20092:10;;20105:1;20092:14;;;;:::i;:::-;:30;20089:54;;-1:-1:-1;20132:8:0;;20125:15;;20089:54;20156:7;20153:31;;;-1:-1:-1;20173:8:0;;20166:15;;20153:31;-1:-1:-1;;20201:8:0;;;20013:204::o;4921:173::-;4576:4;4611:5;-1:-1:-1;;;;;4611:5:0;3918:10;4600:16;3902:38;;;;-1:-1:-1;;;3902:38:0;;;;;;;:::i;:::-;4997:5:::1;:11:::0;;-1:-1:-1;;;;;;4997:11:0::1;-1:-1:-1::0;;;;;4997:11:0;::::1;::::0;;::::1;::::0;;5019:19;;;-1:-1:-1;5019:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;5019:26:0::1;::::0;;::::1;::::0;;;5061:25;;5559:51:1;;;5061:25:0::1;::::0;5532:18:1;5061:25:0::1;;;;;;;4921:173:::0;:::o;23522:316::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;23646:4:::1;::::0;23628:23:::1;::::0;23638:6;;-1:-1:-1;;;;;23646:4:0::1;23628:9;:23::i;:::-;23665:24;23662:169;;;23736:15;23705:28;:46:::0;;;23795:23:::1;::::0;23771:48:::1;::::0;10429:25:1;;;23771:48:0::1;::::0;10402:18:1;23771:48:0::1;;;;;;;23522:316:::0;;:::o;26111:347::-;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26208:23:0;::::1;26226:4;26208:23;::::0;::::1;::::0;:41:::1;;-1:-1:-1::0;26245:4:0::1;::::0;-1:-1:-1;;;;;26235:14:0;;::::1;26245:4:::0;::::1;26235:14;;26208:41;26200:50;;;::::0;::::1;;-1:-1:-1::0;;;;;26261:24:0;::::1;;::::0;;;:16:::1;:24;::::0;;;;:33;;-1:-1:-1;;26261:33:0::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;26305:146:::1;;26330:11;::::0;:31:::1;::::0;-1:-1:-1;;;26330:31:0;;-1:-1:-1;;;;;6037:32:1;;;26330:31:0::1;::::0;::::1;6019:51:1::0;26330:11:0::1;6086:18:1::0;;;6079:34;26330:11:0;;::::1;::::0;:20:::1;::::0;5992:18:1;;26330:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;26305:146;;;26392:11;::::0;-1:-1:-1;;;;;26421:17:0;;::::1;26392:11;26421:17:::0;;;:9:::1;:17;::::0;;;;;;;26392:47;;-1:-1:-1;;;26392:47:0;;::::1;::::0;::::1;6019:51:1::0;;;;6086:18;;;6079:34;26392:11:0;::::1;::::0;:20:::1;::::0;5992:18:1;;26392:47:0::1;5974:145:1::0;26594:128:0;4079:24;4092:10;4079:12;:24::i;:::-;4071:48;;;;-1:-1:-1;;;4071:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26682:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;26682:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26594:128::o;4695:107::-;-1:-1:-1;;;;;4775:19:0;4751:4;4775:19;;;:14;:19;;;;;;;;;4695:107::o;1796:98::-;1854:7;1881:5;1885:1;1881;:5;:::i;1478:98::-;1536:7;1563:5;1567:1;1563;:5;:::i;2008:206::-;2094:7;2155:12;2147:6;;;;2139:29;;;;-1:-1:-1;;;2139:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2190:5:0;;;2008:206::o;17852:1513::-;17964:6;;17944:4;;17964:6;;17961:63;;;17980:41;17995:6;18003:9;18014:6;17980:14;:41::i;:::-;17973:48;;;;17961:63;18144:4;;18077:42;;18053:21;;-1:-1:-1;;;;;18135:13:0;;;18144:4;;18135:13;;:39;;;18161:13;-1:-1:-1;;;;;18151:23:0;:6;-1:-1:-1;;;;;18151:23:0;;18135:39;18209:4;;18124:50;;-1:-1:-1;18185:11:0;;-1:-1:-1;;;;;18197:16:0;;;18209:4;;18197:16;;:45;;;18229:13;-1:-1:-1;;;;;18216:26:0;:9;-1:-1:-1;;;;;18216:26:0;;18197:45;18185:57;;18251:28;18264:6;18272;18251:12;:28::i;:::-;18342:6;18341:7;:30;;;;-1:-1:-1;;;;;;18353:18:0;;;;;;:7;:18;;;;;;;;18352:19;18341:30;18337:133;;;18420:10;;-1:-1:-1;;;;;18387:20:0;;;;;;:9;:20;;;;;;:29;;18410:6;;18387:29;:::i;:::-;18386:44;18378:86;;;;-1:-1:-1;;;18378:86:0;;9104:2:1;18378:86:0;;;9086:21:1;9143:2;9123:18;;;9116:30;9182:31;9162:18;;;9155:59;9231:18;;18378:86:0;9076:179:1;18378:86:0;18514:6;18510:111;;;18531:16;:14;:16::i;:::-;18528:35;;;18550:10;:8;:10::i;:::-;18571:19;:17;:19::i;:::-;18568:48;;;18593:20;:18;:20::i;:::-;18754:53;;;;;;;;;;;-1:-1:-1;;;18754:53:0;;;;;;;;-1:-1:-1;;;;;18754:17:0;;-1:-1:-1;18754:17:0;;;:9;:17;;;;;;;;:53;;18776:6;;18754:21;:53::i;:::-;-1:-1:-1;;;;;18734:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19978:11;:19;;;;;;;;19977:20;18845:67;;18906:6;18845:67;;;18869:34;18877:6;18885:9;18896:6;18869:7;:34::i;:::-;-1:-1:-1;;;;;18948:20:0;;;;;;:9;:20;;;;;;18820:92;;-1:-1:-1;18948:40:0;;18820:92;18948:24;:40::i;:::-;-1:-1:-1;;;;;18925:20:0;;;;;;;:9;:20;;;;;;;;:63;;;;19005:24;;;;;:16;:24;;;;;;;19001:96;;19036:11;;-1:-1:-1;;;;;19065:17:0;;;19036:11;19065:17;;;:9;:17;;;;;;;;19036:47;;-1:-1:-1;;;19036:47:0;;;;;6019:51:1;;;;6086:18;;;6079:34;19036:11:0;;;:20;;5992:18:1;;19036:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19032:63;;-1:-1:-1;;;;;19111:27:0;;;;;;:16;:27;;;;;;;;19107:105;;19145:11;;-1:-1:-1;;;;;19177:20:0;;;19145:11;19177:20;;;:9;:20;;;;;;;;19145:53;;-1:-1:-1;;;19145:53:0;;;;;6019:51:1;;;;6086:18;;;6079:34;19145:11:0;;;:20;;5992:18:1;;19145:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19141:69;;19228:11;;19248:14;;19228:35;;-1:-1:-1;;;;;;19228:35:0;;-1:-1:-1;;;;;19228:11:0;;;;:19;;:35;;;;10429:25:1;;;10417:2;10402:18;;10384:76;19228:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19224:51;19309:9;-1:-1:-1;;;;;19292:43:0;19301:6;-1:-1:-1;;;;;19292:43:0;;19320:14;19292:43;;;;10429:25:1;;10417:2;10402:18;;10384:76;19292:43:0;;;;;;;;-1:-1:-1;19353:4:0;;17852:1513;-1:-1:-1;;;;;;;17852:1513:0:o;1584:98::-;1642:7;1669:5;1673:1;1669;:5;:::i;1690:98::-;1748:7;1775:5;1779:1;1775;:5;:::i;24270:363::-;15065:6;:13;;-1:-1:-1;;15065:13:0;15074:4;15065:13;;;24370:16:::1;::::0;;24384:1:::1;24370:16:::0;;;;;::::1;::::0;;-1:-1:-1;;24370:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;24407:5:0::1;::::0;24397:7;;;;-1:-1:-1;;;;;;24407:5:0::1;::::0;24397:7;;-1:-1:-1;24407:5:0::1;::::0;24397:7:::1;;-1:-1:-1::0;;;24397:7:0::1;;;;;;;;;;;;;;:15;-1:-1:-1::0;;;;;24397:15:0::1;;;-1:-1:-1::0;;;;;24397:15:0::1;;;::::0;::::1;24441:4;24423;24428:1;24423:7;;;;;;-1:-1:-1::0;;;24423:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;24423:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;24459:6:::1;::::0;:166:::1;::::0;-1:-1:-1;;;24459:166:0;;:6;::::1;::::0;:58:::1;::::0;24525:6;;24459:166:::1;::::0;:6:::1;::::0;24563:4;;24582:2;;24599:15:::1;::::0;24459:166:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15083:6:0;:14;;-1:-1:-1;;15083:14:0;;;-1:-1:-1;;;;;;24270:363:0:o;19373:332::-;19503:53;;;;;;;;;;;-1:-1:-1;;;19503:53:0;;;;;;;;-1:-1:-1;;;;;19503:17:0;;19466:4;19503:17;;;:9;:17;;;;;;;:53;;19525:6;;19503:21;:53::i;:::-;-1:-1:-1;;;;;19483:17:0;;;;;;;:9;:17;;;;;;:73;;;;19590:20;;;;;;;:32;;19615:6;19590:24;:32::i;:::-;-1:-1:-1;;;;;19567:20:0;;;;;;:9;:20;;;;;:55;-1:-1:-1;19693:4:0;19373:332;;;;;:::o;19717:166::-;19814:12;;19804:6;:22;;:49;;;-1:-1:-1;;;;;;19830:23:0;;;;;;:15;:23;;;;;;;;19804:49;19796:79;;;;-1:-1:-1;;;19796:79:0;;8758:2:1;19796:79:0;;;8740:21:1;8797:2;8777:18;;;8770:30;-1:-1:-1;;;8816:18:1;;;8809:47;8873:18;;19796:79:0;8730:167:1;21304:197:0;21391:4;;21353;;-1:-1:-1;;;;;21391:4:0;21377:10;:18;;;;:38;;-1:-1:-1;21409:6:0;;;;21408:7;21377:38;:62;;;;-1:-1:-1;21428:11:0;;;;21377:62;:116;;;;-1:-1:-1;;21480:13:0;;21470:4;21452:24;;;;:9;:24;;;;;;:41;;;21304:197::o;21509:1679::-;15065:6;:13;;-1:-1:-1;;15065:13:0;15074:4;15065:13;;;21604:15:::1;::::0;21621:26:::1;::::0;15065:6;;21588:60:::1;::::0;:15:::1;:60::i;:::-;:79;;21655:12;;21588:79;;;21651:1;21588:79;21558:109;;21678:23;21704:59;21761:1;21704:52;21747:8;;21704:38;21722:19;21704:13;;:17;;:38;;;;:::i;:59::-;21678:85;;21774:20;21797:34;21815:15;21797:13;;:17;;:34;;;;:::i;:::-;21868:16;::::0;;21882:1:::1;21868:16:::0;;;;;::::1;::::0;;21774:57;;-1:-1:-1;21844:21:0::1;::::0;21868:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21868:16:0::1;21844:40;;21913:4;21895;21900:1;21895:7;;;;;;-1:-1:-1::0;;;21895:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;21895:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;21939:5:::1;::::0;21929:7;;21939:5;::::1;::::0;21929:4;;21939:5;;21929:7;::::1;;;-1:-1:-1::0;;;21929:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;21929:15:0;;::::1;:7;::::0;;::::1;::::0;;;;;:15;22013:6:::1;::::0;:189:::1;::::0;-1:-1:-1;;;22013:189:0;;21979:21:::1;::::0;22013:6;;;::::1;::::0;:58:::1;::::0;:189:::1;::::0;22086:12;;21955:21:::1;::::0;22129:4;;22156::::1;::::0;22176:15:::1;::::0;22013:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22215:18;22236:40;22262:13;22236:21;:25;;:40;;;;:::i;:::-;22215:61:::0;-1:-1:-1;22289:20:0::1;22312:40;22325:26;:19:::0;22349:1:::1;22325:23;:26::i;:::-;22312:8;::::0;;:12:::1;:40::i;:::-;22289:63:::0;-1:-1:-1;22365:27:0::1;22395:60;22453:1;22395:53;22289:63:::0;22395:53;:10;22410:19;22395:14:::1;:35::i;:60::-;22365:90;;22466:28;22497:47;22531:12;22497:29;22512:13;;22497:10;:14;;:29;;;;:::i;:47::-;22466:78;;22555:27;22585:46;22618:12;22585:28;22600:12;;22585:10;:14;;:28;;;;:::i;:46::-;22555:76;;22648:11;;;;;;;;;-1:-1:-1::0;;;;;22648:11:0::1;-1:-1:-1::0;;;;;22648:19:0::1;;22675:20;22648:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22644:66:::0;22728:20:::1;::::0;22720:59:::1;::::0;-1:-1:-1;;;;;22728:20:0;;::::1;::::0;22720:59;::::1;;;::::0;22759:19;;22728:20:::1;22720:59:::0;22728:20;22720:59;22759:19;22728:20;22720:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22819:19:0;;22816:365:::1;;22854:6;::::0;23030:21:::1;::::0;22854:246:::1;::::0;-1:-1:-1;;;22854:246:0;;22932:4:::1;22854:246;::::0;::::1;6744:34:1::0;6794:18;;;6787:34;;;22854:6:0::1;6837:18:1::0;;;6830:34;;;6880:18;;;6873:34;-1:-1:-1;;;;;23030:21:0;;::::1;6923:19:1::0;;;6916:44;23070:15:0::1;6976:19:1::0;;;6969:35;22854:6:0;::::1;::::0;:23:::1;::::0;22885:19;;6678::1;;22854:246:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;23120:49:0::1;::::0;;11226:25:1;;;11282:2;11267:18;;11260:34;;;23120:49:0::1;::::0;-1:-1:-1;11199:18:1;23120:49:0::1;;;;;;;22816:365;-1:-1:-1::0;;15083:6:0;:14;;-1:-1:-1;;15083:14:0;;;-1:-1:-1;;;;;;;;21509:1679:0:o;23196:318::-;23286:4;;23248;;-1:-1:-1;;;;;23286:4:0;23272:10;:18;;;;:38;;-1:-1:-1;23304:6:0;;;;23303:7;23272:38;:69;;;;-1:-1:-1;23323:18:0;;;;23272:69;:143;;;;;23403:12;23377:22;;23354:20;;:45;;;;:::i;:::-;:61;;23272:143;:234;;;;-1:-1:-1;;23489:17:0;;23464:21;:42;;;23196:318::o;23959:303::-;24019:17;;24038:4;;24009:34;;24019:17;-1:-1:-1;;;;;24038:4:0;24009:9;:34::i;:::-;24077:12;24054:20;:35;24152:17;;24125:22;;:45;;:26;:45::i;:::-;24100:22;:70;;;24209:14;;-1:-1:-1;24181:74:0;;;24226:18;:26;;-1:-1:-1;;24226:26:0;;;24181:74;23959:303::o;20924:372::-;21095:14;;21084:4;;21009:7;;;;21049:61;;21095:14;21049:41;;21060:29;;-1:-1:-1;;;;;21072:16:0;;;21084:4;;21072:16;21060:11;:29::i;:::-;21049:6;;:10;:41::i;:61::-;21168:4;21150:24;;;;:9;:24;;;;;;21029:81;;-1:-1:-1;21150:39:0;;21029:81;21150:28;:39::i;:::-;21141:4;21123:24;;;;:9;:24;;;;;;;:66;;;;21205:42;;-1:-1:-1;;;;;21205:42:0;;;;;;;21237:9;10429:25:1;;10417:2;10402:18;;10384:76;21205:42:0;;;;;;;;21267:21;:6;21278:9;21267:10;:21::i;:::-;21260:28;20924:372;-1:-1:-1;;;;;20924:372:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;179:257;;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;711:398::-;;;840:2;828:9;819:7;815:23;811:32;808:2;;;861:6;853;846:22;808:2;905:9;892:23;924:31;949:5;924:31;:::i;:::-;974:5;-1:-1:-1;1031:2:1;1016:18;;1003:32;1044:33;1003:32;1044:33;:::i;:::-;1096:7;1086:17;;;798:311;;;;;:::o;1114:466::-;;;;1260:2;1248:9;1239:7;1235:23;1231:32;1228:2;;;1281:6;1273;1266:22;1228:2;1325:9;1312:23;1344:31;1369:5;1344:31;:::i;:::-;1394:5;-1:-1:-1;1451:2:1;1436:18;;1423:32;1464:33;1423:32;1464:33;:::i;:::-;1218:362;;1516:7;;-1:-1:-1;;;1570:2:1;1555:18;;;;1542:32;;1218:362::o;1585:325::-;;;1711:2;1699:9;1690:7;1686:23;1682:32;1679:2;;;1732:6;1724;1717:22;1679:2;1776:9;1763:23;1795:31;1820:5;1795:31;:::i;:::-;1845:5;-1:-1:-1;1869:35:1;1900:2;1885:18;;1869:35;:::i;:::-;1859:45;;1669:241;;;;;:::o;1915:325::-;;;2044:2;2032:9;2023:7;2019:23;2015:32;2012:2;;;2065:6;2057;2050:22;2012:2;2109:9;2096:23;2128:31;2153:5;2128:31;:::i;:::-;2178:5;2230:2;2215:18;;;;2202:32;;-1:-1:-1;;;2002:238:1:o;2245:190::-;;2354:2;2342:9;2333:7;2329:23;2325:32;2322:2;;;2375:6;2367;2360:22;2322:2;2403:26;2419:9;2403:26;:::i;2440:258::-;;;2566:2;2554:9;2545:7;2541:23;2537:32;2534:2;;;2587:6;2579;2572:22;2534:2;2615:26;2631:9;2615:26;:::i;2703:395::-;;;;;2863:3;2851:9;2842:7;2838:23;2834:33;2831:2;;;2885:6;2877;2870:22;2831:2;2913:26;2929:9;2913:26;:::i;:::-;2903:36;2986:2;2971:18;;2958:32;;-1:-1:-1;3037:2:1;3022:18;;3009:32;;3088:2;3073:18;3060:32;;-1:-1:-1;2821:277:1;-1:-1:-1;;;2821:277:1:o;3103:190::-;;3215:2;3203:9;3194:7;3190:23;3186:32;3183:2;;;3236:6;3228;3221:22;3183:2;-1:-1:-1;3264:23:1;;3173:120;-1:-1:-1;3173:120:1:o;3298:258::-;;;3424:2;3412:9;3403:7;3399:23;3395:32;3392:2;;;3445:6;3437;3430:22;3392:2;3486:9;3473:23;3463:33;;3515:35;3546:2;3535:9;3531:18;3515:35;:::i;3561:258::-;;;3690:2;3678:9;3669:7;3665:23;3661:32;3658:2;;;3711:6;3703;3696:22;3658:2;-1:-1:-1;;3739:23:1;;;3809:2;3794:18;;;3781:32;;-1:-1:-1;3648:171:1:o;3824:326::-;;;;3970:2;3958:9;3949:7;3945:23;3941:32;3938:2;;;3991:6;3983;3976:22;3938:2;-1:-1:-1;;4019:23:1;;;4089:2;4074:18;;4061:32;;-1:-1:-1;4140:2:1;4125:18;;;4112:32;;3928:222;-1:-1:-1;3928:222:1:o;4155:316::-;;;;4312:2;4300:9;4291:7;4287:23;4283:32;4280:2;;;4333:6;4325;4318:22;4280:2;4367:9;4361:16;4351:26;;4417:2;4406:9;4402:18;4396:25;4386:35;;4461:2;4450:9;4446:18;4440:25;4430:35;;4270:201;;;;;:::o;4476:464::-;;;;;;4656:3;4644:9;4635:7;4631:23;4627:33;4624:2;;;4678:6;4670;4663:22;4624:2;-1:-1:-1;;4706:23:1;;;4776:2;4761:18;;4748:32;;-1:-1:-1;4827:2:1;4812:18;;4799:32;;4878:2;4863:18;;4850:32;;-1:-1:-1;4929:3:1;4914:19;4901:33;;-1:-1:-1;4614:326:1;-1:-1:-1;4614:326:1:o;4945:463::-;;5036:5;5030:12;5063:6;5058:3;5051:19;5089:4;5118:2;5113:3;5109:12;5102:19;;5155:2;5148:5;5144:14;5176:3;5188:195;5202:6;5199:1;5196:13;5188:195;;;5267:13;;-1:-1:-1;;;;;5263:39:1;5251:52;;5323:12;;;;5358:15;;;;5299:1;5217:9;5188:195;;;-1:-1:-1;5399:3:1;;5006:402;-1:-1:-1;;;;;5006:402:1:o;7433:510::-;;7704:6;7693:9;7686:25;7747:3;7742:2;7731:9;7727:18;7720:31;7768:57;7820:3;7809:9;7805:19;7797:6;7768:57;:::i;:::-;-1:-1:-1;;;;;7861:32:1;;;;7856:2;7841:18;;7834:60;-1:-1:-1;7925:2:1;7910:18;7903:34;7760:65;7676:267;-1:-1:-1;;7676:267:1:o;7948:603::-;;8089:2;8118;8107:9;8100:21;8150:6;8144:13;8193:6;8188:2;8177:9;8173:18;8166:34;8218:4;8231:140;8245:6;8242:1;8239:13;8231:140;;;8340:14;;;8336:23;;8330:30;8306:17;;;8325:2;8302:26;8295:66;8260:10;;8231:140;;;8389:6;8386:1;8383:13;8380:2;;;8459:4;8454:2;8445:6;8434:9;8430:22;8426:31;8419:45;8380:2;-1:-1:-1;8535:2:1;8514:15;-1:-1:-1;;8510:29:1;8495:45;;;;8542:2;8491:54;;8069:482;-1:-1:-1;;;8069:482:1:o;9609:329::-;9811:2;9793:21;;;9850:1;9830:18;;;9823:29;-1:-1:-1;;;9883:2:1;9868:18;;9861:36;9929:2;9914:18;;9783:155::o;9943:335::-;10145:2;10127:21;;;10184:2;10164:18;;;10157:30;-1:-1:-1;;;10218:2:1;10203:18;;10196:41;10269:2;10254:18;;10117:161::o;10465:582::-;;10764:6;10753:9;10746:25;10807:6;10802:2;10791:9;10787:18;10780:34;10850:3;10845:2;10834:9;10830:18;10823:31;10871:57;10923:3;10912:9;10908:19;10900:6;10871:57;:::i;:::-;-1:-1:-1;;;;;10964:32:1;;;;10959:2;10944:18;;10937:60;-1:-1:-1;11028:3:1;11013:19;11006:35;10863:65;10736:311;-1:-1:-1;;;10736:311:1:o;11494:128::-;;11565:1;11561:6;11558:1;11555:13;11552:2;;;11571:18;;:::i;:::-;-1:-1:-1;11607:9:1;;11542:80::o;11627:217::-;;11693:1;11683:2;;-1:-1:-1;;;11718:31:1;;11772:4;11769:1;11762:15;11800:4;11725:1;11790:15;11683:2;-1:-1:-1;11829:9:1;;11673:171::o;11849:168::-;;11955:1;11951;11947:6;11943:14;11940:1;11937:21;11932:1;11925:9;11918:17;11914:45;11911:2;;;11962:18;;:::i;:::-;-1:-1:-1;12002:9:1;;11901:116::o;12022:125::-;;12090:1;12087;12084:8;12081:2;;;12095:18;;:::i;:::-;-1:-1:-1;12132:9:1;;12071:76::o;12152:127::-;12213:10;12208:3;12204:20;12201:1;12194:31;12244:4;12241:1;12234:15;12268:4;12265:1;12258:15;12284:131;-1:-1:-1;;;;;12359:31:1;;12349:42;;12339:2;;12405:1;12402;12395:12;12339:2;12329:86;:::o

Swarm Source

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