ETH Price: $2,634.23 (-2.30%)

Token

Printerium (PRINT)
 

Overview

Max Total Supply

1,000,000 PRINT

Holders

68

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 PRINT

Value
$0.00
0xe30b795462264ef59895e0038d51f31eb49046dc
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:
Printerium

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-14
*/

// SPDX-License-Identifier: MIT
/**  
TG- http://t.me/printeriumerc

X- https://twitter.com/PrinteriumERC

WEB- https://Printerium.webflow.io
*/
pragma solidity ^0.8.19;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

interface IRouter {
    function factory() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract Printerium is Context, IERC20, Ownable {

    using Address for address payable;

    IRouter public router;
    address public pair;
    
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    uint8 private constant _decimals = 9; 
    uint256 private _tTotal = 1_000_000 * (10**_decimals);
    uint256 public swapThreshold = 5_000 * (10**_decimals);
    uint256 public maxWallet =  20_000 * (10**_decimals);
    
    uint8 public buyTax = 20;
    uint8 public sellTax = 40;

    string private constant _name = "Printerium"; 
    string private constant _symbol = "PRINT";

    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address public marketingWallet = 0xF7B1fFeB276a231901Fe7233e99e0120E3f4c774;
    address public autoLPWallet = 0xdE8330F29A19793C2cF97A411b50aCB90567f610;

    bool private swapping;
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        _approve(owner(), address(router), ~uint256(0));

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        _isExcludedFromFee[DEAD] = true;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[pair] = true;
        _isExcludedFromMaxBalance[marketingWallet] = true;
        _isExcludedFromMaxBalance[DEAD] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _preTransferCheck(address from,address to,uint256 amount) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(balanceOf(to) + amount <= maxWallet || _isExcludedFromMaxBalance[to], "Transfer amount exceeds the maxWallet.");
        if (balanceOf(address(this)) >= swapThreshold && !swapping && from != pair && from != owner() && to != owner())
            swapAndLiquify();
    }

    function _getValues(address from,address to, uint256 amount) private returns(uint256){
        uint256 taxedTokens = amount * buyTax / 100;
        if(to == pair)
            taxedTokens = amount * sellTax / 100;
        if (taxedTokens > 0){
            _tOwned[address(this)] += taxedTokens;
            emit Transfer (from, address(this), taxedTokens);
        }
        return (amount - taxedTokens);
    }
    
