ETH Price: $2,743.59 (-8.21%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer240734542025-12-23 6:14:1137 days ago1766470451IN
0x04224a26...9cC3cd4E8
0 ETH0.000001430.03219223
Approve237336902025-11-05 14:27:4785 days ago1762352867IN
0x04224a26...9cC3cd4E8
0 ETH0.000063121.33800013
Approve237307212025-11-05 4:28:2385 days ago1762316903IN
0x04224a26...9cC3cd4E8
0 ETH0.000017630.37388615
Transfer236418662025-10-23 18:04:3598 days ago1761242675IN
0x04224a26...9cC3cd4E8
0 ETH0.000013190.21419904
Approve234604492025-09-28 8:56:59123 days ago1759049819IN
0x04224a26...9cC3cd4E8
0 ETH0.000008250.17508856
Transfer233861972025-09-17 23:51:11134 days ago1758153071IN
0x04224a26...9cC3cd4E8
0 ETH0.000074161.20382005
Transfer233700502025-09-15 17:45:11136 days ago1757958311IN
0x04224a26...9cC3cd4E8
0 ETH0.000246874.00727409
Manual Swap233691842025-09-15 14:50:35136 days ago1757947835IN
0x04224a26...9cC3cd4E8
0 ETH0.000162776.94181195
Approve233672002025-09-15 8:11:23136 days ago1757923883IN
0x04224a26...9cC3cd4E8
0 ETH0.000079341.68154969
Approve233668862025-09-15 7:08:23136 days ago1757920103IN
0x04224a26...9cC3cd4E8
0 ETH0.000019440.41218479
Transfer233640032025-09-14 21:27:23137 days ago1757885243IN
0x04224a26...9cC3cd4E8
0 ETH0.000007420.1204653
Approve233582742025-09-14 2:16:35137 days ago1757816195IN
0x04224a26...9cC3cd4E8
0 ETH0.000016270.65341193
Approve233557762025-09-13 17:55:11138 days ago1757786111IN
0x04224a26...9cC3cd4E8
0 ETH0.00000870.18448444
Approve233557462025-09-13 17:49:11138 days ago1757785751IN
0x04224a26...9cC3cd4E8
0 ETH0.000010470.22342324
Enable Trading233557222025-09-13 17:44:23138 days ago1757785463IN
0x04224a26...9cC3cd4E8
0 ETH0.000028231.18843355
Manual Swap233557202025-09-13 17:43:59138 days ago1757785439IN
0x04224a26...9cC3cd4E8
0 ETH0.00002781.18587416
Approve233556392025-09-13 17:27:47138 days ago1757784467IN
0x04224a26...9cC3cd4E8
0 ETH0.000027710.58734381
Transfer233555852025-09-13 17:16:59138 days ago1757783819IN
0x04224a26...9cC3cd4E8
0 ETH0.00002720.61132508
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
Transfer233555802025-09-13 17:15:59138 days ago1757783759IN
0x04224a26...9cC3cd4E8
0 ETH0.000024950.56096903
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...233501102025-09-12 22:56:59139 days ago1757717819
0x04224a26...9cC3cd4E8
0.5 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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x543f51E6...2C97F444D
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
LYNO

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Token.sol
/*
    Name: Lyno AI
    Symbol: LYNO

    🤖 Autopilot for Arbitrage Trading | Unlocking real-time DeFi profits with zero manual effort | $LYNO

    https://lynoai.pro
    https://docs.lynoai.pro
    https://x.com/LynoAIProtocol
    https://t.me/LynoAIProtocol
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

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

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

}

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 is not the owner");
        _;
    }

    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 LYNO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedTax;
    address payable private TaxWallet;

    uint256 private initialTaxOnBuy=0;
    uint256 private initialTaxOnSell=0;
    uint256 private finalTaxOnBuy=0;
    uint256 private finalTaxOnSell=0;
    uint256 private reduceTaxOnBuyAt=10;
    uint256 private reduceTaxOnSellAt=10;
    uint256 private noSwapBefore=30;
    uint256 private transfer_Tax=0;
    uint256 private buys_Count=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690_000_000 * 10**_decimals;
    string private constant _name = unicode"Lyno AI";
    string private constant _symbol = unicode"LYNO";
    uint256 public maxTxAmt =  100 * (_tTotal/100);
    uint256 public maxSizeOfWallet =  100 * (_tTotal/100);
    uint256 public _tTaxSwapThreshold =  1 * (_tTotal/1000);
    uint256 public _tTaxMaxSwap = 1 * (_tTotal/100);

    uint256 public _BUHOIWUEHI;
    address public _YHWEUFHOUWY;
    bool public _UYGDFIUWEYGIUY;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sells_Count = 0;
    uint256 private lastBlockOfSell = 0;
    event MaxTxAmountUpdated(uint maxTxAmt);
    event transfer_TaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        TaxWallet = payable(0x5019644b5f7CE095f85867A4Dc6Fb0BfaFD6ed20);
        _balances[address(this)] = _tTotal;
        _isExcludedTax[owner()] = true;
        _isExcludedTax[address(this)] = true;
        _isExcludedTax[TaxWallet] = true;

        emit Transfer(address(0), address(this), _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 _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()].sub(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 taxAmount=0;
        if (from != owner() && to != owner()) {

            if(buys_Count==0){
                taxAmount = amount.mul((buys_Count>reduceTaxOnBuyAt)?finalTaxOnBuy:initialTaxOnBuy).div(100);
            }
            if(buys_Count>0){
                taxAmount = amount.mul(transfer_Tax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedTax[to] ) {
                require(amount <= maxTxAmt, "Exceeds the maxTxAmt.");
                require(balanceOf(to) + amount <= maxSizeOfWallet, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((buys_Count>reduceTaxOnBuyAt)?finalTaxOnBuy:initialTaxOnBuy).div(100);
                buys_Count++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((buys_Count>reduceTaxOnSellAt)?finalTaxOnSell:initialTaxOnSell).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && buys_Count > noSwapBefore) {
                if (block.number > lastBlockOfSell) {
                    sells_Count = 0;
                }
                if(contractTokenBalance > 0)
                    swapTokensForEth(min(amount, min(contractTokenBalance, _tTaxMaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
                sells_Count++;
                lastBlockOfSell = block.number;
            }
        }

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

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

    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 removeLimits() public onlyOwner{
        maxTxAmt = _tTotal;
        maxSizeOfWallet=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function clearRandomStuckEth() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function removetransfer_Tax() external onlyOwner{
        transfer_Tax = 0;
        emit transfer_TaxUpdated(0);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

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

    function manualSwap() external {
        require(_msgSender()==TaxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    receive() external payable {}

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

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmt","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"transfer_TaxUpdated","type":"event"},{"inputs":[],"name":"_BUHOIWUEHI","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_UYGDFIUWEYGIUY","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_YHWEUFHOUWY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTaxMaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTaxSwapThreshold","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":"clearRandomStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSizeOfWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removetransfer_Tax","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"}]

0x60806040525f6005555f6006555f6007555f600855600a600955600a8055601e600b555f600c555f600d5560646009600a61003a91906105fb565b6461f313f88061004a9190610645565b61005491906106b3565b60646100609190610645565b600e5560646009600a61007391906105fb565b6461f313f8806100839190610645565b61008d91906106b3565b60646100999190610645565b600f556103e86009600a6100ad91906105fb565b6461f313f8806100bd9190610645565b6100c791906106b3565b60016100d39190610645565b60105560646009600a6100e691906105fb565b6461f313f8806100f69190610645565b61010091906106b3565b600161010c9190610645565b6011555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f6016555f6017555f61015961045c60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350735019644b5f7ce095f85867a4dc6fb0bfafd6ed2060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61025791906105fb565b6461f313f8806102679190610645565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102bb61046360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61043291906105fb565b6461f313f8806104429190610645565b60405161044f91906106f2565b60405180910390a361070b565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561050c578086048111156104e8576104e761048a565b5b60018516156104f75780820291505b8081029050610505856104b7565b94506104cc565b94509492505050565b5f8261052457600190506105df565b81610531575f90506105df565b8160018114610547576002811461055157610580565b60019150506105df565b60ff8411156105635761056261048a565b5b8360020a91508482111561057a5761057961048a565b5b506105df565b5060208310610133831016604e8410600b84101617156105b55782820a9050838111156105b0576105af61048a565b5b6105df565b6105c284848460016104c3565b925090508184048111156105d9576105d861048a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610605826105e6565b9150610610836105ef565b925061063d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610515565b905092915050565b5f61064f826105e6565b915061065a836105e6565b9250828202610668816105e6565b9150828204841483151761067f5761067e61048a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106bd826105e6565b91506106c8836105e6565b9250826106d8576106d7610686565b5b828204905092915050565b6106ec816105e6565b82525050565b5f6020820190506107055f8301846106e3565b92915050565b6130c4806107185f395ff3fe60806040526004361061014e575f3560e01c8063715018a6116100b5578063a7b95c4a1161006e578063a7b95c4a146103f7578063a9059cbb14610421578063b8723bf11461045d578063c70db97c14610487578063cf26efb3146104b1578063dd62ed3e146104db57610155565b8063715018a614610337578063751039fc1461034d5780638a8c523c146103635780638ae52689146103795780638da5cb5b146103a357806395d89b41146103cd57610155565b806333e37eaa1161010757806333e37eaa1461027957806351bc3c851461028f578063544d14c9146102a5578063682a6194146102bb5780636fc3eaec146102e557806370a08231146102fb57610155565b806306fdde0314610159578063095ea7b31461018357806318160ddd146101bf57806323b872dd146101e957806326f864cb14610225578063313ce5671461024f57610155565b3661015557005b5f5ffd5b348015610164575f5ffd5b5061016d610517565b60405161017a9190612251565b60405180910390f35b34801561018e575f5ffd5b506101a960048036038101906101a49190612302565b610554565b6040516101b6919061235a565b60405180910390f35b3480156101ca575f5ffd5b506101d3610571565b6040516101e09190612382565b60405180910390f35b3480156101f4575f5ffd5b5061020f600480360381019061020a919061239b565b610595565b60405161021c919061235a565b60405180910390f35b348015610230575f5ffd5b50610239610669565b604051610246919061235a565b60405180910390f35b34801561025a575f5ffd5b5061026361067c565b6040516102709190612406565b60405180910390f35b348015610284575f5ffd5b5061028d610684565b005b34801561029a575f5ffd5b506102a361075f565b005b3480156102b0575f5ffd5b506102b96107f6565b005b3480156102c6575f5ffd5b506102cf6108cb565b6040516102dc9190612382565b60405180910390f35b3480156102f0575f5ffd5b506102f96108d1565b005b348015610306575f5ffd5b50610321600480360381019061031c919061241f565b610940565b60405161032e9190612382565b60405180910390f35b348015610342575f5ffd5b5061034b610986565b005b348015610358575f5ffd5b50610361610ad6565b005b34801561036e575f5ffd5b50610377610c09565b005b348015610384575f5ffd5b5061038d61112d565b60405161039a9190612382565b60405180910390f35b3480156103ae575f5ffd5b506103b7611133565b6040516103c49190612459565b60405180910390f35b3480156103d8575f5ffd5b506103e161115a565b6040516103ee9190612251565b60405180910390f35b348015610402575f5ffd5b5061040b611197565b6040516104189190612382565b60405180910390f35b34801561042c575f5ffd5b5061044760048036038101906104429190612302565b61119d565b604051610454919061235a565b60405180910390f35b348015610468575f5ffd5b506104716111ba565b60405161047e9190612459565b60405180910390f35b348015610492575f5ffd5b5061049b6111df565b6040516104a89190612382565b60405180910390f35b3480156104bc575f5ffd5b506104c56111e5565b6040516104d29190612382565b60405180910390f35b3480156104e6575f5ffd5b5061050160048036038101906104fc9190612472565b6111eb565b60405161050e9190612382565b60405180910390f35b60606040518060400160405280600781526020017f4c796e6f20414900000000000000000000000000000000000000000000000000815250905090565b5f61056761056061126d565b8484611274565b6001905092915050565b5f6009600a610580919061260c565b6461f313f8806105909190612656565b905090565b5f6105a1848484611437565b61065e846105ad61126d565b610659856040518060600160405280602881526020016130676028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61061061126d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccf9092919063ffffffff16565b611274565b600190509392505050565b601360149054906101000a900460ff1681565b5f6009905090565b61068c61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610719576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610710906126e1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561075c573d5f5f3e3d5ffd5b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661079f61126d565b73ffffffffffffffffffffffffffffffffffffffff16146107be575f5ffd5b5f6107c830610940565b90505f8111156107dc576107db81611d31565b5b5f4790505f8111156107f2576107f181611f9a565b5b5050565b6107fe61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610882906126e1565b60405180910390fd5b5f600c819055507f8be4ffeae333831c9a4cedccec341d797c590b065c9f48bc500c9f82f06cc6e95f6040516108c19190612741565b60405180910390a1565b600f5481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091161126d565b73ffffffffffffffffffffffffffffffffffffffff1614610930575f5ffd5b5f47905061093d81611f9a565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61098e61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906126e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ade61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906126e1565b60405180910390fd5b6009600a610b79919061260c565b6461f313f880610b899190612656565b600e819055506009600a610b9d919061260c565b6461f313f880610bad9190612656565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610be2919061260c565b6461f313f880610bf29190612656565b604051610bff9190612382565b60405180910390a1565b610c1161126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c95906126e1565b60405180910390fd5b601560149054906101000a900460ff1615610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce5906127a4565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8b3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d76919061260c565b6461f313f880610d869190612656565b611274565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1991906127d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec391906127d6565b6040518363ffffffff1660e01b8152600401610ee0929190612801565b6020604051808303815f875af1158015610efc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2091906127d6565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa730610940565b5f5f610fb1611133565b426040518863ffffffff1660e01b8152600401610fd396959493929190612828565b60606040518083038185885af1158015610fef573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611014919061289b565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b49291906128eb565b6020604051808303815f875af11580156110d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f4919061293c565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b60115481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4c594e4f00000000000000000000000000000000000000000000000000000000815250905090565b60105481565b5f6111b06111a961126d565b8484611437565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b600e5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d9906129d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612a65565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142a9190612382565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c90612af3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612b81565b60405180910390fd5b5f8111611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612c0f565b60405180910390fd5b5f5f9050611561611133565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f611133565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a1f575f600d540361161c57611619606461160b600954600d54116115f8576005546115fc565b6007545b8561200290919063ffffffff16565b61207990919063ffffffff16565b90505b5f600d5411156116515761164e6064611640600c548561200290919063ffffffff16565b61207990919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116fa575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561174d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561184557600e54821115611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e90612c77565b60405180910390fd5b600f54826117a485610940565b6117ae9190612c95565b11156117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612d12565b60405180910390fd5b61182b606461181d600954600d541161180a5760055461180e565b6007545b8561200290919063ffffffff16565b61207990919063ffffffff16565b9050600d5f81548092919061183f90612d30565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118cd57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119115761190e6064611900600a54600d54116118ed576006546118f1565b6008545b8561200290919063ffffffff16565b61207990919063ffffffff16565b90505b5f61191b30610940565b905060158054906101000a900460ff16158015611984575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561199c5750601560169054906101000a900460ff165b80156119ab5750600b54600d54115b15611a1d576017544311156119c2575f6016819055505b5f8111156119e8576119e76119e2846119dd846011546120c2565b6120c2565b611d31565b5b5f4790505f81106119fd576119fc47611f9a565b5b60165f815480929190611a0f90612d30565b919050555043601781905550505b505b5f811115611b1e57611a778160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b159190612382565b60405180910390a35b611b6e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c11611bc5828461213790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cb4848661213790919063ffffffff16565b604051611cc19190612382565b60405180910390a350505050565b5f838311158290611d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0d9190612251565b60405180910390fd5b505f8385611d249190612d77565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d6757611d66612daa565b5b604051908082528060200260200182016040528015611d955781602001602082028036833780820191505090505b50905030815f81518110611dac57611dab612dd7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7491906127d6565b81600181518110611e8857611e87612dd7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611eee3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611274565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f50959493929190612ebb565b5f604051808303815f87803b158015611f67575f5ffd5b505af1158015611f79573d5f5f3e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ffe573d5f5f3e3d5ffd5b5050565b5f5f8303612012575f9050612073565b5f828461201f9190612656565b905082848261202e9190612f40565b1461206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590612fe0565b60405180910390fd5b809150505b92915050565b5f6120ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612180565b905092915050565b5f8183116120d057826120d2565b815b905092915050565b5f5f82846120e89190612c95565b90508381101561212d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212490613048565b60405180910390fd5b8091505092915050565b5f61217883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ccf565b905092915050565b5f5f831182906121c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bd9190612251565b60405180910390fd5b505f83856121d49190612f40565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612223826121e1565b61222d81856121eb565b935061223d8185602086016121fb565b61224681612209565b840191505092915050565b5f6020820190508181035f8301526122698184612219565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61229e82612275565b9050919050565b6122ae81612294565b81146122b8575f5ffd5b50565b5f813590506122c9816122a5565b92915050565b5f819050919050565b6122e1816122cf565b81146122eb575f5ffd5b50565b5f813590506122fc816122d8565b92915050565b5f5f6040838503121561231857612317612271565b5b5f612325858286016122bb565b9250506020612336858286016122ee565b9150509250929050565b5f8115159050919050565b61235481612340565b82525050565b5f60208201905061236d5f83018461234b565b92915050565b61237c816122cf565b82525050565b5f6020820190506123955f830184612373565b92915050565b5f5f5f606084860312156123b2576123b1612271565b5b5f6123bf868287016122bb565b93505060206123d0868287016122bb565b92505060406123e1868287016122ee565b9150509250925092565b5f60ff82169050919050565b612400816123eb565b82525050565b5f6020820190506124195f8301846123f7565b92915050565b5f6020828403121561243457612433612271565b5b5f612441848285016122bb565b91505092915050565b61245381612294565b82525050565b5f60208201905061246c5f83018461244a565b92915050565b5f5f6040838503121561248857612487612271565b5b5f612495858286016122bb565b92505060206124a6858286016122bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156125325780860481111561250e5761250d6124b0565b5b600185161561251d5780820291505b808102905061252b856124dd565b94506124f2565b94509492505050565b5f8261254a5760019050612605565b81612557575f9050612605565b816001811461256d5760028114612577576125a6565b6001915050612605565b60ff841115612589576125886124b0565b5b8360020a9150848211156125a05761259f6124b0565b5b50612605565b5060208310610133831016604e8410600b84101617156125db5782820a9050838111156125d6576125d56124b0565b5b612605565b6125e884848460016124e9565b925090508184048111156125ff576125fe6124b0565b5b81810290505b9392505050565b5f612616826122cf565b9150612621836123eb565b925061264e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461253b565b905092915050565b5f612660826122cf565b915061266b836122cf565b9250828202612679816122cf565b915082820484148315176126905761268f6124b0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126cb6020836121eb565b91506126d682612697565b602082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b5f819050919050565b5f819050919050565b5f61272b612726612721846126ff565b612708565b6122cf565b9050919050565b61273b81612711565b82525050565b5f6020820190506127545f830184612732565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61278e6017836121eb565b91506127998261275a565b602082019050919050565b5f6020820190508181035f8301526127bb81612782565b9050919050565b5f815190506127d0816122a5565b92915050565b5f602082840312156127eb576127ea612271565b5b5f6127f8848285016127c2565b91505092915050565b5f6040820190506128145f83018561244a565b612821602083018461244a565b9392505050565b5f60c08201905061283b5f83018961244a565b6128486020830188612373565b6128556040830187612732565b6128626060830186612732565b61286f608083018561244a565b61287c60a0830184612373565b979650505050505050565b5f81519050612895816122d8565b92915050565b5f5f5f606084860312156128b2576128b1612271565b5b5f6128bf86828701612887565b93505060206128d086828701612887565b92505060406128e186828701612887565b9150509250925092565b5f6040820190506128fe5f83018561244a565b61290b6020830184612373565b9392505050565b61291b81612340565b8114612925575f5ffd5b50565b5f8151905061293681612912565b92915050565b5f6020828403121561295157612950612271565b5b5f61295e84828501612928565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129c16024836121eb565b91506129cc82612967565b604082019050919050565b5f6020820190508181035f8301526129ee816129b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a4f6022836121eb565b9150612a5a826129f5565b604082019050919050565b5f6020820190508181035f830152612a7c81612a43565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612add6025836121eb565b9150612ae882612a83565b604082019050919050565b5f6020820190508181035f830152612b0a81612ad1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b6b6023836121eb565b9150612b7682612b11565b604082019050919050565b5f6020820190508181035f830152612b9881612b5f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bf96029836121eb565b9150612c0482612b9f565b604082019050919050565b5f6020820190508181035f830152612c2681612bed565b9050919050565b7f4578636565647320746865206d61785478416d742e00000000000000000000005f82015250565b5f612c616015836121eb565b9150612c6c82612c2d565b602082019050919050565b5f6020820190508181035f830152612c8e81612c55565b9050919050565b5f612c9f826122cf565b9150612caa836122cf565b9250828201905080821115612cc257612cc16124b0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cfc601a836121eb565b9150612d0782612cc8565b602082019050919050565b5f6020820190508181035f830152612d2981612cf0565b9050919050565b5f612d3a826122cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d6c57612d6b6124b0565b5b600182019050919050565b5f612d81826122cf565b9150612d8c836122cf565b9250828203905081811115612da457612da36124b0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e3681612294565b82525050565b5f612e478383612e2d565b60208301905092915050565b5f602082019050919050565b5f612e6982612e04565b612e738185612e0e565b9350612e7e83612e1e565b805f5b83811015612eae578151612e958882612e3c565b9750612ea083612e53565b925050600181019050612e81565b5085935050505092915050565b5f60a082019050612ece5f830188612373565b612edb6020830187612732565b8181036040830152612eed8186612e5f565b9050612efc606083018561244a565b612f096080830184612373565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f4a826122cf565b9150612f55836122cf565b925082612f6557612f64612f13565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fca6021836121eb565b9150612fd582612f70565b604082019050919050565b5f6020820190508181035f830152612ff781612fbe565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613032601b836121eb565b915061303d82612ffe565b602082019050919050565b5f6020820190508181035f83015261305f81613026565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207431d4c41d41632f83c604b88966e55e00bd4d95a9bce87f4cc1a52cd3807cab64736f6c634300081e0033

Deployed Bytecode

0x60806040526004361061014e575f3560e01c8063715018a6116100b5578063a7b95c4a1161006e578063a7b95c4a146103f7578063a9059cbb14610421578063b8723bf11461045d578063c70db97c14610487578063cf26efb3146104b1578063dd62ed3e146104db57610155565b8063715018a614610337578063751039fc1461034d5780638a8c523c146103635780638ae52689146103795780638da5cb5b146103a357806395d89b41146103cd57610155565b806333e37eaa1161010757806333e37eaa1461027957806351bc3c851461028f578063544d14c9146102a5578063682a6194146102bb5780636fc3eaec146102e557806370a08231146102fb57610155565b806306fdde0314610159578063095ea7b31461018357806318160ddd146101bf57806323b872dd146101e957806326f864cb14610225578063313ce5671461024f57610155565b3661015557005b5f5ffd5b348015610164575f5ffd5b5061016d610517565b60405161017a9190612251565b60405180910390f35b34801561018e575f5ffd5b506101a960048036038101906101a49190612302565b610554565b6040516101b6919061235a565b60405180910390f35b3480156101ca575f5ffd5b506101d3610571565b6040516101e09190612382565b60405180910390f35b3480156101f4575f5ffd5b5061020f600480360381019061020a919061239b565b610595565b60405161021c919061235a565b60405180910390f35b348015610230575f5ffd5b50610239610669565b604051610246919061235a565b60405180910390f35b34801561025a575f5ffd5b5061026361067c565b6040516102709190612406565b60405180910390f35b348015610284575f5ffd5b5061028d610684565b005b34801561029a575f5ffd5b506102a361075f565b005b3480156102b0575f5ffd5b506102b96107f6565b005b3480156102c6575f5ffd5b506102cf6108cb565b6040516102dc9190612382565b60405180910390f35b3480156102f0575f5ffd5b506102f96108d1565b005b348015610306575f5ffd5b50610321600480360381019061031c919061241f565b610940565b60405161032e9190612382565b60405180910390f35b348015610342575f5ffd5b5061034b610986565b005b348015610358575f5ffd5b50610361610ad6565b005b34801561036e575f5ffd5b50610377610c09565b005b348015610384575f5ffd5b5061038d61112d565b60405161039a9190612382565b60405180910390f35b3480156103ae575f5ffd5b506103b7611133565b6040516103c49190612459565b60405180910390f35b3480156103d8575f5ffd5b506103e161115a565b6040516103ee9190612251565b60405180910390f35b348015610402575f5ffd5b5061040b611197565b6040516104189190612382565b60405180910390f35b34801561042c575f5ffd5b5061044760048036038101906104429190612302565b61119d565b604051610454919061235a565b60405180910390f35b348015610468575f5ffd5b506104716111ba565b60405161047e9190612459565b60405180910390f35b348015610492575f5ffd5b5061049b6111df565b6040516104a89190612382565b60405180910390f35b3480156104bc575f5ffd5b506104c56111e5565b6040516104d29190612382565b60405180910390f35b3480156104e6575f5ffd5b5061050160048036038101906104fc9190612472565b6111eb565b60405161050e9190612382565b60405180910390f35b60606040518060400160405280600781526020017f4c796e6f20414900000000000000000000000000000000000000000000000000815250905090565b5f61056761056061126d565b8484611274565b6001905092915050565b5f6009600a610580919061260c565b6461f313f8806105909190612656565b905090565b5f6105a1848484611437565b61065e846105ad61126d565b610659856040518060600160405280602881526020016130676028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61061061126d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccf9092919063ffffffff16565b611274565b600190509392505050565b601360149054906101000a900460ff1681565b5f6009905090565b61068c61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610719576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610710906126e1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561075c573d5f5f3e3d5ffd5b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661079f61126d565b73ffffffffffffffffffffffffffffffffffffffff16146107be575f5ffd5b5f6107c830610940565b90505f8111156107dc576107db81611d31565b5b5f4790505f8111156107f2576107f181611f9a565b5b5050565b6107fe61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610882906126e1565b60405180910390fd5b5f600c819055507f8be4ffeae333831c9a4cedccec341d797c590b065c9f48bc500c9f82f06cc6e95f6040516108c19190612741565b60405180910390a1565b600f5481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091161126d565b73ffffffffffffffffffffffffffffffffffffffff1614610930575f5ffd5b5f47905061093d81611f9a565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61098e61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906126e1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ade61126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906126e1565b60405180910390fd5b6009600a610b79919061260c565b6461f313f880610b899190612656565b600e819055506009600a610b9d919061260c565b6461f313f880610bad9190612656565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610be2919061260c565b6461f313f880610bf29190612656565b604051610bff9190612382565b60405180910390a1565b610c1161126d565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c95906126e1565b60405180910390fd5b601560149054906101000a900460ff1615610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce5906127a4565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8b3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d76919061260c565b6461f313f880610d869190612656565b611274565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1991906127d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec391906127d6565b6040518363ffffffff1660e01b8152600401610ee0929190612801565b6020604051808303815f875af1158015610efc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2091906127d6565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa730610940565b5f5f610fb1611133565b426040518863ffffffff1660e01b8152600401610fd396959493929190612828565b60606040518083038185885af1158015610fef573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611014919061289b565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b49291906128eb565b6020604051808303815f875af11580156110d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f4919061293c565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b60115481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4c594e4f00000000000000000000000000000000000000000000000000000000815250905090565b60105481565b5f6111b06111a961126d565b8484611437565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b600e5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d9906129d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612a65565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142a9190612382565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c90612af3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612b81565b60405180910390fd5b5f8111611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90612c0f565b60405180910390fd5b5f5f9050611561611133565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f611133565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a1f575f600d540361161c57611619606461160b600954600d54116115f8576005546115fc565b6007545b8561200290919063ffffffff16565b61207990919063ffffffff16565b90505b5f600d5411156116515761164e6064611640600c548561200290919063ffffffff16565b61207990919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116fa575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561174d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561184557600e54821115611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e90612c77565b60405180910390fd5b600f54826117a485610940565b6117ae9190612c95565b11156117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612d12565b60405180910390fd5b61182b606461181d600954600d541161180a5760055461180e565b6007545b8561200290919063ffffffff16565b61207990919063ffffffff16565b9050600d5f81548092919061183f90612d30565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118cd57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119115761190e6064611900600a54600d54116118ed576006546118f1565b6008545b8561200290919063ffffffff16565b61207990919063ffffffff16565b90505b5f61191b30610940565b905060158054906101000a900460ff16158015611984575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561199c5750601560169054906101000a900460ff165b80156119ab5750600b54600d54115b15611a1d576017544311156119c2575f6016819055505b5f8111156119e8576119e76119e2846119dd846011546120c2565b6120c2565b611d31565b5b5f4790505f81106119fd576119fc47611f9a565b5b60165f815480929190611a0f90612d30565b919050555043601781905550505b505b5f811115611b1e57611a778160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b159190612382565b60405180910390a35b611b6e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461213790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c11611bc5828461213790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cb4848661213790919063ffffffff16565b604051611cc19190612382565b60405180910390a350505050565b5f838311158290611d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0d9190612251565b60405180910390fd5b505f8385611d249190612d77565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d6757611d66612daa565b5b604051908082528060200260200182016040528015611d955781602001602082028036833780820191505090505b50905030815f81518110611dac57611dab612dd7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7491906127d6565b81600181518110611e8857611e87612dd7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611eee3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611274565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f50959493929190612ebb565b5f604051808303815f87803b158015611f67575f5ffd5b505af1158015611f79573d5f5f3e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ffe573d5f5f3e3d5ffd5b5050565b5f5f8303612012575f9050612073565b5f828461201f9190612656565b905082848261202e9190612f40565b1461206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590612fe0565b60405180910390fd5b809150505b92915050565b5f6120ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612180565b905092915050565b5f8183116120d057826120d2565b815b905092915050565b5f5f82846120e89190612c95565b90508381101561212d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212490613048565b60405180910390fd5b8091505092915050565b5f61217883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ccf565b905092915050565b5f5f831182906121c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bd9190612251565b60405180910390fd5b505f83856121d49190612f40565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612223826121e1565b61222d81856121eb565b935061223d8185602086016121fb565b61224681612209565b840191505092915050565b5f6020820190508181035f8301526122698184612219565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61229e82612275565b9050919050565b6122ae81612294565b81146122b8575f5ffd5b50565b5f813590506122c9816122a5565b92915050565b5f819050919050565b6122e1816122cf565b81146122eb575f5ffd5b50565b5f813590506122fc816122d8565b92915050565b5f5f6040838503121561231857612317612271565b5b5f612325858286016122bb565b9250506020612336858286016122ee565b9150509250929050565b5f8115159050919050565b61235481612340565b82525050565b5f60208201905061236d5f83018461234b565b92915050565b61237c816122cf565b82525050565b5f6020820190506123955f830184612373565b92915050565b5f5f5f606084860312156123b2576123b1612271565b5b5f6123bf868287016122bb565b93505060206123d0868287016122bb565b92505060406123e1868287016122ee565b9150509250925092565b5f60ff82169050919050565b612400816123eb565b82525050565b5f6020820190506124195f8301846123f7565b92915050565b5f6020828403121561243457612433612271565b5b5f612441848285016122bb565b91505092915050565b61245381612294565b82525050565b5f60208201905061246c5f83018461244a565b92915050565b5f5f6040838503121561248857612487612271565b5b5f612495858286016122bb565b92505060206124a6858286016122bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156125325780860481111561250e5761250d6124b0565b5b600185161561251d5780820291505b808102905061252b856124dd565b94506124f2565b94509492505050565b5f8261254a5760019050612605565b81612557575f9050612605565b816001811461256d5760028114612577576125a6565b6001915050612605565b60ff841115612589576125886124b0565b5b8360020a9150848211156125a05761259f6124b0565b5b50612605565b5060208310610133831016604e8410600b84101617156125db5782820a9050838111156125d6576125d56124b0565b5b612605565b6125e884848460016124e9565b925090508184048111156125ff576125fe6124b0565b5b81810290505b9392505050565b5f612616826122cf565b9150612621836123eb565b925061264e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461253b565b905092915050565b5f612660826122cf565b915061266b836122cf565b9250828202612679816122cf565b915082820484148315176126905761268f6124b0565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126cb6020836121eb565b91506126d682612697565b602082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b5f819050919050565b5f819050919050565b5f61272b612726612721846126ff565b612708565b6122cf565b9050919050565b61273b81612711565b82525050565b5f6020820190506127545f830184612732565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61278e6017836121eb565b91506127998261275a565b602082019050919050565b5f6020820190508181035f8301526127bb81612782565b9050919050565b5f815190506127d0816122a5565b92915050565b5f602082840312156127eb576127ea612271565b5b5f6127f8848285016127c2565b91505092915050565b5f6040820190506128145f83018561244a565b612821602083018461244a565b9392505050565b5f60c08201905061283b5f83018961244a565b6128486020830188612373565b6128556040830187612732565b6128626060830186612732565b61286f608083018561244a565b61287c60a0830184612373565b979650505050505050565b5f81519050612895816122d8565b92915050565b5f5f5f606084860312156128b2576128b1612271565b5b5f6128bf86828701612887565b93505060206128d086828701612887565b92505060406128e186828701612887565b9150509250925092565b5f6040820190506128fe5f83018561244a565b61290b6020830184612373565b9392505050565b61291b81612340565b8114612925575f5ffd5b50565b5f8151905061293681612912565b92915050565b5f6020828403121561295157612950612271565b5b5f61295e84828501612928565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129c16024836121eb565b91506129cc82612967565b604082019050919050565b5f6020820190508181035f8301526129ee816129b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a4f6022836121eb565b9150612a5a826129f5565b604082019050919050565b5f6020820190508181035f830152612a7c81612a43565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612add6025836121eb565b9150612ae882612a83565b604082019050919050565b5f6020820190508181035f830152612b0a81612ad1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b6b6023836121eb565b9150612b7682612b11565b604082019050919050565b5f6020820190508181035f830152612b9881612b5f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bf96029836121eb565b9150612c0482612b9f565b604082019050919050565b5f6020820190508181035f830152612c2681612bed565b9050919050565b7f4578636565647320746865206d61785478416d742e00000000000000000000005f82015250565b5f612c616015836121eb565b9150612c6c82612c2d565b602082019050919050565b5f6020820190508181035f830152612c8e81612c55565b9050919050565b5f612c9f826122cf565b9150612caa836122cf565b9250828201905080821115612cc257612cc16124b0565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612cfc601a836121eb565b9150612d0782612cc8565b602082019050919050565b5f6020820190508181035f830152612d2981612cf0565b9050919050565b5f612d3a826122cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d6c57612d6b6124b0565b5b600182019050919050565b5f612d81826122cf565b9150612d8c836122cf565b9250828203905081811115612da457612da36124b0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e3681612294565b82525050565b5f612e478383612e2d565b60208301905092915050565b5f602082019050919050565b5f612e6982612e04565b612e738185612e0e565b9350612e7e83612e1e565b805f5b83811015612eae578151612e958882612e3c565b9750612ea083612e53565b925050600181019050612e81565b5085935050505092915050565b5f60a082019050612ece5f830188612373565b612edb6020830187612732565b8181036040830152612eed8186612e5f565b9050612efc606083018561244a565b612f096080830184612373565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f4a826122cf565b9150612f55836122cf565b925082612f6557612f64612f13565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fca6021836121eb565b9150612fd582612f70565b604082019050919050565b5f6020820190508181035f830152612ff781612fbe565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613032601b836121eb565b915061303d82612ffe565b602082019050919050565b5f6020820190508181035f83015261305f81613026565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207431d4c41d41632f83c604b88966e55e00bd4d95a9bce87f4cc1a52cd3807cab64736f6c634300081e0033

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.