ETH Price: $3,226.59 (+2.99%)

Contract

0x27b1d2F54FA137070e3a8062aA3aea7C969268F2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve199288422024-05-22 23:56:11237 days ago1716422171IN
0x27b1d2F5...C969268F2
0 ETH0.0007697816.52573191
Approve199288422024-05-22 23:56:11237 days ago1716422171IN
0x27b1d2F5...C969268F2
0 ETH0.0007697816.52573191
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199287002024-05-22 23:27:47237 days ago1716420467IN
0x27b1d2F5...C969268F2
0 ETH0.0005183211.12733969
Approve199286822024-05-22 23:24:11237 days ago1716420251IN
0x27b1d2F5...C969268F2
0 ETH0.000311746.73417142
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163
Approve199286572024-05-22 23:19:11237 days ago1716419951IN
0x27b1d2F5...C969268F2
0 ETH0.0004673210.03252163

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-22
*/

// SPDX-License-Identifier: MIT

/*  VOLUMATE $VMATE - Smart Cross Chain bot which utilizing AI for volume generation for projects.
    Website: https://volumate.bot
    Twitter: https://x.com/VOLUMATE_ETH
    Telegram: https://t.me/VOLUMATE_ETH
    Bot: https://t.me/Volumate_Bot
    Medium: https://medium.com/@volumateeth
*/

