ETH Price: $3,622.31 (+6.50%)

Contract

0x0E9B30778f9CFDb713e4A6b283C511eC9C300767
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Manualsend232385272025-08-28 8:49:3574 days ago1756370975IN
0x0E9B3077...C9C300767
0 ETH0.000042861.31962792
Manualswap232385202025-08-28 8:48:1174 days ago1756370891IN
0x0E9B3077...C9C300767
0 ETH0.000218481.29151536
Transfer232385162025-08-28 8:47:2374 days ago1756370843IN
0x0E9B3077...C9C300767
0 ETH0.000093691.33324346
Approve232385062025-08-28 8:45:2374 days ago1756370723IN
0x0E9B3077...C9C300767
0 ETH0.000063891.37047441
Manualsend232380032025-08-28 7:03:5974 days ago1756364639IN
0x0E9B3077...C9C300767
0 ETH0.000041031.2633775
Approve231860512025-08-21 1:03:1181 days ago1755738191IN
0x0E9B3077...C9C300767
0 ETH0.00001450.31313219
Approve231858952025-08-21 0:31:5981 days ago1755736319IN
0x0E9B3077...C9C300767
0 ETH0.000017020.36753515
Approve163321812023-01-04 8:18:231041 days ago1672820303IN
0x0E9B3077...C9C300767
0 ETH0.000695814.92321527
Approve163052702022-12-31 14:13:591044 days ago1672496039IN
0x0E9B3077...C9C300767
0 ETH0.0006991514.99505993
Manualsend162952002022-12-30 4:28:471046 days ago1672374527IN
0x0E9B3077...C9C300767
0 ETH0.0004137412.73849578
Approve162932162022-12-29 21:51:351046 days ago1672350695IN
0x0E9B3077...C9C300767
0 ETH0.0006967114.94257282
Approve162929402022-12-29 20:56:111046 days ago1672347371IN
0x0E9B3077...C9C300767
0 ETH0.0007633116.37107583
Manualsend162929102022-12-29 20:50:111046 days ago1672347011IN
0x0E9B3077...C9C300767
0 ETH0.0006187219.04931547
Approve162928942022-12-29 20:46:591046 days ago1672346819IN
0x0E9B3077...C9C300767
0 ETH0.0009462420.29439529
Approve162928682022-12-29 20:41:471046 days ago1672346507IN
0x0E9B3077...C9C300767
0 ETH0.0009107219.53260226
Approve162928262022-12-29 20:33:231046 days ago1672346003IN
0x0E9B3077...C9C300767
0 ETH0.0006993915
Approve162928142022-12-29 20:30:591046 days ago1672345859IN
0x0E9B3077...C9C300767
0 ETH0.0008768618.8062973
Approve162927722022-12-29 20:22:351046 days ago1672345355IN
0x0E9B3077...C9C300767
0 ETH0.0010158921.78815136
Approve162927712022-12-29 20:22:231046 days ago1672345343IN
0x0E9B3077...C9C300767
0 ETH0.000953220.4436945
Transfer162927462022-12-29 20:17:231046 days ago1672345043IN
0x0E9B3077...C9C300767
0 ETH0.0015578220.11364676
Approve162927282022-12-29 20:13:471046 days ago1672344827IN
0x0E9B3077...C9C300767
0 ETH0.0008853618.98870001
Approve162927132022-12-29 20:10:471046 days ago1672344647IN
0x0E9B3077...C9C300767
0 ETH0.0005635921.08789726
Approve162927072022-12-29 20:09:351046 days ago1672344575IN
0x0E9B3077...C9C300767
0 ETH0.001004521.54380983
Approve162926712022-12-29 20:02:231046 days ago1672344143IN
0x0E9B3077...C9C300767
0 ETH0.0013194628.29901513
Approve162926392022-12-29 19:55:591046 days ago1672343759IN
0x0E9B3077...C9C300767
0 ETH0.0012045825.83512231
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer232385272025-08-28 8:49:3574 days ago1756370975
0x0E9B3077...C9C300767
0.00525297 ETH
Transfer232385202025-08-28 8:48:1174 days ago1756370891
0x0E9B3077...C9C300767
0.00525297 ETH
Transfer232380032025-08-28 7:03:5974 days ago1756364639
0x0E9B3077...C9C300767
0.00303614 ETH
Transfer231858962025-08-21 0:32:1181 days ago1755736331
0x0E9B3077...C9C300767
0.00303614 ETH
Transfer162952002022-12-30 4:28:471046 days ago1672374527
0x0E9B3077...C9C300767
0.01611943 ETH
Transfer162941652022-12-30 1:01:351046 days ago1672362095
0x0E9B3077...C9C300767
0.00306458 ETH
Transfer162935092022-12-29 22:50:231046 days ago1672354223
0x0E9B3077...C9C300767
0.00423111 ETH
Transfer162932972022-12-29 22:07:591046 days ago1672351679
0x0E9B3077...C9C300767
0.00421546 ETH
Transfer162929202022-12-29 20:52:111046 days ago1672347131
0x0E9B3077...C9C300767
0.00460827 ETH
Transfer162929102022-12-29 20:50:111046 days ago1672347011
0x0E9B3077...C9C300767
0.01208891 ETH
Transfer162928942022-12-29 20:46:591046 days ago1672346819
0x0E9B3077...C9C300767
0.00517745 ETH
Transfer162928742022-12-29 20:42:591046 days ago1672346579
0x0E9B3077...C9C300767
0.00691145 ETH
Transfer162928352022-12-29 20:35:111046 days ago1672346111
0x0E9B3077...C9C300767
0.0537742 ETH
Transfer162928352022-12-29 20:35:111046 days ago1672346111
0x0E9B3077...C9C300767
0.01075363 ETH
Transfer162928142022-12-29 20:30:591046 days ago1672345859
0x0E9B3077...C9C300767
0.01374239 ETH
Transfer162927562022-12-29 20:19:231046 days ago1672345163
0x0E9B3077...C9C300767
0.02927817 ETH
Transfer162925512022-12-29 19:38:111046 days ago1672342691
0x0E9B3077...C9C300767
0.04753316 ETH
Transfer162925512022-12-29 19:38:111046 days ago1672342691
0x0E9B3077...C9C300767
0.00715421 ETH
Transfer162925392022-12-29 19:35:471046 days ago1672342547
0x0E9B3077...C9C300767
0.00842084 ETH
Transfer162925382022-12-29 19:35:351046 days ago1672342535
0x0E9B3077...C9C300767
0.00842084 ETH
Transfer162925312022-12-29 19:34:111046 days ago1672342451
0x0E9B3077...C9C300767
0.00803676 ETH
Transfer162925202022-12-29 19:31:591046 days ago1672342319
0x0E9B3077...C9C300767
0.02392133 ETH
Transfer162924692022-12-29 19:21:351046 days ago1672341695
0x0E9B3077...C9C300767
0.04916975 ETH
Transfer162924692022-12-29 19:21:351046 days ago1672341695
0x0E9B3077...C9C300767
0.01466545 ETH
Transfer162924662022-12-29 19:20:591046 days ago1672341659
0x0E9B3077...C9C300767
0.0144627 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
saiba

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2022-12-29
*/

