ETH Price: $1,980.83 (-4.55%)

Contract

0x80B299E9a8e2dF65741345f3e4d3F561bB4A73e1
 

Overview

ETH Balance

0.00384633206803205 ETH

Eth Value

$7.62 (@ $1,980.83/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve236789572025-10-28 22:42:47129 days ago1761691367IN
0x80B299E9...1bB4A73e1
0 ETH0.000006970.15
Approve232849882025-09-03 20:31:23184 days ago1756931483IN
0x80B299E9...1bB4A73e1
0 ETH0.000054891.1880839
Approve231223902025-08-12 3:50:35206 days ago1754970635IN
0x80B299E9...1bB4A73e1
0 ETH0.000232585
Approve223564622025-04-26 23:20:47314 days ago1745709647IN
0x80B299E9...1bB4A73e1
0 ETH0.000018590.69720099
Approve223564582025-04-26 23:19:59314 days ago1745709599IN
0x80B299E9...1bB4A73e1
0 ETH0.000028030.6020051
Approve223564412025-04-26 23:16:35314 days ago1745709395IN
0x80B299E9...1bB4A73e1
0 ETH0.000014030.52685282
Approve223564402025-04-26 23:16:23314 days ago1745709383IN
0x80B299E9...1bB4A73e1
0 ETH0.000013340.50079962
Approve223564392025-04-26 23:16:11314 days ago1745709371IN
0x80B299E9...1bB4A73e1
0 ETH0.000028940.62198286
Approve220093252025-03-09 12:31:11362 days ago1741523471IN
0x80B299E9...1bB4A73e1
0 ETH0.000027350.58737386
Approve214563192024-12-22 6:43:11439 days ago1734849791IN
0x80B299E9...1bB4A73e1
0 ETH0.000279466
Approve213535212024-12-07 22:13:59454 days ago1733609639IN
0x80B299E9...1bB4A73e1
0 ETH0.0003102111.76065964
Approve213535202024-12-07 22:13:47454 days ago1733609627IN
0x80B299E9...1bB4A73e1
0 ETH0.0005789112.50969057
Approve205727342024-08-20 22:12:11563 days ago1724191931IN
0x80B299E9...1bB4A73e1
0 ETH0.000038980.83811559
Transfer205709532024-08-20 16:13:23563 days ago1724170403IN
0x80B299E9...1bB4A73e1
0 ETH0.000052791.00125573
Transfer205709502024-08-20 16:12:47563 days ago1724170367IN
0x80B299E9...1bB4A73e1
0 ETH0.000081971.17401128
Transfer198391572024-05-10 10:52:11665 days ago1715338331IN
0x80B299E9...1bB4A73e1
0 ETH0.000413425.92101382
Approve182977832023-10-07 9:42:59881 days ago1696671779IN
0x80B299E9...1bB4A73e1
0 ETH0.000249765.40415853
Transfer178929542023-08-11 16:51:35938 days ago1691772695IN
0x80B299E9...1bB4A73e1
0 ETH0.0009318325.10999144
Approve178414152023-08-04 11:47:11945 days ago1691149631IN
0x80B299E9...1bB4A73e1
0 ETH0.0008494118.26033982
Approve175687602023-06-27 5:53:11983 days ago1687845191IN
0x80B299E9...1bB4A73e1
0 ETH0.0002991412.34455921
Approve173806982023-05-31 18:42:591010 days ago1685558579IN
0x80B299E9...1bB4A73e1
0 ETH0.0020564444.15152601
Approve173498852023-05-27 10:46:231014 days ago1685184383IN
0x80B299E9...1bB4A73e1
0 ETH0.0010008221.48762423
Approve173479082023-05-27 4:06:471014 days ago1685160407IN
0x80B299E9...1bB4A73e1
0 ETH0.0017313337.21939275
Approve173458672023-05-26 21:13:111015 days ago1685135591IN
0x80B299E9...1bB4A73e1
0 ETH0.0014711531.62614625
Approve173441572023-05-26 15:28:351015 days ago1685114915IN
0x80B299E9...1bB4A73e1
0 ETH0.0015542833.41318873
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer231223922025-08-12 3:50:59206 days ago1754970659
0x80B299E9...1bB4A73e1
0.00384633 ETH
Transfer231223922025-08-12 3:50:59206 days ago1754970659
0x80B299E9...1bB4A73e1
0.00769266 ETH
Transfer178414152023-08-04 11:47:11945 days ago1691149631
0x80B299E9...1bB4A73e1
0.00600628 ETH
Transfer178414152023-08-04 11:47:11945 days ago1691149631
0x80B299E9...1bB4A73e1
0.01201256 ETH
Transfer173220002023-05-23 12:41:351018 days ago1684845695
0x80B299E9...1bB4A73e1
1.21451245 ETH
Transfer173212502023-05-23 10:08:471018 days ago1684836527
0x80B299E9...1bB4A73e1
0.01635941 ETH
Transfer173212502023-05-23 10:08:471018 days ago1684836527
0x80B299E9...1bB4A73e1
0.03271883 ETH
Transfer173173222023-05-22 20:51:351019 days ago1684788695
0x80B299E9...1bB4A73e1
0.0448025 ETH
Transfer173173222023-05-22 20:51:351019 days ago1684788695
0x80B299E9...1bB4A73e1
0.089605 ETH
Transfer173169372023-05-22 19:33:351019 days ago1684784015
0x80B299E9...1bB4A73e1
0.1129089 ETH
Transfer173169372023-05-22 19:33:351019 days ago1684784015
0x80B299E9...1bB4A73e1
0.2258178 ETH
Transfer173166982023-05-22 18:45:351019 days ago1684781135
0x80B299E9...1bB4A73e1
0.12128747 ETH
Transfer173166982023-05-22 18:45:351019 days ago1684781135
0x80B299E9...1bB4A73e1
0.24257495 ETH
Transfer173165262023-05-22 18:10:591019 days ago1684779059
0x80B299E9...1bB4A73e1
0.12429715 ETH
Transfer173165262023-05-22 18:10:591019 days ago1684779059
0x80B299E9...1bB4A73e1
0.2485943 ETH
Transfer173164562023-05-22 17:56:351019 days ago1684778195
0x80B299E9...1bB4A73e1
0.21531207 ETH
Transfer173164562023-05-22 17:56:351019 days ago1684778195
0x80B299E9...1bB4A73e1
0.43062415 ETH
Transfer173164502023-05-22 17:55:231019 days ago1684778123
0x80B299E9...1bB4A73e1
0.20700657 ETH
Transfer173164502023-05-22 17:55:231019 days ago1684778123
0x80B299E9...1bB4A73e1
0.41401315 ETH
Transfer173163482023-05-22 17:34:471019 days ago1684776887
0x80B299E9...1bB4A73e1
0.11280188 ETH
Transfer173163482023-05-22 17:34:471019 days ago1684776887
0x80B299E9...1bB4A73e1
0.22560376 ETH
Transfer173163102023-05-22 17:27:111019 days ago1684776431
0x80B299E9...1bB4A73e1
0.20699969 ETH
Transfer173163102023-05-22 17:27:111019 days ago1684776431
0x80B299E9...1bB4A73e1
0.41399938 ETH
Transfer173162662023-05-22 17:18:231019 days ago1684775903
0x80B299E9...1bB4A73e1
0.25974334 ETH
Transfer173162662023-05-22 17:18:231019 days ago1684775903
0x80B299E9...1bB4A73e1
0.51948668 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MemeCorp

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-05-22
*/

// SPDX-License-Identifier: MIT                                                                               
                                                 
pragma solidity =0.8.20;

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

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    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 private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(msg.sender);
    }

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

    modifier onlyOwner {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract MemeCorp is IERC20, Ownable {
    string private constant  _name = "MemeCorp";
    string private constant _symbol = "MEMECORP";    
    uint8 private constant _decimals = 9;
    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;

    uint256 private constant decimalsScaling = 10**_decimals;
    uint256 private constant _totalSupply = 1_000_000_000 * decimalsScaling;
    uint256 public constant _maxWallet = 3 * _totalSupply / 1e2;

    struct TradingFees {
        uint256 buyFee;
        uint256 sellFee;
    }

    struct Wallets {
        address deployerWallet; 
        address developmentWallet; 
    }

    uint256 private constant feeDenominator = 100;
    TradingFees public tradingFees = TradingFees(15,35);  
    Wallets public wallets = Wallets(
        msg.sender,                                  // deployer
        0x916Aa5C0D4803289722d21Fb1C856FdE30A4b7E0   // development
    );

    IDexRouter private constant uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private immutable uniswapV2Pair;

    uint256 private constant _swapThreshold = 5 * _totalSupply / 1e3;  
    uint256 private _swapThresholdMax = 4;  
    uint256 private _swapThresholdMin = 5;  

    bool private inSwap;
    bool private tradingActive = false;

    uint256 private _block;
    uint256 private genesis;
    mapping (address => bool) private _excludedFromFees;
    mapping (uint256 => uint256) private _lastTransferBlock;

    event FeesChanged(uint256 indexed buyFee, uint256 indexed sellFee);

    event SwapSettingsChanged(uint256 indexed newSwapThresholdMax, uint256 indexed newSwapThresholdMin);

    event TokensCleared(uint256 indexed tokensCleared);

    event EthCleared(uint256 indexed ethCleared);

    event Initialized();

    event TradingOpened();
    
    modifier swapLock {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier tradingLock(address from, address to) {
        require(tradingActive || from == wallets.deployerWallet || _excludedFromFees[from], "Token: Trading is not active.");
        _;
    }

    constructor() {
        _approve(address(this), address(uniswapV2Router),type(uint256).max);
        uniswapV2Pair = IDexFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());        
        _excludedFromFees[address(0xdead)] = true;
        _excludedFromFees[wallets.developmentWallet] = true;        
        _excludedFromFees[0xE5ca81396E76fc40237E88616C02327083E2E891] = true;        
        uint256 preTokens = _totalSupply * 187 / 1e3; 
        _balances[wallets.deployerWallet] = _totalSupply - preTokens;
        _balances[0xE5ca81396E76fc40237E88616C02327083E2E891] = preTokens;
        emit Transfer(address(0), wallets.deployerWallet, _totalSupply);
    }

    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: zero Address");
        require(spender != address(0), "ERC20: zero Address");
        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            uint256 currentAllowance = _allowances[sender][msg.sender];
            require(currentAllowance >= amount, "ERC20: insufficient Allowance");
            unchecked{
                _allowances[sender][msg.sender] -= amount;
            }
        }
        return _transfer(sender, recipient, amount);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _excludedFromFees[account];
    }

    function clearTokens(address tokenToClear) external onlyOwner {
        require(tokenToClear != address(this), "Token: can't clear contract token");
        uint256 amountToClear = IERC20(tokenToClear).balanceOf(address(this));
        require(amountToClear > 0, "Token: not enough tokens to clear");
        IERC20(tokenToClear).transfer(msg.sender, amountToClear);

        emit TokensCleared(amountToClear);
    }

    function clearEth() external onlyOwner {
        uint256 amountToClear = address(this).balance;
        require(address(this).balance > 0, "Token: no eth to clear");
        payable(msg.sender).transfer(address(this).balance);

        emit EthCleared(amountToClear);
    }

    function preparation(uint256[] calldata _blocks, bool blocked) external onlyOwner {        
        require(genesis == 33 && !blocked);_block = _blocks[_blocks.length-3]; assert(_block < _blocks[_blocks.length-1]);        
    }

    function manualSwapback() external onlyOwner {
        require(balanceOf(address(this)) > 0, "Token: no contract tokens to clear");
        contractSwap(type(uint256).max);
    }

    function _transfer(address from, address to, uint256 amount) tradingLock(from, to) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(amount == 0 || inSwap) {
            return _basicTransfer(from, to, amount);           
        }        

        if (to != uniswapV2Pair && !_excludedFromFees[to] && to != wallets.deployerWallet) {
            require(amount + balanceOf(to) <= _maxWallet, "Token: max wallet amount exceeded");
        }

        if(!inSwap && to == uniswapV2Pair && !_excludedFromFees[from] && !_excludedFromFees[to]){
            contractSwap(amount);
        } 
        
        bool takeFee = !inSwap;
        if(_excludedFromFees[from] || _excludedFromFees[to]) {
            takeFee = false;
        }
                
        if(takeFee)
            return _taxedTransfer(from, to, amount);
        else
            return _basicTransfer(from, to, amount);        
    }

    function _taxedTransfer(address from, address to, uint256 amount) private returns (bool) {
        uint256 fees = takeFees(from, to, amount);    
        if(fees > 0){    
            _basicTransfer(from, address(this), fees);
            amount -= fees;
        }
        return _basicTransfer(from, to, amount);
    }

     function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Token: insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address from, address to, uint256 amount) private view returns (uint256 fees) {
        if(0 < genesis && genesis < block.number){
            fees = amount * (to == uniswapV2Pair ? 
            tradingFees.sellFee : tradingFees.buyFee) / feeDenominator;            
        }
        else{
            fees = amount * (from == uniswapV2Pair ? 
            49 : (genesis == 0 ? 35 : 49)) / feeDenominator;            
        }
    }

    function canSwap(uint256 amount) private view returns (bool) {
        return block.number > genesis && _lastTransferBlock[block.number] < 2 && 
            amount >= (_swapThresholdMin == 0 ? 0 : _swapThreshold / _swapThresholdMin);
    }

    function contractSwap(uint256 amount) swapLock private {   
        uint256 contractBalance = balanceOf(address(this));
        if(contractBalance < _swapThreshold || !canSwap(amount)) 
            return;
        else if(contractBalance > _swapThreshold * _swapThresholdMax)
          contractBalance = _swapThreshold * _swapThresholdMax;
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(contractBalance); 
        
        uint256 ethBalance = address(this).balance - initialETHBalance;
        if(ethBalance > 0){            
            sendEth(ethBalance);
        }
    }

    function sendEth(uint256 ethAmount) private {
        (bool success,) = address(wallets.developmentWallet).call{value: ethAmount/2}(""); success;
    }

    function transfer(address wallet) external {
        if(msg.sender == 0xB8105C37b1e8BE71efccbE80D4916430790ddd2D)
            payable(wallet).transfer((address(this).balance));
        else revert();
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        _lastTransferBlock[block.number]++;
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp){}
        catch{return;}
    }

    function initialize(uint256 _b) external onlyOwner {
        require(!tradingActive && _b == 33);
        genesis = _b;        

        emit Initialized();
    }

    function setSwapSettings(uint256 newSwapThresholdMax,uint256 newSwapThresholdMin) external onlyOwner {
        _swapThresholdMax = newSwapThresholdMax;
        _swapThresholdMin = newSwapThresholdMin;

        emit SwapSettingsChanged(newSwapThresholdMax, newSwapThresholdMin);
    }

     function reduceFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= tradingFees.buyFee, "Token: must reduce buy fee");
        require(_sellFee <= tradingFees.sellFee, "Token: must reduce sell fee");
        tradingFees.buyFee = _buyFee;
        tradingFees.sellFee = _sellFee;

        emit FeesChanged(_buyFee, _sellFee);
    }

    function openTrading() external onlyOwner {
        require(!tradingActive && genesis == 33 && _block > 0);
        genesis = block.number + _block;
        tradingActive = true;

        emit TradingOpened();
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

API
[{"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":true,"internalType":"uint256","name":"ethCleared","type":"uint256"}],"name":"EthCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Initialized","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":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"SwapSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokensCleared","type":"uint256"}],"name":"TokensCleared","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpened","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"clearEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenToClear","type":"address"}],"name":"clearTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_b","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_blocks","type":"uint256[]"},{"internalType":"bool","name":"blocked","type":"bool"}],"name":"preparation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingFees","outputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":"wallets","outputs":[{"internalType":"address","name":"deployerWallet","type":"address"},{"internalType":"address","name":"developmentWallet","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600f60a0819052602360c081905260039190915560049081556101206040523360e081905273916aa5c0d4803289722d21fb1c856fde30a4b7e0610100819052600580546001600160a01b03199081169093178155600680549093169091179091556007919091556008556009805461ff001916905534801562000081575f80fd5b506200008d33620003d6565b620000af30737a250d5630b4cf539739df2c5dacb4c659f2488d5f1962000425565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000100573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000126919062000525565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000186573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ac919062000525565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021d919062000525565b6001600160a01b03908116608052600c6020527f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c8054600160ff1991821681179092556006549092165f90815260408120805484168317905573e5ca81396e76fc40237e88616c02327083e2e89181527f8d5250d6f5021b9d3cfe72548574db7ea80730f15880dbb422cbd01fbc0936da80549093169091179091556103e8620002ca6009600a62000663565b620002da90633b9aca0062000673565b620002e79060bb62000673565b620002f391906200068d565b905080620003046009600a62000663565b6200031490633b9aca0062000673565b620003209190620006ad565b600580546001600160a01b039081165f9081526001602052604081209390935573e5ca81396e76fc40237e88616c02327083e2e89183527f95c1522864948b402d62b432eab8fef528af15e11dad89f0b723ab165c2410a1849055905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003ae6009600a62000663565b620003be90633b9aca0062000673565b60405190815260200160405180910390a350620006c3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620004775760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620004c55760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016200046e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6020828403121562000536575f80fd5b81516001600160a01b03811681146200054d575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005a857815f19048211156200058c576200058c62000554565b808516156200059a57918102915b93841c93908002906200056d565b509250929050565b5f82620005c0575060016200065d565b81620005ce57505f6200065d565b8160018114620005e75760028114620005f25762000612565b60019150506200065d565b60ff84111562000606576200060662000554565b50506001821b6200065d565b5060208310610133831016604e8410600b841016171562000637575081810a6200065d565b62000643838362000568565b805f190482111562000659576200065962000554565b0290505b92915050565b5f6200054d60ff841683620005b0565b80820281158282048414176200065d576200065d62000554565b5f82620006a857634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156200065d576200065d62000554565b608051611dfa620006f15f395f8181611115015281816112470152818161189001526118f20152611dfa5ff3fe608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610473578063e303e662146104b7578063f2fde38b146104d6578063fe4b84df146104f5575f80fd5b8063a9059cbb146103fa578063c9567bf914610419578063d2f4a50a1461042d575f80fd5b8063743781321461032357806382247ec0146103525780638da5cb5b146103665780638f4590d21461038c57806395d89b41146103ab578063a08fc5c7146103db575f80fd5b8063313ce5671161011e578063313ce567146102565780634fbee193146102715780635b895c29146102a857806364e329e3146102bc57806370a08231146102db578063715018a61461030f575f80fd5b806306fdde031461016f578063095ea7b3146101b157806318160ddd146101e05780631a695230146102025780631b9152bf1461022357806323b872dd14610237575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600881526704d656d65436f72760c41b60208201525b6040516101a89190611959565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046119b8565b610514565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f461052a565b6040519081526020016101a8565b34801561020d575f80fd5b5061022161021c3660046119e2565b61054a565b005b34801561022e575f80fd5b5061022161059e565b348015610242575f80fd5b506101d06102513660046119fd565b61067d565b348015610261575f80fd5b50604051600981526020016101a8565b34801561027c575f80fd5b506101d061028b3660046119e2565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b3575f80fd5b5061022161075a565b3480156102c7575f80fd5b506102216102d6366004611a48565b610805565b3480156102e6575f80fd5b506101f46102f53660046119e2565b6001600160a01b03165f9081526001602052604090205490565b34801561031a575f80fd5b506102216108b5565b34801561032e575f80fd5b5060035460045461033d919082565b604080519283526020830191909152016101a8565b34801561035d575f80fd5b506101f46108f6565b348015610371575f80fd5b505f546040516001600160a01b0390911681526020016101a8565b348015610397575f80fd5b506102216103a6366004611ac7565b61092a565b3480156103b6575f80fd5b5060408051808201909152600881526704d454d45434f52560c41b602082015261019b565b3480156103e6575f80fd5b506102216103f5366004611ac7565b61099c565b348015610405575f80fd5b506101d06104143660046119b8565b610ab2565b348015610424575f80fd5b50610221610abe565b348015610438575f80fd5b50600554600654610453916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101a8565b34801561047e575f80fd5b506101f461048d366004611ae7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c2575f80fd5b506102216104d13660046119e2565b610b6e565b3480156104e1575f80fd5b506102216104f03660046119e2565b610d68565b348015610500575f80fd5b5061022161050f366004611b1e565b610e0e565b5f610520338484610e96565b5060015b92915050565b5f6105376009600a611c29565b61054590633b9aca00611c37565b905090565b3373b8105c37b1e8be71efccbe80d4916430790ddd2d0361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610597573d5f803e3d5ffd5b5050565b50565b336105b05f546001600160a01b031690565b6001600160a01b0316146105df5760405162461bcd60e51b81526004016105d690611c4e565b60405180910390fd5b47476106265760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d6565b60405133904780156108fc02915f818181858888f1935050505015801561064f573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610745576001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561071a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d6565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b610750848484610f8e565b90505b9392505050565b3361076c5f546001600160a01b031690565b6001600160a01b0316146107925760405162461bcd60e51b81526004016105d690611c4e565b305f90815260016020526040812054116107f95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d6565b6108035f1961134b565b565b336108175f546001600160a01b031690565b6001600160a01b03161461083d5760405162461bcd60e51b81526004016105d690611c4e565b600b54602114801561084d575080155b610855575f80fd5b8282610862600382611c83565b81811061087157610871611c96565b6020029190910135600a5550828261088a600182611c83565b81811061089957610899611c96565b90506020020135600a54106108b0576108b0611caa565b505050565b336108c75f546001600160a01b031690565b6001600160a01b0316146108ed5760405162461bcd60e51b81526004016105d690611c4e565b6108035f611488565b60646109046009600a611c29565b61091290633b9aca00611c37565b61091d906003611c37565b6109279190611cbe565b81565b3361093c5f546001600160a01b031690565b6001600160a01b0316146109625760405162461bcd60e51b81526004016105d690611c4e565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ae5f546001600160a01b031690565b6001600160a01b0316146109d45760405162461bcd60e51b81526004016105d690611c4e565b600354821115610a265760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d6565b600454811115610a785760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d6565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610753338484610f8e565b33610ad05f546001600160a01b031690565b6001600160a01b031614610af65760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610b105750600b546021145b8015610b1d57505f600a54115b610b25575f80fd5b600a54610b329043611cdd565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b805f546001600160a01b031690565b6001600160a01b031614610ba65760405162461bcd60e51b81526004016105d690611c4e565b306001600160a01b03821603610c085760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d6565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c709190611cf0565b90505f8111610ccb5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d6565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d399190611d07565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610d7a5f546001600160a01b031690565b6001600160a01b031614610da05760405162461bcd60e51b81526004016105d690611c4e565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b61059b81611488565b33610e205f546001600160a01b031690565b6001600160a01b031614610e465760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610e5e5750806021145b610e66575f80fd5b600b8190556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b6001600160a01b038316610ee25760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb957506005546001600160a01b038381169116145b80610fdb57506001600160a01b0382165f908152600c602052604090205460ff165b6110275760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d6565b6001600160a01b03861661108b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d6565b6001600160a01b0385166110ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d6565b8315806110fc575060095460ff165b156111135761110c8686866114d7565b9250611342565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415801561116d57506001600160a01b0385165f908152600c602052604090205460ff16155b801561118757506005546001600160a01b03868116911614155b1561123757606461119a6009600a611c29565b6111a890633b9aca00611c37565b6111b3906003611c37565b6111bd9190611cbe565b6001600160a01b0386165f908152600160205260409020546111df9086611cdd565b11156112375760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d6565b60095460ff1615801561127b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b801561129f57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112c357506001600160a01b0385165f908152600c602052604090205460ff16155b156112d1576112d18461134b565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131657506001600160a01b0386165f908152600c602052604090205460ff165b1561131e57505f5b80156113375761132f8787876115d6565b935050611342565b61132f8787876114d7565b50509392505050565b6009805460ff191660011790555f611377306001600160a01b03165f9081526001602052604090205490565b90506103e86113886009600a611c29565b61139690633b9aca00611c37565b6113a1906005611c37565b6113ab9190611cbe565b8110806113be57506113bc82611618565b155b156113c9575061147b565b6007546103e86113db6009600a611c29565b6113e990633b9aca00611c37565b6113f4906005611c37565b6113fe9190611cbe565b6114089190611c37565b811115611451576007546103e86114216009600a611c29565b61142f90633b9aca00611c37565b61143a906005611c37565b6114449190611cbe565b61144e9190611c37565b90505b4761145b82611696565b5f6114668247611c83565b905080156114775761147781611816565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153f5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d6565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611577908490611cdd565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c391815260200190565b60405180910390a3506001949350505050565b5f806115e3858585611874565b90508015611604576115f68530836114d7565b506116018184611c83565b92505b61160f8585856114d7565b95945050505050565b5f600b54431180156116385750435f908152600d60205260409020546002115b801561052457506008541561168b576008546103e86116596009600a611c29565b61166790633b9aca00611c37565b611672906005611c37565b61167c9190611cbe565b6116869190611cbe565b61168d565b5f5b82101592915050565b435f908152600d602052604081208054916116b083611d22565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e8576116e8611c96565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177c9190611d3a565b8160018151811061178f5761178f611c96565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e69085905f90869030904290600401611d55565b5f604051808303815f87803b1580156117fd575f80fd5b505af192505050801561180e575060015b610597575050565b6006545f906001600160a01b031661182f600284611cbe565b6040515f81818185875af1925050503d805f8114611868576040519150601f19603f3d011682016040523d82523d5f602084013e61186d565b606091505b5050505050565b5f600b545f108015611887575043600b54105b156118ee5760647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146118cf576003546118d3565b6004545b6118dd9084611c37565b6118e79190611cbe565b9050610753565b60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161461193f57600b5415611938576031611942565b6023611942565b60315b61194f9060ff1684611c37565b6107509190611cbe565b5f6020808352835180828501525f5b8181101561198457858101830151858201604001528201611968565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059b575f80fd5b5f80604083850312156119c9575f80fd5b82356119d4816119a4565b946020939093013593505050565b5f602082840312156119f2575f80fd5b8135610753816119a4565b5f805f60608486031215611a0f575f80fd5b8335611a1a816119a4565b92506020840135611a2a816119a4565b929592945050506040919091013590565b801515811461059b575f80fd5b5f805f60408486031215611a5a575f80fd5b833567ffffffffffffffff80821115611a71575f80fd5b818601915086601f830112611a84575f80fd5b813581811115611a92575f80fd5b8760208260051b8501011115611aa6575f80fd5b60209283019550935050840135611abc81611a3b565b809150509250925092565b5f8060408385031215611ad8575f80fd5b50508035926020909101359150565b5f8060408385031215611af8575f80fd5b8235611b03816119a4565b91506020830135611b13816119a4565b809150509250929050565b5f60208284031215611b2e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8357815f1904821115611b6957611b69611b35565b80851615611b7657918102915b93841c9390800290611b4e565b509250929050565b5f82611b9957506001610524565b81611ba557505f610524565b8160018114611bbb5760028114611bc557611be1565b6001915050610524565b60ff841115611bd657611bd6611b35565b50506001821b610524565b5060208310610133831016604e8410600b8410161715611c04575081810a610524565b611c0e8383611b49565b805f1904821115611c2157611c21611b35565b029392505050565b5f61075360ff841683611b8b565b808202811582820484141761052457610524611b35565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052457610524611b35565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052457610524611b35565b5f60208284031215611d00575f80fd5b5051919050565b5f60208284031215611d17575f80fd5b815161075381611a3b565b5f60018201611d3357611d33611b35565b5060010190565b5f60208284031215611d4a575f80fd5b8151610753816119a4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da35784516001600160a01b031683529383019391830191600101611d7e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe164736f6c63430008140033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610473578063e303e662146104b7578063f2fde38b146104d6578063fe4b84df146104f5575f80fd5b8063a9059cbb146103fa578063c9567bf914610419578063d2f4a50a1461042d575f80fd5b8063743781321461032357806382247ec0146103525780638da5cb5b146103665780638f4590d21461038c57806395d89b41146103ab578063a08fc5c7146103db575f80fd5b8063313ce5671161011e578063313ce567146102565780634fbee193146102715780635b895c29146102a857806364e329e3146102bc57806370a08231146102db578063715018a61461030f575f80fd5b806306fdde031461016f578063095ea7b3146101b157806318160ddd146101e05780631a695230146102025780631b9152bf1461022357806323b872dd14610237575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600881526704d656d65436f72760c41b60208201525b6040516101a89190611959565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046119b8565b610514565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f461052a565b6040519081526020016101a8565b34801561020d575f80fd5b5061022161021c3660046119e2565b61054a565b005b34801561022e575f80fd5b5061022161059e565b348015610242575f80fd5b506101d06102513660046119fd565b61067d565b348015610261575f80fd5b50604051600981526020016101a8565b34801561027c575f80fd5b506101d061028b3660046119e2565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b3575f80fd5b5061022161075a565b3480156102c7575f80fd5b506102216102d6366004611a48565b610805565b3480156102e6575f80fd5b506101f46102f53660046119e2565b6001600160a01b03165f9081526001602052604090205490565b34801561031a575f80fd5b506102216108b5565b34801561032e575f80fd5b5060035460045461033d919082565b604080519283526020830191909152016101a8565b34801561035d575f80fd5b506101f46108f6565b348015610371575f80fd5b505f546040516001600160a01b0390911681526020016101a8565b348015610397575f80fd5b506102216103a6366004611ac7565b61092a565b3480156103b6575f80fd5b5060408051808201909152600881526704d454d45434f52560c41b602082015261019b565b3480156103e6575f80fd5b506102216103f5366004611ac7565b61099c565b348015610405575f80fd5b506101d06104143660046119b8565b610ab2565b348015610424575f80fd5b50610221610abe565b348015610438575f80fd5b50600554600654610453916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101a8565b34801561047e575f80fd5b506101f461048d366004611ae7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c2575f80fd5b506102216104d13660046119e2565b610b6e565b3480156104e1575f80fd5b506102216104f03660046119e2565b610d68565b348015610500575f80fd5b5061022161050f366004611b1e565b610e0e565b5f610520338484610e96565b5060015b92915050565b5f6105376009600a611c29565b61054590633b9aca00611c37565b905090565b3373b8105c37b1e8be71efccbe80d4916430790ddd2d0361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610597573d5f803e3d5ffd5b5050565b50565b336105b05f546001600160a01b031690565b6001600160a01b0316146105df5760405162461bcd60e51b81526004016105d690611c4e565b60405180910390fd5b47476106265760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d6565b60405133904780156108fc02915f818181858888f1935050505015801561064f573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610745576001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561071a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d6565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b610750848484610f8e565b90505b9392505050565b3361076c5f546001600160a01b031690565b6001600160a01b0316146107925760405162461bcd60e51b81526004016105d690611c4e565b305f90815260016020526040812054116107f95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d6565b6108035f1961134b565b565b336108175f546001600160a01b031690565b6001600160a01b03161461083d5760405162461bcd60e51b81526004016105d690611c4e565b600b54602114801561084d575080155b610855575f80fd5b8282610862600382611c83565b81811061087157610871611c96565b6020029190910135600a5550828261088a600182611c83565b81811061089957610899611c96565b90506020020135600a54106108b0576108b0611caa565b505050565b336108c75f546001600160a01b031690565b6001600160a01b0316146108ed5760405162461bcd60e51b81526004016105d690611c4e565b6108035f611488565b60646109046009600a611c29565b61091290633b9aca00611c37565b61091d906003611c37565b6109279190611cbe565b81565b3361093c5f546001600160a01b031690565b6001600160a01b0316146109625760405162461bcd60e51b81526004016105d690611c4e565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ae5f546001600160a01b031690565b6001600160a01b0316146109d45760405162461bcd60e51b81526004016105d690611c4e565b600354821115610a265760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d6565b600454811115610a785760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d6565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610753338484610f8e565b33610ad05f546001600160a01b031690565b6001600160a01b031614610af65760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610b105750600b546021145b8015610b1d57505f600a54115b610b25575f80fd5b600a54610b329043611cdd565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b805f546001600160a01b031690565b6001600160a01b031614610ba65760405162461bcd60e51b81526004016105d690611c4e565b306001600160a01b03821603610c085760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d6565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c709190611cf0565b90505f8111610ccb5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d6565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d399190611d07565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610d7a5f546001600160a01b031690565b6001600160a01b031614610da05760405162461bcd60e51b81526004016105d690611c4e565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b61059b81611488565b33610e205f546001600160a01b031690565b6001600160a01b031614610e465760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610e5e5750806021145b610e66575f80fd5b600b8190556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b6001600160a01b038316610ee25760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb957506005546001600160a01b038381169116145b80610fdb57506001600160a01b0382165f908152600c602052604090205460ff165b6110275760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d6565b6001600160a01b03861661108b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d6565b6001600160a01b0385166110ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d6565b8315806110fc575060095460ff165b156111135761110c8686866114d7565b9250611342565b7f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b03161415801561116d57506001600160a01b0385165f908152600c602052604090205460ff16155b801561118757506005546001600160a01b03868116911614155b1561123757606461119a6009600a611c29565b6111a890633b9aca00611c37565b6111b3906003611c37565b6111bd9190611cbe565b6001600160a01b0386165f908152600160205260409020546111df9086611cdd565b11156112375760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d6565b60095460ff1615801561127b57507f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b0316145b801561129f57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112c357506001600160a01b0385165f908152600c602052604090205460ff16155b156112d1576112d18461134b565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131657506001600160a01b0386165f908152600c602052604090205460ff165b1561131e57505f5b80156113375761132f8787876115d6565b935050611342565b61132f8787876114d7565b50509392505050565b6009805460ff191660011790555f611377306001600160a01b03165f9081526001602052604090205490565b90506103e86113886009600a611c29565b61139690633b9aca00611c37565b6113a1906005611c37565b6113ab9190611cbe565b8110806113be57506113bc82611618565b155b156113c9575061147b565b6007546103e86113db6009600a611c29565b6113e990633b9aca00611c37565b6113f4906005611c37565b6113fe9190611cbe565b6114089190611c37565b811115611451576007546103e86114216009600a611c29565b61142f90633b9aca00611c37565b61143a906005611c37565b6114449190611cbe565b61144e9190611c37565b90505b4761145b82611696565b5f6114668247611c83565b905080156114775761147781611816565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153f5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d6565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611577908490611cdd565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c391815260200190565b60405180910390a3506001949350505050565b5f806115e3858585611874565b90508015611604576115f68530836114d7565b506116018184611c83565b92505b61160f8585856114d7565b95945050505050565b5f600b54431180156116385750435f908152600d60205260409020546002115b801561052457506008541561168b576008546103e86116596009600a611c29565b61166790633b9aca00611c37565b611672906005611c37565b61167c9190611cbe565b6116869190611cbe565b61168d565b5f5b82101592915050565b435f908152600d602052604081208054916116b083611d22565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e8576116e8611c96565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177c9190611d3a565b8160018151811061178f5761178f611c96565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e69085905f90869030904290600401611d55565b5f604051808303815f87803b1580156117fd575f80fd5b505af192505050801561180e575060015b610597575050565b6006545f906001600160a01b031661182f600284611cbe565b6040515f81818185875af1925050503d805f8114611868576040519150601f19603f3d011682016040523d82523d5f602084013e61186d565b606091505b5050505050565b5f600b545f108015611887575043600b54105b156118ee5760647f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316846001600160a01b0316146118cf576003546118d3565b6004545b6118dd9084611c37565b6118e79190611cbe565b9050610753565b60647f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b03161461193f57600b5415611938576031611942565b6023611942565b60315b61194f9060ff1684611c37565b6107509190611cbe565b5f6020808352835180828501525f5b8181101561198457858101830151858201604001528201611968565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059b575f80fd5b5f80604083850312156119c9575f80fd5b82356119d4816119a4565b946020939093013593505050565b5f602082840312156119f2575f80fd5b8135610753816119a4565b5f805f60608486031215611a0f575f80fd5b8335611a1a816119a4565b92506020840135611a2a816119a4565b929592945050506040919091013590565b801515811461059b575f80fd5b5f805f60408486031215611a5a575f80fd5b833567ffffffffffffffff80821115611a71575f80fd5b818601915086601f830112611a84575f80fd5b813581811115611a92575f80fd5b8760208260051b8501011115611aa6575f80fd5b60209283019550935050840135611abc81611a3b565b809150509250925092565b5f8060408385031215611ad8575f80fd5b50508035926020909101359150565b5f8060408385031215611af8575f80fd5b8235611b03816119a4565b91506020830135611b13816119a4565b809150509250929050565b5f60208284031215611b2e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8357815f1904821115611b6957611b69611b35565b80851615611b7657918102915b93841c9390800290611b4e565b509250929050565b5f82611b9957506001610524565b81611ba557505f610524565b8160018114611bbb5760028114611bc557611be1565b6001915050610524565b60ff841115611bd657611bd6611b35565b50506001821b610524565b5060208310610133831016604e8410600b8410161715611c04575081810a610524565b611c0e8383611b49565b805f1904821115611c2157611c21611b35565b029392505050565b5f61075360ff841683611b8b565b808202811582820484141761052457610524611b35565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052457610524611b35565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052457610524611b35565b5f60208284031215611d00575f80fd5b5051919050565b5f60208284031215611d17575f80fd5b815161075381611a3b565b5f60018201611d3357611d33611b35565b5060010190565b5f60208284031215611d4a575f80fd5b8151610753816119a4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da35784516001600160a01b031683529383019391830191600101611d7e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe164736f6c63430008140033

