ETH Price: $3,486.67 (+3.42%)
Gas: 4 Gwei

Contract

0xBc5e5AE20BcAd214A9a9485AF3328A3fB8162E03
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve186182192023-11-21 6:00:47223 days ago1700546447IN
0xBc5e5AE2...fB8162E03
0 ETH0.0011946125.60919125
Approve186181922023-11-21 5:55:23223 days ago1700546123IN
0xBc5e5AE2...fB8162E03
0 ETH0.0011530124.74916018
Transfer161829382022-12-14 12:29:11564 days ago1671020951IN
0xBc5e5AE2...fB8162E03
0 ETH0.0030817513.85411426
Transfer161829352022-12-14 12:28:35564 days ago1671020915IN
0xBc5e5AE2...fB8162E03
0 ETH0.0032807314.74786666
Transfer161829322022-12-14 12:27:59564 days ago1671020879IN
0xBc5e5AE2...fB8162E03
0 ETH0.0030876313.87983279
Transfer161829282022-12-14 12:27:11564 days ago1671020831IN
0xBc5e5AE2...fB8162E03
0 ETH0.0030345813.64136002
Transfer161646302022-12-11 23:04:23567 days ago1670799863IN
0xBc5e5AE2...fB8162E03
0 ETH0.0032338314.23072765
Transfer160411712022-11-24 16:56:11584 days ago1669308971IN
0xBc5e5AE2...fB8162E03
0 ETH0.0028618211.71231998
Approve160408542022-11-24 15:52:35584 days ago1669305155IN
0xBc5e5AE2...fB8162E03
0 ETH0.0006207913.30802414
Approve160351712022-11-23 20:48:59585 days ago1669236539IN
0xBc5e5AE2...fB8162E03
0 ETH0.0006704214.37209517
Approve160142652022-11-20 22:39:23588 days ago1668983963IN
0xBc5e5AE2...fB8162E03
0 ETH0.0002804511.51088856
Approve159769172022-11-15 17:26:59593 days ago1668533219IN
0xBc5e5AE2...fB8162E03
0 ETH0.0010921623.41285265
Approve159768652022-11-15 17:15:59593 days ago1668532559IN
0xBc5e5AE2...fB8162E03
0 ETH0.0011051423.69121228
Transfer159736832022-11-15 6:35:47593 days ago1668494147IN
0xBc5e5AE2...fB8162E03
0 ETH0.0036842315.07812437
Approve159141942022-11-06 23:14:23602 days ago1667776463IN
0xBc5e5AE2...fB8162E03
0 ETH0.0008336817.87189497
Approve158500702022-10-29 0:13:59611 days ago1667002439IN
0xBc5e5AE2...fB8162E03
0 ETH0.0005642512.09595895
Approve156826292022-10-05 14:54:47634 days ago1664981687IN
0xBc5e5AE2...fB8162E03
0 ETH0.0012366426.51023192
Approve156246032022-09-27 12:10:59642 days ago1664280659IN
0xBc5e5AE2...fB8162E03
0 ETH0.0006488624.25837906
Approve156245952022-09-27 12:09:23642 days ago1664280563IN
0xBc5e5AE2...fB8162E03
0 ETH0.0010838823.23530645
Approve155419772022-09-15 22:12:35654 days ago1663279955IN
0xBc5e5AE2...fB8162E03
0 ETH0.000455529.76519038
Approve155094812022-09-10 15:16:21659 days ago1662822981IN
0xBc5e5AE2...fB8162E03
0 ETH0.0007222415.48285303
Approve154463022022-08-31 11:10:02669 days ago1661944202IN
0xBc5e5AE2...fB8162E03
0 ETH0.0006059512.9898677
Approve154422862022-08-30 19:51:54670 days ago1661889114IN
0xBc5e5AE2...fB8162E03
0 ETH0.0016014234.33004988
Approve153657282022-08-18 15:12:29682 days ago1660835549IN
0xBc5e5AE2...fB8162E03
0 ETH0.0010891123.34742765
Approve153297772022-08-12 22:52:34688 days ago1660344754IN
0xBc5e5AE2...fB8162E03
0 ETH0.0008933419.15077746
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
161829382022-12-14 12:29:11564 days ago1671020951
0xBc5e5AE2...fB8162E03
0.00096342 ETH
161829382022-12-14 12:29:11564 days ago1671020951
0xBc5e5AE2...fB8162E03
0.00064228 ETH
161829382022-12-14 12:29:11564 days ago1671020951
0xBc5e5AE2...fB8162E03
0.00160571 ETH
161829352022-12-14 12:28:35564 days ago1671020915
0xBc5e5AE2...fB8162E03
0.0010256 ETH
161829352022-12-14 12:28:35564 days ago1671020915
0xBc5e5AE2...fB8162E03
0.00068373 ETH
161829352022-12-14 12:28:35564 days ago1671020915
0xBc5e5AE2...fB8162E03
0.00170934 ETH
161829322022-12-14 12:27:59564 days ago1671020879
0xBc5e5AE2...fB8162E03
0.00107751 ETH
161829322022-12-14 12:27:59564 days ago1671020879
0xBc5e5AE2...fB8162E03
0.00071834 ETH
161829322022-12-14 12:27:59564 days ago1671020879
0xBc5e5AE2...fB8162E03
0.00179585 ETH
161829282022-12-14 12:27:11564 days ago1671020831
0xBc5e5AE2...fB8162E03
0.0010412 ETH
161829282022-12-14 12:27:11564 days ago1671020831
0xBc5e5AE2...fB8162E03
0.00069413 ETH
161829282022-12-14 12:27:11564 days ago1671020831
0xBc5e5AE2...fB8162E03
0.00173534 ETH
161646302022-12-11 23:04:23567 days ago1670799863
0xBc5e5AE2...fB8162E03
0.06525762 ETH
161646302022-12-11 23:04:23567 days ago1670799863
0xBc5e5AE2...fB8162E03
0.04350508 ETH
161646302022-12-11 23:04:23567 days ago1670799863
0xBc5e5AE2...fB8162E03
0.10876271 ETH
160411712022-11-24 16:56:11584 days ago1669308971
0xBc5e5AE2...fB8162E03
0.00323961 ETH
160411712022-11-24 16:56:11584 days ago1669308971
0xBc5e5AE2...fB8162E03
0.00215974 ETH
160411712022-11-24 16:56:11584 days ago1669308971
0xBc5e5AE2...fB8162E03
0.00539935 ETH
160409862022-11-24 16:19:11584 days ago1669306751
0xBc5e5AE2...fB8162E03
0.00335936 ETH
160409862022-11-24 16:19:11584 days ago1669306751
0xBc5e5AE2...fB8162E03
0.00223957 ETH
160409862022-11-24 16:19:11584 days ago1669306751
0xBc5e5AE2...fB8162E03
0.00559894 ETH
160409852022-11-24 16:18:59584 days ago1669306739
0xBc5e5AE2...fB8162E03
0.00392272 ETH
160409852022-11-24 16:18:59584 days ago1669306739
0xBc5e5AE2...fB8162E03
0.00261515 ETH
160409852022-11-24 16:18:59584 days ago1669306739
0xBc5e5AE2...fB8162E03
0.00653787 ETH
160409822022-11-24 16:18:23584 days ago1669306703
0xBc5e5AE2...fB8162E03
0.00409276 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Community

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-06
*/

/** 
 * SPDX-License-Identifier: Unlicensed
$COMMUNITY

Website - http://www.thecommunitytoken.com
Twitter - https://twitter.com/communitytoken8
Telegram - https://t.me/+wxrS0DlLW-0wZmZh

The $COMMUNITY token is for the people. There is no simpler way to say it. If you hold, you get paid in eth every two weeks.

Total supply 1,000,000,000,000

Tax 8% in/out

1% Reflections
3% Grow The Floor Eth Rewards (GTF)
4% Community Trust Fund
     -Marketing
     -Buybacks & Burns/LP Growth 
     -Development

*30% transfer tax (50/50)
  -50% to holders
  -50% GTF/Trust Fund

- Max transaction buy/sell (0.5%)
- Max Wallet (2%)

Forged from the ashes of previous projects, our people have gathered, determined to rise. After enduring multiple rugs, honeypots and malicious devs.. Welcome to the $COMMUNITY token.

Meticulously architected and designed to thrive for years, then decades, so long as there is an ethereum blockchain to house it, we will be here.

Our group - filled with bonafide honeybadgers, leaders, chads, visionaries and passionate crypto enthusiasts, who have come together around one grand idea.

We lead with the question,
what if we created a token, and did everything right?

What if we actually diamond handed this one project to the billion scale, a slow moon, we inch toward the summit, thoughtfully, methodically.

Once at those mcap heights, we create reasons to stay on the summit of billions, and generate income for all our holders for years to come.

What would that token be called? 
How would it work?
What would hatch the plan which realizes such possibilities?

Welcome to the only name we could give such a token. Welcome to the $COMMUNITY

Like a sapling we will protect the base, and grow ourselves into largest oak in cryptoland.

In an environment of dropping bags and fud, where devs abandon projects and their holders, $COMMUNITY is an oasis in the crypto dessert. A project that grows by lifting others up!

In a sea of red, green is even more noticeable. Our crypo brothers and sisters will flock to us, proud to tell friends colleagues and family about this find, in bull or bear markets.

It is the community, more than anything else that sets us apart. The ultimate utility.

Visit our $COMMUNITY and get familiar with our main tg hub, DEFI U - THE TRADERS CLUB our digital town square, where the community will live grow and thrive.

$COMMUNITY is not alone, we are a part of a greater constellation of upcoming talent which will set the new standard for alt coins - for this reason we have the support of hundreds of diehards, the best minds in the space. The shapers of things to come.

Our goal most ambitious - a 2-3billion cap aim.. achievable if an ever increasing amount of us 'Grow The Floor', and seek the rewards.

$COMMUNITY tokenomics are specifically meant to enrich us all.. and put ppl in the green. Bimonthly rewards will pay in eth so we don't have to hurt the chart.

Q. Why a 30% transfer tax? 
A. We want to reward people for growing the floor not gaming the system. To prevent any possibility of manipulation we will keep tax at 30% for transfers between wallets. This tax will fuel our GTF rewards wallet.

Q. What are GTF rewards? 
A. Just like a bimonthly paycheck, any wallet that only buys and never sells between the 1st to the 15th or the 15th to the 1st of any month, with the start/end time always being 12noon UTC, receives 3% of the buy and sell tax distributed proportionally to all qualifying wallets as Ethereum. Please allow a full week for funds to be calculated and sent to all qualified wallets. We must take our time and do this right.

In other words:

For the GTF eth rewards on July 1st ALL who bought before June 15th and didn't sell until July 1st qualify

For the GTF eth rewards on July 15th ALL who bought before July 1st and didn't sell until July 15th qualify

For the GTF eth rewards on August 1st ALL who bought before July 15th and didn't sell until August 1st qualify

And so on.

Simply put.. buy $COMMUNITY. Buy more on dips. Don't sell, and you will get Eth payouts every two weeks.

* */

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}


