ETH Price: $2,657.98 (+1.21%)

Token

PAX (PAX)
 

Overview

Max Total Supply

2,000,000,000 PAX

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
14,277,244.757031079087218856 PAX

Value
$0.00
0x993116DE93Ac5183649bBbf990c142F194BA91A0
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PAX

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : PAX.sol
/*
	β–„β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„β–„β–“                           
       β–ˆβ–ˆβ–ˆβ–“β–ˆβ–ˆβ–ˆβ–ˆβ–€β–‘β–‘β–“β–‘                    β–‘β–“β–‘β–‘β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–ˆβ–ˆβ–“                          
      β–ˆβ–“β–“β–ˆβ–„β–„β–‘β–‘β–‘β–‘                 β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–“β–ˆβ–“β–ˆβ–“                         
      β–ˆβ–“β–“β–ˆβ–ˆβ–“β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ·····PAX·····β–“β–“β–ˆβ–ˆβ–ˆβ–‘β–ˆβ–“                         
      β–ˆβ–ˆβ–€β–“β–“β–ˆβ–ˆβ–ˆβ–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–“β–ˆβ–“β–“β–“β–“β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–“β–‘ β–ˆβ–ˆ                         
      β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–ˆβ–‘                                 β–ˆβ–ˆβ–€   β–ˆβ–ˆ                                              
      β–ˆβ–ˆβ–‘   β–ˆβ–“β–‘                    β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“  β–ˆβ–ˆ    β–ˆβ–ˆβ–“                        
      β–ˆβ–ˆβ–‘   β–ˆβ–“β–‘                             β–‘β–‘β–‘β–ˆβ–ˆ    β–ˆβ–ˆβ–ˆβ–‘                       
      β–ˆβ–ˆ    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–‘                                       
      β–ˆβ–ˆ    β–ˆβ–“β–‘                                β–ˆβ–ˆ  β–‘β–‘β–ˆβ–‘ β–ˆβ–“                      
      β–ˆβ–ˆ    β–ˆβ–“β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–‘                      
      β–ˆβ–ˆ    β–ˆβ–“β–‘Website.....: pax-token.tech    β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–ˆβ–„                     
      β–ˆβ–ˆ    β–ˆβ–“β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–€β–ˆβ–ˆ                    
      β–ˆβ–ˆ    β–ˆβ–“β–‘Telegram....: t.me/pax_portal   β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–‘ β–ˆβ–ˆ                   
      β–ˆβ–ˆ    β–ˆβ–“β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–‘ β–ˆβ–ˆ                   
      β–ˆβ–ˆ    β–ˆβ–“β–‘Twitter.....: x.com/PAX_ERC     β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–“ β–“β–ˆβ–“                  
  β–„β–“β–ˆβ–ˆβ–ˆβ–ˆ    β–ˆβ–“β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–‘ β–ˆβ–“ β–‘β–ˆβ–ˆ                  
 β–„β–ˆβ–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–“β–‘Git.....: github.com/PAX-TOKEN  β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘ β–“β–ˆβ–“                 
 β–“β–ˆβ–‘β–‘ β–ˆβ–ˆ    β–ˆβ–“β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘ β–‘β–ˆβ–ˆ                 
 β–“β–ˆβ–“β–‘ β–ˆβ–ˆ    β–ˆβ–“β–‘Medium.: medium.com/@PAX_TOKEN  β–ˆβ–ˆ    β–ˆ  β–ˆβ–“   β–ˆβ–ˆ                 
  β–“β–ˆβ–ˆβ–“β–ˆβ–ˆ    β–ˆβ–“β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘  β–‘β–ˆβ–“                
  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ    β–ˆβ–“β–‘                                β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘β–‘ β–‘β–ˆβ–ˆ                
 β–ˆβ–ˆβ–‘β–‘ β–ˆβ–ˆ    β–ˆβ–“β–‘        β–ˆβ–€β–ˆβ€ƒ β€ƒβ–„β–€β–ˆβ€ƒ  ▀▄▀         β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘β–‘ β–‘β–“β–ˆ                
 β–ˆβ–“β–‘  β–ˆβ–ˆ    β–ˆβ–“β–‘        β–ˆβ–€β–€β€ƒ β€ƒβ–ˆβ–€β–ˆβ€ƒ β€ƒβ–ˆβ–‘β–ˆ         β–ˆβ–ˆ    β–ˆ  β–ˆβ–“β–‘  β–‘β–“β–ˆ                
  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–‘β–“β–ˆβ–“β–„β–‘β–‘β–‘β–‘                   β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆ    β–ˆ β–‘β–ˆβ–“    β–“β–ˆ                
 β–ˆβ–ˆβ–‘β–‘ β–ˆβ–ˆ  β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–ˆβ–ˆ    β–ˆ β–‘β–ˆβ–“   β–‘β–“β–ˆ                
β–ˆβ–ˆβ–‘   β–ˆβ–ˆ  β–‘β–“β–ˆβ–€                                β–€β–ˆβ–ˆ    β–ˆ β–‘β–ˆβ–“   β–‘β–“β–ˆ                
β–ˆβ–“β–‘   β–ˆβ–ˆ  β–‘β–‘β–ˆβ–“ β–„β–ˆβ–ˆβ–ˆβ–„ β–„β–ˆβ–ˆβ–ˆβ–ˆ β–“β–„β–ˆβ–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–„ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–„ β–ˆβ–ˆ    β–ˆ β–‘β–ˆβ–“   β–‘β–“β–ˆ                
β–“β–ˆβ–ˆβ–„  β–ˆβ–ˆ   β–‘β–ˆβ–“ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–“β–ˆ  β–ˆβ–“ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–“β–ˆ  β–ˆβ–“ β–ˆβ–ˆ    β–ˆβ–‘β–“β–ˆβ–‘    β–“β–ˆ                
  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–‘β–ˆ  β–€β–ˆβ–ˆβ–ˆβ–“ β–“β–ˆβ–ˆβ–ˆβ–€  β–€β–ˆβ–ˆβ–ˆβ–€ β–“β–ˆβ–ˆβ–ˆβ–€ β–€β–ˆβ–ˆβ–ˆβ–ˆβ–€ β–ˆβ–ˆ    β–ˆβ–“β–ˆβ–ˆ    β–‘β–“β–ˆ                
 β–ˆβ–ˆβ–‘β–‘ β–ˆβ–ˆ   β–“β–ˆβ–ˆ                                β–“β–ˆβ–ˆ    β–ˆβ–ˆβ–ˆ    β–‘β–‘β–“β–ˆβ–‘               
 β–ˆβ–“β–‘  β–ˆβ–ˆ   β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ    β–‘β–ˆβ–ˆβ–‘    β–‘β–‘β–“β–ˆβ–‘               
 β–ˆβ–ˆβ–‘  β–ˆβ–ˆ      β–€β–€β–“β–ˆβ–ˆβ–ˆβ–ˆβ–“β–€ β–‘β–‘           β–€β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–€      β–‘β–ˆβ–“       β–€β–ˆβ–ˆ               
 β–“β–ˆβ–ˆβ–„ β–ˆβ–ˆ            β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–€           β–‘β–ˆβ–“β–‘        β–ˆβ–ˆβ–“             
   β–€β–ˆβ–ˆβ–ˆβ–ˆ                                            β–“β–ˆβ–“β–‘         β–“β–ˆβ–ˆ            
      β–ˆβ–ˆβ–‘                               β–‘β–‘β–‘         β–“β–ˆβ–“β–‘β–‘         β–€β–ˆβ–ˆβ–‘          
      β–ˆβ–ˆβ–‘                        β–ˆβ–ˆβ–‘β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ     β–“β–ˆβ–“β–‘β–‘           β–ˆβ–ˆβ–“         
      β–ˆβ–ˆβ–‘                        Tx Tax: 1.0% β–‘     β–“β–ˆβ–ˆβ–‘             β–ˆβ–ˆβ–ˆ        
      β–ˆβ–ˆβ–‘      β–‘β–‘                β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆβ–“β–ˆβ–ˆ    β–‘β–“β–ˆβ–ˆβ–“              β–“β–ˆβ–ˆ       
      β–ˆβ–ˆβ–‘    β–‘                   Tx Limit 1.0 %   β–‘β–“β–ˆβ–ˆβ–ˆβ–ˆ              β–€β–ˆβ–ˆβ–‘     
      β–ˆβ–ˆβ–‘                        β–ˆβ–ˆ β–ˆβ–ˆβ–“β–ˆβ–ˆβ–“β–ˆβ–ˆβ–“β–ˆβ–ˆ    β–‘β–ˆβ–ˆ  β–ˆβ–ˆ β–‘      β–‘     β–‘β–ˆβ–ˆβ–“    
      β–“β–ˆβ–‘             β–‘β–‘β–‘                         β–‘β–‘β–ˆβ–ˆ   β–ˆβ–ˆβ–“     β–‘       β–‘β–ˆβ–ˆβ–ˆ   
      β–“β–ˆβ–“β–‘                      β–‘β–‘β–‘              β–‘β–‘β–‘β–ˆβ–ˆ    β–“β–“β–‘    β–‘β–‘β–‘      β–‘β–“β–ˆβ–ˆ  
  β–ˆ    β–ˆβ–ˆβ–“β–“β–‘β–‘β–‘β–‘β–‘   β–„β–€  β–‘β–‘β–‘β–‘    β–‘β–‘β–‘β–‘β–‘β–‘β–‘ β–‘    β–‘ β–‘β–‘β–“β–“β–ˆβ–ˆβ–“     β–‘β–„β–‘β–‘     β–‘β–‘     β–‘β–€β–ˆβ–ˆ 
  β–“  β–„  β–€β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–€β–“β–‘       β–ˆβ–“β–‘     β–‘β–‘β–‘    β–‘β–€β–ˆβ–ˆ
  β–€β–“                β–€β–“β–„    β–„         β–€β–“β–ˆβ–ˆβ–ˆβ–„β–‘β–‘β–‘β–‘β–‘             β–€β–€β–„ 
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.21;
 
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
    );
}
 
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);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
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;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

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

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

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

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

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

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract PAX is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "PAX";//
    string private constant _symbol = "PAX";//
    uint8 private constant _decimals = 18;
 
    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 _isExcludedFromTx;

    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 2_000_000_000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public percentForLPBurn = 25; // 25 = .25%
    bool public lpBurnEnabled = true;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 2;//
    uint256 private _taxFeeOnBuy = 28;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 2;//
    uint256 private _taxFeeOnSell = 28;//
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
  
    address payable private _developmentAddress = payable(0xe60A9fB415E01429987C1a75970aA21ad2c37351);
    address payable private _marketingAddress = payable(0xe60A9fB415E01429987C1a75970aA21ad2c37351);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private limitedTransfer = true;
 
    uint256 public _maxTxAmount = 20000000 * 1e18; //
    uint256 public _maxWalletSize = 20000000 * 1e18; //
    uint256 private _swapTokensAtAmount = 5000000 * 1e18; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    event AutoNukeLP();
    event ManualNukeLP();

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[address(uniswapV2Router)] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0xdead)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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 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 (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    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");
 
        if (from != owner() && to != owner()) {
            //Trade start check
            require(tradingOpen, "TOKEN: This account cannot send tokens until trading is enabled");

            if (limitedTransfer) {
                if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

                    if(to != uniswapV2Pair) {
                        require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                    }
                }
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

            if (!inSwap && to == uniswapV2Pair && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                autoBurnLiquidityPairTokens();
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }

    function removeLimits() external onlyOwner {
        limitedTransfer = false;
    }
 
    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 {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function enableTrading() public onlyOwner {
        if (!tradingOpen) {
            tradingOpen = true;
            swapEnabled = true;
            lastLpBurnTime = block.timestamp;
        }
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) 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 _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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).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);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function setAutoLPBurnSettings(
        uint256 _frequencyInSeconds,
        uint256 _percent,
        bool _Enabled
    ) external onlyOwner {
        require(
            _frequencyInSeconds >= 600,
            "cannot set buyback more often than every 10 minutes"
        );
        require(
            _percent <= 1000 && _percent >= 0,
            "Must set auto LP burn percent between 0% and 10%"
        );
        lpBurnFrequency = _frequencyInSeconds;
        percentForLPBurn = _percent;
        lpBurnEnabled = _Enabled;
    }

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percentForLPBurn).div(
            10000
        );

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            _transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit AutoNukeLP();
        return true;
    }

    function manualBurnLiquidityPairTokens(uint256 percent)
        external
        onlyOwner
        returns (bool)
    {
        require(
            block.timestamp > lastManualLpBurnTime + manualBurnFrequency,
            "Must wait for cooldown to finish"
        );
        require(percent <= 1000, "May not nuke more than 10% of tokens in LP");
        lastManualLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percent).div(10000);

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            _transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit ManualNukeLP();
        return true;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[],"name":"ManualNukeLP","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualBurnLiquidityPairTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_frequencyInSeconds","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"},{"internalType":"bool","name":"_Enabled","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

60806040526b06765c793fa10079d00000005f196200001f91906200080d565b5f196200002d919062000871565b60075560196009556001600a5f6101000a81548160ff021916908315150217905550610e10600b55610708600d556002600f55601c6010556002601155601c60125560115460135560125460145560135460155560145460165573e60a9fb415e01429987c1a75970aa21ad2c3735160175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e60a9fb415e01429987c1a75970aa21ad2c3735160185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601a60156101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff0219169083151502179055506001601a60176101000a81548160ff0219169083151502179055506a108b2a2c28029094000000601b556a108b2a2c28029094000000601c556a0422ca8b0a00a425000000601d55348015620001b8575f80fd5b505f620001ca620007a960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460025f6200027c620007a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000381919062000910565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200040d919062000910565b6040518363ffffffff1660e01b81526004016200042c92919062000951565b6020604051808303815f875af115801562000449573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200046f919062000910565b601a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160055f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f62000539620007b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000730620007a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b06765c793fa10079d00000006040516200079a91906200098d565b60405180910390a350620009a8565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200081982620007d7565b91506200082683620007d7565b925082620008395762000838620007e0565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200087d82620007d7565b91506200088a83620007d7565b9250828203905081811115620008a557620008a462000844565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008da82620008af565b9050919050565b620008ec81620008ce565b8114620008f7575f80fd5b50565b5f815190506200090a81620008e1565b92915050565b5f60208284031215620009285762000927620008ab565b5b5f6200093784828501620008fa565b91505092915050565b6200094b81620008ce565b82525050565b5f604082019050620009665f83018562000940565b62000975602083018462000940565b9392505050565b6200098781620007d7565b82525050565b5f602082019050620009a25f8301846200097c565b92915050565b6143fb80620009b65f395ff3fe608060405260043610610207575f3560e01c8063751039fc11610117578063a4c82a001161009f578063dd62ed3e1161006e578063dd62ed3e146106d6578063ea1644d514610712578063f2fde38b1461073a578063fe72b27a14610762578063ffb54a991461079e5761020e565b8063a4c82a0014610632578063a9059cbb1461065c578063c3c8cd8014610698578063c492f046146106ae5761020e565b80638f9a55c0116100e65780638f9a55c01461056457806395d89b411461058e57806398a5c315146105b85780639ec22c0e146105e0578063a2a957bb1461060a5761020e565b8063751039fc146104e45780637d1db4a5146104fa5780638a8c523c146105245780638da5cb5b1461053a5761020e565b80632e82f1a01161019a5780636fc3eaec116101695780636fc3eaec1461042c57806370a0823114610442578063715018a61461047e578063730c18881461049457806374010ece146104bc5761020e565b80632e82f1a014610386578063313ce567146103b057806349bd5a5e146103da5780636d8aa8f8146104045761020e565b8063184c16c5116101d6578063184c16c5146102cc578063199ffc72146102f657806323b872dd146103205780632c3e486c1461035c5761020e565b806306fdde0314610212578063095ea7b31461023c5780631694505e1461027857806318160ddd146102a25761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107c8565b6040516102339190613266565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d919061331b565b610805565b60405161026f9190613373565b60405180910390f35b348015610283575f80fd5b5061028c610822565b60405161029991906133e7565b60405180910390f35b3480156102ad575f80fd5b506102b6610847565b6040516102c3919061340f565b60405180910390f35b3480156102d7575f80fd5b506102e061085a565b6040516102ed919061340f565b60405180910390f35b348015610301575f80fd5b5061030a610860565b604051610317919061340f565b60405180910390f35b34801561032b575f80fd5b5061034660048036038101906103419190613428565b610866565b6040516103539190613373565b60405180910390f35b348015610367575f80fd5b5061037061093a565b60405161037d919061340f565b60405180910390f35b348015610391575f80fd5b5061039a610940565b6040516103a79190613373565b60405180910390f35b3480156103bb575f80fd5b506103c4610952565b6040516103d19190613493565b60405180910390f35b3480156103e5575f80fd5b506103ee61095a565b6040516103fb91906134bb565b60405180910390f35b34801561040f575f80fd5b5061042a600480360381019061042591906134fe565b61097f565b005b348015610437575f80fd5b50610440610a30565b005b34801561044d575f80fd5b5061046860048036038101906104639190613529565b610afd565b604051610475919061340f565b60405180910390f35b348015610489575f80fd5b50610492610b4b565b005b34801561049f575f80fd5b506104ba60048036038101906104b59190613554565b610c99565b005b3480156104c7575f80fd5b506104e260048036038101906104dd91906135a4565b610def565b005b3480156104ef575f80fd5b506104f8610e8d565b005b348015610505575f80fd5b5061050e610f3d565b60405161051b919061340f565b60405180910390f35b34801561052f575f80fd5b50610538610f43565b005b348015610545575f80fd5b5061054e61102b565b60405161055b91906134bb565b60405180910390f35b34801561056f575f80fd5b50610578611052565b604051610585919061340f565b60405180910390f35b348015610599575f80fd5b506105a2611058565b6040516105af9190613266565b60405180910390f35b3480156105c3575f80fd5b506105de60048036038101906105d991906135a4565b611095565b005b3480156105eb575f80fd5b506105f4611133565b604051610601919061340f565b60405180910390f35b348015610615575f80fd5b50610630600480360381019061062b91906135cf565b611139565b005b34801561063d575f80fd5b506106466111ef565b604051610653919061340f565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d919061331b565b6111f5565b60405161068f9190613373565b60405180910390f35b3480156106a3575f80fd5b506106ac611212565b005b3480156106b9575f80fd5b506106d460048036038101906106cf9190613694565b6112e7565b005b3480156106e1575f80fd5b506106fc60048036038101906106f791906136f1565b61141c565b604051610709919061340f565b60405180910390f35b34801561071d575f80fd5b50610738600480360381019061073391906135a4565b61149e565b005b348015610745575f80fd5b50610760600480360381019061075b9190613529565b61153c565b005b34801561076d575f80fd5b50610788600480360381019061078391906135a4565b6116f9565b6040516107959190613373565b60405180910390f35b3480156107a9575f80fd5b506107b26119e0565b6040516107bf9190613373565b60405180910390f35b60606040518060400160405280600381526020017f5041580000000000000000000000000000000000000000000000000000000000815250905090565b5f6108186108116119f3565b84846119fa565b6001905092915050565b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6b06765c793fa10079d0000000905090565b600d5481565b60095481565b5f610872848484611bbd565b61092f8461087e6119f3565b61092a8560405180606001604052806028815260200161439e6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108e16119f3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124fa9092919063ffffffff16565b6119fa565b600190509392505050565b600b5481565b600a5f9054906101000a900460ff1681565b5f6012905090565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109876119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0a90613779565b60405180910390fd5b80601a60166101000a81548160ff02191690831515021790555050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a706119f3565b73ffffffffffffffffffffffffffffffffffffffff161480610ae5575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610acd6119f3565b73ffffffffffffffffffffffffffffffffffffffff16145b610aed575f80fd5b5f479050610afa8161255c565b50565b5f610b4460025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461264f565b9050919050565b610b536119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd690613779565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ca16119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2490613779565b60405180910390fd5b610258831015610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990613807565b60405180910390fd5b6103e88211158015610d8457505f8210155b610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba90613895565b60405180910390fd5b82600b819055508160098190555080600a5f6101000a81548160ff021916908315150217905550505050565b610df76119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a90613779565b60405180910390fd5b80601b8190555050565b610e956119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890613779565b60405180910390fd5b5f601a60176101000a81548160ff021916908315150217905550565b601b5481565b610f4b6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90613779565b60405180910390fd5b601a60149054906101000a900460ff16611029576001601a60146101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff02191690831515021790555042600c819055505b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601c5481565b60606040518060400160405280600381526020017f5041580000000000000000000000000000000000000000000000000000000000815250905090565b61109d6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090613779565b60405180910390fd5b80601d8190555050565b600e5481565b6111416119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490613779565b60405180910390fd5b83600f8190555082601181905550816010819055508060128190555050505050565b600c5481565b5f6112086112016119f3565b8484611bbd565b6001905092915050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112526119f3565b73ffffffffffffffffffffffffffffffffffffffff1614806112c7575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112af6119f3565b73ffffffffffffffffffffffffffffffffffffffff16145b6112cf575f80fd5b5f6112d930610afd565b90506112e4816126bb565b50565b6112ef6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290613779565b60405180910390fd5b5f5b83839050811015611416578160055f86868581811061139f5761139e6138b3565b5b90506020020160208101906113b49190613529565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061140e9061390d565b91505061137d565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114a66119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152990613779565b60405180910390fd5b80601c8190555050565b6115446119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790613779565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611635906139c4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6117026119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590613779565b60405180910390fd5b600d54600e5461179e91906139e2565b42116117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613a5f565b60405180910390fd5b6103e8821115611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90613aed565b60405180910390fd5b42600e819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a08231601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161188691906134bb565b602060405180830381865afa1580156118a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118c59190613b1f565b90505f6118ef6127106118e1868561292690919063ffffffff16565b61299d90919063ffffffff16565b90505f81111561192857611927601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83611bbd565b5b5f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611992575f80fd5b505af11580156119a4573d5f803e3d5ffd5b505050507f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb60405160405180910390a160019350505050919050565b601a60149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5f90613bba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acd90613c48565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bb0919061340f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2290613cd6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9090613d64565b60405180910390fd5b5f8111611cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd290613df2565b60405180910390fd5b611ce361102b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d515750611d2161102b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561220757601a60149054906101000a900460ff16611da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9c90613e80565b60405180910390fd5b601a60179054906101000a900460ff1615611f505760055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611e58575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f4f57601b54811115611ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9990613ee8565b60405180910390fd5b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611f4e57601c5481611f0384610afd565b611f0d91906139e2565b10611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490613f76565b60405180910390fd5b5b5b5b5f611f5a30610afd565b90505f601d548210159050601b548210611f7457601b5491505b808015611f8e5750601a60159054906101000a900460ff16155b8015611fe75750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611fff5750601a60169054906101000a900460ff165b8015612052575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120a5575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120cb576120b3826126bb565b5f4790505f8111156120c9576120c84761255c565b5b505b601a60159054906101000a900460ff161580156121345750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561214f5750600b54600c5461214b91906139e2565b4210155b80156121a2575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156121f5575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612204576122026129e6565b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806122a7575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123585750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123575750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612365575f90506124e8565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240e575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242657600f546013819055506010546014819055505b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124cf575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e7576011546013819055506012546014819055505b5b6124f484848484612ba3565b50505050565b5f838311158290612541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125389190613266565b60405180910390fd5b505f838561254f9190613f94565b9050809150509392505050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6125ab60028461299d90919063ffffffff16565b90811502906040515f60405180830381858888f193505050501580156125d3573d5f803e3d5ffd5b5060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61262360028461299d90919063ffffffff16565b90811502906040515f60405180830381858888f1935050505015801561264b573d5f803e3d5ffd5b5050565b5f600754821115612695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268c90614037565b60405180910390fd5b5f61269e612bd0565b90506126b3818461299d90919063ffffffff16565b915050919050565b6001601a60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156126f2576126f1614055565b5b6040519080825280602002602001820160405280156127205781602001602082028036833780820191505090505b50905030815f81518110612737576127366138b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ff9190614096565b81600181518110612813576128126138b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128793060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119fa565b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128db9594939291906141b1565b5f604051808303815f87803b1580156128f2575f80fd5b505af1158015612904573d5f803e3d5ffd5b50505050505f601a60156101000a81548160ff02191690831515021790555050565b5f808303612936575f9050612997565b5f82846129439190614209565b90508284826129529190614277565b14612992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298990614317565b60405180910390fd5b809150505b92915050565b5f6129de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bf9565b905092915050565b5f42600c819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a08231601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401612a4991906134bb565b602060405180830381865afa158015612a64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a889190613b1f565b90505f612ab4612710612aa66009548561292690919063ffffffff16565b61299d90919063ffffffff16565b90505f811115612aed57612aec601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83611bbd565b5b5f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612b57575f80fd5b505af1158015612b69573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b80612bb157612bb0612c5a565b5b612bbc848484612c93565b80612bca57612bc9612e53565b5b50505050565b5f805f612bdb612e67565b91509150612bf2818361299d90919063ffffffff16565b9250505090565b5f8083118290612c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c369190613266565b60405180910390fd5b505f8385612c4d9190614277565b9050809150509392505050565b5f601354148015612c6c57505f601454145b612c91576013546015819055506014546016819055505f6013819055505f6014819055505b565b5f805f805f80612ca287612ecf565b955095509550955095509550612cfe8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f2f90919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d8f8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f7890919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612dd981612fd5565b612de3848361308c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e40919061340f565b60405180910390a3505050505050505050565b601554601381905550601654601481905550565b5f805f60075490505f6b06765c793fa10079d00000009050612ea06b06765c793fa10079d000000060075461299d90919063ffffffff16565b821015612ec2576007546b06765c793fa10079d0000000935093505050612ecb565b81819350935050505b9091565b5f805f805f805f805f612ee78a6013546014546130c6565b9250925092505f612ef6612bd0565b90505f805f612f078e878787613158565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612f7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124fa565b905092915050565b5f808284612f8691906139e2565b905083811015612fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc29061437f565b60405180910390fd5b8091505092915050565b5f612fde612bd0565b90505f612ff4828461292690919063ffffffff16565b90506130468160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f7890919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6130a182600754612f2f90919063ffffffff16565b6007819055506130bc81600854612f7890919063ffffffff16565b6008819055505050565b5f805f806130f060646130e2888a61292690919063ffffffff16565b61299d90919063ffffffff16565b90505f613119606461310b888b61292690919063ffffffff16565b61299d90919063ffffffff16565b90505f61314182613133858c612f2f90919063ffffffff16565b612f2f90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f8061316f858961292690919063ffffffff16565b90505f613185868961292690919063ffffffff16565b90505f61319b878961292690919063ffffffff16565b90505f6131c3826131b58587612f2f90919063ffffffff16565b612f2f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132135780820151818401526020810190506131f8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613238826131dc565b61324281856131e6565b93506132528185602086016131f6565b61325b8161321e565b840191505092915050565b5f6020820190508181035f83015261327e818461322e565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132b78261328e565b9050919050565b6132c7816132ad565b81146132d1575f80fd5b50565b5f813590506132e2816132be565b92915050565b5f819050919050565b6132fa816132e8565b8114613304575f80fd5b50565b5f81359050613315816132f1565b92915050565b5f806040838503121561333157613330613286565b5b5f61333e858286016132d4565b925050602061334f85828601613307565b9150509250929050565b5f8115159050919050565b61336d81613359565b82525050565b5f6020820190506133865f830184613364565b92915050565b5f819050919050565b5f6133af6133aa6133a58461328e565b61338c565b61328e565b9050919050565b5f6133c082613395565b9050919050565b5f6133d1826133b6565b9050919050565b6133e1816133c7565b82525050565b5f6020820190506133fa5f8301846133d8565b92915050565b613409816132e8565b82525050565b5f6020820190506134225f830184613400565b92915050565b5f805f6060848603121561343f5761343e613286565b5b5f61344c868287016132d4565b935050602061345d868287016132d4565b925050604061346e86828701613307565b9150509250925092565b5f60ff82169050919050565b61348d81613478565b82525050565b5f6020820190506134a65f830184613484565b92915050565b6134b5816132ad565b82525050565b5f6020820190506134ce5f8301846134ac565b92915050565b6134dd81613359565b81146134e7575f80fd5b50565b5f813590506134f8816134d4565b92915050565b5f6020828403121561351357613512613286565b5b5f613520848285016134ea565b91505092915050565b5f6020828403121561353e5761353d613286565b5b5f61354b848285016132d4565b91505092915050565b5f805f6060848603121561356b5761356a613286565b5b5f61357886828701613307565b935050602061358986828701613307565b925050604061359a868287016134ea565b9150509250925092565b5f602082840312156135b9576135b8613286565b5b5f6135c684828501613307565b91505092915050565b5f805f80608085870312156135e7576135e6613286565b5b5f6135f487828801613307565b945050602061360587828801613307565b935050604061361687828801613307565b925050606061362787828801613307565b91505092959194509250565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261365457613653613633565b5b8235905067ffffffffffffffff81111561367157613670613637565b5b60208301915083602082028301111561368d5761368c61363b565b5b9250929050565b5f805f604084860312156136ab576136aa613286565b5b5f84013567ffffffffffffffff8111156136c8576136c761328a565b5b6136d48682870161363f565b935093505060206136e7868287016134ea565b9150509250925092565b5f806040838503121561370757613706613286565b5b5f613714858286016132d4565b9250506020613725858286016132d4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137636020836131e6565b915061376e8261372f565b602082019050919050565b5f6020820190508181035f83015261379081613757565b9050919050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e2074685f8201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b5f6137f16033836131e6565b91506137fc82613797565b604082019050919050565b5f6020820190508181035f83015261381e816137e5565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e742062655f8201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b5f61387f6030836131e6565b915061388a82613825565b604082019050919050565b5f6020820190508181035f8301526138ac81613873565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613917826132e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613949576139486138e0565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139ae6026836131e6565b91506139b982613954565b604082019050919050565b5f6020820190508181035f8301526139db816139a2565b9050919050565b5f6139ec826132e8565b91506139f7836132e8565b9250828201905080821115613a0f57613a0e6138e0565b5b92915050565b7f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973685f82015250565b5f613a496020836131e6565b9150613a5482613a15565b602082019050919050565b5f6020820190508181035f830152613a7681613a3d565b9050919050565b7f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f5f8201527f6b656e7320696e204c5000000000000000000000000000000000000000000000602082015250565b5f613ad7602a836131e6565b9150613ae282613a7d565b604082019050919050565b5f6020820190508181035f830152613b0481613acb565b9050919050565b5f81519050613b19816132f1565b92915050565b5f60208284031215613b3457613b33613286565b5b5f613b4184828501613b0b565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ba46024836131e6565b9150613baf82613b4a565b604082019050919050565b5f6020820190508181035f830152613bd181613b98565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c326022836131e6565b9150613c3d82613bd8565b604082019050919050565b5f6020820190508181035f830152613c5f81613c26565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613cc06025836131e6565b9150613ccb82613c66565b604082019050919050565b5f6020820190508181035f830152613ced81613cb4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613d4e6023836131e6565b9150613d5982613cf4565b604082019050919050565b5f6020820190508181035f830152613d7b81613d42565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613ddc6029836131e6565b9150613de782613d82565b604082019050919050565b5f6020820190508181035f830152613e0981613dd0565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613e6a603f836131e6565b9150613e7582613e10565b604082019050919050565b5f6020820190508181035f830152613e9781613e5e565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613ed2601c836131e6565b9150613edd82613e9e565b602082019050919050565b5f6020820190508181035f830152613eff81613ec6565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613f606023836131e6565b9150613f6b82613f06565b604082019050919050565b5f6020820190508181035f830152613f8d81613f54565b9050919050565b5f613f9e826132e8565b9150613fa9836132e8565b9250828203905081811115613fc157613fc06138e0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f614021602a836131e6565b915061402c82613fc7565b604082019050919050565b5f6020820190508181035f83015261404e81614015565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614090816132be565b92915050565b5f602082840312156140ab576140aa613286565b5b5f6140b884828501614082565b91505092915050565b5f819050919050565b5f6140e46140df6140da846140c1565b61338c565b6132e8565b9050919050565b6140f4816140ca565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61412c816132ad565b82525050565b5f61413d8383614123565b60208301905092915050565b5f602082019050919050565b5f61415f826140fa565b6141698185614104565b935061417483614114565b805f5b838110156141a457815161418b8882614132565b975061419683614149565b925050600181019050614177565b5085935050505092915050565b5f60a0820190506141c45f830188613400565b6141d160208301876140eb565b81810360408301526141e38186614155565b90506141f260608301856134ac565b6141ff6080830184613400565b9695505050505050565b5f614213826132e8565b915061421e836132e8565b925082820261422c816132e8565b91508282048414831517614243576142426138e0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614281826132e8565b915061428c836132e8565b92508261429c5761429b61424a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6143016021836131e6565b915061430c826142a7565b604082019050919050565b5f6020820190508181035f83015261432e816142f5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614369601b836131e6565b915061437482614335565b602082019050919050565b5f6020820190508181035f8301526143968161435d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017c0f1a792d8aad7b5027a5d5bb1dedf98534e70ad01ee55b23a5d3faf6784ea64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610207575f3560e01c8063751039fc11610117578063a4c82a001161009f578063dd62ed3e1161006e578063dd62ed3e146106d6578063ea1644d514610712578063f2fde38b1461073a578063fe72b27a14610762578063ffb54a991461079e5761020e565b8063a4c82a0014610632578063a9059cbb1461065c578063c3c8cd8014610698578063c492f046146106ae5761020e565b80638f9a55c0116100e65780638f9a55c01461056457806395d89b411461058e57806398a5c315146105b85780639ec22c0e146105e0578063a2a957bb1461060a5761020e565b8063751039fc146104e45780637d1db4a5146104fa5780638a8c523c146105245780638da5cb5b1461053a5761020e565b80632e82f1a01161019a5780636fc3eaec116101695780636fc3eaec1461042c57806370a0823114610442578063715018a61461047e578063730c18881461049457806374010ece146104bc5761020e565b80632e82f1a014610386578063313ce567146103b057806349bd5a5e146103da5780636d8aa8f8146104045761020e565b8063184c16c5116101d6578063184c16c5146102cc578063199ffc72146102f657806323b872dd146103205780632c3e486c1461035c5761020e565b806306fdde0314610212578063095ea7b31461023c5780631694505e1461027857806318160ddd146102a25761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107c8565b6040516102339190613266565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d919061331b565b610805565b60405161026f9190613373565b60405180910390f35b348015610283575f80fd5b5061028c610822565b60405161029991906133e7565b60405180910390f35b3480156102ad575f80fd5b506102b6610847565b6040516102c3919061340f565b60405180910390f35b3480156102d7575f80fd5b506102e061085a565b6040516102ed919061340f565b60405180910390f35b348015610301575f80fd5b5061030a610860565b604051610317919061340f565b60405180910390f35b34801561032b575f80fd5b5061034660048036038101906103419190613428565b610866565b6040516103539190613373565b60405180910390f35b348015610367575f80fd5b5061037061093a565b60405161037d919061340f565b60405180910390f35b348015610391575f80fd5b5061039a610940565b6040516103a79190613373565b60405180910390f35b3480156103bb575f80fd5b506103c4610952565b6040516103d19190613493565b60405180910390f35b3480156103e5575f80fd5b506103ee61095a565b6040516103fb91906134bb565b60405180910390f35b34801561040f575f80fd5b5061042a600480360381019061042591906134fe565b61097f565b005b348015610437575f80fd5b50610440610a30565b005b34801561044d575f80fd5b5061046860048036038101906104639190613529565b610afd565b604051610475919061340f565b60405180910390f35b348015610489575f80fd5b50610492610b4b565b005b34801561049f575f80fd5b506104ba60048036038101906104b59190613554565b610c99565b005b3480156104c7575f80fd5b506104e260048036038101906104dd91906135a4565b610def565b005b3480156104ef575f80fd5b506104f8610e8d565b005b348015610505575f80fd5b5061050e610f3d565b60405161051b919061340f565b60405180910390f35b34801561052f575f80fd5b50610538610f43565b005b348015610545575f80fd5b5061054e61102b565b60405161055b91906134bb565b60405180910390f35b34801561056f575f80fd5b50610578611052565b604051610585919061340f565b60405180910390f35b348015610599575f80fd5b506105a2611058565b6040516105af9190613266565b60405180910390f35b3480156105c3575f80fd5b506105de60048036038101906105d991906135a4565b611095565b005b3480156105eb575f80fd5b506105f4611133565b604051610601919061340f565b60405180910390f35b348015610615575f80fd5b50610630600480360381019061062b91906135cf565b611139565b005b34801561063d575f80fd5b506106466111ef565b604051610653919061340f565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d919061331b565b6111f5565b60405161068f9190613373565b60405180910390f35b3480156106a3575f80fd5b506106ac611212565b005b3480156106b9575f80fd5b506106d460048036038101906106cf9190613694565b6112e7565b005b3480156106e1575f80fd5b506106fc60048036038101906106f791906136f1565b61141c565b604051610709919061340f565b60405180910390f35b34801561071d575f80fd5b50610738600480360381019061073391906135a4565b61149e565b005b348015610745575f80fd5b50610760600480360381019061075b9190613529565b61153c565b005b34801561076d575f80fd5b50610788600480360381019061078391906135a4565b6116f9565b6040516107959190613373565b60405180910390f35b3480156107a9575f80fd5b506107b26119e0565b6040516107bf9190613373565b60405180910390f35b60606040518060400160405280600381526020017f5041580000000000000000000000000000000000000000000000000000000000815250905090565b5f6108186108116119f3565b84846119fa565b6001905092915050565b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6b06765c793fa10079d0000000905090565b600d5481565b60095481565b5f610872848484611bbd565b61092f8461087e6119f3565b61092a8560405180606001604052806028815260200161439e6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108e16119f3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124fa9092919063ffffffff16565b6119fa565b600190509392505050565b600b5481565b600a5f9054906101000a900460ff1681565b5f6012905090565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109876119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0a90613779565b60405180910390fd5b80601a60166101000a81548160ff02191690831515021790555050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a706119f3565b73ffffffffffffffffffffffffffffffffffffffff161480610ae5575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610acd6119f3565b73ffffffffffffffffffffffffffffffffffffffff16145b610aed575f80fd5b5f479050610afa8161255c565b50565b5f610b4460025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461264f565b9050919050565b610b536119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd690613779565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ca16119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2490613779565b60405180910390fd5b610258831015610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990613807565b60405180910390fd5b6103e88211158015610d8457505f8210155b610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba90613895565b60405180910390fd5b82600b819055508160098190555080600a5f6101000a81548160ff021916908315150217905550505050565b610df76119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a90613779565b60405180910390fd5b80601b8190555050565b610e956119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890613779565b60405180910390fd5b5f601a60176101000a81548160ff021916908315150217905550565b601b5481565b610f4b6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90613779565b60405180910390fd5b601a60149054906101000a900460ff16611029576001601a60146101000a81548160ff0219169083151502179055506001601a60166101000a81548160ff02191690831515021790555042600c819055505b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601c5481565b60606040518060400160405280600381526020017f5041580000000000000000000000000000000000000000000000000000000000815250905090565b61109d6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090613779565b60405180910390fd5b80601d8190555050565b600e5481565b6111416119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490613779565b60405180910390fd5b83600f8190555082601181905550816010819055508060128190555050505050565b600c5481565b5f6112086112016119f3565b8484611bbd565b6001905092915050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112526119f3565b73ffffffffffffffffffffffffffffffffffffffff1614806112c7575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112af6119f3565b73ffffffffffffffffffffffffffffffffffffffff16145b6112cf575f80fd5b5f6112d930610afd565b90506112e4816126bb565b50565b6112ef6119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290613779565b60405180910390fd5b5f5b83839050811015611416578160055f86868581811061139f5761139e6138b3565b5b90506020020160208101906113b49190613529565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061140e9061390d565b91505061137d565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6114a66119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152990613779565b60405180910390fd5b80601c8190555050565b6115446119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790613779565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611635906139c4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6117026119f3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590613779565b60405180910390fd5b600d54600e5461179e91906139e2565b42116117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613a5f565b60405180910390fd5b6103e8821115611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90613aed565b60405180910390fd5b42600e819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a08231601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161188691906134bb565b602060405180830381865afa1580156118a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118c59190613b1f565b90505f6118ef6127106118e1868561292690919063ffffffff16565b61299d90919063ffffffff16565b90505f81111561192857611927601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83611bbd565b5b5f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611992575f80fd5b505af11580156119a4573d5f803e3d5ffd5b505050507f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb60405160405180910390a160019350505050919050565b601a60149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5f90613bba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acd90613c48565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bb0919061340f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2290613cd6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9090613d64565b60405180910390fd5b5f8111611cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd290613df2565b60405180910390fd5b611ce361102b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d515750611d2161102b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561220757601a60149054906101000a900460ff16611da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9c90613e80565b60405180910390fd5b601a60179054906101000a900460ff1615611f505760055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611e58575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f4f57601b54811115611ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9990613ee8565b60405180910390fd5b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611f4e57601c5481611f0384610afd565b611f0d91906139e2565b10611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490613f76565b60405180910390fd5b5b5b5b5f611f5a30610afd565b90505f601d548210159050601b548210611f7457601b5491505b808015611f8e5750601a60159054906101000a900460ff16155b8015611fe75750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611fff5750601a60169054906101000a900460ff165b8015612052575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120a5575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120cb576120b3826126bb565b5f4790505f8111156120c9576120c84761255c565b5b505b601a60159054906101000a900460ff161580156121345750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561214f5750600b54600c5461214b91906139e2565b4210155b80156121a2575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156121f5575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612204576122026129e6565b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806122a7575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123585750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123575750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612365575f90506124e8565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240e575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242657600f546013819055506010546014819055505b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124cf575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e7576011546013819055506012546014819055505b5b6124f484848484612ba3565b50505050565b5f838311158290612541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125389190613266565b60405180910390fd5b505f838561254f9190613f94565b9050809150509392505050565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6125ab60028461299d90919063ffffffff16565b90811502906040515f60405180830381858888f193505050501580156125d3573d5f803e3d5ffd5b5060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61262360028461299d90919063ffffffff16565b90811502906040515f60405180830381858888f1935050505015801561264b573d5f803e3d5ffd5b5050565b5f600754821115612695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268c90614037565b60405180910390fd5b5f61269e612bd0565b90506126b3818461299d90919063ffffffff16565b915050919050565b6001601a60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156126f2576126f1614055565b5b6040519080825280602002602001820160405280156127205781602001602082028036833780820191505090505b50905030815f81518110612737576127366138b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ff9190614096565b81600181518110612813576128126138b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128793060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119fa565b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016128db9594939291906141b1565b5f604051808303815f87803b1580156128f2575f80fd5b505af1158015612904573d5f803e3d5ffd5b50505050505f601a60156101000a81548160ff02191690831515021790555050565b5f808303612936575f9050612997565b5f82846129439190614209565b90508284826129529190614277565b14612992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298990614317565b60405180910390fd5b809150505b92915050565b5f6129de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bf9565b905092915050565b5f42600c819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a08231601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401612a4991906134bb565b602060405180830381865afa158015612a64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a889190613b1f565b90505f612ab4612710612aa66009548561292690919063ffffffff16565b61299d90919063ffffffff16565b90505f811115612aed57612aec601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83611bbd565b5b5f601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612b57575f80fd5b505af1158015612b69573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b80612bb157612bb0612c5a565b5b612bbc848484612c93565b80612bca57612bc9612e53565b5b50505050565b5f805f612bdb612e67565b91509150612bf2818361299d90919063ffffffff16565b9250505090565b5f8083118290612c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c369190613266565b60405180910390fd5b505f8385612c4d9190614277565b9050809150509392505050565b5f601354148015612c6c57505f601454145b612c91576013546015819055506014546016819055505f6013819055505f6014819055505b565b5f805f805f80612ca287612ecf565b955095509550955095509550612cfe8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f2f90919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d8f8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f7890919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612dd981612fd5565b612de3848361308c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e40919061340f565b60405180910390a3505050505050505050565b601554601381905550601654601481905550565b5f805f60075490505f6b06765c793fa10079d00000009050612ea06b06765c793fa10079d000000060075461299d90919063ffffffff16565b821015612ec2576007546b06765c793fa10079d0000000935093505050612ecb565b81819350935050505b9091565b5f805f805f805f805f612ee78a6013546014546130c6565b9250925092505f612ef6612bd0565b90505f805f612f078e878787613158565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612f7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124fa565b905092915050565b5f808284612f8691906139e2565b905083811015612fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc29061437f565b60405180910390fd5b8091505092915050565b5f612fde612bd0565b90505f612ff4828461292690919063ffffffff16565b90506130468160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612f7890919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6130a182600754612f2f90919063ffffffff16565b6007819055506130bc81600854612f7890919063ffffffff16565b6008819055505050565b5f805f806130f060646130e2888a61292690919063ffffffff16565b61299d90919063ffffffff16565b90505f613119606461310b888b61292690919063ffffffff16565b61299d90919063ffffffff16565b90505f61314182613133858c612f2f90919063ffffffff16565b612f2f90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f8061316f858961292690919063ffffffff16565b90505f613185868961292690919063ffffffff16565b90505f61319b878961292690919063ffffffff16565b90505f6131c3826131b58587612f2f90919063ffffffff16565b612f2f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132135780820151818401526020810190506131f8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613238826131dc565b61324281856131e6565b93506132528185602086016131f6565b61325b8161321e565b840191505092915050565b5f6020820190508181035f83015261327e818461322e565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6132b78261328e565b9050919050565b6132c7816132ad565b81146132d1575f80fd5b50565b5f813590506132e2816132be565b92915050565b5f819050919050565b6132fa816132e8565b8114613304575f80fd5b50565b5f81359050613315816132f1565b92915050565b5f806040838503121561333157613330613286565b5b5f61333e858286016132d4565b925050602061334f85828601613307565b9150509250929050565b5f8115159050919050565b61336d81613359565b82525050565b5f6020820190506133865f830184613364565b92915050565b5f819050919050565b5f6133af6133aa6133a58461328e565b61338c565b61328e565b9050919050565b5f6133c082613395565b9050919050565b5f6133d1826133b6565b9050919050565b6133e1816133c7565b82525050565b5f6020820190506133fa5f8301846133d8565b92915050565b613409816132e8565b82525050565b5f6020820190506134225f830184613400565b92915050565b5f805f6060848603121561343f5761343e613286565b5b5f61344c868287016132d4565b935050602061345d868287016132d4565b925050604061346e86828701613307565b9150509250925092565b5f60ff82169050919050565b61348d81613478565b82525050565b5f6020820190506134a65f830184613484565b92915050565b6134b5816132ad565b82525050565b5f6020820190506134ce5f8301846134ac565b92915050565b6134dd81613359565b81146134e7575f80fd5b50565b5f813590506134f8816134d4565b92915050565b5f6020828403121561351357613512613286565b5b5f613520848285016134ea565b91505092915050565b5f6020828403121561353e5761353d613286565b5b5f61354b848285016132d4565b91505092915050565b5f805f6060848603121561356b5761356a613286565b5b5f61357886828701613307565b935050602061358986828701613307565b925050604061359a868287016134ea565b9150509250925092565b5f602082840312156135b9576135b8613286565b5b5f6135c684828501613307565b91505092915050565b5f805f80608085870312156135e7576135e6613286565b5b5f6135f487828801613307565b945050602061360587828801613307565b935050604061361687828801613307565b925050606061362787828801613307565b91505092959194509250565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261365457613653613633565b5b8235905067ffffffffffffffff81111561367157613670613637565b5b60208301915083602082028301111561368d5761368c61363b565b5b9250929050565b5f805f604084860312156136ab576136aa613286565b5b5f84013567ffffffffffffffff8111156136c8576136c761328a565b5b6136d48682870161363f565b935093505060206136e7868287016134ea565b9150509250925092565b5f806040838503121561370757613706613286565b5b5f613714858286016132d4565b9250506020613725858286016132d4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137636020836131e6565b915061376e8261372f565b602082019050919050565b5f6020820190508181035f83015261379081613757565b9050919050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e2074685f8201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b5f6137f16033836131e6565b91506137fc82613797565b604082019050919050565b5f6020820190508181035f83015261381e816137e5565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e742062655f8201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b5f61387f6030836131e6565b915061388a82613825565b604082019050919050565b5f6020820190508181035f8301526138ac81613873565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613917826132e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613949576139486138e0565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139ae6026836131e6565b91506139b982613954565b604082019050919050565b5f6020820190508181035f8301526139db816139a2565b9050919050565b5f6139ec826132e8565b91506139f7836132e8565b9250828201905080821115613a0f57613a0e6138e0565b5b92915050565b7f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973685f82015250565b5f613a496020836131e6565b9150613a5482613a15565b602082019050919050565b5f6020820190508181035f830152613a7681613a3d565b9050919050565b7f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f5f8201527f6b656e7320696e204c5000000000000000000000000000000000000000000000602082015250565b5f613ad7602a836131e6565b9150613ae282613a7d565b604082019050919050565b5f6020820190508181035f830152613b0481613acb565b9050919050565b5f81519050613b19816132f1565b92915050565b5f60208284031215613b3457613b33613286565b5b5f613b4184828501613b0b565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ba46024836131e6565b9150613baf82613b4a565b604082019050919050565b5f6020820190508181035f830152613bd181613b98565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c326022836131e6565b9150613c3d82613bd8565b604082019050919050565b5f6020820190508181035f830152613c5f81613c26565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613cc06025836131e6565b9150613ccb82613c66565b604082019050919050565b5f6020820190508181035f830152613ced81613cb4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613d4e6023836131e6565b9150613d5982613cf4565b604082019050919050565b5f6020820190508181035f830152613d7b81613d42565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613ddc6029836131e6565b9150613de782613d82565b604082019050919050565b5f6020820190508181035f830152613e0981613dd0565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613e6a603f836131e6565b9150613e7582613e10565b604082019050919050565b5f6020820190508181035f830152613e9781613e5e565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613ed2601c836131e6565b9150613edd82613e9e565b602082019050919050565b5f6020820190508181035f830152613eff81613ec6565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613f606023836131e6565b9150613f6b82613f06565b604082019050919050565b5f6020820190508181035f830152613f8d81613f54565b9050919050565b5f613f9e826132e8565b9150613fa9836132e8565b9250828203905081811115613fc157613fc06138e0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f614021602a836131e6565b915061402c82613fc7565b604082019050919050565b5f6020820190508181035f83015261404e81614015565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614090816132be565b92915050565b5f602082840312156140ab576140aa613286565b5b5f6140b884828501614082565b91505092915050565b5f819050919050565b5f6140e46140df6140da846140c1565b61338c565b6132e8565b9050919050565b6140f4816140ca565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61412c816132ad565b82525050565b5f61413d8383614123565b60208301905092915050565b5f602082019050919050565b5f61415f826140fa565b6141698185614104565b935061417483614114565b805f5b838110156141a457815161418b8882614132565b975061419683614149565b925050600181019050614177565b5085935050505092915050565b5f60a0820190506141c45f830188613400565b6141d160208301876140eb565b81810360408301526141e38186614155565b90506141f260608301856134ac565b6141ff6080830184613400565b9695505050505050565b5f614213826132e8565b915061421e836132e8565b925082820261422c816132e8565b91508282048414831517614243576142426138e0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614281826132e8565b915061428c836132e8565b92508261429c5761429b61424a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6143016021836131e6565b915061430c826142a7565b604082019050919050565b5f6020820190508181035f83015261432e816142f5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614369601b836131e6565b915061437482614335565b602082019050919050565b5f6020820190508181035f8301526143968161435d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122017c0f1a792d8aad7b5027a5d5bb1dedf98534e70ad01ee55b23a5d3faf6784ea64736f6c63430008150033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.