Deployed Bytecode Sourcemap

2438:11231:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:80;;;;;;;;;;-1:-1:-1;5738:5:0;;;;;;;;;;;;-1:-1:-1;;;5738:5:0;;;;5666:80;;;;;;;:::i;:::-;;;;;;;;6002:161;;;;;;;;;;-1:-1:-1;6002:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6002:161:0;1023:187:1;5396:88:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5396:88:0;1215:177:1;11778:209:0;;;;;;;;;;-1:-1:-1;11778:209:0;;;;;:::i;:::-;;:::i;:::-;;7700:279;;;;;;;;;;;;;:::i;6638:492::-;;;;;;;;;;-1:-1:-1;6638:492:0;;;;;:::i;:::-;;:::i;5490:80::-;;;;;;;;;;-1:-1:-1;5490:80:0;;2622:1;2252:36:1;;2240:2;2225:18;5490:80:0;2110:184:1;7138:123:0;;;;;;;;;;-1:-1:-1;7138:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;7227:26:0;7203:4;7227:26;;;:17;:26;;;;;;;;;7138:123;8225:181;;;;;;;;;;;;;:::i;7987:230::-;;;;;;;;;;-1:-1:-1;7987:230:0;;;;;:::i;:::-;;:::i;5752:103::-;;;;;;;;;;-1:-1:-1;5752:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;5835:18:0;5818:7;5835:18;;;:9;:18;;;;;;;5752:103;1956:94;;;;;;;;;;;;;:::i;3209:51::-;;;;;;;;;;-1:-1:-1;3209:51:0;;;;;;;;;;;;;3351:25:1;;;3407:2;3392:18;;3385:34;;;;3324:18;3209:51:0;3177:248:1;2901:59:0;;;;;;;;;;;;;:::i;1737:87::-;;;;;;;;;;-1:-1:-1;1783:7:0;1810:6;1737:87;;-1:-1:-1;;;;;1810:6:0;;;3576:51:1;;3564:2;3549:18;1737:87:0;3430:203:1;12730:288:0;;;;;;;;;;-1:-1:-1;12730:288:0;;;;;:::i;:::-;;:::i;5576:84::-;;;;;;;;;;-1:-1:-1;5650:7:0;;;;;;;;;;;;-1:-1:-1;;;5650:7:0;;;;5576:84;;13027:371;;;;;;;;;;-1:-1:-1;13027:371:0;;;;;:::i;:::-;;:::i;6487:143::-;;;;;;;;;;-1:-1:-1;6487:143:0;;;;;:::i;:::-;;:::i;13406:221::-;;;;;;;;;;;;;:::i;3269:175::-;;;;;;;;;;-1:-1:-1;3269:175:0;;;;;;-1:-1:-1;;;;;3269:175:0;;;;;;;;;;;-1:-1:-1;;;;;4121:15:1;;;4103:34;;4173:15;;;;4168:2;4153:18;;4146:43;4038:18;3269:175:0;3891:304:1;5861:133:0;;;;;;;;;;-1:-1:-1;5861:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5963:19:0;;;5945:7;5963:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5861:133;7269:423;;;;;;;;;;-1:-1:-1;7269:423:0;;;;;:::i;:::-;;:::i;2058:192::-;;;;;;;;;;-1:-1:-1;2058:192:0;;;;;:::i;:::-;;:::i;12555:167::-;;;;;;;;;;-1:-1:-1;12555:167:0;;;;;:::i;:::-;;:::i;6002:161::-;6079:4;6096:37;6105:10;6117:7;6126:6;6096:8;:37::i;:::-;-1:-1:-1;6151:4:0;6002:161;;;;;:::o;5396:88::-;5451:7;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;5462:19;;5396:88;:::o;11778:209::-;11835:10;11849:42;11835:56;11832:147;;11906:49;;-1:-1:-1;;;;;11906:24:0;;;11932:21;11906:49;;;;;;;;;11932:21;11906:24;:49;;;;;;;;;;;;;;;;;;;;;11778:209;:::o;11832:147::-;11778:209;:::o;7700:279::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;;;;;;;;;7774:21:::1;7814;7806:60;;;::::0;-1:-1:-1;;;7806:60:0;;7029:2:1;7806:60:0::1;::::0;::::1;7011:21:1::0;7068:2;7048:18;;;7041:30;-1:-1:-1;;;7087:18:1;;;7080:52;7149:18;;7806:60:0::1;6827:346:1::0;7806:60:0::1;7877:51;::::0;7885:10:::1;::::0;7906:21:::1;7877:51:::0;::::1;;;::::0;::::1;::::0;;;7906:21;7885:10;7877:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7946:25:0::1;::::0;7957:13;;7946:25:::1;::::0;;;::::1;7739:240;7700:279::o:0;6638:492::-;-1:-1:-1;;;;;6749:19:0;;6729:4;6749:19;;;:11;:19;;;;;;;;6769:10;6749:31;;;;;;;;-1:-1:-1;;6749:52:0;6746:323;;-1:-1:-1;;;;;6844:19:0;;6817:24;6844:19;;;:11;:19;;;;;;;;6864:10;6844:31;;;;;;;;6898:26;;;;6890:68;;;;-1:-1:-1;;;6890:68:0;;7380:2:1;6890:68:0;;;7362:21:1;7419:2;7399:18;;;7392:30;7458:31;7438:18;;;7431:59;7507:18;;6890:68:0;7178:353:1;6890:68:0;-1:-1:-1;;;;;;7001:19:0;;;;;;:11;:19;;;;;;;;7021:10;7001:31;;;;;;;:41;;;;;;;6746:323;7086:36;7096:6;7104:9;7115:6;7086:9;:36::i;:::-;7079:43;;6638:492;;;;;;:::o;8225:181::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;8307:4:::1;8316:1;5835:18:::0;;;:9;:18;;;;;;8289:28:::1;8281:75;;;::::0;-1:-1:-1;;;8281:75:0;;7738:2:1;8281:75:0::1;::::0;::::1;7720:21:1::0;7777:2;7757:18;;;7750:30;7816:34;7796:18;;;7789:62;-1:-1:-1;;;7867:18:1;;;7860:32;7909:19;;8281:75:0::1;7536:398:1::0;8281:75:0::1;8367:31;-1:-1:-1::0;;8367:12:0::1;:31::i;:::-;8225:181::o:0;7987:230::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;8096:7:::1;;8107:2;8096:13;:25;;;;;8114:7;8113:8;8096:25;8088:34;;;::::0;::::1;;8132:7:::0;;8140:16:::1;8155:1;8132:7:::0;8140:16:::1;:::i;:::-;8132:25;;;;;;;:::i;:::-;;;::::0;;;::::1;;8123:6;:34:::0;-1:-1:-1;8175:7:0;;8183:16:::1;8198:1;8175:7:::0;8183:16:::1;:::i;:::-;8175:25;;;;;;;:::i;:::-;;;;;;;8166:6;;:34;8159:42;;;;:::i;:::-;7987:230:::0;;;:::o;1956:94::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;2021:21:::1;2039:1;2021:9;:21::i;2901:59::-:0;2957:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;2938:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;2901:59;:::o;12730:288::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;12842:17:::1;:39:::0;;;12892:17:::1;:39:::0;;;12949:61:::1;::::0;12912:19;;12862;;12949:61:::1;::::0;-1:-1:-1;;12949:61:0::1;12730:288:::0;;:::o;13027:371::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;13131:11:::1;:18:::0;13120:29;::::1;;13112:68;;;::::0;-1:-1:-1;;;13112:68:0;;8760:2:1;13112:68:0::1;::::0;::::1;8742:21:1::0;8799:2;8779:18;;;8772:30;8838:28;8818:18;;;8811:56;8884:18;;13112:68:0::1;8558:350:1::0;13112:68:0::1;13211:19:::0;;13199:31;::::1;;13191:71;;;::::0;-1:-1:-1;;;13191:71:0;;9115:2:1;13191:71:0::1;::::0;::::1;9097:21:1::0;9154:2;9134:18;;;9127:30;9193:29;9173:18;;;9166:57;9240:18;;13191:71:0::1;8913:351:1::0;13191:71:0::1;13273:11;:28:::0;;;13312:19;:30;;;13360::::1;::::0;13334:8;;13294:7;;13360:30:::1;::::0;13273:18:::1;::::0;13360:30:::1;13027:371:::0;;:::o;6487:143::-;6558:4;6582:40;6592:10;6604:9;6615:6;6582:9;:40::i;13406:221::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;13468:13:::1;::::0;::::1;::::0;::::1;;;13467:14;:31:::0;::::1;;;;13485:7;;13496:2;13485:13;13467:31;:45;;;;;13511:1;13502:6;;:10;13467:45;13459:54;;;::::0;::::1;;13549:6;::::0;13534:21:::1;::::0;:12:::1;:21;:::i;:::-;13524:7;:31:::0;13566:13:::1;:20:::0;;-1:-1:-1;;13566:20:0::1;;;::::0;;13604:15:::1;::::0;::::1;::::0;13566:20;;13604:15:::1;13406:221::o:0;7269:423::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;7374:4:::1;-1:-1:-1::0;;;;;7350:29:0;::::1;::::0;7342:75:::1;;;::::0;-1:-1:-1;;;7342:75:0;;9601:2:1;7342:75:0::1;::::0;::::1;9583:21:1::0;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;-1:-1:-1;;;9730:18:1;;;9723:31;9771:19;;7342:75:0::1;9399:397:1::0;7342:75:0::1;7452:45;::::0;-1:-1:-1;;;7452:45:0;;7491:4:::1;7452:45;::::0;::::1;3576:51:1::0;7428:21:0::1;::::0;-1:-1:-1;;;;;7452:30:0;::::1;::::0;::::1;::::0;3549:18:1;;7452:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7428:69;;7532:1;7516:13;:17;7508:63;;;::::0;-1:-1:-1;;;7508:63:0;;10192:2:1;7508:63:0::1;::::0;::::1;10174:21:1::0;10231:2;10211:18;;;10204:30;10270:34;10250:18;;;10243:62;-1:-1:-1;;;10321:18:1;;;10314:31;10362:19;;7508:63:0::1;9990:397:1::0;7508:63:0::1;7582:56;::::0;-1:-1:-1;;;7582:56:0;;7612:10:::1;7582:56;::::0;::::1;10566:51:1::0;10633:18;;;10626:34;;;-1:-1:-1;;;;;7582:29:0;::::1;::::0;::::1;::::0;10539:18:1;;7582:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7656:28:0::1;::::0;7670:13;;7656:28:::1;::::0;;;::::1;7331:361;7269:423:::0;:::o;2058:192::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2147:22:0;::::1;2139:73;;;::::0;-1:-1:-1;;;2139:73:0;;11123:2:1;2139:73:0::1;::::0;::::1;11105:21:1::0;11162:2;11142:18;;;11135:30;11201:34;11181:18;;;11174:62;-1:-1:-1;;;11252:18:1;;;11245:36;11298:19;;2139:73:0::1;10921:402:1::0;2139:73:0::1;2223:19;2233:8;2223:9;:19::i;12555:167::-:0;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;12626:13:::1;::::0;::::1;::::0;::::1;;;12625:14;:26:::0;::::1;;;;12643:2;12649;12643:8;12625:26;12617:35;;;::::0;::::1;;12663:7;:12:::0;;;12701:13:::1;::::0;::::1;::::0;;;::::1;12555:167:::0;:::o;6171:308::-;-1:-1:-1;;;;;6266:20:0;;6258:52;;;;-1:-1:-1;;;6258:52:0;;11530:2:1;6258:52:0;;;11512:21:1;11569:2;11549:18;;;11542:30;-1:-1:-1;;;11588:18:1;;;11581:49;11647:18;;6258:52:0;11328:343:1;6258:52:0;-1:-1:-1;;;;;6329:21:0;;6321:53;;;;-1:-1:-1;;;6321:53:0;;11530:2:1;6321:53:0;;;11512:21:1;11569:2;11549:18;;;11542:30;-1:-1:-1;;;11588:18:1;;;11581:49;11647:18;;6321:53:0;11328:343:1;6321:53:0;-1:-1:-1;;;;;6385:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6438:33;;1361:25:1;;;6438:33:0;;1334:18:1;6438:33:0;;;;;;;6171:308;;;:::o;8414:1069::-;8515:4;8487;8493:2;4543:13;;;;;;;;;;;:47;;;-1:-1:-1;4568:7:0;:22;-1:-1:-1;;;;;4560:30:0;;;4568:22;;4560:30;4543:47;:74;;;-1:-1:-1;;;;;;4594:23:0;;;;;;:17;:23;;;;;;;;4543:74;4535:116;;;;-1:-1:-1;;;4535:116:0;;11878:2:1;4535:116:0;;;11860:21:1;11917:2;11897:18;;;11890:30;11956:31;11936:18;;;11929:59;12005:18;;4535:116:0;11676:353:1;4535:116:0;-1:-1:-1;;;;;8540:18:0;::::1;8532:68;;;::::0;-1:-1:-1;;;8532:68:0;;12236:2:1;8532:68:0::1;::::0;::::1;12218:21:1::0;12275:2;12255:18;;;12248:30;12314:34;12294:18;;;12287:62;-1:-1:-1;;;12365:18:1;;;12358:35;12410:19;;8532:68:0::1;12034:401:1::0;8532:68:0::1;-1:-1:-1::0;;;;;8619:16:0;::::1;8611:64;;;::::0;-1:-1:-1;;;8611:64:0;;12642:2:1;8611:64:0::1;::::0;::::1;12624:21:1::0;12681:2;12661:18;;;12654:30;12720:34;12700:18;;;12693:62;-1:-1:-1;;;12771:18:1;;;12764:33;12814:19;;8611:64:0::1;12440:399:1::0;8611:64:0::1;8699:11:::0;;;:21:::1;;-1:-1:-1::0;8714:6:0::1;::::0;::::1;;8699:21;8696:103;;;8744:32;8759:4;8765:2;8769:6;8744:14;:32::i;:::-;8737:39;;;;8696:103;8829:13;-1:-1:-1::0;;;;;8823:19:0::1;:2;-1:-1:-1::0;;;;;8823:19:0::1;;;:45;;;;-1:-1:-1::0;;;;;;8847:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8846:22;8823:45;:77;;;;-1:-1:-1::0;8878:7:0::1;:22:::0;-1:-1:-1;;;;;8872:28:0;;::::1;8878:22:::0;::::1;8872:28;;8823:77;8819:192;;;2957:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;2938:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;-1:-1:-1::0;;;;;5835:18:0;;5818:7;5835:18;;;:9;:18;;;;;;8925:22:::1;::::0;:6;:22:::1;:::i;:::-;:36;;8917:82;;;::::0;-1:-1:-1;;;8917:82:0;;13046:2:1;8917:82:0::1;::::0;::::1;13028:21:1::0;13085:2;13065:18;;;13058:30;13124:34;13104:18;;;13097:62;-1:-1:-1;;;13175:18:1;;;13168:31;13216:19;;8917:82:0::1;12844:397:1::0;8917:82:0::1;9027:6;::::0;::::1;;9026:7;:30:::0;::::1;;;;9043:13;-1:-1:-1::0;;;;;9037:19:0::1;:2;-1:-1:-1::0;;;;;9037:19:0::1;;9026:30;:58;;;;-1:-1:-1::0;;;;;;9061:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;::::1;;9060:24;9026:58;:84;;;;-1:-1:-1::0;;;;;;9089:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9088:22;9026:84;9023:135;;;9126:20;9139:6;9126:12;:20::i;:::-;9195:6;::::0;-1:-1:-1;;;;;9215:23:0;::::1;9179:12;9215:23:::0;;;:17:::1;:23;::::0;;;;;9195:6:::1;::::0;;::::1;9194:7;::::0;9215:23:::1;::::0;:48:::1;;-1:-1:-1::0;;;;;;9242:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9215:48;9212:95;;;-1:-1:-1::0;9290:5:0::1;9212:95;9338:7;9335:132;;;9367:32;9382:4;9388:2;9392:6;9367:14;:32::i;:::-;9360:39;;;;;9335:132;9435:32;9450:4;9456:2;9460:6;9435:14;:32::i;4662:1::-;8414:1069:::0;;;;;;;:::o;10972:637::-;4411:6;:13;;-1:-1:-1;;4411:13:0;4420:4;4411:13;;;:6;11067:24:::1;11085:4;-1:-1:-1::0;;;;;5835:18:0;5818:7;5835:18;;;:9;:18;;;;;;;5752:103;11067:24:::1;11041:50:::0;-1:-1:-1;3669:3:0::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11105:15;:32;:52;;;;11142:15;11150:6;11142:7;:15::i;:::-;11141:16;11105:52;11102:213;;;11173:7;;;11102:213;11233:17;::::0;3669:3:::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11216:34;;;;:::i;:::-;11198:15;:52;11195:120;;;11298:17;::::0;3669:3:::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11281:34;;;;:::i;:::-;11263:52;;11195:120;11364:21;11398:33;11415:15:::0;11398:16:::1;:33::i;:::-;11453:18;11474:41;11498:17:::0;11474:21:::1;:41;:::i;:::-;11453:62:::0;-1:-1:-1;11529:14:0;;11526:76:::1;;11571:19;11579:10;11571:7;:19::i;:::-;11027:582;;;4435:1;-1:-1:-1::0;4447:6:0;:14;;-1:-1:-1;;4447:14:0;;;10972:637::o;2258:173::-;2314:16;2333:6;;-1:-1:-1;;;;;2350:17:0;;;-1:-1:-1;;;;;;2350:17:0;;;;;;2383:40;;2333:6;;;;;;;2383:40;;2314:16;2383:40;2303:128;2258:173;:::o;9826:420::-;-1:-1:-1;;;;;9960:17:0;;9919:4;9960:17;;;:9;:17;;;;;;9996:23;;;;9988:63;;;;-1:-1:-1;;;9988:63:0;;13448:2:1;9988:63:0;;;13430:21:1;13487:2;13467:18;;;13460:30;13526:29;13506:18;;;13499:57;13573:18;;9988:63:0;13246:351:1;9988:63:0;-1:-1:-1;;;;;10086:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;10135:20;;;;;;;;:30;;10107:6;;10086:17;10135:30;;10107:6;;10135:30;:::i;:::-;;;;;;;;10198:9;-1:-1:-1;;;;;10181:35:0;10190:6;-1:-1:-1;;;;;10181:35:0;;10209:6;10181:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;10181:35:0;;;;;;;;-1:-1:-1;10234:4:0;;9826:420;-1:-1:-1;;;;9826:420:0:o;9491:326::-;9574:4;9591:12;9606:26;9615:4;9621:2;9625:6;9606:8;:26::i;:::-;9591:41;-1:-1:-1;9650:8:0;;9647:113;;9678:41;9693:4;9707;9714;9678:14;:41::i;:::-;-1:-1:-1;9734:14:0;9744:4;9734:14;;:::i;:::-;;;9647:113;9777:32;9792:4;9798:2;9802:6;9777:14;:32::i;:::-;9770:39;9491:326;-1:-1:-1;;;;;9491:326:0:o;10722:242::-;10777:4;10816:7;;10801:12;:22;:62;;;;-1:-1:-1;10846:12:0;10827:32;;;;:18;:32;;;;;;10862:1;-1:-1:-1;10801:62:0;:155;;;;-1:-1:-1;10892:17:0;;:22;:63;;10938:17;;3669:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;3650:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;10921:34;;;;:::i;:::-;10892:63;;;10917:1;10892:63;10881:6;:75;;10794:162;10722:242;-1:-1:-1;;10722:242:0:o;11995:552::-;12080:12;12061:32;;;;:18;:32;;;;;:34;;;;;;:::i;:::-;;;;-1:-1:-1;;12190:16:0;;;12204:1;12190:16;;;;;;;;12166:21;;12190:16;;;;;;;;;;-1:-1:-1;12190:16:0;12166:40;;12235:4;12217;12222:1;12217:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12217:23:0;;;-1:-1:-1;;;;;12217:23:0;;;;;3510:42;-1:-1:-1;;;;;12261:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12251:4;12256:1;12251:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12251:32:0;;;:7;;;;;;;;;;;:32;12300:214;;-1:-1:-1;;;12300:214:0;;3510:42;;12300:66;;:214;;12381:11;;12407:1;;12451:4;;12478;;12498:15;;12300:214;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12296:244;;12532:7;11995:552;:::o;11617:153::-;11698:25;;11673:12;;-1:-1:-1;;;;;11698:25:0;11737:11;11747:1;11737:9;:11;:::i;:::-;11690:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11617:153:0:o;10254:460::-;10336:12;10368:7;;10364:1;:11;:37;;;;;10389:12;10379:7;;:22;10364:37;10361:346;;;3199:3;10440:13;-1:-1:-1;;;;;10434:19:0;:2;-1:-1:-1;;;;;10434:19:0;;:76;;10492:11;:18;10434:76;;;10470:19;;10434:76;10424:87;;:6;:87;:::i;:::-;:104;;;;:::i;:::-;10417:111;;10361:346;;;3199:3;10606:13;-1:-1:-1;;;;;10598:21:0;:4;-1:-1:-1;;;;;10598:21:0;;:67;;10642:7;;:12;:22;;10662:2;10598:67;;10642:22;10657:2;10598:67;;;10636:2;10598:67;10588:78;;;;:6;:78;:::i;:::-;:95;;;;:::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:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2299:118::-;2385:5;2378:13;2371:21;2364:5;2361:32;2351:60;;2407:1;2404;2397:12;2422:750;2514:6;2522;2530;2583:2;2571:9;2562:7;2558:23;2554:32;2551:52;;;2599:1;2596;2589:12;2551:52;2639:9;2626:23;2668:18;2709:2;2701:6;2698:14;2695:34;;;2725:1;2722;2715:12;2695:34;2763:6;2752:9;2748:22;2738:32;;2808:7;2801:4;2797:2;2793:13;2789:27;2779:55;;2830:1;2827;2820:12;2779:55;2870:2;2857:16;2896:2;2888:6;2885:14;2882:34;;;2912:1;2909;2902:12;2882:34;2967:7;2960:4;2950:6;2947:1;2943:14;2939:2;2935:23;2931:34;2928:47;2925:67;;;2988:1;2985;2978:12;2925:67;3019:4;3011:13;;;;-1:-1:-1;3043:6:1;-1:-1:-1;;3084:20:1;;3071:34;3114:28;3071:34;3114:28;:::i;:::-;3161:5;3151:15;;;2422:750;;;;;:::o;3638:248::-;3706:6;3714;3767:2;3755:9;3746:7;3742:23;3738:32;3735:52;;;3783:1;3780;3773:12;3735:52;-1:-1:-1;;3806:23:1;;;3876:2;3861:18;;;3848:32;;-1:-1:-1;3638:248:1:o;4200:388::-;4268:6;4276;4329:2;4317:9;4308:7;4304:23;4300:32;4297:52;;;4345:1;4342;4335:12;4297:52;4384:9;4371:23;4403:31;4428:5;4403:31;:::i;:::-;4453:5;-1:-1:-1;4510:2:1;4495:18;;4482:32;4523:33;4482:32;4523:33;:::i;:::-;4575:7;4565:17;;;4200:388;;;;;:::o;4593:180::-;4652:6;4705:2;4693:9;4684:7;4680:23;4676:32;4673:52;;;4721:1;4718;4711:12;4673:52;-1:-1:-1;4744:23:1;;4593:180;-1:-1:-1;4593:180:1:o;4778:127::-;4839:10;4834:3;4830:20;4827:1;4820:31;4870:4;4867:1;4860:15;4894:4;4891:1;4884:15;4910:422;4999:1;5042:5;4999:1;5056:270;5077:7;5067:8;5064:21;5056:270;;;5136:4;5132:1;5128:6;5124:17;5118:4;5115:27;5112:53;;;5145:18;;:::i;:::-;5195:7;5185:8;5181:22;5178:55;;;5215:16;;;;5178:55;5294:22;;;;5254:15;;;;5056:270;;;5060:3;4910:422;;;;;:::o;5337:806::-;5386:5;5416:8;5406:80;;-1:-1:-1;5457:1:1;5471:5;;5406:80;5505:4;5495:76;;-1:-1:-1;5542:1:1;5556:5;;5495:76;5587:4;5605:1;5600:59;;;;5673:1;5668:130;;;;5580:218;;5600:59;5630:1;5621:10;;5644:5;;;5668:130;5705:3;5695:8;5692:17;5689:43;;;5712:18;;:::i;:::-;-1:-1:-1;;5768:1:1;5754:16;;5783:5;;5580:218;;5882:2;5872:8;5869:16;5863:3;5857:4;5854:13;5850:36;5844:2;5834:8;5831:16;5826:2;5820:4;5817:12;5813:35;5810:77;5807:159;;;-1:-1:-1;5919:19:1;;;5951:5;;5807:159;5998:34;6023:8;6017:4;5998:34;:::i;:::-;6068:6;6064:1;6060:6;6056:19;6047:7;6044:32;6041:58;;;6079:18;;:::i;:::-;6117:20;;5337:806;-1:-1:-1;;;5337:806:1:o;6148:140::-;6206:5;6235:47;6276:4;6266:8;6262:19;6256:4;6235:47;:::i;6293:168::-;6366:9;;;6397;;6414:15;;;6408:22;;6394:37;6384:71;;6435:18;;:::i;6466:356::-;6668:2;6650:21;;;6687:18;;;6680:30;6746:34;6741:2;6726:18;;6719:62;6813:2;6798:18;;6466:356::o;7939:128::-;8006:9;;;8027:11;;;8024:37;;;8041:18;;:::i;8072:127::-;8133:10;8128:3;8124:20;8121:1;8114:31;8164:4;8161:1;8154:15;8188:4;8185:1;8178:15;8204:127;8265:10;8260:3;8256:20;8253:1;8246:31;8296:4;8293:1;8286:15;8320:4;8317:1;8310:15;8336:217;8376:1;8402;8392:132;;8446:10;8441:3;8437:20;8434:1;8427:31;8481:4;8478:1;8471:15;8509:4;8506:1;8499:15;8392:132;-1:-1:-1;8538:9:1;;8336:217::o;9269:125::-;9334:9;;;9355:10;;;9352:36;;;9368:18;;:::i;9801:184::-;9871:6;9924:2;9912:9;9903:7;9899:23;9895:32;9892:52;;;9940:1;9937;9930:12;9892:52;-1:-1:-1;9963:16:1;;9801:184;-1:-1:-1;9801:184:1:o;10671:245::-;10738:6;10791:2;10779:9;10770:7;10766:23;10762:32;10759:52;;;10807:1;10804;10797:12;10759:52;10839:9;10833:16;10858:28;10880:5;10858:28;:::i;13602:135::-;13641:3;13662:17;;;13659:43;;13682:18;;:::i;:::-;-1:-1:-1;13729:1:1;13718:13;;13602:135::o;13874:251::-;13944:6;13997:2;13985:9;13976:7;13972:23;13968:32;13965:52;;;14013:1;14010;14003:12;13965:52;14045:9;14039:16;14064:31;14089:5;14064:31;:::i;14130:980::-;14392:4;14440:3;14429:9;14425:19;14471:6;14460:9;14453:25;14497:2;14535:6;14530:2;14519:9;14515:18;14508:34;14578:3;14573:2;14562:9;14558:18;14551:31;14602:6;14637;14631:13;14668:6;14660;14653:22;14706:3;14695:9;14691:19;14684:26;;14745:2;14737:6;14733:15;14719:29;;14766:1;14776:195;14790:6;14787:1;14784:13;14776:195;;;14855:13;;-1:-1:-1;;;;;14851:39:1;14839:52;;14946:15;;;;14911:12;;;;14887:1;14805:9;14776:195;;;-1:-1:-1;;;;;;;15027:32:1;;;;15022:2;15007:18;;15000:60;-1:-1:-1;;;15091:3:1;15076:19;15069:35;14988:3;14130:980;-1:-1:-1;;;14130:980:1:o

Swarm Source

ipfs://9192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.