contract Community is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    mapping (address => bool) private _isBlackListedBot;
    address[] private _blackListedBots;
    mapping (address => bool) private _isSniper;

    
    mapping (address => User) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1 * 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"Community";
    string private constant _symbol = unicode"$COMMUNITY";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 15;
    uint256 private _teamFee = 15;

    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    uint256 public _maxTxAmount = 2300000001 * 10**9;
    uint256 public maxWallet =  20000000001 * 10**9; 

    uint256 public _BuytaxFee = 1;
    uint256 public _BuyteamFee = 7;
   
    uint256 public _SelltaxFee = 1;
    uint256 public _SellteamFee = 7;
    
    address payable private _FeeAddress;
    address payable private _FeeAddress2;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public tradingOpen;
    bool private _cooldownEnabled = true;
    bool private inSwap = false;
    uint256 private buyLimitEnd;

    bool private sniperProtection = true;
    uint256 private _launchTime;
    uint256 private _launchNumber;
    uint256 private _tradingTime;
    uint256 private _tradingNumber;
    uint256 private snipeBlockAmt;
    uint256 public snipersCaught = 0;
    bool private gasLimitActive = true;
    uint256 private gasPriceLimit;
    bool private sameBlockActive = true;
    mapping (address => uint256) private lastTrade;


    

    struct User {
        uint256 buy;
        uint256 sell;
        bool exists;
    }

    
    event CooldownEnabledUpdated(bool _cooldown);
    event SniperCaught(address sniperAddress);
    

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (uint256 _snipeBlockAmt, uint256 _gasPriceLimit, address payable FeeAddress, address payable FeeAddress2)  {

 // Set the amount of blocks to catch a sniper.
        snipeBlockAmt = _snipeBlockAmt;
        gasPriceLimit = _gasPriceLimit * 1 gwei;

        _FeeAddress = FeeAddress;
        _FeeAddress2 = FeeAddress2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[FeeAddress2] = true;
        
        _isBlackListedBot[address(0x66f049111958809841Bbe4b81c034Da2D953AA0c)] = true;
        _blackListedBots.push(address(0x66f049111958809841Bbe4b81c034Da2D953AA0c));
        
        _isBlackListedBot[address(0x000000005736775Feb0C8568e7DEe77222a26880)] = true;
        _blackListedBots.push(address(0x000000005736775Feb0C8568e7DEe77222a26880));
        
        _isBlackListedBot[address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40)] = true;
        _blackListedBots.push(address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40));
        
        _isBlackListedBot[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        _blackListedBots.push(address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D));

        _isBlackListedBot[address(0xbcC7f6355bc08f6b7d3a41322CE4627118314763)] = true;
        _blackListedBots.push(address(0xbcC7f6355bc08f6b7d3a41322CE4627118314763));

        _isBlackListedBot[address(0x1d6E8BAC6EA3730825bde4B005ed7B2B39A2932d)] = true;
        _blackListedBots.push(address(0x1d6E8BAC6EA3730825bde4B005ed7B2B39A2932d));

        _isBlackListedBot[address(0x000000000035B5e5ad9019092C665357240f594e)] = true;
        _blackListedBots.push(address(0x000000000035B5e5ad9019092C665357240f594e));

        _isBlackListedBot[address(0x1315c6C26123383a2Eb369a53Fb72C4B9f227EeC)] = true;
        _blackListedBots.push(address(0x1315c6C26123383a2Eb369a53Fb72C4B9f227EeC));

        _isBlackListedBot[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        _blackListedBots.push(address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D));

        _isBlackListedBot[address(0x90484Bb9bc05fD3B5FF1fe412A492676cd81790C)] = true;
        _blackListedBots.push(address(0x90484Bb9bc05fD3B5FF1fe412A492676cd81790C));

        _isBlackListedBot[address(0xA62c5bA4D3C95b3dDb247EAbAa2C8E56BAC9D6dA)] = true;
        _blackListedBots.push(address(0xA62c5bA4D3C95b3dDb247EAbAa2C8E56BAC9D6dA));
        
        _isBlackListedBot[address(0x42c1b5e32d625b6C618A02ae15189035e0a92FE7)] = true;
        _blackListedBots.push(address(0x42c1b5e32d625b6C618A02ae15189035e0a92FE7));

        _isBlackListedBot[address(0xA94E56EFc384088717bb6edCccEc289A72Ec2381)] = true;
        _blackListedBots.push(address(0xA94E56EFc384088717bb6edCccEc289A72Ec2381));

        _isBlackListedBot[address(0xf13FFadd3682feD42183AF8F3f0b409A9A0fdE31)] = true;
        _blackListedBots.push(address(0xf13FFadd3682feD42183AF8F3f0b409A9A0fdE31));

        _isBlackListedBot[address(0x376a6EFE8E98f3ae2af230B3D45B8Cc5e962bC27)] = true;
        _blackListedBots.push(address(0x376a6EFE8E98f3ae2af230B3D45B8Cc5e962bC27));

        _isBlackListedBot[address(0xEE2A9147ffC94A73f6b945A6DB532f8466B78830)] = true;
        _blackListedBots.push(address(0xEE2A9147ffC94A73f6b945A6DB532f8466B78830));

        _isBlackListedBot[address(0xdE2a6d80989C3992e11B155430c3F59792FF8Bb7)] = true;
        _blackListedBots.push(address(0xdE2a6d80989C3992e11B155430c3F59792FF8Bb7));

        _isBlackListedBot[address(0x1e62A12D4981e428D3F4F28DF261fdCB2CE743Da)] = true;
        _blackListedBots.push(address(0x1e62A12D4981e428D3F4F28DF261fdCB2CE743Da));

        _isBlackListedBot[address(0x5136a9A5D077aE4247C7706b577F77153C32A01C)] = true;
        _blackListedBots.push(address(0x5136a9A5D077aE4247C7706b577F77153C32A01C));

        _isBlackListedBot[address(0x0E388888309d64e97F97a4740EC9Ed3DADCA71be)] = true;
        _blackListedBots.push(address(0x0E388888309d64e97F97a4740EC9Ed3DADCA71be));

        _isBlackListedBot[address(0x255D9BA73a51e02d26a5ab90d534DB8a80974a12)] = true;
        _blackListedBots.push(address(0x255D9BA73a51e02d26a5ab90d534DB8a80974a12));

        _isBlackListedBot[address(0xA682A66Ea044Aa1DC3EE315f6C36414F73054b47)] = true;
        _blackListedBots.push(address(0xA682A66Ea044Aa1DC3EE315f6C36414F73054b47));

        _isBlackListedBot[address(0x80e09203480A49f3Cf30a4714246f7af622ba470)] = true;
        _blackListedBots.push(address(0x80e09203480A49f3Cf30a4714246f7af622ba470));

        _isBlackListedBot[address(0x12e48B837AB8cB9104C5B95700363547bA81c8a4)] = true;
        _blackListedBots.push(address(0x12e48B837AB8cB9104C5B95700363547bA81c8a4));

        _isBlackListedBot[address(0xa57Bd00134B2850B2a1c55860c9e9ea100fDd6CF)] = true;
        _blackListedBots.push(address(0xa57Bd00134B2850B2a1c55860c9e9ea100fDd6CF));

        _isBlackListedBot[address(0x0000000000007F150Bd6f54c40A34d7C3d5e9f56)] = true;
        _blackListedBots.push(address(0x0000000000007F150Bd6f54c40A34d7C3d5e9f56));

    

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

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

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

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

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

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isBlackListedBot[to], "You have no power here!");
        require(!_isBlackListedBot[msg.sender], "You have no power here!");
        

        if(from != owner() && to != owner()) {
            if(_cooldownEnabled) {
                if(!cooldown[msg.sender].exists) {
                    cooldown[msg.sender] = User(0,0,true);
                }
            }

            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
                _taxFee = _BuytaxFee;
                _teamFee = _BuyteamFee;
                if(_cooldownEnabled) {
                    if(buyLimitEnd > block.timestamp) {
                        require(amount <= _maxTxAmount);
                        require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired.");
                        cooldown[to].buy = block.timestamp + (15 seconds);
                    }
                }
                if (gasLimitActive) {
                require(tx.gasprice <= gasPriceLimit, "Gas price exceeds limit.");
                }

                if (sameBlockActive) {
                    if (from == uniswapV2Pair){
                        require(lastTrade[to] != block.number);
                        lastTrade[to] = block.number;
                }  else {
                    require(lastTrade[from] != block.number);
                    lastTrade[from] = block.number;
                    }
                }
            }

            // sell
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
                _taxFee = _SelltaxFee;
                _teamFee = _SellteamFee;
                
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                if(contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
    uint amt0 = amount / 5 * (2);
    _FeeAddress.transfer(amt0);
    _FeeAddress2.transfer(amount - amt0);
    }

    function setBuytaxFee(uint256 taxFee)external onlyOwner(){
        require(taxFee <= 15, "Cannot set BuytaxFee higher than 15%");
        _BuytaxFee = taxFee;
    }

    function setSelltaxFee(uint256 taxFee)external onlyOwner(){
        require(taxFee <= 15, "Cannot set SelltaxFee higher than 15%");
        _SelltaxFee = taxFee;
    }

    function setBuyFee(uint256 teamFee)external onlyOwner(){
        require(teamFee <= 15, "Cannot set BuyteamFee higher than 15%");
        _BuyteamFee = teamFee;
    }

    function setSellFee(uint256 teamFee)external onlyOwner(){
        require(teamFee <= 15, "Cannot set SellteamFee higher than 15%");
        _SellteamFee = teamFee;
    }



    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {

        if (sniperProtection){	
            // If sender is a sniper address, reject the sell.	
            if (isSniper(sender)) {	
                revert("Sniper rejected.");	
            }

            if (block.number - _launchNumber < snipeBlockAmt) {
                        _isSniper[recipient] = true;
                        snipersCaught ++;
                        emit SniperCaught(recipient);
                    }
            if (block.number - _tradingNumber < snipeBlockAmt) {
                        _isSniper[recipient] = true;
                        snipersCaught ++;
                        emit SniperCaught(recipient);
                    }
         }
       
        if(!takeFee)
            removeAllFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }

        

        if(!takeFee || sender == uniswapV2Pair || recipient == uniswapV2Pair)
            restoreAllFee();
        
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxTxAmount = 2300000001  * 10**9; // Will increase over time
        _launchTime = block.timestamp;
        _launchNumber = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        buyLimitEnd = block.timestamp + (300 seconds);
        _tradingTime = block.timestamp;
        _tradingNumber = block.number;        
    }



    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        _cooldownEnabled = onoff;
        emit CooldownEnabledUpdated(_cooldownEnabled);
    }
    
    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    
    function excludeAccount(address account) external onlyOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                // updating _rOwned to make sure the balances stay the same
                if (_tOwned[account] > 0)
                {
                    uint256 newrOwned = _tOwned[account].mul(_getRate());
                    _rTotal = _rTotal.sub(_rOwned[account]-newrOwned);
                    _tFeeTotal = _tFeeTotal.add(_rOwned[account]-newrOwned);
                    _rOwned[account] = newrOwned;
                }
                else
                {
                    _rOwned[account] = 0;
                }

                _tOwned[account] = 0;
                _excluded[i] = _excluded[_excluded.length - 1];
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function isBlackListed(address account) public view returns (bool) {
        return _isBlackListedBot[account];
    }
    
    function addBotToBlackList(address account) external onlyOwner {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, "We can not blacklist Uniswap router.");
        require(!_isBlackListedBot[account], "Account is already blacklisted");
        _isBlackListedBot[account] = true;
        _blackListedBots.push(account);
    }

     function isSniper(address account) public view returns (bool) {	
        return _isSniper[account];	
    }	

    function removeSniper(address account) external onlyOwner() {	
        require(_isSniper[account], "Account is not a recorded sniper.");	
        _isSniper[account] = false;	
    }

    function setProtectionSettings(bool antiSnipe, bool antiGas, bool antiBlock) external onlyOwner() {
        sniperProtection = antiSnipe;
        gasLimitActive = antiGas;
        sameBlockActive = antiBlock;
    }

    function setGasPriceLimit(uint256 gas) external onlyOwner {
        require(gas >= 50);
        gasPriceLimit = gas * 1 gwei;
    }
    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 1 / 100)/1e9, "Cannot set maxWallet lower than 1%");
        maxWallet = newNum * (10**9);
    }


    function updateMaxTxAmount(uint256 newNum) external onlyOwner {
        require(newNum >= 2300000001, "Cannot set transaction below starting maxTxAmount");
        _maxTxAmount = newNum * (10**9);
    }

    function setGTFWallet(address payable newWallet) external onlyOwner() {
         _FeeAddress = newWallet;
    }

    function setmarketingWallet(address payable newWallet) external onlyOwner() {
         _FeeAddress2 = newWallet;
    }
    
    function removeBotFromBlackList(address account) external onlyOwner {
        require(_isBlackListedBot[account], "Account is not blacklisted");
        for (uint256 i = 0; i < _blackListedBots.length; i++) {
            if (_blackListedBots[i] == account) {
                _blackListedBots[i] = _blackListedBots[_blackListedBots.length - 1];
                _isBlackListedBot[account] = false;
                _blackListedBots.pop();
                break;
            }
        }
    }

  

    function cooldownEnabled() public view returns (bool) {
        return _cooldownEnabled;
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - cooldown[buyer].buy;
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_snipeBlockAmt","type":"uint256"},{"internalType":"uint256","name":"_gasPriceLimit","type":"uint256"},{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"FeeAddress2","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":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sniperAddress","type":"address"}],"name":"SniperCaught","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":"_BuytaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_BuyteamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SelltaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SellteamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBotToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBotFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setBuytaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"setGTFWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setGasPriceLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"antiSnipe","type":"bool"},{"internalType":"bool","name":"antiGas","type":"bool"},{"internalType":"bool","name":"antiBlock","type":"bool"}],"name":"setProtectionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setSelltaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"setmarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipersCaught","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea0000060001962000b0d565b620000299060001962000af3565b600c55600f600e8190558080556010819055601155671feb3dd0a300ca006012556801158e46094f6aca0060135560016014819055600760158190556016829055601755601b805461ffff60a81b1916600160a81b179055601d805460ff199081168317909155600060235560248054821683179055602680549091169091179055348015620000b857600080fd5b506040516200418c3803806200418c833981016040819052620000db9162000a86565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060228490556200013183633b9aca0062000ad1565b602555601880546001600160a01b038085166001600160a01b0319928316179092556019805492841692909116919091179055600c5460026000620001733390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160056000620001ad62000a5a60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260058452828120805486166001908117909155878316825283822080548716821790559186168152918220805485168217905560089092527fdc32a335f21fe9b2cef7f9beb85e916a657b0d50aaa45f5ac9d624aa150101b380548416831790556009805480840182557f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90810180546001600160a01b03199081167366f049111958809841bbe4b81c034da2d953aa0c179091557f5afb22bd27b767b7d4d1ab7515bc17e3a4d6dd5c901a437e9722349b39efcdfc8054871686179055825480860184558201805482166f5736775feb0c8568e7dee77222a268801790557ff2d16d45ea2dc9157c60503cdbe6a26123912e1a52139ab4faf3d91bf39aebce8054871686179055825480860184558201805482166e3b3cc22af3ae1eac0440bcee416b401790557fb584dc31c365bcf6f553d60a984b04ad620753a9e43696d21335bea1b3728aa680548716861781558354808701855583018054831673d8e83d3d1a91dfefafd8b854511c44685a20fa3d9081179091557f2955fa92c8cbfdc2d1b62af1d295d2e30d66af94c72fa0087027a7a4269cfdb180548916881790558454808801865584018054841673bcc7f6355bc08f6b7d3a41322ce46271183147631790557fb6ed04278b774710d42ec9c129f97e6183d7b6e55e08226a8e9fa29a9336f9e1805489168817905584548088018655840180548416731d6e8bac6ea3730825bde4b005ed7b2b39a2932d1790557ffe66911fd8ee2ae9dbcbf308e0218636afef1c432b5d5c4c1a3eff3e2a3ff1018054891688179055845480880186558401805484166e35b5e5ad9019092c665357240f594e1790557f7e2904a6a48e604007785ad465c9a07ffbbb4804abc5f5fb3a151f64c6fe6e4a805489168817905584548088018655840180548416731315c6c26123383a2eb369a53fb72c4b9f227eec1790558154881687179091558354808701855583018054831690911790557f12d8608112bb818ff1ed30b92bb56960590fe20bca7be7305c97df444ebd13638054871686179055825480860184558201805482167390484bb9bc05fd3b5ff1fe412a492676cd81790c1790557f1404537361a41d763b83a307967861eb529f800e555ff5d152096a878636eabd80548716861790558254808601845582018054821673a62c5ba4d3c95b3ddb247eabaa2c8e56bac9d6da1790557fdfe2bf5142473e7b37d88fd792cd734cfe82d5c7883a9063e5392c413d7b07368054871686179055825480860184558201805482167342c1b5e32d625b6c618a02ae15189035e0a92fe71790557f375015a6034648b595434d1c4e912171c67c8c2b1b604e4ab4fd782bbec44e1980548716861790558254808601845582018054821673a94e56efc384088717bb6edcccec289a72ec23811790557fdde3677c91f0b25e4400fbd1cc0edb46285f0369ce9451d82d6f43064b56971c80548716861790558254808601845582018054821673f13ffadd3682fed42183af8f3f0b409a9a0fde311790557f3b6af5fc420f776b778596a0bcc73d6adc4fff7c7163619756f13e590ac978dc80548716861790558254808601845582018054821673376a6efe8e98f3ae2af230b3d45b8cc5e962bc271790557feb8ff550748a724450674543460afe2dcd14d67463540b8b700f2439fafd7c5680548716861790558254808601845582018054821673ee2a9147ffc94a73f6b945a6db532f8466b788301790557fbde19cd6889df07105a42f3b1077cd970df322855e99d813a5770d2df5eaf74480548716861790558254808601845582018054821673de2a6d80989c3992e11b155430c3f59792ff8bb71790557f5f0cf6cec47dbd6c5d7dcf79aa1832e04334aa9b889d2c54e7bd8e0a7a1d738f805487168617905582548086018455820180548216731e62a12d4981e428d3f4f28df261fdcb2ce743da1790557f07ca1b3077f110a71865403e9af81eabcbbf45cdee6abe6ce8d89be396657c20805487168617905582548086018455820180548216735136a9a5d077ae4247c7706b577f77153c32a01c1790557fa91d2805f78c999710926e2979a7537bd8bba61da68d9c1cda9e992b08b4bde1805487168617905582548086018455820180548216730e388888309d64e97f97a4740ec9ed3dadca71be1790557f8fd681806bbe6a4057eabf28df345fa24a520320fcebdd1eb9490910eae0621e80548716861790558254808601845582018054821673255d9ba73a51e02d26a5ab90d534db8a80974a121790557f5ff1c853d1fa51e2354f22edca0a3d88d86e798354f66334f1dbe0a16cdf787680548716861790558254808601845582018054821673a682a66ea044aa1dc3ee315f6c36414f73054b471790557fc73664087767092d0609826a6816f58a754d84eb0c5d153afb3f53882596d0bf8054871686179055825480860184558201805482167380e09203480a49f3cf30a4714246f7af622ba4701790557fe5d5da23872b29cca98b9c4583c8014128d6fdf7ef7a5e15edaafa3f8f581e188054871686179055825480860184558201805482167312e48b837ab8cb9104c5b95700363547ba81c8a41790557f960f10e80bf4a419eb52a67e1a5540f5b873681ac38ea90575c09783e8c932f580548716861790558254808601845582018054821673a57bd00134b2850b2a1c55860c9e9ea100fdd6cf1790557fd63739988a81a1a790de9ecf50e6277ae0277be5cc7b5f0c892436e40f1ea5ce805490961685179095558154938401825591520180549091166d7f150bd6f54c40a34d7c3d5e9f56179055620009f93390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000a4891815260200190565b60405180910390a35050505062000b46565b6000546001600160a01b031690565b80516001600160a01b038116811462000a8157600080fd5b919050565b6000806000806080858703121562000a9d57600080fd5b845193506020850151925062000ab66040860162000a69565b915062000ac66060860162000a69565b905092959194509250565b600081600019048311821515161562000aee5762000aee62000b30565b500290565b60008282101562000b085762000b0862000b30565b500390565b60008262000b2b57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b6136368062000b566000396000f3fe6080604052600436106102975760003560e01c80638297d6801161015a578063c9567bf9116100c1578063e47d60601161007a578063e47d60601461084b578063e79d416014610884578063e8078d941461089a578063f2cc0c18146108af578063f8b45b05146108cf578063ffb54a99146108e557600080fd5b8063c9567bf914610776578063cba0e9961461078b578063d3f83894146107c4578063d839eeb5146107da578063db92dbb6146107f0578063dd62ed3e1461080557600080fd5b8063a9059cbb11610113578063a9059cbb146106cc578063a985ceef146106ec578063b6f8f8dc1461070b578063c18bc1951461072b578063c3c8cd801461074b578063c4a4000c1461076057600080fd5b80638297d680146106055780638b4cee08146106255780638bd9ad21146106455780638da5cb5b1461065b57806395d89b41146106795780639611f8a8146106ac57600080fd5b80633685d419116101fe57806368a3a6a5116101b757806368a3a6a5146105655780636fc3eaec1461058557806370a082311461059a578063715018a6146105ba5780637d1db4a5146105cf5780637ded4d6a146105e557600080fd5b80633685d4191461048c5780634303443d146104ac57806349bd5a5e146104cc5780635342acb4146104ec5780635932ead1146105255780636256d1811461054557600080fd5b80631694505e116102505780631694505e146103b257806318160ddd146103ea578063224611731461041057806323b872dd14610430578063313ce5671461045057806333251a0b1461046c57600080fd5b806304ef55bb146102a357806306fdde03146102c55780630923160214610309578063095ea7b3146103295780630cc835a3146103595780630f3a325f1461037957600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102c36102be3660046131f9565b610906565b005b3480156102d157600080fd5b50604080518082019091526009815268436f6d6d756e69747960b81b60208201525b60405161030091906133a5565b60405180910390f35b34801561031557600080fd5b506102c361032436600461335e565b61095b565b34801561033557600080fd5b506103496103443660046132ad565b6109a7565b6040519015158152602001610300565b34801561036557600080fd5b506102c361037436600461335e565b6109be565b34801561038557600080fd5b506103496103943660046131f9565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156103be57600080fd5b50601a546103d2906001600160a01b031681565b6040516001600160a01b039091168152602001610300565b3480156103f657600080fd5b50683635c9adc5dea000005b604051908152602001610300565b34801561041c57600080fd5b506102c361042b3660046131f9565b610a4c565b34801561043c57600080fd5b5061034961044b36600461326c565b610a98565b34801561045c57600080fd5b5060405160098152602001610300565b34801561047857600080fd5b506102c36104873660046131f9565b610b01565b34801561049857600080fd5b506102c36104a73660046131f9565b610bbe565b3480156104b857600080fd5b506102c36104c73660046131f9565b610e72565b3480156104d857600080fd5b50601b546103d2906001600160a01b031681565b3480156104f857600080fd5b506103496105073660046131f9565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561053157600080fd5b506102c36105403660046132d9565b610fe4565b34801561055157600080fd5b506102c361056036600461335e565b611069565b34801561057157600080fd5b506104026105803660046131f9565b611115565b34801561059157600080fd5b506102c3611138565b3480156105a657600080fd5b506104026105b53660046131f9565b611165565b3480156105c657600080fd5b506102c3611187565b3480156105db57600080fd5b5061040260125481565b3480156105f157600080fd5b506102c36106003660046131f9565b6111fb565b34801561061157600080fd5b506102c361062036600461335e565b61137f565b34801561063157600080fd5b506102c361064036600461335e565b61140b565b34801561065157600080fd5b5061040260175481565b34801561066757600080fd5b506000546001600160a01b03166103d2565b34801561068557600080fd5b5060408051808201909152600a81526924434f4d4d554e49545960b01b60208201526102f3565b3480156106b857600080fd5b506102c36106c736600461335e565b61149a565b3480156106d857600080fd5b506103496106e73660046132ad565b611528565b3480156106f857600080fd5b50601b54600160a81b900460ff16610349565b34801561071757600080fd5b506102c3610726366004613313565b611535565b34801561073757600080fd5b506102c361074636600461335e565b611590565b34801561075757600080fd5b506102c3611657565b34801561076c57600080fd5b5061040260145481565b34801561078257600080fd5b506102c361168d565b34801561079757600080fd5b506103496107a63660046131f9565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156107d057600080fd5b5061040260165481565b3480156107e657600080fd5b5061040260155481565b3480156107fc57600080fd5b506104026116e3565b34801561081157600080fd5b50610402610820366004613233565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561085757600080fd5b506103496108663660046131f9565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561089057600080fd5b5061040260235481565b3480156108a657600080fd5b506102c3611700565b3480156108bb57600080fd5b506102c36108ca3660046131f9565b611ab3565b3480156108db57600080fd5b5061040260135481565b3480156108f157600080fd5b50601b5461034990600160a01b900460ff1681565b6000546001600160a01b031633146109395760405162461bcd60e51b815260040161093090613442565b60405180910390fd5b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109855760405162461bcd60e51b815260040161093090613442565b603281101561099357600080fd5b6109a181633b9aca00613522565b60255550565b60006109b4338484611c7e565b5060015b92915050565b6000546001600160a01b031633146109e85760405162461bcd60e51b815260040161093090613442565b600f811115610a475760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574204275797465616d46656520686967686572207468616044820152646e2031352560d81b6064820152608401610930565b601555565b6000546001600160a01b03163314610a765760405162461bcd60e51b815260040161093090613442565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610aa5848484611da2565b610af78433610af2856040518060600160405280602881526020016135d9602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190612483565b611c7e565b5060019392505050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b815260040161093090613442565b6001600160a01b0381166000908152600a602052604090205460ff16610b9d5760405162461bcd60e51b815260206004820152602160248201527f4163636f756e74206973206e6f742061207265636f7264656420736e697065726044820152601760f91b6064820152608401610930565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b03163314610be85760405162461bcd60e51b815260040161093090613442565b6001600160a01b03811660009081526006602052604090205460ff16610c505760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610930565b60005b600754811015610e6e57816001600160a01b031660078281548110610c7a57610c7a61359f565b6000918252602090912001546001600160a01b03161415610e5c576001600160a01b03821660009081526003602052604090205415610d68576000610cdf610cc06124bd565b6001600160a01b038516600090815260036020526040902054906124e0565b6001600160a01b038416600090815260026020526040902054909150610d1390610d0a908390613541565b600c5490612566565b600c556001600160a01b038316600090815260026020526040902054610d4790610d3e908390613541565b600d54906125a8565b600d556001600160a01b038316600090815260026020526040902055610d82565b6001600160a01b0382166000908152600260205260408120555b6001600160a01b03821660009081526003602052604081205560078054610dab90600190613541565b81548110610dbb57610dbb61359f565b600091825260209091200154600780546001600160a01b039092169183908110610de757610de761359f565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600690915260409020805460ff191690556007805480610e3657610e36613589565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610e6681613558565b915050610c53565b5050565b6000546001600160a01b03163314610e9c5760405162461bcd60e51b815260040161093090613442565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415610f155760405162461bcd60e51b8152602060048201526024808201527f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f756044820152633a32b91760e11b6064820152608401610930565b6001600160a01b03811660009081526008602052604090205460ff1615610f7e5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420697320616c726561647920626c61636b6c697374656400006044820152606401610930565b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6000546001600160a01b0316331461100e5760405162461bcd60e51b815260040161093090613442565b601b805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6000546001600160a01b031633146110935760405162461bcd60e51b815260040161093090613442565b63891737018110156111015760405162461bcd60e51b815260206004820152603160248201527f43616e6e6f7420736574207472616e73616374696f6e2062656c6f77207374616044820152701c9d1a5b99c81b585e151e105b5bdd5b9d607a1b6064820152608401610930565b61110f81633b9aca00613522565b60125550565b6001600160a01b0381166000908152600b60205260408120546109b89042613541565b6018546001600160a01b0316336001600160a01b03161461115857600080fd5b4761116281612607565b50565b6001600160a01b0381166000908152600260205260408120546109b8906126a1565b6000546001600160a01b031633146111b15760405162461bcd60e51b815260040161093090613442565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112255760405162461bcd60e51b815260040161093090613442565b6001600160a01b03811660009081526008602052604090205460ff1661128d5760405162461bcd60e51b815260206004820152601a60248201527f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000006044820152606401610930565b60005b600954811015610e6e57816001600160a01b0316600982815481106112b7576112b761359f565b6000918252602090912001546001600160a01b0316141561136d57600980546112e290600190613541565b815481106112f2576112f261359f565b600091825260209091200154600980546001600160a01b03909216918390811061131e5761131e61359f565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600890915260409020805460ff191690556009805480610e3657610e36613589565b8061137781613558565b915050611290565b6000546001600160a01b031633146113a95760405162461bcd60e51b815260040161093090613442565b600f8111156114065760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f74207365742042757974617846656520686967686572207468616e6044820152632031352560e01b6064820152608401610930565b601455565b6000546001600160a01b031633146114355760405162461bcd60e51b815260040161093090613442565b600f8111156114955760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74207365742053656c6c7465616d46656520686967686572207468604482015265616e2031352560d01b6064820152608401610930565b601755565b6000546001600160a01b031633146114c45760405162461bcd60e51b815260040161093090613442565b600f8111156115235760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f74207365742053656c6c74617846656520686967686572207468616044820152646e2031352560d81b6064820152608401610930565b601655565b60006109b4338484611da2565b6000546001600160a01b0316331461155f5760405162461bcd60e51b815260040161093090613442565b601d805493151560ff1994851617905560248054921515928416929092179091556026805491151591909216179055565b6000546001600160a01b031633146115ba5760405162461bcd60e51b815260040161093090613442565b633b9aca0060646115d5683635c9adc5dea000006001613522565b6115df9190613500565b6115e99190613500565b8110156116435760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610930565b61165181633b9aca00613522565b60135550565b6018546001600160a01b0316336001600160a01b03161461167757600080fd5b600061168230611165565b90506111628161271e565b6000546001600160a01b031633146116b75760405162461bcd60e51b815260040161093090613442565b601b805460ff60a01b1916600160a01b1790556116d64261012c6134e8565b601c554260205543602155565b601b546000906116fb906001600160a01b0316611165565b905090565b6000546001600160a01b0316331461172a5760405162461bcd60e51b815260040161093090613442565b601b54600160a01b900460ff16156117845760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610930565b601a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556117c13082683635c9adc5dea00000611c7e565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118329190613216565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561187a57600080fd5b505afa15801561188e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b29190613216565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119329190613216565b601b80546001600160a01b0319166001600160a01b03928316179055601a541663f305d719473061196281611165565b6000806119776000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156119da57600080fd5b505af11580156119ee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a139190613377565b5050671feb3dd0a300ca006012555042601e5543601f55601b54601a5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6e91906132f6565b6000546001600160a01b03163314611add5760405162461bcd60e51b815260040161093090613442565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415611b555760405162461bcd60e51b815260206004820152602260248201527f57652063616e206e6f74206578636c75646520556e697377617020726f757465604482015261391760f11b6064820152608401610930565b6001600160a01b03811660009081526006602052604090205460ff1615611bbe5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610930565b6001600160a01b03811660009081526002602052604090205415611c18576001600160a01b038116600090815260026020526040902054611bfe906126a1565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600660205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6001600160a01b038316611ce05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610930565b6001600160a01b038216611d415760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610930565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611e065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610930565b6001600160a01b038216611e685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610930565b60008111611eca5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610930565b6001600160a01b03821660009081526008602052604090205460ff1615611f2d5760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610930565b3360009081526008602052604090205460ff1615611f875760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610930565b6000546001600160a01b03848116911614801590611fb357506000546001600160a01b03838116911614155b1561242657601b54600160a81b900460ff161561203357336000908152600b602052604090206002015460ff166120335760408051606081018252600080825260208083018281526001848601818152338552600b909352949092209251835590519282019290925590516002909101805460ff19169115159190911790555b601b546001600160a01b03848116911614801561205e5750601a546001600160a01b03838116911614155b801561208357506001600160a01b03821660009081526005602052604090205460ff16155b1561232f57601b54600160a01b900460ff166120e15760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610930565b6013546120ed83611165565b6120f790836134e8565b111561213b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610930565b60125481111561215d5760405162461bcd60e51b8152600401610930906133fa565b601454600e55601554600f55601b54600160a81b900460ff161561222b5742601c54111561222b5760125481111561219457600080fd5b6001600160a01b0382166000908152600b602052604090205442116122065760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610930565b61221142600f6134e8565b6001600160a01b0383166000908152600b60205260409020555b60245460ff1615612288576025543a11156122885760405162461bcd60e51b815260206004820152601860248201527f4761732070726963652065786365656473206c696d69742e00000000000000006044820152606401610930565b60265460ff161561232f57601b546001600160a01b03848116911614156122ee576001600160a01b0382166000908152602760205260409020544314156122ce57600080fd5b6001600160a01b038216600090815260276020526040902043905561232f565b6001600160a01b03831660009081526027602052604090205443141561231357600080fd5b6001600160a01b03831660009081526027602052604090204390555b601b546001600160a01b03838116911614801561235a5750601a546001600160a01b03848116911614155b801561237f57506001600160a01b03831660009081526005602052604090205460ff16155b156123b3576012548111156123a65760405162461bcd60e51b8152600401610930906133fa565b601654600e55601754600f555b60006123be30611165565b601b54909150600160b01b900460ff161580156123e95750601b546001600160a01b03858116911614155b80156123fe5750601b54600160a01b900460ff165b15612424578015612412576124128161271e565b4780156124225761242247612607565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff168061246857506001600160a01b03831660009081526005602052604090205460ff165b15612471575060005b61247d848484846128a7565b50505050565b600081848411156124a75760405162461bcd60e51b815260040161093091906133a5565b5060006124b48486613541565b95945050505050565b60008060006124ca612bc9565b90925090506124d98282612d65565b9250505090565b6000826124ef575060006109b8565b60006124fb8385613522565b9050826125088583613500565b1461255f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610930565b9392505050565b600061255f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612483565b6000806125b583856134e8565b90508381101561255f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610930565b6000612614600583613500565b61261f906002613522565b6018546040519192506001600160a01b03169082156108fc029083906000818181858888f1935050505015801561265a573d6000803e3d6000fd5b506019546001600160a01b03166108fc6126748385613541565b6040518115909202916000818181858888f1935050505015801561269c573d6000803e3d6000fd5b505050565b6000600c548211156127085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610930565b60006127126124bd565b905061255f8382612d65565b601b805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106127665761276661359f565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156127ba57600080fd5b505afa1580156127ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f29190613216565b816001815181106128055761280561359f565b6001600160a01b039283166020918202929092010152601a5461282b9130911684611c7e565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612864908590600090869030904290600401613477565b600060405180830381600087803b15801561287e57600080fd5b505af1158015612892573d6000803e3d6000fd5b5050601b805460ff60b01b1916905550505050565b601d5460ff1615612a20576001600160a01b0384166000908152600a602052604090205460ff161561290e5760405162461bcd60e51b815260206004820152601060248201526f29b734b832b9103932b532b1ba32b21760811b6044820152606401610930565b602254601f5461291e9043613541565b1015612997576001600160a01b0383166000908152600a60205260408120805460ff19166001179055602380549161295583613558565b90915550506040516001600160a01b03841681527f18e6e5ce5c121466e41a954e72765d1ea02b8e6919043b61f0dab08b4c6572e59060200160405180910390a15b6022546021546129a79043613541565b1015612a20576001600160a01b0383166000908152600a60205260408120805460ff1916600117905560238054916129de83613558565b90915550506040516001600160a01b03841681527f18e6e5ce5c121466e41a954e72765d1ea02b8e6919043b61f0dab08b4c6572e59060200160405180910390a15b80612a2d57612a2d612da7565b6001600160a01b03841660009081526006602052604090205460ff168015612a6e57506001600160a01b03831660009081526006602052604090205460ff16155b15612a8357612a7e848484612dd5565b612b81565b6001600160a01b03841660009081526006602052604090205460ff16158015612ac457506001600160a01b03831660009081526006602052604090205460ff165b15612ad457612a7e848484612efb565b6001600160a01b03841660009081526006602052604090205460ff16158015612b1657506001600160a01b03831660009081526006602052604090205460ff16155b15612b2657612a7e848484612fa4565b6001600160a01b03841660009081526006602052604090205460ff168015612b6657506001600160a01b03831660009081526006602052604090205460ff165b15612b7657612a7e848484612fe8565b612b81848484612fa4565b801580612b9b5750601b546001600160a01b038581169116145b80612bb35750601b546001600160a01b038481169116145b1561247d5761247d601054600e55601154600f55565b600c546000908190683635c9adc5dea00000825b600754811015612d2857826002600060078481548110612bff57612bff61359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612c6a5750816003600060078481548110612c4357612c4361359f565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612c86575050600c5493683635c9adc5dea000009350915050565b612ccc6002600060078481548110612ca057612ca061359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612566565b9250612d146003600060078481548110612ce857612ce861359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612566565b915080612d2081613558565b915050612bdd565b50600c54612d3f90683635c9adc5dea00000612d65565b821015612d5c575050600c5492683635c9adc5dea0000092509050565b90939092509050565b600061255f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061305b565b600e54158015612db75750600f54155b15612dbe57565b600e8054601055600f805460115560009182905555565b600080600080600080612de787613089565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612e199088612566565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054612e489087612566565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054612e7790866125a8565b6001600160a01b038916600090815260026020526040902055612e99816130e6565b612ea38483613130565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612ee891815260200190565b60405180910390a3505050505050505050565b600080600080600080612f0d87613089565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150612f3f9087612566565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054612f7590846125a8565b6001600160a01b038916600090815260036020908152604080832093909355600290522054612e7790866125a8565b600080600080600080612fb687613089565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150612e489087612566565b600080600080600080612ffa87613089565b6001600160a01b038f16600090815260036020526040902054959b5093995091975095509350915061302c9088612566565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054612f3f9087612566565b6000818361307c5760405162461bcd60e51b815260040161093091906133a5565b5060006124b48486613500565b60008060008060008060008060006130a68a600e54600f54613154565b92509250925060006130b66124bd565b905060008060006130c98e8787876131a9565b919e509c509a509598509396509194505050505091939550919395565b60006130f06124bd565b905060006130fe83836124e0565b3060009081526002602052604090205490915061311b90826125a8565b30600090815260026020526040902055505050565b600c5461313d9083612566565b600c55600d5461314d90826125a8565b600d555050565b600080808061316e606461316889896124e0565b90612d65565b9050600061318160646131688a896124e0565b90506000613199826131938b86612566565b90612566565b9992985090965090945050505050565b60008080806131b888866124e0565b905060006131c688876124e0565b905060006131d488886124e0565b905060006131e6826131938686612566565b939b939a50919850919650505050505050565b60006020828403121561320b57600080fd5b813561255f816135b5565b60006020828403121561322857600080fd5b815161255f816135b5565b6000806040838503121561324657600080fd5b8235613251816135b5565b91506020830135613261816135b5565b809150509250929050565b60008060006060848603121561328157600080fd5b833561328c816135b5565b9250602084013561329c816135b5565b929592945050506040919091013590565b600080604083850312156132c057600080fd5b82356132cb816135b5565b946020939093013593505050565b6000602082840312156132eb57600080fd5b813561255f816135ca565b60006020828403121561330857600080fd5b815161255f816135ca565b60008060006060848603121561332857600080fd5b8335613333816135ca565b92506020840135613343816135ca565b91506040840135613353816135ca565b809150509250925092565b60006020828403121561337057600080fd5b5035919050565b60008060006060848603121561338c57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156133d2578581018301518582016040015282016133b6565b818111156133e4576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134c75784516001600160a01b0316835293830193918301916001016134a2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156134fb576134fb613573565b500190565b60008261351d57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561353c5761353c613573565b500290565b60008282101561355357613553613573565b500390565b600060001982141561356c5761356c613573565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461116257600080fd5b801515811461116257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205a2a1dbde8c5c8867c65764592cc76d19d7ef4102495a9fc1f702ba902630a0064736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d6a0081b68534ce6e3a7a703d6b60b3bbd6b11fe000000000000000000000000ea9e35945e72ff9025433564ae2a6831560df52b