    function _transfer(address from,address to,uint256 amount) private {
        _preTransferCheck(from, to, amount);
        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to])
            transferAmount = _getValues(from, to, amount);
        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapAndLiquify() private lockTheSwap{

        uint256 tokensForMarketing = swapThreshold * 80 / 100;
        uint256 tokensForLiquidity = swapThreshold * 20 / 100;
        
        if(tokensForMarketing > 0){
            uint256 ethSwapped = swapTokensForETH(tokensForMarketing);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }

        if(tokensForLiquidity > 0){
            uint half = tokensForLiquidity / 2;
            uint otherHalf = tokensForLiquidity - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
        }

        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);

    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            autoLPWallet,
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity);
    }
    
    function setContractLimits(uint256 maxWalletEXACT_) external onlyOwner{
        uint256 minimumAmount = 5_000 * (10**_decimals);
        require(maxWalletEXACT_ * (10**_decimals) >= minimumAmount, "Invalid Settings!");
        maxWallet = maxWalletEXACT_ * (10**_decimals);
    }

    function setContractSettings(uint8 buyTax_ , uint8 sellTax_) external onlyOwner{
        require(buyTax_ <= 20 && sellTax_ <= 50, "Invalid Settings!");
        buyTax = buyTax_; sellTax = sellTax_;
    }

    function setSwapThreshold(uint256 swapThresholdEXACT_) external onlyOwner{
        swapThreshold = swapThresholdEXACT_ * (10**_decimals);
    }

    function manualSwap() external lockTheSwap{
        require(msg.sender == marketingWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
            uint256 ethSwapped = swapTokensForETH(tokenBalance);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }
        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);
    }
    
    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLPWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletEXACT_","type":"uint256"}],"name":"setContractLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyTax_","type":"uint8"},{"internalType":"uint8","name":"sellTax_","type":"uint8"}],"name":"setContractSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapThresholdEXACT_","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000c9b565b620f424062000024919062000cec565b6007556009600a62000037919062000c9b565b61138862000046919062000cec565b6008556009600a62000059919062000c9b565b614e2062000068919062000cec565b6009556014600a60006101000a81548160ff021916908360ff1602179055506028600a60016101000a81548160ff021916908360ff16021790555073f7b1ffeb276a231901fe7233e99e0120e3f4c774600a60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073de8330f29a19793c2cf97a411b50acb90567f610600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200015a57600080fd5b506200017b6200016f6200083b60201b60201c565b6200084360201b60201c565b60075460036000620001926200083b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d919062000da1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002eb919062000da1565b6040518363ffffffff1660e01b81526004016200030a92919062000de4565b6020604051808303816000875af11580156200032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000350919062000da1565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200041a620003e86200090760201b60201c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196200093060201b60201c565b600160056000620004306200090760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620005c36200090760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007ca6200083b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200082b919062000e22565b60405180910390a3505062000f80565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620009a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009999062000ec6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a0b9062000f5e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000af4919062000e22565b60405180910390a3505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b8f5780860481111562000b675762000b6662000b01565b5b600185161562000b775780820291505b808102905062000b878562000b30565b945062000b47565b94509492505050565b60008262000baa576001905062000c7d565b8162000bba576000905062000c7d565b816001811462000bd3576002811462000bde5762000c14565b600191505062000c7d565b60ff84111562000bf35762000bf262000b01565b5b8360020a91508482111562000c0d5762000c0c62000b01565b5b5062000c7d565b5060208310610133831016604e8410600b841016171562000c4e5782820a90508381111562000c485762000c4762000b01565b5b62000c7d565b62000c5d848484600162000b3d565b9250905081840481111562000c775762000c7662000b01565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ca88262000c84565b915062000cb58362000c8e565b925062000ce47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b98565b905092915050565b600062000cf98262000c84565b915062000d068362000c84565b925082820262000d168162000c84565b9150828204841483151762000d305762000d2f62000b01565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d698262000d3c565b9050919050565b62000d7b8162000d5c565b811462000d8757600080fd5b50565b60008151905062000d9b8162000d70565b92915050565b60006020828403121562000dba5762000db962000d37565b5b600062000dca8482850162000d8a565b91505092915050565b62000dde8162000d5c565b82525050565b600060408201905062000dfb600083018562000dd3565b62000e0a602083018462000dd3565b9392505050565b62000e1c8162000c84565b82525050565b600060208201905062000e39600083018462000e11565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000eae60248362000e3f565b915062000ebb8262000e50565b604082019050919050565b6000602082019050818103600083015262000ee18162000e9f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f4660228362000e3f565b915062000f538262000ee8565b604082019050919050565b6000602082019050818103600083015262000f798162000f37565b9050919050565b612ea88062000f906000396000f3fe6080604052600436106101855760003560e01c806375f0a874116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e14610581578063f2fde38b146105be578063f887ea40146105e7578063f8b45b05146106125761018c565b8063a8aa1b31146104ee578063a9059cbb14610519578063cc1776d3146105565761018c565b806375f0a874146103de578063768dc710146104095780637fe74a13146104465780638da5cb5b1461046f57806395d89b411461049a5780639d0014b1146104c55761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806356d3b98f1461035f57806370a082311461038a578063715018a6146103c75761018c565b8063313ce567146102c95780634f7041a5146102f45780635025587b1461031f5761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b3146101e757806318160ddd1461022457806323b872dd1461024f57806328c61f411461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661063d565b6040516101b39190611edf565b60405180910390f35b3480156101c857600080fd5b506101d1610643565b6040516101de9190611f8a565b60405180910390f35b3480156101f357600080fd5b5061020e6004803603810190610209919061203b565b610680565b60405161021b9190612096565b60405180910390f35b34801561023057600080fd5b5061023961069e565b6040516102469190611edf565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906120b1565b6106a8565b6040516102839190612096565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612104565b610760565b6040516102c09190612096565b60405180910390f35b3480156102d557600080fd5b506102de610780565b6040516102eb919061214d565b60405180910390f35b34801561030057600080fd5b50610309610789565b604051610316919061214d565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190612168565b61079c565b005b34801561035457600080fd5b5061035d6108b5565b005b34801561036b57600080fd5b50610374610a35565b60405161038191906121a4565b60405180910390f35b34801561039657600080fd5b506103b160048036038101906103ac9190612104565b610a5b565b6040516103be9190611edf565b60405180910390f35b3480156103d357600080fd5b506103dc610aa4565b005b3480156103ea57600080fd5b506103f3610b2c565b60405161040091906121a4565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190612104565b610b52565b60405161043d9190612096565b60405180910390f35b34801561045257600080fd5b5061046d600480360381019061046891906121eb565b610b72565b005b34801561047b57600080fd5b50610484610c7f565b60405161049191906121a4565b60405180910390f35b3480156104a657600080fd5b506104af610ca8565b6040516104bc9190611f8a565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e79190612168565b610ce5565b005b3480156104fa57600080fd5b50610503610d83565b60405161051091906121a4565b60405180910390f35b34801561052557600080fd5b50610540600480360381019061053b919061203b565b610da9565b60405161054d9190612096565b60405180910390f35b34801561056257600080fd5b5061056b610dc7565b604051610578919061214d565b60405180910390f35b34801561058d57600080fd5b506105a860048036038101906105a3919061222b565b610dda565b6040516105b59190611edf565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e09190612104565b610e61565b005b3480156105f357600080fd5b506105fc610f58565b60405161060991906122ca565b60405180910390f35b34801561061e57600080fd5b50610627610f7e565b6040516106349190611edf565b60405180910390f35b60085481565b60606040518060400160405280600a81526020017f5072696e74657269756d00000000000000000000000000000000000000000000815250905090565b600061069461068d610f84565b8484610f8c565b6001905092915050565b6000600754905090565b60006106b5848484611155565b610755846106c1610f84565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070b610f84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107509190612314565b610f8c565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b600a60009054906101000a900460ff1681565b6107a4610f84565b73ffffffffffffffffffffffffffffffffffffffff166107c2610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f90612394565b60405180910390fd5b60006009600a61082891906124e7565b6113886108359190612532565b9050806009600a61084691906124e7565b836108519190612532565b1015610892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610889906125c0565b60405180910390fd5b6009600a6108a091906124e7565b826108ab9190612532565b6009819055505050565b6001600b60146101000a81548160ff021916908315150217905550600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092a57600080fd5b600061093530610a5b565b905060008111156109c257600061094b82611333565b905060008111156109c057600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156109be573d6000803e3d6000fd5b505b505b6000471115610a1757610a1647600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b506000600b60146101000a81548160ff021916908315150217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aac610f84565b73ffffffffffffffffffffffffffffffffffffffff16610aca610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790612394565b60405180910390fd5b610b2a6000611681565b565b600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b610b7a610f84565b73ffffffffffffffffffffffffffffffffffffffff16610b98610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be590612394565b60405180910390fd5b60148260ff1611158015610c06575060328160ff1611155b610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906125c0565b60405180910390fd5b81600a60006101000a81548160ff021916908360ff16021790555080600a60016101000a81548160ff021916908360ff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5052494e54000000000000000000000000000000000000000000000000000000815250905090565b610ced610f84565b73ffffffffffffffffffffffffffffffffffffffff16610d0b610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612394565b60405180910390fd5b6009600a610d6f91906124e7565b81610d7a9190612532565b60088190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dbd610db6610f84565b8484611155565b6001905092915050565b600a60019054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e69610f84565b73ffffffffffffffffffffffffffffffffffffffff16610e87610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612394565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4390612652565b60405180910390fd5b610f5581611681565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff2906126e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106190612776565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111489190611edf565b60405180910390a3505050565b611160838383611745565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111af9190612314565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561125f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112725761126f848484611a24565b90505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c19190612796565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113259190611edf565b60405180910390a350505050565b6000804790506000600267ffffffffffffffff811115611356576113556127ca565b5b6040519080825280602002602001820160405280156113845781602001602082028036833780820191505090505b509050308160008151811061139c5761139b6127f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611467919061283d565b8160018151811061147b5761147a6127f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114e230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686610f8c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401611546959493929190612963565b600060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b5050505081476115849190612314565b92505050919050565b804710156115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612a09565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516115f690612a5a565b60006040518083038185875af1925050503d8060008114611633576040519150601f19603f3d011682016040523d82523d6000602084013e611638565b606091505b505090508061167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390612ae1565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab90612b73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181a90612c05565b60405180910390fd5b60008111611866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185d90612c97565b60405180910390fd5b6009548161187384610a5b565b61187d9190612796565b1115806118d35750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990612d29565b60405180910390fd5b60085461191e30610a5b565b101580156119395750600b60149054906101000a900460ff16155b80156119935750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119d257506119a2610c7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a1157506119e1610c7f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a1f57611a1e611bb0565b5b505050565b6000806064600a60009054906101000a900460ff1660ff1684611a479190612532565b611a519190612d78565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ad5576064600a60019054906101000a900460ff1660ff1684611ac89190612532565b611ad29190612d78565b90505b6000811115611b9a5780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b2d9190612796565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b919190611edf565b60405180910390a35b8083611ba69190612314565b9150509392505050565b6001600b60146101000a81548160ff021916908315150217905550600060646050600854611bde9190612532565b611be89190612d78565b9050600060646014600854611bfd9190612532565b611c079190612d78565b90506000821115611c94576000611c1d83611333565b90506000811115611c9257600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c90573d6000803e3d6000fd5b505b505b6000811115611ce3576000600282611cac9190612d78565b905060008183611cbc9190612314565b90506000611cc983611333565b90506000811115611cdf57611cde8282611d57565b5b5050505b6000471115611d3857611d3747600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b50506000600b60146101000a81548160ff021916908315150217905550565b611d8430600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8c565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611e0f96959493929190612da9565b60606040518083038185885af1158015611e2d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e529190612e1f565b5091505060008183611e649190612314565b1115611ec157611ec08183611e799190612314565b600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b505050565b6000819050919050565b611ed981611ec6565b82525050565b6000602082019050611ef46000830184611ed0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f34578082015181840152602081019050611f19565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f5c82611efa565b611f668185611f05565b9350611f76818560208601611f16565b611f7f81611f40565b840191505092915050565b60006020820190508181036000830152611fa48184611f51565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fdc82611fb1565b9050919050565b611fec81611fd1565b8114611ff757600080fd5b50565b60008135905061200981611fe3565b92915050565b61201881611ec6565b811461202357600080fd5b50565b6000813590506120358161200f565b92915050565b6000806040838503121561205257612051611fac565b5b600061206085828601611ffa565b925050602061207185828601612026565b9150509250929050565b60008115159050919050565b6120908161207b565b82525050565b60006020820190506120ab6000830184612087565b92915050565b6000806000606084860312156120ca576120c9611fac565b5b60006120d886828701611ffa565b93505060206120e986828701611ffa565b92505060406120fa86828701612026565b9150509250925092565b60006020828403121561211a57612119611fac565b5b600061212884828501611ffa565b91505092915050565b600060ff82169050919050565b61214781612131565b82525050565b6000602082019050612162600083018461213e565b92915050565b60006020828403121561217e5761217d611fac565b5b600061218c84828501612026565b91505092915050565b61219e81611fd1565b82525050565b60006020820190506121b96000830184612195565b92915050565b6121c881612131565b81146121d357600080fd5b50565b6000813590506121e5816121bf565b92915050565b6000806040838503121561220257612201611fac565b5b6000612210858286016121d6565b9250506020612221858286016121d6565b9150509250929050565b6000806040838503121561224257612241611fac565b5b600061225085828601611ffa565b925050602061226185828601611ffa565b9150509250929050565b6000819050919050565b600061229061228b61228684611fb1565b61226b565b611fb1565b9050919050565b60006122a282612275565b9050919050565b60006122b482612297565b9050919050565b6122c4816122a9565b82525050565b60006020820190506122df60008301846122bb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061231f82611ec6565b915061232a83611ec6565b9250828203905081811115612342576123416122e5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061237e602083611f05565b915061238982612348565b602082019050919050565b600060208201905081810360008301526123ad81612371565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561240b578086048111156123e7576123e66122e5565b5b60018516156123f65780820291505b8081029050612404856123b4565b94506123cb565b94509492505050565b60008261242457600190506124e0565b8161243257600090506124e0565b8160018114612448576002811461245257612481565b60019150506124e0565b60ff841115612464576124636122e5565b5b8360020a91508482111561247b5761247a6122e5565b5b506124e0565b5060208310610133831016604e8410600b84101617156124b65782820a9050838111156124b1576124b06122e5565b5b6124e0565b6124c384848460016123c1565b925090508184048111156124da576124d96122e5565b5b81810290505b9392505050565b60006124f282611ec6565b91506124fd83612131565b925061252a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612414565b905092915050565b600061253d82611ec6565b915061254883611ec6565b925082820261255681611ec6565b9150828204841483151761256d5761256c6122e5565b5b5092915050565b7f496e76616c69642053657474696e677321000000000000000000000000000000600082015250565b60006125aa601183611f05565b91506125b582612574565b602082019050919050565b600060208201905081810360008301526125d98161259d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061263c602683611f05565b9150612647826125e0565b604082019050919050565b6000602082019050818103600083015261266b8161262f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126ce602483611f05565b91506126d982612672565b604082019050919050565b600060208201905081810360008301526126fd816126c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612760602283611f05565b915061276b82612704565b604082019050919050565b6000602082019050818103600083015261278f81612753565b9050919050565b60006127a182611ec6565b91506127ac83611ec6565b92508282019050808211156127c4576127c36122e5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061283781611fe3565b92915050565b60006020828403121561285357612852611fac565b5b600061286184828501612828565b91505092915050565b6000819050919050565b600061288f61288a6128858461286a565b61226b565b611ec6565b9050919050565b61289f81612874565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128da81611fd1565b82525050565b60006128ec83836128d1565b60208301905092915050565b6000602082019050919050565b6000612910826128a5565b61291a81856128b0565b9350612925836128c1565b8060005b8381101561295657815161293d88826128e0565b9750612948836128f8565b925050600181019050612929565b5085935050505092915050565b600060a0820190506129786000830188611ed0565b6129856020830187612896565b81810360408301526129978186612905565b90506129a66060830185612195565b6129b36080830184611ed0565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006129f3601d83611f05565b91506129fe826129bd565b602082019050919050565b60006020820190508181036000830152612a22816129e6565b9050919050565b600081905092915050565b50565b6000612a44600083612a29565b9150612a4f82612a34565b600082019050919050565b6000612a6582612a37565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000612acb603a83611f05565b9150612ad682612a6f565b604082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b5d602583611f05565b9150612b6882612b01565b604082019050919050565b60006020820190508181036000830152612b8c81612b50565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bef602383611f05565b9150612bfa82612b93565b604082019050919050565b60006020820190508181036000830152612c1e81612be2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c81602983611f05565b9150612c8c82612c25565b604082019050919050565b60006020820190508181036000830152612cb081612c74565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b6000612d13602683611f05565b9150612d1e82612cb7565b604082019050919050565b60006020820190508181036000830152612d4281612d06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d8382611ec6565b9150612d8e83611ec6565b925082612d9e57612d9d612d49565b5b828204905092915050565b600060c082019050612dbe6000830189612195565b612dcb6020830188611ed0565b612dd86040830187612896565b612de56060830186612896565b612df26080830185612195565b612dff60a0830184611ed0565b979650505050505050565b600081519050612e198161200f565b92915050565b600080600060608486031215612e3857612e37611fac565b5b6000612e4686828701612e0a565b9350506020612e5786828701612e0a565b9250506040612e6886828701612e0a565b915050925092509256fea2646970667358221220b8a9775217708477010bc15a43c717a6f7e5199623337dd81ecfc1f5bc8c436764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806375f0a874116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e14610581578063f2fde38b146105be578063f887ea40146105e7578063f8b45b05146106125761018c565b8063a8aa1b31146104ee578063a9059cbb14610519578063cc1776d3146105565761018c565b806375f0a874146103de578063768dc710146104095780637fe74a13146104465780638da5cb5b1461046f57806395d89b411461049a5780639d0014b1146104c55761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806356d3b98f1461035f57806370a082311461038a578063715018a6146103c75761018c565b8063313ce567146102c95780634f7041a5146102f45780635025587b1461031f5761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b3146101e757806318160ddd1461022457806323b872dd1461024f57806328c61f411461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661063d565b6040516101b39190611edf565b60405180910390f35b3480156101c857600080fd5b506101d1610643565b6040516101de9190611f8a565b60405180910390f35b3480156101f357600080fd5b5061020e6004803603810190610209919061203b565b610680565b60405161021b9190612096565b60405180910390f35b34801561023057600080fd5b5061023961069e565b6040516102469190611edf565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906120b1565b6106a8565b6040516102839190612096565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612104565b610760565b6040516102c09190612096565b60405180910390f35b3480156102d557600080fd5b506102de610780565b6040516102eb919061214d565b60405180910390f35b34801561030057600080fd5b50610309610789565b604051610316919061214d565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190612168565b61079c565b005b34801561035457600080fd5b5061035d6108b5565b005b34801561036b57600080fd5b50610374610a35565b60405161038191906121a4565b60405180910390f35b34801561039657600080fd5b506103b160048036038101906103ac9190612104565b610a5b565b6040516103be9190611edf565b60405180910390f35b3480156103d357600080fd5b506103dc610aa4565b005b3480156103ea57600080fd5b506103f3610b2c565b60405161040091906121a4565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b9190612104565b610b52565b60405161043d9190612096565b60405180910390f35b34801561045257600080fd5b5061046d600480360381019061046891906121eb565b610b72565b005b34801561047b57600080fd5b50610484610c7f565b60405161049191906121a4565b60405180910390f35b3480156104a657600080fd5b506104af610ca8565b6040516104bc9190611f8a565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e79190612168565b610ce5565b005b3480156104fa57600080fd5b50610503610d83565b60405161051091906121a4565b60405180910390f35b34801561052557600080fd5b50610540600480360381019061053b919061203b565b610da9565b60405161054d9190612096565b60405180910390f35b34801561056257600080fd5b5061056b610dc7565b604051610578919061214d565b60405180910390f35b34801561058d57600080fd5b506105a860048036038101906105a3919061222b565b610dda565b6040516105b59190611edf565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e09190612104565b610e61565b005b3480156105f357600080fd5b506105fc610f58565b60405161060991906122ca565b60405180910390f35b34801561061e57600080fd5b50610627610f7e565b6040516106349190611edf565b60405180910390f35b60085481565b60606040518060400160405280600a81526020017f5072696e74657269756d00000000000000000000000000000000000000000000815250905090565b600061069461068d610f84565b8484610f8c565b6001905092915050565b6000600754905090565b60006106b5848484611155565b610755846106c1610f84565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070b610f84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107509190612314565b610f8c565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b600a60009054906101000a900460ff1681565b6107a4610f84565b73ffffffffffffffffffffffffffffffffffffffff166107c2610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f90612394565b60405180910390fd5b60006009600a61082891906124e7565b6113886108359190612532565b9050806009600a61084691906124e7565b836108519190612532565b1015610892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610889906125c0565b60405180910390fd5b6009600a6108a091906124e7565b826108ab9190612532565b6009819055505050565b6001600b60146101000a81548160ff021916908315150217905550600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092a57600080fd5b600061093530610a5b565b905060008111156109c257600061094b82611333565b905060008111156109c057600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156109be573d6000803e3d6000fd5b505b505b6000471115610a1757610a1647600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b506000600b60146101000a81548160ff021916908315150217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aac610f84565b73ffffffffffffffffffffffffffffffffffffffff16610aca610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790612394565b60405180910390fd5b610b2a6000611681565b565b600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b610b7a610f84565b73ffffffffffffffffffffffffffffffffffffffff16610b98610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be590612394565b60405180910390fd5b60148260ff1611158015610c06575060328160ff1611155b610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c906125c0565b60405180910390fd5b81600a60006101000a81548160ff021916908360ff16021790555080600a60016101000a81548160ff021916908360ff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5052494e54000000000000000000000000000000000000000000000000000000815250905090565b610ced610f84565b73ffffffffffffffffffffffffffffffffffffffff16610d0b610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612394565b60405180910390fd5b6009600a610d6f91906124e7565b81610d7a9190612532565b60088190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dbd610db6610f84565b8484611155565b6001905092915050565b600a60019054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e69610f84565b73ffffffffffffffffffffffffffffffffffffffff16610e87610c7f565b73ffffffffffffffffffffffffffffffffffffffff1614610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612394565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4390612652565b60405180910390fd5b610f5581611681565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff2906126e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106190612776565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111489190611edf565b60405180910390a3505050565b611160838383611745565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111af9190612314565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561125f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112725761126f848484611a24565b90505b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c19190612796565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113259190611edf565b60405180910390a350505050565b6000804790506000600267ffffffffffffffff811115611356576113556127ca565b5b6040519080825280602002602001820160405280156113845781602001602082028036833780820191505090505b509050308160008151811061139c5761139b6127f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611467919061283d565b8160018151811061147b5761147a6127f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114e230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686610f8c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401611546959493929190612963565b600060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b5050505081476115849190612314565b92505050919050565b804710156115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612a09565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516115f690612a5a565b60006040518083038185875af1925050503d8060008114611633576040519150601f19603f3d011682016040523d82523d6000602084013e611638565b606091505b505090508061167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390612ae1565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab90612b73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181a90612c05565b60405180910390fd5b60008111611866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185d90612c97565b60405180910390fd5b6009548161187384610a5b565b61187d9190612796565b1115806118d35750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611912576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190990612d29565b60405180910390fd5b60085461191e30610a5b565b101580156119395750600b60149054906101000a900460ff16155b80156119935750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119d257506119a2610c7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a1157506119e1610c7f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a1f57611a1e611bb0565b5b505050565b6000806064600a60009054906101000a900460ff1660ff1684611a479190612532565b611a519190612d78565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ad5576064600a60019054906101000a900460ff1660ff1684611ac89190612532565b611ad29190612d78565b90505b6000811115611b9a5780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b2d9190612796565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b919190611edf565b60405180910390a35b8083611ba69190612314565b9150509392505050565b6001600b60146101000a81548160ff021916908315150217905550600060646050600854611bde9190612532565b611be89190612d78565b9050600060646014600854611bfd9190612532565b611c079190612d78565b90506000821115611c94576000611c1d83611333565b90506000811115611c9257600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c90573d6000803e3d6000fd5b505b505b6000811115611ce3576000600282611cac9190612d78565b905060008183611cbc9190612314565b90506000611cc983611333565b90506000811115611cdf57611cde8282611d57565b5b5050505b6000471115611d3857611d3747600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b50506000600b60146101000a81548160ff021916908315150217905550565b611d8430600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8c565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401611e0f96959493929190612da9565b60606040518083038185885af1158015611e2d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e529190612e1f565b5091505060008183611e649190612314565b1115611ec157611ec08183611e799190612314565b600a60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661158d90919063ffffffff16565b5b505050565b6000819050919050565b611ed981611ec6565b82525050565b6000602082019050611ef46000830184611ed0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f34578082015181840152602081019050611f19565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f5c82611efa565b611f668185611f05565b9350611f76818560208601611f16565b611f7f81611f40565b840191505092915050565b60006020820190508181036000830152611fa48184611f51565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fdc82611fb1565b9050919050565b611fec81611fd1565b8114611ff757600080fd5b50565b60008135905061200981611fe3565b92915050565b61201881611ec6565b811461202357600080fd5b50565b6000813590506120358161200f565b92915050565b6000806040838503121561205257612051611fac565b5b600061206085828601611ffa565b925050602061207185828601612026565b9150509250929050565b60008115159050919050565b6120908161207b565b82525050565b60006020820190506120ab6000830184612087565b92915050565b6000806000606084860312156120ca576120c9611fac565b5b60006120d886828701611ffa565b93505060206120e986828701611ffa565b92505060406120fa86828701612026565b9150509250925092565b60006020828403121561211a57612119611fac565b5b600061212884828501611ffa565b91505092915050565b600060ff82169050919050565b61214781612131565b82525050565b6000602082019050612162600083018461213e565b92915050565b60006020828403121561217e5761217d611fac565b5b600061218c84828501612026565b91505092915050565b61219e81611fd1565b82525050565b60006020820190506121b96000830184612195565b92915050565b6121c881612131565b81146121d357600080fd5b50565b6000813590506121e5816121bf565b92915050565b6000806040838503121561220257612201611fac565b5b6000612210858286016121d6565b9250506020612221858286016121d6565b9150509250929050565b6000806040838503121561224257612241611fac565b5b600061225085828601611ffa565b925050602061226185828601611ffa565b9150509250929050565b6000819050919050565b600061229061228b61228684611fb1565b61226b565b611fb1565b9050919050565b60006122a282612275565b9050919050565b60006122b482612297565b9050919050565b6122c4816122a9565b82525050565b60006020820190506122df60008301846122bb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061231f82611ec6565b915061232a83611ec6565b9250828203905081811115612342576123416122e5565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061237e602083611f05565b915061238982612348565b602082019050919050565b600060208201905081810360008301526123ad81612371565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561240b578086048111156123e7576123e66122e5565b5b60018516156123f65780820291505b8081029050612404856123b4565b94506123cb565b94509492505050565b60008261242457600190506124e0565b8161243257600090506124e0565b8160018114612448576002811461245257612481565b60019150506124e0565b60ff841115612464576124636122e5565b5b8360020a91508482111561247b5761247a6122e5565b5b506124e0565b5060208310610133831016604e8410600b84101617156124b65782820a9050838111156124b1576124b06122e5565b5b6124e0565b6124c384848460016123c1565b925090508184048111156124da576124d96122e5565b5b81810290505b9392505050565b60006124f282611ec6565b91506124fd83612131565b925061252a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612414565b905092915050565b600061253d82611ec6565b915061254883611ec6565b925082820261255681611ec6565b9150828204841483151761256d5761256c6122e5565b5b5092915050565b7f496e76616c69642053657474696e677321000000000000000000000000000000600082015250565b60006125aa601183611f05565b91506125b582612574565b602082019050919050565b600060208201905081810360008301526125d98161259d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061263c602683611f05565b9150612647826125e0565b604082019050919050565b6000602082019050818103600083015261266b8161262f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126ce602483611f05565b91506126d982612672565b604082019050919050565b600060208201905081810360008301526126fd816126c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612760602283611f05565b915061276b82612704565b604082019050919050565b6000602082019050818103600083015261278f81612753565b9050919050565b60006127a182611ec6565b91506127ac83611ec6565b92508282019050808211156127c4576127c36122e5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061283781611fe3565b92915050565b60006020828403121561285357612852611fac565b5b600061286184828501612828565b91505092915050565b6000819050919050565b600061288f61288a6128858461286a565b61226b565b611ec6565b9050919050565b61289f81612874565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128da81611fd1565b82525050565b60006128ec83836128d1565b60208301905092915050565b6000602082019050919050565b6000612910826128a5565b61291a81856128b0565b9350612925836128c1565b8060005b8381101561295657815161293d88826128e0565b9750612948836128f8565b925050600181019050612929565b5085935050505092915050565b600060a0820190506129786000830188611ed0565b6129856020830187612896565b81810360408301526129978186612905565b90506129a66060830185612195565b6129b36080830184611ed0565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006129f3601d83611f05565b91506129fe826129bd565b602082019050919050565b60006020820190508181036000830152612a22816129e6565b9050919050565b600081905092915050565b50565b6000612a44600083612a29565b9150612a4f82612a34565b600082019050919050565b6000612a6582612a37565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000612acb603a83611f05565b9150612ad682612a6f565b604082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b5d602583611f05565b9150612b6882612b01565b604082019050919050565b60006020820190508181036000830152612b8c81612b50565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bef602383611f05565b9150612bfa82612b93565b604082019050919050565b60006020820190508181036000830152612c1e81612be2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c81602983611f05565b9150612c8c82612c25565b604082019050919050565b60006020820190508181036000830152612cb081612c74565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b6000612d13602683611f05565b9150612d1e82612cb7565b604082019050919050565b60006020820190508181036000830152612d4281612d06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d8382611ec6565b9150612d8e83611ec6565b925082612d9e57612d9d612d49565b5b828204905092915050565b600060c082019050612dbe6000830189612195565b612dcb6020830188611ed0565b612dd86040830187612896565b612de56060830186612896565b612df26080830185612195565b612dff60a0830184611ed0565b979650505050505050565b600081519050612e198161200f565b92915050565b600080600060608486031215612e3857612e37611fac565b5b6000612e4686828701612e0a565b9350506020612e5786828701612e0a565b9250506040612e6886828701612e0a565b915050925092509256fea2646970667358221220b8a9775217708477010bc15a43c717a6f7e5199623337dd81ecfc1f5bc8c436764736f6c63430008130033