/**

Tg: https://t.me/saibagaru

Website: https://saibagaru.net


*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;

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

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

}

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(
        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,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract saiba is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Saibagaru";
    string private constant _symbol = "SAIBA";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 5;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x79861dd28C1ed6a0eeEf42994e6356f16f035320);
    address payable private _marketingAddress = payable(0x79861dd28C1ed6a0eeEf42994e6356f16f035320);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 20000000 * 10**9;
    uint256 public _maxWalletSize = 20000000 * 10**9;
    uint256 public _swapTokensAtAmount = 2000000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 45000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a7640000600019620003ed565b6200002890600019620003c7565b6006556000600881905560056009819055600a829055600b819055600c829055600d819055600e91909155600f55601280547379861dd28c1ed6a0eeef42994e6356f16f0353206001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b17905566470de4df820000601681905560175566071afd498d0000601855348015620000cb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018457600080fd5b505afa15801562000199573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bf919062000395565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020857600080fd5b505afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000243919062000395565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c7919062000395565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200038691815260200190565b60405180910390a35062000410565b600060208284031215620003a857600080fd5b81516001600160a01b0381168114620003c057600080fd5b9392505050565b600082821015620003e857634e487b7160e01b600052601160045260246000fd5b500390565b6000826200040b57634e487b7160e01b600052601260045260246000fd5b500690565b611e1e80620004206000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610555578063dd62ed3e14610575578063ea1644d5146105bb578063f2fde38b146105db57600080fd5b8063a2a957bb146104d0578063a9059cbb146104f0578063bfd7928414610510578063c3c8cd801461054057600080fd5b80638f70ccf7116100d15780638f70ccf71461044c5780638f9a55c01461046c57806395d89b411461048257806398a5c315146104b057600080fd5b80637d1db4a5146103eb5780637f2feddc146104015780638da5cb5b1461042e57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038157806370a0823114610396578063715018a6146103b657806374010ece146103cb57600080fd5b8063313ce5671461030557806349bd5a5e146103215780636b999053146103415780636d8aa8f81461036157600080fd5b80631694505e116101ab5780631694505e1461027257806318160ddd146102aa57806323b872dd146102cf5780632fd689e3146102ef57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024257600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611ab1565b6105fb565b005b34801561020a57600080fd5b5060408051808201909152600981526853616962616761727560b81b60208201525b6040516102399190611be3565b60405180910390f35b34801561024e57600080fd5b5061026261025d366004611a01565b61069a565b6040519015158152602001610239565b34801561027e57600080fd5b50601454610292906001600160a01b031681565b6040516001600160a01b039091168152602001610239565b3480156102b657600080fd5b50670de0b6b3a76400005b604051908152602001610239565b3480156102db57600080fd5b506102626102ea3660046119c0565b6106b1565b3480156102fb57600080fd5b506102c160185481565b34801561031157600080fd5b5060405160098152602001610239565b34801561032d57600080fd5b50601554610292906001600160a01b031681565b34801561034d57600080fd5b506101fc61035c36600461194d565b61071a565b34801561036d57600080fd5b506101fc61037c366004611b7d565b610765565b34801561038d57600080fd5b506101fc6107ad565b3480156103a257600080fd5b506102c16103b136600461194d565b6107f8565b3480156103c257600080fd5b506101fc61081a565b3480156103d757600080fd5b506101fc6103e6366004611b98565b61088e565b3480156103f757600080fd5b506102c160165481565b34801561040d57600080fd5b506102c161041c36600461194d565b60116020526000908152604090205481565b34801561043a57600080fd5b506000546001600160a01b0316610292565b34801561045857600080fd5b506101fc610467366004611b7d565b6108bd565b34801561047857600080fd5b506102c160175481565b34801561048e57600080fd5b50604080518082019091526005815264534149424160d81b602082015261022c565b3480156104bc57600080fd5b506101fc6104cb366004611b98565b610905565b3480156104dc57600080fd5b506101fc6104eb366004611bb1565b610934565b3480156104fc57600080fd5b5061026261050b366004611a01565b610972565b34801561051c57600080fd5b5061026261052b36600461194d565b60106020526000908152604090205460ff1681565b34801561054c57600080fd5b506101fc61097f565b34801561056157600080fd5b506101fc610570366004611a2d565b6109d3565b34801561058157600080fd5b506102c1610590366004611987565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c757600080fd5b506101fc6105d6366004611b98565b610a74565b3480156105e757600080fd5b506101fc6105f636600461194d565b610aa3565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590611c38565b60405180910390fd5b60005b81518110156106965760016010600084848151811061065257610652611d7f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068e81611d4e565b915050610631565b5050565b60006106a7338484610b8d565b5060015b92915050565b60006106be848484610cb1565b610710843361070b85604051806060016040528060288152602001611dc1602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f6565b610b8d565b5060019392505050565b6000546001600160a01b031633146107445760405162461bcd60e51b815260040161062590611c38565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461078f5760405162461bcd60e51b815260040161062590611c38565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e257506013546001600160a01b0316336001600160a01b0316145b6107eb57600080fd5b476107f581611230565b50565b6001600160a01b0381166000908152600260205260408120546106ab9061126a565b6000546001600160a01b031633146108445760405162461bcd60e51b815260040161062590611c38565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b85760405162461bcd60e51b815260040161062590611c38565b601655565b6000546001600160a01b031633146108e75760405162461bcd60e51b815260040161062590611c38565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092f5760405162461bcd60e51b815260040161062590611c38565b601855565b6000546001600160a01b0316331461095e5760405162461bcd60e51b815260040161062590611c38565b600893909355600a91909155600955600b55565b60006106a7338484610cb1565b6012546001600160a01b0316336001600160a01b031614806109b457506013546001600160a01b0316336001600160a01b0316145b6109bd57600080fd5b60006109c8306107f8565b90506107f5816112ee565b6000546001600160a01b031633146109fd5760405162461bcd60e51b815260040161062590611c38565b60005b82811015610a6e578160056000868685818110610a1f57610a1f611d7f565b9050602002016020810190610a34919061194d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6681611d4e565b915050610a00565b50505050565b6000546001600160a01b03163314610a9e5760405162461bcd60e51b815260040161062590611c38565b601755565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161062590611c38565b6001600160a01b038116610b325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610625565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610c505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b038216610d775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b60008111610dd95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b03848116911614801590610e0557506000546001600160a01b03838116911614155b156110ef57601554600160a01b900460ff16610e9e576000546001600160a01b03848116911614610e9e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610625565b601654811115610ef05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610625565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3257506001600160a01b03821660009081526010602052604090205460ff16155b610f8a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610625565b6015546001600160a01b0383811691161461100f5760175481610fac846107f8565b610fb69190611cde565b1061100f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610625565b600061101a306107f8565b6018546016549192508210159082106110335760165491505b80801561104a5750601554600160a81b900460ff16155b801561106457506015546001600160a01b03868116911614155b80156110795750601554600160b01b900460ff165b801561109e57506001600160a01b03851660009081526005602052604090205460ff16155b80156110c357506001600160a01b03841660009081526005602052604090205460ff16155b156110ec576110d1826112ee565b47669fdf42f6e480008111156110ea576110ea47611230565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061113157506001600160a01b03831660009081526005602052604090205460ff165b8061116357506015546001600160a01b0385811691161480159061116357506015546001600160a01b03848116911614155b15611170575060006111ea565b6015546001600160a01b03858116911614801561119b57506014546001600160a01b03848116911614155b156111ad57600854600c55600954600d555b6015546001600160a01b0384811691161480156111d857506014546001600160a01b03858116911614155b156111ea57600a54600c55600b54600d555b610a6e84848484611477565b6000818484111561121a5760405162461bcd60e51b81526004016106259190611be3565b5060006112278486611d37565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610696573d6000803e3d6000fd5b60006006548211156112d15760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b60006112db6114a5565b90506112e783826114c8565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133657611336611d7f565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561138a57600080fd5b505afa15801561139e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c2919061196a565b816001815181106113d5576113d5611d7f565b6001600160a01b0392831660209182029290920101526014546113fb9130911684610b8d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611434908590600090869030904290600401611c6d565b600060405180830381600087803b15801561144e57600080fd5b505af1158015611462573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114845761148461150a565b61148f848484611538565b80610a6e57610a6e600e54600c55600f54600d55565b60008060006114b261162f565b90925090506114c182826114c8565b9250505090565b60006112e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061166f565b600c5415801561151a5750600d54155b1561152157565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061154a8761169d565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061157c90876116fa565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115ab908661173c565b6001600160a01b0389166000908152600260205260409020556115cd8161179b565b6115d784836117e5565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161161c91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061164a82826114c8565b82101561166657505060065492670de0b6b3a764000092509050565b90939092509050565b600081836116905760405162461bcd60e51b81526004016106259190611be3565b5060006112278486611cf6565b60008060008060008060008060006116ba8a600c54600d54611809565b92509250925060006116ca6114a5565b905060008060006116dd8e87878761185e565b919e509c509a509598509396509194505050505091939550919395565b60006112e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f6565b6000806117498385611cde565b9050838110156112e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b60006117a56114a5565b905060006117b383836118ae565b306000908152600260205260409020549091506117d0908261173c565b30600090815260026020526040902055505050565b6006546117f290836116fa565b600655600754611802908261173c565b6007555050565b6000808080611823606461181d89896118ae565b906114c8565b90506000611836606461181d8a896118ae565b9050600061184e826118488b866116fa565b906116fa565b9992985090965090945050505050565b600080808061186d88866118ae565b9050600061187b88876118ae565b9050600061188988886118ae565b9050600061189b8261184886866116fa565b939b939a50919850919650505050505050565b6000826118bd575060006106ab565b60006118c98385611d18565b9050826118d68583611cf6565b146112e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b803561193881611dab565b919050565b8035801515811461193857600080fd5b60006020828403121561195f57600080fd5b81356112e781611dab565b60006020828403121561197c57600080fd5b81516112e781611dab565b6000806040838503121561199a57600080fd5b82356119a581611dab565b915060208301356119b581611dab565b809150509250929050565b6000806000606084860312156119d557600080fd5b83356119e081611dab565b925060208401356119f081611dab565b929592945050506040919091013590565b60008060408385031215611a1457600080fd5b8235611a1f81611dab565b946020939093013593505050565b600080600060408486031215611a4257600080fd5b833567ffffffffffffffff80821115611a5a57600080fd5b818601915086601f830112611a6e57600080fd5b813581811115611a7d57600080fd5b8760208260051b8501011115611a9257600080fd5b602092830195509350611aa8918601905061193d565b90509250925092565b60006020808385031215611ac457600080fd5b823567ffffffffffffffff80821115611adc57600080fd5b818501915085601f830112611af057600080fd5b813581811115611b0257611b02611d95565b8060051b604051601f19603f83011681018181108582111715611b2757611b27611d95565b604052828152858101935084860182860187018a1015611b4657600080fd5b600095505b83861015611b7057611b5c8161192d565b855260019590950194938601938601611b4b565b5098975050505050505050565b600060208284031215611b8f57600080fd5b6112e78261193d565b600060208284031215611baa57600080fd5b5035919050565b60008060008060808587031215611bc757600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611c1057858101830151858201604001528201611bf4565b81811115611c22576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cbd5784516001600160a01b031683529383019391830191600101611c98565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611cf157611cf1611d69565b500190565b600082611d1357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d3257611d32611d69565b500290565b600082821015611d4957611d49611d69565b500390565b6000600019821415611d6257611d62611d69565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107f557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207982b6df495d9362db56b2960085d278da41abeddf704848885e5e390acc3c5a64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610555578063dd62ed3e14610575578063ea1644d5146105bb578063f2fde38b146105db57600080fd5b8063a2a957bb146104d0578063a9059cbb146104f0578063bfd7928414610510578063c3c8cd801461054057600080fd5b80638f70ccf7116100d15780638f70ccf71461044c5780638f9a55c01461046c57806395d89b411461048257806398a5c315146104b057600080fd5b80637d1db4a5146103eb5780637f2feddc146104015780638da5cb5b1461042e57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038157806370a0823114610396578063715018a6146103b657806374010ece146103cb57600080fd5b8063313ce5671461030557806349bd5a5e146103215780636b999053146103415780636d8aa8f81461036157600080fd5b80631694505e116101ab5780631694505e1461027257806318160ddd146102aa57806323b872dd146102cf5780632fd689e3146102ef57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024257600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611ab1565b6105fb565b005b34801561020a57600080fd5b5060408051808201909152600981526853616962616761727560b81b60208201525b6040516102399190611be3565b60405180910390f35b34801561024e57600080fd5b5061026261025d366004611a01565b61069a565b6040519015158152602001610239565b34801561027e57600080fd5b50601454610292906001600160a01b031681565b6040516001600160a01b039091168152602001610239565b3480156102b657600080fd5b50670de0b6b3a76400005b604051908152602001610239565b3480156102db57600080fd5b506102626102ea3660046119c0565b6106b1565b3480156102fb57600080fd5b506102c160185481565b34801561031157600080fd5b5060405160098152602001610239565b34801561032d57600080fd5b50601554610292906001600160a01b031681565b34801561034d57600080fd5b506101fc61035c36600461194d565b61071a565b34801561036d57600080fd5b506101fc61037c366004611b7d565b610765565b34801561038d57600080fd5b506101fc6107ad565b3480156103a257600080fd5b506102c16103b136600461194d565b6107f8565b3480156103c257600080fd5b506101fc61081a565b3480156103d757600080fd5b506101fc6103e6366004611b98565b61088e565b3480156103f757600080fd5b506102c160165481565b34801561040d57600080fd5b506102c161041c36600461194d565b60116020526000908152604090205481565b34801561043a57600080fd5b506000546001600160a01b0316610292565b34801561045857600080fd5b506101fc610467366004611b7d565b6108bd565b34801561047857600080fd5b506102c160175481565b34801561048e57600080fd5b50604080518082019091526005815264534149424160d81b602082015261022c565b3480156104bc57600080fd5b506101fc6104cb366004611b98565b610905565b3480156104dc57600080fd5b506101fc6104eb366004611bb1565b610934565b3480156104fc57600080fd5b5061026261050b366004611a01565b610972565b34801561051c57600080fd5b5061026261052b36600461194d565b60106020526000908152604090205460ff1681565b34801561054c57600080fd5b506101fc61097f565b34801561056157600080fd5b506101fc610570366004611a2d565b6109d3565b34801561058157600080fd5b506102c1610590366004611987565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c757600080fd5b506101fc6105d6366004611b98565b610a74565b3480156105e757600080fd5b506101fc6105f636600461194d565b610aa3565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590611c38565b60405180910390fd5b60005b81518110156106965760016010600084848151811061065257610652611d7f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068e81611d4e565b915050610631565b5050565b60006106a7338484610b8d565b5060015b92915050565b60006106be848484610cb1565b610710843361070b85604051806060016040528060288152602001611dc1602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111f6565b610b8d565b5060019392505050565b6000546001600160a01b031633146107445760405162461bcd60e51b815260040161062590611c38565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461078f5760405162461bcd60e51b815260040161062590611c38565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e257506013546001600160a01b0316336001600160a01b0316145b6107eb57600080fd5b476107f581611230565b50565b6001600160a01b0381166000908152600260205260408120546106ab9061126a565b6000546001600160a01b031633146108445760405162461bcd60e51b815260040161062590611c38565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b85760405162461bcd60e51b815260040161062590611c38565b601655565b6000546001600160a01b031633146108e75760405162461bcd60e51b815260040161062590611c38565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092f5760405162461bcd60e51b815260040161062590611c38565b601855565b6000546001600160a01b0316331461095e5760405162461bcd60e51b815260040161062590611c38565b600893909355600a91909155600955600b55565b60006106a7338484610cb1565b6012546001600160a01b0316336001600160a01b031614806109b457506013546001600160a01b0316336001600160a01b0316145b6109bd57600080fd5b60006109c8306107f8565b90506107f5816112ee565b6000546001600160a01b031633146109fd5760405162461bcd60e51b815260040161062590611c38565b60005b82811015610a6e578160056000868685818110610a1f57610a1f611d7f565b9050602002016020810190610a34919061194d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6681611d4e565b915050610a00565b50505050565b6000546001600160a01b03163314610a9e5760405162461bcd60e51b815260040161062590611c38565b601755565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161062590611c38565b6001600160a01b038116610b325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610625565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610c505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d155760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b038216610d775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b60008111610dd95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b03848116911614801590610e0557506000546001600160a01b03838116911614155b156110ef57601554600160a01b900460ff16610e9e576000546001600160a01b03848116911614610e9e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610625565b601654811115610ef05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610625565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3257506001600160a01b03821660009081526010602052604090205460ff16155b610f8a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610625565b6015546001600160a01b0383811691161461100f5760175481610fac846107f8565b610fb69190611cde565b1061100f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610625565b600061101a306107f8565b6018546016549192508210159082106110335760165491505b80801561104a5750601554600160a81b900460ff16155b801561106457506015546001600160a01b03868116911614155b80156110795750601554600160b01b900460ff165b801561109e57506001600160a01b03851660009081526005602052604090205460ff16155b80156110c357506001600160a01b03841660009081526005602052604090205460ff16155b156110ec576110d1826112ee565b47669fdf42f6e480008111156110ea576110ea47611230565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061113157506001600160a01b03831660009081526005602052604090205460ff165b8061116357506015546001600160a01b0385811691161480159061116357506015546001600160a01b03848116911614155b15611170575060006111ea565b6015546001600160a01b03858116911614801561119b57506014546001600160a01b03848116911614155b156111ad57600854600c55600954600d555b6015546001600160a01b0384811691161480156111d857506014546001600160a01b03858116911614155b156111ea57600a54600c55600b54600d555b610a6e84848484611477565b6000818484111561121a5760405162461bcd60e51b81526004016106259190611be3565b5060006112278486611d37565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610696573d6000803e3d6000fd5b60006006548211156112d15760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b60006112db6114a5565b90506112e783826114c8565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061133657611336611d7f565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561138a57600080fd5b505afa15801561139e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c2919061196a565b816001815181106113d5576113d5611d7f565b6001600160a01b0392831660209182029290920101526014546113fb9130911684610b8d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611434908590600090869030904290600401611c6d565b600060405180830381600087803b15801561144e57600080fd5b505af1158015611462573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114845761148461150a565b61148f848484611538565b80610a6e57610a6e600e54600c55600f54600d55565b60008060006114b261162f565b90925090506114c182826114c8565b9250505090565b60006112e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061166f565b600c5415801561151a5750600d54155b1561152157565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061154a8761169d565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061157c90876116fa565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115ab908661173c565b6001600160a01b0389166000908152600260205260409020556115cd8161179b565b6115d784836117e5565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161161c91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061164a82826114c8565b82101561166657505060065492670de0b6b3a764000092509050565b90939092509050565b600081836116905760405162461bcd60e51b81526004016106259190611be3565b5060006112278486611cf6565b60008060008060008060008060006116ba8a600c54600d54611809565b92509250925060006116ca6114a5565b905060008060006116dd8e87878761185e565b919e509c509a509598509396509194505050505091939550919395565b60006112e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f6565b6000806117498385611cde565b9050838110156112e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b60006117a56114a5565b905060006117b383836118ae565b306000908152600260205260409020549091506117d0908261173c565b30600090815260026020526040902055505050565b6006546117f290836116fa565b600655600754611802908261173c565b6007555050565b6000808080611823606461181d89896118ae565b906114c8565b90506000611836606461181d8a896118ae565b9050600061184e826118488b866116fa565b906116fa565b9992985090965090945050505050565b600080808061186d88866118ae565b9050600061187b88876118ae565b9050600061188988886118ae565b9050600061189b8261184886866116fa565b939b939a50919850919650505050505050565b6000826118bd575060006106ab565b60006118c98385611d18565b9050826118d68583611cf6565b146112e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b803561193881611dab565b919050565b8035801515811461193857600080fd5b60006020828403121561195f57600080fd5b81356112e781611dab565b60006020828403121561197c57600080fd5b81516112e781611dab565b6000806040838503121561199a57600080fd5b82356119a581611dab565b915060208301356119b581611dab565b809150509250929050565b6000806000606084860312156119d557600080fd5b83356119e081611dab565b925060208401356119f081611dab565b929592945050506040919091013590565b60008060408385031215611a1457600080fd5b8235611a1f81611dab565b946020939093013593505050565b600080600060408486031215611a4257600080fd5b833567ffffffffffffffff80821115611a5a57600080fd5b818601915086601f830112611a6e57600080fd5b813581811115611a7d57600080fd5b8760208260051b8501011115611a9257600080fd5b602092830195509350611aa8918601905061193d565b90509250925092565b60006020808385031215611ac457600080fd5b823567ffffffffffffffff80821115611adc57600080fd5b818501915085601f830112611af057600080fd5b813581811115611b0257611b02611d95565b8060051b604051601f19603f83011681018181108582111715611b2757611b27611d95565b604052828152858101935084860182860187018a1015611b4657600080fd5b600095505b83861015611b7057611b5c8161192d565b855260019590950194938601938601611b4b565b5098975050505050505050565b600060208284031215611b8f57600080fd5b6112e78261193d565b600060208284031215611baa57600080fd5b5035919050565b60008060008060808587031215611bc757600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611c1057858101830151858201604001528201611bf4565b81811115611c22576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cbd5784516001600160a01b031683529383019391830191600101611c98565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611cf157611cf1611d69565b500190565b600082611d1357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d3257611d32611d69565b500290565b600082821015611d4957611d49611d69565b500390565b6000600019821415611d6257611d62611d69565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107f557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207982b6df495d9362db56b2960085d278da41abeddf704848885e5e390acc3c5a64736f6c63430008070033

Deployed Bytecode Sourcemap

4147:13514:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12834:169;;;;;;;;;;-1:-1:-1;12834:169:0;;;;;:::i;:::-;;:::i;:::-;;6646:83;;;;;;;;;;-1:-1:-1;6716:5:0;;;;;;;;;;;;-1:-1:-1;;;6716:5:0;;;;6646:83;;;;;;;:::i;:::-;;;;;;;;7571:193;;;;;;;;;;-1:-1:-1;7571:193:0;;;;;:::i;:::-;;:::i;:::-;;;4964:14:1;;4957:22;4939:41;;4927:2;4912:18;7571:193:0;4799:187:1;5487:41:0;;;;;;;;;;-1:-1:-1;5487:41:0;;;;-1:-1:-1;;;;;5487:41:0;;;;;;-1:-1:-1;;;;;4755:32:1;;;4737:51;;4725:2;4710:18;5487:41:0;4591:203:1;6923:95:0;;;;;;;;;;-1:-1:-1;4693:18:0;6923:95;;;11535:25:1;;;11523:2;11508:18;6923:95:0;11389:177:1;7772:446:0;;;;;;;;;;-1:-1:-1;7772:446:0;;;;;:::i;:::-;;:::i;5792:52::-;;;;;;;;;;;;;;;;6832:83;;;;;;;;;;-1:-1:-1;6832:83:0;;4367:1;12698:36:1;;12686:2;12671:18;6832:83:0;12556:184:1;5535:28:0;;;;;;;;;;-1:-1:-1;5535:28:0;;;;-1:-1:-1;;;;;5535:28:0;;;13011:92;;;;;;;;;;-1:-1:-1;13011:92:0;;;;;:::i;:::-;;:::i;17043:101::-;;;;;;;;;;-1:-1:-1;17043:101:0;;;;;:::i;:::-;;:::i;12591:235::-;;;;;;;;;;;;;:::i;7026:138::-;;;;;;;;;;-1:-1:-1;7026:138:0;;;;;:::i;:::-;;:::i;1634:148::-;;;;;;;;;;;;;:::i;17183:108::-;;;;;;;;;;-1:-1:-1;17183:108:0;;;;;:::i;:::-;;:::i;5684:46::-;;;;;;;;;;;;;;;;5229:43;;;;;;;;;;-1:-1:-1;5229:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1420:79;;;;;;;;;;-1:-1:-1;1458:7:0;1485:6;-1:-1:-1;;;;;1485:6:0;1420:79;;12238:101;;;;;;;;;;-1:-1:-1;12238:101:0;;;;;:::i;:::-;;:::i;5737:48::-;;;;;;;;;;;;;;;;6737:87;;;;;;;;;;-1:-1:-1;6809:7:0;;;;;;;;;;;;-1:-1:-1;;;6809:7:0;;;;6737:87;;16852:139;;;;;;;;;;-1:-1:-1;16852:139:0;;;;;:::i;:::-;;:::i;16509:291::-;;;;;;;;;;-1:-1:-1;16509:291:0;;;;;:::i;:::-;;:::i;7172:199::-;;;;;;;;;;-1:-1:-1;7172:199:0;;;;;:::i;:::-;;:::i;5191:36::-;;;;;;;;;;-1:-1:-1;5191:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12347:236;;;;;;;;;;;;;:::i;17422:234::-;;;;;;;;;;-1:-1:-1;17422:234:0;;;;;:::i;:::-;;:::i;7379:184::-;;;;;;;;;;-1:-1:-1;7379:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7528:18:0;;;7496:7;7528:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7379:184;17299:115;;;;;;;;;;-1:-1:-1;17299:115:0;;;;;:::i;:::-;;:::i;1790:244::-;;;;;;;;;;-1:-1:-1;1790:244:0;;;;;:::i;:::-;;:::i;12834:169::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;;;;;;;;;12910:9:::1;12905:91;12929:5;:12;12925:1;:16;12905:91;;;12980:4;12963;:14;12968:5;12974:1;12968:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12963:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12963:14:0;:21;;-1:-1:-1;;12963:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12943:3;::::1;::::0;::::1;:::i;:::-;;;;12905:91;;;;12834:169:::0;:::o;7571:193::-;7673:4;7695:39;259:10;7718:7;7727:6;7695:8;:39::i;:::-;-1:-1:-1;7752:4:0;7571:193;;;;;:::o;7772:446::-;7904:4;7921:36;7931:6;7939:9;7950:6;7921:9;:36::i;:::-;7968:220;7991:6;259:10;8039:138;8095:6;8039:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8039:19:0;;;;;;:11;:19;;;;;;;;259:10;8039:33;;;;;;;;;;:37;:138::i;:::-;7968:8;:220::i;:::-;-1:-1:-1;8206:4:0;7772:446;;;;;:::o;13011:92::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13075:12:0::1;13090:5;13075:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13075:20:0::1;::::0;;13011:92::o;17043:101::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;17110:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17110:26:0::1;-1:-1:-1::0;;;;17110:26:0;;::::1;::::0;;;::::1;::::0;;17043:101::o;12591:235::-;12657:19;;-1:-1:-1;;;;;12657:19:0;259:10;-1:-1:-1;;;;;12641:35:0;;:72;;;-1:-1:-1;12696:17:0;;-1:-1:-1;;;;;12696:17:0;259:10;-1:-1:-1;;;;;12680:33:0;;12641:72;12633:81;;;;;;12754:21;12786:32;12754:21;12786:12;:32::i;:::-;12622:204;12591:235::o;7026:138::-;-1:-1:-1;;;;;7139:16:0;;7092:7;7139:16;;;:7;:16;;;;;;7119:37;;:19;:37::i;1634:148::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;1741:1:::1;1725:6:::0;;1704:40:::1;::::0;-1:-1:-1;;;;;1725:6:0;;::::1;::::0;1704:40:::1;::::0;1741:1;;1704:40:::1;1772:1;1755:19:::0;;-1:-1:-1;;;;;;1755:19:0::1;::::0;;1634:148::o;17183:108::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;17257:12:::1;:26:::0;17183:108::o;12238:101::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;12305:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12305:26:0::1;-1:-1:-1::0;;;;12305:26:0;;::::1;::::0;;;::::1;::::0;;12238:101::o;16852:139::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;16943:19:::1;:40:::0;16852:139::o;16509:291::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;16643:14:::1;:30:::0;;;;16684:15:::1;:32:::0;;;;16727:12:::1;:26:::0;16764:13:::1;:28:::0;16509:291::o;7172:199::-;7277:4;7299:42;259:10;7323:9;7334:6;7299:9;:42::i;12347:236::-;12413:19;;-1:-1:-1;;;;;12413:19:0;259:10;-1:-1:-1;;;;;12397:35:0;;:72;;;-1:-1:-1;12452:17:0;;-1:-1:-1;;;;;12452:17:0;259:10;-1:-1:-1;;;;;12436:33:0;;12397:72;12389:81;;;;;;12481:23;12507:24;12525:4;12507:9;:24::i;:::-;12481:50;;12542:33;12559:15;12542:16;:33::i;17422:234::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;17539:9:::1;17535:114;17554:19:::0;;::::1;17535:114;;;17629:8;17595:18;:31;17614:8;;17623:1;17614:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17595:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17595:31:0;:42;;-1:-1:-1;;17595:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17575:3;::::1;::::0;::::1;:::i;:::-;;;;17535:114;;;;17422:234:::0;;;:::o;17299:115::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;17376:14:::1;:30:::0;17299:115::o;1790:244::-;1547:6;;-1:-1:-1;;;;;1547:6:0;259:10;1547:22;1539:67;;;;-1:-1:-1;;;1539:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1879:22:0;::::1;1871:73;;;::::0;-1:-1:-1;;;1871:73:0;;7633:2:1;1871:73:0::1;::::0;::::1;7615:21:1::0;7672:2;7652:18;;;7645:30;7711:34;7691:18;;;7684:62;-1:-1:-1;;;7762:18:1;;;7755:36;7808:19;;1871:73:0::1;7431:402:1::0;1871:73:0::1;1981:6;::::0;;1960:38:::1;::::0;-1:-1:-1;;;;;1960:38:0;;::::1;::::0;1981:6;::::1;::::0;1960:38:::1;::::0;::::1;2009:6;:17:::0;;-1:-1:-1;;;;;;2009:17:0::1;-1:-1:-1::0;;;;;2009:17:0;;;::::1;::::0;;;::::1;::::0;;1790:244::o;8909:369::-;-1:-1:-1;;;;;9036:19:0;;9028:68;;;;-1:-1:-1;;;9028:68:0;;11186:2:1;9028:68:0;;;11168:21:1;11225:2;11205:18;;;11198:30;11264:34;11244:18;;;11237:62;-1:-1:-1;;;11315:18:1;;;11308:34;11359:19;;9028:68:0;10984:400:1;9028:68:0;-1:-1:-1;;;;;9115:21:0;;9107:68;;;;-1:-1:-1;;;9107:68:0;;8040:2:1;9107:68:0;;;8022:21:1;8079:2;8059:18;;;8052:30;8118:34;8098:18;;;8091:62;-1:-1:-1;;;8169:18:1;;;8162:32;8211:19;;9107:68:0;7838:398:1;9107:68:0;-1:-1:-1;;;;;9186:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9238:32;;11535:25:1;;;9238:32:0;;11508:18:1;9238:32:0;;;;;;;8909:369;;;:::o;9286:2346::-;-1:-1:-1;;;;;9408:18:0;;9400:68;;;;-1:-1:-1;;;9400:68:0;;10376:2:1;9400:68:0;;;10358:21:1;10415:2;10395:18;;;10388:30;10454:34;10434:18;;;10427:62;-1:-1:-1;;;10505:18:1;;;10498:35;10550:19;;9400:68:0;10174:401:1;9400:68:0;-1:-1:-1;;;;;9487:16:0;;9479:64;;;;-1:-1:-1;;;9479:64:0;;6029:2:1;9479:64:0;;;6011:21:1;6068:2;6048:18;;;6041:30;6107:34;6087:18;;;6080:62;-1:-1:-1;;;6158:18:1;;;6151:33;6201:19;;9479:64:0;5827:399:1;9479:64:0;9571:1;9562:6;:10;9554:64;;;;-1:-1:-1;;;9554:64:0;;9966:2:1;9554:64:0;;;9948:21:1;10005:2;9985:18;;;9978:30;10044:34;10024:18;;;10017:62;-1:-1:-1;;;10095:18:1;;;10088:39;10144:19;;9554:64:0;9764:405:1;9554:64:0;1458:7;1485:6;-1:-1:-1;;;;;9635:15:0;;;1485:6;;9635:15;;;;:32;;-1:-1:-1;1458:7:0;1485:6;-1:-1:-1;;;;;9654:13:0;;;1485:6;;9654:13;;9635:32;9631:1275;;;9724:11;;-1:-1:-1;;;9724:11:0;;;;9719:144;;1458:7;1485:6;-1:-1:-1;;;;;9764:15:0;;;1485:6;;9764:15;9756:91;;;;-1:-1:-1;;;9756:91:0;;6433:2:1;9756:91:0;;;6415:21:1;6472:2;6452:18;;;6445:30;6511:34;6491:18;;;6484:62;6582:33;6562:18;;;6555:61;6633:19;;9756:91:0;6231:427:1;9756:91:0;9897:12;;9887:6;:22;;9879:63;;;;-1:-1:-1;;;9879:63:0;;7276:2:1;9879:63:0;;;7258:21:1;7315:2;7295:18;;;7288:30;7354;7334:18;;;7327:58;7402:18;;9879:63:0;7074:352:1;9879:63:0;-1:-1:-1;;;;;9966:10:0;;;;;;:4;:10;;;;;;;;9965:11;:24;;;;-1:-1:-1;;;;;;9981:8:0;;;;;;:4;:8;;;;;;;;9980:9;9965:24;9957:72;;;;-1:-1:-1;;;9957:72:0;;8443:2:1;9957:72:0;;;8425:21:1;8482:2;8462:18;;;8455:30;8521:34;8501:18;;;8494:62;-1:-1:-1;;;8572:18:1;;;8565:33;8615:19;;9957:72:0;8241:399:1;9957:72:0;10055:13;;-1:-1:-1;;;;;10049:19:0;;;10055:13;;10049:19;10046:146;;10122:14;;10113:6;10097:13;10107:2;10097:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10089:87;;;;-1:-1:-1;;;10089:87:0;;10782:2:1;10089:87:0;;;10764:21:1;10821:2;10801:18;;;10794:30;10860:34;10840:18;;;10833:62;-1:-1:-1;;;10911:18:1;;;10904:33;10954:19;;10089:87:0;10580:399:1;10089:87:0;10208:28;10239:24;10257:4;10239:9;:24::i;:::-;10317:19;;10380:12;;10208:55;;-1:-1:-1;10293:43:0;;;;10356:36;;10353:124;;10449:12;;10426:35;;10353:124;10497:7;:18;;;;-1:-1:-1;10509:6:0;;-1:-1:-1;;;10509:6:0;;;;10508:7;10497:18;:43;;;;-1:-1:-1;10527:13:0;;-1:-1:-1;;;;;10519:21:0;;;10527:13;;10519:21;;10497:43;:58;;;;-1:-1:-1;10544:11:0;;-1:-1:-1;;;10544:11:0;;;;10497:58;:87;;;;-1:-1:-1;;;;;;10560:24:0;;;;;;:18;:24;;;;;;;;10559:25;10497:87;:114;;;;-1:-1:-1;;;;;;10589:22:0;;;;;;:18;:22;;;;;;;;10588:23;10497:114;10493:402;;;10632:38;10649:20;10632:16;:38::i;:::-;10718:21;10783:17;10762:38;;10758:122;;;10825:35;10838:21;10825:12;:35::i;:::-;10613:282;10493:402;9669:1237;;9631:1275;-1:-1:-1;;;;;10982:24:0;;10918:12;10982:24;;;:18;:24;;;;;;10933:4;;10982:24;;;:50;;-1:-1:-1;;;;;;11010:22:0;;;;;;:18;:22;;;;;;;;10982:50;10981:102;;;-1:-1:-1;11046:13:0;;-1:-1:-1;;;;;11038:21:0;;;11046:13;;11038:21;;;;:44;;-1:-1:-1;11069:13:0;;-1:-1:-1;;;;;11063:19:0;;;11069:13;;11063:19;;11038:44;10977:594;;;-1:-1:-1;11110:5:0;10977:594;;;11193:13;;-1:-1:-1;;;;;11185:21:0;;;11193:13;;11185:21;:55;;;;-1:-1:-1;11224:15:0;;-1:-1:-1;;;;;11210:30:0;;;11224:15;;11210:30;;11185:55;11182:162;;;11273:14;;11261:9;:26;11316:12;;11306:7;:22;11182:162;11403:13;;-1:-1:-1;;;;;11397:19:0;;;11403:13;;11397:19;:55;;;;-1:-1:-1;11436:15:0;;-1:-1:-1;;;;;11420:32:0;;;11436:15;;11420:32;;11397:55;11393:165;;;11485:15;;11473:9;:27;11529:13;;11519:7;:23;11393:165;11583:41;11598:4;11604:2;11608:6;11616:7;11583:14;:41::i;2398:224::-;2518:7;2554:12;2546:6;;;;2538:29;;;;-1:-1:-1;;;2538:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2578:9:0;2590:5;2594:1;2590;:5;:::i;:::-;2578:17;2398:224;-1:-1:-1;;;;;2398:224:0:o;12131:99::-;12188:17;;:34;;-1:-1:-1;;;;;12188:17:0;;;;:34;;;;;12215:6;;12188:17;:34;:17;:34;12215:6;12188:17;:34;;;;;;;;;;;;;;;;;;;8226:323;8321:7;8379;;8368;:18;;8346:110;;;;-1:-1:-1;;;8346:110:0;;6865:2:1;8346:110:0;;;6847:21:1;6904:2;6884:18;;;6877:30;6943:34;6923:18;;;6916:62;-1:-1:-1;;;6994:18:1;;;6987:40;7044:19;;8346:110:0;6663:406:1;8346:110:0;8467:19;8489:10;:8;:10::i;:::-;8467:32;-1:-1:-1;8517:24:0;:7;8467:32;8517:11;:24::i;:::-;8510:31;8226:323;-1:-1:-1;;;8226:323:0:o;11640:483::-;5938:6;:13;;-1:-1:-1;;;;5938:13:0;-1:-1:-1;;;5938:13:0;;;11742:16:::1;::::0;;11756:1:::1;11742:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11742:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11742:16:0::1;11718:40;;11787:4;11769;11774:1;11769:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11769:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11813:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11813:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11769:7;;11813:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11803:4;11808:1;11803:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11803:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11878:15:::1;::::0;11846:62:::1;::::0;11863:4:::1;::::0;11878:15:::1;11896:11:::0;11846:8:::1;:62::i;:::-;11919:15;::::0;:196:::1;::::0;-1:-1:-1;;;11919:196:0;;-1:-1:-1;;;;;11919:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12000:11;;11919:15:::1;::::0;12042:4;;12069::::1;::::0;12089:15:::1;::::0;11919:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5974:6:0;:14;;-1:-1:-1;;;;5974:14:0;;;-1:-1:-1;;;;11640:483:0:o;13111:282::-;13267:7;13262:28;;13276:14;:12;:14::i;:::-;13301:44;13319:6;13327:9;13338:6;13301:17;:44::i;:::-;13361:7;13356:29;;13370:15;8840:17;;8828:9;:29;8878:15;;8868:7;:25;8784:117;16072:164;16114:7;16135:15;16152;16171:19;:17;:19::i;:::-;16134:56;;-1:-1:-1;16134:56:0;-1:-1:-1;16208:20:0;16134:56;;16208:11;:20::i;:::-;16201:27;;;;16072:164;:::o;2884:132::-;2942:7;2969:39;2973:1;2976;2969:39;;;;;;;;;;;;;;;;;:3;:39::i;8557:219::-;8604:9;;:14;:30;;;;-1:-1:-1;8622:7:0;;:12;8604:30;8600:43;;;8557:219::o;8600:43::-;8675:9;;;8655:17;:29;8713:7;;;8695:15;:25;-1:-1:-1;8733:13:0;;;;8757:11;8557:219::o;13401:610::-;13548:15;13578:23;13616:12;13643:23;13681:12;13708:13;13735:19;13746:7;13735:10;:19::i;:::-;-1:-1:-1;;;;;13783:15:0;;;;;;:7;:15;;;;;;13533:221;;-1:-1:-1;13533:221:0;;-1:-1:-1;13533:221:0;;-1:-1:-1;13533:221:0;-1:-1:-1;13533:221:0;-1:-1:-1;13533:221:0;-1:-1:-1;13783:28:0;;13533:221;13783:19;:28::i;:::-;-1:-1:-1;;;;;13765:15:0;;;;;;;:7;:15;;;;;;:46;;;;13843:18;;;;;;;:39;;13866:15;13843:22;:39::i;:::-;-1:-1:-1;;;;;13822:18:0;;;;;;:7;:18;;;;;:60;13893:16;13903:5;13893:9;:16::i;:::-;13920:23;13932:4;13938;13920:11;:23::i;:::-;13976:9;-1:-1:-1;;;;;13959:44:0;13968:6;-1:-1:-1;;;;;13959:44:0;;13987:15;13959:44;;;;11535:25:1;;11523:2;11508:18;;11389:177;13959:44:0;;;;;;;;13522:489;;;;;;13401:610;;;:::o;16244:257::-;16342:7;;16295;;;;4693:18;16410:20;16342:7;4693:18;16410:11;:20::i;:::-;16400:7;:30;16396:61;;;-1:-1:-1;;16440:7:0;;;4693:18;;-1:-1:-1;16244:257:0;-1:-1:-1;16244:257:0:o;16396:61::-;16476:7;;16485;;-1:-1:-1;16244:257:0;-1:-1:-1;16244:257:0:o;3024:223::-;3144:7;3179:12;3172:5;3164:28;;;;-1:-1:-1;;;3164:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3203:9:0;3215:5;3219:1;3215;:5;:::i;14430:615::-;14530:7;14552;14574;14596;14618;14640;14676:23;14701:12;14715:13;14745:40;14757:7;14766:9;;14777:7;;14745:11;:40::i;:::-;14675:110;;;;;;14796:19;14818:10;:8;:10::i;:::-;14796:32;;14840:15;14857:23;14882:12;14911:46;14923:7;14932:4;14938:5;14945:11;14911;:46::i;:::-;14839:118;;-1:-1:-1;14839:118:0;-1:-1:-1;14839:118:0;-1:-1:-1;15008:15:0;;-1:-1:-1;15025:4:0;;-1:-1:-1;15031:5:0;;-1:-1:-1;;;;;14430:615:0;;;;;;;:::o;2254:136::-;2312:7;2339:43;2343:1;2346;2339:43;;;;;;;;;;;;;;;;;:3;:43::i;2067:179::-;2125:7;;2157:5;2161:1;2157;:5;:::i;:::-;2145:17;;2186:1;2181;:6;;2173:46;;;;-1:-1:-1;;;2173:46:0;;8847:2:1;2173:46:0;;;8829:21:1;8886:2;8866:18;;;8859:30;8925:29;8905:18;;;8898:57;8972:18;;2173:46:0;8645:351:1;14019:211:0;14072:19;14094:10;:8;:10::i;:::-;14072:32;-1:-1:-1;14115:13:0;14131:22;:5;14072:32;14131:9;:22::i;:::-;14205:4;14189:22;;;;:7;:22;;;;;;14115:38;;-1:-1:-1;14189:33:0;;14115:38;14189:26;:33::i;:::-;14180:4;14164:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14019:211:0:o;14238:147::-;14316:7;;:17;;14328:4;14316:11;:17::i;:::-;14306:7;:27;14357:10;;:20;;14372:4;14357:14;:20::i;:::-;14344:10;:33;-1:-1:-1;;14238:147:0:o;15053:469::-;15222:7;;;;15316:30;15342:3;15316:21;:7;15328:8;15316:11;:21::i;:::-;:25;;:30::i;:::-;15301:45;-1:-1:-1;15357:13:0;15373:28;15397:3;15373:19;:7;15385:6;15373:11;:19::i;:28::-;15357:44;-1:-1:-1;15412:23:0;15438:28;15357:44;15438:17;:7;15450:4;15438:11;:17::i;:::-;:21;;:28::i;:::-;15412:54;15502:4;;-1:-1:-1;15508:5:0;;-1:-1:-1;15053:469:0;;-1:-1:-1;;;;;15053:469:0:o;15530:534::-;15724:7;;;;15821:24;:7;15833:11;15821;:24::i;:::-;15803:42;-1:-1:-1;15856:12:0;15871:21;:4;15880:11;15871:8;:21::i;:::-;15856:36;-1:-1:-1;15903:13:0;15919:22;:5;15929:11;15919:9;:22::i;:::-;15903:38;-1:-1:-1;15952:23:0;15978:28;15903:38;15978:17;:7;15990:4;15978:11;:17::i;:28::-;16025:7;;;;-1:-1:-1;16051:4:0;;-1:-1:-1;15530:534:0;;-1:-1:-1;;;;;;;15530:534:0:o;2630:246::-;2688:7;2712:6;2708:47;;-1:-1:-1;2742:1:0;2735:8;;2708:47;2765:9;2777:5;2781:1;2777;:5;:::i;:::-;2765:17;-1:-1:-1;2810:1:0;2801:5;2805:1;2765:17;2801:5;:::i;:::-;:10;2793:56;;;;-1:-1:-1;;;2793:56:0;;9203:2:1;2793:56:0;;;9185:21:1;9242:2;9222:18;;;9215:30;9281:34;9261:18;;;9254:62;-1:-1:-1;;;9332:18:1;;;9325:31;9373:19;;2793:56:0;9001:397:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:60;;303:1;300;293:12;318:247;377:6;430:2;418:9;409:7;405:23;401:32;398:52;;;446:1;443;436:12;398:52;485:9;472:23;504:31;529:5;504:31;:::i;570:251::-;640:6;693:2;681:9;672:7;668:23;664:32;661:52;;;709:1;706;699:12;661:52;741:9;735:16;760:31;785:5;760:31;:::i;826:388::-;894:6;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1010:9;997:23;1029:31;1054:5;1029:31;:::i;:::-;1079:5;-1:-1:-1;1136:2:1;1121:18;;1108:32;1149:33;1108:32;1149:33;:::i;:::-;1201:7;1191:17;;;826:388;;;;;:::o;1219:456::-;1296:6;1304;1312;1365:2;1353:9;1344:7;1340:23;1336:32;1333:52;;;1381:1;1378;1371:12;1333:52;1420:9;1407:23;1439:31;1464:5;1439:31;:::i;:::-;1489:5;-1:-1:-1;1546:2:1;1531:18;;1518:32;1559:33;1518:32;1559:33;:::i;:::-;1219:456;;1611:7;;-1:-1:-1;;;1665:2:1;1650:18;;;;1637:32;;1219:456::o;1680:315::-;1748:6;1756;1809:2;1797:9;1788:7;1784:23;1780:32;1777:52;;;1825:1;1822;1815:12;1777:52;1864:9;1851:23;1883:31;1908:5;1883:31;:::i;:::-;1933:5;1985:2;1970:18;;;;1957:32;;-1:-1:-1;;;1680:315:1:o;2000:689::-;2092:6;2100;2108;2161:2;2149:9;2140:7;2136:23;2132:32;2129:52;;;2177:1;2174;2167:12;2129:52;2217:9;2204:23;2246:18;2287:2;2279:6;2276:14;2273:34;;;2303:1;2300;2293:12;2273:34;2341:6;2330:9;2326:22;2316:32;;2386:7;2379:4;2375:2;2371:13;2367:27;2357:55;;2408:1;2405;2398:12;2357:55;2448:2;2435:16;2474:2;2466:6;2463:14;2460:34;;;2490:1;2487;2480:12;2460:34;2545:7;2538:4;2528:6;2525:1;2521:14;2517:2;2513:23;2509:34;2506:47;2503:67;;;2566:1;2563;2556:12;2503:67;2597:4;2589:13;;;;-1:-1:-1;2621:6:1;-1:-1:-1;2646:37:1;;2662:20;;;-1:-1:-1;2646:37:1;:::i;:::-;2636:47;;2000:689;;;;;:::o;2694:1132::-;2778:6;2809:2;2852;2840:9;2831:7;2827:23;2823:32;2820:52;;;2868:1;2865;2858:12;2820:52;2908:9;2895:23;2937:18;2978:2;2970:6;2967:14;2964:34;;;2994:1;2991;2984:12;2964:34;3032:6;3021:9;3017:22;3007:32;;3077:7;3070:4;3066:2;3062:13;3058:27;3048:55;;3099:1;3096;3089:12;3048:55;3135:2;3122:16;3157:2;3153;3150:10;3147:36;;;3163:18;;:::i;:::-;3209:2;3206:1;3202:10;3241:2;3235:9;3304:2;3300:7;3295:2;3291;3287:11;3283:25;3275:6;3271:38;3359:6;3347:10;3344:22;3339:2;3327:10;3324:18;3321:46;3318:72;;;3370:18;;:::i;:::-;3406:2;3399:22;3456:18;;;3490:15;;;;-1:-1:-1;3525:11:1;;;3555;;;3551:20;;3548:33;-1:-1:-1;3545:53:1;;;3594:1;3591;3584:12;3545:53;3616:1;3607:10;;3626:169;3640:2;3637:1;3634:9;3626:169;;;3697:23;3716:3;3697:23;:::i;:::-;3685:36;;3658:1;3651:9;;;;;3741:12;;;;3773;;3626:169;;;-1:-1:-1;3814:6:1;2694:1132;-1:-1:-1;;;;;;;;2694:1132:1:o;3831:180::-;3887:6;3940:2;3928:9;3919:7;3915:23;3911:32;3908:52;;;3956:1;3953;3946:12;3908:52;3979:26;3995:9;3979:26;:::i;4016:180::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;-1:-1:-1;4167:23:1;;4016:180;-1:-1:-1;4016:180:1:o;4201:385::-;4287:6;4295;4303;4311;4364:3;4352:9;4343:7;4339:23;4335:33;4332:53;;;4381:1;4378;4371:12;4332:53;-1:-1:-1;;4404:23:1;;;4474:2;4459:18;;4446:32;;-1:-1:-1;4525:2:1;4510:18;;4497:32;;4576:2;4561:18;4548:32;;-1:-1:-1;4201:385:1;-1:-1:-1;4201:385:1:o;5225:597::-;5337:4;5366:2;5395;5384:9;5377:21;5427:6;5421:13;5470:6;5465:2;5454:9;5450:18;5443:34;5495:1;5505:140;5519:6;5516:1;5513:13;5505:140;;;5614:14;;;5610:23;;5604:30;5580:17;;;5599:2;5576:26;5569:66;5534:10;;5505:140;;;5663:6;5660:1;5657:13;5654:91;;;5733:1;5728:2;5719:6;5708:9;5704:22;5700:31;5693:42;5654:91;-1:-1:-1;5806:2:1;5785:15;-1:-1:-1;;5781:29:1;5766:45;;;;5813:2;5762:54;;5225:597;-1:-1:-1;;;5225:597:1:o;9403:356::-;9605:2;9587:21;;;9624:18;;;9617:30;9683:34;9678:2;9663:18;;9656:62;9750:2;9735:18;;9403:356::o;11571:980::-;11833:4;11881:3;11870:9;11866:19;11912:6;11901:9;11894:25;11938:2;11976:6;11971:2;11960:9;11956:18;11949:34;12019:3;12014:2;12003:9;11999:18;11992:31;12043:6;12078;12072:13;12109:6;12101;12094:22;12147:3;12136:9;12132:19;12125:26;;12186:2;12178:6;12174:15;12160:29;;12207:1;12217:195;12231:6;12228:1;12225:13;12217:195;;;12296:13;;-1:-1:-1;;;;;12292:39:1;12280:52;;12387:15;;;;12352:12;;;;12328:1;12246:9;12217:195;;;-1:-1:-1;;;;;;;12468:32:1;;;;12463:2;12448:18;;12441:60;-1:-1:-1;;;12532:3:1;12517:19;12510:35;12429:3;11571:980;-1:-1:-1;;;11571:980:1:o;12745:128::-;12785:3;12816:1;12812:6;12809:1;12806:13;12803:39;;;12822:18;;:::i;:::-;-1:-1:-1;12858:9:1;;12745:128::o;12878:217::-;12918:1;12944;12934:132;;12988:10;12983:3;12979:20;12976:1;12969:31;13023:4;13020:1;13013:15;13051:4;13048:1;13041:15;12934:132;-1:-1:-1;13080:9:1;;12878:217::o;13100:168::-;13140:7;13206:1;13202;13198:6;13194:14;13191:1;13188:21;13183:1;13176:9;13169:17;13165:45;13162:71;;;13213:18;;:::i;:::-;-1:-1:-1;13253:9:1;;13100:168::o;13273:125::-;13313:4;13341:1;13338;13335:8;13332:34;;;13346:18;;:::i;:::-;-1:-1:-1;13383:9:1;;13273:125::o;13403:135::-;13442:3;-1:-1:-1;;13463:17:1;;13460:43;;;13483:18;;:::i;:::-;-1:-1:-1;13530:1:1;13519:13;;13403:135::o;13543:127::-;13604:10;13599:3;13595:20;13592:1;13585:31;13635:4;13632:1;13625:15;13659:4;13656:1;13649:15;13675:127;13736:10;13731:3;13727:20;13724:1;13717:31;13767:4;13764:1;13757:15;13791:4;13788:1;13781:15;13807:127;13868:10;13863:3;13859:20;13856:1;13849:31;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13939:131;-1:-1:-1;;;;;14014:31:1;;14004:42;;13994:70;;14060:1;14057;14050:12

Swarm Source

ipfs://7982b6df495d9362db56b2960085d278da41abeddf704848885e5e390acc3c5a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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