Deployed Bytecode

0x6080604052600436106102975760003560e01c80638297d6801161015a578063c9567bf9116100c1578063e47d60601161007a578063e47d60601461084b578063e79d416014610884578063e8078d941461089a578063f2cc0c18146108af578063f8b45b05146108cf578063ffb54a99146108e557600080fd5b8063c9567bf914610776578063cba0e9961461078b578063d3f83894146107c4578063d839eeb5146107da578063db92dbb6146107f0578063dd62ed3e1461080557600080fd5b8063a9059cbb11610113578063a9059cbb146106cc578063a985ceef146106ec578063b6f8f8dc1461070b578063c18bc1951461072b578063c3c8cd801461074b578063c4a4000c1461076057600080fd5b80638297d680146106055780638b4cee08146106255780638bd9ad21146106455780638da5cb5b1461065b57806395d89b41146106795780639611f8a8146106ac57600080fd5b80633685d419116101fe57806368a3a6a5116101b757806368a3a6a5146105655780636fc3eaec1461058557806370a082311461059a578063715018a6146105ba5780637d1db4a5146105cf5780637ded4d6a146105e557600080fd5b80633685d4191461048c5780634303443d146104ac57806349bd5a5e146104cc5780635342acb4146104ec5780635932ead1146105255780636256d1811461054557600080fd5b80631694505e116102505780631694505e146103b257806318160ddd146103ea578063224611731461041057806323b872dd14610430578063313ce5671461045057806333251a0b1461046c57600080fd5b806304ef55bb146102a357806306fdde03146102c55780630923160214610309578063095ea7b3146103295780630cc835a3146103595780630f3a325f1461037957600080fd5b3661029e57005b600080fd5b3480156102af57600080fd5b506102c36102be3660046131f9565b610906565b005b3480156102d157600080fd5b50604080518082019091526009815268436f6d6d756e69747960b81b60208201525b60405161030091906133a5565b60405180910390f35b34801561031557600080fd5b506102c361032436600461335e565b61095b565b34801561033557600080fd5b506103496103443660046132ad565b6109a7565b6040519015158152602001610300565b34801561036557600080fd5b506102c361037436600461335e565b6109be565b34801561038557600080fd5b506103496103943660046131f9565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156103be57600080fd5b50601a546103d2906001600160a01b031681565b6040516001600160a01b039091168152602001610300565b3480156103f657600080fd5b50683635c9adc5dea000005b604051908152602001610300565b34801561041c57600080fd5b506102c361042b3660046131f9565b610a4c565b34801561043c57600080fd5b5061034961044b36600461326c565b610a98565b34801561045c57600080fd5b5060405160098152602001610300565b34801561047857600080fd5b506102c36104873660046131f9565b610b01565b34801561049857600080fd5b506102c36104a73660046131f9565b610bbe565b3480156104b857600080fd5b506102c36104c73660046131f9565b610e72565b3480156104d857600080fd5b50601b546103d2906001600160a01b031681565b3480156104f857600080fd5b506103496105073660046131f9565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561053157600080fd5b506102c36105403660046132d9565b610fe4565b34801561055157600080fd5b506102c361056036600461335e565b611069565b34801561057157600080fd5b506104026105803660046131f9565b611115565b34801561059157600080fd5b506102c3611138565b3480156105a657600080fd5b506104026105b53660046131f9565b611165565b3480156105c657600080fd5b506102c3611187565b3480156105db57600080fd5b5061040260125481565b3480156105f157600080fd5b506102c36106003660046131f9565b6111fb565b34801561061157600080fd5b506102c361062036600461335e565b61137f565b34801561063157600080fd5b506102c361064036600461335e565b61140b565b34801561065157600080fd5b5061040260175481565b34801561066757600080fd5b506000546001600160a01b03166103d2565b34801561068557600080fd5b5060408051808201909152600a81526924434f4d4d554e49545960b01b60208201526102f3565b3480156106b857600080fd5b506102c36106c736600461335e565b61149a565b3480156106d857600080fd5b506103496106e73660046132ad565b611528565b3480156106f857600080fd5b50601b54600160a81b900460ff16610349565b34801561071757600080fd5b506102c3610726366004613313565b611535565b34801561073757600080fd5b506102c361074636600461335e565b611590565b34801561075757600080fd5b506102c3611657565b34801561076c57600080fd5b5061040260145481565b34801561078257600080fd5b506102c361168d565b34801561079757600080fd5b506103496107a63660046131f9565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156107d057600080fd5b5061040260165481565b3480156107e657600080fd5b5061040260155481565b3480156107fc57600080fd5b506104026116e3565b34801561081157600080fd5b50610402610820366004613233565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561085757600080fd5b506103496108663660046131f9565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561089057600080fd5b5061040260235481565b3480156108a657600080fd5b506102c3611700565b3480156108bb57600080fd5b506102c36108ca3660046131f9565b611ab3565b3480156108db57600080fd5b5061040260135481565b3480156108f157600080fd5b50601b5461034990600160a01b900460ff1681565b6000546001600160a01b031633146109395760405162461bcd60e51b815260040161093090613442565b60405180910390fd5b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109855760405162461bcd60e51b815260040161093090613442565b603281101561099357600080fd5b6109a181633b9aca00613522565b60255550565b60006109b4338484611c7e565b5060015b92915050565b6000546001600160a01b031633146109e85760405162461bcd60e51b815260040161093090613442565b600f811115610a475760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574204275797465616d46656520686967686572207468616044820152646e2031352560d81b6064820152608401610930565b601555565b6000546001600160a01b03163314610a765760405162461bcd60e51b815260040161093090613442565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000610aa5848484611da2565b610af78433610af2856040518060600160405280602881526020016135d9602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190612483565b611c7e565b5060019392505050565b6000546001600160a01b03163314610b2b5760405162461bcd60e51b815260040161093090613442565b6001600160a01b0381166000908152600a602052604090205460ff16610b9d5760405162461bcd60e51b815260206004820152602160248201527f4163636f756e74206973206e6f742061207265636f7264656420736e697065726044820152601760f91b6064820152608401610930565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b03163314610be85760405162461bcd60e51b815260040161093090613442565b6001600160a01b03811660009081526006602052604090205460ff16610c505760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610930565b60005b600754811015610e6e57816001600160a01b031660078281548110610c7a57610c7a61359f565b6000918252602090912001546001600160a01b03161415610e5c576001600160a01b03821660009081526003602052604090205415610d68576000610cdf610cc06124bd565b6001600160a01b038516600090815260036020526040902054906124e0565b6001600160a01b038416600090815260026020526040902054909150610d1390610d0a908390613541565b600c5490612566565b600c556001600160a01b038316600090815260026020526040902054610d4790610d3e908390613541565b600d54906125a8565b600d556001600160a01b038316600090815260026020526040902055610d82565b6001600160a01b0382166000908152600260205260408120555b6001600160a01b03821660009081526003602052604081205560078054610dab90600190613541565b81548110610dbb57610dbb61359f565b600091825260209091200154600780546001600160a01b039092169183908110610de757610de761359f565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600690915260409020805460ff191690556007805480610e3657610e36613589565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610e6681613558565b915050610c53565b5050565b6000546001600160a01b03163314610e9c5760405162461bcd60e51b815260040161093090613442565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415610f155760405162461bcd60e51b8152602060048201526024808201527f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f756044820152633a32b91760e11b6064820152608401610930565b6001600160a01b03811660009081526008602052604090205460ff1615610f7e5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420697320616c726561647920626c61636b6c697374656400006044820152606401610930565b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6000546001600160a01b0316331461100e5760405162461bcd60e51b815260040161093090613442565b601b805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6000546001600160a01b031633146110935760405162461bcd60e51b815260040161093090613442565b63891737018110156111015760405162461bcd60e51b815260206004820152603160248201527f43616e6e6f7420736574207472616e73616374696f6e2062656c6f77207374616044820152701c9d1a5b99c81b585e151e105b5bdd5b9d607a1b6064820152608401610930565b61110f81633b9aca00613522565b60125550565b6001600160a01b0381166000908152600b60205260408120546109b89042613541565b6018546001600160a01b0316336001600160a01b03161461115857600080fd5b4761116281612607565b50565b6001600160a01b0381166000908152600260205260408120546109b8906126a1565b6000546001600160a01b031633146111b15760405162461bcd60e51b815260040161093090613442565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112255760405162461bcd60e51b815260040161093090613442565b6001600160a01b03811660009081526008602052604090205460ff1661128d5760405162461bcd60e51b815260206004820152601a60248201527f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000006044820152606401610930565b60005b600954811015610e6e57816001600160a01b0316600982815481106112b7576112b761359f565b6000918252602090912001546001600160a01b0316141561136d57600980546112e290600190613541565b815481106112f2576112f261359f565b600091825260209091200154600980546001600160a01b03909216918390811061131e5761131e61359f565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600890915260409020805460ff191690556009805480610e3657610e36613589565b8061137781613558565b915050611290565b6000546001600160a01b031633146113a95760405162461bcd60e51b815260040161093090613442565b600f8111156114065760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f74207365742042757974617846656520686967686572207468616e6044820152632031352560e01b6064820152608401610930565b601455565b6000546001600160a01b031633146114355760405162461bcd60e51b815260040161093090613442565b600f8111156114955760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74207365742053656c6c7465616d46656520686967686572207468604482015265616e2031352560d01b6064820152608401610930565b601755565b6000546001600160a01b031633146114c45760405162461bcd60e51b815260040161093090613442565b600f8111156115235760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f74207365742053656c6c74617846656520686967686572207468616044820152646e2031352560d81b6064820152608401610930565b601655565b60006109b4338484611da2565b6000546001600160a01b0316331461155f5760405162461bcd60e51b815260040161093090613442565b601d805493151560ff1994851617905560248054921515928416929092179091556026805491151591909216179055565b6000546001600160a01b031633146115ba5760405162461bcd60e51b815260040161093090613442565b633b9aca0060646115d5683635c9adc5dea000006001613522565b6115df9190613500565b6115e99190613500565b8110156116435760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610930565b61165181633b9aca00613522565b60135550565b6018546001600160a01b0316336001600160a01b03161461167757600080fd5b600061168230611165565b90506111628161271e565b6000546001600160a01b031633146116b75760405162461bcd60e51b815260040161093090613442565b601b805460ff60a01b1916600160a01b1790556116d64261012c6134e8565b601c554260205543602155565b601b546000906116fb906001600160a01b0316611165565b905090565b6000546001600160a01b0316331461172a5760405162461bcd60e51b815260040161093090613442565b601b54600160a01b900460ff16156117845760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610930565b601a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556117c13082683635c9adc5dea00000611c7e565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118329190613216565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561187a57600080fd5b505afa15801561188e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b29190613216565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119329190613216565b601b80546001600160a01b0319166001600160a01b03928316179055601a541663f305d719473061196281611165565b6000806119776000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156119da57600080fd5b505af11580156119ee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a139190613377565b5050671feb3dd0a300ca006012555042601e5543601f55601b54601a5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6e91906132f6565b6000546001600160a01b03163314611add5760405162461bcd60e51b815260040161093090613442565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415611b555760405162461bcd60e51b815260206004820152602260248201527f57652063616e206e6f74206578636c75646520556e697377617020726f757465604482015261391760f11b6064820152608401610930565b6001600160a01b03811660009081526006602052604090205460ff1615611bbe5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610930565b6001600160a01b03811660009081526002602052604090205415611c18576001600160a01b038116600090815260026020526040902054611bfe906126a1565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600660205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6001600160a01b038316611ce05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610930565b6001600160a01b038216611d415760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610930565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611e065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610930565b6001600160a01b038216611e685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610930565b60008111611eca5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610930565b6001600160a01b03821660009081526008602052604090205460ff1615611f2d5760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610930565b3360009081526008602052604090205460ff1615611f875760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610930565b6000546001600160a01b03848116911614801590611fb357506000546001600160a01b03838116911614155b1561242657601b54600160a81b900460ff161561203357336000908152600b602052604090206002015460ff166120335760408051606081018252600080825260208083018281526001848601818152338552600b909352949092209251835590519282019290925590516002909101805460ff19169115159190911790555b601b546001600160a01b03848116911614801561205e5750601a546001600160a01b03838116911614155b801561208357506001600160a01b03821660009081526005602052604090205460ff16155b1561232f57601b54600160a01b900460ff166120e15760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610930565b6013546120ed83611165565b6120f790836134e8565b111561213b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610930565b60125481111561215d5760405162461bcd60e51b8152600401610930906133fa565b601454600e55601554600f55601b54600160a81b900460ff161561222b5742601c54111561222b5760125481111561219457600080fd5b6001600160a01b0382166000908152600b602052604090205442116122065760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610930565b61221142600f6134e8565b6001600160a01b0383166000908152600b60205260409020555b60245460ff1615612288576025543a11156122885760405162461bcd60e51b815260206004820152601860248201527f4761732070726963652065786365656473206c696d69742e00000000000000006044820152606401610930565b60265460ff161561232f57601b546001600160a01b03848116911614156122ee576001600160a01b0382166000908152602760205260409020544314156122ce57600080fd5b6001600160a01b038216600090815260276020526040902043905561232f565b6001600160a01b03831660009081526027602052604090205443141561231357600080fd5b6001600160a01b03831660009081526027602052604090204390555b601b546001600160a01b03838116911614801561235a5750601a546001600160a01b03848116911614155b801561237f57506001600160a01b03831660009081526005602052604090205460ff16155b156123b3576012548111156123a65760405162461bcd60e51b8152600401610930906133fa565b601654600e55601754600f555b60006123be30611165565b601b54909150600160b01b900460ff161580156123e95750601b546001600160a01b03858116911614155b80156123fe5750601b54600160a01b900460ff165b15612424578015612412576124128161271e565b4780156124225761242247612607565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff168061246857506001600160a01b03831660009081526005602052604090205460ff165b15612471575060005b61247d848484846128a7565b50505050565b600081848411156124a75760405162461bcd60e51b815260040161093091906133a5565b5060006124b48486613541565b95945050505050565b60008060006124ca612bc9565b90925090506124d98282612d65565b9250505090565b6000826124ef575060006109b8565b60006124fb8385613522565b9050826125088583613500565b1461255f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610930565b9392505050565b600061255f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612483565b6000806125b583856134e8565b90508381101561255f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610930565b6000612614600583613500565b61261f906002613522565b6018546040519192506001600160a01b03169082156108fc029083906000818181858888f1935050505015801561265a573d6000803e3d6000fd5b506019546001600160a01b03166108fc6126748385613541565b6040518115909202916000818181858888f1935050505015801561269c573d6000803e3d6000fd5b505050565b6000600c548211156127085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610930565b60006127126124bd565b905061255f8382612d65565b601b805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106127665761276661359f565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156127ba57600080fd5b505afa1580156127ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f29190613216565b816001815181106128055761280561359f565b6001600160a01b039283166020918202929092010152601a5461282b9130911684611c7e565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612864908590600090869030904290600401613477565b600060405180830381600087803b15801561287e57600080fd5b505af1158015612892573d6000803e3d6000fd5b5050601b805460ff60b01b1916905550505050565b601d5460ff1615612a20576001600160a01b0384166000908152600a602052604090205460ff161561290e5760405162461bcd60e51b815260206004820152601060248201526f29b734b832b9103932b532b1ba32b21760811b6044820152606401610930565b602254601f5461291e9043613541565b1015612997576001600160a01b0383166000908152600a60205260408120805460ff19166001179055602380549161295583613558565b90915550506040516001600160a01b03841681527f18e6e5ce5c121466e41a954e72765d1ea02b8e6919043b61f0dab08b4c6572e59060200160405180910390a15b6022546021546129a79043613541565b1015612a20576001600160a01b0383166000908152600a60205260408120805460ff1916600117905560238054916129de83613558565b90915550506040516001600160a01b03841681527f18e6e5ce5c121466e41a954e72765d1ea02b8e6919043b61f0dab08b4c6572e59060200160405180910390a15b80612a2d57612a2d612da7565b6001600160a01b03841660009081526006602052604090205460ff168015612a6e57506001600160a01b03831660009081526006602052604090205460ff16155b15612a8357612a7e848484612dd5565b612b81565b6001600160a01b03841660009081526006602052604090205460ff16158015612ac457506001600160a01b03831660009081526006602052604090205460ff165b15612ad457612a7e848484612efb565b6001600160a01b03841660009081526006602052604090205460ff16158015612b1657506001600160a01b03831660009081526006602052604090205460ff16155b15612b2657612a7e848484612fa4565b6001600160a01b03841660009081526006602052604090205460ff168015612b6657506001600160a01b03831660009081526006602052604090205460ff165b15612b7657612a7e848484612fe8565b612b81848484612fa4565b801580612b9b5750601b546001600160a01b038581169116145b80612bb35750601b546001600160a01b038481169116145b1561247d5761247d601054600e55601154600f55565b600c546000908190683635c9adc5dea00000825b600754811015612d2857826002600060078481548110612bff57612bff61359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612c6a5750816003600060078481548110612c4357612c4361359f565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612c86575050600c5493683635c9adc5dea000009350915050565b612ccc6002600060078481548110612ca057612ca061359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612566565b9250612d146003600060078481548110612ce857612ce861359f565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612566565b915080612d2081613558565b915050612bdd565b50600c54612d3f90683635c9adc5dea00000612d65565b821015612d5c575050600c5492683635c9adc5dea0000092509050565b90939092509050565b600061255f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061305b565b600e54158015612db75750600f54155b15612dbe57565b600e8054601055600f805460115560009182905555565b600080600080600080612de787613089565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612e199088612566565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054612e489087612566565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054612e7790866125a8565b6001600160a01b038916600090815260026020526040902055612e99816130e6565b612ea38483613130565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612ee891815260200190565b60405180910390a3505050505050505050565b600080600080600080612f0d87613089565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150612f3f9087612566565b6001600160a01b03808b16600090815260026020908152604080832094909455918b16815260039091522054612f7590846125a8565b6001600160a01b038916600090815260036020908152604080832093909355600290522054612e7790866125a8565b600080600080600080612fb687613089565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150612e489087612566565b600080600080600080612ffa87613089565b6001600160a01b038f16600090815260036020526040902054959b5093995091975095509350915061302c9088612566565b6001600160a01b038a16600090815260036020908152604080832093909355600290522054612f3f9087612566565b6000818361307c5760405162461bcd60e51b815260040161093091906133a5565b5060006124b48486613500565b60008060008060008060008060006130a68a600e54600f54613154565b92509250925060006130b66124bd565b905060008060006130c98e8787876131a9565b919e509c509a509598509396509194505050505091939550919395565b60006130f06124bd565b905060006130fe83836124e0565b3060009081526002602052604090205490915061311b90826125a8565b30600090815260026020526040902055505050565b600c5461313d9083612566565b600c55600d5461314d90826125a8565b600d555050565b600080808061316e606461316889896124e0565b90612d65565b9050600061318160646131688a896124e0565b90506000613199826131938b86612566565b90612566565b9992985090965090945050505050565b60008080806131b888866124e0565b905060006131c688876124e0565b905060006131d488886124e0565b905060006131e6826131938686612566565b939b939a50919850919650505050505050565b60006020828403121561320b57600080fd5b813561255f816135b5565b60006020828403121561322857600080fd5b815161255f816135b5565b6000806040838503121561324657600080fd5b8235613251816135b5565b91506020830135613261816135b5565b809150509250929050565b60008060006060848603121561328157600080fd5b833561328c816135b5565b9250602084013561329c816135b5565b929592945050506040919091013590565b600080604083850312156132c057600080fd5b82356132cb816135b5565b946020939093013593505050565b6000602082840312156132eb57600080fd5b813561255f816135ca565b60006020828403121561330857600080fd5b815161255f816135ca565b60008060006060848603121561332857600080fd5b8335613333816135ca565b92506020840135613343816135ca565b91506040840135613353816135ca565b809150509250925092565b60006020828403121561337057600080fd5b5035919050565b60008060006060848603121561338c57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156133d2578581018301518582016040015282016133b6565b818111156133e4576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134c75784516001600160a01b0316835293830193918301916001016134a2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156134fb576134fb613573565b500190565b60008261351d57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561353c5761353c613573565b500290565b60008282101561355357613553613573565b500390565b600060001982141561356c5761356c613573565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461116257600080fd5b801515811461116257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205a2a1dbde8c5c8867c65764592cc76d19d7ef4102495a9fc1f702ba902630a0064736f6c63430008070033

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

