ETH Price: $2,348.72 (+2.63%)

Contract

0x913cCcCaA60718336A79291Ab0F74961F511B188
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve158666122022-10-31 7:41:47679 days ago1667202107IN
0x913cCcCa...1F511B188
0 ETH0.000148356.10598564
Approve151268212022-07-12 8:38:01790 days ago1657615081IN
0x913cCcCa...1F511B188
0 ETH0.000741215.91207241
Approve151237422022-07-11 21:19:59791 days ago1657574399IN
0x913cCcCa...1F511B188
0 ETH0.0021642746.4627047
Addbot151231672022-07-11 19:11:59791 days ago1657566719IN
0x913cCcCa...1F511B188
0 ETH0.0026224355.6603422
Addbot151227802022-07-11 17:51:53791 days ago1657561913IN
0x913cCcCa...1F511B188
0 ETH0.0009939135.14170313
Approve151221492022-07-11 15:37:26791 days ago1657553846IN
0x913cCcCa...1F511B188
0 ETH0.0035657176.54867931
Approve151220612022-07-11 15:15:45791 days ago1657552545IN
0x913cCcCa...1F511B188
0 ETH0.0012877927.6463965
Addbot151220442022-07-11 15:12:42791 days ago1657552362IN
0x913cCcCa...1F511B188
0 ETH0.001467431.14522797
Approve151220042022-07-11 15:03:59791 days ago1657551839IN
0x913cCcCa...1F511B188
0 ETH0.0017303237.14666897
Approve151219292022-07-11 14:46:21791 days ago1657550781IN
0x913cCcCa...1F511B188
0 ETH0.0017102636.71590085
Approve151219172022-07-11 14:43:09791 days ago1657550589IN
0x913cCcCa...1F511B188
0 ETH0.0019243941.31284171
Del Bot151219012022-07-11 14:38:24791 days ago1657550304IN
0x913cCcCa...1F511B188
0 ETH0.0010827344.58989946
Addbot151219002022-07-11 14:37:54791 days ago1657550274IN
0x913cCcCa...1F511B188
0 ETH0.0399255242.34521701
Approve151219002022-07-11 14:37:54791 days ago1657550274IN
0x913cCcCa...1F511B188
0 ETH0.0021681246.54521701
Approve151218962022-07-11 14:37:02791 days ago1657550222IN
0x913cCcCa...1F511B188
0 ETH0.0021353345.84124032
Approve151218962022-07-11 14:37:02791 days ago1657550222IN
0x913cCcCa...1F511B188
0 ETH0.0021353345.84124032
Approve151218942022-07-11 14:36:28791 days ago1657550188IN
0x913cCcCa...1F511B188
0 ETH0.0021198645.50931982
Addbot151218942022-07-11 14:36:28791 days ago1657550188IN
0x913cCcCa...1F511B188
0 ETH0.049188491,044.00931982
Approve151218922022-07-11 14:35:47791 days ago1657550147IN
0x913cCcCa...1F511B188
0 ETH0.0018666540.07327886
Approve151218892022-07-11 14:34:02791 days ago1657550042IN
0x913cCcCa...1F511B188
0 ETH0.0013621529.24272356
Approve151218842022-07-11 14:32:47791 days ago1657549967IN
0x913cCcCa...1F511B188
0 ETH0.0012102225.98118818
Approve151218842022-07-11 14:32:47791 days ago1657549967IN
0x913cCcCa...1F511B188
0 ETH0.0012102225.98118818
Approve151218842022-07-11 14:32:47791 days ago1657549967IN
0x913cCcCa...1F511B188
0 ETH0.0012102225.98118818
Approve151218842022-07-11 14:32:47791 days ago1657549967IN
0x913cCcCa...1F511B188
0 ETH0.0012102225.98118818
Approve151218782022-07-11 14:30:37791 days ago1657549837IN
0x913cCcCa...1F511B188
0 ETH0.0008637218.54243096
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
151218902022-07-11 14:34:36791 days ago1657550076
0x913cCcCa...1F511B188
0.00833213 ETH
151218902022-07-11 14:34:36791 days ago1657550076
0x913cCcCa...1F511B188
0.00833213 ETH
151218892022-07-11 14:34:02791 days ago1657550042
0x913cCcCa...1F511B188
0.01441518 ETH
151218892022-07-11 14:34:02791 days ago1657550042
0x913cCcCa...1F511B188
0.01441518 ETH
151218822022-07-11 14:31:32791 days ago1657549892
0x913cCcCa...1F511B188
0.10583903 ETH
151218822022-07-11 14:31:32791 days ago1657549892
0x913cCcCa...1F511B188
0.10583903 ETH
151218412022-07-11 14:24:07791 days ago1657549447
0x913cCcCa...1F511B188
0.03816065 ETH
151218412022-07-11 14:24:07791 days ago1657549447
0x913cCcCa...1F511B188
0.03816065 ETH
151218322022-07-11 14:21:34791 days ago1657549294
0x913cCcCa...1F511B188
0.01057886 ETH
151218322022-07-11 14:21:34791 days ago1657549294
0x913cCcCa...1F511B188
0.01057886 ETH
151218292022-07-11 14:21:04791 days ago1657549264
0x913cCcCa...1F511B188
0.00595108 ETH
151218292022-07-11 14:21:04791 days ago1657549264
0x913cCcCa...1F511B188
0.00595108 ETH
151218292022-07-11 14:21:04791 days ago1657549264
0x913cCcCa...1F511B188
0.00952435 ETH
151218292022-07-11 14:21:04791 days ago1657549264
0x913cCcCa...1F511B188
0.00952435 ETH
151218282022-07-11 14:20:49791 days ago1657549249
0x913cCcCa...1F511B188
0.01736085 ETH
151218282022-07-11 14:20:49791 days ago1657549249
0x913cCcCa...1F511B188
0.01736085 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00603924 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00603924 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00630633 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00630633 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00491974 ETH
151218212022-07-11 14:19:57791 days ago1657549197
0x913cCcCa...1F511B188
0.00491974 ETH
151218192022-07-11 14:19:44791 days ago1657549184
0x913cCcCa...1F511B188
0.09202995 ETH
151218192022-07-11 14:19:44791 days ago1657549184
0x913cCcCa...1F511B188
0.09202995 ETH
151218162022-07-11 14:18:36791 days ago1657549116
0x913cCcCa...1F511B188
0.02791454 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MAODAO

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
                                                         |IOOQQQOQ6!.                                              
                                        .!!   OQQQOQO6QOOIOI66OQ6QOQOOQQQOI^.                                      
                                   |I!OOQQOOO6O6O66I6IIOIII66OO6QO66QOQOQOQQOQQOI                                  
                              !6QOIQO6OOO|II||I||||||||I|IIII6Q|6O6O6Q66OQOQQQOQQQQO                               
                          .|OOOQ6QOOI|6II6!!!!!!!!!|!!!|!||!|||IIIO6QIOO6O6QOQOOQQQQOOO!                           
                       IO66OQI||III66|||!!!!^!!^!^!!!^!!!!|!||||||I66OOOOOOOO6O66OQQQOQQQQOO||.                    
                      OO66|I!!||I6I|!^!!^!!^!^^!^!^!^^!!!!!!||!|||IIIIIOOQQOO6I6QOOQOOOOOOQOQQQ|.                  
                 .I6|||||!6OI6OO|!!^!^!!^^^!!^!^^!!^!!!!!!!!||!!|||II|6I666O6OOQ6I6QO6OOQQOOQOOQQO6                
                |66OI|6I66666OI^!^^^^^^!!^!!!^!^^!!^!!!!!!!!!!!||||I|I|II6666O6O66I|I6OQOQOOQQQQQQQQ!              
              ^I||6O66666IOO|^^^!^^^!^^!^!!^!^^!!!!^!!!!!!!!!!||||||II|II666OI6O6OII|I66OQO6O6QQOQOQOQI            
           6OI|O66|I6OO6II!^^^^!^^^!^^^!^^!!^!!^!^!^!!!!!!!|!|!|||||||III6I666O6OO666I6I6OOOOQOQQOQQOQQ.           
          IOOI!|!|II6QOO6|^^^^.^^!^^^!^!!^!^^^!!^!!^!!^!!!!!!!!||||||I|III66666OO6O6I||I6666OOOQQQOQOQQQ6          
         !OO6I|!^6QO6666!!^.^^^.^^^^^!^^!^^^^^^^!!^^!!!^!!!!!|!!||||||I|III6666O6OO66I!|6IIOOOOQOQQOQOQQQ.         
         O6OI^^666II66O|^!^.^^^^^^^^^^^^^^^^.^^^^^^!^!!!!^!!!!!||!!||I|IIIII66666OQOOII6OIO6I666OQOOQQOQQQ         
        OOO||!I^||IOO6!!^^^!^^^^^^^.^^.^^^^^^^.^^!^!!^!!!!!!!|!||!||||I|IIIII66666OOOQIO!I|66OOQOOQOQQOOQOQ^       
        OQIII|!!|II6O|^!^!!^^^^.^^.^..^^.^^^^.^.^^^^^^!^!!!!!|!!!|||||!||IIII6666OOO6I6||O6I6I6OQOQQOOQOQQOO       
       ^6OOI!66|I6OOI^^!^^^^.^.^^^..^.^^^.^^^.^^^^.^^^^!!!^!!!!|!||!|||I|II6I666666Q6IO6I666|6OOO6OQQQOOOQOQ       
       |OQOI!O|IOOO6|!^!!^^.^^^^..^..^^.^^^.^^^.^..^^!^!!^^!!!!|!||||!||I|III666OI6O666Q666QOQ66OOOOQOQOQQOO       
       !QOII6^!|6I6|!^^!^^..^.^^.....^^^^^^^.^.....^.^^^^^!!^|!|!||||||||IIIII66I66I6OII6QI|OOQ6QOO6OOOQOQ|^       
      !OOOO6|^!||I6!^!^^^..^.^... ....^.^^!^^... ....^^^.^^^!!!!!||||I||III6I6I666I6I66OIOO6OOO6OOQQOOQQO|         
       |!6O|^I|!^II^!^!^^..^.^....  ....^.^^^^. ...^^^^^^^.!!^!!!!||||||6|III66I6II66IIOO6QOQOQ66O6OQQOQO          
        I6!I|I||I|!^^!^!^!!^^^^^^.^.^!^^^.^^^^^..^^^!!^!!!||!|!!!!|||||III|III66I666OOOOQ6QOOO6Q6OO6OQOQQI         
         !666|!|II|^^!^^^!^!^|||||I||||!!!^^^^^^!^!|!||II|I|IIII||!|!|||II6III6I66I6OOOQOOQOOOOOQOOOQQOQI          
          ^|!I6OI|!!!!^^.^^!^|||IIII||I||!!^!^^!^!|!||III6|II|III|||||||IIIIII|6I6I66OOQOQOQQOOOQOOOOQOOO          
           I6I|II|!^!!^^^^^!^!^!^!^!!^^!!!!!^!!!!!||||!!^^^.^^.^^!!!I|III6I666I666I6I66OOQOOOOOQOQOQOQ!            
            ||IIO!^!^^^^^!...^^^!!!!!^^^^!^^^^^!!!!!!!!^....^|||!|!!|II|I66666I66I6666OOOOOQOO6QOOOOQ6.            
            .I|6O^^!^^^.^^.^!IIII66!!!!^!^^.^^.^^!||||!!!|||!!!|||IOO66III666I666666666OOOOOOOQOOOQOI              
             |III^^^^^^^^||!!IQQOQOO6II||!^^^^.!^!||I|||!!I6OOOOQQOOQOQO6O6666666I66I66OOO6OOQOQ6QOI               
               |^^^^.^!||!OQI^6QQOQ||QI||!^^^..^!!|III|!I66!^^|I66I|6OOQ6II6666IOI666666OOOQQOOQQOQ                
               !^!^^^^!I|^.^.^..!!!|I||!!!^^^..^!!I|II|^^^^^!^^^!!!|I||III|6III6I6I666666OOOQOO6OQO                
               !^.^...^^^^..^.!||||I|||^!^^^!.^^!||I|III|^!||!|!!!|!|||I|I||||||III66666OO6OQOII6OO!               
               !!^^^..^^!^^^||||I||!!!^^^^!^.^^!!||III|I|!^!^!!|||I||II||||!|||||IIII6O666OOO6|OOO66.              
               ^^.^.^..^!!^!!!|!!!!|!^.^^^^^^.^!^!|III|I|||!!!!!!||||I|||||||II6III6I6O66OOO6II66|O6I              
               ^^.^.^^^.!^^!!|!!!^!^.^^^^^!^..^!!|I|IIII|||!!!|!|!!|!|!||!|||IIII66I666O6OOOII||6!6I6              
               ^.^^^^...^^!^!^^^^..^.^^^^^!^^.^!!||II6I||!|!^!!!|!!!|!!|||!|I|II66I66666O6OO6II6II||I              
               !^^^.^.....^!^^^^^..^^^^!^!^^...^!|||II66I!!!^^!!!!!!!||!|!||I6II66I666I66O666I|||OII6              
               !^^^^^.^.. ^^.^.^.^^^!!|^!..  .^^!!III6666II!!^!^!!|!|!|!|||||6I66666I66O666O66||!6O66              
               !^^^^^^^^......^.^^!!|^^^^...^^^^^!|I666I666I|^!!!!!|||!!||||I6I666I666666O666I|I|I666              
               !^!^!^^^^.^.....^!|!||..^^!^^!!!!||III66I6I66I!^!!|!|!|!!||I6I6I6666666O66O6O6||||||66              
               !!^!!^!!^^.^^^^!!!|||!^^!!||!|||II6OO6II666O66||!!!|||!!!||II6I666I6666O6O66O6II|||II6.             
               .|!^!^^^!^!!^!!!|!||^^!!66QQQI66OOOQQQOQ666O66I6|!!!||!||I|III66666666O6OO66OII6II|I66              
                ^!!^^^!!^!!!!||I|!.^..^|66I!||OOOII|II6O6I6IIII|!!!!!||||I6I6O666666O6O6O6O6IIII6II!               
                .!^!^!^!!!!|!||I!^^^^^.^^^^^.!^^.^!||II6IIIII|II||!!!!|I|I6I666O66I6666O6O66II||I6I^               
                 !!!!^!!!!|!||||!!^!^!^^^^^.^^!!..^^!!!!|II|I6I6II!!|!||||6666666666666O6O66|!|II6|                
                 !^!^!!!!!|||||!|!!^!^^^..^^^!!^.^!!^^!!!!|IIII6I||!||||II66I66I6666OO66O666!!|II.                 
                 ^^!!!!|!!!||!||!!!^!^^^^..^^!^^.^^!!!!!!||II6III||||!!|I66I66666I66O66O6O66II|6^                  
                  ^!^!!!!!!!!!!|!^!!!!!!!|I|I||!I|6I6I6|IIIII6III|I|I|||II66I666666O66I66OO6.                      
                  .!^!!!^!!|!!!|^!|I66OOQO6O6666OOOOOQOOQOQQOOO6IIII|!|||6I6I666666666666O6O                       
                   !!^^!!^!!!!!||IO!^!!|!!^.^^^!!!!|!||I66666I6II66I!!|||II66666666I6666O66Q                       
                   !!^^!!!!^!^!||!^^^!^!!!!^^^!!!!!|||II|II6II|IIII||!||I6I66I66I66666O66OO6                       
                    ^^!^!!^^^!!!!^^^^!!!!!^!^!|!!!!!|I6I6I6III|III|I||||III6I66II66666O6OOO.                       
                    .!!!!^!^^!!!!!^!^!!!!||I6666O66666I6IIIIII|||I|||||III66I6II6666O6O6O6|                        
                     ^!!!^!!!^!!|!^!!^!!!!!!I|||II||||I||I|I|II||||!||II|II6II6I6666666O6OIO                       
                      ^!!!|!!!!!^!^^^!^^^!^!!^^!^.^!!!!|!!!|||||||II||II6II6I6I66I666OO66IO6O!                     
                       ^!!!!!!!!^^!^^^!^^^^^!^^!^!|6I|!!!!!|!|I||||II|I6I6I6I66I666OOO6O6|OO6O|                    
                        !!!!!|!||^!^!^!^^^!^^!^!!^!!|^!^!!!!|I|I|I|I66II6I6I6666666OOOOO!I66O6O!                   
                          |!||||||!!^!^^!^!!!!!^!!^!^^^!!|||I|IIII6666I6II6O66O6O6O6OOOI|666OOOQ6                  
                           ||||||!|!!^!^^!!!!!!!!!!!!!!!|||IIII6I6I66I6IO66666OOOO66OO6!6O6O6OOOO                  
                          !!!||I|||!|!|!|!!|!!|!|!||!!|||IIII666I666666OOOO66666O6I6OQ^I6O6OOOOOOO6                
                          !!!!|I6I|IIII|||I|I|I|IIIIIII6666O66O6I666O66O66OOO6666666I!666OOO6O6O6OOI               
                        ^||!||I|III|II66O6O6O6O6OOO6OO6666OO6666OO66O6OO666666666666!|6OO6OOOOO6O66OQ.             
                   .!!||!|!!!!I^|I|III6I6I6OO6OOOOOO66O66666666OO6666O6666666I66I6|!O66OOO6O6O6OO6O6OOOQO.         
            .!!!!^!^!!!!||!!!!|^!|IIIII6III6II66O6OO6O66O6OO6O666666666666I6II66I!I6O6666OOOOOO6666OOO6O6OO!       
         !I|^^!^!!^!!!!!|!|!^!|!^|||III|III6III6O6OOOO66OO66O666666OI66I66666II|!6OO6O6O6OO66O6O6OOOOOOOO6OOO^     
 .!!!!!!^^!!!!!^!!!!!|!|!!!|!^!| !||||||I|III6I66O6OO6OO66O66OO6I666666I66666!!I6666OO66O66O6OOO666OOOOOOOOOO6OOOI 
