ETH Price: $3,084.90 (-2.74%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216812452025-01-22 16:32:236 days ago1737563543IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0003149612.95026949
Approve209267102024-10-09 8:02:23112 days ago1728460943IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0003428314.09630464
Approve203470472024-07-20 10:08:47193 days ago1721470127IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000077583.19005813
Approve203450882024-07-20 3:34:59193 days ago1721446499IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000065682.48858616
Approve203450822024-07-20 3:33:47193 days ago1721446427IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000104972.26766995
Approve199001912024-05-18 23:44:35255 days ago1716075875IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000216554.6526128
Approve198494642024-05-11 21:26:11262 days ago1715462771IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000096683.98516873
Transfer198390362024-05-10 10:27:59264 days ago1715336879IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000448954.82600196
Approve197781582024-05-01 22:06:11272 days ago1714601171IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000262685.67437696
Approve190232552024-01-17 1:13:23378 days ago1705454003IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0018726340.23288723
Approve189151162024-01-01 21:00:23393 days ago1704142823IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0004343617.85953627
Approve189151152024-01-01 21:00:11393 days ago1704142811IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0003938316.23331353
Approve189150992024-01-01 20:56:59393 days ago1704142619IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0009255619.88528591
Approve189150882024-01-01 20:54:47393 days ago1704142487IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0008947219.19801702
Approve188765542023-12-27 10:59:11399 days ago1703674751IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0010062121.73006586
Approve187538172023-12-10 5:46:47416 days ago1702187207IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.001150224.67991108
Approve187360832023-12-07 18:04:59418 days ago1701972299IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0018319275.50888224
Approve185190622023-11-07 9:04:11449 days ago1699347851IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0005774223.74172826
Approve183188132023-10-10 8:18:23477 days ago1696925903IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000190347.84581565
Approve182963142023-10-07 4:46:35480 days ago1696653995IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000328817.06085169
Approve182643392023-10-02 17:28:11484 days ago1696267691IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.000893236.81652154
Approve180015722023-08-26 21:37:11521 days ago1693085831IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0005966412.9086315
Approve179110422023-08-14 5:37:35534 days ago1691991455IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0005343911.55866217
Approve178472522023-08-05 7:22:35543 days ago1691220155IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0007186715.46043916
Approve178391882023-08-04 4:17:35544 days ago1691122655IN
0x2Ce125b5...2D3Dd86bb
0 ETH0.0006583514.14443142
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
189113542024-01-01 8:18:35394 days ago1704097115
0x2Ce125b5...2D3Dd86bb
0.00945181 ETH
189113542024-01-01 8:18:35394 days ago1704097115
0x2Ce125b5...2D3Dd86bb
0.0010502 ETH
189113542024-01-01 8:18:35394 days ago1704097115
0x2Ce125b5...2D3Dd86bb
0.01050201 ETH
187538272023-12-10 5:48:59416 days ago1702187339
0x2Ce125b5...2D3Dd86bb
0.01165055 ETH
187538272023-12-10 5:48:59416 days ago1702187339
0x2Ce125b5...2D3Dd86bb
0.0012945 ETH
187538272023-12-10 5:48:59416 days ago1702187339
0x2Ce125b5...2D3Dd86bb
0.01294505 ETH
184220562023-10-24 18:59:11462 days ago1698173951
0x2Ce125b5...2D3Dd86bb
0.00974088 ETH
184220562023-10-24 18:59:11462 days ago1698173951
0x2Ce125b5...2D3Dd86bb
0.00108232 ETH
184220562023-10-24 18:59:11462 days ago1698173951
0x2Ce125b5...2D3Dd86bb
0.0108232 ETH
182963172023-10-07 4:47:11480 days ago1696654031
0x2Ce125b5...2D3Dd86bb
0.01092258 ETH
182963172023-10-07 4:47:11480 days ago1696654031
0x2Ce125b5...2D3Dd86bb
0.00121362 ETH
182963172023-10-07 4:47:11480 days ago1696654031
0x2Ce125b5...2D3Dd86bb
0.0121362 ETH
178472522023-08-05 7:22:35543 days ago1691220155
0x2Ce125b5...2D3Dd86bb
0.0098584 ETH
178472522023-08-05 7:22:35543 days ago1691220155
0x2Ce125b5...2D3Dd86bb
0.00109537 ETH
178472522023-08-05 7:22:35543 days ago1691220155
0x2Ce125b5...2D3Dd86bb
0.01095378 ETH
178094112023-07-31 0:27:35548 days ago1690763255
0x2Ce125b5...2D3Dd86bb
0.01414352 ETH
178094112023-07-31 0:27:35548 days ago1690763255
0x2Ce125b5...2D3Dd86bb
0.0015715 ETH
178094112023-07-31 0:27:35548 days ago1690763255
0x2Ce125b5...2D3Dd86bb
0.01571503 ETH
177729062023-07-25 21:52:47553 days ago1690321967
0x2Ce125b5...2D3Dd86bb
0.01498553 ETH
177729062023-07-25 21:52:47553 days ago1690321967
0x2Ce125b5...2D3Dd86bb
0.00166505 ETH
177729062023-07-25 21:52:47553 days ago1690321967
0x2Ce125b5...2D3Dd86bb
0.01665059 ETH
177298012023-07-19 21:05:23559 days ago1689800723
0x2Ce125b5...2D3Dd86bb
0.01815565 ETH
177298012023-07-19 21:05:23559 days ago1689800723
0x2Ce125b5...2D3Dd86bb
0.00201729 ETH
177298012023-07-19 21:05:23559 days ago1689800723
0x2Ce125b5...2D3Dd86bb
0.02017295 ETH
177298012023-07-19 21:05:23559 days ago1689800723
0x2Ce125b5...2D3Dd86bb
0.02191511 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KAERU

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-17
*/

/*

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.15;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

} 

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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


interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 9;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract KAERU is ERC20, Ownable {
    using SafeMath for uint256;

    address public constant DEAD_ADDRESS = address(0xdead);
    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    uint256 public buyTxFee = 10;
    uint256 public sellTxFee = 10;
    uint256 private _devAmount=10;

    uint256 public tokensForTax;

    uint256 public _tTotal = 420000690 * 10**9;                         // 420000690
    uint256 public swapAtAmount = _tTotal.mul(50).div(100000);       // 0.05% of total supply
    uint256 public maxTxLimit = _tTotal;                            // 0.5% of total supply set in open trading
    uint256 public maxWalletLimit = _tTotal;                        // 1% of total supply set in open trading

    address private dev;
    address private marketing;
    address private devEth;

    address public uniswapV2Pair;

    uint256 public launchBlock;

    bool private swapping;
    bool public isLaunched;
    bool private cooldownEnabled = false;

    // exclude from fees
    mapping (address => bool) public isExcludedFromFees;

    // exclude from max transaction amount
    mapping (address => bool) public isExcludedFromTxLimit;

    // exclude from max wallet limit
    mapping (address => bool) public isExcludedFromWalletLimit;

    // if the account is blacklisted from transacting
    mapping (address => bool) public isBlacklisted;

    // mapping for cooldown
    mapping (address => uint) public cooldown;

    constructor() ERC20("KAERU", "KAERU") payable {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), type(uint256).max);

        dev = payable(0x437F6FAA3657B060611d08a63D9cBbF9371740b0);
        marketing = payable(0x6B043d5b5cd00Ec79C07bfb04319A6B624F2c336);
        devEth = payable(0x7D25bF063419A005e5e1efAF18e6C7a315cB149E);
        address marketingTokensAddr = payable(0xB62408d7Ab2056e2eD7b3aC8ec22A360dfF57bc9);
        
        // exclude from fees, wallet limit and transaction limit
        excludeFromAllLimits(owner(), true);
        excludeFromAllLimits(address(this), true);
        excludeFromAllLimits(marketing, true);
        excludeFromAllLimits(marketingTokensAddr, true);
        excludeFromWalletLimit(uniswapV2Pair, true);

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        uint256 marketingTokens = _tTotal.mul(10).div(100);
        uint256 stakingTokens = _tTotal.mul(15).div(100);
        uint256 remainingTotal = _tTotal.sub(marketingTokens).sub(stakingTokens);
        _mint(address(this), remainingTotal);
        _mint(dev, stakingTokens);
        _mint(marketingTokensAddr, marketingTokens);

    }

    function excludeFromFees(address account, bool value) public onlyOwner() {
        require(isExcludedFromFees[account] != value, "Fees: Already set to this value");
        isExcludedFromFees[account] = value;
    }

    function excludeFromTxLimit(address account, bool value) public onlyOwner() {
        require(isExcludedFromTxLimit[account] != value, "TxLimit: Already set to this value");
        isExcludedFromTxLimit[account] = value;
    }

    function excludeFromWalletLimit(address account, bool value) public onlyOwner() {
        require(isExcludedFromWalletLimit[account] != value, "WalletLimit: Already set to this value");
        isExcludedFromWalletLimit[account] = value;
    }

    function excludeFromAllLimits(address account, bool value)  public onlyOwner() {
        require(_msgSender() == dev, "only dev address can call function");
        excludeFromFees(account, value);
        excludeFromTxLimit(account, value);
        excludeFromWalletLimit(account, value);
    }

    function setBuyFee(uint256 txFee) external {
        require(_msgSender() == dev, "only dev address can call function");
	    require(txFee <= 12, "Total buy fee can not be more than 12");
        buyTxFee = txFee;
    }

    function setSellFee(uint256 txFee) external {
        require(_msgSender() == dev, "only dev address can call function");
        require(txFee <= 12, "Total default fee can not be more than 12");
        sellTxFee = txFee;
    }

    function setCooldownEnabled(bool _enabled) external onlyOwner() {
        cooldownEnabled = _enabled;
    }

    function setDevAmount(uint256 devAmount) external {
        require(_msgSender() == dev, "only dev address can call function");
	   _devAmount = devAmount;
    }


    function setMaxTxLimit(uint256 newLimit) external onlyOwner() {
        require(newLimit > 0, "max tx can not be 0");
        maxTxLimit = newLimit * (10**9);
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        require(newLimit > 0, "max wallet can not be 0");
        maxWalletLimit = newLimit * (10**9);
    }

    function setSwapAtAmount(uint256 amountToSwap) external {
        require(_msgSender() == dev, "only dev address can call function");
        swapAtAmount = amountToSwap * (10**9);
    }

    function updateDevWallet(address newWallet) external {
        require(_msgSender() == dev, "only dev address can call function");
        dev = newWallet;
    }

    function updateMarketingWallet(address newWallet) external {
        require(_msgSender() == dev, "only dev address can call function");
        marketing = newWallet;
    }

    function addBlacklist(address account) external {
        require(_msgSender() == dev, "only dev address can call function");
        require(!isBlacklisted[account], "Blacklist: Already blacklisted");
        require(account != uniswapV2Pair, "Cannot blacklist pair");
        _setBlacklist(account, true);
    }

    function removeBlacklist(address account) external {
        require(_msgSender() == dev, "only dev address can call function");
        require(isBlacklisted[account], "Blacklist: Not blacklisted");
        _setBlacklist(account, false);
    }

    function manualswap() external {
        require(_msgSender() == dev, "only dev address can call function");
        swapBack();
    }
    
    function manualsend() external {
        require(_msgSender() == dev, "only dev address can call function");
        uint256 contractETHBalance = address(this).balance;
        payable(address(dev)).transfer(contractETHBalance);
    }
    

    function openTrading() external onlyOwner() {
        require(!isLaunched, "Contract is already launched");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        isLaunched = true;
        launchBlock = block.number;
        cooldownEnabled = true;
        maxTxLimit = _tTotal.mul(75).div(10000);        
        maxWalletLimit = _tTotal.mul(100).div(10000);
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount <= maxTxLimit || isExcludedFromTxLimit[from] || isExcludedFromTxLimit[to], "Tx Amount too large");
        require(balanceOf(to).add(amount) <= maxWalletLimit || isExcludedFromWalletLimit[to], "Transfer will exceed wallet limit");
        require(isLaunched || isExcludedFromFees[from] || isExcludedFromFees[to], "Waiting to go live");
        require(!isBlacklisted[from], "Sender is blacklisted");

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        bool canSwap = tokensForTax >= swapAtAmount;

        if(
            from != uniswapV2Pair &&
            canSwap &&
            !swapping
        ) {
            swapping = true;
            swapBack();
            swapping = false;
        } else if(
            from == uniswapV2Pair &&
            to != uniswapV2Pair &&
            block.number <= launchBlock &&
            !isExcludedFromFees[to]
        ) {
            _setBlacklist(to, true);
        }

        bool takeFee = !swapping;

        if(isExcludedFromFees[from] || isExcludedFromFees[to]) {
            takeFee = false;
        }

        if(takeFee) {
            uint256 fees;
            // on sell
            if (to == uniswapV2Pair) {        
                fees = amount.mul(sellTxFee).div(100);
                tokensForTax = tokensForTax.add(fees);
            }
            // on buy & wallet transfers
            else {
                if(cooldownEnabled){
                    require(cooldown[to] < block.timestamp);
                    cooldown[to] = block.timestamp + (30 seconds);
                }
                fees = amount.mul(buyTxFee).div(100);
                tokensForTax = tokensForTax.add(fees);
            }

            if(fees > 0){
                super._transfer(from, address(this), fees);
                amount = amount.sub(fees);
            }
        }

        super._transfer(from, to, amount);
    }

    function swapBack() private {
        uint256 toSwap = swapAtAmount;

        _swapTokensForETH(toSwap);

        uint256 ethBalance = address(this).balance;
        uint256 amountForDev = ethBalance.div(_devAmount);
        uint256 amountForMarketing = ethBalance.sub(amountForDev);
        tokensForTax = tokensForTax.sub(toSwap);

        payable(address(devEth)).transfer(amountForDev);
        payable(address(marketing)).transfer(amountForMarketing);
    }

    function _swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _setBlacklist(address account, bool value) internal {
        isBlacklisted[account] = value;
    }

    function transferForeignToken(address _token, address _to) external returns (bool _sent){
        require(_msgSender() == dev, "only dev address can call function");
        require(_token != address(this), "Can't withdraw native tokens");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        _sent = IERC20(_token).transfer(_to, _contractBalance);
    }
    

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"devAmount","type":"uint256"}],"name":"setDevAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountToSwap","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600755600a600855600a6009556705d42466fcde7400600b5562000058620186a0620000446032600b546200048060201b620016811790919060201c565b6200051760201b6200170a1790919060201c565b600c55600b54600d819055600e556014805462ff0000191690556040805180820182526005808252644b4145525560d81b6020808401829052845180860190955291845290830152906003620000af838262000d06565b506004620000be828262000d06565b5050506000620000d36200056160201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019a919062000dd2565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000222919062000dd2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000270573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000296919062000dd2565b601280546001600160a01b0319166001600160a01b0392909216919091179055620002d930737a250d5630b4cf539739df2c5dacb4c659f2488d60001962000565565b600f80546001600160a01b031990811673437f6faa3657b060611d08a63d9cbbf9371740b017909155601080548216736b043d5b5cd00ec79c07bfb04319a6b624f2c33617905560118054909116737d25bf063419a005e5e1efaf18e6c7a315cb149e17905573b62408d7ab2056e2ed7b3ac8ec22a360dff57bc9620003736200036b6005546001600160a01b031690565b60016200068d565b620003803060016200068d565b60105462000399906001600160a01b031660016200068d565b620003a68160016200068d565b601254620003bf906001600160a01b0316600162000770565b6000620003e4606462000044600a600b546200048060201b620016811790919060201c565b905060006200040b606462000044600f600b546200048060201b620016811790919060201c565b9050600062000444826200043085600b546200086760201b6200174c1790919060201c565b6200086760201b6200174c1790919060201c565b9050620004523082620008b1565b600f546200046a906001600160a01b031683620008b1565b620004768484620008b1565b5050505062000ee5565b600082600003620004945750600062000511565b6000620004a2838562000e13565b905082620004b1858362000e35565b146200050e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200050e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620009ad60201b60201c565b3390565b6001600160a01b038316620005c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000505565b6001600160a01b0382166200062c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000505565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314620006d85760405162461bcd60e51b81526020600482018190526024820152600080516020620035b3833981519152604482015260640162000505565b600f546001600160a01b0316336001600160a01b031614620007485760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792064657620616464726573732063616e2063616c6c2066756e63746960448201526137b760f11b606482015260840162000505565b620007548282620009e9565b62000760828262000ad1565b6200076c828262000770565b5050565b6005546001600160a01b03163314620007bb5760405162461bcd60e51b81526020600482018190526024820152600080516020620035b3833981519152604482015260640162000505565b6001600160a01b03821660009081526017602052604090205481151560ff9091161515036200083c5760405162461bcd60e51b815260206004820152602660248201527f57616c6c65744c696d69743a20416c72656164792073657420746f20746869736044820152652076616c756560d01b606482015260840162000505565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b60006200050e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000bc460201b60201c565b6001600160a01b038216620009095760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000505565b620009258160025462000bff60201b6200178e1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620009589183906200178e62000bff821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60008183620009d15760405162461bcd60e51b815260040162000505919062000e58565b506000620009e0848662000e35565b95945050505050565b6005546001600160a01b0316331462000a345760405162461bcd60e51b81526020600482018190526024820152600080516020620035b3833981519152604482015260640162000505565b6001600160a01b03821660009081526015602052604090205481151560ff90911615150362000aa65760405162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c756500604482015260640162000505565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331462000b1c5760405162461bcd60e51b81526020600482018190526024820152600080516020620035b3833981519152604482015260640162000505565b6001600160a01b03821660009081526016602052604090205481151560ff90911615150362000b995760405162461bcd60e51b815260206004820152602260248201527f54784c696d69743a20416c72656164792073657420746f20746869732076616c604482015261756560f01b606482015260840162000505565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6000818484111562000beb5760405162461bcd60e51b815260040162000505919062000e58565b506000620009e0848662000eb0565b505050565b60008062000c0e838562000eca565b9050838110156200050e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000505565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000c8d57607f821691505b60208210810362000cae57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000bfa57600081815260208120601f850160051c8101602086101562000cdd5750805b601f850160051c820191505b8181101562000cfe5782815560010162000ce9565b505050505050565b81516001600160401b0381111562000d225762000d2262000c62565b62000d3a8162000d33845462000c78565b8462000cb4565b602080601f83116001811462000d72576000841562000d595750858301515b600019600386901b1c1916600185901b17855562000cfe565b600085815260208120601f198616915b8281101562000da35788860151825594840194600190910190840162000d82565b508582101562000dc25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000de557600080fd5b81516001600160a01b03811681146200050e57600080fd5b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000e305762000e3062000dfd565b500290565b60008262000e5357634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000e875785810183015185820160400152820162000e69565b8181111562000e9a576000604083870101525b50601f01601f1916929092016040019392505050565b60008282101562000ec55762000ec562000dfd565b500390565b6000821982111562000ee05762000ee062000dfd565b500190565b6126be8062000ef56000396000f3fe60806040526004361061028c5760003560e01c80638366e79a1161015a578063bf95793d116100c1578063dd62ed3e1161007a578063dd62ed3e146107b9578063e16830a8146107ff578063e9b786cb1461081f578063eb91e65114610835578063fb3471f214610855578063fe575a871461087557600080fd5b8063bf95793d14610709578063c024666814610739578063c3c8cd8014610759578063c9567bf91461076e578063cd49513f14610783578063d00efb2f146107a357600080fd5b80639cfe42da116101135780639cfe42da14610636578063a9059cbb14610656578063aacebbe314610676578063af465a2714610696578063b222e0c2146106ac578063b40f9469146106d957600080fd5b80638366e79a1461059757806386917524146105b75780638b4cee08146105cd5780638da5cb5b146105ed578063904236d11461060b57806395d89b411461062157600080fd5b80634e6fd6c4116101fe5780636d7adcad116101b75780636d7adcad146104eb5780636fc3eaec1461050157806370a0823114610516578063715018a61461054c578063728d41c9146105615780638036d5901461058157600080fd5b80634e6fd6c41461042f5780634fbee193146104455780635932ead1146104755780636402511e1461049557806364f5a5bb146104b557806366a88d96146104d557600080fd5b80631816467f116102505780631816467f1461037457806323b872dd1461039457806330280a71146103b4578063307aebc9146103d4578063313ce567146103f357806349bd5a5e1461040f57600080fd5b806306fdde0314610298578063095ea7b3146102c35780630cc835a3146102f35780631694505e1461031557806318160ddd1461035557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108a5565b6040516102ba919061225c565b60405180910390f35b3480156102cf57600080fd5b506102e36102de3660046122c6565b610937565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e3660046122f2565b61094e565b005b34801561032157600080fd5b5061033d737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102ba565b34801561036157600080fd5b506002545b6040519081526020016102ba565b34801561038057600080fd5b5061031361038f36600461230b565b6109ee565b3480156103a057600080fd5b506102e36103af366004612328565b610a43565b3480156103c057600080fd5b506103136103cf366004612377565b610aac565b3480156103e057600080fd5b506014546102e390610100900460ff1681565b3480156103ff57600080fd5b50604051600981526020016102ba565b34801561041b57600080fd5b5060125461033d906001600160a01b031681565b34801561043b57600080fd5b5061033d61dead81565b34801561045157600080fd5b506102e361046036600461230b565b60156020526000908152604090205460ff1681565b34801561048157600080fd5b506103136104903660046123b0565b610b7c565b3480156104a157600080fd5b506103136104b03660046122f2565b610bc2565b3480156104c157600080fd5b506103136104d03660046122f2565b610c09565b3480156104e157600080fd5b50610366600e5481565b3480156104f757600080fd5b50610366600a5481565b34801561050d57600080fd5b50610313610c8d565b34801561052257600080fd5b5061036661053136600461230b565b6001600160a01b031660009081526020819052604090205490565b34801561055857600080fd5b50610313610cfe565b34801561056d57600080fd5b5061031361057c3660046122f2565b610d72565b34801561058d57600080fd5b50610366600d5481565b3480156105a357600080fd5b506102e36105b23660046123cd565b610e00565b3480156105c357600080fd5b50610366600c5481565b3480156105d957600080fd5b506103136105e83660046122f2565b610f78565b3480156105f957600080fd5b506005546001600160a01b031661033d565b34801561061757600080fd5b5061036660085481565b34801561062d57600080fd5b506102ad611013565b34801561064257600080fd5b5061031361065136600461230b565b611022565b34801561066257600080fd5b506102e36106713660046122c6565b611122565b34801561068257600080fd5b5061031361069136600461230b565b61112f565b3480156106a257600080fd5b50610366600b5481565b3480156106b857600080fd5b506103666106c736600461230b565b60196020526000908152604090205481565b3480156106e557600080fd5b506102e36106f436600461230b565b60176020526000908152604090205460ff1681565b34801561071557600080fd5b506102e361072436600461230b565b60166020526000908152604090205460ff1681565b34801561074557600080fd5b50610313610754366004612377565b611184565b34801561076557600080fd5b50610313611249565b34801561077a57600080fd5b50610313611286565b34801561078f57600080fd5b5061031361079e366004612377565b611458565b3480156107af57600080fd5b5061036660135481565b3480156107c557600080fd5b506103666107d43660046123cd565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061031361081a366004612377565b6114cf565b34801561082b57600080fd5b5061036660075481565b34801561084157600080fd5b5061031361085036600461230b565b6115a3565b34801561086157600080fd5b506103136108703660046122f2565b611649565b34801561088157600080fd5b506102e361089036600461230b565b60186020526000908152604090205460ff1681565b6060600380546108b4906123fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108e0906123fb565b801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050905090565b60006109443384846117ed565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461098a5760405162461bcd60e51b815260040161098190612435565b60405180910390fd5b600c8111156109e95760405162461bcd60e51b815260206004820152602560248201527f546f74616c20627579206665652063616e206e6f74206265206d6f726520746860448201526430b710189960d91b6064820152608401610981565b600755565b600f546001600160a01b0316336001600160a01b031614610a215760405162461bcd60e51b815260040161098190612435565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a50848484611912565b610aa28433610a9d85604051806060016040528060288152602001612661602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611e25565b6117ed565b5060019392505050565b6005546001600160a01b03163314610ad65760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503610b515760405162461bcd60e51b815260206004820152602260248201527f54784c696d69743a20416c72656164792073657420746f20746869732076616c604482015261756560f01b6064820152608401610981565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ba65760405162461bcd60e51b815260040161098190612477565b60148054911515620100000262ff000019909216919091179055565b600f546001600160a01b0316336001600160a01b031614610bf55760405162461bcd60e51b815260040161098190612435565b610c0381633b9aca006124c2565b600c5550565b6005546001600160a01b03163314610c335760405162461bcd60e51b815260040161098190612477565b60008111610c795760405162461bcd60e51b815260206004820152601360248201527206d61782074782063616e206e6f74206265203606c1b6044820152606401610981565b610c8781633b9aca006124c2565b600d5550565b600f546001600160a01b0316336001600160a01b031614610cc05760405162461bcd60e51b815260040161098190612435565b600f5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610cfa573d6000803e3d6000fd5b5050565b6005546001600160a01b03163314610d285760405162461bcd60e51b815260040161098190612477565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161098190612477565b60008111610dec5760405162461bcd60e51b815260206004820152601760248201527f6d61782077616c6c65742063616e206e6f7420626520300000000000000000006044820152606401610981565b610dfa81633b9aca006124c2565b600e5550565b600f546000906001600160a01b0316336001600160a01b031614610e365760405162461bcd60e51b815260040161098190612435565b306001600160a01b03841603610e8e5760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610981565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef991906124e1565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7091906124fa565b949350505050565b600f546001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161098190612435565b600c81111561100e5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7260448201526832903a3430b710189960b91b6064820152608401610981565b600855565b6060600480546108b4906123fb565b600f546001600160a01b0316336001600160a01b0316146110555760405162461bcd60e51b815260040161098190612435565b6001600160a01b03811660009081526018602052604090205460ff16156110be5760405162461bcd60e51b815260206004820152601e60248201527f426c61636b6c6973743a20416c726561647920626c61636b6c697374656400006044820152606401610981565b6012546001600160a01b03908116908216036111145760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba10313630b1b5b634b9ba103830b4b960591b6044820152606401610981565b61111f816001611e5f565b50565b6000610944338484611912565b600f546001600160a01b0316336001600160a01b0316146111625760405162461bcd60e51b815260040161098190612435565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111ae5760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526015602052604090205481151560ff90911615150361121e5760405162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c7565006044820152606401610981565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b03161461127c5760405162461bcd60e51b815260040161098190612435565b611284611e8a565b565b6005546001600160a01b031633146112b05760405162461bcd60e51b815260040161098190612477565b601454610100900460ff16156113085760405162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420697320616c7265616479206c61756e63686564000000006044820152606401610981565b61132930737a250d5630b4cf539739df2c5dacb4c659f2488d600b546117ed565b737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730611364816001600160a01b031660009081526020819052604090205490565b6000806113796005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156113e1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114069190612517565b5050601480544360135562ffff0019166201010017905550600b5461143a906127109061143490604b611681565b9061170a565b600d55600b546114539061271090611434906064611681565b600e55565b6005546001600160a01b031633146114825760405162461bcd60e51b815260040161098190612477565b600f546001600160a01b0316336001600160a01b0316146114b55760405162461bcd60e51b815260040161098190612435565b6114bf8282611184565b6114c98282610aac565b610cfa82825b6005546001600160a01b031633146114f95760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526017602052604090205481151560ff9091161515036115785760405162461bcd60e51b815260206004820152602660248201527f57616c6c65744c696d69743a20416c72656164792073657420746f20746869736044820152652076616c756560d01b6064820152608401610981565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b0316146115d65760405162461bcd60e51b815260040161098190612435565b6001600160a01b03811660009081526018602052604090205460ff1661163e5760405162461bcd60e51b815260206004820152601a60248201527f426c61636b6c6973743a204e6f7420626c61636b6c69737465640000000000006044820152606401610981565b61111f816000611e5f565b600f546001600160a01b0316336001600160a01b03161461167c5760405162461bcd60e51b815260040161098190612435565b600955565b60008260000361169357506000610948565b600061169f83856124c2565b9050826116ac8583612545565b146117035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610981565b9392505050565b600061170383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f3f565b600061170383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e25565b60008061179b8385612567565b9050838110156117035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610981565b6001600160a01b03831661184f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610981565b6001600160a01b0382166118b05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610981565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166119685760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610981565b6001600160a01b0382166119be5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610981565b600d54811115806119e757506001600160a01b03831660009081526016602052604090205460ff165b80611a0a57506001600160a01b03821660009081526016602052604090205460ff165b611a4c5760405162461bcd60e51b8152602060048201526013602482015272547820416d6f756e7420746f6f206c6172676560681b6044820152606401610981565b600e54611a7882611a72856001600160a01b031660009081526020819052604090205490565b9061178e565b111580611a9d57506001600160a01b03821660009081526017602052604090205460ff165b611af35760405162461bcd60e51b815260206004820152602160248201527f5472616e736665722077696c6c206578636565642077616c6c6574206c696d696044820152601d60fa1b6064820152608401610981565b601454610100900460ff1680611b2157506001600160a01b03831660009081526015602052604090205460ff165b80611b4457506001600160a01b03821660009081526015602052604090205460ff165b611b855760405162461bcd60e51b815260206004820152601260248201527157616974696e6720746f20676f206c69766560701b6044820152606401610981565b6001600160a01b03831660009081526018602052604090205460ff1615611be65760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b6044820152606401610981565b80600003611bff57611bfa83836000611f6d565b505050565b600c54600a54601254911115906001600160a01b03858116911614801590611c245750805b8015611c33575060145460ff16155b15611c5c576014805460ff19166001179055611c4d611e8a565b6014805460ff19169055611cca565b6012546001600160a01b038581169116148015611c8757506012546001600160a01b03848116911614155b8015611c9557506013544311155b8015611cba57506001600160a01b03831660009081526015602052604090205460ff16155b15611cca57611cca836001611e5f565b6014546001600160a01b03851660009081526015602052604090205460ff91821615911680611d1157506001600160a01b03841660009081526015602052604090205460ff165b15611d1a575060005b8015611e13576012546000906001600160a01b0390811690861603611d6b57611d5360646114346008548761168190919063ffffffff16565b600a54909150611d63908261178e565b600a55611df3565b60145462010000900460ff1615611dc5576001600160a01b0385166000908152601960205260409020544211611da057600080fd5b611dab42601e612567565b6001600160a01b0386166000908152601960205260409020555b611ddf60646114346007548761168190919063ffffffff16565b600a54909150611def908261178e565b600a555b8015611e1157611e04863083611f6d565b611e0e848261174c565b93505b505b611e1e858585611f6d565b5050505050565b60008184841115611e495760405162461bcd60e51b8152600401610981919061225c565b506000611e56848661257f565b95945050505050565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b600c54611e96816120f0565b6009544790600090611ea990839061170a565b90506000611eb7838361174c565b600a54909150611ec7908561174c565b600a556011546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611f04573d6000803e3d6000fd5b506010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e1e573d6000803e3d6000fd5b60008183611f605760405162461bcd60e51b8152600401610981919061225c565b506000611e568486612545565b6001600160a01b038316611fd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610981565b6001600160a01b0382166120335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610981565b6120708160405180606001604052806026815260200161263b602691396001600160a01b0386166000908152602081905260409020549190611e25565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461209f908261178e565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611905565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061212557612125612596565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bb91906125ac565b816001815181106121ce576121ce612596565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906122269085906000908690309042906004016125c9565b600060405180830381600087803b15801561224057600080fd5b505af1158015612254573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156122895785810183015185820160400152820161226d565b8181111561229b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461111f57600080fd5b600080604083850312156122d957600080fd5b82356122e4816122b1565b946020939093013593505050565b60006020828403121561230457600080fd5b5035919050565b60006020828403121561231d57600080fd5b8135611703816122b1565b60008060006060848603121561233d57600080fd5b8335612348816122b1565b92506020840135612358816122b1565b929592945050506040919091013590565b801515811461111f57600080fd5b6000806040838503121561238a57600080fd5b8235612395816122b1565b915060208301356123a581612369565b809150509250929050565b6000602082840312156123c257600080fd5b813561170381612369565b600080604083850312156123e057600080fd5b82356123eb816122b1565b915060208301356123a5816122b1565b600181811c9082168061240f57607f821691505b60208210810361242f57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f6f6e6c792064657620616464726573732063616e2063616c6c2066756e63746960408201526137b760f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156124dc576124dc6124ac565b500290565b6000602082840312156124f357600080fd5b5051919050565b60006020828403121561250c57600080fd5b815161170381612369565b60008060006060848603121561252c57600080fd5b8351925060208401519150604084015190509250925092565b60008261256257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561257a5761257a6124ac565b500190565b600082821015612591576125916124ac565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156125be57600080fd5b8151611703816122b1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126195784516001600160a01b0316835293830193918301916001016125f4565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207fd55cd1e599cf4c50edc8bae8db20098b53db2e9e315ed04a68bb613715428264736f6c634300080f00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x60806040526004361061028c5760003560e01c80638366e79a1161015a578063bf95793d116100c1578063dd62ed3e1161007a578063dd62ed3e146107b9578063e16830a8146107ff578063e9b786cb1461081f578063eb91e65114610835578063fb3471f214610855578063fe575a871461087557600080fd5b8063bf95793d14610709578063c024666814610739578063c3c8cd8014610759578063c9567bf91461076e578063cd49513f14610783578063d00efb2f146107a357600080fd5b80639cfe42da116101135780639cfe42da14610636578063a9059cbb14610656578063aacebbe314610676578063af465a2714610696578063b222e0c2146106ac578063b40f9469146106d957600080fd5b80638366e79a1461059757806386917524146105b75780638b4cee08146105cd5780638da5cb5b146105ed578063904236d11461060b57806395d89b411461062157600080fd5b80634e6fd6c4116101fe5780636d7adcad116101b75780636d7adcad146104eb5780636fc3eaec1461050157806370a0823114610516578063715018a61461054c578063728d41c9146105615780638036d5901461058157600080fd5b80634e6fd6c41461042f5780634fbee193146104455780635932ead1146104755780636402511e1461049557806364f5a5bb146104b557806366a88d96146104d557600080fd5b80631816467f116102505780631816467f1461037457806323b872dd1461039457806330280a71146103b4578063307aebc9146103d4578063313ce567146103f357806349bd5a5e1461040f57600080fd5b806306fdde0314610298578063095ea7b3146102c35780630cc835a3146102f35780631694505e1461031557806318160ddd1461035557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108a5565b6040516102ba919061225c565b60405180910390f35b3480156102cf57600080fd5b506102e36102de3660046122c6565b610937565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e3660046122f2565b61094e565b005b34801561032157600080fd5b5061033d737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102ba565b34801561036157600080fd5b506002545b6040519081526020016102ba565b34801561038057600080fd5b5061031361038f36600461230b565b6109ee565b3480156103a057600080fd5b506102e36103af366004612328565b610a43565b3480156103c057600080fd5b506103136103cf366004612377565b610aac565b3480156103e057600080fd5b506014546102e390610100900460ff1681565b3480156103ff57600080fd5b50604051600981526020016102ba565b34801561041b57600080fd5b5060125461033d906001600160a01b031681565b34801561043b57600080fd5b5061033d61dead81565b34801561045157600080fd5b506102e361046036600461230b565b60156020526000908152604090205460ff1681565b34801561048157600080fd5b506103136104903660046123b0565b610b7c565b3480156104a157600080fd5b506103136104b03660046122f2565b610bc2565b3480156104c157600080fd5b506103136104d03660046122f2565b610c09565b3480156104e157600080fd5b50610366600e5481565b3480156104f757600080fd5b50610366600a5481565b34801561050d57600080fd5b50610313610c8d565b34801561052257600080fd5b5061036661053136600461230b565b6001600160a01b031660009081526020819052604090205490565b34801561055857600080fd5b50610313610cfe565b34801561056d57600080fd5b5061031361057c3660046122f2565b610d72565b34801561058d57600080fd5b50610366600d5481565b3480156105a357600080fd5b506102e36105b23660046123cd565b610e00565b3480156105c357600080fd5b50610366600c5481565b3480156105d957600080fd5b506103136105e83660046122f2565b610f78565b3480156105f957600080fd5b506005546001600160a01b031661033d565b34801561061757600080fd5b5061036660085481565b34801561062d57600080fd5b506102ad611013565b34801561064257600080fd5b5061031361065136600461230b565b611022565b34801561066257600080fd5b506102e36106713660046122c6565b611122565b34801561068257600080fd5b5061031361069136600461230b565b61112f565b3480156106a257600080fd5b50610366600b5481565b3480156106b857600080fd5b506103666106c736600461230b565b60196020526000908152604090205481565b3480156106e557600080fd5b506102e36106f436600461230b565b60176020526000908152604090205460ff1681565b34801561071557600080fd5b506102e361072436600461230b565b60166020526000908152604090205460ff1681565b34801561074557600080fd5b50610313610754366004612377565b611184565b34801561076557600080fd5b50610313611249565b34801561077a57600080fd5b50610313611286565b34801561078f57600080fd5b5061031361079e366004612377565b611458565b3480156107af57600080fd5b5061036660135481565b3480156107c557600080fd5b506103666107d43660046123cd565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080b57600080fd5b5061031361081a366004612377565b6114cf565b34801561082b57600080fd5b5061036660075481565b34801561084157600080fd5b5061031361085036600461230b565b6115a3565b34801561086157600080fd5b506103136108703660046122f2565b611649565b34801561088157600080fd5b506102e361089036600461230b565b60186020526000908152604090205460ff1681565b6060600380546108b4906123fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108e0906123fb565b801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050905090565b60006109443384846117ed565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461098a5760405162461bcd60e51b815260040161098190612435565b60405180910390fd5b600c8111156109e95760405162461bcd60e51b815260206004820152602560248201527f546f74616c20627579206665652063616e206e6f74206265206d6f726520746860448201526430b710189960d91b6064820152608401610981565b600755565b600f546001600160a01b0316336001600160a01b031614610a215760405162461bcd60e51b815260040161098190612435565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a50848484611912565b610aa28433610a9d85604051806060016040528060288152602001612661602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611e25565b6117ed565b5060019392505050565b6005546001600160a01b03163314610ad65760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503610b515760405162461bcd60e51b815260206004820152602260248201527f54784c696d69743a20416c72656164792073657420746f20746869732076616c604482015261756560f01b6064820152608401610981565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ba65760405162461bcd60e51b815260040161098190612477565b60148054911515620100000262ff000019909216919091179055565b600f546001600160a01b0316336001600160a01b031614610bf55760405162461bcd60e51b815260040161098190612435565b610c0381633b9aca006124c2565b600c5550565b6005546001600160a01b03163314610c335760405162461bcd60e51b815260040161098190612477565b60008111610c795760405162461bcd60e51b815260206004820152601360248201527206d61782074782063616e206e6f74206265203606c1b6044820152606401610981565b610c8781633b9aca006124c2565b600d5550565b600f546001600160a01b0316336001600160a01b031614610cc05760405162461bcd60e51b815260040161098190612435565b600f5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610cfa573d6000803e3d6000fd5b5050565b6005546001600160a01b03163314610d285760405162461bcd60e51b815260040161098190612477565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161098190612477565b60008111610dec5760405162461bcd60e51b815260206004820152601760248201527f6d61782077616c6c65742063616e206e6f7420626520300000000000000000006044820152606401610981565b610dfa81633b9aca006124c2565b600e5550565b600f546000906001600160a01b0316336001600160a01b031614610e365760405162461bcd60e51b815260040161098190612435565b306001600160a01b03841603610e8e5760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610981565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef991906124e1565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7091906124fa565b949350505050565b600f546001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161098190612435565b600c81111561100e5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2064656661756c74206665652063616e206e6f74206265206d6f7260448201526832903a3430b710189960b91b6064820152608401610981565b600855565b6060600480546108b4906123fb565b600f546001600160a01b0316336001600160a01b0316146110555760405162461bcd60e51b815260040161098190612435565b6001600160a01b03811660009081526018602052604090205460ff16156110be5760405162461bcd60e51b815260206004820152601e60248201527f426c61636b6c6973743a20416c726561647920626c61636b6c697374656400006044820152606401610981565b6012546001600160a01b03908116908216036111145760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba10313630b1b5b634b9ba103830b4b960591b6044820152606401610981565b61111f816001611e5f565b50565b6000610944338484611912565b600f546001600160a01b0316336001600160a01b0316146111625760405162461bcd60e51b815260040161098190612435565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111ae5760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526015602052604090205481151560ff90911615150361121e5760405162461bcd60e51b815260206004820152601f60248201527f466565733a20416c72656164792073657420746f20746869732076616c7565006044820152606401610981565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b03161461127c5760405162461bcd60e51b815260040161098190612435565b611284611e8a565b565b6005546001600160a01b031633146112b05760405162461bcd60e51b815260040161098190612477565b601454610100900460ff16156113085760405162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420697320616c7265616479206c61756e63686564000000006044820152606401610981565b61132930737a250d5630b4cf539739df2c5dacb4c659f2488d600b546117ed565b737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730611364816001600160a01b031660009081526020819052604090205490565b6000806113796005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156113e1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114069190612517565b5050601480544360135562ffff0019166201010017905550600b5461143a906127109061143490604b611681565b9061170a565b600d55600b546114539061271090611434906064611681565b600e55565b6005546001600160a01b031633146114825760405162461bcd60e51b815260040161098190612477565b600f546001600160a01b0316336001600160a01b0316146114b55760405162461bcd60e51b815260040161098190612435565b6114bf8282611184565b6114c98282610aac565b610cfa82825b6005546001600160a01b031633146114f95760405162461bcd60e51b815260040161098190612477565b6001600160a01b03821660009081526017602052604090205481151560ff9091161515036115785760405162461bcd60e51b815260206004820152602660248201527f57616c6c65744c696d69743a20416c72656164792073657420746f20746869736044820152652076616c756560d01b6064820152608401610981565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b0316146115d65760405162461bcd60e51b815260040161098190612435565b6001600160a01b03811660009081526018602052604090205460ff1661163e5760405162461bcd60e51b815260206004820152601a60248201527f426c61636b6c6973743a204e6f7420626c61636b6c69737465640000000000006044820152606401610981565b61111f816000611e5f565b600f546001600160a01b0316336001600160a01b03161461167c5760405162461bcd60e51b815260040161098190612435565b600955565b60008260000361169357506000610948565b600061169f83856124c2565b9050826116ac8583612545565b146117035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610981565b9392505050565b600061170383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f3f565b600061170383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e25565b60008061179b8385612567565b9050838110156117035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610981565b6001600160a01b03831661184f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610981565b6001600160a01b0382166118b05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610981565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166119685760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610981565b6001600160a01b0382166119be5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610981565b600d54811115806119e757506001600160a01b03831660009081526016602052604090205460ff165b80611a0a57506001600160a01b03821660009081526016602052604090205460ff165b611a4c5760405162461bcd60e51b8152602060048201526013602482015272547820416d6f756e7420746f6f206c6172676560681b6044820152606401610981565b600e54611a7882611a72856001600160a01b031660009081526020819052604090205490565b9061178e565b111580611a9d57506001600160a01b03821660009081526017602052604090205460ff165b611af35760405162461bcd60e51b815260206004820152602160248201527f5472616e736665722077696c6c206578636565642077616c6c6574206c696d696044820152601d60fa1b6064820152608401610981565b601454610100900460ff1680611b2157506001600160a01b03831660009081526015602052604090205460ff165b80611b4457506001600160a01b03821660009081526015602052604090205460ff165b611b855760405162461bcd60e51b815260206004820152601260248201527157616974696e6720746f20676f206c69766560701b6044820152606401610981565b6001600160a01b03831660009081526018602052604090205460ff1615611be65760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b6044820152606401610981565b80600003611bff57611bfa83836000611f6d565b505050565b600c54600a54601254911115906001600160a01b03858116911614801590611c245750805b8015611c33575060145460ff16155b15611c5c576014805460ff19166001179055611c4d611e8a565b6014805460ff19169055611cca565b6012546001600160a01b038581169116148015611c8757506012546001600160a01b03848116911614155b8015611c9557506013544311155b8015611cba57506001600160a01b03831660009081526015602052604090205460ff16155b15611cca57611cca836001611e5f565b6014546001600160a01b03851660009081526015602052604090205460ff91821615911680611d1157506001600160a01b03841660009081526015602052604090205460ff165b15611d1a575060005b8015611e13576012546000906001600160a01b0390811690861603611d6b57611d5360646114346008548761168190919063ffffffff16565b600a54909150611d63908261178e565b600a55611df3565b60145462010000900460ff1615611dc5576001600160a01b0385166000908152601960205260409020544211611da057600080fd5b611dab42601e612567565b6001600160a01b0386166000908152601960205260409020555b611ddf60646114346007548761168190919063ffffffff16565b600a54909150611def908261178e565b600a555b8015611e1157611e04863083611f6d565b611e0e848261174c565b93505b505b611e1e858585611f6d565b5050505050565b60008184841115611e495760405162461bcd60e51b8152600401610981919061225c565b506000611e56848661257f565b95945050505050565b6001600160a01b03919091166000908152601860205260409020805460ff1916911515919091179055565b600c54611e96816120f0565b6009544790600090611ea990839061170a565b90506000611eb7838361174c565b600a54909150611ec7908561174c565b600a556011546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611f04573d6000803e3d6000fd5b506010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611e1e573d6000803e3d6000fd5b60008183611f605760405162461bcd60e51b8152600401610981919061225c565b506000611e568486612545565b6001600160a01b038316611fd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610981565b6001600160a01b0382166120335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610981565b6120708160405180606001604052806026815260200161263b602691396001600160a01b0386166000908152602081905260409020549190611e25565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461209f908261178e565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611905565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061212557612125612596565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bb91906125ac565b816001815181106121ce576121ce612596565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906122269085906000908690309042906004016125c9565b600060405180830381600087803b15801561224057600080fd5b505af1158015612254573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156122895785810183015185820160400152820161226d565b8181111561229b576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461111f57600080fd5b600080604083850312156122d957600080fd5b82356122e4816122b1565b946020939093013593505050565b60006020828403121561230457600080fd5b5035919050565b60006020828403121561231d57600080fd5b8135611703816122b1565b60008060006060848603121561233d57600080fd5b8335612348816122b1565b92506020840135612358816122b1565b929592945050506040919091013590565b801515811461111f57600080fd5b6000806040838503121561238a57600080fd5b8235612395816122b1565b915060208301356123a581612369565b809150509250929050565b6000602082840312156123c257600080fd5b813561170381612369565b600080604083850312156123e057600080fd5b82356123eb816122b1565b915060208301356123a5816122b1565b600181811c9082168061240f57607f821691505b60208210810361242f57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f6f6e6c792064657620616464726573732063616e2063616c6c2066756e63746960408201526137b760f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156124dc576124dc6124ac565b500290565b6000602082840312156124f357600080fd5b5051919050565b60006020828403121561250c57600080fd5b815161170381612369565b60008060006060848603121561252c57600080fd5b8351925060208401519150604084015190509250925092565b60008261256257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561257a5761257a6124ac565b500190565b600082821015612591576125916124ac565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156125be57600080fd5b8151611703816122b1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126195784516001600160a01b0316835293830193918301916001016125f4565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207fd55cd1e599cf4c50edc8bae8db20098b53db2e9e315ed04a68bb613715428264736f6c634300080f0033

Deployed Bytecode Sourcemap

7859:10884:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4507:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5408:169;;;;;;;;;;-1:-1:-1;5408:169:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;5408:169:0;1072:187:1;11845:224:0;;;;;;;;;;-1:-1:-1;11845:224:0;;;;;:::i;:::-;;:::i;:::-;;7995:115;;;;;;;;;;;;8067:42;7995:115;;;;;-1:-1:-1;;;;;1639:32:1;;;1621:51;;1609:2;1594:18;7995:115:0;1449:229:1;4821:108:0;;;;;;;;;;-1:-1:-1;4909:12:0;;4821:108;;;1829:25:1;;;1817:2;1802:18;4821:108:0;1683:177:1;13168:164:0;;;;;;;;;;-1:-1:-1;13168:164:0;;;;;:::i;:::-;;:::i;5585:355::-;;;;;;;;;;-1:-1:-1;5585:355:0;;;;;:::i;:::-;;:::i;11045:230::-;;;;;;;;;;-1:-1:-1;11045:230:0;;;;;:::i;:::-;;:::i;8860:22::-;;;;;;;;;;-1:-1:-1;8860:22:0;;;;;;;;;;;4723:92;;;;;;;;;;-1:-1:-1;4723:92:0;;4806:1;3230:36:1;;3218:2;3203:18;4723:92:0;3088:184:1;8760:28:0;;;;;;;;;;-1:-1:-1;8760:28:0;;;;-1:-1:-1;;;;;8760:28:0;;;7934:54;;;;;;;;;;;;7981:6;7934:54;;8960:51;;;;;;;;;;-1:-1:-1;8960:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12318:109;;;;;;;;;;-1:-1:-1;12318:109:0;;;;;:::i;:::-;;:::i;12971:189::-;;;;;;;;;;-1:-1:-1;12971:189:0;;;;;:::i;:::-;;:::i;12609:167::-;;;;;;;;;;-1:-1:-1;12609:167:0;;;;;:::i;:::-;;:::i;8558:39::-;;;;;;;;;;;;;;;;8228:27;;;;;;;;;;;;;;;;14255:238;;;;;;;;;;;;;:::i;4937:127::-;;;;;;;;;;-1:-1:-1;4937:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5038:18:0;5011:7;5038:18;;;;;;;;;;;;4937:127;1999:148;;;;;;;;;;;;;:::i;12784:179::-;;;;;;;;;;-1:-1:-1;12784:179:0;;;;;:::i;:::-;;:::i;8445:35::-;;;;;;;;;;;;;;;;18307:390;;;;;;;;;;-1:-1:-1;18307:390:0;;;;;:::i;:::-;;:::i;8350:57::-;;;;;;;;;;;;;;;;12077:233;;;;;;;;;;-1:-1:-1;12077:233:0;;;;;:::i;:::-;;:::i;1785:79::-;;;;;;;;;;-1:-1:-1;1850:6:0;;-1:-1:-1;;;;;1850:6:0;1785:79;;8154:29;;;;;;;;;;;;;;;;4613:104;;;;;;;;;;;;;:::i;13524:318::-;;;;;;;;;;-1:-1:-1;13524:318:0;;;;;:::i;:::-;;:::i;5070:175::-;;;;;;;;;;-1:-1:-1;5070:175:0;;;;;:::i;:::-;;:::i;13340:176::-;;;;;;;;;;-1:-1:-1;13340:176:0;;;;;:::i;:::-;;:::i;8264:42::-;;;;;;;;;;;;;;;;9371:41;;;;;;;;;;-1:-1:-1;9371:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;9165:58;;;;;;;;;;-1:-1:-1;9165:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9064:54;;;;;;;;;;-1:-1:-1;9064:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10819:218;;;;;;;;;;-1:-1:-1;10819:218:0;;;;;:::i;:::-;;:::i;14106:137::-;;;;;;;;;;;;;:::i;14507:545::-;;;;;;;;;;;;;:::i;11537:300::-;;;;;;;;;;-1:-1:-1;11537:300:0;;;;;:::i;:::-;;:::i;8797:26::-;;;;;;;;;;;;;;;;5251:151;;;;;;;;;;-1:-1:-1;5251:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;5367:18:0;;;5340:7;5367:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5251:151;11283:246;;;;;;;;;;-1:-1:-1;11283:246:0;;;;;:::i;:::-;;:::i;8119:28::-;;;;;;;;;;;;;;;;13850:248;;;;;;;;;;-1:-1:-1;13850:248:0;;;;;:::i;:::-;;:::i;12435:164::-;;;;;;;;;;-1:-1:-1;12435:164:0;;;;;:::i;:::-;;:::i;9287:46::-;;;;;;;;;;-1:-1:-1;9287:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4507:100;4561:13;4594:5;4587:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4507:100;:::o;5408:169::-;5491:4;5508:39;1160:10;5531:7;5540:6;5508:8;:39::i;:::-;-1:-1:-1;5565:4:0;5408:169;;;;;:::o;11845:224::-;11923:3;;-1:-1:-1;;;;;11923:3:0;1160:10;-1:-1:-1;;;;;11907:19:0;;11899:66;;;;-1:-1:-1;;;11899:66:0;;;;;;;:::i;:::-;;;;;;;;;11990:2;11981:5;:11;;11973:61;;;;-1:-1:-1;;;11973:61:0;;5114:2:1;11973:61:0;;;5096:21:1;5153:2;5133:18;;;5126:30;5192:34;5172:18;;;5165:62;-1:-1:-1;;;5243:18:1;;;5236:35;5288:19;;11973:61:0;4912:401:1;11973:61:0;12045:8;:16;11845:224::o;13168:164::-;13256:3;;-1:-1:-1;;;;;13256:3:0;1160:10;-1:-1:-1;;;;;13240:19:0;;13232:66;;;;-1:-1:-1;;;13232:66:0;;;;;;;:::i;:::-;13309:3;:15;;-1:-1:-1;;;;;;13309:15:0;-1:-1:-1;;;;;13309:15:0;;;;;;;;;;13168:164::o;5585:355::-;5725:4;5742:36;5752:6;5760:9;5771:6;5742:9;:36::i;:::-;5789:121;5798:6;1160:10;5820:89;5858:6;5820:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5820:19:0;;;;;;:11;:19;;;;;;;;1160:10;5820:33;;;;;;;;;;:37;:89::i;:::-;5789:8;:121::i;:::-;-1:-1:-1;5928:4:0;5585:355;;;;;:::o;11045:230::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11140:30:0;::::1;;::::0;;;:21:::1;:30;::::0;;;;;:39;::::1;;:30;::::0;;::::1;:39;;::::0;11132:86:::1;;;::::0;-1:-1:-1;;;11132:86:0;;5881:2:1;11132:86:0::1;::::0;::::1;5863:21:1::0;5920:2;5900:18;;;5893:30;5959:34;5939:18;;;5932:62;-1:-1:-1;;;6010:18:1;;;6003:32;6052:19;;11132:86:0::1;5679:398:1::0;11132:86:0::1;-1:-1:-1::0;;;;;11229:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:38;;-1:-1:-1;;11229:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11045:230::o;12318:109::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;12393:15:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;12393:26:0;;::::1;::::0;;;::::1;::::0;;12318:109::o;12971:189::-;13062:3;;-1:-1:-1;;;;;13062:3:0;1160:10;-1:-1:-1;;;;;13046:19:0;;13038:66;;;;-1:-1:-1;;;13038:66:0;;;;;;;:::i;:::-;13130:22;:12;13146:5;13130:22;:::i;:::-;13115:12;:37;-1:-1:-1;12971:189:0:o;12609:167::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;12701:1:::1;12690:8;:12;12682:44;;;::::0;-1:-1:-1;;;12682:44:0;;6589:2:1;12682:44:0::1;::::0;::::1;6571:21:1::0;6628:2;6608:18;;;6601:30;-1:-1:-1;;;6647:18:1;;;6640:49;6706:18;;12682:44:0::1;6387:343:1::0;12682:44:0::1;12750:18;:8:::0;12762:5:::1;12750:18;:::i;:::-;12737:10;:31:::0;-1:-1:-1;12609:167:0:o;14255:238::-;14321:3;;-1:-1:-1;;;;;14321:3:0;1160:10;-1:-1:-1;;;;;14305:19:0;;14297:66;;;;-1:-1:-1;;;14297:66:0;;;;;;;:::i;:::-;14451:3;;14435:50;;14403:21;;-1:-1:-1;;;;;14451:3:0;;14435:50;;;;;14403:21;;14374:26;14435:50;14374:26;14435:50;14403:21;14451:3;14435:50;;;;;;;;;;;;;;;;;;;;;14286:207;14255:238::o;1999:148::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;2090:6:::1;::::0;2069:40:::1;::::0;2106:1:::1;::::0;-1:-1:-1;;;;;2090:6:0::1;::::0;2069:40:::1;::::0;2106:1;;2069:40:::1;2120:6;:19:::0;;-1:-1:-1;;;;;;2120:19:0::1;::::0;;1999:148::o;12784:179::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;12880:1:::1;12869:8;:12;12861:48;;;::::0;-1:-1:-1;;;12861:48:0;;6937:2:1;12861:48:0::1;::::0;::::1;6919:21:1::0;6976:2;6956:18;;;6949:30;7015:25;6995:18;;;6988:53;7058:18;;12861:48:0::1;6735:347:1::0;12861:48:0::1;12937:18;:8:::0;12949:5:::1;12937:18;:::i;:::-;12920:14;:35:::0;-1:-1:-1;12784:179:0:o;18307:390::-;18430:3;;18384:10;;-1:-1:-1;;;;;18430:3:0;1160:10;-1:-1:-1;;;;;18414:19:0;;18406:66;;;;-1:-1:-1;;;18406:66:0;;;;;;;:::i;:::-;18509:4;-1:-1:-1;;;;;18491:23:0;;;18483:64;;;;-1:-1:-1;;;18483:64:0;;7289:2:1;18483:64:0;;;7271:21:1;7328:2;7308:18;;;7301:30;7367;7347:18;;;7340:58;7415:18;;18483:64:0;7087:352:1;18483:64:0;18585:39;;-1:-1:-1;;;18585:39:0;;18618:4;18585:39;;;1621:51:1;18558:24:0;;-1:-1:-1;;;;;18585:24:0;;;;;1594:18:1;;18585:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18643:46;;-1:-1:-1;;;18643:46:0;;-1:-1:-1;;;;;7825:32:1;;;18643:46:0;;;7807:51:1;7874:18;;;7867:34;;;18558:66:0;;-1:-1:-1;18643:23:0;;;;;;7780:18:1;;18643:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18635:54;18307:390;-1:-1:-1;;;;18307:390:0:o;12077:233::-;12156:3;;-1:-1:-1;;;;;12156:3:0;1160:10;-1:-1:-1;;;;;12140:19:0;;12132:66;;;;-1:-1:-1;;;12132:66:0;;;;;;;:::i;:::-;12226:2;12217:5;:11;;12209:65;;;;-1:-1:-1;;;12209:65:0;;8364:2:1;12209:65:0;;;8346:21:1;8403:2;8383:18;;;8376:30;8442:34;8422:18;;;8415:62;-1:-1:-1;;;8493:18:1;;;8486:39;8542:19;;12209:65:0;8162:405:1;12209:65:0;12285:9;:17;12077:233::o;4613:104::-;4669:13;4702:7;4695:14;;;;;:::i;13524:318::-;13607:3;;-1:-1:-1;;;;;13607:3:0;1160:10;-1:-1:-1;;;;;13591:19:0;;13583:66;;;;-1:-1:-1;;;13583:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13669:22:0;;;;;;:13;:22;;;;;;;;13668:23;13660:66;;;;-1:-1:-1;;;13660:66:0;;8774:2:1;13660:66:0;;;8756:21:1;8813:2;8793:18;;;8786:30;8852:32;8832:18;;;8825:60;8902:18;;13660:66:0;8572:354:1;13660:66:0;13756:13;;-1:-1:-1;;;;;13756:13:0;;;13745:24;;;;13737:58;;;;-1:-1:-1;;;13737:58:0;;9133:2:1;13737:58:0;;;9115:21:1;9172:2;9152:18;;;9145:30;-1:-1:-1;;;9191:18:1;;;9184:51;9252:18;;13737:58:0;8931:345:1;13737:58:0;13806:28;13820:7;13829:4;13806:13;:28::i;:::-;13524:318;:::o;5070:175::-;5156:4;5173:42;1160:10;5197:9;5208:6;5173:9;:42::i;13340:176::-;13434:3;;-1:-1:-1;;;;;13434:3:0;1160:10;-1:-1:-1;;;;;13418:19:0;;13410:66;;;;-1:-1:-1;;;13410:66:0;;;;;;;:::i;:::-;13487:9;:21;;-1:-1:-1;;;;;;13487:21:0;-1:-1:-1;;;;;13487:21:0;;;;;;;;;;13340:176::o;10819:218::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10911:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;:36;::::1;;:27;::::0;;::::1;:36;;::::0;10903:80:::1;;;::::0;-1:-1:-1;;;10903:80:0;;9483:2:1;10903:80:0::1;::::0;::::1;9465:21:1::0;9522:2;9502:18;;;9495:30;9561:33;9541:18;;;9534:61;9612:18;;10903:80:0::1;9281:355:1::0;10903:80:0::1;-1:-1:-1::0;;;;;10994:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10994:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10819:218::o;14106:137::-;14172:3;;-1:-1:-1;;;;;14172:3:0;1160:10;-1:-1:-1;;;;;14156:19:0;;14148:66;;;;-1:-1:-1;;;14148:66:0;;;;;;;:::i;:::-;14225:10;:8;:10::i;:::-;14106:137::o;14507:545::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;14571:10:::1;::::0;::::1;::::0;::::1;;;14570:11;14562:52;;;::::0;-1:-1:-1;;;14562:52:0;;9843:2:1;14562:52:0::1;::::0;::::1;9825:21:1::0;9882:2;9862:18;;;9855:30;9921;9901:18;;;9894:58;9969:18;;14562:52:0::1;9641:352:1::0;14562:52:0::1;14625:58;14642:4;8067:42;14675:7;;14625:8;:58::i;:::-;8067:42;14704:31;14743:21;14774:4;14780:24;14774:4:::0;-1:-1:-1;;;;;5038:18:0;5011:7;5038:18;;;;;;;;;;;;4937:127;14780:24:::1;14805:1;14807::::0;14809:7:::1;1850:6:::0;;-1:-1:-1;;;;;1850:6:0;;1785:79;14809:7:::1;14704:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14704:129:0;;;-1:-1:-1;;;;;10357:15:1;;;14704:129:0::1;::::0;::::1;10339:34:1::0;10389:18;;;10382:34;;;;10432:18;;;10425:34;;;;10475:18;;;10468:34;10539:15;;;10518:19;;;10511:44;14817:15:0::1;10571:19:1::0;;;10564:35;10273:19;;14704:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14844:10:0::1;:17:::0;;14886:12:::1;14872:11;:26:::0;-1:-1:-1;;14909:22:0;;;;;-1:-1:-1;14955:7:0::1;::::0;:26:::1;::::0;14975:5:::1;::::0;14955:15:::1;::::0;14967:2:::1;14955:11;:15::i;:::-;:19:::0;::::1;:26::i;:::-;14942:10;:39:::0;15017:7:::1;::::0;:27:::1;::::0;15038:5:::1;::::0;15017:16:::1;::::0;15029:3:::1;15017:11;:16::i;:27::-;15000:14;:44:::0;14507:545::o;11537:300::-;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;11651:3:::1;::::0;-1:-1:-1;;;;;11651:3:0::1;1160:10:::0;-1:-1:-1;;;;;11635:19:0::1;;11627:66;;;;-1:-1:-1::0;;;11627:66:0::1;;;;;;;:::i;:::-;11704:31;11720:7;11729:5;11704:15;:31::i;:::-;11746:34;11765:7;11774:5;11746:18;:34::i;:::-;11791:38;11814:7;11823:5;11283:246:::0;1912:6;;-1:-1:-1;;;;;1912:6:0;1160:10;1912:22;1904:67;;;;-1:-1:-1;;;1904:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11382:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;:43;::::1;;:34;::::0;;::::1;:43;;::::0;11374:94:::1;;;::::0;-1:-1:-1;;;11374:94:0;;11123:2:1;11374:94: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;;11374:94:0::1;10921:402:1::0;11374:94:0::1;-1:-1:-1::0;;;;;11479:34:0;;;::::1;;::::0;;;:25:::1;:34;::::0;;;;:42;;-1:-1:-1;;11479:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11283:246::o;13850:248::-;13936:3;;-1:-1:-1;;;;;13936:3:0;1160:10;-1:-1:-1;;;;;13920:19:0;;13912:66;;;;-1:-1:-1;;;13912:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13997:22:0;;;;;;:13;:22;;;;;;;;13989:61;;;;-1:-1:-1;;;13989:61:0;;11530:2:1;13989:61:0;;;11512:21:1;11569:2;11549:18;;;11542:30;11608:28;11588:18;;;11581:56;11654:18;;13989:61:0;11328:350:1;13989:61:0;14061:29;14075:7;14084:5;14061:13;:29::i;12435:164::-;12520:3;;-1:-1:-1;;;;;12520:3:0;1160:10;-1:-1:-1;;;;;12504:19:0;;12496:66;;;;-1:-1:-1;;;12496:66:0;;;;;;;:::i;:::-;12569:10;:22;12435:164::o;2710:246::-;2768:7;2792:1;2797;2792:6;2788:47;;-1:-1:-1;2822:1:0;2815:8;;2788:47;2845:9;2857:5;2861:1;2857;:5;:::i;:::-;2845:17;-1:-1:-1;2890:1:0;2881:5;2885:1;2845:17;2881:5;:::i;:::-;:10;2873:56;;;;-1:-1:-1;;;2873:56:0;;12107:2:1;2873:56:0;;;12089:21:1;12146:2;12126:18;;;12119:30;12185:34;12165:18;;;12158:62;-1:-1:-1;;;12236:18:1;;;12229:31;12277:19;;2873:56:0;11905:397:1;2873:56:0;2947:1;2710:246;-1:-1:-1;;;2710:246:0:o;2964:132::-;3022:7;3049:39;3053:1;3056;3049:39;;;;;;;;;;;;;;;;;:3;:39::i;2368:136::-;2426:7;2453:43;2457:1;2460;2453:43;;;;;;;;;;;;;;;;;:3;:43::i;2181:179::-;2239:7;;2271:5;2275:1;2271;:5;:::i;:::-;2259:17;;2300:1;2295;:6;;2287:46;;;;-1:-1:-1;;;2287:46:0;;12642:2:1;2287:46:0;;;12624:21:1;12681:2;12661:18;;;12654:30;12720:29;12700:18;;;12693:57;12767:18;;2287:46:0;12440:351:1;7339:380:0;-1:-1:-1;;;;;7475:19:0;;7467:68;;;;-1:-1:-1;;;7467:68:0;;12998:2:1;7467:68:0;;;12980:21:1;13037:2;13017:18;;;13010:30;13076:34;13056:18;;;13049:62;-1:-1:-1;;;13127:18:1;;;13120:34;13171:19;;7467:68:0;12796:400:1;7467:68:0;-1:-1:-1;;;;;7554:21:0;;7546:68;;;;-1:-1:-1;;;7546:68:0;;13403:2:1;7546:68:0;;;13385:21:1;13442:2;13422:18;;;13415:30;13481:34;13461:18;;;13454:62;-1:-1:-1;;;13532:18:1;;;13525:32;13574:19;;7546:68:0;13201:398:1;7546:68:0;-1:-1:-1;;;;;7627:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7679:32;;1829:25:1;;;7679:32:0;;1802:18:1;7679:32:0;;;;;;;;7339:380;;;:::o;15060:2228::-;-1:-1:-1;;;;;15158:18:0;;15150:61;;;;-1:-1:-1;;;15150:61:0;;13806:2:1;15150:61:0;;;13788:21:1;13845:2;13825:18;;;13818:30;13884:32;13864:18;;;13857:60;13934:18;;15150:61:0;13604:354:1;15150:61:0;-1:-1:-1;;;;;15230:16:0;;15222:57;;;;-1:-1:-1;;;15222:57:0;;14165:2:1;15222:57:0;;;14147:21:1;14204:2;14184:18;;;14177:30;14243;14223:18;;;14216:58;14291:18;;15222:57:0;13963:352:1;15222:57:0;15308:10;;15298:6;:20;;:51;;;-1:-1:-1;;;;;;15322:27:0;;;;;;:21;:27;;;;;;;;15298:51;:80;;;-1:-1:-1;;;;;;15353:25:0;;;;;;:21;:25;;;;;;;;15298:80;15290:112;;;;-1:-1:-1;;;15290:112:0;;14522:2:1;15290:112:0;;;14504:21:1;14561:2;14541:18;;;14534:30;-1:-1:-1;;;14580:18:1;;;14573:49;14639:18;;15290:112:0;14320:343:1;15290:112:0;15450:14;;15421:25;15439:6;15421:13;15431:2;-1:-1:-1;;;;;5038:18:0;5011:7;5038:18;;;;;;;;;;;;4937:127;15421:13;:17;;:25::i;:::-;:43;;:76;;;-1:-1:-1;;;;;;15468:29:0;;;;;;:25;:29;;;;;;;;15421:76;15413:122;;;;-1:-1:-1;;;15413:122:0;;14870:2:1;15413:122:0;;;14852:21:1;14909:2;14889:18;;;14882:30;14948:34;14928:18;;;14921:62;-1:-1:-1;;;14999:18:1;;;14992:31;15040:19;;15413:122:0;14668:397:1;15413:122:0;15554:10;;;;;;;;:38;;-1:-1:-1;;;;;;15568:24:0;;;;;;:18;:24;;;;;;;;15554:38;:64;;;-1:-1:-1;;;;;;15596:22:0;;;;;;:18;:22;;;;;;;;15554:64;15546:95;;;;-1:-1:-1;;;15546:95:0;;15272:2:1;15546:95:0;;;15254:21:1;15311:2;15291:18;;;15284:30;-1:-1:-1;;;15330:18:1;;;15323:48;15388:18;;15546:95:0;15070:342:1;15546:95:0;-1:-1:-1;;;;;15661:19:0;;;;;;:13;:19;;;;;;;;15660:20;15652:54;;;;-1:-1:-1;;;15652:54:0;;15619:2:1;15652:54:0;;;15601:21:1;15658:2;15638:18;;;15631:30;-1:-1:-1;;;15677:18:1;;;15670:51;15738:18;;15652:54:0;15417:345:1;15652:54:0;15722:6;15732:1;15722:11;15719:92;;15750:28;15766:4;15772:2;15776:1;15750:15;:28::i;:::-;15060:2228;;;:::o;15719:92::-;15854:12;;15838;;15904:13;;15838:28;-1:-1:-1;15838:28:0;;-1:-1:-1;;;;;15896:21:0;;;15904:13;;15896:21;;;;:45;;;15934:7;15896:45;:71;;;;-1:-1:-1;15959:8:0;;;;15958:9;15896:71;15879:424;;;15994:8;:15;;-1:-1:-1;;15994:15:0;16005:4;15994:15;;;16024:10;:8;:10::i;:::-;16049:8;:16;;-1:-1:-1;;16049:16:0;;;15879:424;;;16108:13;;-1:-1:-1;;;;;16100:21:0;;;16108:13;;16100:21;:57;;;;-1:-1:-1;16144:13:0;;-1:-1:-1;;;;;16138:19:0;;;16144:13;;16138:19;;16100:57;:101;;;;;16190:11;;16174:12;:27;;16100:101;:141;;;;-1:-1:-1;;;;;;16219:22:0;;;;;;:18;:22;;;;;;;;16218:23;16100:141;16083:220;;;16268:23;16282:2;16286:4;16268:13;:23::i;:::-;16331:8;;-1:-1:-1;;;;;16355:24:0;;16315:12;16355:24;;;:18;:24;;;;;;16331:8;;;;16330:9;;16355:24;;:50;;-1:-1:-1;;;;;;16383:22:0;;;;;;:18;:22;;;;;;;;16355:50;16352:97;;;-1:-1:-1;16432:5:0;16352:97;16464:7;16461:774;;;16549:13;;16488:12;;-1:-1:-1;;;;;16549:13:0;;;16543:19;;;;16539:536;;16598:30;16624:3;16598:21;16609:9;;16598:6;:10;;:21;;;;:::i;:30::-;16662:12;;16591:37;;-1:-1:-1;16662:22:0;;16591:37;16662:16;:22::i;:::-;16647:12;:37;16539:536;;;16783:15;;;;;;;16780:169;;;-1:-1:-1;;;;;16830:12:0;;;;;;:8;:12;;;;;;16845:15;-1:-1:-1;16822:39:0;;;;;;16899:30;:15;16918:10;16899:30;:::i;:::-;-1:-1:-1;;;;;16884:12:0;;;;;;:8;:12;;;;;:45;16780:169;16974:29;16999:3;16974:20;16985:8;;16974:6;:10;;:20;;;;:::i;:29::-;17037:12;;16967:36;;-1:-1:-1;17037:22:0;;16967:36;17037:16;:22::i;:::-;17022:12;:37;16539:536;17094:8;;17091:133;;17122:42;17138:4;17152;17159;17122:15;:42::i;:::-;17192:16;:6;17203:4;17192:10;:16::i;:::-;17183:25;;17091:133;16473:762;16461:774;17247:33;17263:4;17269:2;17273:6;17247:15;:33::i;:::-;15139:2149;;15060:2228;;;:::o;2512:190::-;2598:7;2634:12;2626:6;;;;2618:29;;;;-1:-1:-1;;;2618:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2658:9:0;2670:5;2674:1;2670;:5;:::i;:::-;2658:17;2512:190;-1:-1:-1;;;;;2512:190:0:o;18189:110::-;-1:-1:-1;;;;;18261:22:0;;;;;;;;:13;:22;;;;;:30;;-1:-1:-1;;18261:30:0;;;;;;;;;;18189:110::o;17296:474::-;17352:12;;17377:25;17352:12;17377:17;:25::i;:::-;17506:10;;17436:21;;17415:18;;17491:26;;17436:21;;17491:14;:26::i;:::-;17468:49;-1:-1:-1;17528:26:0;17557:28;:10;17468:49;17557:14;:28::i;:::-;17611:12;;17528:57;;-1:-1:-1;17611:24:0;;17628:6;17611:16;:24::i;:::-;17596:12;:39;17664:6;;17648:47;;-1:-1:-1;;;;;17664:6:0;;;;17648:47;;;;;17682:12;;17664:6;17648:47;17664:6;17648:47;17682:12;17664:6;17648:47;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17722:9:0;;17706:56;;-1:-1:-1;;;;;17722:9:0;;;;17706:56;;;;;17743:18;;17722:9;17706:56;17722:9;17706:56;17743:18;17722:9;17706:56;;;;;;;;;;;;;;;;;;;3104:189;3190:7;3225:12;3218:5;3210:28;;;;-1:-1:-1;;;3210:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3249:9:0;3261:5;3265:1;3261;:5;:::i;5948:573::-;-1:-1:-1;;;;;6088:20:0;;6080:70;;;;-1:-1:-1;;;6080:70:0;;16099:2:1;6080:70:0;;;16081:21:1;16138:2;16118:18;;;16111:30;16177:34;16157:18;;;16150:62;-1:-1:-1;;;16228:18:1;;;16221:35;16273:19;;6080:70:0;15897:401:1;6080:70:0;-1:-1:-1;;;;;6169:23:0;;6161:71;;;;-1:-1:-1;;;6161:71:0;;16505:2:1;6161:71:0;;;16487:21:1;16544:2;16524:18;;;16517:30;16583:34;16563:18;;;16556:62;-1:-1:-1;;;16634:18:1;;;16627:33;16677:19;;6161:71:0;16303:399:1;6161:71:0;6325;6347:6;6325:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6325:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;6305:17:0;;;:9;:17;;;;;;;;;;;:91;;;;6430:20;;;;;;;:32;;6455:6;6430:24;:32::i;:::-;-1:-1:-1;;;;;6407:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;6478:35;1829:25:1;;;6407:20:0;;6478:35;;;;;;1802:18:1;6478:35:0;1683:177:1;17778:403:0;17871:16;;;17885:1;17871:16;;;;;;;;17847:21;;17871:16;;;;;;;;;;-1:-1:-1;17871:16:0;17847:40;;17916:4;17898;17903:1;17898:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17898:23:0;;;-1:-1:-1;;;;;17898:23:0;;;;;8067:42;-1:-1:-1;;;;;17942:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17932:4;17937:1;17932:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17932:32:0;;;:7;;;;;;;;;;;:32;17977:196;;-1:-1:-1;;;17977:196:0;;8067:42;;17977:66;;:196;;18058:11;;18084:1;;18100:4;;18127;;18147:15;;17977:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17834:347;17778:403;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:180::-;1323:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:52;;;1392:1;1389;1382:12;1344:52;-1:-1:-1;1415:23:1;;1264:180;-1:-1:-1;1264:180:1:o;1865:247::-;1924:6;1977:2;1965:9;1956:7;1952:23;1948:32;1945:52;;;1993:1;1990;1983:12;1945:52;2032:9;2019:23;2051:31;2076:5;2051:31;:::i;2117:456::-;2194:6;2202;2210;2263:2;2251:9;2242:7;2238:23;2234:32;2231:52;;;2279:1;2276;2269:12;2231:52;2318:9;2305:23;2337:31;2362:5;2337:31;:::i;:::-;2387:5;-1:-1:-1;2444:2:1;2429:18;;2416:32;2457:33;2416:32;2457:33;:::i;:::-;2117:456;;2509:7;;-1:-1:-1;;;2563:2:1;2548:18;;;;2535:32;;2117:456::o;2578:118::-;2664:5;2657:13;2650:21;2643:5;2640:32;2630:60;;2686:1;2683;2676:12;2701:382;2766:6;2774;2827:2;2815:9;2806:7;2802:23;2798:32;2795:52;;;2843:1;2840;2833:12;2795:52;2882:9;2869:23;2901:31;2926:5;2901:31;:::i;:::-;2951:5;-1:-1:-1;3008:2:1;2993:18;;2980:32;3021:30;2980:32;3021:30;:::i;:::-;3070:7;3060:17;;;2701:382;;;;;:::o;3485:241::-;3541:6;3594:2;3582:9;3573:7;3569:23;3565:32;3562:52;;;3610:1;3607;3600:12;3562:52;3649:9;3636:23;3668:28;3690:5;3668:28;:::i;3731:388::-;3799:6;3807;3860:2;3848:9;3839:7;3835:23;3831:32;3828:52;;;3876:1;3873;3866:12;3828:52;3915:9;3902:23;3934:31;3959:5;3934:31;:::i;:::-;3984:5;-1:-1:-1;4041:2:1;4026:18;;4013:32;4054:33;4013:32;4054:33;:::i;4124:380::-;4203:1;4199:12;;;;4246;;;4267:61;;4321:4;4313:6;4309:17;4299:27;;4267:61;4374:2;4366:6;4363:14;4343:18;4340:38;4337:161;;4420:10;4415:3;4411:20;4408:1;4401:31;4455:4;4452:1;4445:15;4483:4;4480:1;4473:15;4337:161;;4124:380;;;:::o;4509:398::-;4711:2;4693:21;;;4750:2;4730:18;;;4723:30;4789:34;4784:2;4769:18;;4762:62;-1:-1:-1;;;4855:2:1;4840:18;;4833:32;4897:3;4882:19;;4509:398::o;5318:356::-;5520:2;5502:21;;;5539:18;;;5532:30;5598:34;5593:2;5578:18;;5571:62;5665:2;5650:18;;5318:356::o;6082:127::-;6143:10;6138:3;6134:20;6131:1;6124:31;6174:4;6171:1;6164:15;6198:4;6195:1;6188:15;6214:168;6254:7;6320:1;6316;6312:6;6308:14;6305:1;6302:21;6297:1;6290:9;6283:17;6279:45;6276:71;;;6327:18;;:::i;:::-;-1:-1:-1;6367:9:1;;6214:168::o;7444:184::-;7514:6;7567:2;7555:9;7546:7;7542:23;7538:32;7535:52;;;7583:1;7580;7573:12;7535:52;-1:-1:-1;7606:16:1;;7444:184;-1:-1:-1;7444:184:1:o;7912:245::-;7979:6;8032:2;8020:9;8011:7;8007:23;8003:32;8000:52;;;8048:1;8045;8038:12;8000:52;8080:9;8074:16;8099:28;8121:5;8099:28;:::i;10610:306::-;10698:6;10706;10714;10767:2;10755:9;10746:7;10742:23;10738:32;10735:52;;;10783:1;10780;10773:12;10735:52;10812:9;10806:16;10796:26;;10862:2;10851:9;10847:18;10841:25;10831:35;;10906:2;10895:9;10891:18;10885:25;10875:35;;10610:306;;;;;:::o;11683:217::-;11723:1;11749;11739:132;;11793:10;11788:3;11784:20;11781:1;11774:31;11828:4;11825:1;11818:15;11856:4;11853:1;11846:15;11739:132;-1:-1:-1;11885:9:1;;11683:217::o;12307:128::-;12347:3;12378:1;12374:6;12371:1;12368:13;12365:39;;;12384:18;;:::i;:::-;-1:-1:-1;12420:9:1;;12307:128::o;15767:125::-;15807:4;15835:1;15832;15829:8;15826:34;;;15840:18;;:::i;:::-;-1:-1:-1;15877:9:1;;15767:125::o;16839:127::-;16900:10;16895:3;16891:20;16888:1;16881:31;16931:4;16928:1;16921:15;16955:4;16952:1;16945:15;16971:251;17041:6;17094:2;17082:9;17073:7;17069:23;17065:32;17062:52;;;17110:1;17107;17100:12;17062:52;17142:9;17136:16;17161:31;17186:5;17161:31;:::i;17227:980::-;17489:4;17537:3;17526:9;17522:19;17568:6;17557:9;17550:25;17594:2;17632:6;17627:2;17616:9;17612:18;17605:34;17675:3;17670:2;17659:9;17655:18;17648:31;17699:6;17734;17728:13;17765:6;17757;17750:22;17803:3;17792:9;17788:19;17781:26;;17842:2;17834:6;17830:15;17816:29;;17863:1;17873:195;17887:6;17884:1;17881:13;17873:195;;;17952:13;;-1:-1:-1;;;;;17948:39:1;17936:52;;18043:15;;;;18008:12;;;;17984:1;17902:9;17873:195;;;-1:-1:-1;;;;;;;18124:32:1;;;;18119:2;18104:18;;18097:60;-1:-1:-1;;;18188:3:1;18173:19;18166:35;18085:3;17227:980;-1:-1:-1;;;17227:980:1:o

Swarm Source

ipfs://7fd55cd1e599cf4c50edc8bae8db20098b53db2e9e315ed04a68bb6137154282

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.