00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d6a0081b68534ce6e3a7a703d6b60b3bbd6b11fe000000000000000000000000ea9e35945e72ff9025433564ae2a6831560df52b

-----Decoded View---------------
Arg [0] : _snipeBlockAmt (uint256): 1
Arg [1] : _gasPriceLimit (uint256): 100
Arg [2] : FeeAddress (address): 0xD6a0081B68534CE6E3A7a703D6B60b3bbD6b11Fe
Arg [3] : FeeAddress2 (address): 0xEA9e35945E72FF9025433564Ae2a6831560DF52B

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [2] : 000000000000000000000000d6a0081b68534ce6e3a7a703d6b60b3bbd6b11fe
Arg [3] : 000000000000000000000000ea9e35945e72ff9025433564ae2a6831560df52b


Deployed Bytecode Sourcemap

7964:26879:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33732:113;;;;;;;;;;-1:-1:-1;33732:113:0;;;;;:::i;:::-;;:::i;:::-;;15692:83;;;;;;;;;;-1:-1:-1;15762:5:0;;;;;;;;;;;;-1:-1:-1;;;15762:5:0;;;;15692:83;;;;;;;:::i;:::-;;;;;;;;33159:134;;;;;;;;;;-1:-1:-1;33159:134:0;;;;;:::i;:::-;;:::i;16544:161::-;;;;;;;;;;-1:-1:-1;16544:161:0;;;;;:::i;:::-;;:::i;:::-;;;5037:14:1;;5030:22;5012:41;;5000:2;4985:18;16544:161:0;4872:187:1;22130:169:0;;;;;;;;;;-1:-1:-1;22130:169:0;;;;;:::i;:::-;;:::i;32625:108::-;;;;;;;;;;-1:-1:-1;32625:108:0;;;;;:::i;:::-;-1:-1:-1;;;;;32706:18:0;32681:4;32706:18;;;:9;:18;;;;;;;;;32625:108;9463:41;;;;;;;;;;-1:-1:-1;9463:41:0;;;;-1:-1:-1;;;;;9463:41:0;;;;;;-1:-1:-1;;;;;3628:32:1;;;3610:51;;3598:2;3583:18;9463:41:0;3464:203:1;15969:95:0;;;;;;;;;;-1:-1:-1;8664:16:0;15969:95;;;17244:25:1;;;17232:2;17217:18;15969:95:0;17098:177:1;33853:120:0;;;;;;;;;;-1:-1:-1;33853:120:0;;;;;:::i;:::-;;:::i;16713:313::-;;;;;;;;;;-1:-1:-1;16713:313:0;;;;;:::i;:::-;;:::i;15878:83::-;;;;;;;;;;-1:-1:-1;15878:83:0;;8928:1;18407:36:1;;18395:2;18380:18;15878:83:0;18265:184:1;32742:183:0;;;;;;;;;;-1:-1:-1;32742:183:0;;;;;:::i;:::-;;:::i;30970:1018::-;;;;;;;;;;-1:-1:-1;30970:1018:0;;;;;:::i;:::-;;:::i;32266:350::-;;;;;;;;;;-1:-1:-1;32266:350:0;;;;;:::i;:::-;;:::i;9511:28::-;;;;;;;;;;-1:-1:-1;9511:28:0;;;;-1:-1:-1;;;;;9511:28:0;;;32000:123;;;;;;;;;;-1:-1:-1;32000:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;32088:27:0;32064:4;32088:27;;;:18;:27;;;;;;;;;32000:123;30225:160;;;;;;;;;;-1:-1:-1;30225:160:0;;;;;:::i;:::-;;:::i;33519:205::-;;;;;;;;;;-1:-1:-1;33519:205:0;;;;;:::i;:::-;;:::i;34601:124::-;;;;;;;;;;-1:-1:-1;34601:124:0;;;;;:::i;:::-;;:::i;30027:190::-;;;;;;;;;;;;;:::i;16072:138::-;;;;;;;;;;-1:-1:-1;16072:138:0;;;;;:::i;:::-;;:::i;7041:148::-;;;;;;;;;;;;;:::i;9107:48::-;;;;;;;;;;;;;;;;33985:498;;;;;;;;;;-1:-1:-1;33985:498:0;;;;;:::i;:::-;;:::i;21777:167::-;;;;;;;;;;-1:-1:-1;21777:167:0;;;;;:::i;:::-;;:::i;22307:172::-;;;;;;;;;;-1:-1:-1;22307:172:0;;;;;:::i;:::-;;:::i;9334:31::-;;;;;;;;;;;;;;;;6827:79;;;;;;;;;;-1:-1:-1;6865:7:0;6892:6;-1:-1:-1;;;;;6892:6:0;6827:79;;15783:87;;;;;;;;;;-1:-1:-1;15855:7:0;;;;;;;;;;;;-1:-1:-1;;;15855:7:0;;;;15783:87;;21952:170;;;;;;;;;;-1:-1:-1;21952:170:0;;;;;:::i;:::-;;:::i;16218:167::-;;;;;;;;;;-1:-1:-1;16218:167:0;;;;;:::i;:::-;;:::i;34497:96::-;;;;;;;;;;-1:-1:-1;34569:16:0;;-1:-1:-1;;;34569:16:0;;;;34497:96;;32933:218;;;;;;;;;;-1:-1:-1;32933:218:0;;;;;:::i;:::-;;:::i;33299:210::-;;;;;;;;;;-1:-1:-1;33299:210:0;;;;;:::i;:::-;;:::i;29824:191::-;;;;;;;;;;;;;:::i;9219:29::-;;;;;;;;;;;;;;;;29590:222;;;;;;;;;;;;;:::i;30397:110::-;;;;;;;;;;-1:-1:-1;30397:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;30479:20:0;30455:4;30479:20;;;:11;:20;;;;;;;;;30397:110;9297:30;;;;;;;;;;;;;;;;9255;;;;;;;;;;;;;;;;34733:101;;;;;;;;;;;;;:::i;16393:143::-;;;;;;;;;;-1:-1:-1;16393:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16501:18:0;;;16474:7;16501:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16393:143;32135:119;;;;;;;;;;-1:-1:-1;32135:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;32220:26:0;32196:4;32220:26;;;:17;:26;;;;;;;;;32135:119;9910:32;;;;;;;;;;;;;;;;28750:832;;;;;;;;;;;;;:::i;30519:443::-;;;;;;;;;;-1:-1:-1;30519:443:0;;;;;:::i;:::-;;:::i;9162:47::-;;;;;;;;;;;;;;;;9546:23;;;;;;;;;;-1:-1:-1;9546:23:0;;;;-1:-1:-1;;;9546:23:0;;;;;;33732:113;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;;;;;;;;;33814:11:::1;:23:::0;;-1:-1:-1;;;;;;33814:23:0::1;-1:-1:-1::0;;;;;33814:23:0;;;::::1;::::0;;;::::1;::::0;;33732:113::o;33159:134::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;33243:2:::1;33236:3;:9;;33228:18;;;::::0;::::1;;33273:12;:3:::0;33279:6:::1;33273:12;:::i;:::-;33257:13;:28:::0;-1:-1:-1;33159:134:0:o;16544:161::-;16619:4;16636:39;4316:10;16659:7;16668:6;16636:8;:39::i;:::-;-1:-1:-1;16693:4:0;16544:161;;;;;:::o;22130:169::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;22215:2:::1;22204:7;:13;;22196:63;;;::::0;-1:-1:-1;;;22196:63:0;;13455:2:1;22196:63:0::1;::::0;::::1;13437:21:1::0;13494:2;13474:18;;;13467:30;13533:34;13513:18;;;13506:62;-1:-1:-1;;;13584:18:1;;;13577:35;13629:19;;22196:63:0::1;13253:401:1::0;22196:63:0::1;22270:11;:21:::0;22130:169::o;33853:120::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;33941:12:::1;:24:::0;;-1:-1:-1;;;;;;33941:24:0::1;-1:-1:-1::0;;;;;33941:24:0;;;::::1;::::0;;;::::1;::::0;;33853:120::o;16713:313::-;16811:4;16828:36;16838:6;16846:9;16857:6;16828:9;:36::i;:::-;16875:121;16884:6;4316:10;16906:89;16944:6;16906:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16906:19:0;;;;;;:11;:19;;;;;;;;4316:10;16906:33;;;;;;;;;;:37;:89::i;:::-;16875:8;:121::i;:::-;-1:-1:-1;17014:4:0;16713:313;;;;;:::o;32742:183::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32822:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;32814:64;;;::::0;-1:-1:-1;;;32814:64:0;;15725:2:1;32814:64:0::1;::::0;::::1;15707:21:1::0;15764:2;15744:18;;;15737:30;15803:34;15783:18;;;15776:62;-1:-1:-1;;;15854:18:1;;;15847:31;15895:19;;32814:64:0::1;15523:397:1::0;32814:64:0::1;-1:-1:-1::0;;;;;32890:18:0::1;32911:5;32890:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;32890:26:0::1;::::0;;32742:183::o;30970:1018::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;31052:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;31044:60;;;::::0;-1:-1:-1;;;31044:60:0;;9295:2:1;31044:60:0::1;::::0;::::1;9277:21:1::0;9334:2;9314:18;;;9307:30;9373:29;9353:18;;;9346:57;9420:18;;31044:60:0::1;9093:351:1::0;31044:60:0::1;31120:9;31115:866;31139:9;:16:::0;31135:20;::::1;31115:866;;;31197:7;-1:-1:-1::0;;;;;31181:23:0::1;:9;31191:1;31181:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;31181:12:0::1;:23;31177:793;;;-1:-1:-1::0;;;;;31306:16:0;::::1;31325:1;31306:16:::0;;;:7:::1;:16;::::0;;;;;:20;31302:442:::1;;31368:17;31388:32;31409:10;:8;:10::i;:::-;-1:-1:-1::0;;;;;31388:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;;:20:::1;:32::i;:::-;-1:-1:-1::0;;;;;31465:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;31368:52;;-1:-1:-1;31453:39:0::1;::::0;31465:26:::1;::::0;31368:52;;31465:26:::1;:::i;:::-;31453:7;::::0;;:11:::1;:39::i;:::-;31443:7;:49:::0;-1:-1:-1;;;;;31543:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;31528:42:::1;::::0;31543:26:::1;::::0;31560:9;;31543:26:::1;:::i;:::-;31528:10;::::0;;:14:::1;:42::i;:::-;31515:10;:55:::0;-1:-1:-1;;;;;31593:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:28;31302:442:::1;;;-1:-1:-1::0;;;;;31704:16:0;::::1;31723:1;31704:16:::0;;;:7:::1;:16;::::0;;;;:20;31302:442:::1;-1:-1:-1::0;;;;;31764:16:0;::::1;31783:1;31764:16:::0;;;:7:::1;:16;::::0;;;;:20;31818:9:::1;31828:16:::0;;:20:::1;::::0;31847:1:::1;::::0;31828:20:::1;:::i;:::-;31818:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;31803:9:::1;:12:::0;;-1:-1:-1;;;;;31818:31:0;;::::1;::::0;31813:1;;31803:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;31803:46:0::1;-1:-1:-1::0;;;;;31803:46:0;;::::1;;::::0;;31868:20;;::::1;::::0;;:11:::1;:20:::0;;;;;;:28;;-1:-1:-1;;31868:28:0::1;::::0;;31915:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;31915:15:0;;;;;-1:-1:-1;;;;;;31915:15:0::1;::::0;;;;;31115:866:::1;30970:1018:::0;:::o;31177:793::-:1;31157:3:::0;::::1;::::0;::::1;:::i;:::-;;;;31115:866;;;;30970:1018:::0;:::o;32266:350::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;32359:42:::1;-1:-1:-1::0;;;;;32348:53:0;::::1;;;32340:102;;;::::0;-1:-1:-1;;;32340:102:0;;13050:2:1;32340:102:0::1;::::0;::::1;13032:21:1::0;13089:2;13069:18;;;13062:30;13128:34;13108:18;;;13101:62;-1:-1:-1;;;13179:18:1;;;13172:34;13223:19;;32340:102:0::1;12848:400:1::0;32340:102:0::1;-1:-1:-1::0;;;;;32462:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;;::::1;;32461:27;32453:70;;;::::0;-1:-1:-1;;;32453:70:0;;10409:2:1;32453:70:0::1;::::0;::::1;10391:21:1::0;10448:2;10428:18;;;10421:30;10487:32;10467:18;;;10460:60;10537:18;;32453:70:0::1;10207:354:1::0;32453:70:0::1;-1:-1:-1::0;;;;;32534:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;32534:33:0::1;32563:4;32534:33:::0;;::::1;::::0;;;32578:16:::1;:30:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;32578:30:0::1;::::0;;::::1;::::0;;32266:350::o;30225:160::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;30297:16:::1;:24:::0;;-1:-1:-1;;;;30297:24:0::1;-1:-1:-1::0;;;30297:24:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;30337:40:::1;::::0;30297:24:::1;30360:16:::0;;;::::1;;5037:14:1::0;5030:22;5012:41;;30337:40:0::1;::::0;5000:2:1;4985:18;30337:40:0::1;;;;;;;30225:160:::0;:::o;33519:205::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;33610:10:::1;33600:6;:20;;33592:82;;;::::0;-1:-1:-1;;;33592:82:0;;16882:2:1;33592:82:0::1;::::0;::::1;16864:21:1::0;16921:2;16901:18;;;16894:30;16960:34;16940:18;;;16933:62;-1:-1:-1;;;17011:18:1;;;17004:47;17068:19;;33592:82:0::1;16680:413:1::0;33592:82:0::1;33700:16;:6:::0;33710:5:::1;33700:16;:::i;:::-;33685:12;:31:::0;-1:-1:-1;33519:205:0:o;34601:124::-;-1:-1:-1;;;;;34698:15:0;;34656:4;34698:15;;;:8;:15;;;;;:19;34680:37;;:15;:37;:::i;30027:190::-;30093:11;;-1:-1:-1;;;;;30093:11:0;4316:10;-1:-1:-1;;;;;30077:27:0;;30069:36;;;;;;30145:21;30177:32;30145:21;30177:12;:32::i;:::-;30058:159;30027:190::o;16072:138::-;-1:-1:-1;;;;;16185:16:0;;16138:7;16185:16;;;:7;:16;;;;;;16165:37;;:19;:37::i;7041:148::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;7148:1:::1;7132:6:::0;;7111:40:::1;::::0;-1:-1:-1;;;;;7132:6:0;;::::1;::::0;7111:40:::1;::::0;7148:1;;7111:40:::1;7179:1;7162:19:::0;;-1:-1:-1;;;;;;7162:19:0::1;::::0;;7041:148::o;33985:498::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;34072:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;;::::1;;34064:65;;;::::0;-1:-1:-1;;;34064:65:0;;12350:2:1;34064:65:0::1;::::0;::::1;12332:21:1::0;12389:2;12369:18;;;12362:30;12428:28;12408:18;;;12401:56;12474:18;;34064:65:0::1;12148:350:1::0;34064:65:0::1;34145:9;34140:336;34164:16;:23:::0;34160:27;::::1;34140:336;;;34236:7;-1:-1:-1::0;;;;;34213:30:0::1;:16;34230:1;34213:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;34213:19:0::1;:30;34209:256;;;34286:16;34303:23:::0;;:27:::1;::::0;34329:1:::1;::::0;34303:27:::1;:::i;:::-;34286:45;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;34264:16:::1;:19:::0;;-1:-1:-1;;;;;34286:45:0;;::::1;::::0;34281:1;;34264:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:67:::0;;-1:-1:-1;;;;;;34264:67:0::1;-1:-1:-1::0;;;;;34264:67:0;;::::1;;::::0;;34350:26;;::::1;::::0;;:17:::1;:26:::0;;;;;;:34;;-1:-1:-1;;34350:34:0::1;::::0;;34403:16:::1;:22:::0;;;::::1;;;;:::i;34209:256::-;34189:3:::0;::::1;::::0;::::1;:::i;:::-;;;;34140:336;;21777:167:::0;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;21863:2:::1;21853:6;:12;;21845:61;;;::::0;-1:-1:-1;;;21845:61:0;;10004:2:1;21845:61:0::1;::::0;::::1;9986:21:1::0;10043:2;10023:18;;;10016:30;10082:34;10062:18;;;10055:62;-1:-1:-1;;;10133:18:1;;;10126:34;10177:19;;21845:61:0::1;9802:400:1::0;21845:61:0::1;21917:10;:19:::0;21777:167::o;22307:172::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;22393:2:::1;22382:7;:13;;22374:64;;;::::0;-1:-1:-1;;;22374:64:0;;6102:2:1;22374:64:0::1;::::0;::::1;6084:21:1::0;6141:2;6121:18;;;6114:30;6180:34;6160:18;;;6153:62;-1:-1:-1;;;6231:18:1;;;6224:36;6277:19;;22374:64:0::1;5900:402:1::0;22374:64:0::1;22449:12;:22:::0;22307:172::o;21952:170::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;22039:2:::1;22029:6;:12;;22021:62;;;::::0;-1:-1:-1;;;22021:62:0;;8130:2:1;22021:62:0::1;::::0;::::1;8112:21:1::0;8169:2;8149:18;;;8142:30;8208:34;8188:18;;;8181:62;-1:-1:-1;;;8259:18:1;;;8252:35;8304:19;;22021:62:0::1;7928:401:1::0;22021:62:0::1;22094:11;:20:::0;21952:170::o;16218:167::-;16296:4;16313:42;4316:10;16337:9;16348:6;16313:9;:42::i;32933:218::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;33042:16:::1;:28:::0;;;::::1;;-1:-1:-1::0;;33042:28:0;;::::1;;::::0;;33081:14:::1;:24:::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;33116:15:::1;:27:::0;;;::::1;;::::0;;;::::1;;::::0;;32933:218::o;33299:210::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;33420:3:::1;33415;33395:17;8664:16:::0;33411:1:::1;33395:17;:::i;:::-;:23;;;;:::i;:::-;33394:29;;;;:::i;:::-;33384:6;:39;;33376:86;;;::::0;-1:-1:-1;;;33376:86:0;;8892:2:1;33376:86:0::1;::::0;::::1;8874:21:1::0;8931:2;8911:18;;;8904:30;8970:34;8950:18;;;8943:62;-1:-1:-1;;;9021:18:1;;;9014:32;9063:19;;33376:86:0::1;8690:398:1::0;33376:86:0::1;33485:16;:6:::0;33495:5:::1;33485:16;:::i;:::-;33473:9;:28:::0;-1:-1:-1;33299:210:0:o;29824:191::-;29890:11;;-1:-1:-1;;;;;29890:11:0;4316:10;-1:-1:-1;;;;;29874:27:0;;29866:36;;;;;;29913:23;29939:24;29957:4;29939:9;:24::i;:::-;29913:50;;29974:33;29991:15;29974:16;:33::i;29590:222::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;29641:11:::1;:18:::0;;-1:-1:-1;;;;29641:18:0::1;-1:-1:-1::0;;;29641:18:0::1;::::0;;29684:31:::1;:15;29703:11;29684:31;:::i;:::-;29670:11;:45:::0;29741:15:::1;29726:12;:30:::0;29784:12:::1;29767:14;:29:::0;29590:222::o;34733:101::-;34812:13;;34778:4;;34802:24;;-1:-1:-1;;;;;34812:13:0;34802:9;:24::i;:::-;34795:31;;34733:101;:::o;28750:832::-;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;28815:11:::1;::::0;-1:-1:-1;;;28815:11:0;::::1;;;28814:12;28806:47;;;::::0;-1:-1:-1;;;28806:47:0;;14672:2:1;28806:47:0::1;::::0;::::1;14654:21:1::0;14711:2;14691:18;;;14684:30;14750:25;14730:18;;;14723:53;14793:18;;28806:47:0::1;14470:347:1::0;28806:47:0::1;28975:15;:34:::0;;-1:-1:-1;;;;;;28975:34:0::1;28921:42;28975:34:::0;;::::1;::::0;;;29020:58:::1;29037:4;28921:42:::0;8664:16:::1;29020:8;:58::i;:::-;29123:16;-1:-1:-1::0;;;;;29123:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29105:56:0::1;;29170:4;29177:16;-1:-1:-1::0;;;;;29177:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29105:96;::::0;-1:-1:-1;;;;;;29105:96:0::1;::::0;;;;;;-1:-1:-1;;;;;3902:15:1;;;29105:96:0::1;::::0;::::1;3884:34:1::0;3954:15;;3934:18;;;3927:43;3819:18;;29105:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29089:13;:112:::0;;-1:-1:-1;;;;;;29089:112:0::1;-1:-1:-1::0;;;;;29089:112:0;;::::1;;::::0;;29212:15:::1;::::0;::::1;:31;29251:21;29282:4;29288:24;29282:4:::0;29288:9:::1;:24::i;:::-;29313:1;29315::::0;29317:7:::1;6865::::0;6892:6;-1:-1:-1;;;;;6892:6:0;;6827:79;29317:7:::1;29212:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;29212:129:0;;;-1:-1:-1;;;;;4619:15:1;;;29212:129:0::1;::::0;::::1;4601:34:1::0;4651:18;;;4644:34;;;;4694:18;;;4687:34;;;;4737:18;;;4730:34;4801:15;;;4780:19;;;4773:44;29325:15:0::1;4833:19:1::0;;;4826:35;4535:19;;29212:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;29367:19:0::1;29352:12;:34:::0;-1:-1:-1;29438:15:0::1;29424:11;:29:::0;29480:12:::1;29464:13;:28:::0;29510:13:::1;::::0;29541:15:::1;::::0;29503:71:::1;::::0;-1:-1:-1;;;29503:71:0;;-1:-1:-1;;;;;29541:15:0;;::::1;29503:71;::::0;::::1;4155:51:1::0;-1:-1:-1;;4222:18:1;;;4215:34;29510:13:0;::::1;::::0;29503:29:::1;::::0;4128:18:1;;29503:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;30519:443::-:0;6954:6;;-1:-1:-1;;;;;6954:6:0;4316:10;6954:22;6946:67;;;;-1:-1:-1;;;6946:67:0;;;;;;;:::i;:::-;30611:42:::1;-1:-1:-1::0;;;;;30600:53:0;::::1;;;30592:100;;;::::0;-1:-1:-1;;;30592:100:0;;16127:2:1;30592:100:0::1;::::0;::::1;16109:21:1::0;16166:2;16146:18;;;16139:30;16205:34;16185:18;;;16178:62;-1:-1:-1;;;16256:18:1;;;16249:32;16298:19;;30592:100:0::1;15925:398:1::0;30592:100:0::1;-1:-1:-1::0;;;;;30712:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;30711:21;30703:61;;;::::0;-1:-1:-1;;;30703:61:0;;9295:2:1;30703:61:0::1;::::0;::::1;9277:21:1::0;9334:2;9314:18;;;9307:30;9373:29;9353:18;;;9346:57;9420:18;;30703:61:0::1;9093:351:1::0;30703:61:0::1;-1:-1:-1::0;;;;;30778:16:0;::::1;30797:1;30778:16:::0;;;:7:::1;:16;::::0;;;;;:20;30775:108:::1;;-1:-1:-1::0;;;;;30854:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;30834:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;30815:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;30775:108:::1;-1:-1:-1::0;;;;;30893:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;30893:27:0::1;30916:4;30893:27:::0;;::::1;::::0;;;30931:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;30931:23:0::1;::::0;;::::1;::::0;;30519:443::o;17641:335::-;-1:-1:-1;;;;;17734:19:0;;17726:68;;;;-1:-1:-1;;;17726:68:0;;14267:2:1;17726:68:0;;;14249:21:1;14306:2;14286:18;;;14279:30;14345:34;14325:18;;;14318:62;-1:-1:-1;;;14396:18:1;;;14389:34;14440:19;;17726:68:0;14065:400:1;17726:68:0;-1:-1:-1;;;;;17813:21:0;;17805:68;;;;-1:-1:-1;;;17805:68:0;;7324:2:1;17805:68:0;;;7306:21:1;7363:2;7343:18;;;7336:30;7402:34;7382:18;;;7375:62;-1:-1:-1;;;7453:18:1;;;7446:32;7495:19;;17805:68:0;7122:398:1;17805:68:0;-1:-1:-1;;;;;17884:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17936:32;;17244:25:1;;;17936:32:0;;17217:18:1;17936:32:0;;;;;;;17641:335;;;:::o;17984:3113::-;-1:-1:-1;;;;;18072:18:0;;18064:68;;;;-1:-1:-1;;;18064:68:0;;13861:2:1;18064:68:0;;;13843:21:1;13900:2;13880:18;;;13873:30;13939:34;13919:18;;;13912:62;-1:-1:-1;;;13990:18:1;;;13983:35;14035:19;;18064:68:0;13659:401:1;18064:68:0;-1:-1:-1;;;;;18151:16:0;;18143:64;;;;-1:-1:-1;;;18143:64:0;;6509:2:1;18143:64:0;;;6491:21:1;6548:2;6528:18;;;6521:30;6587:34;6567:18;;;6560:62;-1:-1:-1;;;6638:18:1;;;6631:33;6681:19;;18143:64:0;6307:399:1;18143:64:0;18235:1;18226:6;:10;18218:64;;;;-1:-1:-1;;;18218:64:0;;11940:2:1;18218:64:0;;;11922:21:1;11979:2;11959:18;;;11952:30;12018:34;11998:18;;;11991:62;-1:-1:-1;;;12069:18:1;;;12062:39;12118:19;;18218:64:0;11738:405:1;18218:64:0;-1:-1:-1;;;;;18302:21:0;;;;;;:17;:21;;;;;;;;18301:22;18293:58;;;;-1:-1:-1;;;18293:58:0;;16530:2:1;18293:58:0;;;16512:21:1;16569:2;16549:18;;;16542:30;-1:-1:-1;;;16588:18:1;;;16581:53;16651:18;;18293:58:0;16328:347:1;18293:58:0;18389:10;18371:29;;;;:17;:29;;;;;;;;18370:30;18362:66;;;;-1:-1:-1;;;18362:66:0;;16530:2:1;18362:66:0;;;16512:21:1;16569:2;16549:18;;;16542:30;-1:-1:-1;;;16588:18:1;;;16581:53;16651:18;;18362:66:0;16328:347:1;18362:66:0;6865:7;6892:6;-1:-1:-1;;;;;18454:15:0;;;6892:6;;18454:15;;;;:32;;-1:-1:-1;6865:7:0;6892:6;-1:-1:-1;;;;;18473:13:0;;;6892:6;;18473:13;;18454:32;18451:2442;;;18506:16;;-1:-1:-1;;;18506:16:0;;;;18503:168;;;18556:10;18547:20;;;;:8;:20;;;;;:27;;;;;18543:113;;18622:14;;;;;;;;-1:-1:-1;18622:14:0;;;;;;;;;;18631:4;18622:14;;;;;;18608:10;18599:20;;:8;:20;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18599:37:0;;;;;;;;;;18543:113;18718:13;;-1:-1:-1;;;;;18710:21:0;;;18718:13;;18710:21;:55;;;;-1:-1:-1;18749:15:0;;-1:-1:-1;;;;;18735:30:0;;;18749:15;;18735:30;;18710:55;:82;;;;-1:-1:-1;;;;;;18770:22:0;;;;;;:18;:22;;;;;;;;18769:23;18710:82;18707:1349;;;18821:11;;-1:-1:-1;;;18821:11:0;;;;18813:48;;;;-1:-1:-1;;;18813:48:0;;15372:2:1;18813:48:0;;;15354:21:1;15411:2;15391:18;;;15384:30;15450:26;15430:18;;;15423:54;15494:18;;18813:48:0;15170:348:1;18813:48:0;18914:9;;18897:13;18907:2;18897:9;:13::i;:::-;18888:22;;:6;:22;:::i;:::-;:35;;18880:67;;;;-1:-1:-1;;;18880:67:0;;15024:2:1;18880:67:0;;;15006:21:1;15063:2;15043:18;;;15036:30;-1:-1:-1;;;15082:18:1;;;15075:49;15141:18;;18880:67:0;14822:343:1;18880:67:0;18984:12;;18974:6;:22;;18966:75;;;;-1:-1:-1;;;18966:75:0;;;;;;;:::i;:::-;19070:10;;19060:7;:20;19110:11;;19099:8;:22;19143:16;;-1:-1:-1;;;19143:16:0;;;;19140:363;;;19201:15;19187:11;;:29;19184:300;;;19263:12;;19253:6;:22;;19245:31;;;;;;-1:-1:-1;;;;;19311:12:0;;;;;;:8;:12;;;;;:16;19330:15;-1:-1:-1;19303:81:0;;;;-1:-1:-1;;;19303:81:0;;7727:2:1;19303:81:0;;;7709:21:1;7766:2;7746:18;;;7739:30;7805:34;7785:18;;;7778:62;-1:-1:-1;;;7856:18:1;;;7849:32;7898:19;;19303:81:0;7525:398:1;19303:81:0;19430:30;:15;19449:10;19430:30;:::i;:::-;-1:-1:-1;;;;;19411:12:0;;;;;;:8;:12;;;;;:49;19184:300;19525:14;;;;19521:124;;;19583:13;;19568:11;:28;;19560:65;;;;-1:-1:-1;;;19560:65:0;;9651:2:1;19560:65:0;;;9633:21:1;9690:2;9670:18;;;9663:30;9729:26;9709:18;;;9702:54;9773:18;;19560:65:0;9449:348:1;19560:65:0;19669:15;;;;19665:376;;;19721:13;;-1:-1:-1;;;;;19713:21:0;;;19721:13;;19713:21;19709:313;;;-1:-1:-1;;;;;19770:13:0;;;;;;:9;:13;;;;;;19787:12;19770:29;;19762:38;;;;;;-1:-1:-1;;;;;19827:13:0;;;;;;:9;:13;;;;;19843:12;19827:28;;19709:313;;;-1:-1:-1;;;;;19913:15:0;;;;;;:9;:15;;;;;;19932:12;19913:31;;19905:40;;;;;;-1:-1:-1;;;;;19968:15:0;;;;;;:9;:15;;;;;19986:12;19968:30;;19709:313;20103:13;;-1:-1:-1;;;;;20097:19:0;;;20103:13;;20097:19;:55;;;;-1:-1:-1;20136:15:0;;-1:-1:-1;;;;;20120:32:0;;;20136:15;;20120:32;;20097:55;:85;;;;-1:-1:-1;;;;;;20158:24:0;;;;;;:18;:24;;;;;;;;20156:26;20097:85;20093:301;;;20221:12;;20211:6;:22;;20203:75;;;;-1:-1:-1;;;20203:75:0;;;;;;;:::i;:::-;20307:11;;20297:7;:21;20348:12;;20337:8;:23;20093:301;20410:28;20441:24;20459:4;20441:9;:24::i;:::-;20498:6;;20410:55;;-1:-1:-1;;;;20498:6:0;;;;20497:7;:32;;;;-1:-1:-1;20516:13:0;;-1:-1:-1;;;;;20508:21:0;;;20516:13;;20508:21;;20497:32;:47;;;;-1:-1:-1;20533:11:0;;-1:-1:-1;;;20533:11:0;;;;20497:47;20494:388;;;20568:24;;20565:110;;20617:38;20634:20;20617:16;:38::i;:::-;20722:21;20765:22;;20762:105;;20812:35;20825:21;20812:12;:35::i;:::-;20546:336;20494:388;18488:2405;18451:2442;-1:-1:-1;;;;;20938:24:0;;20903:12;20938:24;;;:18;:24;;;;;;20918:4;;20938:24;;;:50;;-1:-1:-1;;;;;;20966:22:0;;;;;;:18;:22;;;;;;;;20938:50;20935:96;;;-1:-1:-1;21014:5:0;20935:96;21051:38;21066:4;21071:2;21074:6;21081:7;21051:14;:38::i;:::-;18053:3044;17984:3113;;;:::o;5373:190::-;5459:7;5495:12;5487:6;;;;5479:29;;;;-1:-1:-1;;;5479:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5519:9:0;5531:5;5535:1;5531;:5;:::i;:::-;5519:17;5373:190;-1:-1:-1;;;;;5373:190:0:o;27182:163::-;27223:7;27244:15;27261;27280:19;:17;:19::i;:::-;27243:56;;-1:-1:-1;27243:56:0;-1:-1:-1;27317:20:0;27243:56;;27317:11;:20::i;:::-;27310:27;;;;27182:163;:::o;5571:245::-;5629:7;5652:6;5649:46;;-1:-1:-1;5682:1:0;5675:8;;5649:46;5705:9;5717:5;5721:1;5717;:5;:::i;:::-;5705:17;-1:-1:-1;5750:1:0;5741:5;5745:1;5705:17;5741:5;:::i;:::-;:10;5733:56;;;;-1:-1:-1;;;5733:56:0;;11177:2:1;5733:56:0;;;11159:21:1;11216:2;11196:18;;;11189:30;11255:34;11235:18;;;11228:62;-1:-1:-1;;;11306:18:1;;;11299:31;11347:19;;5733:56:0;10975:397:1;5733:56:0;5807:1;5571:245;-1:-1:-1;;;5571:245:0:o;5229:136::-;5287:7;5314:43;5318:1;5321;5314:43;;;;;;;;;;;;;;;;;:3;:43::i;5042:179::-;5100:7;;5132:5;5136:1;5132;:5;:::i;:::-;5120:17;;5161:1;5156;:6;;5148:46;;;;-1:-1:-1;;;5148:46:0;;8536:2:1;5148:46:0;;;8518:21:1;8575:2;8555:18;;;8548:30;8614:29;8594:18;;;8587:57;8661:18;;5148:46:0;8334:351:1;21604:165:0;21657:9;21669:10;21678:1;21669:6;:10;:::i;:::-;:16;;21683:1;21669:16;:::i;:::-;21692:11;;:26;;21657:28;;-1:-1:-1;;;;;;21692:11:0;;:26;;;;;21657:28;;21692:11;:26;:11;:26;21657:28;21692:11;:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21725:12:0;;-1:-1:-1;;;;;21725:12:0;:36;21747:13;21756:4;21747:6;:13;:::i;:::-;21725:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21650:119;21604:165;:::o;17034:254::-;17101:7;17140;;17129;:18;;17121:73;;;;-1:-1:-1;;;17121:73:0;;6913:2:1;17121:73:0;;;6895:21:1;6952:2;6932:18;;;6925:30;6991:34;6971:18;;;6964:62;-1:-1:-1;;;7042:18:1;;;7035:40;7092:19;;17121:73:0;6711:406:1;17121:73:0;17205:19;17228:10;:8;:10::i;:::-;17205:33;-1:-1:-1;17256:24:0;:7;17205:33;17256:11;:24::i;21105:483::-;10373:6;:13;;-1:-1:-1;;;;10373:13:0;-1:-1:-1;;;10373:13:0;;;21207:16:::1;::::0;;21221:1:::1;21207:16:::0;;;;;::::1;::::0;;-1:-1:-1;;21207:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;21207:16:0::1;21183:40;;21252:4;21234;21239:1;21234:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21234:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;21278:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;21278:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;21234:7;;21278:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21268:4;21273:1;21268:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21268:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;21343:15:::1;::::0;21311:62:::1;::::0;21328:4:::1;::::0;21343:15:::1;21361:11:::0;21311:8:::1;:62::i;:::-;21384:15;::::0;:196:::1;::::0;-1:-1:-1;;;21384:196:0;;-1:-1:-1;;;;;21384:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;21465:11;;21384:15:::1;::::0;21507:4;;21534::::1;::::0;21554:15:::1;::::0;21384:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10409:6:0;:14;;-1:-1:-1;;;;10409:14:0;;;-1:-1:-1;;;;21105:483:0:o;22491:1599::-;22605:16;;;;22601:682;;;-1:-1:-1;;;;;32706:18:0;;32681:4;32706:18;;;:9;:18;;;;;;;;22703:85;;;22745:26;;-1:-1:-1;;;22745:26:0;;12705:2:1;22745:26:0;;;12687:21:1;12744:2;12724:18;;;12717:30;-1:-1:-1;;;12763:18:1;;;12756:46;12819:18;;22745:26:0;12503:340:1;22703:85:0;22839:13;;22823;;22808:28;;:12;:28;:::i;:::-;:44;22804:226;;;-1:-1:-1;;;;;22881:20:0;;;;;;:9;:20;;;;;:27;;-1:-1:-1;;22881:27:0;22904:4;22881:27;;;22935:13;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;22983:23:0;;-1:-1:-1;;;;;3628:32:1;;3610:51;;22983:23:0;;3598:2:1;3583:18;22983:23:0;;;;;;;22804:226;23080:13;;23063:14;;23048:29;;:12;:29;:::i;:::-;:45;23044:227;;;-1:-1:-1;;;;;23122:20:0;;;;;;:9;:20;;;;;:27;;-1:-1:-1;;23122:27:0;23145:4;23122:27;;;23176:13;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;23224:23:0;;-1:-1:-1;;;;;3628:32:1;;3610:51;;23224:23:0;;3598:2:1;3583:18;23224:23:0;;;;;;;23044:227;23306:7;23302:40;;23328:14;:12;:14::i;:::-;-1:-1:-1;;;;;23357:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;23381:22:0;;;;;;:11;:22;;;;;;;;23380:23;23357:46;23353:597;;;23420:48;23442:6;23450:9;23461:6;23420:21;:48::i;:::-;23353:597;;;-1:-1:-1;;;;;23491:19:0;;;;;;:11;:19;;;;;;;;23490:20;:46;;;;-1:-1:-1;;;;;;23514:22:0;;;;;;:11;:22;;;;;;;;23490:46;23486:464;;;23553:46;23573:6;23581:9;23592:6;23553:19;:46::i;23486:464::-;-1:-1:-1;;;;;23622:19:0;;;;;;:11;:19;;;;;;;;23621:20;:47;;;;-1:-1:-1;;;;;;23646:22:0;;;;;;:11;:22;;;;;;;;23645:23;23621:47;23617:333;;;23685:44;23703:6;23711:9;23722:6;23685:17;:44::i;23617:333::-;-1:-1:-1;;;;;23751:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;23774:22:0;;;;;;:11;:22;;;;;;;;23751:45;23747:203;;;23813:48;23835:6;23843:9;23854:6;23813:21;:48::i;23747:203::-;23894:44;23912:6;23920:9;23931:6;23894:17;:44::i;:::-;23978:7;23977:8;:35;;;-1:-1:-1;23999:13:0;;-1:-1:-1;;;;;23989:23:0;;;23999:13;;23989:23;23977:35;:65;;;-1:-1:-1;24029:13:0;;-1:-1:-1;;;;;24016:26:0;;;24029:13;;24016:26;23977:65;23974:98;;;24057:15;17572;;17562:7;:25;17609:16;;17598:8;:27;17518:115;27353:554;27450:7;;27403;;;;8664:16;27403:7;27504:289;27528:9;:16;27524:20;;27504:289;;;27594:7;27570;:21;27578:9;27588:1;27578:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;27578:12:0;27570:21;;;;;;;;;;;;;:31;;:66;;;27629:7;27605;:21;27613:9;27623:1;27613:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;27613:12:0;27605:21;;;;;;;;;;;;;:31;27570:66;27566:97;;;-1:-1:-1;;27646:7:0;;;8664:16;;-1:-1:-1;27353:554:0;-1:-1:-1;;27353:554:0:o;27566:97::-;27688:34;27700:7;:21;27708:9;27718:1;27708:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;27708:12:0;27700:21;;;;;;;;;;;;;27688:7;;:11;:34::i;:::-;27678:44;;27747:34;27759:7;:21;27767:9;27777:1;27767:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;27767:12:0;27759:21;;;;;;;;;;;;;27747:7;;:11;:34::i;:::-;27737:44;-1:-1:-1;27546:3:0;;;;:::i;:::-;;;;27504:289;;;-1:-1:-1;27816:7:0;;:20;;8664:16;27816:11;:20::i;:::-;27806:7;:30;27803:60;;;-1:-1:-1;;27846:7:0;;;8664:16;;-1:-1:-1;27353:554:0;-1:-1:-1;27353:554:0:o;27803:60::-;27882:7;;27891;;-1:-1:-1;27353:554:0;-1:-1:-1;27353:554:0:o;5824:132::-;5882:7;5909:39;5913:1;5916;5909:39;;;;;;;;;;;;;;;;;:3;:39::i;17296:210::-;17342:7;;:12;:29;;;;-1:-1:-1;17358:8:0;;:13;17342:29;17339:41;;;17296:210::o;17339:41::-;17408:7;;;17390:15;:25;17445:8;;;17426:16;:27;-1:-1:-1;17464:11:0;;;;17486:12;17296:210::o;25162:549::-;25265:15;25282:23;25307:12;25321:23;25346:12;25360:13;25377:19;25388:7;25377:10;:19::i;:::-;-1:-1:-1;;;;;25425:15:0;;;;;;:7;:15;;;;;;25264:132;;-1:-1:-1;25264:132:0;;-1:-1:-1;25264:132:0;;-1:-1:-1;25264:132:0;-1:-1:-1;25264:132:0;-1:-1:-1;25264:132:0;-1:-1:-1;25425:28:0;;25445:7;25425:19;:28::i;:::-;-1:-1:-1;;;;;25407:15:0;;;;;;:7;:15;;;;;;;;:46;;;;25482:7;:15;;;;:28;;25502:7;25482:19;:28::i;:::-;-1:-1:-1;;;;;25464:15:0;;;;;;;:7;:15;;;;;;:46;;;;25542:18;;;;;;;:39;;25565:15;25542:22;:39::i;:::-;-1:-1:-1;;;;;25521:18:0;;;;;;:7;:18;;;;;:60;25593:16;25603:5;25593:9;:16::i;:::-;25620:23;25632:4;25638;25620:11;:23::i;:::-;25676:9;-1:-1:-1;;;;;25659:44:0;25668:6;-1:-1:-1;;;;;25659:44:0;;25687:15;25659:44;;;;17244:25:1;;17232:2;17217:18;;17098:177;25659:44:0;;;;;;;;25253:458;;;;;;25162:549;;;:::o;24592:564::-;24693:15;24710:23;24735:12;24749:23;24774:12;24788:13;24805:19;24816:7;24805:10;:19::i;:::-;-1:-1:-1;;;;;24853:15:0;;;;;;:7;:15;;;;;;24692:132;;-1:-1:-1;24692:132:0;;-1:-1:-1;24692:132:0;;-1:-1:-1;24692:132:0;-1:-1:-1;24692:132:0;-1:-1:-1;24692:132:0;-1:-1:-1;24853:28:0;;24692:132;24853:19;:28::i;:::-;-1:-1:-1;;;;;24835:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;24913:18;;;;;:7;:18;;;;;:39;;24936:15;24913:22;:39::i;:::-;-1:-1:-1;;;;;24892:18:0;;;;;;:7;:18;;;;;;;;:60;;;;24984:7;:18;;;;:39;;25007:15;24984:22;:39::i;24098:488::-;24197:15;24214:23;24239:12;24253:23;24278:12;24292:13;24309:19;24320:7;24309:10;:19::i;:::-;-1:-1:-1;;;;;24357:15:0;;;;;;:7;:15;;;;;;24196:132;;-1:-1:-1;24196:132:0;;-1:-1:-1;24196:132:0;;-1:-1:-1;24196:132:0;-1:-1:-1;24196:132:0;-1:-1:-1;24196:132:0;-1:-1:-1;24357:28:0;;24196:132;24357:19;:28::i;25717:622::-;25820:15;25837:23;25862:12;25876:23;25901:12;25915:13;25932:19;25943:7;25932:10;:19::i;:::-;-1:-1:-1;;;;;25980:15:0;;;;;;:7;:15;;;;;;25819:132;;-1:-1:-1;25819:132:0;;-1:-1:-1;25819:132:0;;-1:-1:-1;25819:132:0;-1:-1:-1;25819:132:0;-1:-1:-1;25819:132:0;-1:-1:-1;25980:28:0;;26000:7;25980:19;:28::i;:::-;-1:-1:-1;;;;;25962:15:0;;;;;;:7;:15;;;;;;;;:46;;;;26037:7;:15;;;;:28;;26057:7;26037:19;:28::i;5964:189::-;6050:7;6085:12;6078:5;6070:28;;;;-1:-1:-1;;;6070:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6109:9:0;6121:5;6125:1;6121;:5;:::i;26347:468::-;26406:7;26415;26424;26433;26442;26451;26472:23;26497:12;26511:13;26528:39;26540:7;26549;;26558:8;;26528:11;:39::i;:::-;26471:96;;;;;;26578:19;26601:10;:8;:10::i;:::-;26578:33;;26623:15;26640:23;26665:12;26681:46;26693:7;26702:4;26708:5;26715:11;26681;:46::i;:::-;26622:105;;-1:-1:-1;26622:105:0;-1:-1:-1;26622:105:0;-1:-1:-1;26778:15:0;;-1:-1:-1;26795:4:0;;-1:-1:-1;26801:5:0;;-1:-1:-1;;;;;26347:468:0;;;;;;;:::o;28332:214::-;28385:19;28408:10;:8;:10::i;:::-;28385:33;-1:-1:-1;28429:13:0;28445:22;:5;28385:33;28445:9;:22::i;:::-;28521:4;28505:22;;;;:7;:22;;;;;;28429:38;;-1:-1:-1;28505:33:0;;28429:38;28505:26;:33::i;:::-;28496:4;28480:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;28332:214:0:o;28554:147::-;28632:7;;:17;;28644:4;28632:11;:17::i;:::-;28622:7;:27;28673:10;;:20;;28688:4;28673:14;:20::i;:::-;28660:10;:33;-1:-1:-1;;28554:147:0:o;26823:351::-;26916:7;;;;26969:28;26993:3;26969:19;:7;26981:6;26969:11;:19::i;:::-;:23;;:28::i;:::-;26954:43;-1:-1:-1;27008:13:0;27024:29;27049:3;27024:20;:7;27036;27024:11;:20::i;:29::-;27008:45;-1:-1:-1;27064:23:0;27090:28;27008:45;27090:17;:7;27102:4;27090:11;:17::i;:::-;:21;;:28::i;:::-;27064:54;27154:4;;-1:-1:-1;27160:5:0;;-1:-1:-1;26823:351:0;;-1:-1:-1;;;;;26823:351:0:o;27915:409::-;28025:7;;;;28081:24;:7;28093:11;28081;:24::i;:::-;28063:42;-1:-1:-1;28116:12:0;28131:21;:4;28140:11;28131:8;:21::i;:::-;28116:36;-1:-1:-1;28163:13:0;28179:22;:5;28189:11;28179:9;:22::i;:::-;28163:38;-1:-1:-1;28212:23:0;28238:28;28163:38;28238:17;:7;28250:4;28238:11;:17::i;:28::-;28285:7;;;;-1:-1:-1;28311:4:0;;-1:-1:-1;27915:409:0;;-1:-1:-1;;;;;;;27915:409:0:o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;782:388::-;850:6;858;911:2;899:9;890:7;886:23;882:32;879:52;;;927:1;924;917:12;879:52;966:9;953:23;985:31;1010:5;985:31;:::i;:::-;1035:5;-1:-1:-1;1092:2:1;1077:18;;1064:32;1105:33;1064:32;1105:33;:::i;:::-;1157:7;1147:17;;;782:388;;;;;:::o;1175:456::-;1252:6;1260;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:52;;;1337:1;1334;1327:12;1289:52;1376:9;1363:23;1395:31;1420:5;1395:31;:::i;:::-;1445:5;-1:-1:-1;1502:2:1;1487:18;;1474:32;1515:33;1474:32;1515:33;:::i;:::-;1175:456;;1567:7;;-1:-1:-1;;;1621:2:1;1606:18;;;;1593:32;;1175:456::o;1636:315::-;1704:6;1712;1765:2;1753:9;1744:7;1740:23;1736:32;1733:52;;;1781:1;1778;1771:12;1733:52;1820:9;1807:23;1839:31;1864:5;1839:31;:::i;:::-;1889:5;1941:2;1926:18;;;;1913:32;;-1:-1:-1;;;1636:315:1:o;1956:241::-;2012:6;2065:2;2053:9;2044:7;2040:23;2036:32;2033:52;;;2081:1;2078;2071:12;2033:52;2120:9;2107:23;2139:28;2161:5;2139:28;:::i;2202:245::-;2269:6;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;2370:9;2364:16;2389:28;2411:5;2389:28;:::i;2452:511::-;2520:6;2528;2536;2589:2;2577:9;2568:7;2564:23;2560:32;2557:52;;;2605:1;2602;2595:12;2557:52;2644:9;2631:23;2663:28;2685:5;2663:28;:::i;:::-;2710:5;-1:-1:-1;2767:2:1;2752:18;;2739:32;2780:30;2739:32;2780:30;:::i;:::-;2829:7;-1:-1:-1;2888:2:1;2873:18;;2860:32;2901:30;2860:32;2901:30;:::i;:::-;2950:7;2940:17;;;2452:511;;;;;:::o;2968:180::-;3027:6;3080:2;3068:9;3059:7;3055:23;3051:32;3048:52;;;3096:1;3093;3086:12;3048:52;-1:-1:-1;3119:23:1;;2968:180;-1:-1:-1;2968:180:1:o;3153:306::-;3241:6;3249;3257;3310:2;3298:9;3289:7;3285:23;3281:32;3278:52;;;3326:1;3323;3316:12;3278:52;3355:9;3349:16;3339:26;;3405:2;3394:9;3390:18;3384:25;3374:35;;3449:2;3438:9;3434:18;3428:25;3418:35;;3153:306;;;;;:::o;5298:597::-;5410:4;5439:2;5468;5457:9;5450:21;5500:6;5494:13;5543:6;5538:2;5527:9;5523:18;5516:34;5568:1;5578:140;5592:6;5589:1;5586:13;5578:140;;;5687:14;;;5683:23;;5677:30;5653:17;;;5672:2;5649:26;5642:66;5607:10;;5578:140;;;5736:6;5733:1;5730:13;5727:91;;;5806:1;5801:2;5792:6;5781:9;5777:22;5773:31;5766:42;5727:91;-1:-1:-1;5879:2:1;5858:15;-1:-1:-1;;5854:29:1;5839:45;;;;5886:2;5835:54;;5298:597;-1:-1:-1;;;5298:597:1:o;10566:404::-;10768:2;10750:21;;;10807:2;10787:18;;;10780:30;10846:34;10841:2;10826:18;;10819:62;-1:-1:-1;;;10912:2:1;10897:18;;10890:38;10960:3;10945:19;;10566:404::o;11377:356::-;11579:2;11561:21;;;11598:18;;;11591:30;11657:34;11652:2;11637:18;;11630:62;11724:2;11709:18;;11377:356::o;17280:980::-;17542:4;17590:3;17579:9;17575:19;17621:6;17610:9;17603:25;17647:2;17685:6;17680:2;17669:9;17665:18;17658:34;17728:3;17723:2;17712:9;17708:18;17701:31;17752:6;17787;17781:13;17818:6;17810;17803:22;17856:3;17845:9;17841:19;17834:26;;17895:2;17887:6;17883:15;17869:29;;17916:1;17926:195;17940:6;17937:1;17934:13;17926:195;;;18005:13;;-1:-1:-1;;;;;18001:39:1;17989:52;;18096:15;;;;18061:12;;;;18037:1;17955:9;17926:195;;;-1:-1:-1;;;;;;;18177:32:1;;;;18172:2;18157:18;;18150:60;-1:-1:-1;;;18241:3:1;18226:19;18219:35;18138:3;17280:980;-1:-1:-1;;;17280:980:1:o;18454:128::-;18494:3;18525:1;18521:6;18518:1;18515:13;18512:39;;;18531:18;;:::i;:::-;-1:-1:-1;18567:9:1;;18454:128::o;18587:217::-;18627:1;18653;18643:132;;18697:10;18692:3;18688:20;18685:1;18678:31;18732:4;18729:1;18722:15;18760:4;18757:1;18750:15;18643:132;-1:-1:-1;18789:9:1;;18587:217::o;18809:168::-;18849:7;18915:1;18911;18907:6;18903:14;18900:1;18897:21;18892:1;18885:9;18878:17;18874:45;18871:71;;;18922:18;;:::i;:::-;-1:-1:-1;18962:9:1;;18809:168::o;18982:125::-;19022:4;19050:1;19047;19044:8;19041:34;;;19055:18;;:::i;:::-;-1:-1:-1;19092:9:1;;18982:125::o;19112:135::-;19151:3;-1:-1:-1;;19172:17:1;;19169:43;;;19192:18;;:::i;:::-;-1:-1:-1;19239:1:1;19228:13;;19112:135::o;19252:127::-;19313:10;19308:3;19304:20;19301:1;19294:31;19344:4;19341:1;19334:15;19368:4;19365:1;19358:15;19384:127;19445:10;19440:3;19436:20;19433:1;19426:31;19476:4;19473:1;19466:15;19500:4;19497:1;19490:15;19516:127;19577:10;19572:3;19568:20;19565:1;19558:31;19608:4;19605:1;19598:15;19632:4;19629:1;19622:15;19780:131;-1:-1:-1;;;;;19855:31:1;;19845:42;;19835:70;;19901:1;19898;19891:12;19916:118;20002:5;19995:13;19988:21;19981:5;19978:32;19968:60;;20024:1;20021;20014:12

Swarm Source

ipfs://5a2a1dbde8c5c8867c65764592cc76d19d7ef4102495a9fc1f702ba902630a00

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.