!!!!!|^!!^!!^!!!!!|!|!!!!!!|!^!!! .!|||||I|II66OO6OOO6O66O66I6666666I666I66!^666O66666OIOOOOOO6O66OQOOOOOOO66O6OO66
!!!!^!!^!!!!!^!!!!|||!!!!!!|!!!!!^.^!!||||||II6IO6OO666OO6666I6666I666I6|!!6O6O6O66O66O6O666OO6O66OOOO6OOOOOOOOOO6O
!!!!^!!!!!!!!!!!|!|!!^!!||!!|!|!!!|. ^!!||||||II666OO666I6O666666I6I66!^|66O666O66O6666OOO6O66O66OOOQOOOOOO6OOOO66O


                        "An army of the people is invincible. Idea is bulletproof."
                        Mao ZeDong


https://maodao.space	
https://t.me/maodaoportal	
https://twitter.com/MAODAOERC20
*/
pragma solidity ^0.8.7;
// SPDX-License-Identifier: UNLICENSED
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;
    }

}

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 MAODAO 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 bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 500000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet;
    
    string private constant _name = "MAO DAO";
    string private constant _symbol = "MAODAO";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletSize = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(0x1049eaD687498100364857290309b0c6bdFd349e);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    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 _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");
        _feeAddr1 = 0;
        _feeAddr2 = 5;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 5;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function changeMaxTxAmount(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxTxAmount = _tTotal.mul(percentage).div(100);
    }

    function changeMaxWalletSize(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxWalletSize = _tTotal.mul(percentage).div(100);
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }  

    function openTrading() 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);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = _tTotal.mul(20).div(1000);
        _maxWalletSize = _tTotal.mul(30).div(1000);
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function addbot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    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 _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 manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        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 _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 _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;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b681b1ae4d6e2ef500000600019620001d6565b6200002990600019620001f9565b600855600e805462ffffff60a81b19169055681b1ae4d6e2ef500000600f8190556010553480156200005a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031916731049ead687498100364857290309b0c6bdfd349e17905560085460026000620000d13390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200010b620001c760201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c549091168352912080549092161790556200016a3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef681b1ae4d6e2ef500000604051620001b991815260200190565b60405180910390a36200021f565b6000546001600160a01b031690565b600082620001f457634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200021a57634e487b7160e01b600052601160045260246000fd5b500390565b611bc7806200022f6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063b87f137a11610064578063b87f137a1461033b578063c3c8cd801461035b578063c9567bf914610370578063ccfee5d614610385578063dd62ed3e146103a557600080fd5b8063715018a61461029a578063751039fc146102af5780638da5cb5b146102c457806395d89b41146102ec578063a9059cbb1461031b57600080fd5b8063313ce567116100e7578063313ce567146102095780635932ead114610225578063677daa57146102455780636fc3eaec1461026557806370a082311461027a57600080fd5b806306fdde031461012f578063095ea7b31461017157806318160ddd146101a157806323b872dd146101c7578063273123b7146101e757600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260078152664d414f2044414f60c81b60208201525b604051610168919061174a565b60405180910390f35b34801561017d57600080fd5b5061019161018c3660046117c4565b6103eb565b6040519015158152602001610168565b3480156101ad57600080fd5b50681b1ae4d6e2ef5000005b604051908152602001610168565b3480156101d357600080fd5b506101916101e23660046117f0565b610402565b3480156101f357600080fd5b50610207610202366004611831565b61046b565b005b34801561021557600080fd5b5060405160098152602001610168565b34801561023157600080fd5b5061020761024036600461185c565b6104bf565b34801561025157600080fd5b50610207610260366004611879565b610507565b34801561027157600080fd5b50610207610562565b34801561028657600080fd5b506101b9610295366004611831565b61058f565b3480156102a657600080fd5b506102076105b1565b3480156102bb57600080fd5b50610207610625565b3480156102d057600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102f857600080fd5b506040805180820190915260068152654d414f44414f60d01b602082015261015b565b34801561032757600080fd5b506101916103363660046117c4565b610663565b34801561034757600080fd5b50610207610356366004611879565b610670565b34801561036757600080fd5b506102076106c5565b34801561037c57600080fd5b506102076106fb565b34801561039157600080fd5b506102076103a03660046118a8565b610ab4565b3480156103b157600080fd5b506101b96103c036600461196d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103f8338484610b46565b5060015b92915050565b600061040f848484610c6a565b610461843361045c85604051806060016040528060288152602001611b6a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611074565b610b46565b5060019392505050565b6000546001600160a01b0316331461049e5760405162461bcd60e51b8152600401610495906119a6565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104e95760405162461bcd60e51b8152600401610495906119a6565b600e8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146105315760405162461bcd60e51b8152600401610495906119a6565b6000811161053e57600080fd5b61055c6064610556681b1ae4d6e2ef500000846110ae565b90611137565b600f5550565b600c546001600160a01b0316336001600160a01b03161461058257600080fd5b4761058c81611179565b50565b6001600160a01b0381166000908152600260205260408120546103fc906111b3565b6000546001600160a01b031633146105db5760405162461bcd60e51b8152600401610495906119a6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461064f5760405162461bcd60e51b8152600401610495906119a6565b681b1ae4d6e2ef500000600f819055601055565b60006103f8338484610c6a565b6000546001600160a01b0316331461069a5760405162461bcd60e51b8152600401610495906119a6565b600081116106a757600080fd5b6106bf6064610556681b1ae4d6e2ef500000846110ae565b60105550565b600c546001600160a01b0316336001600160a01b0316146106e557600080fd5b60006106f03061058f565b905061058c81611230565b6000546001600160a01b031633146107255760405162461bcd60e51b8152600401610495906119a6565b600e54600160a01b900460ff161561077f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610495565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107bc3082681b1ae4d6e2ef500000610b46565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e91906119db565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f91906119db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090091906119db565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d71947306109308161058f565b6000806109456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d291906119f8565b5050600e805461ffff60b01b191661010160b01b17905550610a046103e8610556681b1ae4d6e2ef50000060146110ae565b600f55610a216103e8610556681b1ae4d6e2ef500000601e6110ae565b601055600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab09190611a26565b5050565b6000546001600160a01b03163314610ade5760405162461bcd60e51b8152600401610495906119a6565b60005b8151811015610ab057600160066000848481518110610b0257610b02611a43565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3e81611a6f565b915050610ae1565b6001600160a01b038316610ba85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b038216610c095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b60008111610d925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610495565b6000600a556005600b55610dae6000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610ddd57506000546001600160a01b03838116911614155b15611064576001600160a01b03831660009081526006602052604090205460ff16158015610e2457506001600160a01b03821660009081526006602052604090205460ff16155b610e2d57600080fd5b600e546001600160a01b038481169116148015610e585750600d546001600160a01b03838116911614155b8015610e7d57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e925750600e54600160b81b900460ff165b15610f9757600f54811115610ee95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610495565b60105481610ef68461058f565b610f009190611a88565b1115610f4e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610495565b6001600160a01b0382166000908152600760205260409020544211610f7257600080fd5b610f7d42601e611a88565b6001600160a01b0383166000908152600760205260409020555b600e546001600160a01b038381169116148015610fc25750600d546001600160a01b03848116911614155b8015610fe757506001600160a01b03831660009081526005602052604090205460ff16155b15610ff7576000600a556005600b555b60006110023061058f565b600e54909150600160a81b900460ff1615801561102d5750600e546001600160a01b03858116911614155b80156110425750600e54600160b01b900460ff165b156110625761105081611230565b4780156110605761106047611179565b505b505b61106f8383836113aa565b505050565b600081848411156110985760405162461bcd60e51b8152600401610495919061174a565b5060006110a58486611aa0565b95945050505050565b6000826000036110c0575060006103fc565b60006110cc8385611ab7565b9050826110d98583611ad6565b146111305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610495565b9392505050565b600061113083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b5565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ab0573d6000803e3d6000fd5b600060085482111561121a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610495565b60006112246113e3565b90506111308382611137565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061127857611278611a43565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f591906119db565b8160018151811061130857611308611a43565b6001600160a01b039283166020918202929092010152600d5461132e9130911684610b46565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611367908590600090869030904290600401611af8565b600060405180830381600087803b15801561138157600080fd5b505af1158015611395573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b61106f838383611406565b600081836113d65760405162461bcd60e51b8152600401610495919061174a565b5060006110a58486611ad6565b60008060006113f06114fd565b90925090506113ff8282611137565b9250505090565b6000806000806000806114188761153f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061144a908761159c565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461147990866115de565b6001600160a01b03891660009081526002602052604090205561149b8161163d565b6114a58483611687565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114ea91815260200190565b60405180910390a3505050505050505050565b6008546000908190681b1ae4d6e2ef5000006115198282611137565b82101561153657505060085492681b1ae4d6e2ef50000092509050565b90939092509050565b600080600080600080600080600061155c8a600a54600b546116ab565b925092509250600061156c6113e3565b9050600080600061157f8e8787876116fa565b919e509c509a509598509396509194505050505091939550919395565b600061113083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611074565b6000806115eb8385611a88565b9050838110156111305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610495565b60006116476113e3565b9050600061165583836110ae565b3060009081526002602052604090205490915061167290826115de565b30600090815260026020526040902055505050565b600854611694908361159c565b6008556009546116a490826115de565b6009555050565b60008080806116bf606461055689896110ae565b905060006116d260646105568a896110ae565b905060006116ea826116e48b8661159c565b9061159c565b9992985090965090945050505050565b600080808061170988866110ae565b9050600061171788876110ae565b9050600061172588886110ae565b90506000611737826116e4868661159c565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156117775785810183015185820160400152820161175b565b81811115611789576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461058c57600080fd5b80356117bf8161179f565b919050565b600080604083850312156117d757600080fd5b82356117e28161179f565b946020939093013593505050565b60008060006060848603121561180557600080fd5b83356118108161179f565b925060208401356118208161179f565b929592945050506040919091013590565b60006020828403121561184357600080fd5b81356111308161179f565b801515811461058c57600080fd5b60006020828403121561186e57600080fd5b81356111308161184e565b60006020828403121561188b57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118bb57600080fd5b823567ffffffffffffffff808211156118d357600080fd5b818501915085601f8301126118e757600080fd5b8135818111156118f9576118f9611892565b8060051b604051601f19603f8301168101818110858211171561191e5761191e611892565b60405291825284820192508381018501918883111561193c57600080fd5b938501935b8285101561196157611952856117b4565b84529385019392850192611941565b98975050505050505050565b6000806040838503121561198057600080fd5b823561198b8161179f565b9150602083013561199b8161179f565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119ed57600080fd5b81516111308161179f565b600080600060608486031215611a0d57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3857600080fd5b81516111308161184e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611a8157611a81611a59565b5060010190565b60008219821115611a9b57611a9b611a59565b500190565b600082821015611ab257611ab2611a59565b500390565b6000816000190483118215151615611ad157611ad1611a59565b500290565b600082611af357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b485784516001600160a01b031683529383019391830191600101611b23565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202c6bbbf980b472d95848c9bedc154c26c927c702d9b4a60add07a6d40cb7edf364736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a0578063b87f137a11610064578063b87f137a1461033b578063c3c8cd801461035b578063c9567bf914610370578063ccfee5d614610385578063dd62ed3e146103a557600080fd5b8063715018a61461029a578063751039fc146102af5780638da5cb5b146102c457806395d89b41146102ec578063a9059cbb1461031b57600080fd5b8063313ce567116100e7578063313ce567146102095780635932ead114610225578063677daa57146102455780636fc3eaec1461026557806370a082311461027a57600080fd5b806306fdde031461012f578063095ea7b31461017157806318160ddd146101a157806323b872dd146101c7578063273123b7146101e757600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260078152664d414f2044414f60c81b60208201525b604051610168919061174a565b60405180910390f35b34801561017d57600080fd5b5061019161018c3660046117c4565b6103eb565b6040519015158152602001610168565b3480156101ad57600080fd5b50681b1ae4d6e2ef5000005b604051908152602001610168565b3480156101d357600080fd5b506101916101e23660046117f0565b610402565b3480156101f357600080fd5b50610207610202366004611831565b61046b565b005b34801561021557600080fd5b5060405160098152602001610168565b34801561023157600080fd5b5061020761024036600461185c565b6104bf565b34801561025157600080fd5b50610207610260366004611879565b610507565b34801561027157600080fd5b50610207610562565b34801561028657600080fd5b506101b9610295366004611831565b61058f565b3480156102a657600080fd5b506102076105b1565b3480156102bb57600080fd5b50610207610625565b3480156102d057600080fd5b506000546040516001600160a01b039091168152602001610168565b3480156102f857600080fd5b506040805180820190915260068152654d414f44414f60d01b602082015261015b565b34801561032757600080fd5b506101916103363660046117c4565b610663565b34801561034757600080fd5b50610207610356366004611879565b610670565b34801561036757600080fd5b506102076106c5565b34801561037c57600080fd5b506102076106fb565b34801561039157600080fd5b506102076103a03660046118a8565b610ab4565b3480156103b157600080fd5b506101b96103c036600461196d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103f8338484610b46565b5060015b92915050565b600061040f848484610c6a565b610461843361045c85604051806060016040528060288152602001611b6a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611074565b610b46565b5060019392505050565b6000546001600160a01b0316331461049e5760405162461bcd60e51b8152600401610495906119a6565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104e95760405162461bcd60e51b8152600401610495906119a6565b600e8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146105315760405162461bcd60e51b8152600401610495906119a6565b6000811161053e57600080fd5b61055c6064610556681b1ae4d6e2ef500000846110ae565b90611137565b600f5550565b600c546001600160a01b0316336001600160a01b03161461058257600080fd5b4761058c81611179565b50565b6001600160a01b0381166000908152600260205260408120546103fc906111b3565b6000546001600160a01b031633146105db5760405162461bcd60e51b8152600401610495906119a6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461064f5760405162461bcd60e51b8152600401610495906119a6565b681b1ae4d6e2ef500000600f819055601055565b60006103f8338484610c6a565b6000546001600160a01b0316331461069a5760405162461bcd60e51b8152600401610495906119a6565b600081116106a757600080fd5b6106bf6064610556681b1ae4d6e2ef500000846110ae565b60105550565b600c546001600160a01b0316336001600160a01b0316146106e557600080fd5b60006106f03061058f565b905061058c81611230565b6000546001600160a01b031633146107255760405162461bcd60e51b8152600401610495906119a6565b600e54600160a01b900460ff161561077f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610495565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107bc3082681b1ae4d6e2ef500000610b46565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e91906119db565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f91906119db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090091906119db565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d71947306109308161058f565b6000806109456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d291906119f8565b5050600e805461ffff60b01b191661010160b01b17905550610a046103e8610556681b1ae4d6e2ef50000060146110ae565b600f55610a216103e8610556681b1ae4d6e2ef500000601e6110ae565b601055600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab09190611a26565b5050565b6000546001600160a01b03163314610ade5760405162461bcd60e51b8152600401610495906119a6565b60005b8151811015610ab057600160066000848481518110610b0257610b02611a43565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3e81611a6f565b915050610ae1565b6001600160a01b038316610ba85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610495565b6001600160a01b038216610c095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610495565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cce5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610495565b6001600160a01b038216610d305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610495565b60008111610d925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610495565b6000600a556005600b55610dae6000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610ddd57506000546001600160a01b03838116911614155b15611064576001600160a01b03831660009081526006602052604090205460ff16158015610e2457506001600160a01b03821660009081526006602052604090205460ff16155b610e2d57600080fd5b600e546001600160a01b038481169116148015610e585750600d546001600160a01b03838116911614155b8015610e7d57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e925750600e54600160b81b900460ff165b15610f9757600f54811115610ee95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610495565b60105481610ef68461058f565b610f009190611a88565b1115610f4e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610495565b6001600160a01b0382166000908152600760205260409020544211610f7257600080fd5b610f7d42601e611a88565b6001600160a01b0383166000908152600760205260409020555b600e546001600160a01b038381169116148015610fc25750600d546001600160a01b03848116911614155b8015610fe757506001600160a01b03831660009081526005602052604090205460ff16155b15610ff7576000600a556005600b555b60006110023061058f565b600e54909150600160a81b900460ff1615801561102d5750600e546001600160a01b03858116911614155b80156110425750600e54600160b01b900460ff165b156110625761105081611230565b4780156110605761106047611179565b505b505b61106f8383836113aa565b505050565b600081848411156110985760405162461bcd60e51b8152600401610495919061174a565b5060006110a58486611aa0565b95945050505050565b6000826000036110c0575060006103fc565b60006110cc8385611ab7565b9050826110d98583611ad6565b146111305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610495565b9392505050565b600061113083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b5565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ab0573d6000803e3d6000fd5b600060085482111561121a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610495565b60006112246113e3565b90506111308382611137565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061127857611278611a43565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f591906119db565b8160018151811061130857611308611a43565b6001600160a01b039283166020918202929092010152600d5461132e9130911684610b46565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611367908590600090869030904290600401611af8565b600060405180830381600087803b15801561138157600080fd5b505af1158015611395573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b61106f838383611406565b600081836113d65760405162461bcd60e51b8152600401610495919061174a565b5060006110a58486611ad6565b60008060006113f06114fd565b90925090506113ff8282611137565b9250505090565b6000806000806000806114188761153f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061144a908761159c565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461147990866115de565b6001600160a01b03891660009081526002602052604090205561149b8161163d565b6114a58483611687565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114ea91815260200190565b60405180910390a3505050505050505050565b6008546000908190681b1ae4d6e2ef5000006115198282611137565b82101561153657505060085492681b1ae4d6e2ef50000092509050565b90939092509050565b600080600080600080600080600061155c8a600a54600b546116ab565b925092509250600061156c6113e3565b9050600080600061157f8e8787876116fa565b919e509c509a509598509396509194505050505091939550919395565b600061113083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611074565b6000806115eb8385611a88565b9050838110156111305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610495565b60006116476113e3565b9050600061165583836110ae565b3060009081526002602052604090205490915061167290826115de565b30600090815260026020526040902055505050565b600854611694908361159c565b6008556009546116a490826115de565b6009555050565b60008080806116bf606461055689896110ae565b905060006116d260646105568a896110ae565b905060006116ea826116e48b8661159c565b9061159c565b9992985090965090945050505050565b600080808061170988866110ae565b9050600061171788876110ae565b9050600061172588886110ae565b90506000611737826116e4868661159c565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156117775785810183015185820160400152820161175b565b81811115611789576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461058c57600080fd5b80356117bf8161179f565b919050565b600080604083850312156117d757600080fd5b82356117e28161179f565b946020939093013593505050565b60008060006060848603121561180557600080fd5b83356118108161179f565b925060208401356118208161179f565b929592945050506040919091013590565b60006020828403121561184357600080fd5b81356111308161179f565b801515811461058c57600080fd5b60006020828403121561186e57600080fd5b81356111308161184e565b60006020828403121561188b57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118bb57600080fd5b823567ffffffffffffffff808211156118d357600080fd5b818501915085601f8301126118e757600080fd5b8135818111156118f9576118f9611892565b8060051b604051601f19603f8301168101818110858211171561191e5761191e611892565b60405291825284820192508381018501918883111561193c57600080fd5b938501935b8285101561196157611952856117b4565b84529385019392850192611941565b98975050505050505050565b6000806040838503121561198057600080fd5b823561198b8161179f565b9150602083013561199b8161179f565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119ed57600080fd5b81516111308161179f565b600080600060608486031215611a0d57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3857600080fd5b81516111308161184e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611a8157611a81611a59565b5060010190565b60008219821115611a9b57611a9b611a59565b500190565b600082821015611ab257611ab2611a59565b500390565b6000816000190483118215151615611ad157611ad1611a59565b500290565b600082611af357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b485784516001600160a01b031683529383019391830191600101611b23565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202c6bbbf980b472d95848c9bedc154c26c927c702d9b4a60add07a6d40cb7edf364736f6c634300080d0033

