ETH Price: $2,509.50 (+0.41%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226407932025-06-05 20:28:352 days ago1749155315IN
0x84e92f1f...6B3bcb35a
0 ETH0.000993621.02990867
Approve226406802025-06-05 20:05:472 days ago1749153947IN
0x84e92f1f...6B3bcb35a
0 ETH0.0005394911.49750417
Approve226406782025-06-05 20:05:232 days ago1749153923IN
0x84e92f1f...6B3bcb35a
0 ETH0.000567212.08792798
Approve226406682025-06-05 20:03:232 days ago1749153803IN
0x84e92f1f...6B3bcb35a
0 ETH0.0006227813.18152722
Approve226406642025-06-05 20:02:352 days ago1749153755IN
0x84e92f1f...6B3bcb35a
0 ETH0.0006345713.43110693
Approve226406592025-06-05 20:01:352 days ago1749153695IN
0x84e92f1f...6B3bcb35a
0 ETH0.0006234413.19539665
Approve226406392025-06-05 19:57:352 days ago1749153455IN
0x84e92f1f...6B3bcb35a
0 ETH0.0005774212.22141276
Approve226406372025-06-05 19:57:112 days ago1749153431IN
0x84e92f1f...6B3bcb35a
0 ETH0.0004730510.01242379
Approve226406372025-06-05 19:57:112 days ago1749153431IN
0x84e92f1f...6B3bcb35a
0 ETH0.000378568.01242379
Approve226406352025-06-05 19:56:472 days ago1749153407IN
0x84e92f1f...6B3bcb35a
0 ETH0.0008416617.81418913
Remove All Limit...226406262025-06-05 19:54:592 days ago1749153299IN
0x84e92f1f...6B3bcb35a
0 ETH0.001374139.30964333
Approve226406212025-06-05 19:53:592 days ago1749153239IN
0x84e92f1f...6B3bcb35a
0 ETH0.0005779112.2318876
Approve226406172025-06-05 19:53:112 days ago1749153191IN
0x84e92f1f...6B3bcb35a
0 ETH0.00059612.61461063
Approve226406152025-06-05 19:52:472 days ago1749153167IN
0x84e92f1f...6B3bcb35a
0 ETH0.0007108815.04611007
New Fee226406112025-06-05 19:51:592 days ago1749153119IN
0x84e92f1f...6B3bcb35a
0 ETH0.0010960740.00269372
Approve226406102025-06-05 19:51:472 days ago1749153107IN
0x84e92f1f...6B3bcb35a
0 ETH0.0005814412.30654029
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...226405962025-06-05 19:48:592 days ago1749152939
0x84e92f1f...6B3bcb35a
1 ETH

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:
TOKEN_NAME

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2025-06-05
*/

/*


Twitter: https://x.com/elonmusk/status/1930703865801810022?s=46

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.23;

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

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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;
    }
}

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

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

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

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

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

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

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

contract TOKEN_NAME is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedWallet;
    uint8 private constant _decimals = 9;

    string private constant _name = "Pedo Potus";
    string private constant _symbol = "PP";
    
    uint256 private constant _totalSupply = 100000 * 10**_decimals;
    uint256 public maxWallet = (_totalSupply * 2)/100;
    uint256 public maxTx = (_totalSupply * 2)/100;
    uint256 private constant minCASell = _totalSupply / 1000;  //0.1%
    uint256 private maxCASell = _totalSupply / 100 ; // 1%

    uint256 public buyTax = 20;
    uint256 public sellTax = 20;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private launchMark = false;

    uint256 private lastSellBlock;
    uint256 private _sellCount;

    bool private inSwap;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    address payable private treasury; 

    constructor() payable {
        treasury = payable (msg.sender); 
        _isExcludedWallet[msg.sender] = true;
        _isExcludedWallet[address(this)] = true;
        _isExcludedWallet[treasury] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _allowances[owner()][address(uniswapV2Router)] = _totalSupply;
        _balance[owner()] = _totalSupply;

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

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

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

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

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

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

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

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

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

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

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

    function openTrading() external onlyOwner {
        launchMark = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer zero address");
        require(amount > 0, "transfer zero amount");
        uint256 _tax = 0;

        if(!_isExcludedWallet[from] && !_isExcludedWallet[to]){
            //NOT EXCLUDED:
            require(launchMark);
            require(amount <= maxTx, "Over MaxTx limit");
            if (from == uniswapV2Pair) {
                //BUY:
                require(balanceOf(to) + amount <= maxWallet, "Over MaxWallet limit");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                //SELL:
                _tax = sellTax;
                uint256 tokensSwap = balanceOf(address(this));
                if (tokensSwap > minCASell && !inSwap) {
                    if (block.number > lastSellBlock) {
                        _sellCount = 0;
                    }
                    if (_sellCount < 3){
                        _sellCount++;
                        lastSellBlock = block.number;
                        swapTokenToEth(min(maxCASell, min(amount, tokensSwap)));
                    }
                }
            }
        }
        _balance[from] = _balance[from] - amount;

        if(_tax > 0){
            uint256 taxTokens = (amount * _tax) / 100;
            _balance[address(this)] = _balance[address(this)] + taxTokens;
            amount = amount - taxTokens;
            emit Transfer(from, address(this), taxTokens);
        }

        _balance[to] = _balance[to] + amount;
        emit Transfer(from, to, amount);
    }

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

    function swapTokenToEth(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,treasury,block.timestamp);
    }

    function transferOwnership(address newOwner) public override onlyOwner {
        _isExcludedWallet[owner()] = false;
        super.transferOwnership(newOwner);
        _isExcludedWallet[newOwner] = true;
    }

    function newFee(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 20 && newSellTax <= 20);
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function setExcludedWallet(address wAddress, bool isExcle) external  onlyOwner {
        _isExcludedWallet[wAddress] = isExcle;
    }

    function triggerCA(uint256 amount) external {
        require(_msgSender() == treasury);
        amount = min(balanceOf(address(this)), amount * 10**decimals());
        swapTokenToEth(amount);
    }

    function newMaxCASell(uint256 _maxCaSell) external onlyOwner{
        maxCASell = _maxCaSell * 10**_decimals;
    }

    function setLimits(uint256 newMaxWalletAmount, uint256 newMaxTxAmount) external onlyOwner {
        maxWallet = newMaxWalletAmount * 10**_decimals;
        maxTx = newMaxTxAmount * 10**_decimals;
    }

    function removeAllLimits() external onlyOwner {
        maxWallet = _totalSupply;
        maxTx = _totalSupply;
    }

    //Amounts with decimals, use 0 for all
    function getStuckTokens(address tokenAddress, uint256 amounts) external {
        require(msg.sender == treasury);
        if(amounts == 0){
            amounts = IERC20(tokenAddress).balanceOf(address(this));
        }
        IERC20(tokenAddress).transfer(treasury, amounts);
    }

    //Send tokens from ca to dead, call only from owner (without decimals)
    function burnTokens(uint256 percent) external onlyOwner() {
        uint256 amount = min(balanceOf(address(this)), (totalSupply() * percent / 100 ));
        IERC20(address(this)).transfer(0x000000000000000000000000000000000000dEaD, amount * 10**_decimals);
    }

    function getETHtoMW() external {
        require(msg.sender == treasury);
        treasury.transfer(address(this).balance);
    }

    function addLP() external payable onlyOwner() {
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) - totalSupply() * 10 / 100,
            0,
            0,
            owner(),
            block.timestamp);
    }

    receive() external payable {}
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLP","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getETHtoMW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amounts","type":"uint256"}],"name":"getStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"newFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxCaSell","type":"uint256"}],"name":"newMaxCASell","outputs":[],"stateMutability":"nonpayable","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":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wAddress","type":"address"},{"internalType":"bool","name":"isExcle","type":"bool"}],"name":"setExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWalletAmount","type":"uint256"},{"internalType":"uint256","name":"newMaxTxAmount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"triggerCA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052606460026009600a620000189190620008b0565b620186a062000028919062000900565b62000034919062000900565b62000040919062000977565b600455606460026009600a620000579190620008b0565b620186a062000067919062000900565b62000073919062000900565b6200007f919062000977565b60055560646009600a620000949190620008b0565b620186a0620000a4919062000900565b620000b0919062000977565b600655601460075560146008555f600a60146101000a81548160ff0219169083151502179055505f620000e8620006f060201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003cb919062000a13565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000452573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000478919062000a13565b6040518363ffffffff1660e01b81526004016200049792919062000a54565b6020604051808303815f875af1158015620004b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004da919062000a13565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620005299190620008b0565b620186a062000539919062000900565b60025f6200054c620006f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506009600a620005f59190620008b0565b620186a062000605919062000900565b60015f62000618620006f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000665620006f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620006c39190620008b0565b620186a0620006d3919062000900565b604051620006e2919062000a90565b60405180910390a362000aab565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620007a85780860481111562000780576200077f6200071e565b5b6001851615620007905780820291505b8081029050620007a0856200074b565b945062000760565b94509492505050565b5f82620007c2576001905062000894565b81620007d1575f905062000894565b8160018114620007ea5760028114620007f5576200082b565b600191505062000894565b60ff8411156200080a57620008096200071e565b5b8360020a9150848211156200082457620008236200071e565b5b5062000894565b5060208310610133831016604e8410600b8410161715620008655782820a9050838111156200085f576200085e6200071e565b5b62000894565b62000874848484600162000757565b925090508184048111156200088e576200088d6200071e565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620008bc826200089b565b9150620008c983620008a4565b9250620008f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007b1565b905092915050565b5f6200090c826200089b565b915062000919836200089b565b925082820262000929816200089b565b915082820484148315176200094357620009426200071e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000983826200089b565b915062000990836200089b565b925082620009a357620009a26200094a565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009dd82620009b2565b9050919050565b620009ef81620009d1565b8114620009fa575f80fd5b50565b5f8151905062000a0d81620009e4565b92915050565b5f6020828403121562000a2b5762000a2a620009ae565b5b5f62000a3a84828501620009fd565b91505092915050565b62000a4e81620009d1565b82525050565b5f60408201905062000a695f83018562000a43565b62000a78602083018462000a43565b9392505050565b62000a8a816200089b565b82525050565b5f60208201905062000aa55f83018462000a7f565b92915050565b6130698062000ab95f395ff3fe6080604052600436106101ba575f3560e01c80637437681e116100eb578063c9567bf911610089578063dd62ed3e11610063578063dd62ed3e14610581578063dd877951146105bd578063f2fde38b146105e5578063f8b45b051461060d576101c1565b8063c9567bf91461052b578063cc1776d314610541578063db05e5cb1461056b576101c1565b8063a9059cbb116100c5578063a9059cbb14610495578063aca2cd6e146104d1578063bc37e1a3146104f9578063c4590d3f14610503576101c1565b80637437681e146104175780638da5cb5b1461044157806395d89b411461046b576101c1565b806338cf3b2f116101585780635af71d72116101325780635af71d72146103875780636d1b229d1461039d57806370a08231146103c5578063715018a614610401576101c1565b806338cf3b2f1461030b57806349bd5a5e146103335780634f7041a51461035d576101c1565b806318160ddd1161019457806318160ddd146102535780631a728f641461027d57806323b872dd146102a5578063313ce567146102e1576101c1565b806306fdde03146101c557806307056d37146101ef578063095ea7b314610217576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610637565b6040516101e69190612383565b60405180910390f35b3480156101fa575f80fd5b50610215600480360381019061021091906123da565b610674565b005b348015610222575f80fd5b5061023d60048036038101906102389190612472565b610734565b60405161024a91906124ca565b60405180910390f35b34801561025e575f80fd5b50610267610751565b60405161027491906124f2565b60405180910390f35b348015610288575f80fd5b506102a3600480360381019061029e919061250b565b610773565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190612536565b610811565b6040516102d891906124ca565b60405180910390f35b3480156102ec575f80fd5b506102f5610902565b60405161030291906125a1565b60405180910390f35b348015610316575f80fd5b50610331600480360381019061032c919061250b565b61090a565b005b34801561033e575f80fd5b506103476109c0565b60405161035491906125c9565b60405180910390f35b348015610368575f80fd5b506103716109e5565b60405161037e91906124f2565b60405180910390f35b348015610392575f80fd5b5061039b6109eb565b005b3480156103a8575f80fd5b506103c360048036038101906103be919061250b565b610aac565b005b3480156103d0575f80fd5b506103eb60048036038101906103e691906125e2565b610c0d565b6040516103f891906124f2565b60405180910390f35b34801561040c575f80fd5b50610415610c53565b005b348015610422575f80fd5b5061042b610da1565b60405161043891906124f2565b60405180910390f35b34801561044c575f80fd5b50610455610da7565b60405161046291906125c9565b60405180910390f35b348015610476575f80fd5b5061047f610dce565b60405161048c9190612383565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612472565b610e0b565b6040516104c891906124ca565b60405180910390f35b3480156104dc575f80fd5b506104f760048036038101906104f29190612637565b610e28565b005b610501610f14565b005b34801561050e575f80fd5b50610529600480360381019061052491906123da565b6110d3565b005b348015610536575f80fd5b5061053f6111a9565b005b34801561054c575f80fd5b5061055561125a565b60405161056291906124f2565b60405180910390f35b348015610576575f80fd5b5061057f611260565b005b34801561058c575f80fd5b506105a760048036038101906105a29190612675565b61133a565b6040516105b491906124f2565b60405180910390f35b3480156105c8575f80fd5b506105e360048036038101906105de9190612472565b6113bc565b005b3480156105f0575f80fd5b5061060b600480360381019061060691906125e2565b611539565b005b348015610618575f80fd5b50610621611689565b60405161062e91906124f2565b60405180910390f35b60606040518060400160405280600a81526020017f5065646f20506f74757300000000000000000000000000000000000000000000815250905090565b61067c61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff906126fd565b60405180910390fd5b6014821115801561071a575060148111155b610722575f80fd5b81600781905550806008819055505050565b5f61074761074061168f565b8484611696565b6001905092915050565b5f6009600a6107609190612877565b620186a061076e91906128c1565b905090565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b461168f565b73ffffffffffffffffffffffffffffffffffffffff16146107d3575f80fd5b6108036107df30610c0d565b6107e7610902565b600a6107f39190612877565b836107fe91906128c1565b611824565b905061080e8161183c565b50565b5f61081d848484611ac7565b6108f78461082961168f565b6108f2856040518060400160405280600d81526020017f6c6f7720616c6c6f77616e63650000000000000000000000000000000000000081525060025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108a961168f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da9092919063ffffffff16565b611696565b600190509392505050565b5f6009905090565b61091261168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906126fd565b60405180910390fd5b6009600a6109ac9190612877565b816109b791906128c1565b60068190555050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a44575f80fd5b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610aa9573d5f803e3d5ffd5b50565b610ab461168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b37906126fd565b60405180910390fd5b5f610b71610b4d30610c0d565b606484610b58610751565b610b6291906128c1565b610b6c919061292f565b611824565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead6009600a610ba09190612877565b84610bab91906128c1565b6040518363ffffffff1660e01b8152600401610bc892919061295f565b6020604051808303815f875af1158015610be4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c08919061299a565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c5b61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde906126fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f5050000000000000000000000000000000000000000000000000000000000000815250905090565b5f610e1e610e1761168f565b8484611ac7565b6001905092915050565b610e3061168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb3906126fd565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610f1c61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f906126fd565b60405180910390fd5b610fef3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fdc9190612877565b620186a0610fea91906128c1565b611696565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064600a61103a610751565b61104491906128c1565b61104e919061292f565b61105730610c0d565b61106191906129c5565b5f8061106b610da7565b426040518863ffffffff1660e01b815260040161108d96959493929190612a3a565b60606040518083038185885af11580156110a9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110ce9190612aad565b505050565b6110db61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906126fd565b60405180910390fd5b6009600a6111759190612877565b8261118091906128c1565b6004819055506009600a6111949190612877565b8161119f91906128c1565b6005819055505050565b6111b161168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906126fd565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b60085481565b61126861168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb906126fd565b60405180910390fd5b6009600a6113029190612877565b620186a061131091906128c1565b6004819055506009600a6113249190612877565b620186a061133291906128c1565b600581905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611415575f80fd5b5f8103611497578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161145591906125c9565b602060405180830381865afa158015611470573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114949190612afd565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016114f4929190612b7a565b6020604051808303815f875af1158015611510573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611534919061299a565b505050565b61154161168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c4906126fd565b60405180910390fd5b5f60035f6115d9610da7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506116318161213c565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60045481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116fe57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173490612beb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161181791906124f2565b60405180910390a3505050565b5f8183116118325782611834565b815b905092915050565b6001600d5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561187257611871612c09565b5b6040519080825280602002602001820160405280156118a05781602001602082028036833780820191505090505b50905030815f815181106118b7576118b6612c36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561195b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197f9190612c77565b8160018151811061199357611992612c36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119f93060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611696565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a7d959493929190612d59565b5f604051808303815f87803b158015611a94575f80fd5b505af1158015611aa6573d5f803e3d5ffd5b50505050505f600d5f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2c90612dfb565b60405180910390fd5b5f8111611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e90612e63565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611c16575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e3957600a60149054906101000a900460ff16611c33575f80fd5b600554821115611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f90612ecb565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d2e5760045482611cd985610c0d565b611ce39190612ee9565b1115611d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1b90612f66565b60405180910390fd5b6007549050611e38565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e375760085490505f611d9130610c0d565b90506103e86009600a611da49190612877565b620186a0611db291906128c1565b611dbc919061292f565b81118015611dd65750600d5f9054906101000a900460ff16155b15611e3557600b54431115611ded575f600c819055505b6003600c541015611e3457600c5f815480929190611e0a90612f84565b919050555043600b81905550611e33611e2e600654611e298685611824565b611824565b61183c565b5b5b505b5b5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e8291906129c5565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811115611fe5575f60648284611eda91906128c1565b611ee4919061292f565b90508060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f2f9190612ee9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508083611f7c91906129c5565b92503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fdb91906124f2565b60405180910390a3505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202e9190612ee9565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120cc91906124f2565b60405180910390a350505050565b5f838311158290612121576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121189190612383565b60405180910390fd5b505f838561212f91906129c5565b9050809150509392505050565b61214461168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c7906126fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361223e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223590613015565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612330578082015181840152602081019050612315565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612355826122f9565b61235f8185612303565b935061236f818560208601612313565b6123788161233b565b840191505092915050565b5f6020820190508181035f83015261239b818461234b565b905092915050565b5f80fd5b5f819050919050565b6123b9816123a7565b81146123c3575f80fd5b50565b5f813590506123d4816123b0565b92915050565b5f80604083850312156123f0576123ef6123a3565b5b5f6123fd858286016123c6565b925050602061240e858286016123c6565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61244182612418565b9050919050565b61245181612437565b811461245b575f80fd5b50565b5f8135905061246c81612448565b92915050565b5f8060408385031215612488576124876123a3565b5b5f6124958582860161245e565b92505060206124a6858286016123c6565b9150509250929050565b5f8115159050919050565b6124c4816124b0565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b6124ec816123a7565b82525050565b5f6020820190506125055f8301846124e3565b92915050565b5f602082840312156125205761251f6123a3565b5b5f61252d848285016123c6565b91505092915050565b5f805f6060848603121561254d5761254c6123a3565b5b5f61255a8682870161245e565b935050602061256b8682870161245e565b925050604061257c868287016123c6565b9150509250925092565b5f60ff82169050919050565b61259b81612586565b82525050565b5f6020820190506125b45f830184612592565b92915050565b6125c381612437565b82525050565b5f6020820190506125dc5f8301846125ba565b92915050565b5f602082840312156125f7576125f66123a3565b5b5f6126048482850161245e565b91505092915050565b612616816124b0565b8114612620575f80fd5b50565b5f813590506126318161260d565b92915050565b5f806040838503121561264d5761264c6123a3565b5b5f61265a8582860161245e565b925050602061266b85828601612623565b9150509250929050565b5f806040838503121561268b5761268a6123a3565b5b5f6126988582860161245e565b92505060206126a98582860161245e565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6126e7601783612303565b91506126f2826126b3565b602082019050919050565b5f6020820190508181035f830152612714816126db565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561279d578086048111156127795761277861271b565b5b60018516156127885780820291505b808102905061279685612748565b945061275d565b94509492505050565b5f826127b55760019050612870565b816127c2575f9050612870565b81600181146127d857600281146127e257612811565b6001915050612870565b60ff8411156127f4576127f361271b565b5b8360020a91508482111561280b5761280a61271b565b5b50612870565b5060208310610133831016604e8410600b84101617156128465782820a9050838111156128415761284061271b565b5b612870565b6128538484846001612754565b9250905081840481111561286a5761286961271b565b5b81810290505b9392505050565b5f612881826123a7565b915061288c83612586565b92506128b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127a6565b905092915050565b5f6128cb826123a7565b91506128d6836123a7565b92508282026128e4816123a7565b915082820484148315176128fb576128fa61271b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612939826123a7565b9150612944836123a7565b92508261295457612953612902565b5b828204905092915050565b5f6040820190506129725f8301856125ba565b61297f60208301846124e3565b9392505050565b5f815190506129948161260d565b92915050565b5f602082840312156129af576129ae6123a3565b5b5f6129bc84828501612986565b91505092915050565b5f6129cf826123a7565b91506129da836123a7565b92508282039050818111156129f2576129f161271b565b5b92915050565b5f819050919050565b5f819050919050565b5f612a24612a1f612a1a846129f8565b612a01565b6123a7565b9050919050565b612a3481612a0a565b82525050565b5f60c082019050612a4d5f8301896125ba565b612a5a60208301886124e3565b612a676040830187612a2b565b612a746060830186612a2b565b612a8160808301856125ba565b612a8e60a08301846124e3565b979650505050505050565b5f81519050612aa7816123b0565b92915050565b5f805f60608486031215612ac457612ac36123a3565b5b5f612ad186828701612a99565b9350506020612ae286828701612a99565b9250506040612af386828701612a99565b9150509250925092565b5f60208284031215612b1257612b116123a3565b5b5f612b1f84828501612a99565b91505092915050565b5f612b42612b3d612b3884612418565b612a01565b612418565b9050919050565b5f612b5382612b28565b9050919050565b5f612b6482612b49565b9050919050565b612b7481612b5a565b82525050565b5f604082019050612b8d5f830185612b6b565b612b9a60208301846124e3565b9392505050565b7f617070726f7665207a65726f20616464726573730000000000000000000000005f82015250565b5f612bd5601483612303565b9150612be082612ba1565b602082019050919050565b5f6020820190508181035f830152612c0281612bc9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612c7181612448565b92915050565b5f60208284031215612c8c57612c8b6123a3565b5b5f612c9984828501612c63565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd481612437565b82525050565b5f612ce58383612ccb565b60208301905092915050565b5f602082019050919050565b5f612d0782612ca2565b612d118185612cac565b9350612d1c83612cbc565b805f5b83811015612d4c578151612d338882612cda565b9750612d3e83612cf1565b925050600181019050612d1f565b5085935050505092915050565b5f60a082019050612d6c5f8301886124e3565b612d796020830187612a2b565b8181036040830152612d8b8186612cfd565b9050612d9a6060830185612b6b565b612da760808301846124e3565b9695505050505050565b7f7472616e73666572207a65726f206164647265737300000000000000000000005f82015250565b5f612de5601583612303565b9150612df082612db1565b602082019050919050565b5f6020820190508181035f830152612e1281612dd9565b9050919050565b7f7472616e73666572207a65726f20616d6f756e740000000000000000000000005f82015250565b5f612e4d601483612303565b9150612e5882612e19565b602082019050919050565b5f6020820190508181035f830152612e7a81612e41565b9050919050565b7f4f766572204d61785478206c696d6974000000000000000000000000000000005f82015250565b5f612eb5601083612303565b9150612ec082612e81565b602082019050919050565b5f6020820190508181035f830152612ee281612ea9565b9050919050565b5f612ef3826123a7565b9150612efe836123a7565b9250828201905080821115612f1657612f1561271b565b5b92915050565b7f4f766572204d617857616c6c6574206c696d69740000000000000000000000005f82015250565b5f612f50601483612303565b9150612f5b82612f1c565b602082019050919050565b5f6020820190508181035f830152612f7d81612f44565b9050919050565b5f612f8e826123a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fc057612fbf61271b565b5b600182019050919050565b7f6e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f612fff601d83612303565b915061300a82612fcb565b602082019050919050565b5f6020820190508181035f83015261302c81612ff3565b905091905056fea2646970667358221220ec17d74c5d0bdbfca2590fa802a577c06293f63f909de603583b095995110c4b64736f6c63430008170033

Deployed Bytecode

0x6080604052600436106101ba575f3560e01c80637437681e116100eb578063c9567bf911610089578063dd62ed3e11610063578063dd62ed3e14610581578063dd877951146105bd578063f2fde38b146105e5578063f8b45b051461060d576101c1565b8063c9567bf91461052b578063cc1776d314610541578063db05e5cb1461056b576101c1565b8063a9059cbb116100c5578063a9059cbb14610495578063aca2cd6e146104d1578063bc37e1a3146104f9578063c4590d3f14610503576101c1565b80637437681e146104175780638da5cb5b1461044157806395d89b411461046b576101c1565b806338cf3b2f116101585780635af71d72116101325780635af71d72146103875780636d1b229d1461039d57806370a08231146103c5578063715018a614610401576101c1565b806338cf3b2f1461030b57806349bd5a5e146103335780634f7041a51461035d576101c1565b806318160ddd1161019457806318160ddd146102535780631a728f641461027d57806323b872dd146102a5578063313ce567146102e1576101c1565b806306fdde03146101c557806307056d37146101ef578063095ea7b314610217576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610637565b6040516101e69190612383565b60405180910390f35b3480156101fa575f80fd5b50610215600480360381019061021091906123da565b610674565b005b348015610222575f80fd5b5061023d60048036038101906102389190612472565b610734565b60405161024a91906124ca565b60405180910390f35b34801561025e575f80fd5b50610267610751565b60405161027491906124f2565b60405180910390f35b348015610288575f80fd5b506102a3600480360381019061029e919061250b565b610773565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190612536565b610811565b6040516102d891906124ca565b60405180910390f35b3480156102ec575f80fd5b506102f5610902565b60405161030291906125a1565b60405180910390f35b348015610316575f80fd5b50610331600480360381019061032c919061250b565b61090a565b005b34801561033e575f80fd5b506103476109c0565b60405161035491906125c9565b60405180910390f35b348015610368575f80fd5b506103716109e5565b60405161037e91906124f2565b60405180910390f35b348015610392575f80fd5b5061039b6109eb565b005b3480156103a8575f80fd5b506103c360048036038101906103be919061250b565b610aac565b005b3480156103d0575f80fd5b506103eb60048036038101906103e691906125e2565b610c0d565b6040516103f891906124f2565b60405180910390f35b34801561040c575f80fd5b50610415610c53565b005b348015610422575f80fd5b5061042b610da1565b60405161043891906124f2565b60405180910390f35b34801561044c575f80fd5b50610455610da7565b60405161046291906125c9565b60405180910390f35b348015610476575f80fd5b5061047f610dce565b60405161048c9190612383565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612472565b610e0b565b6040516104c891906124ca565b60405180910390f35b3480156104dc575f80fd5b506104f760048036038101906104f29190612637565b610e28565b005b610501610f14565b005b34801561050e575f80fd5b50610529600480360381019061052491906123da565b6110d3565b005b348015610536575f80fd5b5061053f6111a9565b005b34801561054c575f80fd5b5061055561125a565b60405161056291906124f2565b60405180910390f35b348015610576575f80fd5b5061057f611260565b005b34801561058c575f80fd5b506105a760048036038101906105a29190612675565b61133a565b6040516105b491906124f2565b60405180910390f35b3480156105c8575f80fd5b506105e360048036038101906105de9190612472565b6113bc565b005b3480156105f0575f80fd5b5061060b600480360381019061060691906125e2565b611539565b005b348015610618575f80fd5b50610621611689565b60405161062e91906124f2565b60405180910390f35b60606040518060400160405280600a81526020017f5065646f20506f74757300000000000000000000000000000000000000000000815250905090565b61067c61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff906126fd565b60405180910390fd5b6014821115801561071a575060148111155b610722575f80fd5b81600781905550806008819055505050565b5f61074761074061168f565b8484611696565b6001905092915050565b5f6009600a6107609190612877565b620186a061076e91906128c1565b905090565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107b461168f565b73ffffffffffffffffffffffffffffffffffffffff16146107d3575f80fd5b6108036107df30610c0d565b6107e7610902565b600a6107f39190612877565b836107fe91906128c1565b611824565b905061080e8161183c565b50565b5f61081d848484611ac7565b6108f78461082961168f565b6108f2856040518060400160405280600d81526020017f6c6f7720616c6c6f77616e63650000000000000000000000000000000000000081525060025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108a961168f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120da9092919063ffffffff16565b611696565b600190509392505050565b5f6009905090565b61091261168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906126fd565b60405180910390fd5b6009600a6109ac9190612877565b816109b791906128c1565b60068190555050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a44575f80fd5b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610aa9573d5f803e3d5ffd5b50565b610ab461168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b37906126fd565b60405180910390fd5b5f610b71610b4d30610c0d565b606484610b58610751565b610b6291906128c1565b610b6c919061292f565b611824565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead6009600a610ba09190612877565b84610bab91906128c1565b6040518363ffffffff1660e01b8152600401610bc892919061295f565b6020604051808303815f875af1158015610be4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c08919061299a565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c5b61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde906126fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f5050000000000000000000000000000000000000000000000000000000000000815250905090565b5f610e1e610e1761168f565b8484611ac7565b6001905092915050565b610e3061168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb3906126fd565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610f1c61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f906126fd565b60405180910390fd5b610fef3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610fdc9190612877565b620186a0610fea91906128c1565b611696565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064600a61103a610751565b61104491906128c1565b61104e919061292f565b61105730610c0d565b61106191906129c5565b5f8061106b610da7565b426040518863ffffffff1660e01b815260040161108d96959493929190612a3a565b60606040518083038185885af11580156110a9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110ce9190612aad565b505050565b6110db61168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906126fd565b60405180910390fd5b6009600a6111759190612877565b8261118091906128c1565b6004819055506009600a6111949190612877565b8161119f91906128c1565b6005819055505050565b6111b161168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906126fd565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b60085481565b61126861168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb906126fd565b60405180910390fd5b6009600a6113029190612877565b620186a061131091906128c1565b6004819055506009600a6113249190612877565b620186a061133291906128c1565b600581905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611415575f80fd5b5f8103611497578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161145591906125c9565b602060405180830381865afa158015611470573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114949190612afd565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016114f4929190612b7a565b6020604051808303815f875af1158015611510573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611534919061299a565b505050565b61154161168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c4906126fd565b60405180910390fd5b5f60035f6115d9610da7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506116318161213c565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60045481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116fe57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173490612beb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161181791906124f2565b60405180910390a3505050565b5f8183116118325782611834565b815b905092915050565b6001600d5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561187257611871612c09565b5b6040519080825280602002602001820160405280156118a05781602001602082028036833780820191505090505b50905030815f815181106118b7576118b6612c36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561195b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197f9190612c77565b8160018151811061199357611992612c36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119f93060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611696565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a7d959493929190612d59565b5f604051808303815f87803b158015611a94575f80fd5b505af1158015611aa6573d5f803e3d5ffd5b50505050505f600d5f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2c90612dfb565b60405180910390fd5b5f8111611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e90612e63565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611c16575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e3957600a60149054906101000a900460ff16611c33575f80fd5b600554821115611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f90612ecb565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d2e5760045482611cd985610c0d565b611ce39190612ee9565b1115611d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1b90612f66565b60405180910390fd5b6007549050611e38565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e375760085490505f611d9130610c0d565b90506103e86009600a611da49190612877565b620186a0611db291906128c1565b611dbc919061292f565b81118015611dd65750600d5f9054906101000a900460ff16155b15611e3557600b54431115611ded575f600c819055505b6003600c541015611e3457600c5f815480929190611e0a90612f84565b919050555043600b81905550611e33611e2e600654611e298685611824565b611824565b61183c565b5b5b505b5b5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e8291906129c5565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f811115611fe5575f60648284611eda91906128c1565b611ee4919061292f565b90508060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f2f9190612ee9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508083611f7c91906129c5565b92503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fdb91906124f2565b60405180910390a3505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202e9190612ee9565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120cc91906124f2565b60405180910390a350505050565b5f838311158290612121576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121189190612383565b60405180910390fd5b505f838561212f91906129c5565b9050809150509392505050565b61214461168f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c7906126fd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361223e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223590613015565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612330578082015181840152602081019050612315565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612355826122f9565b61235f8185612303565b935061236f818560208601612313565b6123788161233b565b840191505092915050565b5f6020820190508181035f83015261239b818461234b565b905092915050565b5f80fd5b5f819050919050565b6123b9816123a7565b81146123c3575f80fd5b50565b5f813590506123d4816123b0565b92915050565b5f80604083850312156123f0576123ef6123a3565b5b5f6123fd858286016123c6565b925050602061240e858286016123c6565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61244182612418565b9050919050565b61245181612437565b811461245b575f80fd5b50565b5f8135905061246c81612448565b92915050565b5f8060408385031215612488576124876123a3565b5b5f6124958582860161245e565b92505060206124a6858286016123c6565b9150509250929050565b5f8115159050919050565b6124c4816124b0565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b6124ec816123a7565b82525050565b5f6020820190506125055f8301846124e3565b92915050565b5f602082840312156125205761251f6123a3565b5b5f61252d848285016123c6565b91505092915050565b5f805f6060848603121561254d5761254c6123a3565b5b5f61255a8682870161245e565b935050602061256b8682870161245e565b925050604061257c868287016123c6565b9150509250925092565b5f60ff82169050919050565b61259b81612586565b82525050565b5f6020820190506125b45f830184612592565b92915050565b6125c381612437565b82525050565b5f6020820190506125dc5f8301846125ba565b92915050565b5f602082840312156125f7576125f66123a3565b5b5f6126048482850161245e565b91505092915050565b612616816124b0565b8114612620575f80fd5b50565b5f813590506126318161260d565b92915050565b5f806040838503121561264d5761264c6123a3565b5b5f61265a8582860161245e565b925050602061266b85828601612623565b9150509250929050565b5f806040838503121561268b5761268a6123a3565b5b5f6126988582860161245e565b92505060206126a98582860161245e565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6126e7601783612303565b91506126f2826126b3565b602082019050919050565b5f6020820190508181035f830152612714816126db565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561279d578086048111156127795761277861271b565b5b60018516156127885780820291505b808102905061279685612748565b945061275d565b94509492505050565b5f826127b55760019050612870565b816127c2575f9050612870565b81600181146127d857600281146127e257612811565b6001915050612870565b60ff8411156127f4576127f361271b565b5b8360020a91508482111561280b5761280a61271b565b5b50612870565b5060208310610133831016604e8410600b84101617156128465782820a9050838111156128415761284061271b565b5b612870565b6128538484846001612754565b9250905081840481111561286a5761286961271b565b5b81810290505b9392505050565b5f612881826123a7565b915061288c83612586565b92506128b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127a6565b905092915050565b5f6128cb826123a7565b91506128d6836123a7565b92508282026128e4816123a7565b915082820484148315176128fb576128fa61271b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612939826123a7565b9150612944836123a7565b92508261295457612953612902565b5b828204905092915050565b5f6040820190506129725f8301856125ba565b61297f60208301846124e3565b9392505050565b5f815190506129948161260d565b92915050565b5f602082840312156129af576129ae6123a3565b5b5f6129bc84828501612986565b91505092915050565b5f6129cf826123a7565b91506129da836123a7565b92508282039050818111156129f2576129f161271b565b5b92915050565b5f819050919050565b5f819050919050565b5f612a24612a1f612a1a846129f8565b612a01565b6123a7565b9050919050565b612a3481612a0a565b82525050565b5f60c082019050612a4d5f8301896125ba565b612a5a60208301886124e3565b612a676040830187612a2b565b612a746060830186612a2b565b612a8160808301856125ba565b612a8e60a08301846124e3565b979650505050505050565b5f81519050612aa7816123b0565b92915050565b5f805f60608486031215612ac457612ac36123a3565b5b5f612ad186828701612a99565b9350506020612ae286828701612a99565b9250506040612af386828701612a99565b9150509250925092565b5f60208284031215612b1257612b116123a3565b5b5f612b1f84828501612a99565b91505092915050565b5f612b42612b3d612b3884612418565b612a01565b612418565b9050919050565b5f612b5382612b28565b9050919050565b5f612b6482612b49565b9050919050565b612b7481612b5a565b82525050565b5f604082019050612b8d5f830185612b6b565b612b9a60208301846124e3565b9392505050565b7f617070726f7665207a65726f20616464726573730000000000000000000000005f82015250565b5f612bd5601483612303565b9150612be082612ba1565b602082019050919050565b5f6020820190508181035f830152612c0281612bc9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612c7181612448565b92915050565b5f60208284031215612c8c57612c8b6123a3565b5b5f612c9984828501612c63565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd481612437565b82525050565b5f612ce58383612ccb565b60208301905092915050565b5f602082019050919050565b5f612d0782612ca2565b612d118185612cac565b9350612d1c83612cbc565b805f5b83811015612d4c578151612d338882612cda565b9750612d3e83612cf1565b925050600181019050612d1f565b5085935050505092915050565b5f60a082019050612d6c5f8301886124e3565b612d796020830187612a2b565b8181036040830152612d8b8186612cfd565b9050612d9a6060830185612b6b565b612da760808301846124e3565b9695505050505050565b7f7472616e73666572207a65726f206164647265737300000000000000000000005f82015250565b5f612de5601583612303565b9150612df082612db1565b602082019050919050565b5f6020820190508181035f830152612e1281612dd9565b9050919050565b7f7472616e73666572207a65726f20616d6f756e740000000000000000000000005f82015250565b5f612e4d601483612303565b9150612e5882612e19565b602082019050919050565b5f6020820190508181035f830152612e7a81612e41565b9050919050565b7f4f766572204d61785478206c696d6974000000000000000000000000000000005f82015250565b5f612eb5601083612303565b9150612ec082612e81565b602082019050919050565b5f6020820190508181035f830152612ee281612ea9565b9050919050565b5f612ef3826123a7565b9150612efe836123a7565b9250828201905080821115612f1657612f1561271b565b5b92915050565b7f4f766572204d617857616c6c6574206c696d69740000000000000000000000005f82015250565b5f612f50601483612303565b9150612f5b82612f1c565b602082019050919050565b5f6020820190508181035f830152612f7d81612f44565b9050919050565b5f612f8e826123a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fc057612fbf61271b565b5b600182019050919050565b7f6e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f612fff601d83612303565b915061300a82612fcb565b602082019050919050565b5f6020820190508181035f83015261302c81612ff3565b905091905056fea2646970667358221220ec17d74c5d0bdbfca2590fa802a577c06293f63f909de603583b095995110c4b64736f6c63430008170033

Deployed Bytecode Sourcemap

2999:8072:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4765:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8797:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5599:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5042:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9145:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5767:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4951:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9356:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3844:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3726:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10512:132;;;;;;;;;;;;;:::i;:::-;;10238:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5150:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1431:148;;;;;;;;;;;;;:::i;:::-;;3541:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;983:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4856:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5276:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9002:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10652:379;;;:::i;:::-;;9481:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6331:78;;;;;;;;;;;;;:::i;:::-;;3759:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9693:120;;;;;;;;;;;;;:::i;:::-;;5449:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9865:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8576:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3485:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4765:83;4802:13;4835:5;;;;;;;;;;;;;;;;;4828:12;;4765:83;:::o;8797:197::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8903:2:::1;8890:9;:15;;:35;;;;;8923:2;8909:10;:16;;8890:35;8882:44;;;::::0;::::1;;8946:9;8937:6;:18;;;;8976:10;8966:7;:20;;;;8797:197:::0;;:::o;5599:160::-;5674:4;5690:39;5699:12;:10;:12::i;:::-;5713:7;5722:6;5690:8;:39::i;:::-;5747:4;5740:11;;5599:160;;;;:::o;5042:100::-;5095:7;3304:1;3465:2;:13;;;;:::i;:::-;3456:6;:22;;;;:::i;:::-;5115:19;;5042:100;:::o;9145:203::-;9224:8;;;;;;;;;;;9208:24;;:12;:10;:12::i;:::-;:24;;;9200:33;;;;;;9253:54;9257:24;9275:4;9257:9;:24::i;:::-;9296:10;:8;:10::i;:::-;9292:2;:14;;;;:::i;:::-;9283:6;:23;;;;:::i;:::-;9253:3;:54::i;:::-;9244:63;;9318:22;9333:6;9318:14;:22::i;:::-;9145:203;:::o;5767:283::-;5865:4;5882:36;5892:6;5900:9;5911:6;5882:9;:36::i;:::-;5929:91;5938:6;5945:12;:10;:12::i;:::-;5958:61;5996:6;5958:61;;;;;;;;;;;;;;;;;:11;:19;5970:6;5958:19;;;;;;;;;;;;;;;:33;5978:12;:10;:12::i;:::-;5958:33;;;;;;;;;;;;;;;;:37;;:61;;;;;:::i;:::-;5929:8;:91::i;:::-;6038:4;6031:11;;5767:283;;;;;:::o;4951:83::-;4992:5;3304:1;5010:16;;4951:83;:::o;9356:117::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3304:1:::1;9452:2;:13;;;;:::i;:::-;9439:10;:26;;;;:::i;:::-;9427:9;:38;;;;9356:117:::0;:::o;3844:28::-;;;;;;;;;;;;;:::o;3726:26::-;;;;:::o;10512:132::-;10576:8;;;;;;;;;;;10562:22;;:10;:22;;;10554:31;;;;;;10596:8;;;;;;;;;;;:17;;:40;10614:21;10596:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10512:132::o;10238:266::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10307:14:::1;10324:63;10328:24;10346:4;10328:9;:24::i;:::-;10381:3;10371:7;10355:13;:11;:13::i;:::-;:23;;;;:::i;:::-;:29;;;;:::i;:::-;10324:3;:63::i;:::-;10307:80;;10413:4;10398:30;;;10429:42;3304:1;10482:2;:13;;;;:::i;:::-;10473:6;:22;;;;:::i;:::-;10398:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10296:208;10238:266:::0;:::o;5150:118::-;5216:7;5243:8;:17;5252:7;5243:17;;;;;;;;;;;;;;;;5236:24;;5150:118;;;:::o;1431:148::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1538:1:::1;1501:40;;1522:6;::::0;::::1;;;;;;;;1501:40;;;;;;;;;;;;1569:1;1552:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1431:148::o:0;3541:45::-;;;;:::o;983:79::-;1021:7;1048:6;;;;;;;;;;;1041:13;;983:79;:::o;4856:87::-;4895:13;4928:7;;;;;;;;;;;;;;;;;4921:14;;4856:87;:::o;5276:165::-;5353:4;5369:42;5379:12;:10;:12::i;:::-;5393:9;5404:6;5369:9;:42::i;:::-;5429:4;5422:11;;5276:165;;;;:::o;9002:135::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9122:7:::1;9092:17;:27;9110:8;9092:27;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9002:135:::0;;:::o;10652:379::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10709:63:::1;10726:4;10741:15;;;;;;;;;;;3304:1;3465:2;:13;;;;:::i;:::-;3456:6;:22;;;;:::i;:::-;10709:8;:63::i;:::-;10783:15;;;;;;;;;;;:31;;;10822:21;10867:4;10935:3;10930:2;10914:13;:11;:13::i;:::-;:18;;;;:::i;:::-;:24;;;;:::i;:::-;10887;10905:4;10887:9;:24::i;:::-;:51;;;;:::i;:::-;10953:1;10969::::0;10985:7:::1;:5;:7::i;:::-;11007:15;10783:240;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10652:379::o:0;9481:204::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3304:1:::1;9615:2;:13;;;;:::i;:::-;9594:18;:34;;;;:::i;:::-;9582:9;:46;;;;3304:1;9664:2;:13;;;;:::i;:::-;9647:14;:30;;;;:::i;:::-;9639:5;:38;;;;9481:204:::0;;:::o;6331:78::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6397:4:::1;6384:10;;:17;;;;;;;;;;;;;;;;;;6331:78::o:0;3759:27::-;;;;:::o;9693:120::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3304:1:::1;3465:2;:13;;;;:::i;:::-;3456:6;:22;;;;:::i;:::-;9750:9;:24;;;;3304:1;3465:2;:13;;;;:::i;:::-;3456:6;:22;;;;:::i;:::-;9785:5;:20;;;;9693:120::o:0;5449:142::-;5530:7;5556:11;:18;5568:5;5556:18;;;;;;;;;;;;;;;:27;5575:7;5556:27;;;;;;;;;;;;;;;;5549:34;;5449:142;;;;:::o;9865:289::-;9970:8;;;;;;;;;;;9956:22;;:10;:22;;;9948:31;;;;;;10004:1;9993:7;:12;9990:98;;10038:12;10031:30;;;10070:4;10031:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10021:55;;9990:98;10105:12;10098:29;;;10128:8;;;;;;;;;;;10138:7;10098:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9865:289;;:::o;8576:213::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8687:5:::1;8658:17;:26;8676:7;:5;:7::i;:::-;8658:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8703:33;8727:8;8703:23;:33::i;:::-;8777:4;8747:17;:27;8765:8;8747:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8576:213:::0;:::o;3485:49::-;;;;:::o;181:98::-;234:7;261:10;254:17;;181:98;:::o;6058:265::-;6168:1;6151:19;;:5;:19;;;;:44;;;;;6193:1;6174:21;;:7;:21;;;;6151:44;6143:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6261:6;6231:11;:18;6243:5;6231:18;;;;;;;;;;;;;;;:27;6250:7;6231:27;;;;;;;;;;;;;;;:36;;;;6299:7;6283:32;;6292:5;6283:32;;;6308:6;6283:32;;;;;;:::i;:::-;;;;;;;;6058:265;;;:::o;8066:98::-;8123:7;8150:1;8148;:3;8147:9;;8155:1;8147:9;;;8153:1;8147:9;8140:16;;8066:98;;;;:::o;8172:396::-;4057:4;4048:6;;:13;;;;;;;;;;;;;;;;;;8248:21:::1;8286:1;8272:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8248:40;;8317:4;8299;8304:1;8299:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8343:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8333:4;8338:1;8333:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8376:62;8393:4;8408:15;;;;;;;;;;;8426:11;8376:8;:62::i;:::-;8449:15;;;;;;;;;;;:66;;;8516:11;8528:1;8530:4;8535:8;;;;;;;;;;;8544:15;8449:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8237:331;4093:5:::0;4084:6;;:14;;;;;;;;;;;;;;;;;;8172:396;:::o;6417:1641::-;6521:1;6505:18;;:4;:18;;;6497:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;6577:1;6568:6;:10;6560:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6614:12;6647:17;:23;6665:4;6647:23;;;;;;;;;;;;;;;;;;;;;;;;;6646:24;:50;;;;;6675:17;:21;6693:2;6675:21;;;;;;;;;;;;;;;;;;;;;;;;;6674:22;6646:50;6643:996;;;6749:10;;;;;;;;;;;6741:19;;;;;;6793:5;;6783:6;:15;;6775:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;6846:13;;;;;;;;;;;6838:21;;:4;:21;;;6834:794;;6938:9;;6928:6;6912:13;6922:2;6912:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;6904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6998:6;;6991:13;;6834:794;;;7036:13;;;;;;;;;;;7030:19;;:2;:19;;;7026:602;;7102:7;;7095:14;;7128:18;7149:24;7167:4;7149:9;:24::i;:::-;7128:45;;3645:4;3304:1;3465:2;:13;;;;:::i;:::-;3456:6;:22;;;;:::i;:::-;3630:19;;;;:::i;:::-;7196:10;:22;:33;;;;;7223:6;;;;;;;;;;;7222:7;7196:33;7192:421;;;7273:13;;7258:12;:28;7254:99;;;7328:1;7315:10;:14;;;;7254:99;7392:1;7379:10;;:14;7375:219;;;7421:10;;:12;;;;;;;;;:::i;:::-;;;;;;7476;7460:13;:28;;;;7515:55;7530:39;7534:9;;7545:23;7549:6;7557:10;7545:3;:23::i;:::-;7530:3;:39::i;:::-;7515:14;:55::i;:::-;7375:219;7192:421;7051:577;7026:602;6834:794;6643:996;7683:6;7666:8;:14;7675:4;7666:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7649:8;:14;7658:4;7649:14;;;;;;;;;;;;;;;:40;;;;7712:1;7705:4;:8;7702:258;;;7729:17;7767:3;7759:4;7750:6;:13;;;;:::i;:::-;7749:21;;;;:::i;:::-;7729:41;;7837:9;7811:8;:23;7828:4;7811:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7785:8;:23;7802:4;7785:23;;;;;;;;;;;;;;;:61;;;;7879:9;7870:6;:18;;;;:::i;:::-;7861:27;;7931:4;7908:40;;7917:4;7908:40;;;7938:9;7908:40;;;;;;:::i;:::-;;;;;;;;7714:246;7702:258;8002:6;7987:8;:12;7996:2;7987:12;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;7972:8;:12;7981:2;7972:12;;;;;;;;;;;;;;;:36;;;;8039:2;8024:26;;8033:4;8024:26;;;8043:6;8024:26;;;;;;:::i;:::-;;;;;;;;6486:1572;6417:1641;;;:::o;444:190::-;530:7;563:1;558;:6;;566:12;550:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;590:9;606:1;602;:5;;;;:::i;:::-;590:17;;625:1;618:8;;;444:190;;;;;:::o;1188:235::-;1120:12;:10;:12::i;:::-;1110:22;;:6;;;;;;;;;;:22;;;1102:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1297:1:::1;1277:22;;:8;:22;;::::0;1269:64:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1353:8;1344:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1406:8;1377:38;;1398:6;::::0;::::1;;;;;;;;1377:38;;;;;;;;;;;;1188:235:::0;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:77;1713:7;1742:5;1731:16;;1676:77;;;:::o;1759:122::-;1832:24;1850:5;1832:24;:::i;:::-;1825:5;1822:35;1812:63;;1871:1;1868;1861:12;1812:63;1759:122;:::o;1887:139::-;1933:5;1971:6;1958:20;1949:29;;1987:33;2014:5;1987:33;:::i;:::-;1887:139;;;;:::o;2032:474::-;2100:6;2108;2157:2;2145:9;2136:7;2132:23;2128:32;2125:119;;;2163:79;;:::i;:::-;2125:119;2283:1;2308:53;2353:7;2344:6;2333:9;2329:22;2308:53;:::i;:::-;2298:63;;2254:117;2410:2;2436:53;2481:7;2472:6;2461:9;2457:22;2436:53;:::i;:::-;2426:63;;2381:118;2032:474;;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:329::-;4337:6;4386:2;4374:9;4365:7;4361:23;4357:32;4354:119;;;4392:79;;:::i;:::-;4354:119;4512:1;4537:53;4582:7;4573:6;4562:9;4558:22;4537:53;:::i;:::-;4527:63;;4483:117;4278:329;;;;:::o;4613:619::-;4690:6;4698;4706;4755:2;4743:9;4734:7;4730:23;4726:32;4723:119;;;4761:79;;:::i;:::-;4723:119;4881:1;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4852:117;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4613:619;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:116::-;6425:21;6440:5;6425:21;:::i;:::-;6418:5;6415:32;6405:60;;6461:1;6458;6451:12;6405:60;6355:116;:::o;6477:133::-;6520:5;6558:6;6545:20;6536:29;;6574:30;6598:5;6574:30;:::i;:::-;6477:133;;;;:::o;6616:468::-;6681:6;6689;6738:2;6726:9;6717:7;6713:23;6709:32;6706:119;;;6744:79;;:::i;:::-;6706:119;6864:1;6889:53;6934:7;6925:6;6914:9;6910:22;6889:53;:::i;:::-;6879:63;;6835:117;6991:2;7017:50;7059:7;7050:6;7039:9;7035:22;7017:50;:::i;:::-;7007:60;;6962:115;6616:468;;;;;:::o;7090:474::-;7158:6;7166;7215:2;7203:9;7194:7;7190:23;7186:32;7183:119;;;7221:79;;:::i;:::-;7183:119;7341:1;7366:53;7411:7;7402:6;7391:9;7387:22;7366:53;:::i;:::-;7356:63;;7312:117;7468:2;7494:53;7539:7;7530:6;7519:9;7515:22;7494:53;:::i;:::-;7484:63;;7439:118;7090:474;;;;;:::o;7570:173::-;7710:25;7706:1;7698:6;7694:14;7687:49;7570:173;:::o;7749:366::-;7891:3;7912:67;7976:2;7971:3;7912:67;:::i;:::-;7905:74;;7988:93;8077:3;7988:93;:::i;:::-;8106:2;8101:3;8097:12;8090:19;;7749:366;;;:::o;8121:419::-;8287:4;8325:2;8314:9;8310:18;8302:26;;8374:9;8368:4;8364:20;8360:1;8349:9;8345:17;8338:47;8402:131;8528:4;8402:131;:::i;:::-;8394:139;;8121:419;;;:::o;8546:180::-;8594:77;8591:1;8584:88;8691:4;8688:1;8681:15;8715:4;8712:1;8705:15;8732:102;8774:8;8821:5;8818:1;8814:13;8793:34;;8732:102;;;:::o;8840:848::-;8901:5;8908:4;8932:6;8923:15;;8956:5;8947:14;;8970:712;8991:1;8981:8;8978:15;8970:712;;;9086:4;9081:3;9077:14;9071:4;9068:24;9065:50;;;9095:18;;:::i;:::-;9065:50;9145:1;9135:8;9131:16;9128:451;;;9560:4;9553:5;9549:16;9540:25;;9128:451;9610:4;9604;9600:15;9592:23;;9640:32;9663:8;9640:32;:::i;:::-;9628:44;;8970:712;;;8840:848;;;;;;;:::o;9694:1073::-;9748:5;9939:8;9929:40;;9960:1;9951:10;;9962:5;;9929:40;9988:4;9978:36;;10005:1;9996:10;;10007:5;;9978:36;10074:4;10122:1;10117:27;;;;10158:1;10153:191;;;;10067:277;;10117:27;10135:1;10126:10;;10137:5;;;10153:191;10198:3;10188:8;10185:17;10182:43;;;10205:18;;:::i;:::-;10182:43;10254:8;10251:1;10247:16;10238:25;;10289:3;10282:5;10279:14;10276:40;;;10296:18;;:::i;:::-;10276:40;10329:5;;;10067:277;;10453:2;10443:8;10440:16;10434:3;10428:4;10425:13;10421:36;10403:2;10393:8;10390:16;10385:2;10379:4;10376:12;10372:35;10356:111;10353:246;;;10509:8;10503:4;10499:19;10490:28;;10544:3;10537:5;10534:14;10531:40;;;10551:18;;:::i;:::-;10531:40;10584:5;;10353:246;10624:42;10662:3;10652:8;10646:4;10643:1;10624:42;:::i;:::-;10609:57;;;;10698:4;10693:3;10689:14;10682:5;10679:25;10676:51;;;10707:18;;:::i;:::-;10676:51;10756:4;10749:5;10745:16;10736:25;;9694:1073;;;;;;:::o;10773:281::-;10831:5;10855:23;10873:4;10855:23;:::i;:::-;10847:31;;10899:25;10915:8;10899:25;:::i;:::-;10887:37;;10943:104;10980:66;10970:8;10964:4;10943:104;:::i;:::-;10934:113;;10773:281;;;;:::o;11060:410::-;11100:7;11123:20;11141:1;11123:20;:::i;:::-;11118:25;;11157:20;11175:1;11157:20;:::i;:::-;11152:25;;11212:1;11209;11205:9;11234:30;11252:11;11234:30;:::i;:::-;11223:41;;11413:1;11404:7;11400:15;11397:1;11394:22;11374:1;11367:9;11347:83;11324:139;;11443:18;;:::i;:::-;11324:139;11108:362;11060:410;;;;:::o;11476:180::-;11524:77;11521:1;11514:88;11621:4;11618:1;11611:15;11645:4;11642:1;11635:15;11662:185;11702:1;11719:20;11737:1;11719:20;:::i;:::-;11714:25;;11753:20;11771:1;11753:20;:::i;:::-;11748:25;;11792:1;11782:35;;11797:18;;:::i;:::-;11782:35;11839:1;11836;11832:9;11827:14;;11662:185;;;;:::o;11853:332::-;11974:4;12012:2;12001:9;11997:18;11989:26;;12025:71;12093:1;12082:9;12078:17;12069:6;12025:71;:::i;:::-;12106:72;12174:2;12163:9;12159:18;12150:6;12106:72;:::i;:::-;11853:332;;;;;:::o;12191:137::-;12245:5;12276:6;12270:13;12261:22;;12292:30;12316:5;12292:30;:::i;:::-;12191:137;;;;:::o;12334:345::-;12401:6;12450:2;12438:9;12429:7;12425:23;12421:32;12418:119;;;12456:79;;:::i;:::-;12418:119;12576:1;12601:61;12654:7;12645:6;12634:9;12630:22;12601:61;:::i;:::-;12591:71;;12547:125;12334:345;;;;:::o;12685:194::-;12725:4;12745:20;12763:1;12745:20;:::i;:::-;12740:25;;12779:20;12797:1;12779:20;:::i;:::-;12774:25;;12823:1;12820;12816:9;12808:17;;12847:1;12841:4;12838:11;12835:37;;;12852:18;;:::i;:::-;12835:37;12685:194;;;;:::o;12885:85::-;12930:7;12959:5;12948:16;;12885:85;;;:::o;12976:60::-;13004:3;13025:5;13018:12;;12976:60;;;:::o;13042:158::-;13100:9;13133:61;13151:42;13160:32;13186:5;13160:32;:::i;:::-;13151:42;:::i;:::-;13133:61;:::i;:::-;13120:74;;13042:158;;;:::o;13206:147::-;13301:45;13340:5;13301:45;:::i;:::-;13296:3;13289:58;13206:147;;:::o;13359:807::-;13608:4;13646:3;13635:9;13631:19;13623:27;;13660:71;13728:1;13717:9;13713:17;13704:6;13660:71;:::i;:::-;13741:72;13809:2;13798:9;13794:18;13785:6;13741:72;:::i;:::-;13823:80;13899:2;13888:9;13884:18;13875:6;13823:80;:::i;:::-;13913;13989:2;13978:9;13974:18;13965:6;13913:80;:::i;:::-;14003:73;14071:3;14060:9;14056:19;14047:6;14003:73;:::i;:::-;14086;14154:3;14143:9;14139:19;14130:6;14086:73;:::i;:::-;13359:807;;;;;;;;;:::o;14172:143::-;14229:5;14260:6;14254:13;14245:22;;14276:33;14303:5;14276:33;:::i;:::-;14172:143;;;;:::o;14321:663::-;14409:6;14417;14425;14474:2;14462:9;14453:7;14449:23;14445:32;14442:119;;;14480:79;;:::i;:::-;14442:119;14600:1;14625:64;14681:7;14672:6;14661:9;14657:22;14625:64;:::i;:::-;14615:74;;14571:128;14738:2;14764:64;14820:7;14811:6;14800:9;14796:22;14764:64;:::i;:::-;14754:74;;14709:129;14877:2;14903:64;14959:7;14950:6;14939:9;14935:22;14903:64;:::i;:::-;14893:74;;14848:129;14321:663;;;;;:::o;14990:351::-;15060:6;15109:2;15097:9;15088:7;15084:23;15080:32;15077:119;;;15115:79;;:::i;:::-;15077:119;15235:1;15260:64;15316:7;15307:6;15296:9;15292:22;15260:64;:::i;:::-;15250:74;;15206:128;14990:351;;;;:::o;15347:142::-;15397:9;15430:53;15448:34;15457:24;15475:5;15457:24;:::i;:::-;15448:34;:::i;:::-;15430:53;:::i;:::-;15417:66;;15347:142;;;:::o;15495:126::-;15545:9;15578:37;15609:5;15578:37;:::i;:::-;15565:50;;15495:126;;;:::o;15627:134::-;15685:9;15718:37;15749:5;15718:37;:::i;:::-;15705:50;;15627:134;;;:::o;15767:147::-;15862:45;15901:5;15862:45;:::i;:::-;15857:3;15850:58;15767:147;;:::o;15920:348::-;16049:4;16087:2;16076:9;16072:18;16064:26;;16100:79;16176:1;16165:9;16161:17;16152:6;16100:79;:::i;:::-;16189:72;16257:2;16246:9;16242:18;16233:6;16189:72;:::i;:::-;15920:348;;;;;:::o;16274:170::-;16414:22;16410:1;16402:6;16398:14;16391:46;16274:170;:::o;16450:366::-;16592:3;16613:67;16677:2;16672:3;16613:67;:::i;:::-;16606:74;;16689:93;16778:3;16689:93;:::i;:::-;16807:2;16802:3;16798:12;16791:19;;16450:366;;;:::o;16822:419::-;16988:4;17026:2;17015:9;17011:18;17003:26;;17075:9;17069:4;17065:20;17061:1;17050:9;17046:17;17039:47;17103:131;17229:4;17103:131;:::i;:::-;17095:139;;16822:419;;;:::o;17247:180::-;17295:77;17292:1;17285:88;17392:4;17389:1;17382:15;17416:4;17413:1;17406:15;17433:180;17481:77;17478:1;17471:88;17578:4;17575:1;17568:15;17602:4;17599:1;17592:15;17619:143;17676:5;17707:6;17701:13;17692:22;;17723:33;17750:5;17723:33;:::i;:::-;17619:143;;;;:::o;17768:351::-;17838:6;17887:2;17875:9;17866:7;17862:23;17858:32;17855:119;;;17893:79;;:::i;:::-;17855:119;18013:1;18038:64;18094:7;18085:6;18074:9;18070:22;18038:64;:::i;:::-;18028:74;;17984:128;17768:351;;;;:::o;18125:114::-;18192:6;18226:5;18220:12;18210:22;;18125:114;;;:::o;18245:184::-;18344:11;18378:6;18373:3;18366:19;18418:4;18413:3;18409:14;18394:29;;18245:184;;;;:::o;18435:132::-;18502:4;18525:3;18517:11;;18555:4;18550:3;18546:14;18538:22;;18435:132;;;:::o;18573:108::-;18650:24;18668:5;18650:24;:::i;:::-;18645:3;18638:37;18573:108;;:::o;18687:179::-;18756:10;18777:46;18819:3;18811:6;18777:46;:::i;:::-;18855:4;18850:3;18846:14;18832:28;;18687:179;;;;:::o;18872:113::-;18942:4;18974;18969:3;18965:14;18957:22;;18872:113;;;:::o;19021:732::-;19140:3;19169:54;19217:5;19169:54;:::i;:::-;19239:86;19318:6;19313:3;19239:86;:::i;:::-;19232:93;;19349:56;19399:5;19349:56;:::i;:::-;19428:7;19459:1;19444:284;19469:6;19466:1;19463:13;19444:284;;;19545:6;19539:13;19572:63;19631:3;19616:13;19572:63;:::i;:::-;19565:70;;19658:60;19711:6;19658:60;:::i;:::-;19648:70;;19504:224;19491:1;19488;19484:9;19479:14;;19444:284;;;19448:14;19744:3;19737:10;;19145:608;;;19021:732;;;;:::o;19759:847::-;20030:4;20068:3;20057:9;20053:19;20045:27;;20082:71;20150:1;20139:9;20135:17;20126:6;20082:71;:::i;:::-;20163:80;20239:2;20228:9;20224:18;20215:6;20163:80;:::i;:::-;20290:9;20284:4;20280:20;20275:2;20264:9;20260:18;20253:48;20318:108;20421:4;20412:6;20318:108;:::i;:::-;20310:116;;20436:80;20512:2;20501:9;20497:18;20488:6;20436:80;:::i;:::-;20526:73;20594:3;20583:9;20579:19;20570:6;20526:73;:::i;:::-;19759:847;;;;;;;;:::o;20612:171::-;20752:23;20748:1;20740:6;20736:14;20729:47;20612:171;:::o;20789:366::-;20931:3;20952:67;21016:2;21011:3;20952:67;:::i;:::-;20945:74;;21028:93;21117:3;21028:93;:::i;:::-;21146:2;21141:3;21137:12;21130:19;;20789:366;;;:::o;21161:419::-;21327:4;21365:2;21354:9;21350:18;21342:26;;21414:9;21408:4;21404:20;21400:1;21389:9;21385:17;21378:47;21442:131;21568:4;21442:131;:::i;:::-;21434:139;;21161:419;;;:::o;21586:170::-;21726:22;21722:1;21714:6;21710:14;21703:46;21586:170;:::o;21762:366::-;21904:3;21925:67;21989:2;21984:3;21925:67;:::i;:::-;21918:74;;22001:93;22090:3;22001:93;:::i;:::-;22119:2;22114:3;22110:12;22103:19;;21762:366;;;:::o;22134:419::-;22300:4;22338:2;22327:9;22323:18;22315:26;;22387:9;22381:4;22377:20;22373:1;22362:9;22358:17;22351:47;22415:131;22541:4;22415:131;:::i;:::-;22407:139;;22134:419;;;:::o;22559:166::-;22699:18;22695:1;22687:6;22683:14;22676:42;22559:166;:::o;22731:366::-;22873:3;22894:67;22958:2;22953:3;22894:67;:::i;:::-;22887:74;;22970:93;23059:3;22970:93;:::i;:::-;23088:2;23083:3;23079:12;23072:19;;22731:366;;;:::o;23103:419::-;23269:4;23307:2;23296:9;23292:18;23284:26;;23356:9;23350:4;23346:20;23342:1;23331:9;23327:17;23320:47;23384:131;23510:4;23384:131;:::i;:::-;23376:139;;23103:419;;;:::o;23528:191::-;23568:3;23587:20;23605:1;23587:20;:::i;:::-;23582:25;;23621:20;23639:1;23621:20;:::i;:::-;23616:25;;23664:1;23661;23657:9;23650:16;;23685:3;23682:1;23679:10;23676:36;;;23692:18;;:::i;:::-;23676:36;23528:191;;;;:::o;23725:170::-;23865:22;23861:1;23853:6;23849:14;23842:46;23725:170;:::o;23901:366::-;24043:3;24064:67;24128:2;24123:3;24064:67;:::i;:::-;24057:74;;24140:93;24229:3;24140:93;:::i;:::-;24258:2;24253:3;24249:12;24242:19;;23901:366;;;:::o;24273:419::-;24439:4;24477:2;24466:9;24462:18;24454:26;;24526:9;24520:4;24516:20;24512:1;24501:9;24497:17;24490:47;24554:131;24680:4;24554:131;:::i;:::-;24546:139;;24273:419;;;:::o;24698:233::-;24737:3;24760:24;24778:5;24760:24;:::i;:::-;24751:33;;24806:66;24799:5;24796:77;24793:103;;24876:18;;:::i;:::-;24793:103;24923:1;24916:5;24912:13;24905:20;;24698:233;;;:::o;24937:179::-;25077:31;25073:1;25065:6;25061:14;25054:55;24937:179;:::o;25122:366::-;25264:3;25285:67;25349:2;25344:3;25285:67;:::i;:::-;25278:74;;25361:93;25450:3;25361:93;:::i;:::-;25479:2;25474:3;25470:12;25463:19;;25122:366;;;:::o;25494:419::-;25660:4;25698:2;25687:9;25683:18;25675:26;;25747:9;25741:4;25737:20;25733:1;25722:9;25718:17;25711:47;25775:131;25901:4;25775:131;:::i;:::-;25767:139;;25494:419;;;:::o

Swarm Source

ipfs://ec17d74c5d0bdbfca2590fa802a577c06293f63f909de603583b095995110c4b

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.