Deployed Bytecode Sourcemap

3267:8272:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3782:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5338:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6169:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5615:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6338:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3611:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5524:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3908:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10362:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11020:473;;;;;;;;;;;;;:::i;:::-;;4238:72;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5718:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1258:94;;;;;;;;;;;;;:::i;:::-;;4156:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3553:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10653:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1035:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5429;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10867:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3394:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5843:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3939:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6018:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1360:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3366:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3843:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3782:54;;;;:::o;5338:83::-;5375:13;5408:5;;;;;;;;;;;;;;;;;5401:12;;5338:83;:::o;6169:161::-;6244:4;6261:39;6270:12;:10;:12::i;:::-;6284:7;6293:6;6261:8;:39::i;:::-;6318:4;6311:11;;6169:161;;;;:::o;5615:95::-;5668:7;5695;;5688:14;;5615:95;:::o;6338:266::-;6436:4;6453:36;6463:6;6471:9;6482:6;6453:9;:36::i;:::-;6500:74;6509:6;6517:12;:10;:12::i;:::-;6567:6;6531:11;:19;6543:6;6531:19;;;;;;;;;;;;;;;:33;6551:12;:10;:12::i;:::-;6531:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6500:8;:74::i;:::-;6592:4;6585:11;;6338:266;;;;;:::o;3611:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;5524:83::-;5565:5;3713:1;5583:16;;5524:83;:::o;3908:24::-;;;;;;;;;;;;;:::o;10362:283::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10443:21:::1;3713:1;10476:2;:13;;;;:::i;:::-;10467:5;:23;;;;:::i;:::-;10443:47;;10546:13;3713:1;10528:2;:13;;;;:::i;:::-;10509:15;:33;;;;:::i;:::-;:50;;10501:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;3713:1;10623:2;:13;;;;:::i;:::-;10604:15;:33;;;;:::i;:::-;10592:9;:45;;;;10432:213;10362:283:::0;:::o;11020:473::-;4390:4;4379:8;;:15;;;;;;;;;;;;;;;;;;11095::::1;;;;;;;;;;;11081:29;;:10;:29;;;11073:38;;;::::0;::::1;;11122:20;11145:24;11163:4;11145:9;:24::i;:::-;11122:47;;11198:1;11183:12;:16;11180:194;;;11215:18;11236:30;11253:12;11236:16;:30::i;:::-;11215:51;;11297:1;11284:10;:14;11281:81;;;11325:15;;;;;;;;;;;11317:33;;:45;11351:10;11317:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11281:81;11200:174;11180:194;11412:1;11388:21;:25;11384:101;;;11428:57;11463:21;11436:15;;;;;;;;;;;11428:34;;;;:57;;;;:::i;:::-;11384:101;11062:431;4428:5:::0;4417:8;;:16;;;;;;;;;;;;;;;;;;11020:473::o;4238:72::-;;;;;;;;;;;;;:::o;5718:117::-;5784:7;5811;:16;5819:7;5811:16;;;;;;;;;;;;;;;;5804:23;;5718:117;;;:::o;1258:94::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1323:21:::1;1341:1;1323:9;:21::i;:::-;1258:94::o:0;4156:75::-;;;;;;;;;;;;;:::o;3553:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;10653:206::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10762:2:::1;10751:7;:13;;;;:31;;;;;10780:2;10768:8;:14;;;;10751:31;10743:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;10824:7;10815:6;;:16;;;;;;;;;;;;;;;;;;10843:8;10833:7;;:18;;;;;;;;;;;;;;;;;;10653:206:::0;;:::o;1035:87::-;1081:7;1108:6;;;;;;;;;;;1101:13;;1035:87;:::o;5429:::-;5468:13;5501:7;;;;;;;;;;;;;;;;;5494:14;;5429:87;:::o;10867:145::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3713:1:::1;10990:2;:13;;;;:::i;:::-;10967:19;:37;;;;:::i;:::-;10951:13;:53;;;;10867:145:::0;:::o;3394:19::-;;;;;;;;;;;;;:::o;5843:167::-;5921:4;5938:42;5948:12;:10;:12::i;:::-;5962:9;5973:6;5938:9;:42::i;:::-;5998:4;5991:11;;5843:167;;;;:::o;3939:25::-;;;;;;;;;;;;;:::o;6018:143::-;6099:7;6126:11;:18;6138:5;6126:18;;;;;;;;;;;;;;;:27;6145:7;6126:27;;;;;;;;;;;;;;;;6119:34;;6018:143;;;;:::o;1360:192::-;1181:12;:10;:12::i;:::-;1170:23;;:7;:5;:7::i;:::-;:23;;;1162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1469:1:::1;1449:22;;:8;:22;;::::0;1441:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1525:19;1535:8;1525:9;:19::i;:::-;1360:192:::0;:::o;3366:21::-;;;;;;;;;;;;;:::o;3843:52::-;;;;:::o;560:115::-;613:15;656:10;641:26;;560:115;:::o;6612:335::-;6722:1;6705:19;;:5;:19;;;6697:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6803:1;6784:21;;:7;:21;;;6776:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6885:6;6855:11;:18;6867:5;6855:18;;;;;;;;;;;;;;;:27;6874:7;6855:27;;;;;;;;;;;;;;;:36;;;;6923:7;6907:32;;6916:5;6907:32;;;6932:6;6907:32;;;;;;:::i;:::-;;;;;;;;6612:335;;;:::o;7993:413::-;8071:35;8089:4;8095:2;8099:6;8071:17;:35::i;:::-;8134:6;8117:7;:13;8125:4;8117:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8151:22;8176:6;8151:31;;8197:18;:24;8216:4;8197:24;;;;;;;;;;;;;;;;;;;;;;;;;8196:25;:52;;;;;8226:18;:22;8245:2;8226:22;;;;;;;;;;;;;;;;;;;;;;;;;8225:23;8196:52;8193:115;;;8280:28;8291:4;8297:2;8301:6;8280:10;:28::i;:::-;8263:45;;8193:115;8334:14;8319:7;:11;8327:2;8319:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;8379:2;8364:34;;8373:4;8364:34;;;8383:14;8364:34;;;;;;:::i;:::-;;;;;;;;8060:346;7993:413;;;:::o;9242:581::-;9306:7;9326:22;9351:21;9326:46;;9383:21;9421:1;9407:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:40;;9452:4;9434;9439:1;9434:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9478:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9468:4;9473:1;9468:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9504:53;9521:4;9536:6;;;;;;;;;;;9545:11;9504:8;:53::i;:::-;9570:6;;;;;;;;;;;:57;;;9642:11;9668:1;9684:4;9711;9731:15;9570:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9800:14;9776:21;:38;;;;:::i;:::-;9768:47;;;;9242:581;;;:::o;203:317::-;318:6;293:21;:31;;285:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;372:12;390:9;:14;;412:6;390:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:52;;;442:7;434:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;274:246;203:317;;:::o;1560:173::-;1616:16;1635:6;;;;;;;;;;;1616:25;;1661:8;1652:6;;:17;;;;;;;;;;;;;;;;;;1716:8;1685:40;;1706:8;1685:40;;;;;;;;;;;;1605:128;1560:173;:::o;6959:595::-;7070:1;7054:18;;:4;:18;;;7046:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7147:1;7133:16;;:2;:16;;;7125:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7217:1;7208:6;:10;7200:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7309:9;;7299:6;7283:13;7293:2;7283:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;:68;;;;7322:25;:29;7348:2;7322:29;;;;;;;;;;;;;;;;;;;;;;;;;7283:68;7275:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;7437:13;;7409:24;7427:4;7409:9;:24::i;:::-;:41;;:54;;;;;7455:8;;;;;;;;;;;7454:9;7409:54;:70;;;;;7475:4;;;;;;;;;;;7467:12;;:4;:12;;;;7409:70;:89;;;;;7491:7;:5;:7::i;:::-;7483:15;;:4;:15;;;;7409:89;:106;;;;;7508:7;:5;:7::i;:::-;7502:13;;:2;:13;;;;7409:106;7405:141;;;7530:16;:14;:16::i;:::-;7405:141;6959:595;;;:::o;7562:419::-;7639:7;7658:19;7698:3;7689:6;;;;;;;;;;;7680:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;7658:43;;7721:4;;;;;;;;;;;7715:10;;:2;:10;;;7712:64;;7773:3;7763:7;;;;;;;;;;;7754:16;;:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;7740:36;;7712:64;7805:1;7791:11;:15;7787:147;;;7848:11;7822:7;:22;7838:4;7822:22;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;7903:4;7879:43;;7889:4;7879:43;;;7910:11;7879:43;;;;;;:::i;:::-;;;;;;;;7787:147;7961:11;7952:6;:20;;;;:::i;:::-;7944:29;;;7562:419;;;;;:::o;8414:820::-;4390:4;4379:8;;:15;;;;;;;;;;;;;;;;;;8472:26:::1;8522:3;8517:2;8501:13;;:18;;;;:::i;:::-;:24;;;;:::i;:::-;8472:53;;8536:26;8586:3;8581:2;8565:13;;:18;;;;:::i;:::-;:24;;;;:::i;:::-;8536:53;;8634:1;8613:18;:22;8610:206;;;8651:18;8672:36;8689:18;8672:16;:36::i;:::-;8651:57;;8739:1;8726:10;:14;8723:81;;;8767:15;;;;;;;;;;;8759:33;;:45;8793:10;8759:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8723:81;8636:180;8610:206;8852:1;8831:18;:22;8828:283;;;8869:9;8902:1;8881:18;:22;;;;:::i;:::-;8869:34;;8918:14;8956:4;8935:18;:25;;;;:::i;:::-;8918:42;;8975:14;8992:22;9009:4;8992:16;:22::i;:::-;8975:39;;9045:1;9033:9;:13;9029:70;;;9065:34;9078:9;9089;9065:12;:34::i;:::-;9029:70;8854:257;;;8828:283;9151:1;9127:21;:25;9123:101;;;9167:57;9202:21;9175:15;;;;;;;;;;;9167:34;;;;:57;;;;:::i;:::-;9123:101;8459:775;;4428:5:::0;4417:8;;:16;;;;;;;;;;;;;;;;;;8414:820::o;9831:519::-;9912:53;9929:4;9944:6;;;;;;;;;;;9953:11;9912:8;:53::i;:::-;9980:24;10009:6;;;;;;;;;;;:22;;;10040:9;10074:4;10094:11;10120:1;10136;10152:12;;;;;;;;;;;10179:15;10009:196;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9978:227;;;;10261:1;10242:16;10230:9;:28;;;;:::i;:::-;:32;10226:116;;;10277:65;10325:16;10313:9;:28;;;;:::i;:::-;10285:15;;;;;;;;;;;10277:34;;;;:65;;;;:::i;:::-;10226:116;9901:449;9831:519;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:118::-;5946:22;5962:5;5946:22;:::i;:::-;5939:5;5936:33;5926:61;;5983:1;5980;5973:12;5926:61;5875:118;:::o;5999:135::-;6043:5;6081:6;6068:20;6059:29;;6097:31;6122:5;6097:31;:::i;:::-;5999:135;;;;:::o;6140:466::-;6204:6;6212;6261:2;6249:9;6240:7;6236:23;6232:32;6229:119;;;6267:79;;:::i;:::-;6229:119;6387:1;6412:51;6455:7;6446:6;6435:9;6431:22;6412:51;:::i;:::-;6402:61;;6358:115;6512:2;6538:51;6581:7;6572:6;6561:9;6557:22;6538:51;:::i;:::-;6528:61;;6483:116;6140:466;;;;;:::o;6612:474::-;6680:6;6688;6737:2;6725:9;6716:7;6712:23;6708:32;6705:119;;;6743:79;;:::i;:::-;6705:119;6863:1;6888:53;6933:7;6924:6;6913:9;6909:22;6888:53;:::i;:::-;6878:63;;6834:117;6990:2;7016:53;7061:7;7052:6;7041:9;7037:22;7016:53;:::i;:::-;7006:63;;6961:118;6612:474;;;;;:::o;7092:60::-;7120:3;7141:5;7134:12;;7092:60;;;:::o;7158:142::-;7208:9;7241:53;7259:34;7268:24;7286:5;7268:24;:::i;:::-;7259:34;:::i;:::-;7241:53;:::i;:::-;7228:66;;7158:142;;;:::o;7306:126::-;7356:9;7389:37;7420:5;7389:37;:::i;:::-;7376:50;;7306:126;;;:::o;7438:141::-;7503:9;7536:37;7567:5;7536:37;:::i;:::-;7523:50;;7438:141;;;:::o;7585:161::-;7687:52;7733:5;7687:52;:::i;:::-;7682:3;7675:65;7585:161;;:::o;7752:252::-;7860:4;7898:2;7887:9;7883:18;7875:26;;7911:86;7994:1;7983:9;7979:17;7970:6;7911:86;:::i;:::-;7752:252;;;;:::o;8010:180::-;8058:77;8055:1;8048:88;8155:4;8152:1;8145:15;8179:4;8176:1;8169:15;8196:194;8236:4;8256:20;8274:1;8256:20;:::i;:::-;8251:25;;8290:20;8308:1;8290:20;:::i;:::-;8285:25;;8334:1;8331;8327:9;8319:17;;8358:1;8352:4;8349:11;8346:37;;;8363:18;;:::i;:::-;8346:37;8196:194;;;;:::o;8396:182::-;8536:34;8532:1;8524:6;8520:14;8513:58;8396:182;:::o;8584:366::-;8726:3;8747:67;8811:2;8806:3;8747:67;:::i;:::-;8740:74;;8823:93;8912:3;8823:93;:::i;:::-;8941:2;8936:3;8932:12;8925:19;;8584:366;;;:::o;8956:419::-;9122:4;9160:2;9149:9;9145:18;9137:26;;9209:9;9203:4;9199:20;9195:1;9184:9;9180:17;9173:47;9237:131;9363:4;9237:131;:::i;:::-;9229:139;;8956:419;;;:::o;9381:102::-;9423:8;9470:5;9467:1;9463:13;9442:34;;9381:102;;;:::o;9489:848::-;9550:5;9557:4;9581:6;9572:15;;9605:5;9596:14;;9619:712;9640:1;9630:8;9627:15;9619:712;;;9735:4;9730:3;9726:14;9720:4;9717:24;9714:50;;;9744:18;;:::i;:::-;9714:50;9794:1;9784:8;9780:16;9777:451;;;10209:4;10202:5;10198:16;10189:25;;9777:451;10259:4;10253;10249:15;10241:23;;10289:32;10312:8;10289:32;:::i;:::-;10277:44;;9619:712;;;9489:848;;;;;;;:::o;10343:1073::-;10397:5;10588:8;10578:40;;10609:1;10600:10;;10611:5;;10578:40;10637:4;10627:36;;10654:1;10645:10;;10656:5;;10627:36;10723:4;10771:1;10766:27;;;;10807:1;10802:191;;;;10716:277;;10766:27;10784:1;10775:10;;10786:5;;;10802:191;10847:3;10837:8;10834:17;10831:43;;;10854:18;;:::i;:::-;10831:43;10903:8;10900:1;10896:16;10887:25;;10938:3;10931:5;10928:14;10925:40;;;10945:18;;:::i;:::-;10925:40;10978:5;;;10716:277;;11102:2;11092:8;11089:16;11083:3;11077:4;11074:13;11070:36;11052:2;11042:8;11039:16;11034:2;11028:4;11025:12;11021:35;11005:111;11002:246;;;11158:8;11152:4;11148:19;11139:28;;11193:3;11186:5;11183:14;11180:40;;;11200:18;;:::i;:::-;11180:40;11233:5;;11002:246;11273:42;11311:3;11301:8;11295:4;11292:1;11273:42;:::i;:::-;11258:57;;;;11347:4;11342:3;11338:14;11331:5;11328:25;11325:51;;;11356:18;;:::i;:::-;11325:51;11405:4;11398:5;11394:16;11385:25;;10343:1073;;;;;;:::o;11422:281::-;11480:5;11504:23;11522:4;11504:23;:::i;:::-;11496:31;;11548:25;11564:8;11548:25;:::i;:::-;11536:37;;11592:104;11629:66;11619:8;11613:4;11592:104;:::i;:::-;11583:113;;11422:281;;;;:::o;11709:410::-;11749:7;11772:20;11790:1;11772:20;:::i;:::-;11767:25;;11806:20;11824:1;11806:20;:::i;:::-;11801:25;;11861:1;11858;11854:9;11883:30;11901:11;11883:30;:::i;:::-;11872:41;;12062:1;12053:7;12049:15;12046:1;12043:22;12023:1;12016:9;11996:83;11973:139;;12092:18;;:::i;:::-;11973:139;11757:362;11709:410;;;;:::o;12125:167::-;12265:19;12261:1;12253:6;12249:14;12242:43;12125:167;:::o;12298:366::-;12440:3;12461:67;12525:2;12520:3;12461:67;:::i;:::-;12454:74;;12537:93;12626:3;12537:93;:::i;:::-;12655:2;12650:3;12646:12;12639:19;;12298:366;;;:::o;12670:419::-;12836:4;12874:2;12863:9;12859:18;12851:26;;12923:9;12917:4;12913:20;12909:1;12898:9;12894:17;12887:47;12951:131;13077:4;12951:131;:::i;:::-;12943:139;;12670:419;;;:::o;13095:225::-;13235:34;13231:1;13223:6;13219:14;13212:58;13304:8;13299:2;13291:6;13287:15;13280:33;13095:225;:::o;13326:366::-;13468:3;13489:67;13553:2;13548:3;13489:67;:::i;:::-;13482:74;;13565:93;13654:3;13565:93;:::i;:::-;13683:2;13678:3;13674:12;13667:19;;13326:366;;;:::o;13698:419::-;13864:4;13902:2;13891:9;13887:18;13879:26;;13951:9;13945:4;13941:20;13937:1;13926:9;13922:17;13915:47;13979:131;14105:4;13979:131;:::i;:::-;13971:139;;13698:419;;;:::o;14123:223::-;14263:34;14259:1;14251:6;14247:14;14240:58;14332:6;14327:2;14319:6;14315:15;14308:31;14123:223;:::o;14352:366::-;14494:3;14515:67;14579:2;14574:3;14515:67;:::i;:::-;14508:74;;14591:93;14680:3;14591:93;:::i;:::-;14709:2;14704:3;14700:12;14693:19;;14352:366;;;:::o;14724:419::-;14890:4;14928:2;14917:9;14913:18;14905:26;;14977:9;14971:4;14967:20;14963:1;14952:9;14948:17;14941:47;15005:131;15131:4;15005:131;:::i;:::-;14997:139;;14724:419;;;:::o;15149:221::-;15289:34;15285:1;15277:6;15273:14;15266:58;15358:4;15353:2;15345:6;15341:15;15334:29;15149:221;:::o;15376:366::-;15518:3;15539:67;15603:2;15598:3;15539:67;:::i;:::-;15532:74;;15615:93;15704:3;15615:93;:::i;:::-;15733:2;15728:3;15724:12;15717:19;;15376:366;;;:::o;15748:419::-;15914:4;15952:2;15941:9;15937:18;15929:26;;16001:9;15995:4;15991:20;15987:1;15976:9;15972:17;15965:47;16029:131;16155:4;16029:131;:::i;:::-;16021:139;;15748:419;;;:::o;16173:191::-;16213:3;16232:20;16250:1;16232:20;:::i;:::-;16227:25;;16266:20;16284:1;16266:20;:::i;:::-;16261:25;;16309:1;16306;16302:9;16295:16;;16330:3;16327:1;16324:10;16321:36;;;16337:18;;:::i;:::-;16321:36;16173:191;;;;:::o;16370:180::-;16418:77;16415:1;16408:88;16515:4;16512:1;16505:15;16539:4;16536:1;16529:15;16556:180;16604:77;16601:1;16594:88;16701:4;16698:1;16691:15;16725:4;16722:1;16715:15;16742:143;16799:5;16830:6;16824:13;16815:22;;16846:33;16873:5;16846:33;:::i;:::-;16742:143;;;;:::o;16891:351::-;16961:6;17010:2;16998:9;16989:7;16985:23;16981:32;16978:119;;;17016:79;;:::i;:::-;16978:119;17136:1;17161:64;17217:7;17208:6;17197:9;17193:22;17161:64;:::i;:::-;17151:74;;17107:128;16891:351;;;;:::o;17248:85::-;17293:7;17322:5;17311:16;;17248:85;;;:::o;17339:158::-;17397:9;17430:61;17448:42;17457:32;17483:5;17457:32;:::i;:::-;17448:42;:::i;:::-;17430:61;:::i;:::-;17417:74;;17339:158;;;:::o;17503:147::-;17598:45;17637:5;17598:45;:::i;:::-;17593:3;17586:58;17503:147;;:::o;17656:114::-;17723:6;17757:5;17751:12;17741:22;;17656:114;;;:::o;17776:184::-;17875:11;17909:6;17904:3;17897:19;17949:4;17944:3;17940:14;17925:29;;17776:184;;;;:::o;17966:132::-;18033:4;18056:3;18048:11;;18086:4;18081:3;18077:14;18069:22;;17966:132;;;:::o;18104:108::-;18181:24;18199:5;18181:24;:::i;:::-;18176:3;18169:37;18104:108;;:::o;18218:179::-;18287:10;18308:46;18350:3;18342:6;18308:46;:::i;:::-;18386:4;18381:3;18377:14;18363:28;;18218:179;;;;:::o;18403:113::-;18473:4;18505;18500:3;18496:14;18488:22;;18403:113;;;:::o;18552:732::-;18671:3;18700:54;18748:5;18700:54;:::i;:::-;18770:86;18849:6;18844:3;18770:86;:::i;:::-;18763:93;;18880:56;18930:5;18880:56;:::i;:::-;18959:7;18990:1;18975:284;19000:6;18997:1;18994:13;18975:284;;;19076:6;19070:13;19103:63;19162:3;19147:13;19103:63;:::i;:::-;19096:70;;19189:60;19242:6;19189:60;:::i;:::-;19179:70;;19035:224;19022:1;19019;19015:9;19010:14;;18975:284;;;18979:14;19275:3;19268:10;;18676:608;;;18552:732;;;;:::o;19290:831::-;19553:4;19591:3;19580:9;19576:19;19568:27;;19605:71;19673:1;19662:9;19658:17;19649:6;19605:71;:::i;:::-;19686:80;19762:2;19751:9;19747:18;19738:6;19686:80;:::i;:::-;19813:9;19807:4;19803:20;19798:2;19787:9;19783:18;19776:48;19841:108;19944:4;19935:6;19841:108;:::i;:::-;19833:116;;19959:72;20027:2;20016:9;20012:18;20003:6;19959:72;:::i;:::-;20041:73;20109:3;20098:9;20094:19;20085:6;20041:73;:::i;:::-;19290:831;;;;;;;;:::o;20127:179::-;20267:31;20263:1;20255:6;20251:14;20244:55;20127:179;:::o;20312:366::-;20454:3;20475:67;20539:2;20534:3;20475:67;:::i;:::-;20468:74;;20551:93;20640:3;20551:93;:::i;:::-;20669:2;20664:3;20660:12;20653:19;;20312:366;;;:::o;20684:419::-;20850:4;20888:2;20877:9;20873:18;20865:26;;20937:9;20931:4;20927:20;20923:1;20912:9;20908:17;20901:47;20965:131;21091:4;20965:131;:::i;:::-;20957:139;;20684:419;;;:::o;21109:147::-;21210:11;21247:3;21232:18;;21109:147;;;;:::o;21262:114::-;;:::o;21382:398::-;21541:3;21562:83;21643:1;21638:3;21562:83;:::i;:::-;21555:90;;21654:93;21743:3;21654:93;:::i;:::-;21772:1;21767:3;21763:11;21756:18;;21382:398;;;:::o;21786:379::-;21970:3;21992:147;22135:3;21992:147;:::i;:::-;21985:154;;22156:3;22149:10;;21786:379;;;:::o;22171:245::-;22311:34;22307:1;22299:6;22295:14;22288:58;22380:28;22375:2;22367:6;22363:15;22356:53;22171:245;:::o;22422:366::-;22564:3;22585:67;22649:2;22644:3;22585:67;:::i;:::-;22578:74;;22661:93;22750:3;22661:93;:::i;:::-;22779:2;22774:3;22770:12;22763:19;;22422:366;;;:::o;22794:419::-;22960:4;22998:2;22987:9;22983:18;22975:26;;23047:9;23041:4;23037:20;23033:1;23022:9;23018:17;23011:47;23075:131;23201:4;23075:131;:::i;:::-;23067:139;;22794:419;;;:::o;23219:224::-;23359:34;23355:1;23347:6;23343:14;23336:58;23428:7;23423:2;23415:6;23411:15;23404:32;23219:224;:::o;23449:366::-;23591:3;23612:67;23676:2;23671:3;23612:67;:::i;:::-;23605:74;;23688:93;23777:3;23688:93;:::i;:::-;23806:2;23801:3;23797:12;23790:19;;23449:366;;;:::o;23821:419::-;23987:4;24025:2;24014:9;24010:18;24002:26;;24074:9;24068:4;24064:20;24060:1;24049:9;24045:17;24038:47;24102:131;24228:4;24102:131;:::i;:::-;24094:139;;23821:419;;;:::o;24246:222::-;24386:34;24382:1;24374:6;24370:14;24363:58;24455:5;24450:2;24442:6;24438:15;24431:30;24246:222;:::o;24474:366::-;24616:3;24637:67;24701:2;24696:3;24637:67;:::i;:::-;24630:74;;24713:93;24802:3;24713:93;:::i;:::-;24831:2;24826:3;24822:12;24815:19;;24474:366;;;:::o;24846:419::-;25012:4;25050:2;25039:9;25035:18;25027:26;;25099:9;25093:4;25089:20;25085:1;25074:9;25070:17;25063:47;25127:131;25253:4;25127:131;:::i;:::-;25119:139;;24846:419;;;:::o;25271:228::-;25411:34;25407:1;25399:6;25395:14;25388:58;25480:11;25475:2;25467:6;25463:15;25456:36;25271:228;:::o;25505:366::-;25647:3;25668:67;25732:2;25727:3;25668:67;:::i;:::-;25661:74;;25744:93;25833:3;25744:93;:::i;:::-;25862:2;25857:3;25853:12;25846:19;;25505:366;;;:::o;25877:419::-;26043:4;26081:2;26070:9;26066:18;26058:26;;26130:9;26124:4;26120:20;26116:1;26105:9;26101:17;26094:47;26158:131;26284:4;26158:131;:::i;:::-;26150:139;;25877:419;;;:::o;26302:225::-;26442:34;26438:1;26430:6;26426:14;26419:58;26511:8;26506:2;26498:6;26494:15;26487:33;26302:225;:::o;26533:366::-;26675:3;26696:67;26760:2;26755:3;26696:67;:::i;:::-;26689:74;;26772:93;26861:3;26772:93;:::i;:::-;26890:2;26885:3;26881:12;26874:19;;26533:366;;;:::o;26905:419::-;27071:4;27109:2;27098:9;27094:18;27086:26;;27158:9;27152:4;27148:20;27144:1;27133:9;27129:17;27122:47;27186:131;27312:4;27186:131;:::i;:::-;27178:139;;26905:419;;;:::o;27330:180::-;27378:77;27375:1;27368:88;27475:4;27472:1;27465:15;27499:4;27496:1;27489:15;27516:185;27556:1;27573:20;27591:1;27573:20;:::i;:::-;27568:25;;27607:20;27625:1;27607:20;:::i;:::-;27602:25;;27646:1;27636:35;;27651:18;;:::i;:::-;27636:35;27693:1;27690;27686:9;27681:14;;27516:185;;;;:::o;27707:807::-;27956:4;27994:3;27983:9;27979:19;27971:27;;28008:71;28076:1;28065:9;28061:17;28052:6;28008:71;:::i;:::-;28089:72;28157:2;28146:9;28142:18;28133:6;28089:72;:::i;:::-;28171:80;28247:2;28236:9;28232:18;28223:6;28171:80;:::i;:::-;28261;28337:2;28326:9;28322:18;28313:6;28261:80;:::i;:::-;28351:73;28419:3;28408:9;28404:19;28395:6;28351:73;:::i;:::-;28434;28502:3;28491:9;28487:19;28478:6;28434:73;:::i;:::-;27707:807;;;;;;;;;:::o;28520:143::-;28577:5;28608:6;28602:13;28593:22;;28624:33;28651:5;28624:33;:::i;:::-;28520:143;;;;:::o;28669:663::-;28757:6;28765;28773;28822:2;28810:9;28801:7;28797:23;28793:32;28790:119;;;28828:79;;:::i;:::-;28790:119;28948:1;28973:64;29029:7;29020:6;29009:9;29005:22;28973:64;:::i;:::-;28963:74;;28919:128;29086:2;29112:64;29168:7;29159:6;29148:9;29144:22;29112:64;:::i;:::-;29102:74;;29057:129;29225:2;29251:64;29307:7;29298:6;29287:9;29283:22;29251:64;:::i;:::-;29241:74;;29196:129;28669:663;;;;;:::o

Swarm Source

ipfs://b8a9775217708477010bc15a43c717a6f7e5199623337dd81ecfc1f5bc8c4367
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.