Deployed Bytecode Sourcemap

11692:10777:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13405:83;;;;;;;;;;-1:-1:-1;13475:5:0;;;;;;;;;;;;-1:-1:-1;;;13475:5:0;;;;13405:83;;;;;;;:::i;:::-;;;;;;;;14257:161;;;;;;;;;;-1:-1:-1;14257:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;14257:161:0;1211:187:1;13682:95:0;;;;;;;;;;-1:-1:-1;12191:20:0;13682:95;;;1549:25:1;;;1537:2;1522:18;13682:95:0;1403:177:1;14426:313:0;;;;;;;;;;-1:-1:-1;14426:313:0;;;;;:::i;:::-;;:::i;19198:88::-;;;;;;;;;;-1:-1:-1;19198:88:0;;;;;:::i;:::-;;:::i;:::-;;13591:83;;;;;;;;;;-1:-1:-1;13591:83:0;;12560:1;2440:36:1;;2428:2;2413:18;13591:83:0;2298:184:1;14747:103:0;;;;;;;;;;-1:-1:-1;14747:103:0;;;;;:::i;:::-;;:::i;17676:163::-;;;;;;;;;;-1:-1:-1;17676:163:0;;;;;:::i;:::-;;:::i;20574:193::-;;;;;;;;;;;;;:::i;13785:138::-;;;;;;;;;;-1:-1:-1;13785:138:0;;;;;:::i;:::-;;:::i;10771:148::-;;;;;;;;;;;;;:::i;17550:118::-;;;;;;;;;;;;;:::i;10557:79::-;;;;;;;;;;-1:-1:-1;10595:7:0;10622:6;10557:79;;-1:-1:-1;;;;;10622:6:0;;;3187:51:1;;3175:2;3160:18;10557:79:0;3041:203:1;13496:87:0;;;;;;;;;;-1:-1:-1;13568:7:0;;;;;;;;;;;;-1:-1:-1;;;13568:7:0;;;;13496:87;;13931:167;;;;;;;;;;-1:-1:-1;13931:167:0;;;;;:::i;:::-;;:::i;17847:::-;;;;;;;;;;-1:-1:-1;17847:167:0;;;;;:::i;:::-;;:::i;20368:194::-;;;;;;;;;;;;;:::i;18136:875::-;;;;;;;;;;;;;:::i;19023:163::-;;;;;;;;;;-1:-1:-1;19023:163:0;;;;;:::i;:::-;;:::i;14106:143::-;;;;;;;;;;-1:-1:-1;14106:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;14214:18:0;;;14187:7;14214:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14106:143;14257:161;14332:4;14349:39;8355:10;14372:7;14381:6;14349:8;:39::i;:::-;-1:-1:-1;14406:4:0;14257:161;;;;;:::o;14426:313::-;14524:4;14541:36;14551:6;14559:9;14570:6;14541:9;:36::i;:::-;14588:121;14597:6;8355:10;14619:89;14657:6;14619:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14619:19:0;;;;;;:11;:19;;;;;;;;8355:10;14619:33;;;;;;;;;;:37;:89::i;:::-;14588:8;:121::i;:::-;-1:-1:-1;14727:4:0;14426:313;;;;;:::o;19198:88::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;19258:12:0::1;19273:5;19258:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;19258:20:0::1;::::0;;19198:88::o;14747:103::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;14819:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;14819:23:0::1;-1:-1:-1::0;;;;14819:23:0;;::::1;::::0;;;::::1;::::0;;14747:103::o;17676:163::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;17771:1:::1;17760:10;:12;17752:21;;;::::0;::::1;;17799:32;17827:3;17799:23;12191:20;17811:10:::0;17799:11:::1;:23::i;:::-;:27:::0;::::1;:32::i;:::-;17784:12;:47:::0;-1:-1:-1;17676:163:0:o;20574:193::-;20640:14;;-1:-1:-1;;;;;20640:14:0;8355:10;-1:-1:-1;;;;;20624:30:0;;20616:39;;;;;;20695:21;20727:32;20695:21;20727:12;:32::i;:::-;20605:162;20574:193::o;13785:138::-;-1:-1:-1;;;;;13898:16:0;;13851:7;13898:16;;;:7;:16;;;;;;13878:37;;:19;:37::i;10771:148::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;10878:1:::1;10862:6:::0;;10841:40:::1;::::0;-1:-1:-1;;;;;10862:6:0;;::::1;::::0;10841:40:::1;::::0;10878:1;;10841:40:::1;10909:1;10892:19:::0;;-1:-1:-1;;;;;;10892:19:0::1;::::0;;10771:148::o;17550:118::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;12191:20:::1;17603:12;:22:::0;;;17636:14:::1;:24:::0;17550:118::o;13931:167::-;14009:4;14026:42;8355:10;14050:9;14061:6;14026:9;:42::i;17847:167::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;17944:1:::1;17933:10;:12;17925:21;;;::::0;::::1;;17974:32;18002:3;17974:23;12191:20;17986:10:::0;17974:11:::1;:23::i;:32::-;17957:14;:49:::0;-1:-1:-1;17847:167:0:o;20368:194::-;20434:14;;-1:-1:-1;;;;;20434:14:0;8355:10;-1:-1:-1;;;;;20418:30:0;;20410:39;;;;;;20460:23;20486:24;20504:4;20486:9;:24::i;:::-;20460:50;;20521:33;20538:15;20521:16;:33::i;18136:875::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;18200:11:::1;::::0;-1:-1:-1;;;18200:11:0;::::1;;;18199:12;18191:47;;;::::0;-1:-1:-1;;;18191:47:0;;5463:2:1;18191:47:0::1;::::0;::::1;5445:21:1::0;5502:2;5482:18;;;5475:30;5541:25;5521:18;;;5514:53;5584:18;;18191:47:0::1;5261:347:1::0;18191:47:0::1;18360:15;:34:::0;;-1:-1:-1;;;;;;18360:34:0::1;18306:42;18360:34:::0;;::::1;::::0;;;18405:58:::1;18422:4;18306:42:::0;12191:20:::1;18405:8;:58::i;:::-;18508:16;-1:-1:-1::0;;;;;18508:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18490:56:0::1;;18555:4;18562:16;-1:-1:-1::0;;;;;18562:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18490:96;::::0;-1:-1:-1;;;;;;18490:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6099:15:1;;;18490:96:0::1;::::0;::::1;6081:34:1::0;6151:15;;6131:18;;;6124:43;6016:18;;18490:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18474:13;:112:::0;;-1:-1:-1;;;;;;18474:112:0::1;-1:-1:-1::0;;;;;18474:112:0;;::::1;;::::0;;18597:15:::1;::::0;::::1;:31;18636:21;18667:4;18673:24;18667:4:::0;18673:9:::1;:24::i;:::-;18698:1;18700::::0;18702:7:::1;10595::::0;10622:6;-1:-1:-1;;;;;10622:6:0;;10557:79;18702:7:::1;18597:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;18597:129:0;;;-1:-1:-1;;;;;6537:15:1;;;18597:129:0::1;::::0;::::1;6519:34:1::0;6569:18;;;6562:34;;;;6612:18;;;6605:34;;;;6655:18;;;6648:34;6719:15;;;6698:19;;;6691:44;18710:15:0::1;6751:19:1::0;;;6744:35;6453:19;;18597:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18737:11:0::1;:18:::0;;-1:-1:-1;;;;18766:22:0;-1:-1:-1;;;18766:22:0;;;-1:-1:-1;18814:25:0::1;18834:4;18814:15;12191:20;18826:2;18814:11;:15::i;:25::-;18799:12;:40:::0;18867:25:::1;18887:4;18867:15;12191:20;18879:2;18867:11;:15::i;:25::-;18850:14;:42:::0;18903:11:::1;:18:::0;;-1:-1:-1;;;;;;;18903:18:0;::::1;;::::0;;;18970:15:::1;::::0;18932:71:::1;::::0;-1:-1:-1;;;18932:71:0;;-1:-1:-1;;;;;18970:15:0;;::::1;18932:71;::::0;::::1;7275:51:1::0;-1:-1:-1;;7342:18:1;;;7335:34;18939:13:0;;;18932:29:::1;::::0;7248:18:1;;18932:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18180:831;18136:875::o:0;19023:163::-;10684:6;;-1:-1:-1;;;;;10684:6:0;8355:10;10684:22;10676:67;;;;-1:-1:-1;;;10676:67:0;;;;;;;:::i;:::-;19096:6:::1;19091:88;19112:5;:12;19108:1;:16;19091:88;;;19163:4;19146;:14;19151:5;19157:1;19151:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;19146:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;19146:14:0;:21;;-1:-1:-1;;19146:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19126:3;::::1;::::0;::::1;:::i;:::-;;;;19091:88;;15120:335:::0;-1:-1:-1;;;;;15213:19:0;;15205:68;;;;-1:-1:-1;;;15205:68:0;;8236:2:1;15205:68:0;;;8218:21:1;8275:2;8255:18;;;8248:30;8314:34;8294:18;;;8287:62;-1:-1:-1;;;8365:18:1;;;8358:34;8409:19;;15205:68:0;8034:400:1;15205:68:0;-1:-1:-1;;;;;15292:21:0;;15284:68;;;;-1:-1:-1;;;15284:68:0;;8641:2:1;15284:68:0;;;8623:21:1;8680:2;8660:18;;;8653:30;8719:34;8699:18;;;8692:62;-1:-1:-1;;;8770:18:1;;;8763:32;8812:19;;15284:68:0;8439:398:1;15284:68:0;-1:-1:-1;;;;;15363:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15415:32;;1549:25:1;;;15415:32:0;;1522:18:1;15415:32:0;;;;;;;15120:335;;;:::o;15463:1588::-;-1:-1:-1;;;;;15551:18:0;;15543:68;;;;-1:-1:-1;;;15543:68:0;;9044:2:1;15543:68:0;;;9026:21:1;9083:2;9063:18;;;9056:30;9122:34;9102:18;;;9095:62;-1:-1:-1;;;9173:18:1;;;9166:35;9218:19;;15543:68:0;8842:401:1;15543:68:0;-1:-1:-1;;;;;15630:16:0;;15622:64;;;;-1:-1:-1;;;15622:64:0;;9450:2:1;15622:64:0;;;9432:21:1;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:33;9622:19;;15622:64:0;9248:399:1;15622:64:0;15714:1;15705:6;:10;15697:64;;;;-1:-1:-1;;;15697:64:0;;9854:2:1;15697:64:0;;;9836:21:1;9893:2;9873:18;;;9866:30;9932:34;9912:18;;;9905:62;-1:-1:-1;;;9983:18:1;;;9976:39;10032:19;;15697:64:0;9652:405:1;15697:64:0;15784:1;15772:9;:13;15808:1;15796:9;:13;15832:7;10595;10622:6;-1:-1:-1;;;;;10622:6:0;;10557:79;15832:7;-1:-1:-1;;;;;15824:15:0;:4;-1:-1:-1;;;;;15824:15:0;;;:32;;;;-1:-1:-1;10595:7:0;10622:6;-1:-1:-1;;;;;15843:13:0;;;10622:6;;15843:13;;15824:32;15820:1179;;;-1:-1:-1;;;;;15882:10:0;;;;;;:4;:10;;;;;;;;15881:11;:24;;;;-1:-1:-1;;;;;;15897:8:0;;;;;;:4;:8;;;;;;;;15896:9;15881:24;15873:33;;;;;;15933:13;;-1:-1:-1;;;;;15925:21:0;;;15933:13;;15925:21;:55;;;;-1:-1:-1;15964:15:0;;-1:-1:-1;;;;;15950:30:0;;;15964:15;;15950:30;;15925:55;:83;;;;-1:-1:-1;;;;;;15986:22:0;;;;;;:18;:22;;;;;;;;15984:24;15925:83;:102;;;;-1:-1:-1;16012:15:0;;-1:-1:-1;;;16012:15:0;;;;15925:102;15921:452;;;16095:12;;16085:6;:22;;16077:60;;;;-1:-1:-1;;;16077:60:0;;10264:2:1;16077:60:0;;;10246:21:1;10303:2;10283:18;;;10276:30;10342:27;10322:18;;;10315:55;10387:18;;16077:60:0;10062:349:1;16077:60:0;16190:14;;16180:6;16164:13;16174:2;16164:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;16156:79;;;;-1:-1:-1;;;16156:79:0;;10751:2:1;16156:79:0;;;10733:21:1;10790:2;10770:18;;;10763:30;10829:28;10809:18;;;10802:56;10875:18;;16156:79:0;10549:350:1;16156:79:0;-1:-1:-1;;;;;16262:12:0;;;;;;:8;:12;;;;;;16277:15;-1:-1:-1;16254:39:0;;;;;;16327:30;:15;16346:10;16327:30;:::i;:::-;-1:-1:-1;;;;;16312:12:0;;;;;;:8;:12;;;;;:45;15921:452;16425:13;;-1:-1:-1;;;;;16419:19:0;;;16425:13;;16419:19;:55;;;;-1:-1:-1;16458:15:0;;-1:-1:-1;;;;;16442:32:0;;;16458:15;;16442:32;;16419:55;:85;;;;-1:-1:-1;;;;;;16480:24:0;;;;;;:18;:24;;;;;;;;16478:26;16419:85;16415:171;;;16537:1;16525:9;:13;16569:1;16557:9;:13;16415:171;16600:28;16631:24;16649:4;16631:9;:24::i;:::-;16675:6;;16600:55;;-1:-1:-1;;;;16675:6:0;;;;16674:7;:32;;;;-1:-1:-1;16693:13:0;;-1:-1:-1;;;;;16685:21:0;;;16693:13;;16685:21;;16674:32;:47;;;;-1:-1:-1;16710:11:0;;-1:-1:-1;;;16710:11:0;;;;16674:47;16670:318;;;16742:38;16759:20;16742:16;:38::i;:::-;16828:21;16871:22;;16868:105;;16918:35;16931:21;16918:12;:35::i;:::-;16723:265;16670:318;15858:1141;15820:1179;17013:30;17028:4;17033:2;17036:6;17013:14;:30::i;:::-;15463:1588;;;:::o;9412:190::-;9498:7;9534:12;9526:6;;;;9518:29;;;;-1:-1:-1;;;9518:29:0;;;;;;;;:::i;:::-;-1:-1:-1;9558:9:0;9570:5;9574:1;9570;:5;:::i;:::-;9558:17;9412:190;-1:-1:-1;;;;;9412:190:0:o;9610:246::-;9668:7;9692:1;9697;9692:6;9688:47;;-1:-1:-1;9722:1:0;9715:8;;9688:47;9745:9;9757:5;9761:1;9757;:5;:::i;:::-;9745:17;-1:-1:-1;9790:1:0;9781:5;9785:1;9745:17;9781:5;:::i;:::-;:10;9773:56;;;;-1:-1:-1;;;9773:56:0;;11631:2:1;9773:56:0;;;11613:21:1;11670:2;11650:18;;;11643:30;11709:34;11689:18;;;11682:62;-1:-1:-1;;;11760:18:1;;;11753:31;11801:19;;9773:56:0;11429:397:1;9773:56:0;9847:1;9610:246;-1:-1:-1;;;9610:246:0:o;9864:132::-;9922:7;9949:39;9953:1;9956;9949:39;;;;;;;;;;;;;;;;;:3;:39::i;18030:96::-;18087:14;;:31;;-1:-1:-1;;;;;18087:14:0;;;;:31;;;;;18111:6;;18087:14;:31;:14;:31;18111:6;18087:14;:31;;;;;;;;;;;;;;;;;;;14858:254;14925:7;14964;;14953;:18;;14945:73;;;;-1:-1:-1;;;14945:73:0;;12033:2:1;14945:73:0;;;12015:21:1;12072:2;12052:18;;;12045:30;12111:34;12091:18;;;12084:62;-1:-1:-1;;;12162:18:1;;;12155:40;12212:19;;14945:73:0;11831:406:1;14945:73:0;15029:19;15052:10;:8;:10::i;:::-;15029:33;-1:-1:-1;15080:24:0;:7;15029:33;15080:11;:24::i;17059:483::-;12980:6;:13;;-1:-1:-1;;;;12980:13:0;-1:-1:-1;;;12980:13:0;;;17161:16:::1;::::0;;17175:1:::1;17161:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17161:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17161:16:0::1;17137:40;;17206:4;17188;17193:1;17188:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17188:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17232:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;17232:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;17188:7;;17232:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17222:4;17227:1;17222:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17222:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;17297:15:::1;::::0;17265:62:::1;::::0;17282:4:::1;::::0;17297:15:::1;17315:11:::0;17265:8:::1;:62::i;:::-;17338:15;::::0;:196:::1;::::0;-1:-1:-1;;;17338:196:0;;-1:-1:-1;;;;;17338:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;17419:11;;17338:15:::1;::::0;17461:4;;17488::::1;::::0;17508:15:::1;::::0;17338:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;13016:6:0;:14;;-1:-1:-1;;;;13016:14:0;;;-1:-1:-1;;;;17059:483:0:o;19302:146::-;19396:44;19414:6;19422:9;19433:6;19396:17;:44::i;10004:189::-;10090:7;10125:12;10118:5;10110:28;;;;-1:-1:-1;;;10110:28:0;;;;;;;;:::i;:::-;-1:-1:-1;10149:9:0;10161:5;10165:1;10161;:5;:::i;22033:163::-;22074:7;22095:15;22112;22131:19;:17;:19::i;:::-;22094:56;;-1:-1:-1;22094:56:0;-1:-1:-1;22168:20:0;22094:56;;22168:11;:20::i;:::-;22161:27;;;;22033:163;:::o;19456:488::-;19555:15;19572:23;19597:12;19611:23;19636:12;19650:13;19667:19;19678:7;19667:10;:19::i;:::-;-1:-1:-1;;;;;19715:15:0;;;;;;:7;:15;;;;;;19554:132;;-1:-1:-1;19554:132:0;;-1:-1:-1;19554:132:0;;-1:-1:-1;19554:132:0;-1:-1:-1;19554:132:0;-1:-1:-1;19554:132:0;-1:-1:-1;19715:28:0;;19554:132;19715:19;:28::i;:::-;-1:-1:-1;;;;;19697:15:0;;;;;;;:7;:15;;;;;;:46;;;;19775:18;;;;;;;:39;;19798:15;19775:22;:39::i;:::-;-1:-1:-1;;;;;19754:18:0;;;;;;:7;:18;;;;;:60;19826:16;19836:5;19826:9;:16::i;:::-;19853:23;19865:4;19871;19853:11;:23::i;:::-;19909:9;-1:-1:-1;;;;;19892:44:0;19901:6;-1:-1:-1;;;;;19892:44:0;;19920:15;19892:44;;;;1549:25:1;;1537:2;1522:18;;1403:177;19892:44:0;;;;;;;;19543:401;;;;;;19456:488;;;:::o;22204:262::-;22301:7;;22254;;;;12191:20;22375;22301:7;12191:20;22375:11;:20::i;:::-;22365:7;:30;22361:61;;;-1:-1:-1;;22405:7:0;;;12191:20;;-1:-1:-1;22204:262:0;-1:-1:-1;22204:262:0:o;22361:61::-;22441:7;;22450;;-1:-1:-1;22204:262:0;-1:-1:-1;22204:262:0:o;20781:471::-;20840:7;20849;20858;20867;20876;20885;20906:23;20931:12;20945:13;20962:42;20974:7;20983:9;;20994;;20962:11;:42::i;:::-;20905:99;;;;;;21015:19;21038:10;:8;:10::i;:::-;21015:33;;21060:15;21077:23;21102:12;21118:46;21130:7;21139:4;21145:5;21152:11;21118;:46::i;:::-;21059:105;;-1:-1:-1;21059:105:0;-1:-1:-1;21059:105:0;-1:-1:-1;21215:15:0;;-1:-1:-1;21232:4:0;;-1:-1:-1;21238:5:0;;-1:-1:-1;;;;;20781:471:0;;;;;;;:::o;9268:136::-;9326:7;9353:43;9357:1;9360;9353:43;;;;;;;;;;;;;;;;;:3;:43::i;9081:179::-;9139:7;;9171:5;9175:1;9171;:5;:::i;:::-;9159:17;;9200:1;9195;:6;;9187:46;;;;-1:-1:-1;;;9187:46:0;;13429:2:1;9187:46:0;;;13411:21:1;13468:2;13448:18;;;13441:30;13507:29;13487:18;;;13480:57;13554:18;;9187:46:0;13227:351:1;19952:212:0;20005:19;20028:10;:8;:10::i;:::-;20005:33;-1:-1:-1;20049:13:0;20065:22;:5;20005:33;20065:9;:22::i;:::-;20139:4;20123:22;;;;:7;:22;;;;;;20049:38;;-1:-1:-1;20123:33:0;;20049:38;20123:26;:33::i;:::-;20114:4;20098:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;19952:212:0:o;20172:147::-;20250:7;;:17;;20262:4;20250:11;:17::i;:::-;20240:7;:27;20291:10;;:20;;20306:4;20291:14;:20::i;:::-;20278:10;:33;-1:-1:-1;;20172:147:0:o;21260:351::-;21353:7;;;;21406:28;21430:3;21406:19;:7;21418:6;21406:11;:19::i;:28::-;21391:43;-1:-1:-1;21445:13:0;21461:29;21486:3;21461:20;:7;21473;21461:11;:20::i;:29::-;21445:45;-1:-1:-1;21501:23:0;21527:28;21445:45;21527:17;:7;21539:4;21527:11;:17::i;:::-;:21;;:28::i;:::-;21501:54;21591:4;;-1:-1:-1;21597:5:0;;-1:-1:-1;21260:351:0;;-1:-1:-1;;;;;21260:351:0:o;21619:409::-;21729:7;;;;21785:24;:7;21797:11;21785;:24::i;:::-;21767:42;-1:-1:-1;21820:12:0;21835:21;:4;21844:11;21835:8;:21::i;:::-;21820:36;-1:-1:-1;21867:13:0;21883:22;:5;21893:11;21883:9;:22::i;:::-;21867:38;-1:-1:-1;21916:23:0;21942:28;21867:38;21942:17;:7;21954:4;21942:11;:17::i;:28::-;21989:7;;;;-1:-1:-1;22015:4:0;;-1:-1:-1;21619:409:0;;-1:-1:-1;;;;;;;21619:409:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2046:247::-;2105:6;2158:2;2146:9;2137:7;2133:23;2129:32;2126:52;;;2174:1;2171;2164:12;2126:52;2213:9;2200:23;2232:31;2257:5;2232:31;:::i;2487:118::-;2573:5;2566:13;2559:21;2552:5;2549:32;2539:60;;2595:1;2592;2585:12;2610:241;2666:6;2719:2;2707:9;2698:7;2694:23;2690:32;2687:52;;;2735:1;2732;2725:12;2687:52;2774:9;2761:23;2793:28;2815:5;2793:28;:::i;2856:180::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;-1:-1:-1;3007:23:1;;2856:180;-1:-1:-1;2856:180:1:o;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:1121;3465:6;3496:2;3539;3527:9;3518:7;3514:23;3510:32;3507:52;;;3555:1;3552;3545:12;3507:52;3595:9;3582:23;3624:18;3665:2;3657:6;3654:14;3651:34;;;3681:1;3678;3671:12;3651:34;3719:6;3708:9;3704:22;3694:32;;3764:7;3757:4;3753:2;3749:13;3745:27;3735:55;;3786:1;3783;3776:12;3735:55;3822:2;3809:16;3844:2;3840;3837:10;3834:36;;;3850:18;;:::i;:::-;3896:2;3893:1;3889:10;3928:2;3922:9;3991:2;3987:7;3982:2;3978;3974:11;3970:25;3962:6;3958:38;4046:6;4034:10;4031:22;4026:2;4014:10;4011:18;4008:46;4005:72;;;4057:18;;:::i;:::-;4093:2;4086:22;4143:18;;;4177:15;;;;-1:-1:-1;4219:11:1;;;4215:20;;;4247:19;;;4244:39;;;4279:1;4276;4269:12;4244:39;4303:11;;;;4323:148;4339:6;4334:3;4331:15;4323:148;;;4405:23;4424:3;4405:23;:::i;:::-;4393:36;;4356:12;;;;4449;;;;4323:148;;;4490:6;3381:1121;-1:-1:-1;;;;;;;;3381:1121:1:o;4507:388::-;4575:6;4583;4636:2;4624:9;4615:7;4611:23;4607:32;4604:52;;;4652:1;4649;4642:12;4604:52;4691:9;4678:23;4710:31;4735:5;4710:31;:::i;:::-;4760:5;-1:-1:-1;4817:2:1;4802:18;;4789:32;4830:33;4789:32;4830:33;:::i;:::-;4882:7;4872:17;;;4507:388;;;;;:::o;4900:356::-;5102:2;5084:21;;;5121:18;;;5114:30;5180:34;5175:2;5160:18;;5153:62;5247:2;5232:18;;4900:356::o;5613:251::-;5683:6;5736:2;5724:9;5715:7;5711:23;5707:32;5704:52;;;5752:1;5749;5742:12;5704:52;5784:9;5778:16;5803:31;5828:5;5803:31;:::i;6790:306::-;6878:6;6886;6894;6947:2;6935:9;6926:7;6922:23;6918:32;6915:52;;;6963:1;6960;6953:12;6915:52;6992:9;6986:16;6976:26;;7042:2;7031:9;7027:18;7021:25;7011:35;;7086:2;7075:9;7071:18;7065:25;7055:35;;6790:306;;;;;:::o;7380:245::-;7447:6;7500:2;7488:9;7479:7;7475:23;7471:32;7468:52;;;7516:1;7513;7506:12;7468:52;7548:9;7542:16;7567:28;7589:5;7567:28;:::i;7630:127::-;7691:10;7686:3;7682:20;7679:1;7672:31;7722:4;7719:1;7712:15;7746:4;7743:1;7736:15;7762:127;7823:10;7818:3;7814:20;7811:1;7804:31;7854:4;7851:1;7844:15;7878:4;7875:1;7868:15;7894:135;7933:3;7954:17;;;7951:43;;7974:18;;:::i;:::-;-1:-1:-1;8021:1:1;8010:13;;7894:135::o;10416:128::-;10456:3;10487:1;10483:6;10480:1;10477:13;10474:39;;;10493:18;;:::i;:::-;-1:-1:-1;10529:9:1;;10416:128::o;10904:125::-;10944:4;10972:1;10969;10966:8;10963:34;;;10977:18;;:::i;:::-;-1:-1:-1;11014:9:1;;10904:125::o;11034:168::-;11074:7;11140:1;11136;11132:6;11128:14;11125:1;11122:21;11117:1;11110:9;11103:17;11099:45;11096:71;;;11147:18;;:::i;:::-;-1:-1:-1;11187:9:1;;11034:168::o;11207:217::-;11247:1;11273;11263:132;;11317:10;11312:3;11308:20;11305:1;11298:31;11352:4;11349:1;11342:15;11380:4;11377:1;11370:15;11263:132;-1:-1:-1;11409:9:1;;11207:217::o;12242:980::-;12504:4;12552:3;12541:9;12537:19;12583:6;12572:9;12565:25;12609:2;12647:6;12642:2;12631:9;12627:18;12620:34;12690:3;12685:2;12674:9;12670:18;12663:31;12714:6;12749;12743:13;12780:6;12772;12765:22;12818:3;12807:9;12803:19;12796:26;;12857:2;12849:6;12845:15;12831:29;;12878:1;12888:195;12902:6;12899:1;12896:13;12888:195;;;12967:13;;-1:-1:-1;;;;;12963:39:1;12951:52;;13058:15;;;;13023:12;;;;12999:1;12917:9;12888:195;;;-1:-1:-1;;;;;;;13139:32:1;;;;13134:2;13119:18;;13112:60;-1:-1:-1;;;13203:3:1;13188:19;13181:35;13100:3;12242:980;-1:-1:-1;;;12242:980:1:o

Swarm Source

ipfs://2c6bbbf980b472d95848c9bedc154c26c927c702d9b4a60add07a6d40cb7edf3

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.