pragma solidity 0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    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 must be the owner");
        _;
    }

    function transferOwner(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner shouldn't be zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Token is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _IsLimitFree;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;

    uint256 public buyTax = 35;
    uint256 public sellTax = 45;

    uint256 private constant _totalSupply = 100_000_000 * 10 ** _decimals;
    uint256 private constant onePercent = (_totalSupply) / 100;
    uint256 private constant minimumSwapAmount = 40000;
    uint256 private maxSwap = (onePercent * 5) / 10;
    uint256 public MaxPerTxn = (onePercent * 15) / 10;
    uint256 public MaxPerWallet = (onePercent * 15) / 10;

    string private constant _name = "VOLUMATE";
    string private constant _symbol = "VMATE";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address public immutable DevAddress;
    address public immutable MarketingAddress;

    bool private launch = false;

    constructor() {
        DevAddress = 0xa6f7e4136Eff468693e6eBf9f7c25898D56b9C36;
        MarketingAddress = 0x780321a443d27952BA6C28547eC66cC2d524099C;
        _balance[msg.sender] = _totalSupply;
        _IsLimitFree[DevAddress] = 1;
        _IsLimitFree[MarketingAddress] = 1;
        _IsLimitFree[msg.sender] = 1;
        _IsLimitFree[address(this)] = 1;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount is more than allowed amount"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: owner can't be zero address");
        require(spender != address(0), "ERC20: spender can't be zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function startTrade() external onlyOwner {
        require(!launch, "trading already opened");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), _totalSupply);

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        launch = true;
    }

    function _ExcludedWallet(address wallet) external onlyOwner {
        _IsLimitFree[wallet] = 1;
    }

    function _RemoveExcludedWallet(address wallet) external onlyOwner {
        _IsLimitFree[wallet] = 0;
    }

    function RemoveLimits() external onlyOwner {
        MaxPerTxn = _totalSupply;
        MaxPerWallet = _totalSupply;
    }

    function DecreaseTax(
        uint256 newBuyTax,
        uint256 newSellTax
    ) external onlyOwner {
        require(
            newBuyTax <= buyTax && newSellTax <= sellTax,
            "Tax cannot be increased"
        );
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    // Taxes can only be decreased and can never be increased.

    function _tokenTransfer(
        address from,
        address to,
        uint256 amount,
        uint256 _tax
    ) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(
            from != address(0),
            "ERC20: transfer from zero address not allowed"
        );
        require(amount > 0, "ERC20: amount should be greater than zero");
        uint256 _tax = 0;
        if (_IsLimitFree[from] == 0 && _IsLimitFree[to] == 0) {
            require(launch, "Trading not started yet");
            require(amount <= MaxPerTxn, "MaxPerTxn Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead))
                require(
                    balanceOf(to) + amount <= MaxPerWallet,
                    "MaxPerWallet Enabled at launch"
                );
            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = balanceOf(address(this));
                if (tokensToSwap > minimumSwapAmount) {
                    uint256 mxSw = maxSwap;
                    if (tokensToSwap > amount) tokensToSwap = amount;
                    if (tokensToSwap > mxSw) tokensToSwap = mxSw;
                    swapTokensForEth(tokensToSwap);
                }
                _tax = sellTax;
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function Weth() external onlyOwner {
        bool success;
        (success, ) = owner().call{value: address(this).balance}("");
    }

    function ManualSwap(uint256 percent) external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        uint256 amtswap = (percent * contractBalance) / 100;
        swapTokensForEth(amtswap);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        bool success;
        uint256 devtax = (address(this).balance * 850) / 1000;
        uint256 Marketing = (address(this).balance * 15) / 100;

        (success, ) = MarketingAddress.call{value: Marketing}("");
        (success, ) = DevAddress.call{value: devtax}("");
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"DecreaseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DevAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MarketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxPerTxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxPerWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Weth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_ExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_RemoveExcludedWallet","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipRenounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526023600455602d600555600a60646200001f6012836200035f565b6200002f906305f5e10062000377565b6200003b919062000391565b6200004890600562000377565b62000054919062000391565b600655600a6064620000686012836200035f565b62000078906305f5e10062000377565b62000084919062000391565b6200009190600f62000377565b6200009d919062000391565b600755600a6064620000b16012836200035f565b620000c1906305f5e10062000377565b620000cd919062000391565b620000da90600f62000377565b620000e6919062000391565b600855600a805460ff60a01b191690553480156200010357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35073a6f7e4136eff468693e6ebf9f7c25898d56b9c3660805273780321a443d27952ba6c28547ec66cc2d524099c60a052620001836012600a6200035f565b62000193906305f5e10062000377565b336000818152600160208181526040808420959095556080516001600160a01b039081168452600390915284832082905560a0511682528382208190559181528281208290553081529190912055620001e93390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002236012600a6200035f565b62000233906305f5e10062000377565b60405190815260200160405180910390a3620003b4565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a15781600019048211156200028557620002856200024a565b808516156200029357918102915b93841c939080029062000265565b509250929050565b600082620002ba5750600162000359565b81620002c95750600062000359565b8160018114620002e25760028114620002ed576200030d565b600191505062000359565b60ff8411156200030157620003016200024a565b50506001821b62000359565b5060208310610133831016604e8410600b841016171562000332575081810a62000359565b6200033e838362000260565b80600019048211156200035557620003556200024a565b0290505b92915050565b60006200037060ff841683620002a9565b9392505050565b80820281158282048414176200035957620003596200024a565b600082620003af57634e487b7160e01b600052601260045260246000fd5b500490565b60805160a051611992620003e86000396000818161028c01526113640152600081816103ce01526113e401526119926000f3fe6080604052600436106101855760003560e01c80636c580801116100d1578063a9059cbb1161008a578063cc1776d311610064578063cc1776d3146104a7578063d6d47e41146104bd578063d7f73858146104d3578063dd62ed3e146104f357600080fd5b8063a9059cbb14610452578063ad31100114610472578063c0267af31461048757600080fd5b80636c5808011461037157806370a082311461038657806389a4c1a0146103bc5780638bec1c6d146103f05780638da5cb5b1461040657806395d89b411461042457600080fd5b80633936e8b91161013e5780634f7041a5116101185780634f7041a5146103065780634fb2e45d1461031c57806356ca8a411461033c57806356cd40e71461035c57600080fd5b80633936e8b91461027a57806349bd5a5e146102c65780634e23803f146102e657600080fd5b806306fdde0314610191578063095ea7b3146101d457806318160ddd1461020457806323b872dd14610227578063313ce56714610247578063349849a31461026357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b50604080518082019091526008815267564f4c554d41544560c01b60208201525b6040516101cb9190611557565b60405180910390f35b3480156101e057600080fd5b506101f46101ef3660046115ba565b610539565b60405190151581526020016101cb565b34801561021057600080fd5b50610219610550565b6040519081526020016101cb565b34801561023357600080fd5b506101f46102423660046115e6565b610571565b34801561025357600080fd5b50604051601281526020016101cb565b34801561026f57600080fd5b50610278610633565b005b34801561028657600080fd5b506102ae7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101cb565b3480156102d257600080fd5b50600a546102ae906001600160a01b031681565b3480156102f257600080fd5b50610278610301366004611627565b6106b5565b34801561031257600080fd5b5061021960045481565b34801561032857600080fd5b50610278610337366004611627565b6106fc565b34801561034857600080fd5b5061027861035736600461164b565b610732565b34801561036857600080fd5b50610278610793565b34801561037d57600080fd5b506102786107f9565b34801561039257600080fd5b506102196103a1366004611627565b6001600160a01b031660009081526001602052604090205490565b3480156103c857600080fd5b506102ae7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fc57600080fd5b5061021960085481565b34801561041257600080fd5b506000546001600160a01b03166102ae565b34801561043057600080fd5b50604080518082019091526005815264564d41544560d81b60208201526101be565b34801561045e57600080fd5b506101f461046d3660046115ba565b610ba3565b34801561047e57600080fd5b50610278610bb0565b34801561049357600080fd5b506102786104a2366004611664565b610c24565b3480156104b357600080fd5b5061021960055481565b3480156104c957600080fd5b5061021960075481565b3480156104df57600080fd5b506102786104ee366004611627565b610cb9565b3480156104ff57600080fd5b5061021961050e366004611686565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610546338484610cfd565b5060015b92915050565b600061055e6012600a6117b9565b61056c906305f5e1006117c8565b905090565b600061057e848484610e21565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000198114610628578281101561061b5760405162461bcd60e51b815260206004820152603260248201527f45524332303a207472616e7366657220616d6f756e74206973206d6f726520746044820152711a185b88185b1b1bddd95908185b5bdd5b9d60721b60648201526084015b60405180910390fd5b6106288533858403610cfd565b506001949350505050565b6000546001600160a01b0316331461065d5760405162461bcd60e51b8152600401610612906117df565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146106aa576040519150601f19603f3d011682016040523d82523d6000602084013e6106af565b606091505b50505050565b6000546001600160a01b031633146106df5760405162461bcd60e51b8152600401610612906117df565b6001600160a01b0316600090815260036020526040902060019055565b6000546001600160a01b031633146107265760405162461bcd60e51b8152600401610612906117df565b61072f8161110b565b50565b6000546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610612906117df565b3060009081526001602052604081205490606461077983856117c8565b6107839190611820565b905061078e816111d1565b505050565b6000546001600160a01b031633146107bd5760405162461bcd60e51b8152600401610612906117df565b6107c96012600a6117b9565b6107d7906305f5e1006117c8565b6007556107e66012600a6117b9565b6107f4906305f5e1006117c8565b600855565b6000546001600160a01b031633146108235760405162461bcd60e51b8152600401610612906117df565b600a54600160a01b900460ff16156108765760405162461bcd60e51b81526020600482015260166024820152751d1c98591a5b99c8185b1c9958591e481bdc195b995960521b6044820152606401610612565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fe9190611842565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109849190611842565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f59190611842565b600a80546001600160a01b0319166001600160a01b03928316178155600954610a3c923092911690610a29906012906117b9565b610a37906305f5e1006117c8565b610cfd565b6009546001600160a01b031663f305d7194730610a6e816001600160a01b031660009081526001602052604090205490565b600080610a836000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aeb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b10919061185f565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8d919061188d565b50600a805460ff60a01b1916600160a01b179055565b6000610546338484610e21565b6000546001600160a01b03163314610bda5760405162461bcd60e51b8152600401610612906117df565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c4e5760405162461bcd60e51b8152600401610612906117df565b6004548211158015610c6257506005548111155b610cae5760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e637265617365640000000000000000006044820152606401610612565b600491909155600555565b6000546001600160a01b03163314610ce35760405162461bcd60e51b8152600401610612906117df565b6001600160a01b0316600090815260036020526040812055565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206f776e65722063616e2774206265207a65726f206164647265604482015261737360f01b6064820152608401610612565b6001600160a01b038216610dc05760405162461bcd60e51b8152602060048201526024808201527f45524332303a207370656e6465722063616e2774206265207a65726f206164646044820152637265737360e01b6064820152608401610612565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e8d5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e736665722066726f6d207a65726f2061646472657360448201526c1cc81b9bdd08185b1b1bddd959609a1b6064820152608401610612565b60008111610eef5760405162461bcd60e51b815260206004820152602960248201527f45524332303a20616d6f756e742073686f756c642062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610612565b6001600160a01b038316600090815260036020526040812054158015610f2b57506001600160a01b038316600090815260036020526040902054155b156110ff57600a54600160a01b900460ff16610f895760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742073746172746564207965740000000000000000006044820152606401610612565b600754821115610fdb5760405162461bcd60e51b815260206004820152601b60248201527f4d617850657254786e20456e61626c6564206174206c61756e636800000000006044820152606401610612565b600a546001600160a01b0384811691161480159061100457506001600160a01b03831661dead14155b15611084576008548261102c856001600160a01b031660009081526001602052604090205490565b61103691906118af565b11156110845760405162461bcd60e51b815260206004820152601e60248201527f4d617850657257616c6c657420456e61626c6564206174206c61756e636800006044820152606401610612565b600a546001600160a01b03908116908516036110a357506004546110ff565b600a546001600160a01b03908116908416036110ff5730600090815260016020526040902054619c408111156110f957600654838211156110e2578391505b808211156110ee578091505b6110f7826111d1565b505b50506005545b6106af8484848461144f565b6001600160a01b0381166111765760405162461bcd60e51b815260206004820152602c60248201527f4f776e61626c653a206e6577206f776e65722073686f756c646e27742062652060448201526b7a65726f206164647265737360a01b6064820152608401610612565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611206576112066118c2565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561125f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112839190611842565b81600181518110611296576112966118c2565b6001600160a01b0392831660209182029290920101526009546112bc9130911684610cfd565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f59085906000908690309042906004016118d8565b600060405180830381600087803b15801561130f57600080fd5b505af1158015611323573d6000803e3d6000fd5b505050506000806103e84761035261133b91906117c8565b6113459190611820565b90506000606461135647600f6117c8565b6113609190611820565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168160405160006040518083038185875af1925050503d80600081146113cd576040519150601f19603f3d011682016040523d82523d6000602084013e6113d2565b606091505b50506040519093506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908390600081818185875af1925050503d8060008114611440576040519150601f19603f3d011682016040523d82523d6000602084013e611445565b606091505b5050505050505050565b6000606461145d83856117c8565b6114679190611820565b905060006114758285611949565b6001600160a01b03871660009081526001602052604090205490915061149c908590611949565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546114cc9082906118af565b6001600160a01b0386166000908152600160205260408082209290925530815220546114f99083906118af565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b8181101561158457858101830151858201604001528201611568565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461072f57600080fd5b600080604083850312156115cd57600080fd5b82356115d8816115a5565b946020939093013593505050565b6000806000606084860312156115fb57600080fd5b8335611606816115a5565b92506020840135611616816115a5565b929592945050506040919091013590565b60006020828403121561163957600080fd5b8135611644816115a5565b9392505050565b60006020828403121561165d57600080fd5b5035919050565b6000806040838503121561167757600080fd5b50508035926020909101359150565b6000806040838503121561169957600080fd5b82356116a4816115a5565b915060208301356116b4816115a5565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117105781600019048211156116f6576116f66116bf565b8085161561170357918102915b93841c93908002906116da565b509250929050565b6000826117275750600161054a565b816117345750600061054a565b816001811461174a576002811461175457611770565b600191505061054a565b60ff841115611765576117656116bf565b50506001821b61054a565b5060208310610133831016604e8410600b8410161715611793575081810a61054a565b61179d83836116d5565b80600019048211156117b1576117b16116bf565b029392505050565b600061164460ff841683611718565b808202811582820484141761054a5761054a6116bf565b60208082526021908201527f4f776e61626c653a2063616c6c6572206d75737420626520746865206f776e656040820152603960f91b606082015260800190565b60008261183d57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185457600080fd5b8151611644816115a5565b60008060006060848603121561187457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561189f57600080fd5b8151801515811461164457600080fd5b8082018082111561054a5761054a6116bf565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119285784516001600160a01b031683529383019391830191600101611903565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561054a5761054a6116bf56fea264697066735822122024b5294b4c16e0e222f1564ef5dfca61aaccdc8dbfc61995e0e07bb6c339e41564736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80636c580801116100d1578063a9059cbb1161008a578063cc1776d311610064578063cc1776d3146104a7578063d6d47e41146104bd578063d7f73858146104d3578063dd62ed3e146104f357600080fd5b8063a9059cbb14610452578063ad31100114610472578063c0267af31461048757600080fd5b80636c5808011461037157806370a082311461038657806389a4c1a0146103bc5780638bec1c6d146103f05780638da5cb5b1461040657806395d89b411461042457600080fd5b80633936e8b91161013e5780634f7041a5116101185780634f7041a5146103065780634fb2e45d1461031c57806356ca8a411461033c57806356cd40e71461035c57600080fd5b80633936e8b91461027a57806349bd5a5e146102c65780634e23803f146102e657600080fd5b806306fdde0314610191578063095ea7b3146101d457806318160ddd1461020457806323b872dd14610227578063313ce56714610247578063349849a31461026357600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b50604080518082019091526008815267564f4c554d41544560c01b60208201525b6040516101cb9190611557565b60405180910390f35b3480156101e057600080fd5b506101f46101ef3660046115ba565b610539565b60405190151581526020016101cb565b34801561021057600080fd5b50610219610550565b6040519081526020016101cb565b34801561023357600080fd5b506101f46102423660046115e6565b610571565b34801561025357600080fd5b50604051601281526020016101cb565b34801561026f57600080fd5b50610278610633565b005b34801561028657600080fd5b506102ae7f000000000000000000000000780321a443d27952ba6c28547ec66cc2d524099c81565b6040516001600160a01b0390911681526020016101cb565b3480156102d257600080fd5b50600a546102ae906001600160a01b031681565b3480156102f257600080fd5b50610278610301366004611627565b6106b5565b34801561031257600080fd5b5061021960045481565b34801561032857600080fd5b50610278610337366004611627565b6106fc565b34801561034857600080fd5b5061027861035736600461164b565b610732565b34801561036857600080fd5b50610278610793565b34801561037d57600080fd5b506102786107f9565b34801561039257600080fd5b506102196103a1366004611627565b6001600160a01b031660009081526001602052604090205490565b3480156103c857600080fd5b506102ae7f000000000000000000000000a6f7e4136eff468693e6ebf9f7c25898d56b9c3681565b3480156103fc57600080fd5b5061021960085481565b34801561041257600080fd5b506000546001600160a01b03166102ae565b34801561043057600080fd5b50604080518082019091526005815264564d41544560d81b60208201526101be565b34801561045e57600080fd5b506101f461046d3660046115ba565b610ba3565b34801561047e57600080fd5b50610278610bb0565b34801561049357600080fd5b506102786104a2366004611664565b610c24565b3480156104b357600080fd5b5061021960055481565b3480156104c957600080fd5b5061021960075481565b3480156104df57600080fd5b506102786104ee366004611627565b610cb9565b3480156104ff57600080fd5b5061021961050e366004611686565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610546338484610cfd565b5060015b92915050565b600061055e6012600a6117b9565b61056c906305f5e1006117c8565b905090565b600061057e848484610e21565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000198114610628578281101561061b5760405162461bcd60e51b815260206004820152603260248201527f45524332303a207472616e7366657220616d6f756e74206973206d6f726520746044820152711a185b88185b1b1bddd95908185b5bdd5b9d60721b60648201526084015b60405180910390fd5b6106288533858403610cfd565b506001949350505050565b6000546001600160a01b0316331461065d5760405162461bcd60e51b8152600401610612906117df565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146106aa576040519150601f19603f3d011682016040523d82523d6000602084013e6106af565b606091505b50505050565b6000546001600160a01b031633146106df5760405162461bcd60e51b8152600401610612906117df565b6001600160a01b0316600090815260036020526040902060019055565b6000546001600160a01b031633146107265760405162461bcd60e51b8152600401610612906117df565b61072f8161110b565b50565b6000546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610612906117df565b3060009081526001602052604081205490606461077983856117c8565b6107839190611820565b905061078e816111d1565b505050565b6000546001600160a01b031633146107bd5760405162461bcd60e51b8152600401610612906117df565b6107c96012600a6117b9565b6107d7906305f5e1006117c8565b6007556107e66012600a6117b9565b6107f4906305f5e1006117c8565b600855565b6000546001600160a01b031633146108235760405162461bcd60e51b8152600401610612906117df565b600a54600160a01b900460ff16156108765760405162461bcd60e51b81526020600482015260166024820152751d1c98591a5b99c8185b1c9958591e481bdc195b995960521b6044820152606401610612565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fe9190611842565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109849190611842565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f59190611842565b600a80546001600160a01b0319166001600160a01b03928316178155600954610a3c923092911690610a29906012906117b9565b610a37906305f5e1006117c8565b610cfd565b6009546001600160a01b031663f305d7194730610a6e816001600160a01b031660009081526001602052604090205490565b600080610a836000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aeb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b10919061185f565b5050600a5460095460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8d919061188d565b50600a805460ff60a01b1916600160a01b179055565b6000610546338484610e21565b6000546001600160a01b03163314610bda5760405162461bcd60e51b8152600401610612906117df565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610c4e5760405162461bcd60e51b8152600401610612906117df565b6004548211158015610c6257506005548111155b610cae5760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e637265617365640000000000000000006044820152606401610612565b600491909155600555565b6000546001600160a01b03163314610ce35760405162461bcd60e51b8152600401610612906117df565b6001600160a01b0316600090815260036020526040812055565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206f776e65722063616e2774206265207a65726f206164647265604482015261737360f01b6064820152608401610612565b6001600160a01b038216610dc05760405162461bcd60e51b8152602060048201526024808201527f45524332303a207370656e6465722063616e2774206265207a65726f206164646044820152637265737360e01b6064820152608401610612565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e8d5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e736665722066726f6d207a65726f2061646472657360448201526c1cc81b9bdd08185b1b1bddd959609a1b6064820152608401610612565b60008111610eef5760405162461bcd60e51b815260206004820152602960248201527f45524332303a20616d6f756e742073686f756c642062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610612565b6001600160a01b038316600090815260036020526040812054158015610f2b57506001600160a01b038316600090815260036020526040902054155b156110ff57600a54600160a01b900460ff16610f895760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742073746172746564207965740000000000000000006044820152606401610612565b600754821115610fdb5760405162461bcd60e51b815260206004820152601b60248201527f4d617850657254786e20456e61626c6564206174206c61756e636800000000006044820152606401610612565b600a546001600160a01b0384811691161480159061100457506001600160a01b03831661dead14155b15611084576008548261102c856001600160a01b031660009081526001602052604090205490565b61103691906118af565b11156110845760405162461bcd60e51b815260206004820152601e60248201527f4d617850657257616c6c657420456e61626c6564206174206c61756e636800006044820152606401610612565b600a546001600160a01b03908116908516036110a357506004546110ff565b600a546001600160a01b03908116908416036110ff5730600090815260016020526040902054619c408111156110f957600654838211156110e2578391505b808211156110ee578091505b6110f7826111d1565b505b50506005545b6106af8484848461144f565b6001600160a01b0381166111765760405162461bcd60e51b815260206004820152602c60248201527f4f776e61626c653a206e6577206f776e65722073686f756c646e27742062652060448201526b7a65726f206164647265737360a01b6064820152608401610612565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611206576112066118c2565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561125f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112839190611842565b81600181518110611296576112966118c2565b6001600160a01b0392831660209182029290920101526009546112bc9130911684610cfd565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f59085906000908690309042906004016118d8565b600060405180830381600087803b15801561130f57600080fd5b505af1158015611323573d6000803e3d6000fd5b505050506000806103e84761035261133b91906117c8565b6113459190611820565b90506000606461135647600f6117c8565b6113609190611820565b90507f000000000000000000000000780321a443d27952ba6c28547ec66cc2d524099c6001600160a01b03168160405160006040518083038185875af1925050503d80600081146113cd576040519150601f19603f3d011682016040523d82523d6000602084013e6113d2565b606091505b50506040519093506001600160a01b037f000000000000000000000000a6f7e4136eff468693e6ebf9f7c25898d56b9c3616908390600081818185875af1925050503d8060008114611440576040519150601f19603f3d011682016040523d82523d6000602084013e611445565b606091505b5050505050505050565b6000606461145d83856117c8565b6114679190611820565b905060006114758285611949565b6001600160a01b03871660009081526001602052604090205490915061149c908590611949565b6001600160a01b0380881660009081526001602052604080822093909355908716815220546114cc9082906118af565b6001600160a01b0386166000908152600160205260408082209290925530815220546114f99083906118af565b3060009081526001602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600060208083528351808285015260005b8181101561158457858101830151858201604001528201611568565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461072f57600080fd5b600080604083850312156115cd57600080fd5b82356115d8816115a5565b946020939093013593505050565b6000806000606084860312156115fb57600080fd5b8335611606816115a5565b92506020840135611616816115a5565b929592945050506040919091013590565b60006020828403121561163957600080fd5b8135611644816115a5565b9392505050565b60006020828403121561165d57600080fd5b5035919050565b6000806040838503121561167757600080fd5b50508035926020909101359150565b6000806040838503121561169957600080fd5b82356116a4816115a5565b915060208301356116b4816115a5565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117105781600019048211156116f6576116f66116bf565b8085161561170357918102915b93841c93908002906116da565b509250929050565b6000826117275750600161054a565b816117345750600061054a565b816001811461174a576002811461175457611770565b600191505061054a565b60ff841115611765576117656116bf565b50506001821b61054a565b5060208310610133831016604e8410600b8410161715611793575081810a61054a565b61179d83836116d5565b80600019048211156117b1576117b16116bf565b029392505050565b600061164460ff841683611718565b808202811582820484141761054a5761054a6116bf565b60208082526021908201527f4f776e61626c653a2063616c6c6572206d75737420626520746865206f776e656040820152603960f91b606082015260800190565b60008261183d57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185457600080fd5b8151611644816115a5565b60008060006060848603121561187457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561189f57600080fd5b8151801515811461164457600080fd5b8082018082111561054a5761054a6116bf565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119285784516001600160a01b031683529383019391830191600101611903565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561054a5761054a6116bf56fea264697066735822122024b5294b4c16e0e222f1564ef5dfca61aaccdc8dbfc61995e0e07bb6c339e41564736f6c63430008130033

Deployed Bytecode Sourcemap

3231:8093:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4750:83;;;;;;;;;;-1:-1:-1;4820:5:0;;;;;;;;;;;;-1:-1:-1;;;4820:5:0;;;;4750:83;;;;;;;:::i;:::-;;;;;;;;5637:186;;;;;;;;;;-1:-1:-1;5637:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5637:186:0;1023:187:1;5027:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5027:100:0;1215:177:1;5831:622:0;;;;;;;;;;-1:-1:-1;5831:622:0;;;;;:::i;:::-;;:::i;4936:83::-;;;;;;;;;;-1:-1:-1;4936:83:0;;3545:2;2000:36:1;;1988:2;1973:18;4936:83:0;1858:184:1;10158:137:0;;;;;;;;;;;;;:::i;:::-;;4219:41;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4219:41:0;2047:203:1;4142:28:0;;;;;;;;;;-1:-1:-1;4142:28:0;;;;-1:-1:-1;;;;;4142:28:0;;;7603:103;;;;;;;;;;-1:-1:-1;7603:103:0;;;;;:::i;:::-;;:::i;3556:26::-;;;;;;;;;;;;;;;;1856:105;;;;;;;;;;-1:-1:-1;1856:105:0;;;;;:::i;:::-;;:::i;10303:223::-;;;;;;;;;;-1:-1:-1;10303:223:0;;;;;:::i;:::-;;:::i;7831:124::-;;;;;;;;;;;;;:::i;6804:791::-;;;;;;;;;;;;;:::i;5135:118::-;;;;;;;;;;-1:-1:-1;5135:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5228:17:0;5201:7;5228:17;;;:8;:17;;;;;;;5135:118;4177:35;;;;;;;;;;;;;;;3933:52;;;;;;;;;;;;;;;;1641:79;;;;;;;;;;-1:-1:-1;1679:7:0;1706:6;-1:-1:-1;;;;;1706:6:0;1641:79;;4841:87;;;;;;;;;;-1:-1:-1;4913:7:0;;;;;;;;;;;;-1:-1:-1;;;4913:7:0;;;;4841:87;;5261:192;;;;;;;;;;-1:-1:-1;5261:192:0;;;;;:::i;:::-;;:::i;2249:148::-;;;;;;;;;;;;;:::i;7963:300::-;;;;;;;;;;-1:-1:-1;7963:300:0;;;;;:::i;:::-;;:::i;3589:27::-;;;;;;;;;;;;;;;;3877:49;;;;;;;;;;;;;;;;7714:109;;;;;;;;;;-1:-1:-1;7714:109:0;;;;;:::i;:::-;;:::i;5461:168::-;;;;;;;;;;-1:-1:-1;5461:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;5594:18:0;;;5567:7;5594:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5461:168;5637:186;5737:4;5754:39;479:10;5777:7;5786:6;5754:8;:39::i;:::-;-1:-1:-1;5811:4:0;5637:186;;;;;:::o;5027:100::-;5080:7;3679:15;3545:2;3679;:15;:::i;:::-;3665:29;;:11;:29;:::i;:::-;5100:19;;5027:100;:::o;5831:622::-;5963:4;5980:36;5990:6;5998:9;6009:6;5980:9;:36::i;:::-;-1:-1:-1;;;;;6056:19:0;;6029:24;6056:19;;;:11;:19;;;;;;;;479:10;6056:33;;;;;;;;-1:-1:-1;;6104:37:0;;6100:324;;6204:6;6184:16;:26;;6158:138;;;;-1:-1:-1;;;6158:138:0;;5228:2:1;6158:138:0;;;5210:21:1;5267:2;5247:18;;;5240:30;5306:34;5286:18;;;5279:62;-1:-1:-1;;;5357:18:1;;;5350:48;5415:19;;6158:138:0;;;;;;;;;6340:57;6349:6;479:10;6390:6;6371:16;:25;6340:8;:57::i;:::-;-1:-1:-1;6441:4:0;;5831:622;-1:-1:-1;;;;5831:622:0:o;10158:137::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;10204:12:::1;1706:6:::0;;10241:46:::1;::::0;-1:-1:-1;;;;;1706:6:0;;;;10261:21:::1;::::0;10204:12;10241:46;10204:12;10241:46;10261:21;1706:6;10241:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;10158:137:0:o;7603:103::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7674:20:0::1;;::::0;;;:12:::1;:20;::::0;;;;7697:1:::1;7674:24:::0;;7603:103::o;1856:105::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;1925:28:::1;1944:8;1925:18;:28::i;:::-;1856:105:::0;:::o;10303:223::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;10414:4:::1;10370:23;5228:17:::0;;;:8;:17;;;;;;;10479:3:::1;10450:25;5228:17:::0;10450:7;:25:::1;:::i;:::-;10449:33;;;;:::i;:::-;10431:51;;10493:25;10510:7;10493:16;:25::i;:::-;10359:167;;10303:223:::0;:::o;7831:124::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;3679:15:::1;3545:2;3679;:15;:::i;:::-;3665:29;::::0;:11:::1;:29;:::i;:::-;7885:9;:24:::0;3679:15:::1;3545:2;3679;:15;:::i;:::-;3665:29;::::0;:11:::1;:29;:::i;:::-;7920:12;:27:::0;7831:124::o;6804:791::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;6865:6:::1;::::0;-1:-1:-1;;;6865:6:0;::::1;;;6864:7;6856:42;;;::::0;-1:-1:-1;;;6856:42:0;;6481:2:1;6856:42:0::1;::::0;::::1;6463:21:1::0;6520:2;6500:18;;;6493:30;-1:-1:-1;;;6539:18:1;;;6532:52;6601:18;;6856:42:0::1;6279:346:1::0;6856:42:0::1;6909:15;:104:::0;;-1:-1:-1;;;;;;6909:104:0::1;6960:42;6909:104:::0;;::::1;::::0;;;7058:25:::1;::::0;;-1:-1:-1;;;7058:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;6960:42;7058:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7040:55:0::1;;7118:4;7138:15;;;;;;;;;-1:-1:-1::0;;;;;7138:15:0::1;-1:-1:-1::0;;;;;7138:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7040:131;::::0;-1:-1:-1;;;;;;7040:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7116:15:1;;;7040:131:0::1;::::0;::::1;7098:34:1::0;7168:15;;7148:18;;;7141:43;7033:18;;7040:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7024:13;:147:::0;;-1:-1:-1;;;;;;7024:147:0::1;-1:-1:-1::0;;;;;7024:147:0;;::::1;;::::0;;7214:15:::1;::::0;7182:63:::1;::::0;7199:4:::1;::::0;7214:15;::::1;::::0;3679::::1;::::0;3545:2:::1;::::0;3679:15:::1;:::i;:::-;3665:29;::::0;:11:::1;:29;:::i;:::-;7182:8;:63::i;:::-;7258:15;::::0;-1:-1:-1;;;;;7258:15:0::1;:31;7297:21;7342:4;7362:24;7342:4:::0;-1:-1:-1;;;;;5228:17:0;5201:7;5228:17;;;:8;:17;;;;;;;5135:118;7362:24:::1;7401:1;7417::::0;7433:7:::1;1679::::0;1706:6;-1:-1:-1;;;;;1706:6:0;;1641:79;7433:7:::1;7258:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7258:223:0;;;-1:-1:-1;;;;;7554:15:1;;;7258:223:0::1;::::0;::::1;7536:34:1::0;7586:18;;;7579:34;;;;7629:18;;;7622:34;;;;7672:18;;;7665:34;7736:15;;;7715:19;;;7708:44;7455:15:0::1;7768:19:1::0;;;7761:35;7470:19;;7258:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7499:13:0::1;::::0;7530:15:::1;::::0;7492:71:::1;::::0;-1:-1:-1;;;7492:71:0;;-1:-1:-1;;;;;7530:15:0;;::::1;7492:71;::::0;::::1;8292:51:1::0;-1:-1:-1;;8359:18:1;;;8352:34;7499:13:0;::::1;::::0;-1:-1:-1;7492:29:0::1;::::0;8265:18:1;;7492:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7574:6:0::1;:13:::0;;-1:-1:-1;;;;7574:13:0::1;-1:-1:-1::0;;;7574:13:0::1;::::0;;6804:791::o;5261:192::-;5364:4;5381:42;479:10;5405:9;5416:6;5381:9;:42::i;2249:148::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;2356:1:::1;2340:6:::0;;2319:40:::1;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;::::0;2319:40:::1;::::0;2356:1;;2319:40:::1;2387:1;2370:19:::0;;-1:-1:-1;;;;;;2370:19:0::1;::::0;;2249:148::o;7963:300::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;8113:6:::1;;8100:9;:19;;:44;;;;;8137:7;;8123:10;:21;;8100:44;8078:117;;;::::0;-1:-1:-1;;;8078:117:0;;8881:2:1;8078:117:0::1;::::0;::::1;8863:21:1::0;8920:2;8900:18;;;8893:30;8959:25;8939:18;;;8932:53;9002:18;;8078:117:0::1;8679:347:1::0;8078:117:0::1;8206:6;:18:::0;;;;8235:7:::1;:20:::0;7963:300::o;7714:109::-;1768:6;;-1:-1:-1;;;;;1768:6:0;479:10;1768:22;1760:68;;;;-1:-1:-1;;;1760:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7791:20:0::1;7814:1;7791:20:::0;;;:12:::1;:20;::::0;;;;:24;7714:109::o;6461:335::-;-1:-1:-1;;;;;6554:19:0;;6546:66;;;;-1:-1:-1;;;6546:66:0;;9233:2:1;6546:66:0;;;9215:21:1;9272:2;9252:18;;;9245:30;9311:34;9291:18;;;9284:62;-1:-1:-1;;;9362:18:1;;;9355:32;9404:19;;6546:66:0;9031:398:1;6546:66:0;-1:-1:-1;;;;;6631:21:0;;6623:70;;;;-1:-1:-1;;;6623:70:0;;9636:2:1;6623:70:0;;;9618:21:1;9675:2;9655:18;;;9648:30;9714:34;9694:18;;;9687:62;-1:-1:-1;;;9765:18:1;;;9758:34;9809:19;;6623:70:0;9434:400:1;6623:70:0;-1:-1:-1;;;;;6704:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6756:32;;1361:25:1;;;6756:32:0;;1334:18:1;6756:32:0;;;;;;;6461:335;;;:::o;8820:1330::-;-1:-1:-1;;;;;8922:18:0;;8900:113;;;;-1:-1:-1;;;8900:113:0;;10041:2:1;8900:113:0;;;10023:21:1;10080:2;10060:18;;;10053:30;10119:34;10099:18;;;10092:62;-1:-1:-1;;;10170:18:1;;;10163:43;10223:19;;8900:113:0;9839:409:1;8900:113:0;9041:1;9032:6;:10;9024:64;;;;-1:-1:-1;;;9024:64:0;;10455:2:1;9024:64:0;;;10437:21:1;10494:2;10474:18;;;10467:30;10533:34;10513:18;;;10506:62;-1:-1:-1;;;10584:18:1;;;10577:39;10633:19;;9024:64:0;10253:405:1;9024:64:0;-1:-1:-1;;;;;9130:18:0;;9099:12;9130:18;;;:12;:18;;;;;;:23;:48;;;;-1:-1:-1;;;;;;9157:16:0;;;;;;:12;:16;;;;;;:21;9130:48;9126:968;;;9203:6;;-1:-1:-1;;;9203:6:0;;;;9195:42;;;;-1:-1:-1;;;9195:42:0;;10865:2:1;9195:42:0;;;10847:21:1;10904:2;10884:18;;;10877:30;10943:25;10923:18;;;10916:53;10986:18;;9195:42:0;10663:347:1;9195:42:0;9270:9;;9260:6;:19;;9252:59;;;;-1:-1:-1;;;9252:59:0;;11217:2:1;9252:59:0;;;11199:21:1;11256:2;11236:18;;;11229:30;11295:29;11275:18;;;11268:57;11342:18;;9252:59:0;11015:351:1;9252:59:0;9336:13;;-1:-1:-1;;;;;9330:19:0;;;9336:13;;9330:19;;;;:44;;-1:-1:-1;;;;;;9353:21:0;;9367:6;9353:21;;9330:44;9326:209;;;9449:12;;9439:6;9423:13;9433:2;-1:-1:-1;;;;;5228:17:0;5201:7;5228:17;;;:8;:17;;;;;;;5135:118;9423:13;:22;;;;:::i;:::-;:38;;9393:142;;;;-1:-1:-1;;;9393:142:0;;11703:2:1;9393:142:0;;;11685:21:1;11742:2;11722:18;;;11715:30;11781:32;11761:18;;;11754:60;11831:18;;9393:142:0;11501:354:1;9393:142:0;9562:13;;-1:-1:-1;;;;;9562:13:0;;;9554:21;;;;9550:533;;-1:-1:-1;9603:6:0;;9550:533;;;9641:13;;-1:-1:-1;;;;;9641:13:0;;;9635:19;;;;9631:452;;9716:4;9675:20;5228:17;;;:8;:17;;;;;;3811:5;9745:32;;9741:294;;;9817:7;;9851:21;;;9847:48;;;9889:6;9874:21;;9847:48;9937:4;9922:12;:19;9918:44;;;9958:4;9943:19;;9918:44;9985:30;10002:12;9985:16;:30::i;:::-;9779:256;9741:294;-1:-1:-1;;10060:7:0;;9631:452;10104:38;10119:4;10125:2;10129:6;10137:4;10104:14;:38::i;1969:272::-;-1:-1:-1;;;;;2057:22:0;;2035:116;;;;-1:-1:-1;;;2035:116:0;;12062:2:1;2035:116:0;;;12044:21:1;12101:2;12081:18;;;12074:30;12140:34;12120:18;;;12113:62;-1:-1:-1;;;12191:18:1;;;12184:42;12243:19;;2035:116:0;11860:408:1;2035:116:0;2188:6;;;2167:38;;-1:-1:-1;;;;;2167:38:0;;;;2188:6;;;2167:38;;;2216:6;:17;;-1:-1:-1;;;;;;2216:17:0;-1:-1:-1;;;;;2216:17:0;;;;;;;;;;1969:272::o;10534:752::-;10624:16;;;10638:1;10624:16;;;;;;;;10600:21;;10624:16;;;;;;;;;;-1:-1:-1;10624:16:0;10600:40;;10669:4;10651;10656:1;10651:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10651:23:0;;;:7;;;;;;;;;;:23;;;;10695:15;;:22;;;-1:-1:-1;;;10695:22:0;;;;:15;;;;;:20;;:22;;;;;10651:7;;10695:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10685:4;10690:1;10685:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10685:32:0;;;:7;;;;;;;;;:32;10760:15;;10728:62;;10745:4;;10760:15;10778:11;10728:8;:62::i;:::-;10801:15;;:196;;-1:-1:-1;;;10801:196:0;;-1:-1:-1;;;;;10801:15:0;;;;:66;;:196;;10882:11;;10801:15;;10924:4;;10951;;10971:15;;10801:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11008:12;11031:14;11080:4;11049:21;11073:3;11049:27;;;;:::i;:::-;11048:36;;;;:::i;:::-;11031:53;-1:-1:-1;11095:17:0;11146:3;11116:26;:21;11140:2;11116:26;:::i;:::-;11115:34;;;;:::i;:::-;11095:54;;11176:16;-1:-1:-1;;;;;11176:21:0;11205:9;11176:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11244:34:0;;11162:57;;-1:-1:-1;;;;;;11244:10:0;:15;;11267:6;;11244:34;;;;11267:6;11244:15;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;10534:752:0:o;8335:477::-;8477:17;8515:3;8498:13;8507:4;8498:6;:13;:::i;:::-;8497:21;;;;:::i;:::-;8477:41;-1:-1:-1;8529:22:0;8554:18;8477:41;8554:6;:18;:::i;:::-;-1:-1:-1;;;;;8602:14:0;;;;;;:8;:14;;;;;;8529:43;;-1:-1:-1;8602:23:0;;8619:6;;8602:23;:::i;:::-;-1:-1:-1;;;;;8585:14:0;;;;;;;:8;:14;;;;;;:40;;;;8651:12;;;;;;;:29;;8666:14;;8651:29;:::i;:::-;-1:-1:-1;;;;;8636:12:0;;;;;;:8;:12;;;;;;:44;;;;8734:4;8717:23;;;;:35;;8743:9;;8717:35;:::i;:::-;8708:4;8691:23;;;;:8;:23;;;;;;;;;:61;;;;8770:34;1361:25:1;;;-1:-1:-1;;;;;8770:34:0;;;;;;;;;;1334:18:1;8770:34:0;;;;;;;8466:346;;8335:477;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:127::-;3399:10;3394:3;3390:20;3387:1;3380:31;3430:4;3427:1;3420:15;3454:4;3451:1;3444:15;3470:422;3559:1;3602:5;3559:1;3616:270;3637:7;3627:8;3624:21;3616:270;;;3696:4;3692:1;3688:6;3684:17;3678:4;3675:27;3672:53;;;3705:18;;:::i;:::-;3755:7;3745:8;3741:22;3738:55;;;3775:16;;;;3738:55;3854:22;;;;3814:15;;;;3616:270;;;3620:3;3470:422;;;;;:::o;3897:806::-;3946:5;3976:8;3966:80;;-1:-1:-1;4017:1:1;4031:5;;3966:80;4065:4;4055:76;;-1:-1:-1;4102:1:1;4116:5;;4055:76;4147:4;4165:1;4160:59;;;;4233:1;4228:130;;;;4140:218;;4160:59;4190:1;4181:10;;4204:5;;;4228:130;4265:3;4255:8;4252:17;4249:43;;;4272:18;;:::i;:::-;-1:-1:-1;;4328:1:1;4314:16;;4343:5;;4140:218;;4442:2;4432:8;4429:16;4423:3;4417:4;4414:13;4410:36;4404:2;4394:8;4391:16;4386:2;4380:4;4377:12;4373:35;4370:77;4367:159;;;-1:-1:-1;4479:19:1;;;4511:5;;4367:159;4558:34;4583:8;4577:4;4558:34;:::i;:::-;4628:6;4624:1;4620:6;4616:19;4607:7;4604:32;4601:58;;;4639:18;;:::i;:::-;4677:20;;3897:806;-1:-1:-1;;;3897:806:1:o;4708:140::-;4766:5;4795:47;4836:4;4826:8;4822:19;4816:4;4795:47;:::i;4853:168::-;4926:9;;;4957;;4974:15;;;4968:22;;4954:37;4944:71;;4995:18;;:::i;5445:397::-;5647:2;5629:21;;;5686:2;5666:18;;;5659:30;5725:34;5720:2;5705:18;;5698:62;-1:-1:-1;;;5791:2:1;5776:18;;5769:31;5832:3;5817:19;;5445:397::o;6057:217::-;6097:1;6123;6113:132;;6167:10;6162:3;6158:20;6155:1;6148:31;6202:4;6199:1;6192:15;6230:4;6227:1;6220:15;6113:132;-1:-1:-1;6259:9:1;;6057:217::o;6630:251::-;6700:6;6753:2;6741:9;6732:7;6728:23;6724:32;6721:52;;;6769:1;6766;6759:12;6721:52;6801:9;6795:16;6820:31;6845:5;6820:31;:::i;7807:306::-;7895:6;7903;7911;7964:2;7952:9;7943:7;7939:23;7935:32;7932:52;;;7980:1;7977;7970:12;7932:52;8009:9;8003:16;7993:26;;8059:2;8048:9;8044:18;8038:25;8028:35;;8103:2;8092:9;8088:18;8082:25;8072:35;;7807:306;;;;;:::o;8397:277::-;8464:6;8517:2;8505:9;8496:7;8492:23;8488:32;8485:52;;;8533:1;8530;8523:12;8485:52;8565:9;8559:16;8618:5;8611:13;8604:21;8597:5;8594:32;8584:60;;8640:1;8637;8630:12;11371:125;11436:9;;;11457:10;;;11454:36;;;11470:18;;:::i;12405:127::-;12466:10;12461:3;12457:20;12454:1;12447:31;12497:4;12494:1;12487:15;12521:4;12518:1;12511:15;12537:980;12799:4;12847:3;12836:9;12832:19;12878:6;12867:9;12860:25;12904:2;12942:6;12937:2;12926:9;12922:18;12915:34;12985:3;12980:2;12969:9;12965:18;12958:31;13009:6;13044;13038:13;13075:6;13067;13060:22;13113:3;13102:9;13098:19;13091:26;;13152:2;13144:6;13140:15;13126:29;;13173:1;13183:195;13197:6;13194:1;13191:13;13183:195;;;13262:13;;-1:-1:-1;;;;;13258:39:1;13246:52;;13353:15;;;;13318:12;;;;13294:1;13212:9;13183:195;;;-1:-1:-1;;;;;;;13434:32:1;;;;13429:2;13414:18;;13407:60;-1:-1:-1;;;13498:3:1;13483:19;13476:35;13395:3;12537:980;-1:-1:-1;;;12537:980:1:o;13522:128::-;13589:9;;;13610:11;;;13607:37;;;13624:18;;:::i

Swarm Source

ipfs://24b5294b4c16e0e222f1564ef5dfca61aaccdc8dbfc61995e0e07bb6c339e415

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  ]

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.